[INFO] fetching crate featherstone 0.1.0...
[INFO] testing featherstone-0.1.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate featherstone 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate featherstone 0.1.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate featherstone 0.1.0
[INFO] tweaked toml for crates.io crate featherstone 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate featherstone 0.1.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate featherstone 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded yaserde_derive v0.8.0
[INFO] [stderr]   Downloaded yaserde v0.8.0
[INFO] [stderr]   Downloaded urdf-rs v0.8.0
[INFO] [stderr]   Downloaded proptest v1.10.0
[INFO] [stderr]   Downloaded nalgebra v0.33.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4
[INFO] running `Command { std: "docker" "start" "8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling xml-rs v0.8.28
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling yaserde v0.8.0
[INFO] [stderr]    Compiling yaserde_derive v0.8.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling urdf-rs v0.8.0
[INFO] [stderr]    Compiling nalgebra v0.33.2
[INFO] [stderr]    Compiling featherstone v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 53.40s
[INFO] running `Command { std: "docker" "inspect" "8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling zerocopy-derive v0.8.47
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling proptest v1.10.0
[INFO] [stderr]    Compiling nalgebra v0.33.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling featherstone v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: duplicated attribute
[INFO] [stdout]    --> src/joint.rs:660:5
[INFO] [stdout]     |
[INFO] [stdout] 660 |     #[test]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(duplicate_macro_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/collider.rs:369:13
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let n = 26; // sample directions on axes and diagonals
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/joint.rs:764:13
[INFO] [stdout]     |
[INFO] [stdout] 764 |             angle in -3.0f32..3.0,
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stdout]     --> src/contact.rs:2479:18
[INFO] [stdout]      |
[INFO] [stdout] 2479 |         for c in &result {
[INFO] [stdout]      |                  ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]      |
[INFO] [stdout] 2479 -         for c in &result {
[INFO] [stdout] 2479 +         while let Some(c) = &result {
[INFO] [stdout]      |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]      |
[INFO] [stdout] 2479 -         for c in &result {
[INFO] [stdout] 2479 +         if let Some(c) = &result {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v_lin`
[INFO] [stdout]     --> tests/research_grade.rs:1950:14
[INFO] [stdout]      |
[INFO] [stdout] 1950 |         let (v_lin, v_ang) = body_velocity(&body, body_id);
[INFO] [stdout]      |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_v_lin`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/research_grade.rs:2507:9
[INFO] [stdout]      |
[INFO] [stdout] 2507 |     let mut body_light = make_chain(2, 0.5, 0.5);
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> tests/research_grade.rs:2508:9
[INFO] [stdout]      |
[INFO] [stdout] 2508 |     let mut body_heavy = make_chain(2, 5.0, 0.5);
[INFO] [stdout]      |         ----^^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 22s
[INFO] running `Command { std: "docker" "inspect" "8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: duplicated attribute
[INFO] [stderr]    --> src/joint.rs:660:5
[INFO] [stderr]     |
[INFO] [stderr] 660 |     #[test]
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(duplicate_macro_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]    --> src/collider.rs:369:13
[INFO] [stderr]     |
[INFO] [stderr] 369 |         let n = 26; // sample directions on axes and diagonals
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `angle`
[INFO] [stderr]    --> src/joint.rs:764:13
[INFO] [stderr]     |
[INFO] [stderr] 764 |             angle in -3.0f32..3.0,
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stderr] 
[INFO] [stderr] warning: for loop over a `&Option`. This is more readably written as an `if let` statement
[INFO] [stderr]     --> src/contact.rs:2479:18
[INFO] [stderr]      |
[INFO] [stderr] 2479 |         for c in &result {
[INFO] [stderr]      |                  ^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stderr] help: to check pattern in a loop use `while let`
[INFO] [stderr]      |
[INFO] [stderr] 2479 -         for c in &result {
[INFO] [stderr] 2479 +         while let Some(c) = &result {
[INFO] [stderr]      |
[INFO] [stderr] help: consider using `if let` to clear intent
[INFO] [stderr]      |
[INFO] [stderr] 2479 -         for c in &result {
[INFO] [stderr] 2479 +         if let Some(c) = &result {
[INFO] [stderr]      |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v_lin`
[INFO] [stderr]     --> tests/research_grade.rs:1950:14
[INFO] [stderr]      |
[INFO] [stderr] 1950 |         let (v_lin, v_ang) = body_velocity(&body, body_id);
[INFO] [stderr]      |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_v_lin`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> tests/research_grade.rs:2507:9
[INFO] [stderr]      |
[INFO] [stderr] 2507 |     let mut body_light = make_chain(2, 0.5, 0.5);
[INFO] [stderr]      |         ----^^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> tests/research_grade.rs:2508:9
[INFO] [stderr]      |
[INFO] [stderr] 2508 |     let mut body_heavy = make_chain(2, 5.0, 0.5);
[INFO] [stderr]      |         ----^^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `featherstone` (lib test) generated 4 warnings (run `cargo fix --lib -p featherstone --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `featherstone` (test "research_grade") generated 3 warnings (run `cargo fix --test "research_grade" -p featherstone` to apply 3 suggestions)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/featherstone-899d2e106f5188b3)
[INFO] [stdout] 
[INFO] [stdout] running 481 tests
[INFO] [stdout] test aba::tests::intent_aba_double_mass_halves_acceleration ... ok
[INFO] [stdout] test aba::tests::intent_aba_symmetric_torques_produce_opposite_accelerations ... ok
[INFO] [stdout] test aba::tests::intent_aba_zero_torque_zero_gravity_zero_velocity_zero_acceleration ... ok
[INFO] [stdout] test aba::tests::test_aba_free_fall ... ok
[INFO] [stdout] test aba::tests::test_aba_external_force ... ok
[INFO] [stdout] test aba::tests::prop_aba_output_always_finite ... ok
[INFO] [stdout] test aba::tests::intent_aba_rnea_roundtrip_recovers_torques ... ok
[INFO] [stdout] test aba::tests::stress_aba_1000_steps_no_nan ... ok
[INFO] [stdout] test aba::tests::test_aba_all_accelerations_finite_multi_link ... ok
[INFO] [stdout] test aba::tests::test_aba_applied_torque ... ok
[INFO] [stdout] test aba::tests::test_aba_fixed_joint_no_dof ... ok
[INFO] [stdout] test aba::tests::test_aba_heavier_body_accelerates_less ... ok
[INFO] [stdout] test aba::tests::stress_aba_20_body_chain_all_finite ... ok
[INFO] [stdout] test aba::tests::test_aba_empty ... ok
[INFO] [stdout] test aba::tests::determinism_aba_same_input_same_output ... ok
[INFO] [stdout] test aba::tests::stress_aba_branching_tree_100_steps ... ok
[INFO] [stdout] test aba::tests::test_aba_prismatic_free_fall ... ok
[INFO] [stdout] test aba::tests::test_aba_two_link_torque ... ok
[INFO] [stdout] test aba::tests::test_aba_symmetric_torques_produce_opposite_accelerations ... ok
[INFO] [stdout] test aba::tests::test_aba_single_pendulum_gravity_torque ... ok
[INFO] [stdout] test aba::tests::test_aba_spherical_free_fall ... ok
[INFO] [stdout] test aba::tests::prop_aba_double_torque_doubles_acceleration ... ok
[INFO] [stdout] test body::tests::intent_body_branching_tree_correct_count ... ok
[INFO] [stdout] test body::tests::intent_body_by_name_returns_correct_index ... ok
[INFO] [stdout] test body::tests::intent_body_empty_has_zero_dimensions ... ok
[INFO] [stdout] test aba::tests::test_aba_zero_gravity_no_acceleration ... ok
[INFO] [stdout] test body::tests::edge_fixed_joint_contributes_zero_dof ... ok
[INFO] [stdout] test body::tests::intent_body_nq_equals_sum_of_joint_npos ... ok
[INFO] [stdout] test body::tests::intent_parent_index_always_less_than_child ... ok
[INFO] [stdout] test body::tests::intent_reset_restores_default_state ... ok
[INFO] [stdout] test body::tests::intent_state_dimensions_consistent ... ok
[INFO] [stdout] test body::tests::prop_body_count_matches_additions ... ok
[INFO] [stdout] test body::tests::test_joint_dof_types ... ok
[INFO] [stdout] test body::tests::test_branching_tree ... ok
[INFO] [stdout] test body::tests::test_floating_base ... ok
[INFO] [stdout] test body::tests::prop_external_forces_cleared ... ok
[INFO] [stdout] test body::tests::test_body_by_name ... ok
[INFO] [stdout] test body::tests::test_body_count_matches_add ... ok
[INFO] [stdout] test body::tests::test_empty_body ... ok
[INFO] [stdout] test body::tests::test_fixed_transform_identity ... ok
[INFO] [stdout] test body::tests::test_iteration_order ... ok
[INFO] [stdout] test body::tests::test_motion_subspace_revolute ... ok
[INFO] [stdout] test body::tests::test_joint_motion_subspace_revolute ... ok
[INFO] [stdout] test body::tests::test_mixed_nq_nv ... ok
[INFO] [stdout] test body::tests::test_motion_subspace_prismatic ... ok
[INFO] [stdout] test body::tests::test_joint_transform_revolute ... ok
[INFO] [stdout] test body::tests::test_motion_subspace_floating ... ok
[INFO] [stdout] test body::tests::test_normalize_quaternions ... ok
[INFO] [stdout] test body::tests::test_prismatic_transform ... ok
[INFO] [stdout] test body::tests::test_quadruped_topology ... ok
[INFO] [stdout] test body::tests::test_reset ... ok
[INFO] [stdout] test body::tests::test_reset_spherical ... ok
[INFO] [stdout] test body::tests::test_revolute_transform ... ok
[INFO] [stdout] test body::tests::test_spherical_dimensions ... ok
[INFO] [stdout] test collider::tests::collider_shape_box_half_extents_positive ... ok
[INFO] [stdout] test collider::tests::collider_shape_sphere_has_positive_radius ... ok
[INFO] [stdout] test collider::tests::convex_hull_aabb_contains_all_vertices ... ok
[INFO] [stdout] test collider::tests::collider_shape_is_clone_and_debug ... ok
[INFO] [stdout] test body::tests::test_set_get_joint_state ... ok
[INFO] [stdout] test collider::tests::convex_hull_decompose_single_hull_when_too_few_verts ... ok
[INFO] [stdout] test body::tests::test_serial_chain_6dof ... ok
[INFO] [stdout] test body::tests::test_set_gravity ... ok
[INFO] [stdout] test body::tests::test_world_transform_chain ... ok
[INFO] [stdout] test collider::tests::convex_hull_aabb_bounds_all_vertices ... ok
[INFO] [stdout] test body::tests::test_set_and_clear_external_forces ... ok
[INFO] [stdout] test collider::tests::convex_hull_support_direction_negative ... ok
[INFO] [stdout] test collider::tests::convex_hull_support_empty_returns_origin ... ok
[INFO] [stdout] test collider::tests::intent_box_support_returns_vertex ... ok
[INFO] [stdout] test collider::tests::intent_convex_hull_aabb_contains_all_vertices ... ok
[INFO] [stdout] test contact::tests::intent_ground_contacts_only_for_penetrating_bodies ... ok
[INFO] [stdout] test collider::tests::collider_shape_decomposed_mesh_construction ... ok
[INFO] [stdout] test collider::tests::collider_shape_capsule_construction ... ok
[INFO] [stdout] test contact::tests::intent_manifold_prune_removes_separated ... ok
[INFO] [stdout] test collider::tests::convex_hull_decompose_small_input_returns_single ... ok
[INFO] [stdout] test collider::tests::collider_shape_cylinder_construction ... ok
[INFO] [stdout] test contact::tests::intent_sphere_sphere_separated_no_contact ... ok
[INFO] [stdout] test contact::tests::property_contact_normal_always_unit ... ok
[INFO] [stdout] test contact::tests::test_box_box_contact ... ok
[INFO] [stdout] test contact::tests::test_box_box_contacts_from_pair_overlapping ... ok
[INFO] [stdout] test contact::tests::test_box_box_contacts_from_pair_wrapper ... ok
[INFO] [stdout] test contact::tests::test_box_box_separated ... ok
[INFO] [stdout] test contact::tests::test_capsule_box_contact_overlapping ... ok
[INFO] [stdout] test contact::tests::test_capsule_capsule_aligned_overlapping ... ok
[INFO] [stdout] test contact::tests::test_capsule_sphere_at_endpoint ... ok
[INFO] [stdout] test contact::tests::test_capsule_box_contact_separated ... ok
[INFO] [stdout] test contact::tests::test_capsule_sphere_contact_overlapping ... ok
[INFO] [stdout] test contact::tests::test_capsule_sphere_contact_touching ... ok
[INFO] [stdout] test collider::tests::convex_hull_support_returns_farthest_vertex ... ok
[INFO] [stdout] test collider::tests::property_decompose_preserves_vertex_count ... ok
[INFO] [stdout] test collider::tests::collider_shape_convex_hull_construction ... ok
[INFO] [stdout] test contact::tests::test_clip_degenerate_empty ... ok
[INFO] [stdout] test collider::tests::edge_empty_convex_hull_support ... ok
[INFO] [stdout] test collider::tests::edge_single_vertex_hull ... ok
[INFO] [stdout] test contact::tests::test_clip_numerical_stability ... ok
[INFO] [stdout] test collider::tests::intent_sphere_support_returns_surface_point ... ok
[INFO] [stdout] test contact::tests::test_clip_polygon_full_clip ... ok
[INFO] [stdout] test contact::tests::test_clip_polygon_half_clip ... ok
[INFO] [stdout] test collider::tests::prop_aabb_contains_all_vertices ... ok
[INFO] [stdout] test body::tests::test_set_joint_tau ... ok
[INFO] [stdout] test contact::tests::test_capsule_capsule_separated ... ok
[INFO] [stdout] test contact::tests::test_capsule_capsule_contact_from_pair_wrapper ... ok
[INFO] [stdout] test contact::tests::test_capsule_capsule_from_pair_overlapping ... ok
[INFO] [stdout] test contact::tests::test_contact_point_creation ... ok
[INFO] [stdout] test contact::tests::test_contact_point_with_material ... ok
[INFO] [stdout] test contact::tests::test_get_box_face_polygon_identity_z_positive ... ok
[INFO] [stdout] test contact::tests::test_ground_plane_contacts ... ok
[INFO] [stdout] test contact::tests::test_inter_body_contacts_box_box ... ok
[INFO] [stdout] test contact::tests::test_inter_body_contacts_dispatch ... ok
[INFO] [stdout] test contact::tests::test_inter_body_contacts_from_pair_spheres ... ok
[INFO] [stdout] test contact::tests::test_inter_body_contacts_sphere_sphere ... ok
[INFO] [stdout] test contact::tests::test_manifold_limit_per_body ... ok
[INFO] [stdout] test contact::tests::test_manifold_clear ... ok
[INFO] [stdout] test contact::tests::test_inter_body_contacts_separated_spheres ... ok
[INFO] [stdout] test contact::tests::test_manifold_merge ... ok
[INFO] [stdout] test contact::tests::test_manifold_prune ... ok
[INFO] [stdout] test contact::tests::test_clip_polygon_no_clip ... ok
[INFO] [stdout] test collider::tests::convex_hull_decompose_splits_large_input ... ok
[INFO] [stdout] test contact::tests::test_manifold_sort_by_penetration_ordering ... ok
[INFO] [stdout] test contact::tests::test_manifold_with_capacity_empty ... ok
[INFO] [stdout] test contact::tests::test_reduce_square_patch ... ok
[INFO] [stdout] test contact::tests::test_compute_tangent_frame_orthonormal ... ok
[INFO] [stdout] test contact::tests::test_reduce_to_best_n_exactly_max ... ok
[INFO] [stdout] test contact::tests::test_contact_zero_normal_fallback ... ok
[INFO] [stdout] test contact::tests::test_reduce_fewer_than_max ... ok
[INFO] [stdout] test contact::tests::test_reduce_to_best_n_fewer_than_max ... ok
[INFO] [stdout] test contact::tests::test_manifold_merge_three_contacts ... ok
[INFO] [stdout] test contact::tests::test_contact_point_inactive ... ok
[INFO] [stdout] test contact::tests::test_inter_body_capsule_dispatch ... ok
[INFO] [stdout] test contact::tests::test_manifold_operations ... ok
[INFO] [stdout] test body::tests::test_single_revolute ... ok
[INFO] [stdout] test contact::tests::test_reduce_preserves_deepest ... ok
[INFO] [stdout] test contact::tests::test_get_box_face_polygon_negative_face ... ok
[INFO] [stdout] test contact::tests::test_select_incident_face_aligned_with_neg_x ... ok
[INFO] [stdout] test contact::tests::test_select_max_area_contacts_returns_correct_count ... ok
[INFO] [stdout] test contact::tests::test_sphere_box_contact_face ... ok
[INFO] [stdout] test contact::tests::test_sphere_box_inside_box ... ok
[INFO] [stdout] test contact::tests::test_sphere_ground_contacts ... ok
[INFO] [stdout] test contact::tests::test_sphere_sphere_contact ... ok
[INFO] [stdout] test contact::tests::test_select_incident_face_aligned_with_y ... ok
[INFO] [stdout] test contact::tests::test_sphere_box_separated ... ok
[INFO] [stdout] test contact::tests::test_sphere_sphere_separated ... ok
[INFO] [stdout] test contact::tests::test_select_max_area_indices ... ok
[INFO] [stdout] test contact::tests::test_sort_by_penetration ... ok
[INFO] [stdout] test contact::tests::test_sphere_sphere_coincident_centers ... ok
[INFO] [stdout] test contact::tests::test_contact_normal_always_normalized ... ok
[INFO] [stdout] test contact::tests::test_sphere_sphere_touching ... ok
[INFO] [stdout] test contact::tests::test_sutherland_hodgman_clip_quad_against_quad ... ok
[INFO] [stdout] test contact_jacobian::tests::intent_delassus_diagonal_positive ... ok
[INFO] [stdout] test contact_jacobian::tests::intent_jacobian_cols_match_dof ... ok
[INFO] [stdout] test contact_jacobian::tests::intent_jacobian_normal_rows_match_contact_count ... ok
[INFO] [stdout] test contact_jacobian::tests::test_contact_constraints_empty ... ok
[INFO] [stdout] test contact_jacobian::tests::intent_global_constraints_correct_dimensions ... ok
[INFO] [stdout] test contact_jacobian::tests::test_delassus_matrix_dimensions ... ok
[INFO] [stdout] test contact_jacobian::tests::test_contact_jacobian_finite_difference ... ok
[INFO] [stdout] test contact_jacobian::tests::test_contact_jacobian_single_revolute ... ok
[INFO] [stdout] test contact_jacobian::tests::test_friction_cone_box ... ok
[INFO] [stdout] test contact_jacobian::tests::test_contact_constraints_from_manifold ... ok
[INFO] [stdout] test crba::tests::intent_crba_aba_consistency_m_qdd_equals_tau_minus_bias ... ok
[INFO] [stdout] test crba::tests::intent_crba_floating_base_dimensions ... ok
[INFO] [stdout] test contact_jacobian::tests::test_tangent_jacobian_orthogonal ... ok
[INFO] [stdout] test contact_jacobian::tests::test_multiple_contacts_assembly ... ok
[INFO] [stdout] test crba::tests::prop_crba_floating_base_6x6_block_spd ... ok
[INFO] [stdout] test contact_jacobian::tests::test_friction_cone_project ... ok
[INFO] [stdout] test crba::tests::determinism_crba_same_config_same_matrix ... ok
[INFO] [stdout] test crba::tests::intent_crba_mass_matrix_positive_definite ... ok
[INFO] [stdout] test crba::tests::intent_crba_mass_matrix_symmetric ... ok
[INFO] [stdout] test crba::tests::intent_crba_all_eigenvalues_positive ... ok
[INFO] [stdout] test crba::tests::prop_crba_positive_definite_energy ... ok
[INFO] [stdout] test contact::tests::test_tangent_frame_orthonormal ... ok
[INFO] [stdout] test contact::tests::test_with_friction_and_restitution_chaining ... ok
[INFO] [stdout] test contact_jacobian::tests::intent_delassus_matrix_symmetric ... ok
[INFO] [stdout] test contact_jacobian::tests::test_friction_cone_creation ... ok
[INFO] [stdout] test crba::tests::property_crba_mass_matrix_positive_diagonal ... ok
[INFO] [stdout] test crba::tests::prop_crba_symmetric ... ok
[INFO] [stdout] test contact_jacobian::tests::property_multi_body_jacobian_cols_equal_total_dof ... ok
[INFO] [stdout] test contact_jacobian::tests::test_friction_cone_zero_normal ... ok
[INFO] [stdout] test crba::tests::test_crba_multi_link_finite ... ok
[INFO] [stdout] test crba::tests::test_bias_forces_equals_gravity_at_zero_velocity ... ok
[INFO] [stdout] test crba::tests::test_bias_forces_nonzero_with_velocity ... ok
[INFO] [stdout] test crba::tests::test_crba_empty ... ok
[INFO] [stdout] test crba::tests::intent_crba_heavier_body_larger_diagonal ... ok
[INFO] [stdout] test contact_jacobian::tests::test_normal_jacobian_correct_direction ... ok
[INFO] [stdout] test crba::tests::test_crba_aba_consistency ... ok
[INFO] [stdout] test crba::tests::intent_crba_empty_body_zero_matrix ... ok
[INFO] [stdout] test crba::tests::test_bias_forces_zero_velocity ... ok
[INFO] [stdout] test crba::tests::test_crba_single_revolute ... ok
[INFO] [stdout] test crba::tests::test_crba_symmetry ... ok
[INFO] [stdout] test crba::tests::test_crba_dimensions ... ok
[INFO] [stdout] test crba::tests::test_crba_positive_definite ... ok
[INFO] [stdout] test error::tests::error_is_clone_and_debug ... ok
[INFO] [stdout] test gjk::tests::edge_gjk_sphere_vs_box_produces_finite_result ... ok
[INFO] [stdout] test error::tests::error_implements_std_error_trait ... ok
[INFO] [stdout] test gjk::tests::gjk_identical_spheres_known_limitation ... ok
[INFO] [stdout] test gjk::tests::epa_penetration_depth_matches_overlap ... ok
[INFO] [stdout] test error::tests::error_display_singular_matrix ... ok
[INFO] [stdout] test error::tests::error_singular_matrix_different_contexts ... ok
[INFO] [stdout] test gjk::tests::edge_gjk_box_vs_box_overlapping_returns_finite ... ok
[INFO] [stdout] test gjk::tests::gjk_asymmetry_documented ... ok
[INFO] [stdout] test gjk::tests::gjk_barely_separated_spheres ... ok
[INFO] [stdout] test error::tests::error_display_epa_failed ... ok
[INFO] [stdout] test error::tests::error_display_empty_urdf ... ok
[INFO] [stdout] test crba::tests::test_crba_heavier_body_larger_diagonal ... ok
[INFO] [stdout] test error::tests::result_type_alias_works ... ok
[INFO] [stdout] test gjk::tests::gjk_large_separation ... ok
[INFO] [stdout] test error::tests::error_clone_preserves_content ... ok
[INFO] [stdout] test error::tests::error_display_missing_link ... ok
[INFO] [stdout] test gjk::tests::intent_epa_depth_increases_with_overlap ... ok
[INFO] [stdout] test gjk::tests::test_epa_penetration_depth_reasonable ... ok
[INFO] [stdout] test gjk::tests::test_epa_sphere_sphere ... ok
[INFO] [stdout] test gjk::tests::test_gjk_box_box_separated ... ok
[INFO] [stdout] test gjk::tests::test_gjk_sphere_box_overlap ... ok
[INFO] [stdout] test gjk::tests::intent_gjk_box_distance_positive_for_separated ... ok
[INFO] [stdout] test gjk::tests::intent_epa_normal_unit_length ... ok
[INFO] [stdout] test gjk::tests::test_gjk_sphere_support_function ... ok
[INFO] [stdout] test integrator::tests::intent_integrator_state_dimensions_preserved ... ok
[INFO] [stdout] test gjk::tests::intent_gjk_distance_non_negative ... ok
[INFO] [stdout] test gjk::tests::property_gjk_sphere_distance_within_tolerance ... ok
[INFO] [stdout] test gjk::tests::test_convex_hull_support ... ok
[INFO] [stdout] test gjk::tests::test_gjk_box_far_separated ... ok
[INFO] [stdout] test gjk::tests::test_gjk_separated_spheres ... ok
[INFO] [stdout] test gjk::tests::test_gjk_sphere_box_separated ... ok
[INFO] [stdout] test gjk::tests::test_gjk_convex_hull_vs_sphere_separated ... ok
[INFO] [stdout] test gjk::tests::test_convex_hull_support_multiple_directions ... ok
[INFO] [stdout] test integrator::tests::intent_free_fall_body_accelerates_under_gravity ... ok
[INFO] [stdout] test integrator::tests::intent_integrator_all_methods_produce_finite_values ... ok
[INFO] [stdout] test integrator::tests::intent_integrator_damping_reduces_velocity ... ok
[INFO] [stdout] test integrator::tests::intent_implicit_euler_more_stable_large_dt ... ok
[INFO] [stdout] test integrator::tests::intent_kahan_compensation_arrays_exist ... ok
[INFO] [stdout] test integrator::tests::intent_all_integrators_agree_on_free_fall_direction ... ok
[INFO] [stdout] test gjk::tests::test_gjk_overlapping_spheres ... ok
[INFO] [stdout] test integrator::tests::intent_velocity_verlet_second_order ... ok
[INFO] [stdout] test integrator::tests::test_all_integrators_produce_finite_results ... ok
[INFO] [stdout] test integrator::tests::test_explicit_euler_free_fall ... ok
[INFO] [stdout] test integrator::tests::prop_step_preserves_state_dimensions ... ok
[INFO] [stdout] test integrator::tests::intent_zero_gravity_preserves_state ... ok
[INFO] [stdout] test integrator::tests::stress_integrator_1000_steps_three_link_chain ... ok
[INFO] [stdout] test integrator::tests::property_all_methods_agree_on_direction ... ok
[INFO] [stdout] test integrator::tests::test_rk4_more_accurate_than_euler ... ok
[INFO] [stdout] test joint::tests::intent_all_joints_default_q_produces_identity_transform ... ok
[INFO] [stdout] test joint::tests::intent_joint_npos_geq_dof ... ok
[INFO] [stdout] test integrator::tests::test_rk4_spherical_joint_quaternion_normalization ... ok
[INFO] [stdout] test joint::tests::intent_spherical_quaternion_normalize_fixes_unnormalized ... ok
[INFO] [stdout] test integrator::tests::test_semi_implicit_euler_free_fall ... ok
[INFO] [stdout] test integrator::tests::test_velocity_damping ... ok
[INFO] [stdout] test integrator::tests::test_velocity_verlet_spherical_joint_quaternion ... ok
[INFO] [stdout] test joint::tests::intent_joint_dof_matches_motion_subspace_len ... ok
[INFO] [stdout] test joint::tests::intent_spherical_quaternion_normalize_preserves_unit ... ok
[INFO] [stdout] test joint::tests::prop_prismatic_default_q_gives_identity ... ok
[INFO] [stdout] test joint::tests::prop_revolute_velocity_roundtrip ... ok
[INFO] [stdout] test joint::tests::test_default_q_identity_transform ... ok
[INFO] [stdout] test joint::tests::test_dof_and_npos ... ok
[INFO] [stdout] test joint::tests::test_floating_joint_velocity_roundtrip ... ok
[INFO] [stdout] test joint::tests::test_floating_translation ... ok
[INFO] [stdout] test joint::tests::test_normalize_floating ... ok
[INFO] [stdout] test joint::tests::intent_joint_dof_matches_motion_subspace_len ... ok
[INFO] [stdout] test joint::tests::test_motion_subspace_dimensions ... ok
[INFO] [stdout] test joint::tests::test_fixed_identity ... ok
[INFO] [stdout] test integrator::tests::test_velocity_verlet_free_fall ... ok
[INFO] [stdout] test joint::tests::test_floating_identity ... ok
[INFO] [stdout] test joint::tests::test_normalize_spherical ... ok
[INFO] [stdout] test joint::tests::test_prismatic_transform ... ok
[INFO] [stdout] test joint::tests::test_planar_joint_dof_and_npos ... ok
[INFO] [stdout] test integrator::tests::test_multi_link_integration ... ok
[INFO] [stdout] test integrator::tests::test_velocity_verlet_spherical_quaternion_stays_unit ... ok
[INFO] [stdout] test joint::tests::test_spherical_90deg_z ... ok
[INFO] [stdout] test joint::tests::test_revolute_transform_90deg ... ok
[INFO] [stdout] test joint::tests::test_motion_subspace_prismatic ... ok
[INFO] [stdout] test joint::tests::test_spherical_identity_at_unit_quat ... ok
[INFO] [stdout] test joint::tests::test_motion_subspace_revolute ... ok
[INFO] [stdout] test integrator::tests::intent_rk4_more_accurate_than_euler_for_oscillator ... ok
[INFO] [stdout] test joint::tests::prop_revolute_transform_at_zero_is_identity ... ok
[INFO] [stdout] test joint::tests::prop_motion_subspace_dimension_equals_dof ... ok
[INFO] [stdout] test integrator::tests::test_integrator_with_limits ... ok
[INFO] [stdout] test joint::tests::test_spherical_joint_3dof_motion_subspace ... ok
[INFO] [stdout] test integrator::tests::test_rk4_free_fall_accuracy ... ok
[INFO] [stdout] test joint::tests::test_transform_inverse_round_trip ... ok
[INFO] [stdout] test joint::tests::test_velocity_round_trip_floating ... ok
[INFO] [stdout] test joint::tests::test_velocity_round_trip_revolute ... ok
[INFO] [stdout] test kinematics::tests::intent_com_between_body_positions ... ok
[INFO] [stdout] test kinematics::tests::edge_com_single_body_at_origin ... ok
[INFO] [stdout] test kinematics::tests::intent_body_velocity_zero_when_stationary ... ok
[INFO] [stdout] test kinematics::tests::determinism_fk_same_input_same_output ... ok
[INFO] [stdout] test kinematics::tests::edge_jacobian_single_body_6_rows ... ok
[INFO] [stdout] test kinematics::tests::property_body_transform_finite_for_all_configs ... ok
[INFO] [stdout] test kinematics::tests::intent_com_inside_bounding_region ... ok
[INFO] [stdout] test kinematics::tests::intent_fk_revolute_rotates_child ... ok
[INFO] [stdout] test kinematics::tests::intent_fk_identity_at_zero_config ... ok
[INFO] [stdout] test kinematics::tests::property_fk_transforms_count_equals_body_count ... ok
[INFO] [stdout] test kinematics::tests::intent_jacobian_dimensions_match_dof ... ok
[INFO] [stdout] test joint::tests::test_velocity_round_trip_spherical ... ok
[INFO] [stdout] test kinematics::tests::intent_jacobian_maps_zero_velocity_to_zero ... ok
[INFO] [stdout] test kinematics::tests::intent_fk_floating_base_position_matches_q ... ok
[INFO] [stdout] test kinematics::tests::test_com_position_symmetric ... ok
[INFO] [stdout] test kinematics::tests::test_fk_2r_planar ... ok
[INFO] [stdout] test kinematics::tests::intent_com_jacobian_dimensions ... ok
[INFO] [stdout] test kinematics::tests::prop_fk_always_finite ... ok
[INFO] [stdout] test kinematics::tests::test_fk_empty ... ok
[INFO] [stdout] test kinematics::tests::test_fk_identity_at_zero ... ok
[INFO] [stdout] test kinematics::tests::test_fk_spherical_joint_at_identity ... ok
[INFO] [stdout] test lcp_solver::tests::global_lcp_warm_start_does_not_panic ... ok
[INFO] [stdout] test kinematics::tests::test_body_transform_returns_correct_type ... ok
[INFO] [stdout] test kinematics::tests::test_com_jacobian_dimensions ... ok
[INFO] [stdout] test lcp_solver::tests::intent_lcp_restitution_increases_bounce_velocity ... ok
[INFO] [stdout] test kinematics::tests::test_body_velocity_floating_base_linear ... ok
[INFO] [stdout] test kinematics::tests::test_com_jacobian_velocity_consistency ... ok
[INFO] [stdout] test kinematics::tests::test_body_velocity_revolute ... ok
[INFO] [stdout] test kinematics::tests::test_body_velocity_zero_at_zero_qd ... ok
[INFO] [stdout] test kinematics::tests::test_com_position_single_body ... ok
[INFO] [stdout] test lcp_solver::tests::global_lcp_single_body_non_negative_impulses ... ok
[INFO] [stdout] test lcp_solver::tests::intent_lcp_empty_manifold_zero_impulse ... ok
[INFO] [stdout] test kinematics::tests::test_jacobian_dimensions ... ok
[INFO] [stdout] test kinematics::tests::test_jacobian_velocity_consistency ... ok
[INFO] [stdout] test lcp_solver::tests::global_lcp_empty_contacts_converges_immediately ... ok
[INFO] [stdout] test lcp_solver::tests::lcp_config_default_has_reasonable_values ... ok
[INFO] [stdout] test lcp_solver::tests::intent_lcp_heavier_body_same_impulse_less_velocity_change ... ok
[INFO] [stdout] test integrator::tests::test_pendulum_energy_conservation ... ok
[INFO] [stdout] test lcp_solver::tests::prop_lcp_impulses_finite ... ok
[INFO] [stdout] test lcp_solver::tests::intent_lcp_impulses_non_negative ... ok
[INFO] [stdout] test lcp_solver::tests::property_lcp_different_sor_all_converge ... ok
[INFO] [stdout] test lcp_solver::tests::test_lcp_convergence ... ok
[INFO] [stdout] test lcp_solver::tests::test_lcp_restitution ... ok
[INFO] [stdout] test limits::tests::intent_limit_force_opposes_violation ... ok
[INFO] [stdout] test lcp_solver::tests::test_lcp_single_contact_normal_force ... ok
[INFO] [stdout] test limits::tests::intent_barrier_force_opposes_violation ... ok
[INFO] [stdout] test limits::tests::intent_force_continuous_at_margin_boundary ... ok
[INFO] [stdout] test lcp_solver::tests::test_lcp_complementarity ... ok
[INFO] [stdout] test limits::tests::intent_violation_detected_past_hard_limit ... ok
[INFO] [stdout] test limits::tests::prop_violation_agrees_with_penetration ... ok
[INFO] [stdout] test limits::tests::prop_zero_force_within_limits ... ok
[INFO] [stdout] test limits::tests::prop_clamp_effort_bounded ... ok
[INFO] [stdout] test lcp_solver::tests::test_lcp_result_finite ... ok
[INFO] [stdout] test lcp_solver::tests::stress_lcp_eight_contacts_all_finite ... ok
[INFO] [stdout] test limits::tests::intent_clamp_velocity_respects_max ... ok
[INFO] [stdout] test limits::tests::intent_limit_force_increases_with_violation_depth ... ok
[INFO] [stdout] test limits::tests::test_is_violated ... ok
[INFO] [stdout] test limits::tests::test_clamp_effort_within_limit ... ok
[INFO] [stdout] test limits::tests::test_is_violated_outside_bounds ... ok
[INFO] [stdout] test limits::tests::test_clamp_effort_exceeds_limit ... ok
[INFO] [stdout] test limits::tests::intent_disabled_limits_produce_zero_force ... ok
[INFO] [stdout] test limits::tests::test_damping_at_limit ... ok
[INFO] [stdout] test lcp_solver::tests::test_compute_contact_impulse_convenience ... ok
[INFO] [stdout] test limits::tests::test_is_violated_within_bounds ... ok
[INFO] [stdout] test lcp_solver::tests::test_lcp_friction_bounds ... ok
[INFO] [stdout] test limits::tests::test_effort_clamping ... ok
[INFO] [stdout] test lcp_solver::tests::test_lcp_no_contacts ... ok
[INFO] [stdout] test lcp_solver::tests::test_lcp_no_force_when_separating ... ok
[INFO] [stdout] test limits::tests::test_lower_limit_barrier ... ok
[INFO] [stdout] test limits::tests::test_clamp_effort_zero_max ... ok
[INFO] [stdout] test limits::tests::test_single_limit_creation ... ok
[INFO] [stdout] test limits::tests::test_max_penetration ... ok
[INFO] [stdout] test limits::tests::intent_limit_force_zero_away_from_limits ... ok
[INFO] [stdout] test limits::tests::test_max_penetration_no_violation ... ok
[INFO] [stdout] test limits::tests::test_velocity_clamping ... ok
[INFO] [stdout] test newton_solver::tests::determinism_constraint_evaluate_same_input_same_output ... ok
[INFO] [stdout] test newton_solver::tests::intent_newton_friction_cone_satisfied ... ok
[INFO] [stdout] test newton_solver::tests::evaluate_with_gradient_consistent_with_separate_calls ... ok
[INFO] [stdout] test newton_solver::tests::intent_newton_all_impulses_non_negative ... ok
[INFO] [stdout] test limits::tests::test_upper_limit_barrier ... ok
[INFO] [stdout] test limits::tests::test_force_continuity ... ok
[INFO] [stdout] test newton_solver::tests::property_newton_result_all_finite_for_well_posed ... ok
[INFO] [stdout] test limits::tests::test_max_penetration_with_violation ... ok
[INFO] [stdout] test newton_solver::tests::stress_newton_four_contacts_all_finite ... ok
[INFO] [stdout] test limits::tests::test_zero_force_within_limits ... ok
[INFO] [stdout] test limits::tests::test_multi_dof_limits ... ok
[INFO] [stdout] test newton_solver::tests::test_constraint_function_empty ... ok
[INFO] [stdout] test newton_solver::tests::build_block_diagonal_m_inv_dimensions ... ok
[INFO] [stdout] test limits::tests::test_unlimited ... ok
[INFO] [stdout] test newton_solver::tests::constraint_gradient_dimensions_match_contacts_and_dofs ... ok
[INFO] [stdout] test limits::tests::test_pendulum_with_limits ... ok
[INFO] [stdout] test newton_solver::tests::test_constraint_function_single_penetrating ... ok
[INFO] [stdout] test newton_solver::tests::test_two_overlapping_boxes_contact_chain ... ok
[INFO] [stdout] test newton_solver::tests::test_constraint_gradient_matches_jacobian ... ok
[INFO] [stdout] test rnea::tests::intent_coriolis_zero_for_single_revolute ... ok
[INFO] [stdout] test rnea::tests::intent_rnea_zero_state_zero_gravity_gives_zero_torques ... ok
[INFO] [stdout] test rnea::tests::intent_rnea_aba_roundtrip_multi_dof ... ok
[INFO] [stdout] test rnea::tests::intent_rnea_bias_forces_grow_with_velocity ... ok
[INFO] [stdout] test rnea::tests::edge_rnea_large_velocity_produces_finite_torques ... ok
[INFO] [stdout] test rnea::tests::intent_rnea_gravity_compensation_balances_gravity ... ok
[INFO] [stdout] test newton_solver::tests::intent_newton_delta_qd_opposes_penetration ... ok
[INFO] [stdout] test newton_solver::tests::test_newton_solver_empty ... ok
[INFO] [stdout] test rnea::tests::prop_gravity_compensation_finite ... ok
[INFO] [stdout] test rnea::tests::test_gravity_compensation_balances_aba ... ok
[INFO] [stdout] test rnea::tests::test_gravity_compensation_single_pendulum ... ok
[INFO] [stdout] test rnea::tests::test_rnea_with_acceleration ... ok
[INFO] [stdout] test rnea::tests::prop_rnea_output_always_finite ... ok
[INFO] [stdout] test rnea::tests::test_coriolis_zero_at_zero_velocity ... ok
[INFO] [stdout] test newton_solver::tests::prop_newton_non_negative_impulses ... ok
[INFO] [stdout] test rnea::tests::test_rnea_aba_round_trip ... ok
[INFO] [stdout] test rnea::tests::test_rnea_zero_gravity_zero_state ... ok
[INFO] [stdout] test rnea::tests::test_rnea_aba_consistency ... ok
[INFO] [stdout] test rnea::tests::test_rnea_zero_state_finite ... ok
[INFO] [stdout] test rnea::tests::test_rnea_cached_data ... ok
[INFO] [stdout] test rnea::tests::test_rnea_empty ... ok
[INFO] [stdout] test rnea::tests::test_rnea_external_force ... ok
[INFO] [stdout] test rnea::tests::test_rnea_floating_base ... ok
[INFO] [stdout] test smooth_contact::tests::intent_smooth_force_direction_opposes_velocity ... ok
[INFO] [stdout] test rnea::tests::intent_coriolis_nonzero_for_multi_link_with_velocity ... ok
[INFO] [stdout] test smooth_contact::tests::intent_smooth_stiff_vs_soft_config ... ok
[INFO] [stdout] test newton_solver::tests::test_newton_solver_single_contact ... ok
[INFO] [stdout] test rnea::tests::property_rnea_linear_in_qdd ... ok
[INFO] [stdout] test rnea::tests::intent_gravity_compensation_produces_finite_torques ... ok
[INFO] [stdout] test newton_solver::tests::test_build_block_diagonal_m_inv ... ok
[INFO] [stdout] test rnea::tests::determinism_rnea_same_input_same_output ... ok
[INFO] [stdout] test smooth_contact::tests::intent_smooth_no_force_when_separated ... ok
[INFO] [stdout] test smooth_contact::tests::intent_stiff_config_produces_more_force_than_soft ... ok
[INFO] [stdout] test smooth_contact::tests::jacobian_zero_for_no_contacts ... ok
[INFO] [stdout] test smooth_contact::tests::intent_zero_penetration_produces_zero_normal_force ... ok
[INFO] [stdout] test smooth_contact::tests::property_dissipation_non_negative ... ok
[INFO] [stdout] test smooth_contact::tests::jacobian_finite_difference_consistency ... ok
[INFO] [stdout] test smooth_contact::tests::jacobian_returns_correct_dimensions ... ok
[INFO] [stdout] test smooth_contact::tests::prop_smooth_jacobian_dimensions_nv_x_nq ... ok
[INFO] [stdout] test smooth_contact::tests::property_potential_energy_proportional_to_penetration_squared ... ok
[INFO] [stdout] test smooth_contact::tests::test_smooth_no_contacts ... ok
[INFO] [stdout] test spatial::tests::intent_spatial_inertia_sphere_mass_correct ... ok
[INFO] [stdout] test spatial::tests::intent_spatial_transform_compose_associative ... ok
[INFO] [stdout] test smooth_contact::tests::test_smooth_joint_space_force_direction ... ok
[INFO] [stdout] test smooth_contact::tests::test_smooth_energy_conservation ... ok
[INFO] [stdout] test smooth_contact::tests::test_smooth_normal_force_penetrating ... ok
[INFO] [stdout] test spatial::tests::edge_spatial_inertia_small_mass_valid ... ok
[INFO] [stdout] test spatial::tests::determinism_spatial_transform_compose ... ok
[INFO] [stdout] test smooth_contact::tests::test_smooth_force_increases_with_penetration ... ok
[INFO] [stdout] test spatial::tests::prop_kinetic_energy_non_negative ... ok
[INFO] [stdout] test spatial::tests::prop_spatial_inertia_mass_preserved_under_transform ... ok
[INFO] [stdout] test spatial::tests::prop_cross_motion_self_is_zero ... ok
[INFO] [stdout] test smooth_contact::tests::stress_smooth_six_contacts_all_finite ... ok
[INFO] [stdout] test smooth_contact::tests::test_smooth_config_presets ... ok
[INFO] [stdout] test smooth_contact::tests::test_smooth_no_force_when_separated ... ok
[INFO] [stdout] test spatial::tests::test_cross_motion_zero ... ok
[INFO] [stdout] test spatial::tests::test_rot_y_90_degrees ... ok
[INFO] [stdout] test spatial::tests::edge_large_translation_finite_result ... ok
[INFO] [stdout] test spatial::tests::edge_spatial_inertia_large_mass_valid ... ok
[INFO] [stdout] test spatial::tests::test_rot_y_inverse_roundtrip ... ok
[INFO] [stdout] test spatial::tests::test_skew_cross_product ... ok
[INFO] [stdout] test spatial::tests::test_spatial_inertia_add ... ok
[INFO] [stdout] test smooth_contact::tests::test_smooth_force_saturates ... ok
[INFO] [stdout] test smooth_contact::tests::test_smooth_damping_force ... ok
[INFO] [stdout] test smooth_contact::tests::test_smooth_friction_opposes_motion ... ok
[INFO] [stdout] test spatial::tests::test_cross_force_matrix_consistency ... ok
[INFO] [stdout] test spatial::tests::test_cross_motion_self_zero ... ok
[INFO] [stdout] test spatial::tests::prop_skew_antisymmetric ... ok
[INFO] [stdout] test spatial::tests::test_spatial_inertia_cuboid ... ok
[INFO] [stdout] test spatial::tests::test_spatial_inertia_zero_has_zero_mass_and_data ... ok
[INFO] [stdout] test spatial::tests::test_spatial_vector_arithmetic ... ok
[INFO] [stdout] test spatial::tests::test_spatial_vector_sub_correctness ... ok
[INFO] [stdout] test spatial::tests::test_spatial_vector_zero ... ok
[INFO] [stdout] test spatial::tests::test_transform_compose_associative ... ok
[INFO] [stdout] test spatial::tests::test_transform_identity ... ok
[INFO] [stdout] test spatial::tests::test_transform_inertia ... ok
[INFO] [stdout] test spatial::tests::test_transform_pure_rotation ... ok
[INFO] [stdout] test spatial::tests::test_transform_pure_translation ... ok
[INFO] [stdout] test spatial::tests::test_spatial_vector_create ... ok
[INFO] [stdout] test urdf_convert::tests::error_empty_urdf_returns_error ... ok
[INFO] [stdout] test spatial::tests::test_spatial_vector_dot ... ok
[INFO] [stdout] test urdf_convert::tests::error_urdf_single_link_produces_one_body ... ok
[INFO] [stdout] test spatial::tests::prop_transform_inverse_roundtrip ... ok
[INFO] [stdout] test urdf_convert::tests::intent_urdf_joint_types_all_have_correct_dof ... ok
[INFO] [stdout] test spatial::tests::test_cross_force_duality ... ok
[INFO] [stdout] test urdf_convert::tests::test_basic_urdf_conversion ... ok
[INFO] [stdout] test spatial::tests::test_cross_motion_matrix_consistency ... ok
[INFO] [stdout] test urdf_convert::tests::test_converted_body_runs_aba ... ok
[INFO] [stdout] test urdf_convert::tests::test_rpy_to_rotation_identity ... ok
[INFO] [stdout] test urdf_convert::tests::test_urdf_inertia_values ... ok
[INFO] [stdout] test spatial::tests::test_spatial_inertia_cylinder ... ok
[INFO] [stdout] test spatial::tests::test_transform_force_motion_duality ... ok
[INFO] [stdout] test spatial::tests::test_set_angular_overwrites_top_three ... ok
[INFO] [stdout] test spatial::tests::test_spatial_inertia_symmetry ... ok
[INFO] [stdout] test spatial::tests::test_set_linear_overwrites_bottom_three ... ok
[INFO] [stdout] test spatial::tests::test_spatial_inertia_sub_correctness ... ok
[INFO] [stdout] test spatial::tests::test_spatial_inertia_sphere ... ok
[INFO] [stdout] test spatial::tests::test_skew_antisymmetric ... ok
[INFO] [stdout] test urdf_convert::tests::test_urdf_joint_origin_transform ... ok
[INFO] [stdout] test urdf_convert::tests::test_urdf_inertial_with_com_offset ... ok
[INFO] [stdout] test urdf_convert::tests::test_urdf_link_names ... ok
[INFO] [stdout] test urdf_convert::tests::test_urdf_joint_type_mapping ... ok
[INFO] [stdout] test urdf_convert::tests::test_urdf_topology ... ok
[INFO] [stdout] test urdf_convert::tests::test_puma_like_6dof ... ok
[INFO] [stdout] test urdf_convert::tests::test_rpy_to_rotation_90deg_yaw ... ok
[INFO] [stdout] test spatial::tests::test_transform_inverse_round_trip ... ok
[INFO] [stdout] test spatial::tests::test_spatial_inertia_mul_vector ... ok
[INFO] [stdout] test urdf_convert::tests::test_urdf_joint_limits ... ok
[INFO] [stdout] test urdf_convert::tests::test_urdf_zero_mass_link ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 481 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/research_grade.rs (/opt/rustwide/target/release/deps/research_grade-1fc38ff6c59c84eb)
[INFO] [stdout] 
[INFO] [stdout] running 62 tests
[INFO] [stdout] test intent_kinetic_energy_always_non_negative ... ok
[INFO] [stdout] test intent_rnea_aba_inverse_duality ... ok
[INFO] [stdout] test test_aba_matches_lagrangian_2r_many_configs ... ignored
[INFO] [stdout] test intent_bias_forces_zero_at_rest_no_gravity ... ok
[INFO] [stdout] test test_aba_rnea_duality_with_external_forces ... ok
[INFO] [stdout] test test_50_body_chain_finite_dynamics ... ok
[INFO] [stdout] test test_aba_various_chain_lengths ... ok
[INFO] [stdout] test proptest_algorithms::prop_crba_symmetric_positive_definite ... ok
[INFO] [stdout] test proptest_algorithms::prop_aba_rnea_round_trip ... ok
[INFO] [stdout] test test_contact_impulse_non_negativity ... ok
[INFO] [stdout] test intent_mass_matrix_eigenvalues_grow_with_distal_mass ... ok
[INFO] [stdout] test test_crba_mass_matrix_matches_lagrangian_2r ... ok
[INFO] [stdout] test test_crba_matches_analytical_single_pendulum ... ok
[INFO] [stdout] test test_crba_aba_consistency_many_configs ... ok
[INFO] [stdout] test test_crba_positive_definite_many_configs ... ok
[INFO] [stdout] test test_equations_of_motion_m_qdd_equals_tau_minus_c ... ok
[INFO] [stdout] test test_fk_jacobian_velocity_consistency_chain ... ok
[INFO] [stdout] test stress_humanoid_tree_drop_300_steps ... ok
[INFO] [stdout] test test_aba_matches_lagrangian_2r_zero_velocity ... ok
[INFO] [stdout] test proptest_algorithms::prop_gravity_compensation_zero_acceleration ... ok
[INFO] [stdout] test test_friction_cone_enforcement_lcp ... ok
[INFO] [stdout] test test_aba_rnea_round_trip_many_configs ... ok
[INFO] [stdout] test test_full_simulation_pipeline_100_steps ... ok
[INFO] [stdout] test test_gravity_compensation_floating_base ... ok
[INFO] [stdout] test test_gravity_comp_produces_static_equilibrium ... ok
[INFO] [stdout] test test_gravity_compensation_many_configs ... ok
[INFO] [stdout] test test_aba_matches_analytical_single_pendulum ... ok
[INFO] [stdout] test test_aba_floating_base_free_fall_analytical ... ok
[INFO] [stdout] test test_full_pipeline_determinism ... ok
[INFO] [stdout] test test_humanoid_mass_matrix_spd ... ok
[INFO] [stdout] test test_humanoid_aba_rnea_round_trip ... ok
[INFO] [stdout] test test_floating_base_quaternion_unit_over_2000_steps ... ok
[INFO] [stdout] test test_lcp_convergence_monotonic_residual_decay ... ok
[INFO] [stdout] test test_mass_matrix_condition_number_growth ... ok
[INFO] [stdout] test test_aba_prismatic_free_fall_analytical ... ok
[INFO] [stdout] test test_com_bounded_during_simulation ... ok
[INFO] [stdout] test test_limits_and_contacts_coexist ... ok
[INFO] [stdout] test test_branching_momentum_conservation ... ok
[INFO] [stdout] test test_newton_vs_lcp_impulse_direction_agrees ... ok
[INFO] [stdout] test test_energy_conservation_symplectic_10k_steps ... ok
[INFO] [stdout] test test_free_fall_trajectory_exact ... ok
[INFO] [stdout] test test_quadruped_gravity_compensation ... ok
[INFO] [stdout] test stress_5000_step_pendulum_energy_bounded ... ok
[INFO] [stdout] test test_rnea_gravity_matches_analytical_single_pendulum ... ok
[INFO] [stdout] test test_simultaneous_limits_and_contacts ... ok
[INFO] [stdout] test test_rnea_gravity_matches_lagrangian_2r ... ok
[INFO] [stdout] test test_smooth_vs_lcp_both_produce_upward_force ... ok
[INFO] [stdout] test test_linear_momentum_conservation_isolated_system ... ok
[INFO] [stdout] test test_spatial_inertia_positive_definite ... ok
[INFO] [stdout] test test_quadruped_energy_conservation ... ok
[INFO] [stdout] test test_smooth_contact_rk4_pipeline_stable ... ok
[INFO] [stdout] test test_stacking_multiple_contacts ... ok
[INFO] [stdout] test stress_10_link_drop_with_contacts_500_steps ... ok
[INFO] [stdout] test test_angular_momentum_conservation_isolated_system ... ok
[INFO] [stdout] test test_rnea_linear_scaling ... FAILED
[INFO] [stdout] test test_energy_conservation_rk4_10k_steps ... ok
[INFO] [stdout] test test_rotating_rod_exact_solution ... ok
[INFO] [stdout] test test_kahan_compensation_beats_naive_f32 ... ok
[INFO] [stdout] test test_quaternion_normalization_10k_steps ... ok
[INFO] [stdout] test test_aba_linear_scaling ... ok
[INFO] [stdout] test test_harmonic_oscillator_frequency ... ok
[INFO] [stdout] test test_rk4_trajectory_more_accurate_than_euler ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_rnea_linear_scaling stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_rnea_linear_scaling' (2458) panicked at tests/research_grade.rs:1242:5:
[INFO] [stdout] RNEA scaling: time(64)/time(8) = 25.1 (expected <12 for O(n)), times: ["n=8: 1.81e-6s", "n=16: 1.03e-5s", "n=32: 1.70e-5s", "n=64: 4.54e-5s"]
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5baf41750d01 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5baf41767a5a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x5baf417555fc - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5baf4172bcf6 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5baf41749279 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x5baf41698200 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x5baf41749432 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5baf4172bda2 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5baf417249d9 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5baf4172c99d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x5baf417681bc - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5baf4165667d - <research_grade[584f8af3f093e3ac]::test_rnea_linear_scaling::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   12:     0x5baf4168b4eb - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   13:     0x5baf41698b55 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   14:     0x5baf41692414 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   15:     0x5baf4169bcb2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   16:     0x5baf417505d9 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   17:     0x705ef8133dfa - <unknown>
[INFO] [stdout]   18:     0x705ef81c73d4 - clone
[INFO] [stdout]   19:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_rnea_linear_scaling
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 60 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.54s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test research_grade`
[INFO] running `Command { std: "docker" "inspect" "8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4", kill_on_drop: false }`
[INFO] [stdout] 8953cd29f97aa86198608f1db27adbce50bbc48033aea43af1bf89321533d0d4
