[INFO] fetching crate oxihuman-physics 0.1.1... [INFO] testing oxihuman-physics-0.1.1 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate oxihuman-physics 0.1.1 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate oxihuman-physics 0.1.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate oxihuman-physics 0.1.1 [INFO] tweaked toml for crates.io crate oxihuman-physics 0.1.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate oxihuman-physics 0.1.1 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oxihuman-physics 0.1.1 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b64b8e65387b7f057b715d6594e5acdff7b79324d318a348b05f11d83d3e921f [INFO] running `Command { std: "docker" "start" "-a" "b64b8e65387b7f057b715d6594e5acdff7b79324d318a348b05f11d83d3e921f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b64b8e65387b7f057b715d6594e5acdff7b79324d318a348b05f11d83d3e921f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b64b8e65387b7f057b715d6594e5acdff7b79324d318a348b05f11d83d3e921f", kill_on_drop: false }` [INFO] [stdout] b64b8e65387b7f057b715d6594e5acdff7b79324d318a348b05f11d83d3e921f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 38ba8f27d365da76ee064d0b85b7abcbae09bda9d365f4bb6a0a29de79e6d205 [INFO] running `Command { std: "docker" "start" "-a" "38ba8f27d365da76ee064d0b85b7abcbae09bda9d365f4bb6a0a29de79e6d205", kill_on_drop: false }` [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Compiling toml_writer v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Compiling toml v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling oxihuman-core v0.1.1 [INFO] [stderr] Compiling oxihuman-morph v0.1.1 [INFO] [stderr] Compiling oxihuman-mesh v0.1.1 [INFO] [stderr] Compiling oxihuman-physics v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 43s [INFO] running `Command { std: "docker" "inspect" "38ba8f27d365da76ee064d0b85b7abcbae09bda9d365f4bb6a0a29de79e6d205", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "38ba8f27d365da76ee064d0b85b7abcbae09bda9d365f4bb6a0a29de79e6d205", kill_on_drop: false }` [INFO] [stdout] 38ba8f27d365da76ee064d0b85b7abcbae09bda9d365f4bb6a0a29de79e6d205 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bf2c657b25b5e14540692fb4a71aa00c8ef250a4c113c9d792b1bd6e996e12ff [INFO] running `Command { std: "docker" "start" "-a" "bf2c657b25b5e14540692fb4a71aa00c8ef250a4c113c9d792b1bd6e996e12ff", kill_on_drop: false }` [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling zerocopy-derive v0.8.42 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling criterion-plot v0.8.2 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling oxihuman-core v0.1.1 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling criterion v0.8.2 [INFO] [stderr] Compiling oxihuman-morph v0.1.1 [INFO] [stderr] Compiling oxihuman-mesh v0.1.1 [INFO] [stderr] Compiling oxihuman-physics v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 38s [INFO] running `Command { std: "docker" "inspect" "bf2c657b25b5e14540692fb4a71aa00c8ef250a4c113c9d792b1bd6e996e12ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bf2c657b25b5e14540692fb4a71aa00c8ef250a4c113c9d792b1bd6e996e12ff", kill_on_drop: false }` [INFO] [stdout] bf2c657b25b5e14540692fb4a71aa00c8ef250a4c113c9d792b1bd6e996e12ff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 7816612bce05ab4bfcfbb7f5146460efff5146aa20b95dd0014851401d1099ca [INFO] running `Command { std: "docker" "start" "-a" "7816612bce05ab4bfcfbb7f5146460efff5146aa20b95dd0014851401d1099ca", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oxihuman_physics-d0ddeaa5f00d4ce9) [INFO] [stdout] [INFO] [stdout] running 5210 tests [INFO] [stdout] test aerodynamics::tests::aero_zero_velocity_zero_force ... ok [INFO] [stdout] test aerodynamics::tests::apply_aero_single_triangle ... ok [INFO] [stdout] test aerodynamics::tests::aero_reynolds_positive ... ok [INFO] [stdout] test aerodynamics::tests::drag_opposes_motion ... ok [INFO] [stdout] test aerodynamics::tests::drag_doubles_with_v_squared ... ok [INFO] [stdout] test aerodynamics::tests::drag_formula ... ok [INFO] [stdout] test aerodynamics::tests::high_speed_large_drag ... ok [INFO] [stdout] test aerodynamics::tests::drag_doubles_with_area ... ok [INFO] [stdout] test aerodynamics::tests::stokes_drag_linear_radius ... ok [INFO] [stdout] test aerodynamics::tests::stokes_drag_linearity ... ok [INFO] [stdout] test aerodynamics::tests::terminal_velocity_positive ... ok [INFO] [stdout] test aerodynamics::tests::reynolds_formula ... ok [INFO] [stdout] test cloth::tests::cloth_from_mesh_particle_count ... ok [INFO] [stdout] test cloth::tests::cloth_from_mesh_has_springs ... ok [INFO] [stdout] test cloth::tests::cloth_step_moves_particles ... ok [INFO] [stdout] test cloth::tests::cloth_pinned_particles_dont_move ... ok [INFO] [stdout] test collision::tests::aabb_aabb_no_overlap_none ... ok [INFO] [stdout] test cloth::tests::cloth_positions_returns_vec ... ok [INFO] [stdout] test collision::tests::aabb_aabb_overlap_detects ... ok [INFO] [stdout] test cloth::tests::cloth_spring_rest_length_positive ... ok [INFO] [stdout] test aerodynamics::tests::drag_dot_velocity_negative ... ok [INFO] [stdout] test collision::tests::aabb_plane_below_contact ... ok [INFO] [stdout] test collision::tests::capsule_capsule_parallel_overlap ... ok [INFO] [stdout] test collision::tests::capsule_capsule_no_overlap ... ok [INFO] [stdout] test collision::tests::capsule_plane_contact ... ok [INFO] [stdout] test collision::tests::capsule_sphere_no_overlap ... ok [INFO] [stdout] test collision::tests::closest_point_on_segment_endpoint ... ok [INFO] [stdout] test collision::tests::capsule_sphere_overlap ... ok [INFO] [stdout] test collision::tests::closest_point_on_segment_midpoint ... ok [INFO] [stdout] test collision::tests::resolve_contact_separates_objects ... ok [INFO] [stdout] test aerodynamics::tests::total_equals_drag_plus_lift ... ok [INFO] [stdout] test collision::tests::sphere_aabb_outside_no_contact ... ok [INFO] [stdout] test collision::tests::sphere_aabb_inside_aabb_contact ... ok [INFO] [stdout] test collision::tests::sphere_plane_above_no_contact ... ok [INFO] [stdout] test collision::tests::sphere_sphere_no_overlap_none ... ok [INFO] [stdout] test collision::tests::sq_dist_point_segment_zero ... ok [INFO] [stdout] test constraint::tests::test_bend_constraint_all_pinned ... ok [INFO] [stdout] test constraint::tests::test_bend_constraint_angle_correction ... ok [INFO] [stdout] test constraint::tests::test_bend_constraint_satisfied ... ok [INFO] [stdout] test constraint::tests::test_constraint_energy_zero_compliance ... ok [INFO] [stdout] test constraint::tests::test_distance_constraint_already_satisfied ... ok [INFO] [stdout] test collision::tests::sphere_plane_below_contact ... ok [INFO] [stdout] test collision::tests::sphere_sphere_contact_depth_correct ... ok [INFO] [stdout] test constraint::tests::test_constraint_energy_lambda_zero ... ok [INFO] [stdout] test constraint::tests::test_constraint_energy_positive ... ok [INFO] [stdout] test collision::tests::sphere_sphere_overlap_detects ... ok [INFO] [stdout] test constraint::tests::test_distance_constraint_both_pinned ... ok [INFO] [stdout] test constraint::tests::test_distance_constraint_compliance ... ok [INFO] [stdout] test constraint::tests::test_distance_constraint_convergence ... ok [INFO] [stdout] test constraint::tests::test_distance_constraint_pinned_vertex ... ok [INFO] [stdout] test constraint::tests::test_tet_volume_degenerate ... ok [INFO] [stdout] test constraint::tests::test_tet_volume_scaled ... ok [INFO] [stdout] test constraint::tests::test_tet_volume_unit ... ok [INFO] [stdout] test constraint::tests::test_tet_volume_negative_orientation ... ok [INFO] [stdout] test constraint::tests::test_volume_constraint_preservation ... ok [INFO] [stdout] test constraint::tests::test_volume_constraint_all_pinned ... ok [INFO] [stdout] test contact_solver::tests::test_contact_energy_positive_penetration ... ok [INFO] [stdout] test contact_solver::tests::test_contact_energy_no_penetration ... ok [INFO] [stdout] test contact_solver::tests::test_contact_energy_empty ... ok [INFO] [stdout] test contact_solver::tests::test_detect_sphere_contacts_no_overlap ... ok [INFO] [stdout] test contact_solver::tests::test_detect_sphere_contacts_overlap ... ok [INFO] [stdout] test contact_solver::tests::test_detect_sphere_contacts_three ... ok [INFO] [stdout] test contact_solver::tests::test_friction_reduces_tangential_velocity ... ok [INFO] [stdout] test contact_solver::tests::test_friction_cone_clamp_zero_friction ... ok [INFO] [stdout] test contact_solver::tests::test_no_correction_below_slop ... ok [INFO] [stdout] test contact_solver::tests::test_pinned_particle_does_not_move ... ok [INFO] [stdout] test contact_solver::tests::test_restitution_reverses_velocity ... ok [INFO] [stdout] test contact_solver::tests::test_single_contact_separates ... ok [INFO] [stdout] test contact_solver::tests::test_zero_restitution_stops_normal_velocity ... ok [INFO] [stdout] test garment_fit::tests::capsule_sdf_inside ... ok [INFO] [stdout] test garment_fit::tests::capsule_sdf_on_surface ... ok [INFO] [stdout] test garment_fit::tests::capsule_sdf_outside ... ok [INFO] [stdout] test garment_fit::tests::clearance_stats_non_empty ... ok [INFO] [stdout] test garment_fit::tests::fit_no_penetration_capsule ... ok [INFO] [stdout] test garment_fit::tests::push_out_already_outside ... ok [INFO] [stdout] test garment_fit::tests::push_out_of_capsule_moves_outside ... ok [INFO] [stdout] test garment_fit::tests::fit_max_penetration_non_negative ... ok [INFO] [stdout] test garment_fit::tests::seam_vertex_moves_less ... ok [INFO] [stdout] test garment_fit::tests::sphere_sdf_inside ... ok [INFO] [stdout] test garment_fit::tests::fit_no_penetration_sphere ... ok [INFO] [stdout] test garment_fit::tests::sphere_sdf_on_surface ... ok [INFO] [stdout] test garment_fit::tests::spring_pull_full_stiffness ... ok [INFO] [stdout] test garment_fit_v2::tests::test_build_bend_constraints ... ok [INFO] [stdout] test garment_fit_v2::tests::test_build_stretch_constraints ... ok [INFO] [stdout] test garment_fit_v2::tests::test_default_config ... ok [INFO] [stdout] test garment_fit_v2::tests::test_dihedral_angle_flat ... ok [INFO] [stdout] test garment_fit::tests::spring_pull_at_rest ... ok [INFO] [stdout] test garment_fit::tests::sphere_sdf_outside ... ok [INFO] [stdout] test garment_fit_v2::tests::test_fit_empty_garment_error ... ok [INFO] [stdout] test garment_fit_v2::tests::test_kinetic_energy_nonzero ... ok [INFO] [stdout] test garment_fit_v2::tests::test_kinetic_energy_at_rest ... ok [INFO] [stdout] test garment_fit_v2::tests::test_refit_mismatched_length ... ok [INFO] [stdout] test garment_fit_v2::tests::test_seam_constraints ... ok [INFO] [stdout] test garment_fit_v2::tests::test_strain_map_no_deformation ... ok [INFO] [stdout] test garment_fit_v2::tests::test_strain_map_stretched ... ok [INFO] [stdout] test garment_fit_v2::tests::test_triangle_area ... ok [INFO] [stdout] test garment_fit_v2::tests::test_validate_garment_bad_pinned ... ok [INFO] [stdout] test garment_fit_v2::tests::test_validate_garment_bad_triangle_index ... ok [INFO] [stdout] test garment_fit_v2::tests::test_validate_garment_empty_positions ... ok [INFO] [stdout] test hair::tests::all_positions_count ... ok [INFO] [stdout] test hair::tests::from_scalp_creates_strands ... ok [INFO] [stdout] test hair::tests::hair_system_root_pinned ... ok [INFO] [stdout] test hair::tests::hair_system_step_moves_tip ... ok [INFO] [stdout] test hair::tests::strand_particle_count ... ok [INFO] [stdout] test hair::tests::strand_root_is_first ... ok [INFO] [stdout] test hair::tests::strand_tip_at_correct_distance ... ok [INFO] [stdout] test joint_limits::tests::test_axis_angle_roundtrip ... ok [INFO] [stdout] test joint_limits::tests::test_ball_socket_swing_violation ... ok [INFO] [stdout] test joint_limits::tests::test_clamp_angle ... ok [INFO] [stdout] test joint_limits::tests::test_default_impl ... ok [INFO] [stdout] test joint_limits::tests::test_enforce_hinge_clamps ... ok [INFO] [stdout] test joint_limits::tests::test_enforce_limits_identity_pose ... ok [INFO] [stdout] test joint_limits::tests::test_hinge_violation_detected ... ok [INFO] [stdout] test joint_limits::tests::test_humanoid_defaults_has_expected_joints ... ok [INFO] [stdout] test joint_limits::tests::test_no_violations_at_rest ... ok [INFO] [stdout] test joint_limits::tests::test_out_of_bounds_bone_indices ... ok [INFO] [stdout] test joint_limits::tests::test_quat_conjugate_inverse ... ok [INFO] [stdout] test joint_limits::tests::test_quat_from_axis_angle_zero_axis ... ok [INFO] [stdout] test joint_limits::tests::test_quat_mul_identity ... ok [INFO] [stdout] test joint_limits::tests::test_quat_normalize_identity ... ok [INFO] [stdout] test joint_limits::tests::test_quat_normalize_zero_returns_identity ... ok [INFO] [stdout] test joint_limits::tests::test_swing_twist_decompose_pure_twist ... ok [INFO] [stdout] test material::tests::all_presets_count ... ok [INFO] [stdout] test material::tests::cloth_stack_effective_material ... ok [INFO] [stdout] test material::tests::cloth_stack_total_density ... ok [INFO] [stdout] test material::tests::cotton_preset_name ... ok [INFO] [stdout] test material::tests::denim_is_stiff ... ok [INFO] [stdout] test material::tests::find_preset_by_name ... ok [INFO] [stdout] test material::tests::find_preset_case_insensitive ... ok [INFO] [stdout] test material::tests::for_wind_strong_increases_damping ... ok [INFO] [stdout] test material::tests::lerp_at_one_equals_other ... ok [INFO] [stdout] test material::tests::lerp_at_zero_equals_self ... ok [INFO] [stdout] test material::tests::lerp_midpoint_density ... ok [INFO] [stdout] test material::tests::silk_is_drapeable ... ok [INFO] [stdout] test material::tests::silk_preset_lighter_than_denim ... ok [INFO] [stdout] test material::tests::terminal_velocity_positive ... ok [INFO] [stdout] test material::tests::with_stiffness_scale_halves_structural ... ok [INFO] [stdout] test modules_a::angular_spring::tests::test_displacement ... ok [INFO] [stdout] test modules_a::angular_spring::tests::test_energy ... ok [INFO] [stdout] test modules_a::angular_spring::tests::test_is_at_rest ... ok [INFO] [stdout] test modules_a::angular_spring::tests::test_kinetic_energy ... ok [INFO] [stdout] test modules_a::angular_spring::tests::test_limits ... ok [INFO] [stdout] test modules_a::angular_spring::tests::test_new ... ok [INFO] [stdout] test modules_a::angular_spring::tests::test_step_returns_to_rest ... ok [INFO] [stdout] test modules_a::angular_spring::tests::test_torque_at_rest ... ok [INFO] [stdout] test modules_a::angular_spring::tests::test_torque_displaced ... ok [INFO] [stdout] test modules_a::angular_spring::tests::test_with_limits ... ok [INFO] [stdout] test modules_a::angular_velocity_body::tests::apply_torque_and_integrate_increases_speed ... ok [INFO] [stdout] test modules_a::angular_velocity_body::tests::axis_angle_to_velocity ... ok [INFO] [stdout] test modules_a::angular_velocity_body::tests::clamp_angular_velocity_no_change_within_limit ... ok [INFO] [stdout] test modules_a::angular_velocity_body::tests::clamp_angular_velocity_reduces_excess ... ok [INFO] [stdout] test modules_a::angular_velocity_body::tests::damping_reduces_velocity ... ok [INFO] [stdout] test modules_a::angular_velocity_body::tests::kinetic_energy_formula ... ok [INFO] [stdout] test modules_a::angular_velocity_body::tests::new_body_zero_velocity ... ok [INFO] [stdout] test modules_a::angular_velocity_body::tests::normalize_quaternion_unit_length ... ok [INFO] [stdout] test modules_a::angular_velocity_body::tests::rotation_period_computation ... ok [INFO] [stdout] test modules_a::angular_velocity_body::tests::rotation_period_zero_returns_none ... ok [INFO] [stdout] test modules_a::ball_joint::tests::test_breaking ... ok [INFO] [stdout] test modules_a::ball_joint::tests::test_broken_returns_zero ... ok [INFO] [stdout] test modules_a::ball_joint::tests::test_compute_force_nonzero ... ok [INFO] [stdout] test modules_a::ball_joint::tests::test_compute_force_zero_error ... ok [INFO] [stdout] test modules_a::ball_joint::tests::test_cone_angle_clamped ... ok [INFO] [stdout] test modules_a::ball_joint::tests::test_error ... ok [INFO] [stdout] test modules_a::ball_joint::tests::test_is_within_cone ... ok [INFO] [stdout] test modules_a::ball_joint::tests::test_new ... ok [INFO] [stdout] test modules_a::ball_joint::tests::test_reset ... ok [INFO] [stdout] test modules_a::ball_joint::tests::test_with_cone_angle ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_default_ballistic_config ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_drag_force_opposes_velocity ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_drag_force_zero_velocity ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_impact_point_already_below ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_impact_point_on_plane ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_launch_velocity_for_target ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_max_range ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_new_projectile ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_projectile_kinetic_energy ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_simulate_projectile_gravity ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_simulate_projectile_inactive ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_simulate_trajectory_correct_length ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_simulate_trajectory_zero_steps ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_time_of_flight ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_time_of_flight_empty ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_trajectory_length ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_trajectory_length_single_point ... ok [INFO] [stdout] test modules_a::ballistic::tests::test_trajectory_max_height ... ok [INFO] [stdout] test modules_a::body_aabb::tests::test_center ... ok [INFO] [stdout] test modules_a::body_aabb::tests::test_contains_point ... ok [INFO] [stdout] test modules_a::body_aabb::tests::test_expand ... ok [INFO] [stdout] test modules_a::body_aabb::tests::test_from_points ... ok [INFO] [stdout] test modules_a::body_aabb::tests::test_intersects ... ok [INFO] [stdout] test modules_a::body_aabb::tests::test_new ... ok [INFO] [stdout] test modules_a::body_aabb::tests::test_no_intersection ... ok [INFO] [stdout] test modules_a::body_aabb::tests::test_swapped_min_max ... ok [INFO] [stdout] test modules_a::body_aabb::tests::test_union ... ok [INFO] [stdout] test modules_a::body_aabb::tests::test_volume ... ok [INFO] [stdout] test modules_a::body_friction::tests::test_anisotropic_primary ... ok [INFO] [stdout] test modules_a::body_friction::tests::test_anisotropic_zero_vel ... ok [INFO] [stdout] test modules_a::body_friction::tests::test_coulomb_dynamic ... ok [INFO] [stdout] test modules_a::body_friction::tests::test_coulomb_static ... ok [INFO] [stdout] test modules_a::body_friction::tests::test_frac_1_sqrt_2 ... ok [INFO] [stdout] test modules_a::body_friction::tests::test_friction_model_type ... ok [INFO] [stdout] test modules_a::body_friction::tests::test_kinetic ... ok [INFO] [stdout] test modules_a::body_friction::tests::test_max_static ... ok [INFO] [stdout] test modules_a::body_friction::tests::test_viscous ... ok [INFO] [stdout] test modules_a::body_friction::tests::test_viscous_model_type ... ok [INFO] [stdout] test modules_a::body_sleeping::tests::test_angular_prevents_sleep ... ok [INFO] [stdout] test modules_a::body_sleeping::tests::test_default_config ... ok [INFO] [stdout] test modules_a::body_sleeping::tests::test_exact_threshold_not_sleeping ... ok [INFO] [stdout] test modules_a::body_sleeping::tests::test_force_sleep ... ok [INFO] [stdout] test modules_a::body_sleeping::tests::test_goes_to_sleep ... ok [INFO] [stdout] test modules_a::body_sleeping::tests::test_motion_resets_idle ... ok [INFO] [stdout] test modules_a::body_sleeping::tests::test_new ... ok [INFO] [stdout] test modules_a::body_sleeping::tests::test_set_thresholds ... ok [INFO] [stdout] test modules_a::body_sleeping::tests::test_stays_awake_with_motion ... ok [INFO] [stdout] test modules_a::body_sleeping::tests::test_wake ... ok [INFO] [stdout] test modules_a::broadphase::tests::aabb_expand_increases_size ... ok [INFO] [stdout] test modules_a::broadphase::tests::aabb_from_capsule_correct_bounds ... ok [INFO] [stdout] test modules_a::broadphase::tests::aabb_from_sphere_correct_bounds ... ok [INFO] [stdout] test modules_a::broadphase::tests::aabb_overlap_nested_returns_true ... ok [INFO] [stdout] test modules_a::broadphase::tests::aabb_overlap_separated_returns_false ... ok [INFO] [stdout] test modules_a::broadphase::tests::aabb_overlap_touching_returns_true ... ok [INFO] [stdout] test modules_a::broadphase::tests::aabb_overlap_y_separated_returns_false ... ok [INFO] [stdout] test modules_a::broadphase::tests::aabb_surface_area_unit_cube ... ok [INFO] [stdout] test modules_a::broadphase::tests::build_bvh_no_panic_empty ... ok [INFO] [stdout] test modules_a::broadphase::tests::build_bvh_no_panic_many ... ok [INFO] [stdout] test modules_a::broadphase::tests::build_bvh_no_panic_single ... ok [INFO] [stdout] test modules_a::broadphase::tests::bvh_matches_brute_force ... ok [INFO] [stdout] test modules_a::broadphase::tests::compute_all_pair_overlaps_finds_pair ... ok [INFO] [stdout] test modules_a::broadphase::tests::compute_all_pair_overlaps_none_for_separated ... ok [INFO] [stdout] test modules_a::broadphase::tests::query_aabb_empty_tree_returns_empty ... ok [INFO] [stdout] test modules_a::broadphase::tests::query_aabb_finds_overlapping ... ok [INFO] [stdout] test modules_a::broadphase::tests::query_aabb_no_overlap_returns_empty ... ok [INFO] [stdout] test modules_a::buoyancy::tests::above_surface_fraction_is_zero ... ok [INFO] [stdout] test modules_a::buoyancy::tests::archimedes_force_positive ... ok [INFO] [stdout] test modules_a::buoyancy::tests::archimedes_force_proportional_to_volume ... ok [INFO] [stdout] test modules_a::buoyancy::tests::buoyant_body_floats ... ok [INFO] [stdout] test modules_a::buoyancy::tests::drag_force_opposite_velocity ... ok [INFO] [stdout] test modules_a::buoyancy::tests::drag_force_zero_for_zero_velocity ... ok [INFO] [stdout] test modules_a::buoyancy::tests::fully_submerged_fraction_is_one ... ok [INFO] [stdout] test modules_a::buoyancy::tests::multi_body_buoyancy_returns_correct_count ... ok [INFO] [stdout] test modules_a::buoyancy::tests::partial_submersion_fraction_between_zero_and_one ... ok [INFO] [stdout] test modules_a::buoyancy::tests::sinking_body_does_not_float ... ok [INFO] [stdout] test modules_a::buoyancy::tests::step_body_buoyant_rises ... ok [INFO] [stdout] test modules_a::buoyancy::tests::step_body_integrates_position ... ok [INFO] [stdout] test modules_a::buoyancy::tests::wave_force_zero_when_above_surface ... ok [INFO] [stdout] test modules_a::capsule_contact::tests::test_center ... ok [INFO] [stdout] test modules_a::capsule_contact::tests::test_collision_overlap ... ok [INFO] [stdout] test modules_a::capsule_contact::tests::test_contains_point ... ok [INFO] [stdout] test modules_a::capsule_contact::tests::test_degenerate_capsule ... ok [INFO] [stdout] test modules_a::capsule_contact::tests::test_height ... ok [INFO] [stdout] test modules_a::capsule_contact::tests::test_new ... ok [INFO] [stdout] test modules_a::capsule_contact::tests::test_no_collision ... ok [INFO] [stdout] test modules_a::capsule_contact::tests::test_surface_area ... ok [INFO] [stdout] test modules_a::capsule_contact::tests::test_touching_capsules ... ok [INFO] [stdout] test modules_a::capsule_contact::tests::test_volume_positive ... ok [INFO] [stdout] test modules_a::capsule_shape::tests::test_aabb ... ok [INFO] [stdout] test modules_a::capsule_shape::tests::test_center ... ok [INFO] [stdout] test modules_a::capsule_shape::tests::test_contains_point_inside ... ok [INFO] [stdout] test modules_a::capsule_shape::tests::test_contains_point_outside ... ok [INFO] [stdout] test modules_a::capsule_shape::tests::test_distance_to_point ... ok [INFO] [stdout] test modules_a::capsule_shape::tests::test_from_height ... ok [INFO] [stdout] test modules_a::capsule_shape::tests::test_height ... ok [INFO] [stdout] test modules_a::capsule_shape::tests::test_new ... ok [INFO] [stdout] test modules_a::capsule_shape::tests::test_surface_area ... ok [INFO] [stdout] test modules_a::capsule_shape::tests::test_volume ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_apply_gravity_cc ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_apply_gravity_on_ground ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_can_step_up ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_capsule_aabb ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_character_speed ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_enable_disable_controller ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_foot_head_position ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_ground_check ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_jump_character ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_jump_not_on_ground ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_land_character ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_move_character ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_move_character_disabled ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_new_controller ... ok [INFO] [stdout] test modules_a::character_controller::tests::test_push_character ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_build_circular_panel_face_count ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_build_circular_panel_vertex_count ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_build_rectangle_panel_edge_count_nonzero ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_build_rectangle_panel_face_count ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_build_rectangle_panel_vertex_count ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_drape_panel_onto_sphere_no_nan ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_drape_panel_onto_sphere_radius ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_pattern_face_count_rectangle ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_pattern_spring_count_nonzero ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_pattern_to_cloth_particles_count ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_pattern_vertices_in_bounds_rectangle ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_sew_panels_marks_seams ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_wrap_panel_to_cylinder_no_nan ... ok [INFO] [stdout] test modules_a::cloth_pattern::tests::test_wrap_panel_to_cylinder_radius ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_apply_force_at_changes_velocity ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_compute_stretch_ratio_rest ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_count_broken_initially_zero ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_count_intact_initially_all ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_find_overloaded_constraints_none_at_rest ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_is_fully_torn_false_initially ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_is_fully_torn_true_when_all_broken ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_large_gravity_causes_tears ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_new_tearable_grid_bottom_unpinned ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_new_tearable_grid_constraints_positive ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_new_tearable_grid_particles ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_new_tearable_grid_pinned_top_row ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_step_simulation_moves_particles ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_step_simulation_pinned_dont_move ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_tear_at_point ... ok [INFO] [stdout] test modules_a::cloth_tear::tests::test_tearable_mesh_stats ... ok [INFO] [stdout] test modules_a::collision_layer_matrix::tests::test_all_enabled ... ok [INFO] [stdout] test modules_a::collision_layer_matrix::tests::test_disable_all ... ok [INFO] [stdout] test modules_a::collision_layer_matrix::tests::test_interacting_layers ... ok [INFO] [stdout] test modules_a::collision_layer_matrix::tests::test_interaction_count ... ok [INFO] [stdout] test modules_a::collision_layer_matrix::tests::test_layer_name ... ok [INFO] [stdout] test modules_a::collision_layer_matrix::tests::test_new_all_disabled ... ok [INFO] [stdout] test modules_a::collision_layer_matrix::tests::test_out_of_bounds ... ok [INFO] [stdout] test modules_a::collision_layer_matrix::tests::test_self_interaction ... ok [INFO] [stdout] test modules_a::collision_layer_matrix::tests::test_set_interaction ... ok [INFO] [stdout] test modules_a::collision_layer_matrix::tests::test_symmetric ... ok [INFO] [stdout] test modules_a::collision_response_model::tests::test_clamp ... ok [INFO] [stdout] test modules_a::collision_response_model::tests::test_combine ... ok [INFO] [stdout] test modules_a::collision_response_model::tests::test_compute_friction_impulse ... ok [INFO] [stdout] test modules_a::collision_response_model::tests::test_compute_impulse_colliding ... ok [INFO] [stdout] test modules_a::collision_response_model::tests::test_compute_impulse_separating ... ok [INFO] [stdout] test modules_a::collision_response_model::tests::test_default_model ... ok [INFO] [stdout] test modules_a::collision_response_model::tests::test_is_elastic ... ok [INFO] [stdout] test modules_a::collision_response_model::tests::test_is_inelastic ... ok [INFO] [stdout] test modules_a::collision_response_model::tests::test_new ... ok [INFO] [stdout] test modules_a::collision_response_model::tests::test_zero_inv_mass ... ok [INFO] [stdout] test modules_a::cone_twist::tests::test_anchor_axis ... ok [INFO] [stdout] test modules_a::cone_twist::tests::test_clamp_limits ... ok [INFO] [stdout] test modules_a::cone_twist::tests::test_new ... ok [INFO] [stdout] test modules_a::cone_twist::tests::test_no_correction_within_limits ... ok [INFO] [stdout] test modules_a::cone_twist::tests::test_no_violation ... ok [INFO] [stdout] test modules_a::cone_twist::tests::test_swing_correction ... ok [INFO] [stdout] test modules_a::cone_twist::tests::test_swing_fraction ... ok [INFO] [stdout] test modules_a::cone_twist::tests::test_swing_violation ... ok [INFO] [stdout] test modules_a::cone_twist::tests::test_twist_fraction ... ok [INFO] [stdout] test modules_a::cone_twist::tests::test_twist_violation ... ok [INFO] [stdout] test modules_a::constraint_bound::tests::test_angular ... ok [INFO] [stdout] test modules_a::constraint_bound::tests::test_clamp ... ok [INFO] [stdout] test modules_a::constraint_bound::tests::test_correction_force ... ok [INFO] [stdout] test modules_a::constraint_bound::tests::test_free ... ok [INFO] [stdout] test modules_a::constraint_bound::tests::test_is_within ... ok [INFO] [stdout] test modules_a::constraint_bound::tests::test_new ... ok [INFO] [stdout] test modules_a::constraint_bound::tests::test_range_center ... ok [INFO] [stdout] test modules_a::constraint_bound::tests::test_swapped_bounds ... ok [INFO] [stdout] test modules_a::constraint_bound::tests::test_symmetric ... ok [INFO] [stdout] test modules_a::constraint_bound::tests::test_violation ... ok [INFO] [stdout] test modules_a::constraint_group::tests::build_constraint_graph_edges_correct ... ok [INFO] [stdout] test modules_a::constraint_group::tests::chain_of_constraints_needs_two_colors ... ok [INFO] [stdout] test modules_a::constraint_group::tests::coloring_stats_non_empty_string ... ok [INFO] [stdout] test modules_a::constraint_group::tests::constraint_particle_degree_correct ... ok [INFO] [stdout] test modules_a::constraint_group::tests::empty_graph_produces_zero_colors ... ok [INFO] [stdout] test modules_a::constraint_group::tests::greedy_coloring_is_valid ... ok [INFO] [stdout] test modules_a::constraint_group::tests::greedy_colors_le_independent_set_colors ... ok [INFO] [stdout] test modules_a::constraint_group::tests::greedy_no_shared_colors_for_adjacent ... ok [INFO] [stdout] test modules_a::constraint_group::tests::independent_set_coloring_valid ... ok [INFO] [stdout] test modules_a::constraint_group::tests::optimal_substep_order_covers_all_constraints ... ok [INFO] [stdout] test modules_a::constraint_group::tests::optimal_substep_order_length_equals_n_colors ... ok [INFO] [stdout] test modules_a::constraint_group::tests::single_constraint_gets_one_color ... ok [INFO] [stdout] test modules_a::constraint_group::tests::validate_coloring_detects_bad_coloring ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_add_constraint ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_angle_constraint_project ... ok [INFO] [stdout] test garment_fit_v2::tests::test_convergence ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_constraint_compliance_value ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_constraint_compliance_zero_dt ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_distance_constraint_project ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_default_config ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_new_solver_state ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_position_constraint_project ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_remove_constraint ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_inactive_constraint_ignored ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_remove_constraint_invalid_index ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_reset_solver ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_set_solver_iterations ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_solve_iteration_distance ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_solve_n_iterations ... ok [INFO] [stdout] test modules_a::constraint_solver::tests::test_total_constraint_error ... ok [INFO] [stdout] test modules_a::contact_friction_model::tests::test_combine ... ok [INFO] [stdout] test modules_a::contact_friction_model::tests::test_effective_coeff_dynamic ... ok [INFO] [stdout] test modules_a::contact_friction_model::tests::test_effective_coeff_static ... ok [INFO] [stdout] test modules_a::contact_friction_model::tests::test_default ... ok [INFO] [stdout] test modules_a::contact_friction_model::tests::test_ice ... ok [INFO] [stdout] test modules_a::contact_friction_model::tests::test_is_frictionless ... ok [INFO] [stdout] test modules_a::contact_friction_model::tests::test_max_friction_force ... ok [INFO] [stdout] test modules_a::contact_friction_model::tests::test_new ... ok [INFO] [stdout] test modules_a::contact_friction_model::tests::test_rubber ... ok [INFO] [stdout] test modules_a::contact_friction_model::tests::test_friction_impulse_clamped ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_add_contact_pair ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_combine_friction_geometric_mean ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_combine_restitution_geometric_mean ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_contact_pair_count_after_default_table ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_default_contact_props ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_default_material_table ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_lookup_contact_fallback ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_lookup_contact_found ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_lookup_contact_symmetric ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_all_physics_materials_count ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_material_density_foam_light ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_material_density_metal_heavy ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_material_friction_ice_low ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_material_restitution_rubber_high ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_new_contact_table_empty ... ok [INFO] [stdout] test modules_a::contact_material::tests::test_physics_material_name ... ok [INFO] [stdout] test modules_a::contact_pair::tests::test_clear ... ok [INFO] [stdout] test modules_a::contact_pair::tests::test_contacts_for ... ok [INFO] [stdout] test modules_a::contact_pair::tests::test_average_depth ... ok [INFO] [stdout] test modules_a::contact_pair::tests::test_involves ... ok [INFO] [stdout] test modules_a::contact_pair::tests::test_is_deep ... ok [INFO] [stdout] test modules_a::contact_pair::tests::test_deepest ... ok [INFO] [stdout] test modules_a::contact_pair::tests::test_new_pair ... ok [INFO] [stdout] test modules_a::contact_pair::tests::test_set_add_and_count ... ok [INFO] [stdout] test modules_a::contact_pair::tests::test_other_body ... ok [INFO] [stdout] test modules_a::continuous_collision::tests::test_already_overlapping ... ok [INFO] [stdout] test modules_a::continuous_collision::tests::test_hit_plane ... ok [INFO] [stdout] test modules_a::contact_pair::tests::test_with_depth ... ok [INFO] [stdout] test modules_a::continuous_collision::tests::test_hit_static_sphere ... ok [INFO] [stdout] test modules_a::continuous_collision::tests::test_miss_static_sphere ... ok [INFO] [stdout] test modules_a::continuous_collision::tests::test_new ... ok [INFO] [stdout] test modules_a::continuous_collision::tests::test_position_at ... ok [INFO] [stdout] test modules_a::continuous_collision::tests::test_speed ... ok [INFO] [stdout] test modules_a::continuous_collision::tests::test_too_short_dt ... ok [INFO] [stdout] test modules_a::continuous_collision::tests::test_zero_velocity ... ok [INFO] [stdout] test modules_a::damped_spring::tests::test_critically_damped ... ok [INFO] [stdout] test modules_a::continuous_collision::tests::test_miss_plane_moving_away ... ok [INFO] [stdout] test modules_a::damped_spring::tests::test_force_1d_compressed ... ok [INFO] [stdout] test modules_a::damped_spring::tests::test_force_1d_rest ... ok [INFO] [stdout] test modules_a::damped_spring::tests::test_force_3d_rest ... ok [INFO] [stdout] test modules_a::damped_spring::tests::test_force_3d_stretched ... ok [INFO] [stdout] test modules_a::damped_spring::tests::test_force_3d_zero_dist ... ok [INFO] [stdout] test modules_a::damped_spring::tests::test_max_force ... ok [INFO] [stdout] test modules_a::damped_spring::tests::test_natural_frequency ... ok [INFO] [stdout] test modules_a::damped_spring::tests::test_new ... ok [INFO] [stdout] test modules_a::damper_element::tests::test_3d_force ... ok [INFO] [stdout] test modules_a::damper_element::tests::test_3d_power ... ok [INFO] [stdout] test modules_a::damper_element::tests::test_critical_damping ... ok [INFO] [stdout] test modules_a::damper_element::tests::test_energy_dissipated ... ok [INFO] [stdout] test modules_a::damper_element::tests::test_force_positive_velocity ... ok [INFO] [stdout] test modules_a::damper_element::tests::test_force_zero_velocity ... ok [INFO] [stdout] test modules_a::damper_element::tests::test_is_active ... ok [INFO] [stdout] test modules_a::damper_element::tests::test_max_force_clamp ... ok [INFO] [stdout] test modules_a::damper_element::tests::test_new ... ok [INFO] [stdout] test modules_a::damper_element::tests::test_power_dissipated ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_apply_wind ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_debris_bounding_box_contains_fragment ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_debris_bounding_box_empty ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_default_config ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_floor_bounce_reverses_y_velocity ... ok [INFO] [stdout] test modules_a::damped_spring::tests::test_energy ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_lifetime_kills_fragment ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_living_count ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_remove_dead ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_spawn_explosion_count ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_spawn_fragment_id ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_spawn_multiple_fragments ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_step_changes_position ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_total_kinetic_energy ... ok [INFO] [stdout] test modules_a::debris_system::tests::test_kinetic_energy_positive ... ok [INFO] [stdout] test modules_a::dynamic_body::tests::test_apply_force_and_integrate ... ok [INFO] [stdout] test modules_a::dynamic_body::tests::test_apply_impulse ... ok [INFO] [stdout] test modules_a::dynamic_body::tests::test_clear_forces ... ok [INFO] [stdout] test modules_a::dynamic_body::tests::test_kinetic_energy ... ok [INFO] [stdout] test modules_a::dynamic_body::tests::test_active ... ok [INFO] [stdout] test modules_a::dynamic_body::tests::test_new ... ok [INFO] [stdout] test modules_a::dynamic_body::tests::test_speed ... ok [INFO] [stdout] test modules_a::dynamic_body::tests::test_static_body ... ok [INFO] [stdout] test modules_a::dynamic_body::tests::test_with_position ... ok [INFO] [stdout] test modules_a::elastic_body::tests::test_center_of_mass ... ok [INFO] [stdout] test modules_a::elastic_body::tests::test_kinetic_energy_at_rest ... ok [INFO] [stdout] test modules_a::elastic_body::tests::test_natural_frequency ... ok [INFO] [stdout] test modules_a::elastic_body::tests::test_new ... ok [INFO] [stdout] test modules_a::elastic_body::tests::test_position ... ok [INFO] [stdout] test modules_a::elastic_body::tests::test_potential_energy_at_rest ... ok [INFO] [stdout] test modules_a::elastic_body::tests::test_potential_energy_displaced ... ok [INFO] [stdout] test modules_a::dynamic_body::tests::test_momentum ... ok [INFO] [stdout] test modules_a::elastic_body::tests::test_set_position ... ok [INFO] [stdout] test modules_a::elastic_body::tests::test_step_returns_to_rest ... ok [INFO] [stdout] test modules_a::elastic_surface::tests::test_apply_force ... ok [INFO] [stdout] test modules_a::elastic_surface::tests::test_center_of_mass ... ok [INFO] [stdout] test modules_a::elastic_surface::tests::test_new ... ok [INFO] [stdout] test modules_a::elastic_surface::tests::test_out_of_bounds ... ok [INFO] [stdout] test modules_a::elastic_surface::tests::test_position ... ok [INFO] [stdout] test modules_a::elastic_surface::tests::test_reset ... ok [INFO] [stdout] test modules_a::elastic_surface::tests::test_set_position ... ok [INFO] [stdout] test modules_a::elastic_surface::tests::test_step_at_rest ... ok [INFO] [stdout] test modules_a::elastic_surface::tests::test_step_displaced ... ok [INFO] [stdout] test modules_a::elastic_surface::tests::test_total_displacement ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_add_density ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_add_velocity ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_cell_index_formula ... ok [INFO] [stdout] test modules_a::elastic_body::tests::test_reset ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_diffuse_spreads_density ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_fluid_grid_stats ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_get_cell_mut ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_max_velocity ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_new_grid_correct_size ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_default_fluid_config ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_obstacle_blocks_density_add ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_set_obstacle ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_total_density ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_add_wave_changes_heights ... ok [INFO] [stdout] test modules_a::fluid_grid::tests::test_step_no_nan ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_at_set_round_trip ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_add_wave_far_cells_unchanged ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_dimensions_correct ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_flat_fluid_grid_total_volume ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_damping_reduces_flow ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_flow_divergence_finite ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_height_gradient_flat_zero ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_height_gradient_nonzero_near_wave ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_max_height_after_wave ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_new_is_flat ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_set_clamps_to_max_depth ... ok [INFO] [stdout] test garment_fit_v2::tests::test_fit_basic ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_step_approximately_conserves_volume ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_add_particle_id_increments ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_compute_densities_runs ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_compute_pressures_non_negative ... ok [INFO] [stdout] test modules_a::fluid_height::tests::test_step_no_nan ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_add_sph_particle ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_default_sph_config ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_enforce_sph_bounds_lower ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_new_sph_world ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_sph_kernel_poly6_larger_at_center ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_sph_kernel_poly6_positive_for_r_lt_h ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_sph_kernel_poly6_zero_for_r_ge_h ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_sph_kernel_spiky_grad_zero_for_r_ge_h ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_enforce_sph_bounds_keeps_inside ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_sph_kernel_viscosity_lap_positive ... ok [INFO] [stdout] test modules_a::force_clamp::tests::test_clamp_force_exceeds ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_sph_particle_count_multiple ... ok [INFO] [stdout] test modules_a::force_clamp::tests::test_clamp_impulse ... ok [INFO] [stdout] test modules_a::force_clamp::tests::test_clamp_torque ... ok [INFO] [stdout] test modules_a::force_clamp::tests::test_default ... ok [INFO] [stdout] test modules_a::force_clamp::tests::test_force_magnitude ... ok [INFO] [stdout] test modules_a::force_clamp::tests::test_is_clamped ... ok [INFO] [stdout] test modules_a::fluid_particle::tests::test_sph_step_no_nan ... ok [INFO] [stdout] test modules_a::force_clamp::tests::test_clamp_force_within ... ok [INFO] [stdout] test modules_a::force_clamp::tests::test_negative_max ... ok [INFO] [stdout] test modules_a::force_clamp::tests::test_new ... ok [INFO] [stdout] test modules_a::force_clamp::tests::test_zero_force ... ok [INFO] [stdout] test modules_a::force_field_radial::tests::test_force_at_center ... ok [INFO] [stdout] test modules_a::force_field_radial::tests::test_force_away_from_center ... ok [INFO] [stdout] test modules_a::force_field_radial::tests::test_inactive ... ok [INFO] [stdout] test modules_a::force_field_radial::tests::test_linear_falloff ... ok [INFO] [stdout] test modules_a::force_field_radial::tests::test_max_radius ... ok [INFO] [stdout] test modules_a::force_field_radial::tests::test_negative_strength ... ok [INFO] [stdout] test garment_fit_v2::tests::test_garment_with_seam_pairs ... ok [INFO] [stdout] test modules_a::force_field_radial::tests::test_influence_volume ... ok [INFO] [stdout] test modules_a::force_field_radial::tests::test_inverse_square_falloff ... ok [INFO] [stdout] test modules_a::force_field_radial::tests::test_set_center ... ok [INFO] [stdout] test modules_a::fracture::tests::test_apply_fracture_impulse_moves_seeds ... ok [INFO] [stdout] test modules_a::fracture::tests::test_cell_centroid_no_faces ... ok [INFO] [stdout] test modules_a::fracture::tests::test_cell_centroid_with_faces ... ok [INFO] [stdout] test modules_a::fracture::tests::test_cell_separation_impulse_unit_length ... ok [INFO] [stdout] test modules_a::fracture::tests::test_cell_volume_approx_nonnegative ... ok [INFO] [stdout] test modules_a::fracture::tests::test_fracture_mesh_no_panic ... ok [INFO] [stdout] test modules_a::fracture::tests::test_generate_voronoi_seeds_count ... ok [INFO] [stdout] test modules_a::fracture::tests::test_generate_voronoi_seeds_different_seed ... ok [INFO] [stdout] test modules_a::fracture::tests::test_generate_voronoi_seeds_in_bounds ... ok [INFO] [stdout] test modules_a::fracture::tests::test_merge_small_cells_zero_threshold ... ok [INFO] [stdout] test modules_a::fracture::tests::test_voronoi_fracture_all_tris_assigned ... ok [INFO] [stdout] test modules_a::fracture::tests::test_voronoi_fracture_cell_count ... ok [INFO] [stdout] test modules_a::fracture::tests::test_voronoi_fracture_empty_seeds ... ok [INFO] [stdout] test modules_a::friction_joint::tests::test_accumulate_force ... ok [INFO] [stdout] test modules_a::friction_joint::tests::test_anchor_distance ... ok [INFO] [stdout] test modules_a::friction_joint::tests::test_coefficients_clamp ... ok [INFO] [stdout] test modules_a::friction_joint::tests::test_dynamic_friction_high_velocity ... ok [INFO] [stdout] test modules_a::friction_joint::tests::test_friction_torque ... ok [INFO] [stdout] test modules_a::force_field_radial::tests::test_new ... ok [INFO] [stdout] test modules_a::friction_joint::tests::test_new ... ok [INFO] [stdout] test modules_a::friction_joint::tests::test_max_force_clamp ... ok [INFO] [stdout] test modules_a::fracture::tests::test_merge_small_cells_reduces_count ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_active_grain_count ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_add_grain_count ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_default_config_fields ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_grain_pile_height ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_grains_overlap_false ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_grains_overlap_true ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_pour_grains_around_center ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_pour_grains_count ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_remove_grain_found ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_remove_grain_not_found ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_resolve_grain_floor ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_resolve_grain_grain_separates ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_simulate_grain_falls_to_floor ... ok [INFO] [stdout] test modules_a::granular_sim::tests::test_total_granular_energy_at_rest ... ok [INFO] [stdout] test modules_a::gravity_model::tests::test_acceleration_earth ... ok [INFO] [stdout] test modules_a::gravity_model::tests::test_custom_down ... ok [INFO] [stdout] test modules_a::gravity_model::tests::test_disabled ... ok [INFO] [stdout] test modules_a::gravity_model::tests::test_earth ... ok [INFO] [stdout] test modules_a::gravity_model::tests::test_enable ... ok [INFO] [stdout] test modules_a::gravity_model::tests::test_force ... ok [INFO] [stdout] test modules_a::gravity_model::tests::test_moon ... ok [INFO] [stdout] test modules_a::gravity_model::tests::test_potential_energy ... ok [INFO] [stdout] test modules_a::gravity_model::tests::test_set_magnitude ... ok [INFO] [stdout] test modules_a::gravity_model::tests::test_zero ... ok [INFO] [stdout] test modules_a::gravity_well::tests::test_escape_velocity_positive ... ok [INFO] [stdout] test modules_a::gravity_well::tests::test_force_direction ... ok [INFO] [stdout] test modules_a::gravity_well::tests::test_force_magnitude_decreases_with_distance ... ok [INFO] [stdout] test modules_a::gravity_well::tests::test_inactive ... ok [INFO] [stdout] test modules_a::gravity_well::tests::test_max_distance ... ok [INFO] [stdout] test modules_a::gravity_well::tests::test_new ... ok [INFO] [stdout] test modules_a::gravity_well::tests::test_orbital_period ... ok [INFO] [stdout] test modules_a::gravity_well::tests::test_orbital_velocity ... ok [INFO] [stdout] test modules_a::gravity_well::tests::test_potential_negative ... ok [INFO] [stdout] test modules_a::gravity_well::tests::test_set_center ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_angular_momentum_asymmetric ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_angular_momentum_uniform ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_apply_gyro_torque ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_damped_gyro_update ... ok [INFO] [stdout] test modules_a::friction_joint::tests::test_reset_accumulated ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_default_config ... ok [INFO] [stdout] test modules_a::friction_joint::tests::test_with_max_torque ... ok [INFO] [stdout] test modules_a::friction_joint::tests::test_static_friction_low_velocity ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_gyro_stability_metric ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_gyro_stability_metric_zero ... ok [INFO] [stdout] test garment_fit_v2::tests::test_sdf_collision_pushes_outside ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_gyroscopic_torque_asymmetric ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_new_gyro_body ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_nutation_angle_tilted ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_precession_rate ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_precession_rate_zero_spin ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_set_angular_velocity ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_set_inertia_tensor ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_spin_energy ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_update_gyro_state ... ok [INFO] [stdout] test modules_a::hinge_limit::tests::test_anchor_axis ... ok [INFO] [stdout] test modules_a::hinge_limit::tests::test_is_at_limit ... ok [INFO] [stdout] test modules_a::hinge_limit::tests::test_limits ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_gyroscopic_torque_symmetric ... ok [INFO] [stdout] test modules_a::hinge_limit::tests::test_motor_disabled ... ok [INFO] [stdout] test modules_a::hinge_limit::tests::test_new ... ok [INFO] [stdout] test modules_a::hinge_limit::tests::test_motor_torque ... ok [INFO] [stdout] test modules_a::hinge_limit::tests::test_normalized_position ... ok [INFO] [stdout] test modules_a::hinge_limit::tests::test_range ... ok [INFO] [stdout] test modules_a::hinge_limit::tests::test_spring_torque ... ok [INFO] [stdout] test modules_a::impulse_cache_v2::tests::test_age_all ... ok [INFO] [stdout] test modules_a::hinge_limit::tests::test_step ... ok [INFO] [stdout] test modules_a::impulse_cache_v2::tests::test_capacity_eviction ... ok [INFO] [stdout] test modules_a::impulse_cache_v2::tests::test_lookup_missing ... ok [INFO] [stdout] test modules_a::impulse_cache_v2::tests::test_new ... ok [INFO] [stdout] test modules_a::impulse_cache_v2::tests::test_overwrite ... ok [INFO] [stdout] test modules_a::impulse_cache_v2::tests::test_clear ... ok [INFO] [stdout] test modules_a::impulse_cache_v2::tests::test_evict_old ... ok [INFO] [stdout] test modules_a::impulse_cache_v2::tests::test_store_lookup ... ok [INFO] [stdout] test modules_a::impulse_pair::tests::test_buffer_total_magnitude ... ok [INFO] [stdout] test modules_a::impulse_pair::tests::test_buffer ... ok [INFO] [stdout] test modules_a::impulse_pair::tests::test_from_collision ... ok [INFO] [stdout] test modules_a::impulse_cache_v2::tests::test_warm_start_factor ... ok [INFO] [stdout] test modules_a::impulse_cache_v2::tests::test_total_impulse ... ok [INFO] [stdout] test modules_a::impulse_pair::tests::test_involves ... ok [INFO] [stdout] test modules_a::impulse_pair::tests::test_impulse_for_b_negated ... ok [INFO] [stdout] test modules_a::impulse_pair::tests::test_magnitude ... ok [INFO] [stdout] test modules_a::impulse_pair::tests::test_new ... ok [INFO] [stdout] test modules_a::impulse_pair::tests::test_normal_component ... ok [INFO] [stdout] test modules_a::impulse_pair::tests::test_tangential_impulse ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_add_multiple_bodies ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_apply_impulse_to_body ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_add_impulse_body ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_compute_impulse_magnitude ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_impulse_body_by_id ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_impulse_body_by_id_not_found ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_integrate_moves_body ... ok [INFO] [stdout] test modules_a::impulse_pair::tests::test_mark_applied ... ok [INFO] [stdout] test modules_a::gyroscope::tests::test_nutation_angle_aligned ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_relative_velocity_at_contact ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_new_impulse_solver ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_resolve_impulse_contact_separates_velocities ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_remove_impulse_body ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_remove_nonexistent_body ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_sphere_sphere_contact_colliding ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_sphere_sphere_contact_separated ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_total_kinetic_energy ... ok [INFO] [stdout] test modules_a::inertia_body::tests::test_angular_momentum ... ok [INFO] [stdout] test modules_a::inertia_body::tests::test_apply_torque ... ok [INFO] [stdout] test modules_a::inertia_body::tests::test_force_at_point ... ok [INFO] [stdout] test modules_a::inertia_body::tests::test_cuboid ... ok [INFO] [stdout] test modules_a::inertia_body::tests::test_kinetic_energy ... ok [INFO] [stdout] test modules_a::inertia_body::tests::test_kinetic_energy_at_rest ... ok [INFO] [stdout] test modules_a::inertia_body::tests::test_new ... ok [INFO] [stdout] test modules_a::inertia_body::tests::test_sphere ... ok [INFO] [stdout] test modules_a::inertia_body::tests::test_apply_force_and_integrate ... ok [INFO] [stdout] test modules_a::inertia_body::tests::test_static ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::add_fixed_joint_increments_count ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::add_ball_joint_correct_type ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::add_hinge_joint_returns_correct_index ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::apply_joint_impulse_changes_velocity ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::ball_joint_no_correction_within_radius ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::break_joint_decrements_active ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::compute_chain_positions_single_body ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::compute_chain_positions_connected ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::constraint_energy_nonzero_when_separated ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::joint_violation_zero_at_origin ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::new_solver_sizes ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::solve_constraints_reduces_violation ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_add_joint_index ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::joint_violation_nonzero_when_separated ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::constraint_energy_zero_at_origin ... ok [INFO] [stdout] test modules_a::joint_constraint::tests::count_active_joints_all_active ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_compliance_zero_rigid ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_hinge_angle_zero_identical ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_hinge_solve_with_limits ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_joint_kind_variants ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_joint_system_new ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_joint_violation_nonzero_separated ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_joint_violation_zero_coincide ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_motor_disabled_no_change ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_apply_motor_force_along_axis ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_motor_enabled_changes_velocity ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_ball_socket_reduces_violation ... ok [INFO] [stdout] test garment_fit_v2::tests::test_fit_with_pinned_vertices ... ok [INFO] [stdout] test modules_a::impulse_solver::tests::test_body_inv_mass ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_slider_reduces_lateral_violation ... ok [INFO] [stdout] test modules_a::joint_motor_drive::tests::test_at_target ... ok [INFO] [stdout] test modules_a::joint_motor_drive::tests::test_disabled ... ok [INFO] [stdout] test modules_a::joint_motor_drive::tests::test_max_force_clamp ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_solve_joints_no_nan ... ok [INFO] [stdout] test modules_a::joint_motor::tests::test_standard_biped_joints_count ... ok [INFO] [stdout] test modules_a::joint_motor_drive::tests::test_compute_force_position_at_target ... ok [INFO] [stdout] test modules_a::joint_motor_drive::tests::test_set_target ... ok [INFO] [stdout] test modules_a::joint_motor_drive::tests::test_velocity_drive ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::aabb_of_sphere_body ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::add_body_increments_count ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::add_body_returns_unique_ids ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::bodies_overlap_false ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::bodies_overlap_true ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::enabled_count ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::get_body_returns_none_for_invalid_id ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::move_body_updates_position ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::move_body_updates_velocity ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::remove_body_returns_true ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::remove_nonexistent_body_returns_false ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::set_layer_mask_updates ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::sphere_contact_not_overlapping ... ok [INFO] [stdout] test modules_a::kinematic_body::tests::sphere_contact_overlapping ... ok [INFO] [stdout] test modules_a::kinematic_target::tests::test_activate_deactivate ... ok [INFO] [stdout] test modules_a::kinematic_target::tests::test_distance_to_target ... ok [INFO] [stdout] test modules_a::kinematic_target::tests::test_interpolate_inactive ... ok [INFO] [stdout] test modules_a::kinematic_target::tests::test_interpolate_pos ... ok [INFO] [stdout] test modules_a::kinematic_target::tests::test_is_at_target ... ok [INFO] [stdout] test modules_a::kinematic_target::tests::test_new ... ok [INFO] [stdout] test modules_a::kinematic_target::tests::test_required_velocity ... ok [INFO] [stdout] test modules_a::joint_motor_drive::tests::test_target_angle_deg ... ok [INFO] [stdout] test modules_a::joint_motor_drive::tests::test_compute_force_position_error ... ok [INFO] [stdout] test modules_a::joint_motor_drive::tests::test_compute_force_velocity ... ok [INFO] [stdout] test modules_a::kinematic_target::tests::test_required_velocity_zero_dt ... ok [INFO] [stdout] test modules_a::kinematic_target::tests::test_set_target_pos ... ok [INFO] [stdout] test modules_a::kinematic_target::tests::test_with_rotation ... ok [INFO] [stdout] test modules_a::mass_distribution::tests::test_density_sphere ... ok [INFO] [stdout] test modules_a::mass_distribution::tests::test_inv_inertia ... ok [INFO] [stdout] test modules_a::mass_distribution::tests::test_inv_mass ... ok [INFO] [stdout] test modules_a::mass_distribution::tests::test_inv_mass_static ... ok [INFO] [stdout] test modules_a::mass_distribution::tests::test_negative_mass_clamped ... ok [INFO] [stdout] test modules_a::mass_distribution::tests::test_point_mass ... ok [INFO] [stdout] test modules_a::mass_distribution::tests::test_solid_box ... ok [INFO] [stdout] test modules_a::mass_distribution::tests::test_solid_cylinder ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_default_pid_params ... ok [INFO] [stdout] test modules_a::mass_distribution::tests::test_solid_sphere ... ok [INFO] [stdout] test modules_a::mass_distribution::tests::test_translate_inertia ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_add_motor_to_bank ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_motor_count ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_motor_update_disabled ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_enable_disable_motor ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_get_motor ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_motor_update_enabled ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_new_motor_bank_empty ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_proportional_controller ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_reset_pid ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_advance_ocean_advances_time ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_pid_update_output_limit ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_pid_update_proportional ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_set_motor_target ... ok [INFO] [stdout] test modules_a::motor_controller::tests::test_update_all_motors ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_default_config_gravity ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_gerstner_foam_mask_range ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_gerstner_phase_speed_positive ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_default_config_has_waves ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_gerstner_displacement_at_origin_t0 ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_new_ocean_surface_time_zero ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_ocean_height_at_finite ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_sample_ocean_grid_count ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_ocean_normal_unit_length ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_ocean_normal_z_positive ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_ocean_height_varies_with_position ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_sample_ocean_grid_resolution_1 ... ok [INFO] [stdout] test modules_a::ocean_waves::tests::test_wave_frequency_positive ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_disabled_emitter_no_spawn ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_alive_emitter_count ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_clear_emitter_particles ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_default_emitter_config ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_emitter_point_position_sphere ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_emitter_total_spawned ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_emitter_particle_count ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_emit_burst ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_new_emitter ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_enable_disable_emitter ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_particle_age_fraction_clamped ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_particles_expire_over_time ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_particle_age_fraction_zero ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_spawn_particle_fields ... ok [INFO] [stdout] test modules_a::particle_emitter::tests::test_update_spawns_particles ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_count_expired_slots_initially_all ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_emit_particle_activates_slot ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_box_emitter_spawn ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_cone_emitter_spawn ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_emit_particle_returns_false_when_full ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_lerp_particle_color_returns_valid ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_new_particle_system_all_inactive ... ok [INFO] [stdout] test modules_a::joint_motor_drive::tests::test_position_drive ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_particle_age_fraction_half ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_particle_expires ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_particle_system_bounds_no_active ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_particle_system_bounds_with_active ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_new_particle_system_capacity ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_sphere_emitter_spawn ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_reset_particle_system ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_step_particle_system_emits_particles ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_set_emitter_position ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_step_particle_system_integrates_position ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::add_constraint_stores_correctly ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::add_particle_returns_correct_index ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::kinetic_energy_positive_after_fall ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::ground_plane_prevents_going_below_y ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::kinetic_energy_zero_for_static_particles ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::new_simulation_empty ... ok [INFO] [stdout] test modules_a::particle_system::tests::test_particle_age_fraction_new ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::pbd_config_default_values ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::ground_plane_bounce_positive_velocity ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::pinned_count_for_rope ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::cloth_grid_creates_correct_particle_count ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::solve_distance_pbd_static_particle_unaffected ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::step_does_not_produce_nan ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::solve_distance_pbd_shrinks_overstretched ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::rope_has_n_minus_1_distance_constraints ... ok [INFO] [stdout] test modules_a::plane_collider::tests::test_ground ... ok [INFO] [stdout] test modules_a::pbd_solver::tests::total_particle_count_matches_added ... ok [INFO] [stdout] test modules_a::plane_collider::tests::test_project_point ... ok [INFO] [stdout] test modules_a::plane_collider::tests::test_reflect_velocity_no_bounce ... ok [INFO] [stdout] test modules_a::plane_collider::tests::test_signed_distance_above ... ok [INFO] [stdout] test modules_a::plane_collider::tests::test_penetration_depth ... ok [INFO] [stdout] test modules_a::plane_collider::tests::test_wall_x ... ok [INFO] [stdout] test modules_a::plane_collider::tests::test_reflect_velocity ... ok [INFO] [stdout] test modules_a::plane_collider::tests::test_with_friction ... ok [INFO] [stdout] test modules_a::plane_collider::tests::test_signed_distance_below ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_compute_enclosed_volume_positive ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_apply_pressure_forces_accumulates ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_deflate_clamp_zero ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_compute_enclosed_volume_cube ... ok [INFO] [stdout] test modules_a::plane_collider::tests::test_is_penetrating ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_inflate_deflate ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_default_pressure_config ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_pressure_body_vertex_count_after_build ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_new_pressure_body_vertex_count ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_pressure_body_volume_changes_after_step ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_pressure_force_on_triangle_outward ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_pressure_force_scales_with_pressure ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_sample_pressure_triangle ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_pressure_energy_nonnegative ... ok [INFO] [stdout] test modules_a::pulley_joint::tests::test_compute_correction ... ok [INFO] [stdout] test modules_a::pulley_joint::tests::test_constraint_error_satisfied ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_set_pressure ... ok [INFO] [stdout] test modules_a::pressure_force::tests::test_update_pressure_body_moves_vertices ... ok [INFO] [stdout] test modules_a::pulley_joint::tests::test_constraint_error_violated ... ok [INFO] [stdout] test modules_a::pulley_joint::tests::test_is_satisfied ... ok [INFO] [stdout] test modules_a::pulley_joint::tests::test_length_a_clamped ... ok [INFO] [stdout] test modules_a::pulley_joint::tests::test_current_lengths ... ok [INFO] [stdout] test modules_a::pulley_joint::tests::test_ground_anchors ... ok [INFO] [stdout] test modules_a::pulley_joint::tests::test_with_ratio ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_add_bone_count ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_add_joint_count ... ok [INFO] [stdout] test modules_a::pulley_joint::tests::test_new ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_activate_deactivate ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_default_humanoid_bone_ids_sequential ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_apply_impulse_to_bone ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_default_humanoid_has_15_bones ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_get_ragdoll_bone_found ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_new_ragdoll_empty ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_default_humanoid_joints_reference_valid_bones ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_get_ragdoll_bone_not_found ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_ragdoll_center_of_mass ... ok [INFO] [stdout] test modules_a::pulley_joint::tests::test_length_a_for_b ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_simulate_ragdoll_inactive_no_move ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_ragdoll_total_mass ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_simulate_ragdoll_active_falls ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_apply_force_changes_velocity ... ok [INFO] [stdout] test modules_a::ragdoll::tests::test_ragdoll_center_of_mass_empty ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_apply_impulse_at_point_linear ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_angular_momentum_non_zero ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_inertia_box_diagonal ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_apply_impulse_changes_velocity ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_inertia_sphere_formula ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_apply_torque_changes_angular_velocity ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_apply_torque_impulse_changes_angular_velocity ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_integrate_position_moves ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_default_rigid_body_config_gravity ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_integrate_orientation_changes ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_kinetic_energy_rb_positive ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_integrate_rigid_body_applies_gravity ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_linear_momentum_moving_body ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_kinetic_energy_positive_after_fall ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_linear_momentum_static_body ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_new_box_inv_mass ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_quat_from_axis_angle_half_turn ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_new_capsule_inv_mass ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_new_rigid_body_restitution ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_quat_multiply_inverse ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_new_sphere_inv_mass ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_quat_from_axis_angle_zero_axis ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_quat_multiply_identity ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_quat_normalize_unit_length ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_rigid_body_aabb_min_lt_max ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_rigid_body_angular_velocity_accessor ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_rigid_body_velocity_accessor ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_set_inertia_tensor_updates ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_set_mass_updates_inv_mass ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_static_body_unaffected_by_force ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_add_cloth_quad ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_add_rope_segment_constraints ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_apply_gravity_free_particle ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_add_rope_segment_count ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_quat_normalize_near_zero ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_apply_gravity_pinned_unchanged ... ok [INFO] [stdout] test modules_a::rigid_body::tests::test_reset_rigid_body_zeros_state ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_default_config ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_new_body_empty ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_cloth_quad_count ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_pin_unpin ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_pinned_particle_does_not_move ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_rope_cloth_energy_positive ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_rope_segment_count ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_rope_cloth_particle_count_combined ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_update_rope_cloth_drops ... ok [INFO] [stdout] test modules_a::rope_sim::tests::apply_impulse_changes_velocity ... ok [INFO] [stdout] test modules_a::rope_cloth::tests::test_reset_rope_cloth ... ok [INFO] [stdout] test modules_a::rope_sim::tests::pin_unpin_particle ... ok [INFO] [stdout] test modules_a::rope_sim::tests::rope_end_position_initial ... ok [INFO] [stdout] test modules_a::rope_sim::tests::attach_rope_end_pins_last ... ok [INFO] [stdout] test modules_a::rope_sim::tests::new_rope_first_pinned ... ok [INFO] [stdout] test modules_a::rope_sim::tests::new_rope_particle_count ... ok [INFO] [stdout] test modules_a::rope_sim::tests::new_rope_segment_count ... ok [INFO] [stdout] test modules_a::rope_sim::tests::rope_energy_pinned_only_is_zero ... ok [INFO] [stdout] test modules_a::rope_sim::tests::rope_length_correct ... ok [INFO] [stdout] test modules_a::rope_sim::tests::step_rope_free_particle_moves ... ok [INFO] [stdout] test modules_a::rope_sim::tests::rope_sag_straight_rope_is_zero ... ok [INFO] [stdout] test modules_a::rope_sim::tests::rope_tension_at_rest ... ok [INFO] [stdout] test modules_a::rope_sim::tests::rope_to_polyline_length ... ok [INFO] [stdout] test modules_a::rope_sim::tests::rope_sag_after_steps_increases ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_apply_shape_matching_at_rest ... ok [INFO] [stdout] test modules_a::rope_sim::tests::step_rope_pinned_stays_fixed ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_compute_apq_at_rest ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_body_volume_estimate ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_compute_com_empty ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_body_volume_estimate_empty ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_compute_com_uniform ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_apply_shape_matching_deformed ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_deformation_energy_deformed ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_mat3_mul_identity ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_default_shape_matching_config ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_deformation_energy_at_rest ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_polar_extract_rotation_identity ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_reset_to_rest ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_shape_matching_particle_count ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_set_particle_mass_out_of_range ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_set_particle_mass ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_constraint_count_multiple ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_shape_matching_stiffness ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_add_constraint ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_add_particle ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_enable_disable_constraint ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_default_soft_constraint_config ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_disabled_constraint_not_solved ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_new_soft_constraint_bodies ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_set_soft_damping ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_particle_count_multiple ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_set_soft_stiffness ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_new_soft_world ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_soft_constraint_error_at_rest ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_soft_constraint_error_stretched ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_soft_constraint_is_satisfied_false ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_soft_constraint_is_satisfied_true ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_soft_constraint_potential_energy_at_rest ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_soft_constraint_potential_energy_stretched ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_soft_constraint_rest_length ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_new_shape_matching_body ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_solve_soft_distance_reduces_violation ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_soft_constraint_force_direction ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_solve_soft_plane ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_solve_soft_point ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_step_world_applies_gravity ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_total_energy_nonzero_when_stretched ... ok [INFO] [stdout] test modules_a::soft_constraint::tests::test_total_energy_zero_at_rest ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_clear_grid ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_default_config ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_grid_stats ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_hash_position ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_insert_aabb ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_negative_coordinates ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_insert_different_cells ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_insert_multiple_same_cell ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_insert_point ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_query_point_found ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_new_spatial_hash ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_query_aabb ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_query_point_not_found ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_query_radius ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::add_particle_returns_correct_index ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::average_density_positive_after_init ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_rebuild_grid ... ok [INFO] [stdout] test modules_a::spatial_hash::tests::test_remove_entry ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::compute_density_single_particle_equals_mass_times_w0 ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::compute_pressure_formula ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::kernel_poly6_beyond_h_is_zero ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::kernel_poly6_at_r0_positive ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::kernel_spiky_grad_direction_away_from_neighbour ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::kernel_spiky_grad_zero_beyond_h ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::particle_count_correct ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::sph_system_new_empty ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_add_spring ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_default_config ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_new_spring_damper ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_new_system ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_pinned_particle_stays_put ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::kernel_poly6_at_r_eq_h_is_zero ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_remove_spring ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_reset_spring_system ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_set_spring_stiffness ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_set_spring_damping ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_spring_energy_at_rest ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_spring_energy_stretched ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_spring_force_at_rest ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_spring_extension_at_rest ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_spring_force_compressed ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_spring_force_stretched ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_update_system_at_rest ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_total_system_energy ... ok [INFO] [stdout] test modules_a::spring_damper::tests::test_update_system_stretched ... ok [INFO] [stdout] test modules_a::spring_network::tests::add_node_increments_count ... ok [INFO] [stdout] test modules_a::spring_network::tests::add_spring_increments_count ... ok [INFO] [stdout] test modules_a::spring_network::tests::apply_impulse_changes_velocity ... ok [INFO] [stdout] test modules_a::spring_network::tests::clamp_velocities_caps_speed ... ok [INFO] [stdout] test modules_a::spring_network::tests::count_pinned_correct ... ok [INFO] [stdout] test modules_a::spring_network::tests::grid_network_node_count ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::compute_pressure_at_rest_density_is_zero ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::kernel_viscosity_lap_max_at_r0 ... ok [INFO] [stdout] test modules_a::spring_network::tests::network_energy_increases_after_extension ... ok [INFO] [stdout] test modules_a::spring_network::tests::network_bounding_box_correct ... ok [INFO] [stdout] test modules_a::spring_network::tests::network_energy_nonneg ... ok [INFO] [stdout] test modules_a::shape_matching::tests::test_polar_extract_rotation_singular ... ok [INFO] [stdout] test modules_a::sph_proxy::tests::step_does_not_produce_nan ... ok [INFO] [stdout] test modules_a::spring_network::tests::step_changes_position_of_free_node ... ok [INFO] [stdout] test modules_a::spring_network::tests::pinned_nodes_dont_move ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::add_sphere_trigger_and_query ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::enabled_trigger_count_correct ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::enter_count_increments ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::get_trigger_by_id ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::point_in_aabb_inside ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::point_in_aabb_outside ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::point_in_capsule_in_end_cap ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::point_in_capsule_inside_cylinder ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::point_in_capsule_outside ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::point_in_sphere_inside ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::point_in_sphere_outside ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::point_on_sphere_surface ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::query_outside_trigger ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::remove_nonexistent_trigger ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::remove_trigger_returns_true ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::sphere_volume_positive ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_add_and_remove_wind_zone ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_apply_wind_to_particles ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_default_wind_config ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_new_wind_zone_default_direction_for_zero ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_new_wind_zone_normalises_direction ... ok [INFO] [stdout] test modules_a::spring_network::tests::spring_extension_at_rest_is_zero ... ok [INFO] [stdout] test modules_a::spring_network::tests::spring_force_zero_at_rest_length ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_remove_wind_zone_out_of_bounds ... ok [INFO] [stdout] test modules_a::spring_network::tests::spring_force_nonzero_when_extended ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_wind_at_point_center_max_speed ... ok [INFO] [stdout] test modules_a::trigger_zone::tests::aabb_volume_correct ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_turbulence_offset_deterministic ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_update_wind_time ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_wind_direction_degrees_east ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_wind_direction_degrees_north ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_wind_drag_force_positive ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_wind_at_point_inside_zone ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_wind_at_point_outside_zone ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_wind_gust_factor_at_zero_time ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_wind_lift_force_perpendicular ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_wind_speed_fn ... ok [INFO] [stdout] test modules_a::xpbd_solver::solver_tests::test_add_distance_constraint ... ok [INFO] [stdout] test modules_a::xpbd_solver::solver_tests::test_add_particle_returns_index ... ok [INFO] [stdout] test modules_a::xpbd_solver::solver_tests::test_default_config_gravity ... ok [INFO] [stdout] test modules_a::xpbd_solver::solver_tests::test_distance_constraint_enforced ... ok [INFO] [stdout] test modules_a::xpbd_solver::solver_tests::test_new_solver_is_empty ... ok [INFO] [stdout] test modules_a::xpbd_solver::solver_tests::test_particle_falls_with_gravity ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_wind_drag_force_still_air ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_turbulence_offset_zero_intensity ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_add_bend_constraint ... ok [INFO] [stdout] test modules_a::xpbd_solver::solver_tests::test_reset_clears_velocity ... ok [INFO] [stdout] test modules_a::xpbd_solver::solver_tests::test_pinned_particle_does_not_move ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_add_distance_constraint ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_new_world_is_empty ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_constraint_count_function ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_add_particle_increments_count ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_pin_particle ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_particle_count_function ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_predict_positions_pinned_particle_does_not_move ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_reset_lambdas ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_predict_positions_moves_particle ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_unpin_particle ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_solve_distance_constraint_moves_particles ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_xpbd_step_falls_with_gravity ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_xpbd_total_energy_after_step ... ok [INFO] [stdout] test modules_a::xpbd_solver::tests::test_update_velocities ... ok [INFO] [stdout] test modules_b::aerial_body::tests::drag_positive_at_speed ... ok [INFO] [stdout] test modules_b::aerial_body::tests::dynamic_pressure_with_speed ... ok [INFO] [stdout] test modules_b::aerial_body::tests::kinetic_energy_positive ... ok [INFO] [stdout] test modules_b::aerial_body::tests::gravity_pulls_down ... ok [INFO] [stdout] test modules_a::wind_field::tests::test_wind_zone_count_empty ... ok [INFO] [stdout] test modules_a::xpbd_solver::solver_tests::test_zero_mass_particle_is_pinned ... ok [INFO] [stdout] test modules_b::aerial_body::tests::angle_of_attack_zero_parallel ... ok [INFO] [stdout] test modules_b::aerial_body::tests::dynamic_pressure_at_rest_is_zero ... ok [INFO] [stdout] test modules_b::aerial_body::tests::lift_positive_at_speed ... ok [INFO] [stdout] test modules_b::aerial_body::tests::step_changes_position ... ok [INFO] [stdout] test modules_b::angular_motor::tests::test_angle_diff_wrap ... ok [INFO] [stdout] test modules_b::angular_motor::tests::test_critical_damping ... ok [INFO] [stdout] test modules_b::angular_motor::tests::test_set_target ... ok [INFO] [stdout] test modules_b::angular_motor::tests::test_at_target ... ok [INFO] [stdout] test modules_b::angular_motor::tests::test_kinetic_energy ... ok [INFO] [stdout] test modules_b::angular_motor::tests::test_torque_direction ... ok [INFO] [stdout] test modules_b::angular_motor::tests::test_wrap_angle ... ok [INFO] [stdout] test modules_b::angular_motor::tests::test_torque_clamped ... ok [INFO] [stdout] test modules_b::atmosphere_body::tests::body_gravity_pulls_down ... ok [INFO] [stdout] test modules_b::atmosphere_body::tests::body_layer_troposphere ... ok [INFO] [stdout] test modules_b::atmosphere_body::tests::density_positive ... ok [INFO] [stdout] test modules_b::atmosphere_body::tests::mach_one_at_sound_speed ... ok [INFO] [stdout] test modules_b::atmosphere_body::tests::potential_energy_proportional_to_altitude ... ok [INFO] [stdout] test modules_b::atmosphere_body::tests::pressure_decreases_with_altitude ... ok [INFO] [stdout] test modules_b::atmosphere_body::tests::sea_level_pressure ... ok [INFO] [stdout] test modules_b::atmosphere_body::tests::sea_level_temperature ... ok [INFO] [stdout] test modules_b::atmosphere_body::tests::speed_of_sound_positive ... ok [INFO] [stdout] test modules_b::atmosphere_body::tests::temperature_decreases_with_altitude ... ok [INFO] [stdout] test modules_b::body_collision_group::tests::test_add_remove_layer ... ok [INFO] [stdout] test modules_b::body_collision_group::tests::test_asymmetric_no_collide ... ok [INFO] [stdout] test modules_b::body_collision_group::tests::test_enable_disable_filter ... ok [INFO] [stdout] test modules_b::body_collision_group::tests::test_ghost_no_collide ... ok [INFO] [stdout] test modules_b::body_collision_group::tests::test_groups_collide_default ... ok [INFO] [stdout] test modules_b::body_collision_group::tests::test_in_layer_boundary ... ok [INFO] [stdout] test modules_b::body_collision_group::tests::test_layer_count ... ok [INFO] [stdout] test modules_b::body_collision_group::tests::test_layer_isolation ... ok [INFO] [stdout] test modules_b::body_collision_group::tests::test_merge ... ok [INFO] [stdout] test modules_b::aerial_body::tests::speed_computation ... ok [INFO] [stdout] test modules_b::broad_phase_pair::tests::test_broad_phase_naive ... ok [INFO] [stdout] test modules_b::aerial_body::tests::stall_angle_is_15_degrees ... ok [INFO] [stdout] test modules_b::angular_motor::tests::test_motor_step_moves_toward_target ... ok [INFO] [stdout] test modules_b::broad_phase_pair::tests::test_center ... ok [INFO] [stdout] test modules_b::broad_phase_pair::tests::test_no_self_pair ... ok [INFO] [stdout] test modules_b::broad_phase_pair::tests::test_expand ... ok [INFO] [stdout] test modules_b::broad_phase_pair::tests::test_overlap_false ... ok [INFO] [stdout] test modules_b::broad_phase_pair::tests::test_merge ... ok [INFO] [stdout] test modules_b::broad_phase_pair::tests::test_canonical_pair ... ok [INFO] [stdout] test modules_b::buoyant_body::tests::above_surface_not_submerged ... ok [INFO] [stdout] test modules_b::buoyant_body::tests::below_surface_submerged ... ok [INFO] [stdout] test modules_b::buoyant_body::tests::buoyancy_force_upward ... ok [INFO] [stdout] test modules_b::buoyant_body::tests::heavy_body_sinks ... ok [INFO] [stdout] test modules_b::buoyant_body::tests::equilibrium_depth_reasonable ... ok [INFO] [stdout] test modules_b::buoyant_body::tests::step_increments_steps ... ok [INFO] [stdout] test modules_b::broad_phase_pair::tests::test_volume ... ok [INFO] [stdout] test modules_b::buoyant_body::tests::reset_zeroes ... ok [INFO] [stdout] test modules_b::buoyant_body::tests::light_body_floats ... ok [INFO] [stdout] test modules_b::broad_phase_pair::tests::test_overlap_true ... ok [INFO] [stdout] test modules_b::buoyant_body::tests::time_advances ... ok [INFO] [stdout] test modules_b::cable_body::tests::fixed_particle_does_not_move ... ok [INFO] [stdout] test modules_b::buoyant_body::tests::weight_matches_gravity ... ok [INFO] [stdout] test modules_b::cable_body::tests::constraints_preserve_approx_length ... ok [INFO] [stdout] test modules_b::cable_body::tests::new_cable_has_correct_particle_count ... ok [INFO] [stdout] test modules_b::cable_body::tests::segment_length_computation ... ok [INFO] [stdout] test modules_b::cable_body::tests::non_first_particles_are_free ... ok [INFO] [stdout] test modules_b::cable_body::tests::single_particle_cable ... ok [INFO] [stdout] test modules_b::capsule_pair::tests::capsule_length ... ok [INFO] [stdout] test modules_b::cable_body::tests::step_moves_free_particles ... ok [INFO] [stdout] test modules_b::capsule_pair::tests::capsule_pair_no_overlap_far ... ok [INFO] [stdout] test modules_b::capsule_pair::tests::capsule_pair_overlap_touching ... ok [INFO] [stdout] test modules_b::capsule_pair::tests::capsule_pair_normal_unit_length ... ok [INFO] [stdout] test modules_b::capsule_pair::tests::capsule_pair_penetration_positive_when_overlap ... ok [INFO] [stdout] test modules_b::capsule_pair::tests::closest_point_clamped_end ... ok [INFO] [stdout] test modules_b::capsule_pair::tests::closest_point_clamped_start ... ok [INFO] [stdout] test modules_b::capsule_pair::tests::closest_point_midpoint ... ok [INFO] [stdout] test modules_b::capsule_pair::tests::parallel_capsules_sq_dist ... ok [INFO] [stdout] test modules_b::capsule_ray::tests::test_closest_t_on_segment ... ok [INFO] [stdout] test modules_b::capsule_ray::tests::test_degenerate_capsule_sphere_hit ... ok [INFO] [stdout] test modules_b::capsule_ray::tests::test_hit_cap_sphere ... ok [INFO] [stdout] test modules_b::capsule_ray::tests::test_hit_cylinder_body ... ok [INFO] [stdout] test modules_b::capsule_ray::tests::test_hit_returns_positive_t ... ok [INFO] [stdout] test modules_b::capsule_ray::tests::test_miss ... ok [INFO] [stdout] test modules_b::capsule_ray::tests::test_normalise ... ok [INFO] [stdout] test modules_b::capsule_ray::tests::test_ray_behind ... ok [INFO] [stdout] test modules_b::capsule_ray::tests::test_surface_area ... ok [INFO] [stdout] test modules_b::centrifugal_body::tests::centrifugal_force_moves_body_outward ... ok [INFO] [stdout] test modules_b::cable_body::tests::current_length_matches_sum_of_segments ... ok [INFO] [stdout] test modules_b::centrifugal_body::tests::kinetic_energy_non_negative ... ok [INFO] [stdout] test modules_b::centrifugal_body::tests::centrifugal_outward ... ok [INFO] [stdout] test modules_b::cable_body::tests::initial_total_length ... ok [INFO] [stdout] test modules_b::centrifugal_body::tests::centrifugal_zero_at_origin ... ok [INFO] [stdout] test modules_b::cable_body::tests::first_particle_is_fixed ... ok [INFO] [stdout] test modules_b::centrifugal_body::tests::coriolis_perpendicular ... ok [INFO] [stdout] test modules_b::centrifugal_body::tests::reset_zeroes ... ok [INFO] [stdout] test modules_b::cloth_constraint::tests::test_bend_angle_flat ... ok [INFO] [stdout] test modules_b::centrifugal_body::tests::step_count ... ok [INFO] [stdout] test modules_b::centrifugal_body::tests::time_advances ... ok [INFO] [stdout] test garment_fit_v2::tests::test_fit_with_self_collision ... ok [INFO] [stdout] test modules_b::centrifugal_body::tests::radius_computed ... ok [INFO] [stdout] test modules_b::centrifugal_body::tests::omega_converts_from_rpm ... ok [INFO] [stdout] test modules_b::cloth_constraint::tests::test_stiffness_from_compliance ... ok [INFO] [stdout] test modules_b::cloth_constraint::tests::test_delta_equal_weights ... ok [INFO] [stdout] test modules_b::cloth_constraint::tests::test_dist_constraint_violation_positive ... ok [INFO] [stdout] test modules_b::cloth_constraint::tests::test_dist_constraint_violation_zero ... ok [INFO] [stdout] test modules_b::cloth_constraint::tests::test_flat_rest_angle ... ok [INFO] [stdout] test modules_b::cloth_constraint::tests::test_zero_compliance_infinite_stiffness ... ok [INFO] [stdout] test modules_b::collision_event_log::tests::average_impulse ... ok [INFO] [stdout] test modules_b::collision_event_log::tests::capacity_ring_buffer ... ok [INFO] [stdout] test modules_b::collision_event_log::tests::filter_by_frame ... ok [INFO] [stdout] test modules_b::collision_event_log::tests::filter_by_body ... ok [INFO] [stdout] test modules_b::collision_event_log::tests::clear_empties_log ... ok [INFO] [stdout] test modules_b::collision_event_log::tests::max_impulse ... ok [INFO] [stdout] test modules_b::collision_event_log::tests::new_log_empty ... ok [INFO] [stdout] test modules_b::collision_event_log::tests::record_adds_event ... ok [INFO] [stdout] test modules_b::collision_event_log::tests::total_recorded_tracks_all ... ok [INFO] [stdout] test modules_b::collision_normal::tests::test_normal_box_point_left_face ... ok [INFO] [stdout] test modules_b::collision_event_log::tests::trigger_count ... ok [INFO] [stdout] test modules_b::collision_normal::tests::test_flip_normal ... ok [INFO] [stdout] test modules_b::collision_normal::tests::test_is_valid_normal_not_unit ... ok [INFO] [stdout] test modules_b::collision_normal::tests::test_normal_sphere_coincident_fallback ... ok [INFO] [stdout] test modules_b::collision_normal::tests::test_normal_dot_parallel ... ok [INFO] [stdout] test modules_b::collision_normal::tests::test_normal_dot_perpendicular ... ok [INFO] [stdout] test modules_b::collision_normal::tests::test_normal_sphere_sphere_direction ... ok [INFO] [stdout] test modules_b::cone_body::tests::test_centroid_height ... ok [INFO] [stdout] test modules_b::cloth_constraint::tests::test_delta_direction ... ok [INFO] [stdout] test modules_b::cloth_constraint::tests::test_dist_satisfied ... ok [INFO] [stdout] test modules_b::cone_body::tests::test_integrate ... ok [INFO] [stdout] test modules_b::collision_normal::tests::test_is_valid_normal_unit ... ok [INFO] [stdout] test modules_b::cone_body::tests::test_apply_impulse ... ok [INFO] [stdout] test modules_b::collision_normal::tests::test_normal_sphere_sphere_unit_length ... ok [INFO] [stdout] test modules_b::cone_body::tests::test_inertia_axial_positive ... ok [INFO] [stdout] test modules_b::cone_body::tests::test_kinetic_energy ... ok [INFO] [stdout] test modules_b::cone_body::tests::test_volume ... ok [INFO] [stdout] test modules_b::cone_limit::tests::angle_to_axis_90_for_perpendicular ... ok [INFO] [stdout] test modules_b::cone_limit::tests::angle_within_deg_basic ... ok [INFO] [stdout] test modules_b::cone_limit::tests::axis_direction_within_cone ... ok [INFO] [stdout] test modules_b::cone_limit::tests::clamp_to_cone_moves_outside_in ... ok [INFO] [stdout] test modules_b::cone_limit::tests::clamp_to_cone_no_change_inside ... ok [INFO] [stdout] test modules_b::cone_limit::tests::corrective_torque_zero_inside_cone ... ok [INFO] [stdout] test modules_b::cone_limit::tests::cone_solid_angle_half_sphere ... ok [INFO] [stdout] test modules_b::cone_limit::tests::corrective_torque_nonzero_outside ... ok [INFO] [stdout] test modules_b::cone_limit::tests::perpendicular_outside_45deg_cone ... ok [INFO] [stdout] test modules_b::constraint_graph::tests::add_returns_id ... ok [INFO] [stdout] test modules_b::constraint_graph::tests::add_increments_count ... ok [INFO] [stdout] test modules_b::constraint_graph::tests::body_degree ... ok [INFO] [stdout] test modules_b::constraint_graph::tests::constraints_for_body ... ok [INFO] [stdout] test modules_b::constraint_graph::tests::clear_removes_all ... ok [INFO] [stdout] test modules_b::constraint_graph::tests::new_graph_empty ... ok [INFO] [stdout] test modules_b::constraint_graph::tests::enable_disable ... ok [INFO] [stdout] test modules_b::constraint_graph::tests::get_existing_edge ... ok [INFO] [stdout] test modules_b::constraint_graph::tests::remove_existing ... ok [INFO] [stdout] test modules_b::constraint_graph::tests::remove_missing_returns_false ... ok [INFO] [stdout] test modules_b::contact_island::tests::test_double_union_no_change ... ok [INFO] [stdout] test modules_b::contact_island::tests::test_island_size ... ok [INFO] [stdout] test modules_b::contact_island::tests::test_labels_same_group ... ok [INFO] [stdout] test modules_b::contact_island::tests::test_labels_distinct ... ok [INFO] [stdout] test modules_b::contact_island::tests::test_same_island_after_union ... ok [INFO] [stdout] test modules_b::contact_island::tests::test_single_body_own_island ... ok [INFO] [stdout] test modules_b::contact_island::tests::test_transitive_island ... ok [INFO] [stdout] test modules_b::cone_body::tests::test_surface_area_sphere_limit ... ok [INFO] [stdout] test modules_b::cone_body::tests::test_transverse_centroid_less_than_apex ... ok [INFO] [stdout] test modules_b::contact_island::tests::test_union_reduces_count ... ok [INFO] [stdout] test modules_b::contact_resolver::tests::double_static_no_resolution ... ok [INFO] [stdout] test modules_b::contact_resolver::tests::dynamic_body_not_static ... ok [INFO] [stdout] test modules_b::contact_resolver::tests::no_resolution_when_separating ... ok [INFO] [stdout] test modules_b::contact_resolver::tests::positional_correction_moves_bodies ... ok [INFO] [stdout] test modules_b::contact_resolver::tests::relative_normal_velocity_approaching ... ok [INFO] [stdout] test modules_b::contact_resolver::tests::resolve_bouncing_contact ... ok [INFO] [stdout] test modules_b::contact_resolver::tests::static_body_has_zero_inv_mass ... ok [INFO] [stdout] test modules_b::coriolis_body::tests::coriolis_param_nonzero_at_pole ... ok [INFO] [stdout] test modules_b::coriolis_body::tests::coriolis_param_zero_at_equator ... ok [INFO] [stdout] test modules_b::coriolis_body::tests::external_force_moves_body ... ok [INFO] [stdout] test modules_b::contact_resolver::tests::equal_mass_collision_exchanges_velocity ... ok [INFO] [stdout] test modules_b::coriolis_body::tests::kinetic_energy_non_negative ... ok [INFO] [stdout] test modules_b::contact_resolver::tests::combined_restitution_takes_min ... ok [INFO] [stdout] test modules_b::cone_limit::tests::angle_to_axis_zero_for_same_direction ... ok [INFO] [stdout] test modules_b::coriolis_body::tests::latitude_converts_from_deg ... ok [INFO] [stdout] test modules_b::coriolis_body::tests::southward_motion_deflects_left_nh ... ok [INFO] [stdout] test modules_b::coriolis_body::tests::northward_motion_deflects_right_nh ... ok [INFO] [stdout] test modules_b::coriolis_body::tests::reset_zeroes ... ok [INFO] [stdout] test modules_b::contact_island::tests::test_build_islands ... ok [INFO] [stdout] test modules_b::damped_body::tests::critical_damping_formula ... ok [INFO] [stdout] test modules_b::damped_body::tests::damping_factor_zero_damp_is_one ... ok [INFO] [stdout] test modules_b::coriolis_body::tests::time_advances ... ok [INFO] [stdout] test modules_b::coriolis_body::tests::step_count ... ok [INFO] [stdout] test modules_b::damped_body::tests::damping_reduces_speed ... ok [INFO] [stdout] test modules_b::damped_body::tests::force_accumulator_cleared_after_integrate ... ok [INFO] [stdout] test modules_b::damped_body::tests::is_nearly_at_rest ... ok [INFO] [stdout] test modules_b::damped_body::tests::kinetic_energy_formula ... ok [INFO] [stdout] test modules_b::damped_body::tests::new_body_at_rest ... ok [INFO] [stdout] test modules_b::damper_network::tests::add_node_increments_count ... ok [INFO] [stdout] test modules_b::damper_network::tests::add_link_increments_count ... ok [INFO] [stdout] test modules_b::damper_network::tests::elastic_energy_at_rest_is_zero ... ok [INFO] [stdout] test modules_b::damper_network::tests::fixed_node ... ok [INFO] [stdout] test modules_b::damper_network::tests::kinetic_energy_after_step ... ok [INFO] [stdout] test modules_b::damped_body::tests::overdamped_settling_time_none_zero_damping ... ok [INFO] [stdout] test modules_b::damper_network::tests::natural_frequency_positive ... ok [INFO] [stdout] test modules_b::damper_network::tests::new_network_empty ... ok [INFO] [stdout] test modules_b::damper_network::tests::rest_length_stored ... ok [INFO] [stdout] test modules_b::damping_ratio::tests::test_classify_critical ... ok [INFO] [stdout] test modules_b::damper_network::tests::step_does_not_move_fixed_node ... ok [INFO] [stdout] test modules_b::damper_network::tests::spring_restores_to_rest ... ok [INFO] [stdout] test modules_b::damping_ratio::tests::test_classify_overdamped ... ok [INFO] [stdout] test modules_b::damping_ratio::tests::test_damped_frequency_underdamped ... ok [INFO] [stdout] test modules_b::damping_ratio::tests::test_classify_underdamped ... ok [INFO] [stdout] test modules_b::cone_body::tests::test_inertia_transverse_apex ... ok [INFO] [stdout] test modules_b::damped_body::tests::apply_force_moves_body ... ok [INFO] [stdout] test modules_b::damped_body::tests::damping_factor_full_damp_approaches_zero ... ok [INFO] [stdout] test modules_b::damping_ratio::tests::test_frequency_response_resonance ... ok [INFO] [stdout] test modules_b::damping_ratio::tests::test_peak_overshoot_positive_underdamped ... ok [INFO] [stdout] test modules_b::damping_ratio::tests::test_settling_time ... ok [INFO] [stdout] test modules_b::deformable_mesh::tests::test_add_particles ... ok [INFO] [stdout] test modules_b::deformable_mesh::tests::test_kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_b::damping_ratio::tests::test_natural_frequency ... ok [INFO] [stdout] test modules_b::deformable_mesh::tests::test_add_edge_rest_length ... ok [INFO] [stdout] test modules_b::deformable_mesh::tests::test_potential_energy_zero_at_rest ... ok [INFO] [stdout] test modules_b::deformable_mesh::tests::test_potential_energy_positive_when_stretched ... ok [INFO] [stdout] test modules_b::deformable_mesh::tests::test_spring_force_compression ... ok [INFO] [stdout] test modules_b::deformable_mesh::tests::test_spring_force_stretch ... ok [INFO] [stdout] test modules_b::deformable_spring::tests::effective_stiffness_reduces_with_fatigue ... ok [INFO] [stdout] test modules_b::deformable_spring::tests::broken_when_max_fatigue ... ok [INFO] [stdout] test modules_b::deformable_spring::tests::force_magnitude_restoring ... ok [INFO] [stdout] test modules_b::deformable_spring::tests::new_spring_no_fatigue ... ok [INFO] [stdout] test modules_b::deformable_spring::tests::natural_frequency_formula ... ok [INFO] [stdout] test modules_b::deformable_spring::tests::reset_fatigue ... ok [INFO] [stdout] test modules_b::deformable_spring::tests::spring_force_vector_direction ... ok [INFO] [stdout] test modules_b::deformable_spring::tests::strain_positive_when_extended ... ok [INFO] [stdout] test modules_b::deformable_spring::tests::strain_zero_at_rest ... ok [INFO] [stdout] test modules_b::deformable_spring::tests::update_accumulates_fatigue_at_high_strain ... ok [INFO] [stdout] test modules_b::distance_field_phys::tests::bake_sphere_fills_grid ... ok [INFO] [stdout] test modules_b::distance_field_phys::tests::box_sdf_corner_distance ... ok [INFO] [stdout] test modules_b::distance_field_phys::tests::box_sdf_inside_negative ... ok [INFO] [stdout] test modules_b::distance_field_phys::tests::box_sdf_outside_positive ... ok [INFO] [stdout] test modules_b::distance_field_phys::tests::distance_field_sample_center ... ok [INFO] [stdout] test modules_b::distance_field_phys::tests::distance_field_gradient_unit_length ... ok [INFO] [stdout] test modules_b::distance_field_phys::tests::sphere_sdf_inside_negative ... ok [INFO] [stdout] test modules_b::distance_field_phys::tests::sphere_sdf_surface_zero ... ok [INFO] [stdout] test modules_b::distance_field_phys::tests::sphere_sdf_outside_positive ... ok [INFO] [stdout] test modules_b::distance_field_phys::tests::sphere_sdf_uses_pi_constant ... ok [INFO] [stdout] test modules_b::elastic_joint::tests::test_critical_damping ... ok [INFO] [stdout] test modules_b::elastic_joint::tests::test_natural_frequency ... ok [INFO] [stdout] test modules_b::elastic_joint::tests::test_potential_energy_positive ... ok [INFO] [stdout] test modules_b::elastic_joint::tests::test_potential_energy_zero_at_rest ... ok [INFO] [stdout] test modules_b::elastic_joint::tests::test_spring_force_at_rest ... ok [INFO] [stdout] test modules_b::elastic_joint::tests::test_spring_force_compressed ... ok [INFO] [stdout] test modules_b::elastic_joint::tests::test_set_rest ... ok [INFO] [stdout] test modules_b::elastic_joint::tests::test_spring_force_stretched ... ok [INFO] [stdout] test modules_b::elastic_joint::tests::test_within_limits ... ok [INFO] [stdout] test modules_b::elastic_wave::tests::boundaries_fixed ... ok [INFO] [stdout] test modules_b::elastic_wave::tests::cfl_dt_formula ... ok [INFO] [stdout] test modules_b::elastic_wave::tests::damping_reduces_energy ... ok [INFO] [stdout] test modules_b::elastic_wave::tests::excite_sets_displacement ... ok [INFO] [stdout] test modules_b::elastic_wave::tests::new_chain_zero_displacement ... ok [INFO] [stdout] test modules_b::elastic_wave::tests::phase_velocity_formula ... ok [INFO] [stdout] test modules_b::elastic_wave::tests::standing_wave_fundamental ... ok [INFO] [stdout] test modules_b::elastic_wave::tests::reset_zeroes_all ... ok [INFO] [stdout] test modules_b::damping_ratio::tests::test_damping_ratio_critical ... ok [INFO] [stdout] test modules_b::elastic_wave::tests::standing_wave_uses_pi_via_length ... ok [INFO] [stdout] test modules_b::damping_ratio::tests::test_peak_overshoot_zero_at_critical ... ok [INFO] [stdout] test modules_b::force_field_uniform::tests::test_acceleration ... ok [INFO] [stdout] test modules_b::elastic_wave::tests::step_propagates_wave ... ok [INFO] [stdout] test modules_b::force_field_uniform::tests::test_disabled_field ... ok [INFO] [stdout] test modules_b::deformable_mesh::tests::test_fixed_not_moved ... ok [INFO] [stdout] test modules_b::force_field_uniform::tests::test_inside_region_force ... ok [INFO] [stdout] test modules_b::deformable_mesh::tests::test_integrate_moves_particle ... ok [INFO] [stdout] test modules_b::force_field_uniform::tests::test_contains_boundary ... ok [INFO] [stdout] test modules_b::force_field_uniform::tests::test_magnitude ... ok [INFO] [stdout] test modules_b::force_field_uniform::tests::test_outside_region_zero ... ok [INFO] [stdout] test modules_b::force_field_uniform::tests::test_scale ... ok [INFO] [stdout] test modules_b::force_field_uniform::tests::test_unbounded_force ... ok [INFO] [stdout] test modules_b::force_limit::tests::budgeted_accum_reset ... ok [INFO] [stdout] test modules_b::force_limit::tests::clamp_force_diagonal ... ok [INFO] [stdout] test modules_b::force_limit::tests::clamp_force_limits_magnitude ... ok [INFO] [stdout] test modules_b::force_limit::tests::force_within_limit_false ... ok [INFO] [stdout] test modules_b::force_limit::tests::force_within_limit_true ... ok [INFO] [stdout] test modules_b::force_limit::tests::limit_impulse_zero_dt ... ok [INFO] [stdout] test modules_b::force_limit::tests::per_axis_limit_applies_per_axis ... ok [INFO] [stdout] test modules_b::force_limit::tests::safe_force_formula ... ok [INFO] [stdout] test modules_b::force_field_uniform::tests::test_work ... ok [INFO] [stdout] test modules_b::force_limit::tests::budgeted_accum_respects_budget ... ok [INFO] [stdout] test modules_b::friction_patch::tests::is_sticking_above_limit ... ok [INFO] [stdout] test modules_b::force_limit::tests::clamp_force_no_change_within_limit ... ok [INFO] [stdout] test modules_b::friction_patch::tests::apply_tangential_stays_stick_within_cone ... ok [INFO] [stdout] test modules_b::friction_patch::tests::apply_tangential_slips_outside_cone ... ok [INFO] [stdout] test modules_b::friction_patch::tests::is_sticking_below_limit ... ok [INFO] [stdout] test modules_b::friction_patch::tests::tangent_basis_unit_vectors ... ok [INFO] [stdout] test modules_b::friction_patch::tests::max_tangential_impulse_formula ... ok [INFO] [stdout] test modules_b::friction_patch::tests::friction_patch_new_stick_state ... ok [INFO] [stdout] test modules_b::friction_surface_model::tests::test_angle_of_repose ... ok [INFO] [stdout] test modules_b::friction_patch::tests::kinetic_friction_magnitude_formula ... ok [INFO] [stdout] test modules_b::friction_patch::tests::reset_accumulation ... ok [INFO] [stdout] test modules_b::friction_patch::tests::tangent_basis_orthogonal_to_normal ... ok [INFO] [stdout] test modules_b::friction_surface_model::tests::test_combine_restitution ... ok [INFO] [stdout] test modules_b::friction_surface_model::tests::test_combine_friction ... ok [INFO] [stdout] test modules_b::friction_surface_model::tests::test_rolling_resistance ... ok [INFO] [stdout] test modules_b::friction_surface_model::tests::test_friction_impulse_zero_slip ... ok [INFO] [stdout] test modules_b::friction_surface_model::tests::test_static_on_slope ... ok [INFO] [stdout] test modules_b::friction_surface_model::tests::test_sticking_within_cone ... ok [INFO] [stdout] test modules_b::gravity_source::tests::acceleration_at_radius_decreases_with_distance ... ok [INFO] [stdout] test modules_b::friction_surface_model::tests::test_friction_power ... ok [INFO] [stdout] test modules_b::friction_surface_model::tests::test_kinetic_friction ... ok [INFO] [stdout] test modules_b::gravity_source::tests::combined_gravity_sums_forces ... ok [INFO] [stdout] test modules_b::gravity_source::tests::escape_velocity_gt_orbital_velocity ... ok [INFO] [stdout] test modules_b::gravity_source::tests::orbital_period_formula ... ok [INFO] [stdout] test modules_b::gravity_source::tests::gravitational_potential_negative ... ok [INFO] [stdout] test modules_b::gravity_source::tests::point_gravity_direction_toward_source ... ok [INFO] [stdout] test modules_b::gravity_source::tests::point_gravity_zero_at_coincident ... ok [INFO] [stdout] test modules_b::gravity_source::tests::uniform_gravity_earth_force ... ok [INFO] [stdout] test modules_b::gravity_source::tests::zero_gravity_no_force ... ok [INFO] [stdout] test modules_b::gravity_zone::tests::test_box_volume ... ok [INFO] [stdout] test modules_b::gravity_zone::tests::test_disabled_zone ... ok [INFO] [stdout] test modules_b::gravity_zone::tests::test_box_contains ... ok [INFO] [stdout] test modules_b::gravity_zone::tests::test_gravity_at_zone ... ok [INFO] [stdout] test modules_b::gravity_zone::tests::test_priority ... ok [INFO] [stdout] test modules_b::gravity_zone::tests::test_sphere_volume ... ok [INFO] [stdout] test modules_b::hinge_body::tests::test_apply_torque_moves_angle ... ok [INFO] [stdout] test modules_b::hinge_body::tests::test_damping_reduces_velocity ... ok [INFO] [stdout] test modules_b::hinge_body::tests::test_full_turn ... ok [INFO] [stdout] test modules_b::hinge_body::tests::test_limit_hi ... ok [INFO] [stdout] test modules_b::gravity_zone::tests::test_sphere_contains ... ok [INFO] [stdout] test modules_b::hinge_body::tests::test_limit_lo ... ok [INFO] [stdout] test modules_b::hinge_body::tests::test_kinetic_energy ... ok [INFO] [stdout] test modules_b::hinge_body::tests::test_normalised_angle ... ok [INFO] [stdout] test modules_b::hinge_body::tests::test_range ... ok [INFO] [stdout] test modules_b::gravity_zone::tests::test_set_gravity ... ok [INFO] [stdout] test modules_b::gravity_zone::tests::test_gravity_at_default ... ok [INFO] [stdout] test modules_b::hinge_spring::tests::potential_energy_at_rest_is_zero ... ok [INFO] [stdout] test modules_b::hinge_spring::tests::integrate_moves_angle ... ok [INFO] [stdout] test modules_b::hinge_spring::tests::limits_clamp_angle ... ok [INFO] [stdout] test modules_b::hinge_body::tests::test_reset ... ok [INFO] [stdout] test modules_b::hinge_spring::tests::torsional_critical_damping_formula ... ok [INFO] [stdout] test modules_b::hinge_spring::tests::potential_energy_displaced ... ok [INFO] [stdout] test modules_b::hinge_spring::tests::at_rest_no_spring_torque ... ok [INFO] [stdout] test modules_b::hinge_spring::tests::damping_torque_opposes_velocity ... ok [INFO] [stdout] test modules_b::hinge_spring::tests::torsional_natural_frequency_formula ... ok [INFO] [stdout] test modules_b::hinge_spring::tests::with_rest_sets_equilibrium ... ok [INFO] [stdout] test modules_b::impulse_response::tests::apply_impulse_a_increases_speed ... ok [INFO] [stdout] test modules_b::impulse_response::tests::apply_impulse_a_zero_inv_mass_unchanged ... ok [INFO] [stdout] test modules_b::impulse_response::tests::apply_impulse_b_decreases_speed ... ok [INFO] [stdout] test modules_b::impulse_response::tests::impulse_proportional_to_restitution ... ok [INFO] [stdout] test modules_b::impulse_response::tests::head_on_elastic_collision_equal_masses ... ok [INFO] [stdout] test modules_b::impulse_response::tests::both_zero_mass_zero_impulse ... ok [INFO] [stdout] test modules_b::impulse_response::tests::separating_bodies_zero_impulse ... ok [INFO] [stdout] test modules_b::impulse_response::tests::zero_restitution_inelastic ... ok [INFO] [stdout] test modules_b::joint_anchor::tests::anchor_space_local_flag ... ok [INFO] [stdout] test modules_b::joint_anchor::tests::anchor_space_world_flag ... ok [INFO] [stdout] test modules_b::impulse_response::tests::infinite_mass_wall_full_bounce ... ok [INFO] [stdout] test modules_b::impulse_response::tests::relative_velocity_correct ... ok [INFO] [stdout] test modules_b::joint_anchor::tests::local_anchor_with_body_translation ... ok [INFO] [stdout] test modules_b::joint_anchor::tests::is_satisfied_when_close ... ok [INFO] [stdout] test modules_b::joint_anchor::tests::local_anchor_identity_rotation ... ok [INFO] [stdout] test modules_b::joint_anchor::tests::separation_nonzero_when_apart ... ok [INFO] [stdout] test modules_b::joint_anchor::tests::separation_zero_when_coincident ... ok [INFO] [stdout] test modules_b::joint_damper::tests::test_angular_torque_opposes_velocity ... ok [INFO] [stdout] test modules_b::joint_damper::tests::test_decay_factor ... ok [INFO] [stdout] test modules_b::joint_damper::tests::test_disabled_zero_force ... ok [INFO] [stdout] test modules_b::joint_damper::tests::test_energy_step ... ok [INFO] [stdout] test modules_b::joint_damper::tests::test_joint_45_deg ... ok [INFO] [stdout] test modules_b::joint_damper::tests::test_linear_force_opposes_velocity ... ok [INFO] [stdout] test modules_b::joint_anchor::tests::rotate_by_identity_quaternion_unchanged ... ok [INFO] [stdout] test modules_b::joint_anchor::tests::world_anchor_returns_offset_as_world_pos ... ok [INFO] [stdout] test modules_b::joint_damper::tests::test_power_positive ... ok [INFO] [stdout] test modules_b::joint_damper::tests::test_max_force_clamp ... ok [INFO] [stdout] test modules_b::kinematic_controller::tests::test_integrate_falls ... ok [INFO] [stdout] test modules_b::joint_damper::tests::test_set_damping ... ok [INFO] [stdout] test modules_b::kinematic_controller::tests::test_heading ... ok [INFO] [stdout] test modules_b::kinematic_controller::tests::test_jump ... ok [INFO] [stdout] test modules_b::kinematic_controller::tests::test_horizontal_move_zero_input ... ok [INFO] [stdout] test modules_b::kinematic_controller::tests::test_kinetic_energy_zero_when_still ... ok [INFO] [stdout] test modules_b::kinematic_controller::tests::test_kinetic_energy_positive_when_moving ... ok [INFO] [stdout] test modules_b::kinematic_controller::tests::test_set_position ... ok [INFO] [stdout] test modules_b::kinematic_controller::tests::test_lands_on_ground ... ok [INFO] [stdout] test modules_b::kinematic_controller::tests::test_move_clamps_to_max_speed ... ok [INFO] [stdout] test modules_b::kinematic_controller::tests::test_stop ... ok [INFO] [stdout] test modules_b::lattice_spring::tests::test_aabb ... ok [INFO] [stdout] test modules_b::lattice_spring::tests::test_add_particle ... ok [INFO] [stdout] test modules_b::lattice_spring::tests::test_center_of_mass ... ok [INFO] [stdout] test modules_b::lattice_spring::tests::test_empty_lattice ... ok [INFO] [stdout] test modules_b::lattice_spring::tests::test_pinned_particle_doesnt_move ... ok [INFO] [stdout] test modules_b::lattice_spring::tests::test_add_spring ... ok [INFO] [stdout] test modules_b::lattice_spring::tests::test_spring_rest_length ... ok [INFO] [stdout] test modules_b::lattice_spring::tests::test_kinetic_energy_zero_initially ... ok [INFO] [stdout] test modules_b::lattice_spring::tests::test_step_doesnt_panic ... ok [INFO] [stdout] test modules_b::hinge_spring::tests::displaced_generates_restoring_torque ... ok [INFO] [stdout] test modules_b::lattice_spring::tests::test_step_increases_kinetic_energy ... ok [INFO] [stdout] test modules_b::linear_actuator::tests::test_clamped_to_range ... ok [INFO] [stdout] test modules_b::linear_actuator::tests::test_force_limited ... ok [INFO] [stdout] test modules_b::linear_actuator::tests::test_moves_toward_target ... ok [INFO] [stdout] test modules_b::linear_actuator::tests::test_normalized_pos ... ok [INFO] [stdout] test modules_b::linear_actuator::tests::test_potential_energy_at_target ... ok [INFO] [stdout] test modules_b::linear_actuator::tests::test_target_clamped_to_range ... ok [INFO] [stdout] test modules_b::linear_actuator::tests::test_reset ... ok [INFO] [stdout] test modules_b::mass_spring_chain::tests::test_first_node_pinned ... ok [INFO] [stdout] test modules_b::mass_spring_chain::tests::test_kinetic_energy_zero_initially ... ok [INFO] [stdout] test modules_b::linear_actuator::tests::test_at_target ... ok [INFO] [stdout] test modules_b::mass_spring_chain::tests::test_gravity_causes_motion ... ok [INFO] [stdout] test modules_b::linear_actuator::tests::test_kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_b::linear_actuator::tests::test_range ... ok [INFO] [stdout] test modules_b::mass_spring_chain::tests::test_pinned_node_doesnt_move ... ok [INFO] [stdout] test modules_b::mass_spring_chain::tests::test_potential_energy_at_rest_zero ... ok [INFO] [stdout] test modules_b::mass_spring_chain::tests::test_max_velocity ... ok [INFO] [stdout] test modules_b::mass_spring_chain::tests::test_node_count ... ok [INFO] [stdout] test modules_b::mesh_collider::tests::test_aabb_min_max ... ok [INFO] [stdout] test modules_b::mass_spring_chain::tests::test_step_doesnt_panic ... ok [INFO] [stdout] test modules_b::mass_spring_chain::tests::test_reset_velocities ... ok [INFO] [stdout] test modules_b::mesh_collider::tests::test_area ... ok [INFO] [stdout] test modules_b::mesh_collider::tests::test_centroid ... ok [INFO] [stdout] test modules_b::mass_spring_chain::tests::test_span ... ok [INFO] [stdout] test modules_b::mesh_collider::tests::test_nearest_triangle ... ok [INFO] [stdout] test modules_b::mesh_collider::tests::test_normal_upward ... ok [INFO] [stdout] test modules_b::mesh_collider::tests::test_point_in_aabb ... ok [INFO] [stdout] test modules_b::mesh_collider::tests::test_total_area ... ok [INFO] [stdout] test modules_b::motor_joint_v2::tests::test_angle_diff_wraps ... ok [INFO] [stdout] test modules_b::mesh_collider::tests::test_tri_count ... ok [INFO] [stdout] test modules_b::mesh_collider::tests::test_empty_collider ... ok [INFO] [stdout] test modules_b::motor_joint_v2::tests::test_at_target ... ok [INFO] [stdout] test modules_b::mesh_collider::tests::test_sphere_overlaps ... ok [INFO] [stdout] test modules_b::motor_joint_v2::tests::test_clamped_to_range ... ok [INFO] [stdout] test modules_b::motor_joint_v2::tests::test_kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_b::motor_joint_v2::tests::test_moves_to_target ... ok [INFO] [stdout] test modules_b::motor_joint_v2::tests::test_target_clamped ... ok [INFO] [stdout] test modules_b::motor_joint_v2::tests::test_torque_limited ... ok [INFO] [stdout] test modules_b::particle_chain::tests::test_avg_seg_len_near_rest ... ok [INFO] [stdout] test modules_b::particle_chain::tests::test_chain_length ... ok [INFO] [stdout] test modules_b::motor_joint_v2::tests::test_normalized_angle ... ok [INFO] [stdout] test modules_b::motor_joint_v2::tests::test_range ... ok [INFO] [stdout] test modules_b::particle_chain::tests::test_end_pos_exists ... ok [INFO] [stdout] test modules_b::particle_chain::tests::test_particle_count ... ok [INFO] [stdout] test modules_b::particle_chain::tests::test_root_pinned ... ok [INFO] [stdout] test modules_b::particle_chain::tests::test_root_unchanged_after_step ... ok [INFO] [stdout] test modules_b::particle_chain::tests::test_single_particle ... ok [INFO] [stdout] test modules_b::particle_chain::tests::test_step_doesnt_panic ... ok [INFO] [stdout] test modules_b::particle_chain::tests::test_tip_distance_less_than_chain_length ... ok [INFO] [stdout] test modules_b::motor_joint_v2::tests::test_reset ... ok [INFO] [stdout] test modules_b::particle_chain::tests::test_gravity_pulls_chain_down ... ok [INFO] [stdout] test modules_b::pendulum_body::tests::test_is_at_rest ... ok [INFO] [stdout] test modules_b::pendulum_body::tests::test_kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_b::pendulum_body::tests::test_longer_pendulum_slower ... ok [INFO] [stdout] test modules_b::pendulum_body::tests::test_period_positive ... ok [INFO] [stdout] test modules_b::pendulum_body::tests::test_rest_position ... ok [INFO] [stdout] test modules_b::pendulum_body::tests::test_step_oscillates ... ok [INFO] [stdout] test modules_b::pendulum_body::tests::test_frequency_positive ... ok [INFO] [stdout] test modules_b::phase_space::tests::test_apply_force_changes_state ... ok [INFO] [stdout] test modules_b::phase_space::tests::test_harmonic_oscillates ... ok [INFO] [stdout] test modules_b::phase_space::tests::test_initial_velocity ... ok [INFO] [stdout] test modules_b::phase_space::tests::test_kinetic_energy ... ok [INFO] [stdout] test modules_b::pendulum_body::tests::test_total_energy_conserved_no_damping ... ok [INFO] [stdout] test modules_b::pendulum_body::tests::test_potential_energy_zero_at_bottom ... ok [INFO] [stdout] test modules_b::phase_space::tests::test_max_p_after_force ... ok [INFO] [stdout] test modules_b::phase_space::tests::test_max_trajectory_limit ... ok [INFO] [stdout] test modules_b::phase_space::tests::test_period_positive ... ok [INFO] [stdout] test modules_b::phase_space::tests::test_period_formula ... ok [INFO] [stdout] test modules_b::phase_space::tests::test_reset ... ok [INFO] [stdout] test modules_b::phase_space::tests::test_trajectory_records ... ok [INFO] [stdout] test modules_b::pivot_body::tests::test_kinetic_energy_positive_when_spinning ... ok [INFO] [stdout] test modules_b::pivot_body::tests::test_angle_deg ... ok [INFO] [stdout] test modules_b::pivot_body::tests::test_kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_b::pivot_body::tests::test_inertia ... ok [INFO] [stdout] test modules_b::pivot_body::tests::test_damping_reduces_energy ... ok [INFO] [stdout] test modules_b::pivot_body::tests::test_initial_tip ... ok [INFO] [stdout] test modules_b::pivot_body::tests::test_pivot_offset ... ok [INFO] [stdout] test modules_b::pivot_body::tests::test_reset ... ok [INFO] [stdout] test modules_b::plane_body::tests::test_above_plane ... ok [INFO] [stdout] test modules_b::plane_body::tests::test_below_plane ... ok [INFO] [stdout] test modules_b::plane_body::tests::test_closest_point_on_plane ... ok [INFO] [stdout] test modules_b::plane_body::tests::test_from_point_normal ... ok [INFO] [stdout] test modules_b::plane_body::tests::test_ground_plane_distance ... ok [INFO] [stdout] test modules_b::pivot_body::tests::test_tip_velocity ... ok [INFO] [stdout] test modules_b::plane_body::tests::test_no_penetration ... ok [INFO] [stdout] test modules_b::plane_body::tests::test_normal_normalized ... ok [INFO] [stdout] test modules_b::pivot_body::tests::test_torque_rotates ... ok [INFO] [stdout] test modules_b::plane_body::tests::test_project_velocity ... ok [INFO] [stdout] test modules_b::plane_body::tests::test_reflect_velocity ... ok [INFO] [stdout] test modules_b::position_integrator::tests::test_constant_velocity_euler ... ok [INFO] [stdout] test modules_b::plane_body::tests::test_sphere_penetration ... ok [INFO] [stdout] test modules_b::position_integrator::tests::test_kinetic_energy ... ok [INFO] [stdout] test modules_b::position_integrator::tests::test_displacement ... ok [INFO] [stdout] test modules_b::position_integrator::tests::test_euler_free_fall ... ok [INFO] [stdout] test modules_b::position_integrator::tests::test_reset ... ok [INFO] [stdout] test modules_b::position_integrator::tests::test_rk2_step ... ok [INFO] [stdout] test modules_b::position_integrator::tests::test_speed ... ok [INFO] [stdout] test modules_b::position_integrator::tests::test_semi_implicit_stability ... ok [INFO] [stdout] test modules_b::pendulum_body::tests::test_damping_reduces_energy ... ok [INFO] [stdout] test modules_b::position_integrator::tests::test_step_count ... ok [INFO] [stdout] test modules_b::position_integrator::tests::test_verlet_step ... ok [INFO] [stdout] test modules_b::potential_energy::tests::test_coulomb_pe_like_sign_positive ... ok [INFO] [stdout] test modules_b::potential_energy::tests::test_gravitational_pe ... ok [INFO] [stdout] test modules_b::potential_energy::tests::test_newtonian_grav_pe_negative ... ok [INFO] [stdout] test modules_b::potential_energy::tests::test_spring_oscillator_period ... ok [INFO] [stdout] test modules_b::potential_energy::tests::test_spring_pe_zero_at_rest ... ok [INFO] [stdout] test modules_b::potential_energy::tests::test_torsional_pe ... ok [INFO] [stdout] test modules_b::potential_energy::tests::test_total_spring_pe ... ok [INFO] [stdout] test modules_b::pressure_body::tests::test_compress_reduces_volume ... ok [INFO] [stdout] test modules_b::pressure_body::tests::test_density ... ok [INFO] [stdout] test modules_b::potential_energy::tests::test_free_fall_height ... ok [INFO] [stdout] test modules_b::potential_energy::tests::test_lennard_jones_minimum ... ok [INFO] [stdout] test modules_b::pressure_body::tests::test_outward_force_positive ... ok [INFO] [stdout] test modules_b::pressure_body::tests::test_expand_increases_volume ... ok [INFO] [stdout] test modules_b::pressure_body::tests::test_normalized_volume_one_at_rest ... ok [INFO] [stdout] test modules_b::potential_energy::tests::test_spring_pe_positive ... ok [INFO] [stdout] test modules_b::pressure_body::tests::test_over_pressured ... ok [INFO] [stdout] test modules_b::pressure_body::tests::test_pressure_increases_when_compressed ... ok [INFO] [stdout] test modules_b::pressure_body::tests::test_pressure_positive ... ok [INFO] [stdout] test modules_b::pressure_body::tests::test_restoring_force_zero_at_rest ... ok [INFO] [stdout] test modules_b::pressure_body::tests::test_volume_error_zero_at_rest ... ok [INFO] [stdout] test modules_b::prismatic_joint::tests::test_at_limit ... ok [INFO] [stdout] test modules_b::prismatic_joint::tests::test_clamps_to_max ... ok [INFO] [stdout] test modules_b::prismatic_joint::tests::test_kinetic_energy ... ok [INFO] [stdout] test modules_b::prismatic_joint::tests::test_locked_doesnt_move ... ok [INFO] [stdout] test modules_b::prismatic_joint::tests::test_normalized_pos ... ok [INFO] [stdout] test modules_b::prismatic_joint::tests::test_range ... ok [INFO] [stdout] test modules_b::prismatic_joint::tests::test_reset ... ok [INFO] [stdout] test modules_b::prismatic_joint::tests::test_unlock ... ok [INFO] [stdout] test modules_b::prismatic_joint::tests::test_world_offset ... ok [INFO] [stdout] test modules_b::projectile_body::tests::test_drag_reduces_speed ... ok [INFO] [stdout] test modules_b::projectile_body::tests::test_falls_with_gravity ... ok [INFO] [stdout] test modules_b::projectile_body::tests::test_horizontal_range ... ok [INFO] [stdout] test modules_b::projectile_body::tests::test_inactive_doesnt_move ... ok [INFO] [stdout] test modules_b::projectile_body::tests::test_kinetic_energy_on_launch ... ok [INFO] [stdout] test modules_b::projectile_body::tests::test_lands_on_ground ... ok [INFO] [stdout] test modules_b::projectile_body::tests::test_launch_and_step ... ok [INFO] [stdout] test modules_b::projectile_body::tests::test_max_range_45deg ... ok [INFO] [stdout] test modules_b::projectile_body::tests::test_speed ... ok [INFO] [stdout] test modules_b::projectile_body::tests::test_time_of_flight_positive ... ok [INFO] [stdout] test modules_b::rack_pinion::tests::advance_rack_updates_angle ... ok [INFO] [stdout] test modules_b::rack_pinion::tests::circumference ... ok [INFO] [stdout] test modules_b::rack_pinion::tests::efficiency_clamps ... ok [INFO] [stdout] test modules_b::rack_pinion::tests::gear_ratio_scales_angle ... ok [INFO] [stdout] test modules_b::rack_pinion::tests::pinion_angle_deg ... ok [INFO] [stdout] test modules_b::rack_pinion::tests::rack_speed_from_rpm ... ok [INFO] [stdout] test modules_b::rack_pinion::tests::reset_zeroes ... ok [INFO] [stdout] test modules_b::rack_pinion::tests::rotate_pinion_updates_rack ... ok [INFO] [stdout] test modules_b::rack_pinion::tests::rpm_conversion ... ok [INFO] [stdout] test modules_b::restitution_body::tests::apply_impulse ... ok [INFO] [stdout] test modules_b::restitution_body::tests::at_rest_check ... ok [INFO] [stdout] test modules_b::restitution_body::tests::bounce_reverses_component ... ok [INFO] [stdout] test modules_b::restitution_body::tests::collision_impulse_momentum ... ok [INFO] [stdout] test modules_b::restitution_body::tests::elastic_preserves_speed ... ok [INFO] [stdout] test modules_b::restitution_body::tests::energy_after_bounces ... ok [INFO] [stdout] test modules_b::restitution_body::tests::inelastic_loses_speed ... ok [INFO] [stdout] test modules_b::restitution_body::tests::kinetic_energy ... ok [INFO] [stdout] test modules_b::restitution_body::tests::stop_zeroes_velocity ... ok [INFO] [stdout] test modules_b::revolute_joint::tests::angle_deg_conversion ... ok [INFO] [stdout] test modules_b::revolute_joint::tests::clamp_lower_limit ... ok [INFO] [stdout] test modules_b::revolute_joint::tests::clamp_upper_limit ... ok [INFO] [stdout] test modules_b::revolute_joint::tests::damping_reduces_velocity ... ok [INFO] [stdout] test modules_b::revolute_joint::tests::initial_zero ... ok [INFO] [stdout] test modules_b::revolute_joint::tests::motor_accelerates ... ok [INFO] [stdout] test modules_b::prismatic_joint::tests::test_apply_force_moves ... ok [INFO] [stdout] test modules_b::revolute_joint::tests::normalized_angle_mid ... ok [INFO] [stdout] test modules_b::revolute_joint::tests::range_calculation ... ok [INFO] [stdout] test modules_b::revolute_joint::tests::step_integrates_angle ... ok [INFO] [stdout] test modules_b::rigid_body_group::tests::center_of_mass_empty ... ok [INFO] [stdout] test modules_b::rigid_body_group::tests::add_and_total_mass ... ok [INFO] [stdout] test modules_b::rigid_body_group::tests::remove_member ... ok [INFO] [stdout] test modules_b::rigid_body_group::tests::kinetic_energy ... ok [INFO] [stdout] test modules_b::rigid_body_group::tests::apply_impulse ... ok [INFO] [stdout] test modules_b::rigid_body_group::tests::disabled_no_step ... ok [INFO] [stdout] test modules_b::rigid_body_group::tests::step_updates_position ... ok [INFO] [stdout] test modules_b::rope_segment::tests::bending_energy_straight_is_zero ... ok [INFO] [stdout] test modules_b::rigid_body_group::tests::member_world_pos ... ok [INFO] [stdout] test modules_b::rigid_body_group::tests::stop_zeroes_velocity ... ok [INFO] [stdout] test modules_b::rope_segment::tests::first_particle_pinned ... ok [INFO] [stdout] test modules_b::rope_segment::tests::integrate_moves_free_particle ... ok [INFO] [stdout] test modules_b::rope_segment::tests::particle_count ... ok [INFO] [stdout] test modules_b::rope_segment::tests::initial_length_approx_rest ... ok [INFO] [stdout] test modules_b::rope_segment::tests::pinned_particle_immovable ... ok [INFO] [stdout] test modules_b::rope_segment::tests::tip_position_exists ... ok [INFO] [stdout] test modules_b::rope_segment::tests::satisfy_constraints_runs ... ok [INFO] [stdout] test modules_b::rope_segment::tests::total_mass ... ok [INFO] [stdout] test modules_b::rotational_body::tests::disabled_no_step ... ok [INFO] [stdout] test modules_b::rotational_body::tests::drag_reduces_speed ... ok [INFO] [stdout] test modules_b::rotational_body::tests::normalize_angle ... ok [INFO] [stdout] test modules_b::rotational_body::tests::period_when_spinning ... ok [INFO] [stdout] test modules_b::rotational_body::tests::angular_momentum ... ok [INFO] [stdout] test modules_b::rotational_body::tests::kinetic_energy ... ok [INFO] [stdout] test modules_b::rotational_body::tests::revolutions ... ok [INFO] [stdout] test modules_b::rotational_body::tests::torque_produces_acceleration ... ok [INFO] [stdout] test modules_b::screw_joint::tests::clamp_to_min ... ok [INFO] [stdout] test modules_b::screw_joint::tests::disabled_no_motion ... ok [INFO] [stdout] test modules_b::screw_joint::tests::clamp_to_max ... ok [INFO] [stdout] test modules_b::screw_joint::tests::reset_to_min ... ok [INFO] [stdout] test modules_b::screw_joint::tests::rotate_advances_position ... ok [INFO] [stdout] test modules_b::screw_joint::tests::linear_speed_from_angular ... ok [INFO] [stdout] test modules_b::screw_joint::tests::normalized_position_mid ... ok [INFO] [stdout] test modules_b::screw_joint::tests::travel_range ... ok [INFO] [stdout] test modules_b::shape_intersection::tests::crossing_segments_near_zero ... ok [INFO] [stdout] test modules_b::shape_intersection::tests::parallel_segments_dist ... ok [INFO] [stdout] test modules_b::screw_joint::tests::set_position_derives_angle ... ok [INFO] [stdout] test modules_b::shape_intersection::tests::segment_segment_same_point ... ok [INFO] [stdout] test modules_b::shape_intersection::tests::capsule_capsule_delegates ... ok [INFO] [stdout] test modules_b::shape_intersection::tests::sphere_plane_outside ... ok [INFO] [stdout] test modules_b::shape_intersection::tests::spheres_overlapping ... ok [INFO] [stdout] test modules_b::shape_intersection::tests::spheres_touching ... ok [INFO] [stdout] test modules_b::shape_intersection::tests::sphere_plane_inside ... ok [INFO] [stdout] test modules_b::rope_segment::tests::pi_reference_not_literal ... ok [INFO] [stdout] test modules_b::shape_intersection::tests::sphere_plane_on_surface ... ok [INFO] [stdout] test modules_b::shape_intersection::tests::spheres_separated ... ok [INFO] [stdout] test modules_b::rotational_body::tests::no_torque_constant_velocity ... ok [INFO] [stdout] test modules_b::shock_absorber::tests::compression_produces_positive_force ... ok [INFO] [stdout] test modules_b::shock_absorber::tests::rest_no_force ... ok [INFO] [stdout] test modules_b::shock_absorber::tests::disabled_zero_force ... ok [INFO] [stdout] test modules_b::shock_absorber::tests::reset_restores ... ok [INFO] [stdout] test modules_b::shock_absorber::tests::step_moves_toward_rest ... ok [INFO] [stdout] test modules_b::sliding_body::tests::clamp_at_min ... ok [INFO] [stdout] test modules_b::shock_absorber::tests::travel_range ... ok [INFO] [stdout] test modules_b::sliding_body::tests::clamp_at_max ... ok [INFO] [stdout] test modules_b::shock_absorber::tests::compression_measurement ... ok [INFO] [stdout] test modules_b::sliding_body::tests::disabled_no_step ... ok [INFO] [stdout] test modules_b::shock_absorber::tests::extension_produces_negative_force ... ok [INFO] [stdout] test modules_b::sliding_body::tests::force_moves_body ... ok [INFO] [stdout] test modules_b::sliding_body::tests::friction_decelerates ... ok [INFO] [stdout] test modules_b::sliding_body::tests::kinetic_energy ... ok [INFO] [stdout] test modules_b::shock_absorber::tests::energy_stored_at_rest_zero ... ok [INFO] [stdout] test modules_b::soft_body_volume::tests::approximate_volume_positive ... ok [INFO] [stdout] test modules_b::sliding_body::tests::momentum ... ok [INFO] [stdout] test modules_b::sliding_body::tests::normalized_position ... ok [INFO] [stdout] test modules_b::sliding_body::tests::reset ... ok [INFO] [stdout] test modules_b::soft_body_volume::tests::centroid_near_origin ... ok [INFO] [stdout] test modules_b::soft_body_volume::tests::integrate_falls_under_gravity ... ok [INFO] [stdout] test modules_b::soft_body_volume::tests::kinetic_energy_at_rest_zero ... ok [INFO] [stdout] test modules_b::soft_body_volume::tests::particle_count ... ok [INFO] [stdout] test modules_b::soft_body_volume::tests::pi_used ... ok [INFO] [stdout] test modules_b::soft_body_volume::tests::tet_volume_unit ... ok [INFO] [stdout] test modules_b::soft_body_volume::tests::total_mass ... ok [INFO] [stdout] test modules_b::sphere_body::tests::disabled_no_step ... ok [INFO] [stdout] test modules_b::sphere_body::tests::intersection ... ok [INFO] [stdout] test modules_b::sphere_body::tests::kinetic_energy ... ok [INFO] [stdout] test modules_b::sphere_body::tests::moment_of_inertia ... ok [INFO] [stdout] test modules_b::sphere_body::tests::apply_impulse ... ok [INFO] [stdout] test modules_b::sphere_body::tests::no_intersection ... ok [INFO] [stdout] test modules_b::sphere_body::tests::surface_area ... ok [INFO] [stdout] test modules_b::sphere_body::tests::volume_formula ... ok [INFO] [stdout] test modules_b::soft_body_volume::tests::set_and_volume_ratio ... ok [INFO] [stdout] test modules_b::sphere_body::tests::step_gravity ... ok [INFO] [stdout] test modules_b::spring_chain::tests::energy_increases_when_displaced ... ok [INFO] [stdout] test modules_b::spring_chain::tests::mass_and_spring_count ... ok [INFO] [stdout] test modules_b::spring_chain::tests::displaced_mass_oscillates ... ok [INFO] [stdout] test modules_b::spring_chain::tests::natural_frequency_positive ... ok [INFO] [stdout] test modules_b::spring_chain::tests::energy_at_rest ... ok [INFO] [stdout] test modules_b::spring_chain::tests::at_rest_no_force ... ok [INFO] [stdout] test modules_b::spring_chain::tests::pinned_doesnt_move ... ok [INFO] [stdout] test modules_b::spring_chain::tests::total_mass ... ok [INFO] [stdout] test modules_b::static_body::tests::box_outside ... ok [INFO] [stdout] test modules_b::static_body::tests::disabled_body_still_has_shape ... ok [INFO] [stdout] test modules_b::static_body::tests::label ... ok [INFO] [stdout] test modules_b::static_body::tests::plane_above_surface ... ok [INFO] [stdout] test modules_b::static_body::tests::plane_on_surface ... ok [INFO] [stdout] test modules_b::static_body::tests::sphere_inside ... ok [INFO] [stdout] test modules_b::static_body::tests::sphere_outside ... ok [INFO] [stdout] test modules_b::torsion_body::tests::angle_deg_conversion ... ok [INFO] [stdout] test modules_b::spring_chain::tests::pi_used ... ok [INFO] [stdout] test modules_b::static_body::tests::box_inside ... ok [INFO] [stdout] test modules_b::torsion_body::tests::critical_damping ... ok [INFO] [stdout] test modules_b::torsion_body::tests::apply_torque_affects_motion ... ok [INFO] [stdout] test modules_b::static_body::tests::shape_name ... ok [INFO] [stdout] test modules_b::torsion_body::tests::at_rest_initially ... ok [INFO] [stdout] test modules_b::torsion_body::tests::kinetic_energy ... ok [INFO] [stdout] test modules_b::universal_joint::tests::clamp_at_max1 ... ok [INFO] [stdout] test modules_b::torsion_body::tests::disabled_no_step ... ok [INFO] [stdout] test modules_b::universal_joint::tests::deflection_combined ... ok [INFO] [stdout] test modules_b::torsion_body::tests::spring_returns_to_rest ... ok [INFO] [stdout] test modules_b::torsion_body::tests::potential_energy_at_displaced ... ok [INFO] [stdout] test modules_b::universal_joint::tests::angle_deg_conversion ... ok [INFO] [stdout] test modules_b::universal_joint::tests::neutral_deflection_zero ... ok [INFO] [stdout] test modules_b::universal_joint::tests::disabled_no_motion ... ok [INFO] [stdout] test modules_b::torsion_body::tests::natural_frequency ... ok [INFO] [stdout] test modules_b::universal_joint::tests::kinetic_energy ... ok [INFO] [stdout] test modules_b::universal_joint::tests::reset_zeroes ... ok [INFO] [stdout] test modules_b::universal_joint::tests::torque1_rotates_axis1 ... ok [INFO] [stdout] test modules_b::velocity_verlet::tests::applied_force_moves_particle ... ok [INFO] [stdout] test modules_b::velocity_verlet::tests::clear_resets ... ok [INFO] [stdout] test modules_b::velocity_verlet::tests::kinetic_energy_increases ... ok [INFO] [stdout] test modules_b::velocity_verlet::tests::infinite_mass_particle_static ... ok [INFO] [stdout] test modules_b::velocity_verlet::tests::particle_falls_under_gravity ... ok [INFO] [stdout] test modules_b::velocity_verlet::tests::particle_count ... ok [INFO] [stdout] test modules_b::universal_joint::tests::torque2_rotates_axis2 ... ok [INFO] [stdout] test modules_b::velocity_verlet::tests::step_count_increments ... ok [INFO] [stdout] test modules_b::velocity_verlet::tests::damping_reduces_speed ... ok [INFO] [stdout] test modules_b::velocity_verlet::tests::time_advances ... ok [INFO] [stdout] test modules_b::vibration_body::tests::damping_ratio_underdamped ... ok [INFO] [stdout] test modules_b::vibration_body::tests::impulse_sets_velocity ... ok [INFO] [stdout] test modules_b::vibration_body::tests::omega0_positive ... ok [INFO] [stdout] test modules_b::vibration_body::tests::potential_energy_nonzero_when_displaced ... ok [INFO] [stdout] test modules_b::vibration_body::tests::reset_to_rest ... ok [INFO] [stdout] test modules_b::vibration_body::tests::spring_restores_to_equilibrium ... ok [INFO] [stdout] test modules_b::vibration_body::tests::steps_increment ... ok [INFO] [stdout] test modules_b::vibration_body::tests::period_nonzero ... ok [INFO] [stdout] test modules_b::vibration_body::tests::kinetic_energy_nonzero_when_moving ... ok [INFO] [stdout] test modules_b::vibration_body::tests::total_energy_non_negative ... ok [INFO] [stdout] test modules_b::viscous_body::tests::drag_slows_body ... ok [INFO] [stdout] test modules_b::viscous_body::tests::gravity_accelerates_at_rest ... ok [INFO] [stdout] test modules_b::viscous_body::tests::impulse_changes_vel ... ok [INFO] [stdout] test modules_b::viscous_body::tests::kinetic_energy_non_negative ... ok [INFO] [stdout] test modules_b::viscous_body::tests::step_count ... ok [INFO] [stdout] test modules_b::viscous_body::tests::terminal_velocity_computed ... ok [INFO] [stdout] test modules_b::viscous_body::tests::time_constant ... ok [INFO] [stdout] test modules_b::viscous_body::tests::zero_drag_constant_velocity ... ok [INFO] [stdout] test modules_b::vortex_field::tests::clear_empties ... ok [INFO] [stdout] test modules_b::viscous_body::tests::time_advances ... ok [INFO] [stdout] test modules_b::vortex_field::tests::circulation_positive ... ok [INFO] [stdout] test modules_b::viscous_body::tests::reset_zeroes_state ... ok [INFO] [stdout] test modules_b::vortex_field::tests::field_accumulates_vortices ... ok [INFO] [stdout] test modules_b::vortex_field::tests::disabled_vortex_zero_velocity ... ok [INFO] [stdout] test modules_b::vortex_field::tests::apply_updates_velocities ... ok [INFO] [stdout] test modules_b::vortex_field::tests::sample_sums_vortices ... ok [INFO] [stdout] test modules_b::vortex_field::tests::velocity_nonzero_within_radius ... ok [INFO] [stdout] test modules_b::wave_body::tests::frequency_hz_converts ... ok [INFO] [stdout] test modules_b::vortex_field::tests::velocity_zero_outside_radius ... ok [INFO] [stdout] test modules_b::vortex_field::tests::time_advances ... ok [INFO] [stdout] test modules_b::vortex_field::tests::set_enabled_disables ... ok [INFO] [stdout] test modules_b::wave_body::tests::default_is_valid ... ok [INFO] [stdout] test modules_b::wave_body::tests::step_advances_time ... ok [INFO] [stdout] test modules_b::wave_body::tests::phase_shifts_wave ... ok [INFO] [stdout] test modules_b::wave_body::tests::kinetic_energy_non_negative ... ok [INFO] [stdout] test modules_b::wave_body::tests::steps_increment ... ok [INFO] [stdout] test modules_b::wave_body::tests::wave_height_oscillates ... ok [INFO] [stdout] test modules_b::wheel_body::tests::angle_advances ... ok [INFO] [stdout] test modules_b::wheel_body::tests::drive_torque_accelerates ... ok [INFO] [stdout] test modules_b::wheel_body::tests::brake_reduces_speed ... ok [INFO] [stdout] test modules_b::wave_body::tests::wave_dir_normalized ... ok [INFO] [stdout] test modules_b::wheel_body::tests::reset_zeroes ... ok [INFO] [stdout] test modules_b::wheel_body::tests::inertia_computed_correctly ... ok [INFO] [stdout] test modules_b::wheel_body::tests::kinetic_energy_non_negative ... ok [INFO] [stdout] test modules_b::wheel_body::tests::rim_speed_proportional ... ok [INFO] [stdout] test modules_b::wheel_body::tests::rpm_consistent ... ok [INFO] [stdout] test modules_b::wheel_body::tests::step_count ... ok [INFO] [stdout] test modules_b::wheel_body::tests::rolling_friction_decelerates ... ok [INFO] [stdout] test modules_b::wind_body::tests::drag_opposes_motion ... ok [INFO] [stdout] test modules_b::wind_body::tests::air_density_set ... ok [INFO] [stdout] test modules_b::wind_body::tests::gravity_works ... ok [INFO] [stdout] test modules_b::wind_body::tests::kinetic_energy_non_negative ... ok [INFO] [stdout] test modules_b::wind_body::tests::reset_zeroes ... ok [INFO] [stdout] test modules_b::wind_body::tests::higher_drag_coeff_greater_force ... ok [INFO] [stdout] test modules_b::wind_body::tests::step_count ... ok [INFO] [stdout] test modules_b::wind_body::tests::wind_pushes_body ... ok [INFO] [stdout] test modules_b::wind_body::tests::time_advances ... ok [INFO] [stdout] test modules_b::xpbd_cloth::tests::constraint_count ... ok [INFO] [stdout] test modules_b::wind_body::tests::zero_relative_vel_zero_drag ... ok [INFO] [stdout] test modules_b::xpbd_cloth::tests::constraint_limits_stretch ... ok [INFO] [stdout] test modules_b::xpbd_cloth::tests::clear_resets ... ok [INFO] [stdout] test modules_b::xpbd_cloth::tests::particle_count ... ok [INFO] [stdout] test modules_b::xpbd_cloth::tests::particle_falls_under_gravity ... ok [INFO] [stdout] test modules_b::xpbd_cloth::tests::kinetic_energy_non_negative ... ok [INFO] [stdout] test modules_b::xpbd_cloth::tests::static_particle_does_not_move ... ok [INFO] [stdout] test modules_b::xpbd_cloth::tests::static_particle_detection ... ok [INFO] [stdout] test modules_b::xpbd_cloth::tests::time_advances ... ok [INFO] [stdout] test modules_b::xpbd_particle::tests::clear_empties ... ok [INFO] [stdout] test modules_b::xpbd_particle::tests::ground_collision_stops_fall ... ok [INFO] [stdout] test modules_b::xpbd_particle::tests::kinetic_energy_non_negative ... ok [INFO] [stdout] test modules_b::xpbd_particle::tests::particle_falls ... ok [INFO] [stdout] test modules_b::xpbd_particle::tests::restitution_bounces ... ok [INFO] [stdout] test modules_b::xpbd_particle::tests::particle_count ... ok [INFO] [stdout] test modules_b::xpbd_particle::tests::static_particle_detection ... ok [INFO] [stdout] test modules_b::xpbd_particle::tests::static_particle_stays ... ok [INFO] [stdout] test modules_b::xpbd_cloth::tests::step_count_increments ... ok [INFO] [stdout] test modules_b::xpbd_particle::tests::step_count ... ok [INFO] [stdout] test modules_b::xpbd_particle::tests::time_advances ... ok [INFO] [stdout] test modules_b::xpbd_shape::tests::high_stiffness_maintains_shape ... ok [INFO] [stdout] test modules_b::xpbd_shape::tests::center_of_mass_correct ... ok [INFO] [stdout] test modules_b::xpbd_shape::tests::kinetic_energy_non_negative ... ok [INFO] [stdout] test modules_b::xpbd_shape::tests::clear_empties ... ok [INFO] [stdout] test modules_b::xpbd_shape::tests::rest_center_matches_initial ... ok [INFO] [stdout] test modules_b::xpbd_shape::tests::particle_count ... ok [INFO] [stdout] test modules_b::xpbd_shape::tests::particle_falls ... ok [INFO] [stdout] test modules_b::xpbd_shape::tests::step_count ... ok [INFO] [stdout] test modules_b::xpbd_shape::tests::time_advances ... ok [INFO] [stdout] test modules_b::xpbd_volume::tests::clear_resets ... ok [INFO] [stdout] test modules_b::xpbd_volume::tests::default_valid ... ok [INFO] [stdout] test modules_b::xpbd_shape::tests::stiffness_clamped ... ok [INFO] [stdout] test modules_b::xpbd_volume::tests::gravity_direction ... ok [INFO] [stdout] test modules_b::xpbd_volume::tests::constraint_registered ... ok [INFO] [stdout] test modules_b::xpbd_volume::tests::particle_falls ... ok [INFO] [stdout] test modules_b::xpbd_volume::tests::static_particle_fixed ... ok [INFO] [stdout] test modules_b::xpbd_volume::tests::particle_count ... ok [INFO] [stdout] test modules_b::xpbd_volume::tests::step_count ... ok [INFO] [stdout] test modules_b::xpbd_volume::tests::tet_volume_positive ... ok [INFO] [stdout] test modules_b::yoke_joint::tests::compliance_softens ... ok [INFO] [stdout] test modules_b::xpbd_volume::tests::time_advances ... ok [INFO] [stdout] test modules_b::yoke_joint::tests::default_enabled ... ok [INFO] [stdout] test modules_b::yoke_joint::tests::iterations_increment ... ok [INFO] [stdout] test modules_b::yoke_joint::tests::nonzero_error_when_displaced ... ok [INFO] [stdout] test modules_b::yoke_joint::tests::reset_clears_iterations ... ok [INFO] [stdout] test modules_b::yoke_joint::tests::set_anchor ... ok [INFO] [stdout] test modules_b::yoke_joint::tests::solve_produces_correction ... ok [INFO] [stdout] test modules_b::yoke_joint::tests::zero_error_at_anchor ... ok [INFO] [stdout] test modules_b::velocity_verlet::tests::no_gravity_no_motion ... ok [INFO] [stdout] test modules_b::wave_body::tests::restoring_force_towards_wave ... ok [INFO] [stdout] test modules_b::zero_gravity_body::tests::constant_velocity_in_zero_grav ... ok [INFO] [stdout] test modules_b::zero_gravity_body::tests::damping_reduces_speed ... ok [INFO] [stdout] test modules_b::yoke_joint::tests::body_ids_set ... ok [INFO] [stdout] test modules_b::yoke_joint::tests::disabled_joint_no_correction ... ok [INFO] [stdout] test modules_b::wave_body::tests::reset_zeroes_state ... ok [INFO] [stdout] test modules_b::zero_gravity_body::tests::force_accelerates ... ok [INFO] [stdout] test modules_b::zero_gravity_body::tests::impulse_changes_vel ... ok [INFO] [stdout] test modules_b::zero_gravity_body::tests::time_advances ... ok [INFO] [stdout] test modules_b::zero_gravity_body::tests::quaternion_stays_normalized ... ok [INFO] [stdout] test modules_b::zero_gravity_body::tests::kinetic_energy_positive_when_moving ... ok [INFO] [stdout] test modules_b::zero_gravity_body::tests::reset_zeroes_all ... ok [INFO] [stdout] test modules_b::zero_gravity_body::tests::step_count ... ok [INFO] [stdout] test modules_c::actuator_body::tests::test_extension_clamped_to_max_stroke ... ok [INFO] [stdout] test modules_c::actuator_body::tests::test_initial_state ... ok [INFO] [stdout] test modules_c::actuator_body::tests::test_pressure_clamped ... ok [INFO] [stdout] test modules_b::zero_gravity_body::tests::torque_changes_angular_vel ... ok [INFO] [stdout] test modules_c::actuator_body::tests::test_force_at_full_pressure ... ok [INFO] [stdout] test modules_c::actuator_body::tests::test_force_at_zero_pressure ... ok [INFO] [stdout] test modules_c::actuator_body::tests::test_is_retracted_initially ... ok [INFO] [stdout] test modules_c::balloon_body::tests::burst_detection ... ok [INFO] [stdout] test modules_c::balloon_body::tests::deflate_clamps_to_zero ... ok [INFO] [stdout] test modules_c::actuator_body::tests::test_step_extends_actuator ... ok [INFO] [stdout] test modules_c::balloon_body::tests::deflate_decreases_gas ... ok [INFO] [stdout] test modules_c::actuator_body::tests::test_stroke_ratio ... ok [INFO] [stdout] test modules_c::balloon_body::tests::inflate_increases_gas ... ok [INFO] [stdout] test modules_c::balloon_body::tests::internal_pressure_positive ... ok [INFO] [stdout] test modules_c::balloon_body::tests::step_radius_stays_positive ... ok [INFO] [stdout] test modules_c::balloon_body::tests::surface_area_positive ... ok [INFO] [stdout] test modules_c::actuator_body::tests::test_reset ... ok [INFO] [stdout] test modules_c::balloon_body::tests::volume_positive ... ok [INFO] [stdout] test modules_c::actuator_body::tests::test_set_position ... ok [INFO] [stdout] test modules_c::belt_drive::tests::test_belt_speed ... ok [INFO] [stdout] test modules_c::belt_drive::tests::test_driven_omega_reduced ... ok [INFO] [stdout] test modules_c::belt_drive::tests::test_max_force_ratio_positive ... ok [INFO] [stdout] test modules_c::belt_drive::tests::test_max_power_at_rest_is_zero ... ok [INFO] [stdout] test modules_c::belt_drive::tests::test_efficiency_clamped ... ok [INFO] [stdout] test modules_c::belt_drive::tests::test_gear_ratio ... ok [INFO] [stdout] test modules_c::belt_drive::tests::test_reset ... ok [INFO] [stdout] test modules_c::belt_drive::tests::test_slip_reduces_belt_speed ... ok [INFO] [stdout] test modules_c::balloon_body::tests::elastic_force_at_rest_zero ... ok [INFO] [stdout] test modules_c::bevel_gear::tests::test_efficiency_clamped ... ok [INFO] [stdout] test modules_c::balloon_body::tests::move_updates_position ... ok [INFO] [stdout] test modules_c::bevel_gear::tests::test_input_power ... ok [INFO] [stdout] test modules_c::bevel_gear::tests::test_is_miter ... ok [INFO] [stdout] test modules_c::bevel_gear::tests::test_not_miter ... ok [INFO] [stdout] test modules_c::bevel_gear::tests::test_output_power_less_than_input ... ok [INFO] [stdout] test modules_c::bevel_gear::tests::test_reset ... ok [INFO] [stdout] test modules_c::bevel_gear::tests::test_shaft_angle_rad ... ok [INFO] [stdout] test modules_c::bevel_gear::tests::test_output_omega ... ok [INFO] [stdout] test modules_c::bevel_gear::tests::test_output_torque_larger ... ok [INFO] [stdout] test modules_c::brake_body::tests::test_cooling ... ok [INFO] [stdout] test modules_c::brake_body::tests::test_heat_accumulates ... ok [INFO] [stdout] test modules_c::brake_body::tests::test_initial_state ... ok [INFO] [stdout] test modules_c::brake_body::tests::test_no_torque_when_disengaged ... ok [INFO] [stdout] test modules_c::brake_body::tests::test_locked_when_stopped ... ok [INFO] [stdout] test modules_c::brake_body::tests::test_power ... ok [INFO] [stdout] test modules_c::brake_body::tests::test_set_clamp ... ok [INFO] [stdout] test modules_c::brake_body::tests::test_reset ... ok [INFO] [stdout] test modules_c::cam_follower::tests::test_cam_radius_at_zero ... ok [INFO] [stdout] test modules_c::brake_body::tests::test_torque_uses_static_mu_at_zero ... ok [INFO] [stdout] test modules_c::cam_follower::tests::test_contact_force_positive ... ok [INFO] [stdout] test modules_c::brake_body::tests::test_torque_when_engaged ... ok [INFO] [stdout] test modules_c::cam_follower::tests::test_follower_pos_in_range ... ok [INFO] [stdout] test modules_c::cam_follower::tests::test_initial_lift_zero ... ok [INFO] [stdout] test modules_c::cam_follower::tests::test_max_lift ... ok [INFO] [stdout] test modules_c::belt_drive::tests::test_tight_greater_than_slack ... ok [INFO] [stdout] test modules_c::cam_follower::tests::test_step_advances_angle ... ok [INFO] [stdout] test modules_c::bevel_gear::tests::test_gear_ratio ... ok [INFO] [stdout] test modules_c::capsule_body::tests::closest_point_at_middle ... ok [INFO] [stdout] test modules_c::cam_follower::tests::test_set_omega ... ok [INFO] [stdout] test modules_c::capsule_body::tests::closest_point_on_axis ... ok [INFO] [stdout] test modules_c::cam_follower::tests::test_rpm ... ok [INFO] [stdout] test modules_c::capsule_body::tests::inertia_longitudinal_positive ... ok [INFO] [stdout] test modules_c::cam_follower::tests::test_reset ... ok [INFO] [stdout] test modules_c::capsule_body::tests::inertia_transverse_positive ... ok [INFO] [stdout] test modules_c::capsule_body::tests::step_applies_gravity ... ok [INFO] [stdout] test modules_c::capsule_body::tests::volume_positive ... ok [INFO] [stdout] test modules_c::capsule_body::tests::volume_sphere_limit ... ok [INFO] [stdout] test modules_c::capsule_body::tests::new_capsule_at_origin ... ok [INFO] [stdout] test modules_c::chain_drive::tests::test_chain_speed ... ok [INFO] [stdout] test modules_c::chain_drive::tests::test_driven_omega_reduced ... ok [INFO] [stdout] test modules_c::cam_follower::tests::test_max_lift_at_pi ... ok [INFO] [stdout] test modules_c::chain_drive::tests::test_driver_radius ... ok [INFO] [stdout] test modules_c::chain_drive::tests::test_efficiency_clamped ... ok [INFO] [stdout] test modules_c::chain_drive::tests::test_has_slack ... ok [INFO] [stdout] test modules_c::chain_drive::tests::test_gear_ratio ... ok [INFO] [stdout] test modules_c::chain_drive::tests::test_tight_tension_at_rest ... ok [INFO] [stdout] test modules_c::capsule_body::tests::step_integrates_velocity ... ok [INFO] [stdout] test modules_c::chain_drive::tests::test_reset ... ok [INFO] [stdout] test modules_c::capsule_body::tests::total_length_correct ... ok [INFO] [stdout] test modules_c::clutch_body::tests::test_cool ... ok [INFO] [stdout] test modules_c::chain_drive::tests::test_center_distance_positive ... ok [INFO] [stdout] test modules_c::chain_drive::tests::test_chain_length ... ok [INFO] [stdout] test modules_c::clutch_body::tests::test_heat_on_slip ... ok [INFO] [stdout] test modules_c::clutch_body::tests::test_initial_state ... ok [INFO] [stdout] test modules_c::clutch_body::tests::test_lock_when_speeds_match ... ok [INFO] [stdout] test modules_c::clutch_body::tests::test_max_torque_at_full_engagement ... ok [INFO] [stdout] test modules_c::clutch_body::tests::test_max_torque_zero_at_zero_engagement ... ok [INFO] [stdout] test modules_c::clutch_body::tests::test_no_power_when_disengaged ... ok [INFO] [stdout] test modules_c::clutch_body::tests::test_reset ... ok [INFO] [stdout] test modules_c::clutch_body::tests::test_slip_speed ... ok [INFO] [stdout] test modules_c::clutch_body::tests::test_slipping_when_speed_diff ... ok [INFO] [stdout] test modules_c::collision_plane::tests::normal_normalized ... ok [INFO] [stdout] test modules_c::collision_plane::tests::point_above_true ... ok [INFO] [stdout] test modules_c::collision_plane::tests::point_below_false ... ok [INFO] [stdout] test modules_c::collision_plane::tests::project_point_on_plane ... ok [INFO] [stdout] test modules_c::collision_plane::tests::resolve_pushes_sphere_out ... ok [INFO] [stdout] test modules_c::collision_plane::tests::resolve_reflects_velocity ... ok [INFO] [stdout] test modules_c::collision_plane::tests::signed_dist_above ... ok [INFO] [stdout] test modules_c::collision_plane::tests::signed_dist_below ... ok [INFO] [stdout] test modules_c::collision_plane::tests::sphere_contact_no_penetration ... ok [INFO] [stdout] test modules_c::collision_plane::tests::sphere_contact_penetrating ... ok [INFO] [stdout] test modules_c::contact_cache::tests::test_cc_clear ... ok [INFO] [stdout] test modules_c::contact_cache::tests::test_cc_evict_old ... ok [INFO] [stdout] test modules_c::contact_cache::tests::test_cc_find_reversed ... ok [INFO] [stdout] test modules_c::contact_cache::tests::test_cc_has_contact ... ok [INFO] [stdout] test modules_c::contact_cache::tests::test_cc_insert_and_find ... ok [INFO] [stdout] test modules_c::contact_cache::tests::test_cc_warm_lambda ... ok [INFO] [stdout] test modules_c::contact_cache::tests::test_cc_warm_lambda_missing ... ok [INFO] [stdout] test modules_c::contact_cache::tests::test_default_config ... ok [INFO] [stdout] test modules_c::contact_cache::tests::test_new_cache_empty ... ok [INFO] [stdout] test modules_c::contact_manifold_v2::tests::add_point ... ok [INFO] [stdout] test modules_c::contact_manifold_v2::tests::manifold_cache_total_contacts ... ok [INFO] [stdout] test modules_c::contact_manifold_v2::tests::max_depth ... ok [INFO] [stdout] test modules_c::contact_manifold_v2::tests::prune_stale ... ok [INFO] [stdout] test modules_c::contact_manifold_v2::tests::trim_to_max_points ... ok [INFO] [stdout] test modules_c::contact_manifold_v2::tests::update_lambda_n_clamped ... ok [INFO] [stdout] test modules_c::contact_manifold_v2::tests::warm_start_scale ... ok [INFO] [stdout] test modules_c::coupled_oscillator::tests::center_of_mass_zero_at_rest ... ok [INFO] [stdout] test modules_c::coupled_oscillator::tests::displacement_then_step ... ok [INFO] [stdout] test modules_c::coupled_oscillator::tests::energy_conserved_no_damping ... ok [INFO] [stdout] test modules_c::coupled_oscillator::tests::forces_symmetric_chain ... ok [INFO] [stdout] test modules_c::coupled_oscillator::tests::initial_zero_energy ... ok [INFO] [stdout] test modules_c::coupled_oscillator::tests::many_steps_finite ... ok [INFO] [stdout] test modules_c::coupled_oscillator::tests::normal_frequencies_count ... ok [INFO] [stdout] test modules_c::coupled_oscillator::tests::total_energy_initially_pe_only ... ok [INFO] [stdout] test modules_c::coupled_oscillator::tests::normal_frequencies_increasing ... ok [INFO] [stdout] test modules_c::coupled_oscillator::tests::normal_frequencies_positive ... ok [INFO] [stdout] test modules_c::cylinder_body::tests::bottom_top_center ... ok [INFO] [stdout] test modules_c::cylinder_body::tests::density_positive ... ok [INFO] [stdout] test modules_c::cylinder_body::tests::rolling_constraint_sets_velocity ... ok [INFO] [stdout] test modules_c::cylinder_body::tests::axial_inertia_positive ... ok [INFO] [stdout] test modules_c::cylinder_body::tests::new_cylinder_at_origin ... ok [INFO] [stdout] test modules_c::cylinder_body::tests::step_applies_gravity ... ok [INFO] [stdout] test modules_c::cylinder_body::tests::step_updates_roll_angle ... ok [INFO] [stdout] test modules_c::cylinder_body::tests::torque_changes_roll_rate ... ok [INFO] [stdout] test modules_c::contact_manifold_v2::tests::average_position_midpoint ... ok [INFO] [stdout] test modules_c::cylinder_body::tests::volume_correct ... ok [INFO] [stdout] test modules_c::damper_body::tests::test_force_negative_for_positive_velocity ... ok [INFO] [stdout] test modules_c::damper_body::tests::test_force_proportional_to_velocity ... ok [INFO] [stdout] test modules_c::cylinder_body::tests::transverse_inertia_positive ... ok [INFO] [stdout] test modules_c::damper_body::tests::test_power_dissipation ... ok [INFO] [stdout] test modules_c::damper_body::tests::test_compression_ratio ... ok [INFO] [stdout] test modules_c::damper_body::tests::test_impulse_accumulates ... ok [INFO] [stdout] test modules_c::damper_body::tests::test_initial_state ... ok [INFO] [stdout] test modules_c::contact_manifold_v2::tests::initial_empty ... ok [INFO] [stdout] test modules_c::contact_manifold_v2::tests::manifold_cache_get_or_create ... ok [INFO] [stdout] test modules_c::damper_body::tests::test_step_updates_displacement ... ok [INFO] [stdout] test modules_c::double_pendulum::tests::bob1_distance_from_origin ... ok [INFO] [stdout] test modules_c::double_pendulum::tests::bob1_pos_finite ... ok [INFO] [stdout] test modules_c::double_pendulum::tests::different_masses_affect_energy ... ok [INFO] [stdout] test modules_c::damper_body::tests::test_reset ... ok [INFO] [stdout] test modules_c::damper_body::tests::test_set_c ... ok [INFO] [stdout] test modules_c::double_pendulum::tests::initial_kinetic_energy_zero_if_no_velocity ... ok [INFO] [stdout] test modules_c::double_pendulum::tests::rk4_step_lower_error_than_euler ... ok [INFO] [stdout] test modules_c::double_pendulum::tests::kinetic_energy_positive ... ok [INFO] [stdout] test modules_c::double_pendulum::tests::step_changes_angles ... ok [INFO] [stdout] test modules_c::double_pendulum::tests::many_steps_finite ... ok [INFO] [stdout] test modules_c::damper_body::tests::test_stroke_clamped ... ok [INFO] [stdout] test modules_c::double_spring::tests::test_both_masses_move ... ok [INFO] [stdout] test modules_c::double_spring::tests::test_external_force ... ok [INFO] [stdout] test modules_c::double_spring::tests::test_initial_state ... ok [INFO] [stdout] test modules_c::double_spring::tests::test_kinetic_energy_at_rest ... ok [INFO] [stdout] test modules_c::double_spring::tests::test_omega1 ... ok [INFO] [stdout] test modules_c::double_spring::tests::test_omega2 ... ok [INFO] [stdout] test modules_c::double_pendulum::tests::bob2_farther_than_bob1 ... ok [INFO] [stdout] test modules_c::double_spring::tests::test_potential_energy_at_displacement ... ok [INFO] [stdout] test modules_c::duffing_body::tests::accel_at_origin ... ok [INFO] [stdout] test modules_c::duffing_body::tests::euler_step_changes_state ... ok [INFO] [stdout] test modules_c::duffing_body::tests::initial_state ... ok [INFO] [stdout] test modules_c::double_spring::tests::test_reset ... ok [INFO] [stdout] test modules_c::duffing_body::tests::rk4_step_finite ... ok [INFO] [stdout] test modules_c::duffing_body::tests::time_advances_after_step ... ok [INFO] [stdout] test modules_c::double_spring::tests::test_step_from_displaced ... ok [INFO] [stdout] test modules_c::duffing_body::tests::trajectory_finite ... ok [INFO] [stdout] test modules_c::duffing_body::tests::trajectory_length ... ok [INFO] [stdout] test modules_c::elastic_mesh::tests::center_of_mass_computed ... ok [INFO] [stdout] test modules_c::elastic_mesh::tests::elastic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_c::double_spring::tests::test_total_energy_decreases_with_damping ... ok [INFO] [stdout] test modules_c::double_pendulum::tests::bob2_pos_finite ... ok [INFO] [stdout] test modules_c::duffing_body::tests::kinetic_energy_nonneg ... ok [INFO] [stdout] test modules_c::duffing_body::tests::no_driving_decays ... ok [INFO] [stdout] test modules_c::duffing_body::tests::phase_point ... ok [INFO] [stdout] test modules_c::elastic_mesh::tests::fixed_particles_dont_move ... ok [INFO] [stdout] test modules_c::elastic_mesh::tests::grid_particle_count ... ok [INFO] [stdout] test modules_c::elastic_mesh::tests::rest_lengths_equal_spacing ... ok [INFO] [stdout] test modules_c::elastic_mesh::tests::step_multiple_frames ... ok [INFO] [stdout] test modules_c::elastic_mesh::tests::rows_and_cols_stored ... ok [INFO] [stdout] test modules_c::elastic_mesh::tests::spring_count_correct ... ok [INFO] [stdout] test modules_c::elastic_mesh::tests::step_moves_free_particles ... ok [INFO] [stdout] test modules_c::elastic_mesh::tests::top_row_fixed ... ok [INFO] [stdout] test modules_c::fem_corotational::tests::mat3x3_frobenius_identity_is_sqrt3 ... ok [INFO] [stdout] test modules_c::fem_corotational::tests::compute_deformation_gradient_no_panic_for_degenerate ... ok [INFO] [stdout] test modules_c::fem_corotational::tests::deformation_measure_nonzero_for_stretched ... ok [INFO] [stdout] test modules_c::fem_corotational::tests::deformation_measure_zero_for_identity ... ok [INFO] [stdout] test modules_c::fem_corotational::tests::mat3x3_mul_identity ... ok [INFO] [stdout] test modules_c::fem_corotational::tests::green_strain_zero_for_identity ... ok [INFO] [stdout] test modules_c::fem_corotational::tests::identity_deformation_f_is_identity ... ok [INFO] [stdout] test modules_c::fem_corotational::tests::polar_decompose_identity ... ok [INFO] [stdout] test modules_c::fem_corotational::tests::strain_energy_increases_with_stretch ... ok [INFO] [stdout] test modules_c::fem_corotational::tests::strain_energy_zero_for_identity ... ok [INFO] [stdout] test modules_c::fem_linear::tests::empty_mesh_volume_zero ... ok [INFO] [stdout] test modules_c::fem_linear::tests::material_mu_positive ... ok [INFO] [stdout] test modules_c::fem_linear::tests::fem_mesh_add_nodes_and_tets ... ok [INFO] [stdout] test modules_c::fem_linear::tests::fem_mesh_total_volume ... ok [INFO] [stdout] test modules_c::fem_linear::tests::shape_gradients_zero_for_degenerate_tet ... ok [INFO] [stdout] test modules_c::fem_linear::tests::stiffness_higher_for_stiffer_material ... ok [INFO] [stdout] test modules_c::fiber_body::tests::bending_angle_straight_is_zero ... ok [INFO] [stdout] test modules_c::fem_linear::tests::shape_gradients_nonzero_for_valid_tet ... ok [INFO] [stdout] test modules_c::fem_linear::tests::stiffness_scalar_positive ... ok [INFO] [stdout] test modules_c::fiber_body::tests::first_particle_fixed ... ok [INFO] [stdout] test modules_c::fem_linear::tests::tet_signed_volume_positive ... ok [INFO] [stdout] test modules_c::fiber_body::tests::gravity_drops_free_particles ... ok [INFO] [stdout] test modules_c::fiber_body::tests::bending_angle_right_angle_is_pi_half ... ok [INFO] [stdout] test modules_c::fiber_body::tests::current_length_near_rest ... ok [INFO] [stdout] test modules_c::fem_linear::tests::material_lambda_positive ... ok [INFO] [stdout] test modules_c::fiber_body::tests::rest_length ... ok [INFO] [stdout] test modules_c::fiber_body::tests::single_particle_fiber ... ok [INFO] [stdout] test modules_c::fiber_body::tests::step_does_not_move_fixed_particle ... ok [INFO] [stdout] test modules_c::fiber_body_v2::tests::bending_angle_straight ... ok [INFO] [stdout] test modules_c::fiber_body::tests::multiple_steps_no_nan ... ok [INFO] [stdout] test modules_c::fiber_body::tests::particle_count ... ok [INFO] [stdout] test modules_c::fiber_body_v2::tests::rest_length_correct ... ok [INFO] [stdout] test modules_c::fiber_body_v2::tests::root_pinned_stays_fixed ... ok [INFO] [stdout] test modules_c::fiber_body_v2::tests::segment_length_at_rest ... ok [INFO] [stdout] test modules_c::fiber_body_v2::tests::step_gravity_moves_tip_down ... ok [INFO] [stdout] test modules_c::fiber_body_v2::tests::kinetic_energy_increases_with_gravity ... ok [INFO] [stdout] test modules_c::fluid_body::tests::add_particle ... ok [INFO] [stdout] test modules_c::fiber_body_v2::tests::kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_c::fiber_body_v2::tests::segment_count_correct ... ok [INFO] [stdout] test modules_c::fluid_body::tests::average_density_positive_after_step ... ok [INFO] [stdout] test modules_c::fiber_body_v2::tests::stretch_force_zero_at_rest ... ok [INFO] [stdout] test modules_c::fiber_body_v2::tests::tip_exists ... ok [INFO] [stdout] test modules_c::fluid_body::tests::compute_densities_sets_positive ... ok [INFO] [stdout] test modules_c::fluid_body::tests::empty_average_density_zero ... ok [INFO] [stdout] test modules_c::fluid_body::tests::kinetic_energy_after_gravity ... ok [INFO] [stdout] test modules_c::fluid_body::tests::new_fluid_empty ... ok [INFO] [stdout] test modules_c::fluid_body::tests::no_nan_after_multiple_steps ... ok [INFO] [stdout] test modules_c::fluid_body::tests::poly6_kernel_positive_inside ... ok [INFO] [stdout] test modules_c::fluid_body::tests::poly6_kernel_zero_at_boundary ... ok [INFO] [stdout] test modules_c::fluid_body::tests::spiky_grad_zero_outside ... ok [INFO] [stdout] test modules_c::fluid_body::tests::step_changes_position ... ok [INFO] [stdout] test modules_c::flywheel::tests::test_angular_momentum ... ok [INFO] [stdout] test modules_c::flywheel::tests::test_at_max_speed ... ok [INFO] [stdout] test modules_c::flywheel::tests::test_brake_decelerates ... ok [INFO] [stdout] test modules_c::flywheel::tests::test_energy_increases ... ok [INFO] [stdout] test modules_c::flywheel::tests::test_initial_state ... ok [INFO] [stdout] test modules_c::flywheel::tests::test_omega_clamped_to_max ... ok [INFO] [stdout] test modules_c::foam_body::tests::bubble_pops_at_surface ... ok [INFO] [stdout] test modules_c::flywheel::tests::test_power_output ... ok [INFO] [stdout] test modules_c::flywheel::tests::test_reset ... ok [INFO] [stdout] test modules_c::flywheel::tests::test_rpm_conversion ... ok [INFO] [stdout] test modules_c::flywheel::tests::test_step_positive_torque ... ok [INFO] [stdout] test modules_c::foam_body::tests::add_bubble ... ok [INFO] [stdout] test modules_c::foam_body::tests::bubble_volume_positive ... ok [INFO] [stdout] test modules_c::foam_body::tests::multiple_steps_no_nan ... ok [INFO] [stdout] test modules_c::foam_body::tests::prune_removes_dead ... ok [INFO] [stdout] test modules_c::foam_body::tests::step_moves_bubble_upward ... ok [INFO] [stdout] test modules_c::foam_spring::tests::elastic_energy_positive_when_displaced ... ok [INFO] [stdout] test modules_c::foam_body::tests::buoyancy_exceeds_weight_for_light_bubble ... ok [INFO] [stdout] test modules_c::foam_body::tests::cross_section_formula ... ok [INFO] [stdout] test modules_c::foam_spring::tests::force_negative_when_displaced ... ok [INFO] [stdout] test modules_c::foam_body::tests::new_body_empty ... ok [INFO] [stdout] test modules_c::foam_spring::tests::damping_ratio_zero_for_undamped ... ok [INFO] [stdout] test modules_c::foam_body::tests::total_volume_sums_alive ... ok [INFO] [stdout] test modules_c::foam_spring::tests::force_zero_at_rest ... ok [INFO] [stdout] test modules_c::foam_spring::tests::network_add_spring ... ok [INFO] [stdout] test modules_c::foam_spring::tests::omega_n_computation ... ok [INFO] [stdout] test modules_c::foam_spring::tests::overdamped_detection ... ok [INFO] [stdout] test modules_c::foam_spring::tests::spring_period_formula ... ok [INFO] [stdout] test modules_c::foam_spring::tests::total_elastic_energy_sums ... ok [INFO] [stdout] test modules_c::gel_body::tests::add_particle ... ok [INFO] [stdout] test modules_c::gel_body::tests::add_spring ... ok [INFO] [stdout] test modules_c::gel_body::tests::bulk_modulus_positive ... ok [INFO] [stdout] test modules_c::gel_body::tests::elastic_energy_at_rest_zero ... ok [INFO] [stdout] test modules_c::gel_body::tests::fixed_particle_no_move ... ok [INFO] [stdout] test modules_c::gel_body::tests::gravity_moves_free_particle_down ... ok [INFO] [stdout] test modules_c::foam_spring::tests::network_add_node ... ok [INFO] [stdout] test modules_c::granular_body::tests::add_grain ... ok [INFO] [stdout] test modules_c::gel_body::tests::max_displacement_starts_zero ... ok [INFO] [stdout] test modules_c::granular_body::tests::center_of_mass_single_grain ... ok [INFO] [stdout] test modules_c::gel_body::tests::new_body_empty ... ok [INFO] [stdout] test modules_c::gel_body::tests::no_nan_after_steps ... ok [INFO] [stdout] test modules_c::gel_body::tests::shear_modulus_positive ... ok [INFO] [stdout] test modules_c::granular_body::tests::empty_body ... ok [INFO] [stdout] test modules_c::gel_body::tests::spring_rest_length ... ok [INFO] [stdout] test modules_c::granular_body::tests::floor_collision_bounces ... ok [INFO] [stdout] test modules_c::granular_body::tests::kinetic_energy_formula ... ok [INFO] [stdout] test modules_c::granular_body::tests::gravity_drops_grain ... ok [INFO] [stdout] test modules_c::granular_body::tests::grain_contact_separation ... ok [INFO] [stdout] test modules_c::granular_body::tests::grain_area_formula ... ok [INFO] [stdout] test modules_c::hydrofoil_body::tests::kinetic_energy_positive_with_speed ... ok [INFO] [stdout] test modules_c::hydrofoil_body::tests::lift_to_drag_positive ... ok [INFO] [stdout] test modules_c::hydrofoil_body::tests::positive_aoa_positive_lift ... ok [INFO] [stdout] test modules_c::hydrofoil_body::tests::negative_aoa_negative_lift ... ok [INFO] [stdout] test modules_c::hydrofoil_body::tests::speed_formula ... ok [INFO] [stdout] test modules_c::hydrofoil_body::tests::step_changes_pos ... ok [INFO] [stdout] test modules_c::hydrofoil_body::tests::zero_speed_zero_lift ... ok [INFO] [stdout] test modules_c::hydrofoil_body::tests::wing_area_formula ... ok [INFO] [stdout] test modules_c::ice_body::tests::effective_friction_lower_warm ... ok [INFO] [stdout] test modules_c::ice_body::tests::friction_force_positive ... ok [INFO] [stdout] test modules_c::ice_body::tests::heat_of_fusion_constant ... ok [INFO] [stdout] test modules_c::ice_body::tests::heating_changes_temperature ... ok [INFO] [stdout] test modules_c::ice_body::tests::kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_c::ice_body::tests::melting_at_zero_degrees ... ok [INFO] [stdout] test modules_c::ice_body::tests::speed_zero_at_rest ... ok [INFO] [stdout] test modules_c::ice_body::tests::warm_ice_has_lower_friction ... ok [INFO] [stdout] test modules_c::ice_body::tests::step_with_force_moves_body ... ok [INFO] [stdout] test modules_c::ice_body::tests::new_body_solid ... ok [INFO] [stdout] test modules_c::incremental_potential::tests::active_pair_count_close ... ok [INFO] [stdout] test modules_c::incremental_potential::tests::active_pair_count_far ... ok [INFO] [stdout] test modules_c::incremental_potential::tests::barrier_energy_positive_for_close_pair ... ok [INFO] [stdout] test modules_c::incremental_potential::tests::barrier_energy_zero_for_far_pair ... ok [INFO] [stdout] test modules_c::incremental_potential::tests::barrier_gradient_zero_outside_dhat ... ok [INFO] [stdout] test modules_c::incremental_potential::tests::dist_sq_zero_for_same_pos ... ok [INFO] [stdout] test modules_c::incremental_potential::tests::gradient_step_separates_particles ... ok [INFO] [stdout] test modules_c::incremental_potential::tests::ipc_config_default_values ... ok [INFO] [stdout] test modules_c::incremental_potential::tests::kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_c::incremental_potential::tests::new_particle_zero_vel ... ok [INFO] [stdout] test modules_c::jet_body::tests::delta_v_remaining_positive_with_fuel ... ok [INFO] [stdout] test modules_c::jet_body::tests::fuel_consumed_during_burn ... ok [INFO] [stdout] test modules_c::jet_body::tests::full_throttle_max_thrust ... ok [INFO] [stdout] test modules_c::jet_body::tests::gravity_pulls_down_without_thrust ... ok [INFO] [stdout] test modules_c::jet_body::tests::isp_positive ... ok [INFO] [stdout] test modules_c::jet_body::tests::no_thrust_out_of_fuel ... ok [INFO] [stdout] test modules_c::jet_body::tests::thrust_propels_body_upward ... ok [INFO] [stdout] test modules_c::jet_body::tests::total_impulse_accumulates ... ok [INFO] [stdout] test modules_c::jet_body::tests::tsiolkovsky_formula ... ok [INFO] [stdout] test modules_c::jet_body::tests::zero_throttle_no_thrust ... ok [INFO] [stdout] test modules_c::joint_motor_v2::tests::at_limit_detection ... ok [INFO] [stdout] test modules_c::joint_motor_v2::tests::new_motor_off ... ok [INFO] [stdout] test modules_c::joint_motor_v2::tests::off_motor_zero_force ... ok [INFO] [stdout] test modules_c::joint_motor_v2::tests::position_error_correct ... ok [INFO] [stdout] test modules_c::joint_motor_v2::tests::position_force_towards_target ... ok [INFO] [stdout] test modules_c::granular_body::tests::no_nan_after_many_steps ... ok [INFO] [stdout] test modules_c::joint_motor_v2::tests::position_mode_set ... ok [INFO] [stdout] test modules_c::granular_body::tests::total_kinetic_energy_positive ... ok [INFO] [stdout] test modules_c::joint_motor_v2::tests::position_target_clamped ... ok [INFO] [stdout] test modules_c::joint_motor_v2::tests::reset_zeroes_state ... ok [INFO] [stdout] test modules_c::joint_motor_v2::tests::velocity_mode_set ... ok [INFO] [stdout] test modules_c::laser_body::tests::test_beam_radius_grows ... ok [INFO] [stdout] test modules_c::hydrofoil_body::tests::gravity_pulls_down_at_zero_speed ... ok [INFO] [stdout] test modules_c::joint_motor_v2::tests::step_moves_position ... ok [INFO] [stdout] test modules_c::laser_body::tests::test_inactive_no_energy ... ok [INFO] [stdout] test modules_c::laser_body::tests::test_inactive_power_zero ... ok [INFO] [stdout] test modules_c::laser_body::tests::test_irradiance_positive ... ok [INFO] [stdout] test modules_c::laser_body::tests::test_new_laser_body ... ok [INFO] [stdout] test modules_c::laser_body::tests::test_power_decreases_with_distance ... ok [INFO] [stdout] test modules_c::laser_body::tests::test_reset_energy ... ok [INFO] [stdout] test modules_c::lattice_body::tests::kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_c::laser_body::tests::test_power_at_zero_distance ... ok [INFO] [stdout] test modules_c::hydrofoil_body::tests::drag_positive_at_speed ... ok [INFO] [stdout] test modules_c::lattice_body::tests::new_lattice_at_rest ... ok [INFO] [stdout] test modules_c::laser_body::tests::test_set_power ... ok [INFO] [stdout] test modules_c::lattice_body::tests::node_count_correct ... ok [INFO] [stdout] test modules_c::lattice_body::tests::pinned_node_does_not_move ... ok [INFO] [stdout] test modules_c::lattice_body::tests::positions_spaced_correctly ... ok [INFO] [stdout] test modules_c::lattice_body::tests::spring_count_for_2x2x2 ... ok [INFO] [stdout] test modules_c::lattice_body::tests::spring_count_positive ... ok [INFO] [stdout] test modules_c::lattice_body::tests::step_gravity_moves_nodes ... ok [INFO] [stdout] test modules_c::lattice_body::tests::unpin_allows_movement ... ok [INFO] [stdout] test modules_c::lattice_boltzmann::tests::feq_zero_velocity ... ok [INFO] [stdout] test modules_c::lattice_boltzmann::tests::init_uniform_density ... ok [INFO] [stdout] test modules_c::lattice_boltzmann::tests::collision_step_runs ... ok [INFO] [stdout] test modules_c::lattice_boltzmann::tests::many_steps_stable ... ok [INFO] [stdout] test modules_c::lattice_boltzmann::tests::obstacle_cell_not_updated ... ok [INFO] [stdout] test modules_c::lattice_boltzmann::tests::set_f_and_get ... ok [INFO] [stdout] test modules_c::laser_body::tests::test_step_deposits_energy ... ok [INFO] [stdout] test modules_c::lattice_boltzmann::tests::size_correct ... ok [INFO] [stdout] test modules_c::lattice_body::tests::kinetic_energy_increases_after_gravity ... ok [INFO] [stdout] test modules_c::lattice_boltzmann::tests::streaming_step_runs ... ok [INFO] [stdout] test modules_c::lattice_boltzmann::tests::total_density_conserved ... ok [INFO] [stdout] test modules_c::lattice_boltzmann::tests::w_sums_to_one ... ok [INFO] [stdout] test modules_c::leapfrog_integrator::tests::initialized_flag ... ok [INFO] [stdout] test modules_c::leapfrog_integrator::tests::many_oscillator_steps ... ok [INFO] [stdout] test modules_c::leapfrog_integrator::tests::oscillator_energy_near_conserved ... ok [INFO] [stdout] test modules_c::leapfrog_integrator::tests::oscillator_period ... ok [INFO] [stdout] test modules_c::leapfrog_integrator::tests::oscillator_returns_near_start ... ok [INFO] [stdout] test modules_c::leapfrog_integrator::tests::particle_kinetic_energy ... ok [INFO] [stdout] test modules_c::leapfrog_integrator::tests::particle_no_force_constant_velocity ... ok [INFO] [stdout] test modules_c::leapfrog_integrator::tests::particle_step_gravity ... ok [INFO] [stdout] test modules_c::leapfrog_integrator::tests::trajectory_finite ... ok [INFO] [stdout] test modules_c::leapfrog_integrator::tests::trajectory_length ... ok [INFO] [stdout] test modules_c::liquid_body::tests::test_avg_height_uniform ... ok [INFO] [stdout] test modules_c::liquid_body::tests::test_avg_height_zero ... ok [INFO] [stdout] test modules_c::liquid_body::tests::test_cell_size_affects_volume ... ok [INFO] [stdout] test modules_c::liquid_body::tests::test_height_clamped_to_zero ... ok [INFO] [stdout] test modules_c::liquid_body::tests::test_new_liquid_body ... ok [INFO] [stdout] test modules_c::liquid_body::tests::test_out_of_bounds_get ... ok [INFO] [stdout] test modules_c::liquid_body::tests::test_set_height ... ok [INFO] [stdout] test modules_c::liquid_body::tests::test_step_does_not_crash ... ok [INFO] [stdout] test modules_c::liquid_body::tests::test_total_volume ... ok [INFO] [stdout] test modules_c::lorenz_attractor::tests::chaotic_trajectory ... ok [INFO] [stdout] test modules_c::lorenz_attractor::tests::distance_from_origin_positive ... ok [INFO] [stdout] test modules_c::lorenz_attractor::tests::fixed_point_origin_unstable ... ok [INFO] [stdout] test modules_c::lorenz_attractor::tests::initial_state ... ok [INFO] [stdout] test modules_c::lorenz_attractor::tests::many_steps_finite ... ok [INFO] [stdout] test modules_c::lorenz_attractor::tests::state_matches_fields ... ok [INFO] [stdout] test modules_c::lorenz_attractor::tests::step_changes_state ... ok [INFO] [stdout] test modules_c::lorenz_attractor::tests::trajectory_finite ... ok [INFO] [stdout] test modules_c::lorenz_attractor::tests::trajectory_length ... ok [INFO] [stdout] test modules_c::lorenz_attractor::tests::z_stays_positive_after_long_run ... ok [INFO] [stdout] test modules_c::magnet_body::tests::test_distance ... ok [INFO] [stdout] test modules_c::magnet_body::tests::test_field_at_origin_zero ... ok [INFO] [stdout] test modules_c::magnet_body::tests::test_field_nonzero_at_distance ... ok [INFO] [stdout] test modules_c::magnet_body::tests::test_force_from_field ... ok [INFO] [stdout] test modules_c::magnet_body::tests::test_moment_mag ... ok [INFO] [stdout] test modules_c::magnet_body::tests::test_new_magnet_body ... ok [INFO] [stdout] test modules_c::magnet_body::tests::test_pi_used ... ok [INFO] [stdout] test modules_c::magnet_body::tests::test_potential_energy_aligned ... ok [INFO] [stdout] test modules_c::magnet_body::tests::test_step_moves_body ... ok [INFO] [stdout] test modules_c::material_point::tests::apply_gravity_changes_momentum ... ok [INFO] [stdout] test modules_c::material_point::tests::g2p_moves_particle ... ok [INFO] [stdout] test modules_c::material_point::tests::grid_cell_count ... ok [INFO] [stdout] test modules_c::material_point::tests::multiple_points_sum_mass ... ok [INFO] [stdout] test modules_c::material_point::tests::new_mpm_config_has_positive_cell_size ... ok [INFO] [stdout] test modules_c::material_point::tests::p2g_conserves_mass ... ok [INFO] [stdout] test modules_c::material_point::tests::p2g_increases_grid_mass ... ok [INFO] [stdout] test modules_c::material_point::tests::point_out_of_bounds_not_transferred ... ok [INFO] [stdout] test modules_c::material_point::tests::reset_clears_mass ... ok [INFO] [stdout] test modules_c::material_point::tests::reset_is_idempotent ... ok [INFO] [stdout] test modules_c::membrane_body::tests::test_avg_y_flat ... ok [INFO] [stdout] test modules_c::membrane_body::tests::test_damping_range ... ok [INFO] [stdout] test modules_c::membrane_body::tests::test_new_membrane ... ok [INFO] [stdout] test modules_c::membrane_body::tests::test_pi_used ... ok [INFO] [stdout] test modules_c::membrane_body::tests::test_pin_particle ... ok [INFO] [stdout] test modules_c::membrane_body::tests::test_pinned_does_not_move ... ok [INFO] [stdout] test modules_c::membrane_body::tests::test_pressure_field_exists ... ok [INFO] [stdout] test modules_c::membrane_body::tests::test_spring_count ... ok [INFO] [stdout] test modules_c::membrane_body::tests::test_step_no_crash ... ok [INFO] [stdout] test modules_c::mesh_body::tests::test_aabb_computed ... ok [INFO] [stdout] test modules_c::mesh_body::tests::test_aabb_volume ... ok [INFO] [stdout] test modules_c::mesh_body::tests::test_empty_mesh_aabb ... ok [INFO] [stdout] test modules_c::mesh_body::tests::test_mass_clamped ... ok [INFO] [stdout] test modules_c::mesh_body::tests::test_new_mesh_body ... ok [INFO] [stdout] test modules_c::mesh_body::tests::test_recompute_normals ... ok [INFO] [stdout] test modules_c::mesh_body::tests::test_static_does_not_move ... ok [INFO] [stdout] test modules_c::mesh_body::tests::test_step_moves_with_gravity ... ok [INFO] [stdout] test modules_c::mesh_body::tests::test_translate ... ok [INFO] [stdout] test modules_c::muscle_body::tests::test_activation_clamp ... ok [INFO] [stdout] test modules_c::muscle_body::tests::test_activation_one_gives_positive_force ... ok [INFO] [stdout] test modules_c::muscle_body::tests::test_activation_zero_gives_zero_force ... ok [INFO] [stdout] test modules_c::muscle_body::tests::test_e_constant_used ... ok [INFO] [stdout] test modules_c::muscle_body::tests::test_fiber_velocity_computed ... ok [INFO] [stdout] test modules_c::muscle_body::tests::test_fl_at_optimal ... ok [INFO] [stdout] test modules_c::muscle_body::tests::test_fl_decreases_off_optimal ... ok [INFO] [stdout] test modules_c::muscle_body::tests::test_new_muscle_body ... ok [INFO] [stdout] test modules_c::muscle_body::tests::test_passive_force_at_rest ... ok [INFO] [stdout] test modules_c::muscle_body::tests::test_step_activation_rises ... ok [INFO] [stdout] test modules_c::nbody_gravity::tests::accelerations_count ... ok [INFO] [stdout] test modules_c::nbody_gravity::tests::accelerations_equal_opposite ... ok [INFO] [stdout] test modules_c::nbody_gravity::tests::body_count ... ok [INFO] [stdout] test modules_c::nbody_gravity::tests::center_of_mass_at_origin ... ok [INFO] [stdout] test modules_c::nbody_gravity::tests::empty_system_zero_energy ... ok [INFO] [stdout] test modules_c::nbody_gravity::tests::kinetic_energy_positive ... ok [INFO] [stdout] test modules_c::nbody_gravity::tests::many_steps_finite ... ok [INFO] [stdout] test modules_c::nbody_gravity::tests::potential_energy_negative ... ok [INFO] [stdout] test modules_c::nbody_gravity::tests::step_changes_positions ... ok [INFO] [stdout] test modules_c::nbody_gravity::tests::time_advances ... ok [INFO] [stdout] test modules_c::net_body::tests::test_add_link ... ok [INFO] [stdout] test modules_c::net_body::tests::test_avg_y_flat ... ok [INFO] [stdout] test modules_c::net_body::tests::test_gravity_moves_free_node ... ok [INFO] [stdout] test modules_c::net_body::tests::test_link_only_tension ... ok [INFO] [stdout] test modules_c::net_body::tests::test_new_net_body ... ok [INFO] [stdout] test modules_c::net_body::tests::test_pin_node ... ok [INFO] [stdout] test modules_c::net_body::tests::test_pinned_does_not_move ... ok [INFO] [stdout] test modules_c::net_body::tests::test_step_no_crash ... ok [INFO] [stdout] test modules_c::particle_filter::tests::test_ess_uniform ... ok [INFO] [stdout] test modules_c::particle_filter::tests::test_mean_state0 ... ok [INFO] [stdout] test modules_c::particle_filter::tests::test_new_filter ... ok [INFO] [stdout] test modules_c::particle_filter::tests::test_weights_sum_to_one ... ok [INFO] [stdout] test modules_c::particle_filter::tests::test_normalize ... ok [INFO] [stdout] test modules_c::particle_filter::tests::test_pi_used ... ok [INFO] [stdout] test modules_c::particle_filter::tests::test_propagate_changes_state ... ok [INFO] [stdout] test modules_c::particle_filter::tests::test_resample_count_preserved ... ok [INFO] [stdout] test modules_c::particle_filter::tests::test_update_shifts_weights ... ok [INFO] [stdout] test modules_c::particle_grid::tests::test_cell_for_pos ... ok [INFO] [stdout] test modules_c::particle_grid::tests::test_clear ... ok [INFO] [stdout] test modules_c::particle_grid::tests::test_default_config ... ok [INFO] [stdout] test modules_c::particle_grid::tests::test_insert_and_total ... ok [INFO] [stdout] test modules_c::particle_grid::tests::test_multiple_in_same_cell ... ok [INFO] [stdout] test modules_c::particle_grid::tests::test_neighbors ... ok [INFO] [stdout] test modules_c::particle_grid::tests::test_neighbors_empty_grid ... ok [INFO] [stdout] test modules_c::particle_grid::tests::test_new_empty ... ok [INFO] [stdout] test modules_c::particle_grid::tests::test_stats ... ok [INFO] [stdout] test modules_c::particle_system_v2::tests::test_avg_y_increases_at_start ... ok [INFO] [stdout] test modules_c::particle_system_v2::tests::test_capacity_respected ... ok [INFO] [stdout] test modules_c::particle_system_v2::tests::test_kill_all ... ok [INFO] [stdout] test modules_c::particle_system_v2::tests::test_new_system ... ok [INFO] [stdout] test modules_c::particle_system_v2::tests::test_no_alive_avg_y_zero ... ok [INFO] [stdout] test modules_c::particle_system_v2::tests::test_particles_age_out ... ok [INFO] [stdout] test modules_c::particle_system_v2::tests::test_set_origin ... ok [INFO] [stdout] test modules_c::particle_system_v2::tests::test_step_spawns_particles ... ok [INFO] [stdout] test modules_c::pendulum_chain_v2::tests::test_anchor_pinned ... ok [INFO] [stdout] test modules_c::pendulum_chain_v2::tests::test_anchor_stays_fixed ... ok [INFO] [stdout] test modules_c::pendulum_chain_v2::tests::test_free_link_moves ... ok [INFO] [stdout] test modules_c::pendulum_chain_v2::tests::test_kinetic_energy_nonneg ... ok [INFO] [stdout] test modules_c::pendulum_chain_v2::tests::test_new_chain ... ok [INFO] [stdout] test modules_c::pendulum_chain_v2::tests::test_pi_used ... ok [INFO] [stdout] test modules_c::pendulum_chain_v2::tests::test_step_no_crash ... ok [INFO] [stdout] test modules_c::plasma_body::tests::test_center_of_mass ... ok [INFO] [stdout] test modules_c::plasma_body::tests::test_coulomb_attraction ... ok [INFO] [stdout] test modules_c::plasma_body::tests::test_kinetic_energy_after_step ... ok [INFO] [stdout] test modules_c::plasma_body::tests::test_coulomb_repulsion ... ok [INFO] [stdout] test modules_c::pendulum_chain_v2::tests::test_tip_pos_exists ... ok [INFO] [stdout] test modules_c::pendulum_chain_v2::tests::test_total_length_approx ... ok [INFO] [stdout] test modules_c::plasma_body::tests::test_new_plasma ... ok [INFO] [stdout] test modules_c::plasma_body::tests::test_add_particle ... ok [INFO] [stdout] test modules_c::plasma_body::tests::test_net_charge ... ok [INFO] [stdout] test modules_c::plasma_body::tests::test_step_no_crash ... ok [INFO] [stdout] test modules_c::pneumatic_body::tests::test_add_gas_increases_pressure ... ok [INFO] [stdout] test modules_c::pneumatic_body::tests::test_compress_increases_pressure ... ok [INFO] [stdout] test modules_c::pneumatic_body::tests::test_expand_decreases_pressure ... ok [INFO] [stdout] test modules_c::pneumatic_body::tests::test_heat_increases_pressure ... ok [INFO] [stdout] test modules_c::pneumatic_body::tests::test_force_on_surface ... ok [INFO] [stdout] test modules_c::pneumatic_body::tests::test_new_pneumatic ... ok [INFO] [stdout] test modules_c::pneumatic_body::tests::test_vent_reduces_pressure ... ok [INFO] [stdout] test modules_c::pneumatic_body::tests::test_volume_clamp ... ok [INFO] [stdout] test modules_c::position_based_v2::tests::integrate_applies_gravity ... ok [INFO] [stdout] test modules_c::plasma_body::tests::test_pi_used ... ok [INFO] [stdout] test modules_c::pneumatic_body::tests::test_burst_condition ... ok [INFO] [stdout] test modules_c::pneumatic_body::tests::test_pi_used ... ok [INFO] [stdout] test modules_c::position_based_v2::tests::integrate_skips_pinned ... ok [INFO] [stdout] test modules_c::position_based_v2::tests::particle_new_sets_zero_vel ... ok [INFO] [stdout] test modules_c::position_based_v2::tests::kinetic_energy_positive_for_moving_particle ... ok [INFO] [stdout] test modules_c::position_based_v2::tests::pinned_particle_doesnt_move ... ok [INFO] [stdout] test modules_c::position_based_v2::tests::project_dist_moves_particles_toward_rest ... ok [INFO] [stdout] test modules_c::position_based_v2::tests::kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_c::position_based_v2::tests::update_vel_from_position_change ... ok [INFO] [stdout] test modules_c::position_based_v2::tests::dist_constraint_at_rest_no_change ... ok [INFO] [stdout] test modules_c::position_based_v2::tests::volume_constraint_runs_without_panic ... ok [INFO] [stdout] test modules_c::powder_body::tests::test_add_grain ... ok [INFO] [stdout] test modules_c::powder_body::tests::test_avg_y ... ok [INFO] [stdout] test modules_c::powder_body::tests::test_max_y ... ok [INFO] [stdout] test modules_c::powder_body::tests::test_floor_collision ... ok [INFO] [stdout] test modules_c::powder_body::tests::test_pi_used ... ok [INFO] [stdout] test modules_c::powder_body::tests::test_multiple_grains_no_crash ... ok [INFO] [stdout] test modules_c::powder_body::tests::test_settled_count ... ok [INFO] [stdout] test modules_c::powder_body::tests::test_new_powder ... ok [INFO] [stdout] test modules_c::powder_body::tests::test_grain_falls ... ok [INFO] [stdout] test modules_c::projective_dynamics::tests::local_step_returns_projections ... ok [INFO] [stdout] test modules_c::projective_dynamics::tests::new_particle_has_zero_vel ... ok [INFO] [stdout] test modules_c::projective_dynamics::tests::pd_local_step_empty_constraints ... ok [INFO] [stdout] test modules_c::projective_dynamics::tests::kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_c::projective_dynamics::tests::local_step_target_distance_is_rest_len ... ok [INFO] [stdout] test modules_c::projective_dynamics::tests::global_step_runs_without_panic ... ok [INFO] [stdout] test modules_c::projective_dynamics::tests::constraint_count_correct ... ok [INFO] [stdout] test modules_c::projective_dynamics::tests::predict_moves_particle ... ok [INFO] [stdout] test modules_c::projective_dynamics::tests::predict_skips_pinned ... ok [INFO] [stdout] test modules_c::projective_dynamics::tests::update_vel_correct ... ok [INFO] [stdout] test modules_c::rack_body::tests::test_force_moves_rack ... ok [INFO] [stdout] test modules_c::rack_body::tests::test_new_rack_body ... ok [INFO] [stdout] test modules_c::rack_body::tests::test_gear_ratio ... ok [INFO] [stdout] test modules_c::rack_body::tests::test_kinetic_energy_nonneg ... ok [INFO] [stdout] test modules_c::rack_body::tests::test_reset ... ok [INFO] [stdout] test modules_c::ratchet_body::tests::test_angle_advances ... ok [INFO] [stdout] test modules_c::ratchet_body::tests::test_energy ... ok [INFO] [stdout] test modules_c::rack_body::tests::test_angle_from_pos ... ok [INFO] [stdout] test modules_c::rack_body::tests::test_pi_used ... ok [INFO] [stdout] test modules_c::rack_body::tests::test_pos_from_angle ... ok [INFO] [stdout] test modules_c::ratchet_body::tests::test_full_rotations ... ok [INFO] [stdout] test modules_c::ratchet_body::tests::test_initial_state ... ok [INFO] [stdout] test modules_c::ratchet_body::tests::test_is_blocked ... ok [INFO] [stdout] test modules_c::ratchet_body::tests::test_negative_torque_blocked ... ok [INFO] [stdout] test modules_c::ratchet_body::tests::test_reset ... ok [INFO] [stdout] test modules_c::ratchet_body::tests::test_negative_dir_allows_cw ... ok [INFO] [stdout] test modules_c::ratchet_body::tests::test_positive_torque_allowed ... ok [INFO] [stdout] test modules_c::rigid_compound::tests::test_add_sphere ... ok [INFO] [stdout] test modules_c::ratchet_body::tests::test_tooth_angle ... ok [INFO] [stdout] test modules_c::rigid_compound::tests::test_empty_mass_zero ... ok [INFO] [stdout] test modules_c::rigid_compound::tests::test_center_of_mass ... ok [INFO] [stdout] test modules_c::rigid_compound::tests::test_add_box ... ok [INFO] [stdout] test modules_c::rack_body::tests::test_torque_moves_rack ... ok [INFO] [stdout] test modules_c::rigid_compound::tests::test_new_compound ... ok [INFO] [stdout] test modules_c::rigid_compound::tests::test_pi_used ... ok [INFO] [stdout] test modules_c::rigid_compound::tests::test_step_gravity ... ok [INFO] [stdout] test modules_c::rigid_compound::tests::test_total_mass ... ok [INFO] [stdout] test modules_c::rigid_stack::tests::center_of_mass_y_in_range ... ok [INFO] [stdout] test modules_c::rigid_compound::tests::test_moment_of_inertia_nonneg ... ok [INFO] [stdout] test modules_c::rigid_stack::tests::count_correct ... ok [INFO] [stdout] test modules_c::rigid_stack::tests::empty_stack_top_at_ground ... ok [INFO] [stdout] test modules_c::rigid_stack::tests::pop_box_removes_top ... ok [INFO] [stdout] test modules_c::rigid_stack::tests::sleep_all ... ok [INFO] [stdout] test modules_c::rigid_stack::tests::total_height_correct ... ok [INFO] [stdout] test modules_c::rigid_stack::tests::total_mass ... ok [INFO] [stdout] test modules_c::rigid_stack::tests::unstable_offset_box ... ok [INFO] [stdout] test modules_c::runge_kutta::tests::euler_less_accurate_than_rk4 ... ok [INFO] [stdout] test modules_c::runge_kutta::tests::integrate_scalar_length ... ok [INFO] [stdout] test modules_c::runge_kutta::tests::integrate_scalar_time_advances ... ok [INFO] [stdout] test modules_c::runge_kutta::tests::rk4_harmonic_oscillator ... ok [INFO] [stdout] test modules_c::runge_kutta::tests::rk4_scalar_exponential ... ok [INFO] [stdout] test modules_c::runge_kutta::tests::rk4_scalar_zero_derivative ... ok [INFO] [stdout] test modules_c::runge_kutta::tests::rk4_vec2_constant_velocity ... ok [INFO] [stdout] test modules_c::runge_kutta::tests::rk4_vec3_zero_deriv ... ok [INFO] [stdout] test modules_c::runge_kutta::tests::rk4_vecn_exponential_decay ... ok [INFO] [stdout] test modules_c::sand_body::tests::avalanche_reduces_peak ... ok [INFO] [stdout] test modules_c::sand_body::tests::critical_delta_positive ... ok [INFO] [stdout] test modules_c::runge_kutta::tests::add2_correct ... ok [INFO] [stdout] test modules_c::sand_body::tests::default_config_repose ... ok [INFO] [stdout] test modules_c::sand_body::tests::flat_sand_is_stable ... ok [INFO] [stdout] test modules_c::sand_body::tests::deposit_increases_height ... ok [INFO] [stdout] test modules_c::rigid_stack::tests::stable_centered_stack ... ok [INFO] [stdout] test modules_c::rigid_stack::tests::top_y_increases ... ok [INFO] [stdout] test modules_c::sand_body::tests::max_slope_zero_flat ... ok [INFO] [stdout] test modules_c::sand_body::tests::new_body_flat ... ok [INFO] [stdout] test modules_c::sand_body::tests::set_negative_clamped ... ok [INFO] [stdout] test modules_c::shallow_water::tests::cfl_dt_positive ... ok [INFO] [stdout] test modules_c::shallow_water::tests::height_nonnegative_after_step ... ok [INFO] [stdout] test modules_c::shallow_water::tests::initial_height_one ... ok [INFO] [stdout] test modules_c::shallow_water::tests::disturbance_propagates ... ok [INFO] [stdout] test modules_c::shallow_water::tests::set_and_get_height ... ok [INFO] [stdout] test modules_c::shallow_water::tests::step_runs_without_panic ... ok [INFO] [stdout] test modules_c::shallow_water::tests::time_advances ... ok [INFO] [stdout] test modules_c::shallow_water::tests::total_volume_initial ... ok [INFO] [stdout] test modules_c::shallow_water::tests::volume_approx_conserved ... ok [INFO] [stdout] test modules_c::smooth_particle::tests::compute_densities_nonzero ... ok [INFO] [stdout] test modules_c::smooth_particle::tests::compute_pressures_nonnegative ... ok [INFO] [stdout] test modules_c::smooth_particle::tests::integrate_moves_particles ... ok [INFO] [stdout] test modules_c::smooth_particle::tests::kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_c::smooth_particle::tests::new_particle_zero_vel ... ok [INFO] [stdout] test modules_c::smooth_particle::tests::poly6_positive_inside_h ... ok [INFO] [stdout] test modules_c::smooth_particle::tests::poly6_zero_outside_h ... ok [INFO] [stdout] test modules_c::smooth_particle::tests::spiky_grad_mag_zero_outside_h ... ok [INFO] [stdout] test modules_c::smooth_particle::tests::viscosity_lap_zero_outside_h ... ok [INFO] [stdout] test modules_c::smooth_particle::tests::xsph_correction_runs_without_panic ... ok [INFO] [stdout] test modules_c::sph_fluid::tests::compute_densities_positive ... ok [INFO] [stdout] test modules_c::sph_fluid::tests::compute_pressures_nonneg ... ok [INFO] [stdout] test modules_c::sph_fluid::tests::kinetic_energy_after_step ... ok [INFO] [stdout] test modules_c::sand_body::tests::total_volume_correct ... ok [INFO] [stdout] test modules_c::sph_fluid::tests::many_steps_finite ... ok [INFO] [stdout] test modules_c::sand_body::tests::volume_conserved_after_avalanche ... ok [INFO] [stdout] test modules_c::sph_fluid::tests::particle_count ... ok [INFO] [stdout] test modules_c::sph_fluid::tests::poly6_at_zero_positive ... ok [INFO] [stdout] test modules_c::sph_fluid::tests::poly6_beyond_h_zero ... ok [INFO] [stdout] test modules_c::sph_fluid::tests::spiky_grad_at_zero_returns_zero ... ok [INFO] [stdout] test modules_c::sph_fluid::tests::viscosity_lap_2d_positive ... ok [INFO] [stdout] test modules_c::spring_pendulum::tests::effective_length_at_rest ... ok [INFO] [stdout] test modules_c::spring_pendulum::tests::effective_length_min_positive ... ok [INFO] [stdout] test modules_c::spring_pendulum::tests::gravitational_potential_negative_at_rest ... ok [INFO] [stdout] test modules_c::spring_pendulum::tests::initial_position ... ok [INFO] [stdout] test modules_c::spring_pendulum::tests::kinetic_energy_initially_small ... ok [INFO] [stdout] test modules_c::spring_pendulum::tests::spring_k_zero_no_radial_force ... ok [INFO] [stdout] test modules_c::spring_pendulum::tests::spring_potential_at_rest_zero ... ok [INFO] [stdout] test modules_c::spring_pendulum::tests::step_changes_state ... ok [INFO] [stdout] test modules_c::spring_pendulum::tests::step_many_finite ... ok [INFO] [stdout] test modules_c::symplectic_euler::tests::omega_correct ... ok [INFO] [stdout] test modules_c::symplectic_euler::tests::oscillator_energy_near_conserved ... ok [INFO] [stdout] test modules_c::symplectic_euler::tests::oscillator_period ... ok [INFO] [stdout] test modules_c::symplectic_euler::tests::symp_oscillation_returns_to_start ... ok [INFO] [stdout] test modules_c::shallow_water::tests::many_steps_finite ... ok [INFO] [stdout] test modules_c::symplectic_euler::tests::symp_particle_kinetic_energy ... ok [INFO] [stdout] test modules_c::sph_fluid::tests::step_changes_positions ... ok [INFO] [stdout] test modules_c::symplectic_euler::tests::symp_particle_step_no_force ... ok [INFO] [stdout] test modules_c::symplectic_euler::tests::symp_particle_step_with_force ... ok [INFO] [stdout] test modules_c::spring_pendulum::tests::bob_position_length_approx_rest ... ok [INFO] [stdout] test modules_c::symplectic_euler::tests::symp_particle_velocity_changes_with_force ... ok [INFO] [stdout] test modules_c::symplectic_euler::tests::trajectory_finite ... ok [INFO] [stdout] test modules_c::torus_body::tests::point_inside_torus ... ok [INFO] [stdout] test modules_c::symplectic_euler::tests::trajectory_length ... ok [INFO] [stdout] test modules_c::torus_body::tests::density_positive ... ok [INFO] [stdout] test modules_c::torus_body::tests::outer_inner_radius ... ok [INFO] [stdout] test modules_c::torus_body::tests::step_applies_gravity ... ok [INFO] [stdout] test modules_c::torus_body::tests::point_outside_torus ... ok [INFO] [stdout] test modules_c::torus_body::tests::spin_changes_angular_velocity ... ok [INFO] [stdout] test modules_c::torus_body::tests::volume_positive ... ok [INFO] [stdout] test modules_c::torus_body::tests::surface_area_positive ... ok [INFO] [stdout] test modules_c::van_der_pol::tests::initial_energy ... ok [INFO] [stdout] test modules_c::van_der_pol::tests::derivatives_at_origin ... ok [INFO] [stdout] test modules_c::van_der_pol::tests::euler_step_changes_state ... ok [INFO] [stdout] test modules_c::van_der_pol::tests::limit_cycle_period_positive ... ok [INFO] [stdout] test modules_c::van_der_pol::tests::mu_large_stronger_nonlinearity ... ok [INFO] [stdout] test modules_c::van_der_pol::tests::mu_zero_is_harmonic ... ok [INFO] [stdout] test modules_c::van_der_pol::tests::rk4_more_accurate_than_euler ... ok [INFO] [stdout] test modules_c::vbd_solver::tests::kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_c::van_der_pol::tests::trajectory_finite ... ok [INFO] [stdout] test modules_c::van_der_pol::tests::rk4_step_finite ... ok [INFO] [stdout] test modules_c::van_der_pol::tests::trajectory_length ... ok [INFO] [stdout] test modules_c::vbd_solver::tests::local_solve_moves_toward_rest ... ok [INFO] [stdout] test modules_c::vbd_solver::tests::predict_moves_particle ... ok [INFO] [stdout] test modules_c::vbd_solver::tests::particle_new_zero_vel ... ok [INFO] [stdout] test modules_c::vbd_solver::tests::pinned_particle_not_moved_by_local_solve ... ok [INFO] [stdout] test modules_c::vbd_solver::tests::predict_skips_pinned ... ok [INFO] [stdout] test modules_c::vbd_solver::tests::spring_energy_positive_when_stretched ... ok [INFO] [stdout] test modules_c::vbd_solver::tests::spring_energy_zero_at_rest_len ... ok [INFO] [stdout] test modules_c::water_wheel::tests::test_angle_increases ... ok [INFO] [stdout] test modules_c::water_wheel::tests::test_brake_stops_wheel ... ok [INFO] [stdout] test modules_c::vbd_solver::tests::update_vel_from_displacement ... ok [INFO] [stdout] test modules_c::vbd_solver::tests::vbd_step_runs_without_panic ... ok [INFO] [stdout] test modules_c::water_wheel::tests::test_energy_positive ... ok [INFO] [stdout] test modules_c::water_wheel::tests::test_initial_state ... ok [INFO] [stdout] test modules_c::water_wheel::tests::test_rpm_conversion ... ok [INFO] [stdout] test modules_c::water_wheel::tests::test_step_increases_omega ... ok [INFO] [stdout] test modules_c::water_wheel::tests::test_power_at_rest_is_zero ... ok [INFO] [stdout] test modules_c::water_wheel::tests::test_reset ... ok [INFO] [stdout] test modules_c::water_wheel::tests::test_torque_at_rest ... ok [INFO] [stdout] test modules_c::windmill_body::tests::test_angle_increases ... ok [INFO] [stdout] test modules_c::windmill_body::tests::test_energy_after_step ... ok [INFO] [stdout] test modules_c::windmill_body::tests::test_no_omega_below_zero ... ok [INFO] [stdout] test modules_c::windmill_body::tests::test_cp_clamped ... ok [INFO] [stdout] test modules_c::windmill_body::tests::test_initial_state ... ok [INFO] [stdout] test modules_c::windmill_body::tests::test_power_positive ... ok [INFO] [stdout] test modules_c::windmill_body::tests::test_rpm_at_rest ... ok [INFO] [stdout] test modules_c::windmill_body::tests::test_tsr_at_rest_is_zero ... ok [INFO] [stdout] test modules_c::windmill_body::tests::test_reset ... ok [INFO] [stdout] test modules_c::windmill_body::tests::test_step_increases_omega ... ok [INFO] [stdout] test modules_c::worm_gear::tests::test_efficiency_clamped ... ok [INFO] [stdout] test modules_c::worm_gear::tests::test_output_omega_reduced ... ok [INFO] [stdout] test modules_c::worm_gear::tests::test_not_self_locking_high_efficiency ... ok [INFO] [stdout] test modules_c::water_wheel::tests::test_zero_flow_no_torque ... ok [INFO] [stdout] test modules_c::worm_gear::tests::test_gear_ratio ... ok [INFO] [stdout] test modules_c::worm_gear::tests::test_power_loss ... ok [INFO] [stdout] test modules_c::worm_gear::tests::test_output_torque_amplified ... ok [INFO] [stdout] test modules_c::worm_gear::tests::test_self_locking_low_efficiency ... ok [INFO] [stdout] test modules_c::worm_gear::tests::test_reduction_ratio ... ok [INFO] [stdout] test modules_c::worm_gear::tests::test_power_output_less_than_input ... ok [INFO] [stdout] test modules_c::worm_gear::tests::test_reset ... ok [INFO] [stdout] test modules_c::xpbd_v2::tests::compliance_reduces_correction ... ok [INFO] [stdout] test modules_c::xpbd_v2::tests::dist_count_correct ... ok [INFO] [stdout] test modules_c::xpbd_v2::tests::kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_c::xpbd_v2::tests::lambda_updates_after_project ... ok [INFO] [stdout] test modules_c::xpbd_v2::tests::predict_moves_position ... ok [INFO] [stdout] test modules_c::xpbd_v2::tests::predict_skips_pinned ... ok [INFO] [stdout] test modules_c::xpbd_v2::tests::project_dist_reduces_stretch ... ok [INFO] [stdout] test modules_c::xpbd_v2::tests::pinned_particle_not_moved ... ok [INFO] [stdout] test modules_c::xpbd_v2::tests::update_vel_from_displacement ... ok [INFO] [stdout] test modules_d::adipose_sim::tests::test_damping_settles_motion ... ok [INFO] [stdout] test modules_d::adipose_sim::tests::test_external_acc_drives_motion ... ok [INFO] [stdout] test modules_c::torus_body::tests::inertia_axial_positive ... ok [INFO] [stdout] test modules_d::adipose_sim::tests::test_impulse_moves_node ... ok [INFO] [stdout] test modules_c::xpbd_v2::tests::reset_lambdas_clears ... ok [INFO] [stdout] test modules_c::torus_body::tests::inertia_transverse_positive ... ok [INFO] [stdout] test modules_d::adipose_sim::tests::test_kinetic_energy_after_impulse ... ok [INFO] [stdout] test modules_d::adipose_sim::tests::test_energy_conserved_approximately ... ok [INFO] [stdout] test modules_d::anisotropic_material::tests::test_bulk_modulus_positive ... ok [INFO] [stdout] test modules_d::adipose_sim::tests::test_new_node_at_rest ... ok [INFO] [stdout] test modules_d::adipose_sim::tests::test_offset_magnitude_nonnegative ... ok [INFO] [stdout] test modules_d::anisotropic_material::tests::test_isotropic_apply_identity_strain ... ok [INFO] [stdout] test modules_d::adipose_sim::tests::test_potential_energy_after_offset ... ok [INFO] [stdout] test modules_d::anisotropic_material::tests::test_isotropic_c11_c44_relation ... ok [INFO] [stdout] test modules_d::adipose_sim::tests::test_reset_clears_state ... ok [INFO] [stdout] test modules_d::anisotropic_material::tests::test_isotropic_is_symmetric ... ok [INFO] [stdout] test modules_d::anisotropic_material::tests::test_transversely_isotropic_nonzero ... ok [INFO] [stdout] test modules_d::anisotropic_material::tests::test_shear_modulus_positive ... ok [INFO] [stdout] test modules_d::anisotropic_material::tests::test_zero_is_symmetric ... ok [INFO] [stdout] test modules_d::anisotropic_material::tests::test_rotate_z_identity ... ok [INFO] [stdout] test modules_d::anisotropic_material::tests::test_zero_tensor_apply_zero ... ok [INFO] [stdout] test modules_d::augmented_lagrangian::tests::test_al_energy_zero_constraint ... ok [INFO] [stdout] test modules_d::augmented_lagrangian::tests::test_solver_max_residual ... ok [INFO] [stdout] test modules_d::augmented_lagrangian::tests::test_is_satisfied ... ok [INFO] [stdout] test modules_d::augmented_lagrangian::tests::test_residual ... ok [INFO] [stdout] test modules_d::augmented_lagrangian::tests::test_increase_rho ... ok [INFO] [stdout] test modules_d::augmented_lagrangian::tests::test_al_energy_nonzero ... ok [INFO] [stdout] test modules_d::augmented_lagrangian::tests::test_update_lambda ... ok [INFO] [stdout] test modules_d::augmented_lagrangian::tests::test_all_satisfied ... ok [INFO] [stdout] test modules_d::auxetic_material::tests::test_is_auxetic_false_for_positive ... ok [INFO] [stdout] test modules_d::auxetic_material::tests::test_lateral_strain_sign ... ok [INFO] [stdout] test modules_d::auxetic_material::tests::test_poisson_ratio_negative ... ok [INFO] [stdout] test modules_d::auxetic_material::tests::test_compute_properties ... ok [INFO] [stdout] test modules_d::auxetic_material::tests::test_relative_density_in_range ... ok [INFO] [stdout] test modules_d::balance_controller::tests::test_balance_error_known ... ok [INFO] [stdout] test modules_d::auxetic_material::tests::test_anisotropy_ratio_finite ... ok [INFO] [stdout] test modules_d::auxetic_material::tests::test_default_params ... ok [INFO] [stdout] test modules_d::balance_controller::tests::test_balance_error_zero_at_target ... ok [INFO] [stdout] test modules_d::balance_controller::tests::test_clamp_torques ... ok [INFO] [stdout] test modules_d::balance_controller::tests::test_default_gains ... ok [INFO] [stdout] test modules_d::augmented_lagrangian::tests::test_total_al_energy ... ok [INFO] [stdout] test modules_d::auxetic_material::tests::test_effective_modulus_positive ... ok [INFO] [stdout] test modules_d::auxetic_material::tests::test_impact_absorption_factor_gt_one ... ok [INFO] [stdout] test modules_d::balance_controller::tests::test_zero_error_zero_torque ... ok [INFO] [stdout] test modules_d::bilateral_constraint::tests::test_apply_impulse ... ok [INFO] [stdout] test modules_d::balance_controller::tests::test_positive_error_negative_torque ... ok [INFO] [stdout] test modules_d::balance_controller::tests::test_set_target ... ok [INFO] [stdout] test modules_d::balance_controller::tests::test_within_tolerance_false ... ok [INFO] [stdout] test modules_d::balance_controller::tests::test_within_tolerance_true ... ok [INFO] [stdout] test modules_d::bilateral_constraint::tests::test_solve_returns_delta_lambda ... ok [INFO] [stdout] test modules_d::bilateral_constraint::tests::test_reset_lambda ... ok [INFO] [stdout] test modules_d::bilateral_constraint::tests::test_velocity_error_zero ... ok [INFO] [stdout] test modules_d::bilateral_constraint::tests::test_velocity_error_nonzero ... ok [INFO] [stdout] test modules_d::bilateral_constraint::tests::test_world_body_b ... ok [INFO] [stdout] test modules_d::blood_pressure_sim::tests::test_heartbeat_increases_pressure ... ok [INFO] [stdout] test modules_d::blood_pressure_sim::tests::test_period_at_70bpm ... ok [INFO] [stdout] test modules_d::blood_pressure_sim::tests::test_pressure_mmhg_conversion ... ok [INFO] [stdout] test modules_d::blood_pressure_sim::tests::test_pressure_nonnegative_after_many_steps ... ok [INFO] [stdout] test modules_d::blood_pressure_sim::tests::test_set_heart_rate_clamped ... ok [INFO] [stdout] test modules_d::bilateral_constraint::tests::test_compliance_adds_to_mass ... ok [INFO] [stdout] test modules_d::blood_pressure_sim::tests::test_simulate_cycle_returns_pressure ... ok [INFO] [stdout] test modules_d::blood_pressure_sim::tests::test_step_reduces_pressure ... ok [INFO] [stdout] test modules_d::bilateral_constraint::tests::test_position_violation ... ok [INFO] [stdout] test modules_d::blood_pressure_sim::tests::test_initial_pressure_nonzero ... ok [INFO] [stdout] test modules_d::blood_pressure_sim::tests::test_mean_arterial_pressure_positive ... ok [INFO] [stdout] test modules_d::bilateral_constraint::tests::test_effective_mass_positive ... ok [INFO] [stdout] test modules_d::bone_deform::tests::test_axial_deformation_positive_under_load ... ok [INFO] [stdout] test modules_d::bone_deform::tests::test_fractured_under_extreme_load ... ok [INFO] [stdout] test modules_d::bone_deform::tests::test_area_computed_correctly ... ok [INFO] [stdout] test modules_d::bone_deform::tests::test_new_bone_zero_load ... ok [INFO] [stdout] test modules_d::bone_deform::tests::test_axial_stiffness_positive ... ok [INFO] [stdout] test modules_d::bone_deform::tests::test_not_fractured_under_normal_load ... ok [INFO] [stdout] test modules_d::capture_point::tests::test_cp_at_rest ... ok [INFO] [stdout] test modules_d::capture_point::tests::test_cp_stable_in_support ... ok [INFO] [stdout] test modules_d::capture_point::tests::test_cp_unstable_outside ... ok [INFO] [stdout] test modules_d::capture_point::tests::test_cp_velocity_len ... ok [INFO] [stdout] test modules_d::capture_point::tests::test_cp_with_velocity ... ok [INFO] [stdout] test modules_d::capture_point::tests::test_distance_to_centre_nonzero ... ok [INFO] [stdout] test modules_d::capture_point::tests::test_distance_to_centre_zero ... ok [INFO] [stdout] test modules_d::capture_point::tests::test_natural_frequency_positive ... ok [INFO] [stdout] test modules_d::bone_deform::tests::test_bending_stress_zero_when_no_moment ... ok [INFO] [stdout] test modules_d::cartilage_model::tests::test_effective_modulus_decreases_with_damage ... ok [INFO] [stdout] test modules_d::bone_deform::tests::test_axial_stress ... ok [INFO] [stdout] test modules_d::bone_deform::tests::test_bending_deflection_under_moment ... ok [INFO] [stdout] test modules_d::cartilage_model::tests::test_contact_stress_nonnegative ... ok [INFO] [stdout] test modules_d::capture_point::tests::test_natural_frequency_scaling ... ok [INFO] [stdout] test modules_d::cartilage_model::tests::test_damage_does_not_exceed_one ... ok [INFO] [stdout] test modules_d::cartilage_model::tests::test_repair_reduces_damage ... ok [INFO] [stdout] test modules_d::cartilage_model::tests::test_reset_restores_thickness ... ok [INFO] [stdout] test modules_d::cartilage_model::tests::test_strain_positive_under_load ... ok [INFO] [stdout] test modules_d::collision_detection::tests::aabb_contains_point ... ok [INFO] [stdout] test modules_d::collision_detection::tests::aabb_no_overlap_separated ... ok [INFO] [stdout] test modules_d::collision_detection::tests::aabb_overlap_touching ... ok [INFO] [stdout] test modules_d::cartilage_model::tests::test_fluid_pressure_rises_under_load ... ok [INFO] [stdout] test modules_d::cartilage_model::tests::test_new_cartilage_uncompressed ... ok [INFO] [stdout] test modules_d::collision_detection::tests::broad_brute_finds_overlap ... ok [INFO] [stdout] test modules_d::cartilage_model::tests::test_step_compresses_under_load ... ok [INFO] [stdout] test modules_d::collision_detection::tests::aabb_merge ... ok [INFO] [stdout] test modules_d::collision_detection::tests::broad_sap_matches_brute ... ok [INFO] [stdout] test modules_d::collision_detection::tests::sphere_sphere_contact_detected ... ok [INFO] [stdout] test modules_d::collision_detection::tests::sphere_sphere_no_contact_far ... ok [INFO] [stdout] test modules_d::com_trajectory::tests::test_average_height ... ok [INFO] [stdout] test modules_d::collision_detection::tests::detect_sphere_contacts_pipeline ... ok [INFO] [stdout] test modules_d::com_trajectory::tests::test_linear_trajectory_end ... ok [INFO] [stdout] test modules_d::com_trajectory::tests::test_empty_trajectory ... ok [INFO] [stdout] test modules_d::collision_detection::tests::sphere_plane_contact_detected ... ok [INFO] [stdout] test modules_d::collision_detection::tests::sphere_plane_no_contact_above ... ok [INFO] [stdout] test modules_d::com_trajectory::tests::test_sample_midpoint ... ok [INFO] [stdout] test modules_d::com_trajectory::tests::test_linear_trajectory_len ... ok [INFO] [stdout] test modules_d::com_trajectory::tests::test_linear_trajectory_start ... ok [INFO] [stdout] test modules_d::com_trajectory::tests::test_single_waypoint ... ok [INFO] [stdout] test modules_d::com_trajectory::tests::test_trajectory_is_sorted ... ok [INFO] [stdout] test modules_d::composite_material::tests::test_density ... ok [INFO] [stdout] test modules_d::composite_material::tests::test_layer_count ... ok [INFO] [stdout] test modules_d::composite_material::tests::test_empty_composite ... ok [INFO] [stdout] test modules_d::composite_material::tests::test_longitudinal_modulus ... ok [INFO] [stdout] test modules_d::composite_material::tests::test_total_thickness ... ok [INFO] [stdout] test modules_d::composite_material::tests::test_natural_frequency_estimate ... ok [INFO] [stdout] test modules_d::composite_material::tests::test_specific_stiffness_positive ... ok [INFO] [stdout] test modules_d::contact_estimator::tests::test_any_hard_contact_true ... ok [INFO] [stdout] test modules_d::composite_material::tests::test_vf_clamp ... ok [INFO] [stdout] test modules_d::composite_material::tests::test_volume_fraction_sum ... ok [INFO] [stdout] test modules_d::contact_estimator::tests::test_any_hard_contact_false ... ok [INFO] [stdout] test modules_d::composite_material::tests::test_transverse_modulus_less_than_longitudinal ... ok [INFO] [stdout] test modules_d::contact_estimator::tests::test_contact_count ... ok [INFO] [stdout] test modules_d::com_trajectory::tests::test_empty_average_height ... ok [INFO] [stdout] test modules_d::contact_estimator::tests::test_soft_contact ... ok [INFO] [stdout] test modules_d::contact_estimator::tests::test_no_contact_initial ... ok [INFO] [stdout] test modules_d::contact_estimator::tests::test_hard_contact ... ok [INFO] [stdout] test modules_d::contact_estimator::tests::test_no_contact_low_force ... ok [INFO] [stdout] test modules_d::contact_estimator::tests::test_total_grf_zero ... ok [INFO] [stdout] test modules_d::contact_estimator::tests::test_update_contact_state ... ok [INFO] [stdout] test modules_d::contact_lcp::tests::apply_lcp_impulse_separates_bodies ... ok [INFO] [stdout] test modules_d::contact_lcp::tests::lcp_gs_simple_1d ... ok [INFO] [stdout] test modules_d::contact_lcp::tests::build_1d_contact_lcp_has_correct_size ... ok [INFO] [stdout] test modules_d::contact_lcp::tests::friction_impulse_bounded_by_coulomb ... ok [INFO] [stdout] test modules_d::contact_lcp::tests::lcp_gs_non_negative_solution ... ok [INFO] [stdout] test modules_d::contact_lcp::tests::lcp_system_new_zeros ... ok [INFO] [stdout] test modules_d::contact_lcp::tests::relative_normal_vel_approaching ... ok [INFO] [stdout] test modules_d::contact_lcp::tests::relative_normal_vel_separating ... ok [INFO] [stdout] test modules_d::crack_propagation::tests::test_advance_crack_grows_half_length ... ok [INFO] [stdout] test modules_d::crack_propagation::tests::test_advance_crack_increments_cycles ... ok [INFO] [stdout] test modules_d::contact_lcp::tests::contact_count_correct ... ok [INFO] [stdout] test modules_d::contact_lcp::tests::friction_impulse_zero_for_no_tangential_vel ... ok [INFO] [stdout] test modules_d::crack_propagation::tests::test_crack_path_length_zero_initially ... ok [INFO] [stdout] test modules_d::crack_propagation::tests::test_paris_law_zero_below_threshold ... ok [INFO] [stdout] test modules_d::crack_propagation::tests::test_crack_point_distance ... ok [INFO] [stdout] test modules_d::crack_propagation::tests::test_current_ki_positive ... ok [INFO] [stdout] test modules_d::crack_propagation::tests::test_cycles_to_failure_positive ... ok [INFO] [stdout] test modules_d::creep_model::tests::test_creep_fraction ... ok [INFO] [stdout] test modules_d::creep_model::tests::test_larson_miller_positive ... ok [INFO] [stdout] test modules_d::creep_model::tests::test_creep_increases_with_stress ... ok [INFO] [stdout] test modules_d::creep_model::tests::test_integrate_creep_increases_strain ... ok [INFO] [stdout] test modules_d::creep_model::tests::test_is_creep_damaged ... ok [INFO] [stdout] test modules_d::creep_model::tests::test_monkman_grant ... ok [INFO] [stdout] test modules_d::creep_model::tests::test_norton_rate_positive_at_stress ... ok [INFO] [stdout] test modules_d::creep_model::tests::test_norton_rate_zero_at_zero_stress ... ok [INFO] [stdout] test modules_d::creep_model::tests::test_rupture_time_roundtrip ... ok [INFO] [stdout] test modules_d::delamination_model::tests::test_damage_one_at_delta_f ... ok [INFO] [stdout] test modules_d::delamination_model::tests::test_damage_zero_before_delta0 ... ok [INFO] [stdout] test modules_d::delamination_model::tests::test_dissipated_energy_positive ... ok [INFO] [stdout] test modules_d::delamination_model::tests::test_is_delaminated_false ... ok [INFO] [stdout] test modules_d::delamination_model::tests::test_traction_zero_at_delta_f ... ok [INFO] [stdout] test modules_d::delamination_model::tests::test_traction_peak_at_delta0 ... ok [INFO] [stdout] test modules_d::delamination_model::tests::test_traction_zero_at_zero_sep ... ok [INFO] [stdout] test modules_d::delamination_model::tests::test_update_interface_sets_failed ... ok [INFO] [stdout] test modules_d::eulerian_advection::tests::test_advect_zero_velocity ... ok [INFO] [stdout] test modules_d::eulerian_advection::tests::test_field_max ... ok [INFO] [stdout] test modules_d::eulerian_advection::tests::test_advect_shifts_field ... ok [INFO] [stdout] test modules_d::eulerian_advection::tests::test_fill_circle ... ok [INFO] [stdout] test modules_d::delamination_model::tests::test_failed_element_count ... ok [INFO] [stdout] test modules_d::eulerian_advection::tests::test_fill_circle_outside ... ok [INFO] [stdout] test modules_d::eulerian_advection::tests::test_grid_size ... ok [INFO] [stdout] test modules_d::eulerian_advection::tests::test_interp_at_integer ... ok [INFO] [stdout] test modules_d::eulerian_advection::tests::test_set_get ... ok [INFO] [stdout] test modules_d::eulerian_advection::tests::test_total ... ok [INFO] [stdout] test modules_d::eye_pressure::tests::test_elevated_when_high ... ok [INFO] [stdout] test modules_d::eye_pressure::tests::test_initial_iop_normal ... ok [INFO] [stdout] test modules_d::eye_pressure::tests::test_iop_mmhg_conversion ... ok [INFO] [stdout] test modules_d::eye_pressure::tests::test_iop_nonnegative ... ok [INFO] [stdout] test modules_d::eye_pressure::tests::test_medication_reduces_iop ... ok [INFO] [stdout] test modules_d::eye_pressure::tests::test_set_production_zero_reduces_iop ... ok [INFO] [stdout] test modules_d::eye_pressure::tests::test_not_elevated_when_normal ... ok [INFO] [stdout] test modules_d::eye_pressure::tests::test_steady_state_positive ... ok [INFO] [stdout] test modules_d::fall_detection::tests::test_fall_detected_false ... ok [INFO] [stdout] test modules_d::fall_detection::tests::test_fall_detected_true ... ok [INFO] [stdout] test modules_d::fall_detection::tests::test_fall_state_label ... ok [INFO] [stdout] test modules_d::eye_pressure::tests::test_step_does_not_crash ... ok [INFO] [stdout] test modules_d::fall_detection::tests::test_falling_state ... ok [INFO] [stdout] test modules_d::fall_detection::tests::test_fallen_state ... ok [INFO] [stdout] test modules_d::fall_detection::tests::test_recovery_possible ... ok [INFO] [stdout] test modules_d::fascia_model::tests::test_hydration_reduces_stiffness ... ok [INFO] [stdout] test modules_d::fall_detection::tests::test_tilting_from_angular_vel ... ok [INFO] [stdout] test modules_d::fall_detection::tests::test_tilting_state ... ok [INFO] [stdout] test modules_d::fall_detection::tests::test_upright_state ... ok [INFO] [stdout] test modules_d::fascia_model::tests::test_elastic_force_when_stretched ... ok [INFO] [stdout] test modules_d::fascia_model::tests::test_stored_energy_positive_when_taut ... ok [INFO] [stdout] test modules_d::fascia_model::tests::test_is_taut ... ok [INFO] [stdout] test modules_d::fascia_model::tests::test_new_fascia_at_rest ... ok [INFO] [stdout] test modules_d::fascia_model::tests::test_stored_energy_zero_at_rest ... ok [INFO] [stdout] test modules_d::fascia_model::tests::test_no_compressive_force ... ok [INFO] [stdout] test modules_d::crack_propagation::tests::test_paris_law_positive_above_threshold ... ok [INFO] [stdout] test modules_d::crack_propagation::tests::test_is_fractured_false_small_crack ... ok [INFO] [stdout] test modules_d::fascia_model::tests::test_strain_positive_when_stretched ... ok [INFO] [stdout] test modules_d::fascia_model::tests::test_viscous_force_nonzero ... ok [INFO] [stdout] test modules_d::fatigue_model::tests::test_accumulate_damage_increases ... ok [INFO] [stdout] test modules_d::fatigue_model::tests::test_failure_at_damage_one ... ok [INFO] [stdout] test modules_d::fatigue_model::tests::test_cycle_amplitude ... ok [INFO] [stdout] test modules_d::fatigue_model::tests::test_finite_life_above_endurance ... ok [INFO] [stdout] test modules_d::fatigue_model::tests::test_life_decreases_with_stress ... ok [INFO] [stdout] test modules_d::fatigue_model::tests::test_stress_ratio ... ok [INFO] [stdout] test modules_d::floating_base::tests::test_default_position_is_origin ... ok [INFO] [stdout] test modules_d::fatigue_model::tests::test_remaining_life_fraction ... ok [INFO] [stdout] test modules_d::floating_base::tests::test_apply_wrench_moves_body ... ok [INFO] [stdout] test modules_d::floating_base::tests::test_default_quat_is_identity ... ok [INFO] [stdout] test modules_d::floating_base::tests::test_is_at_rest_false ... ok [INFO] [stdout] test modules_d::floating_base::tests::test_is_at_rest_true ... ok [INFO] [stdout] test modules_d::floating_base::tests::test_kinetic_energy_zero_initially ... ok [INFO] [stdout] test modules_d::floating_base::tests::test_normalize_quat ... ok [INFO] [stdout] test modules_d::floating_base::tests::test_reset_velocity ... ok [INFO] [stdout] test modules_d::floating_base::tests::test_kinetic_energy_nonzero ... ok [INFO] [stdout] test modules_d::fluid_muscle::tests::test_blocked_force_positive ... ok [INFO] [stdout] test modules_d::fluid_muscle::tests::test_contraction_ratio_positive_when_short ... ok [INFO] [stdout] test modules_d::fluid_muscle::tests::test_contraction_ratio_zero_at_rest ... ok [INFO] [stdout] test modules_d::fluid_muscle::tests::test_force_positive_under_pressure ... ok [INFO] [stdout] test modules_d::fluid_muscle::tests::test_force_zero_at_zero_pressure ... ok [INFO] [stdout] test modules_d::fluid_muscle::tests::test_is_contracting ... ok [INFO] [stdout] test modules_d::fluid_muscle::tests::test_new_muscle_at_rest ... ok [INFO] [stdout] test modules_d::fluid_muscle::tests::test_pressure_clamp_nonnegative ... ok [INFO] [stdout] test modules_d::fluid_muscle::tests::test_update_angle_does_not_panic ... ok [INFO] [stdout] test modules_d::foam_material::tests::test_energy_absorption_positive ... ok [INFO] [stdout] test modules_d::foam_material::tests::test_gibson_ashby_positive ... ok [INFO] [stdout] test modules_d::foam_material::tests::test_is_elastic_true_small_strain ... ok [INFO] [stdout] test modules_d::foam_material::tests::test_specific_energy ... ok [INFO] [stdout] test modules_d::foam_material::tests::test_stress_densification_higher ... ok [INFO] [stdout] test modules_d::foam_material::tests::test_stress_elastic_region ... ok [INFO] [stdout] test modules_d::foam_material::tests::test_stress_plateau_region ... ok [INFO] [stdout] test modules_d::foam_material::tests::test_stress_zero_at_zero_strain ... ok [INFO] [stdout] test modules_d::foam_material::tests::test_update_state_densified ... ok [INFO] [stdout] test modules_d::foot_placement::tests::test_feasible_step ... ok [INFO] [stdout] test modules_d::foot_placement::tests::test_footstep_alternates ... ok [INFO] [stdout] test modules_d::foot_placement::tests::test_footstep_distance_known ... ok [INFO] [stdout] test modules_d::foot_placement::tests::test_footstep_distance_zero ... ok [INFO] [stdout] test modules_d::foot_placement::tests::test_infeasible_step ... ok [INFO] [stdout] test modules_d::foot_placement::tests::test_path_length_empty ... ok [INFO] [stdout] test modules_d::foot_placement::tests::test_path_length_nonzero ... ok [INFO] [stdout] test modules_d::foot_placement::tests::test_plan_max_steps ... ok [INFO] [stdout] test modules_d::foot_placement::tests::test_plan_returns_steps ... ok [INFO] [stdout] test modules_d::fracture_mechanics::tests::test_analyze_fracture_critical_large_crack ... ok [INFO] [stdout] test modules_d::fracture_mechanics::tests::test_analyze_fracture_not_critical_small_crack ... ok [INFO] [stdout] test modules_d::fracture_mechanics::tests::test_critical_crack_size_decreases_with_stress ... ok [INFO] [stdout] test modules_d::fatigue_model::tests::test_goodman_no_mean ... ok [INFO] [stdout] test modules_d::fatigue_model::tests::test_infinite_life_below_endurance ... ok [INFO] [stdout] test modules_d::fracture_mechanics::tests::test_will_propagate_false_for_small_ki ... ok [INFO] [stdout] test modules_d::friction_cone_v2::tests::test_clamp_exceeds_limit ... ok [INFO] [stdout] test modules_d::fracture_mechanics::tests::test_critical_stress_decreases_with_crack_size ... ok [INFO] [stdout] test modules_d::fracture_mechanics::tests::test_energy_release_rate_positive ... ok [INFO] [stdout] test modules_d::fracture_mechanics::tests::test_safety_factor_greater_than_one_safe ... ok [INFO] [stdout] test modules_d::fracture_mechanics::tests::test_stress_intensity_mode1_positive ... ok [INFO] [stdout] test modules_d::fracture_mechanics::tests::test_stress_intensity_mode2_positive ... ok [INFO] [stdout] test modules_d::friction_cone_v2::tests::test_friction_clamp_within ... ok [INFO] [stdout] test modules_d::friction_cone_v2::tests::test_is_inside_cone_true ... ok [INFO] [stdout] test modules_d::friction_cone_v2::tests::test_mu_clamped_to_zero ... ok [INFO] [stdout] test modules_d::friction_cone_v2::tests::test_max_tangential_force ... ok [INFO] [stdout] test modules_d::friction_cone_v2::tests::test_is_inside_cone_false ... ok [INFO] [stdout] test modules_d::gait_scheduler::tests::test_gait_phase_wraps ... ok [INFO] [stdout] test modules_d::friction_cone_v2::tests::test_sliding_direction ... ok [INFO] [stdout] test modules_d::friction_cone_v2::tests::test_clamp_within_limit ... ok [INFO] [stdout] test modules_d::friction_cone_v2::tests::test_tangential_component_perpendicular ... ok [INFO] [stdout] test modules_d::gait_scheduler::tests::test_gait_phase_zero ... ok [INFO] [stdout] test modules_d::gait_scheduler::tests::test_scheduler_phases_len ... ok [INFO] [stdout] test modules_d::gait_scheduler::tests::test_scheduler_step ... ok [INFO] [stdout] test modules_d::granular_material::tests::test_angle_of_repose ... ok [INFO] [stdout] test modules_d::gait_scheduler::tests::test_scheduler_new ... ok [INFO] [stdout] test modules_d::gait_scheduler::tests::test_stand_gait_no_swing ... ok [INFO] [stdout] test modules_d::granular_material::tests::test_overburden_pressure_positive ... ok [INFO] [stdout] test modules_d::granular_material::tests::test_overburden_proportional_to_depth ... ok [INFO] [stdout] test modules_d::gait_scheduler::tests::test_time_to_next_transition_positive ... ok [INFO] [stdout] test modules_d::granular_material::tests::test_settle_pile_reduces_height ... ok [INFO] [stdout] test modules_d::granular_material::tests::test_will_slope_fail_false_below_strength ... ok [INFO] [stdout] test modules_d::granular_material::tests::test_avalanche_threshold_positive ... ok [INFO] [stdout] test modules_d::granular_material::tests::test_mohr_coulomb_increases_with_normal ... ok [INFO] [stdout] test modules_d::granular_material::tests::test_pile_slope_angle_near_friction_angle ... ok [INFO] [stdout] test modules_d::hyperelastic_model::tests::test_from_e_nu_shear_modulus ... ok [INFO] [stdout] test modules_d::granular_material::tests::test_pile_volume_positive ... ok [INFO] [stdout] test modules_d::hyperelastic_model::tests::test_bulk_modulus_positive ... ok [INFO] [stdout] test modules_d::hyperelastic_model::tests::test_cauchy_stress_identity_near_zero ... ok [INFO] [stdout] test modules_d::hyperelastic_model::tests::test_i1_identity ... ok [INFO] [stdout] test modules_d::hyperelastic_model::tests::test_hydrostatic_pressure ... ok [INFO] [stdout] test modules_d::hyperelastic_model::tests::test_strain_energy_positive_under_tension ... ok [INFO] [stdout] test modules_d::hyperelastic_model::tests::test_strain_energy_zero_at_identity ... ok [INFO] [stdout] test modules_d::joint_torque::tests::test_angle_changes_with_velocity ... ok [INFO] [stdout] test modules_d::joint_torque::tests::test_kinetic_energy_positive_when_spinning ... ok [INFO] [stdout] test modules_d::gait_scheduler::tests::test_phase_stance ... ok [INFO] [stdout] test modules_d::gait_scheduler::tests::test_phase_swing ... ok [INFO] [stdout] test modules_d::hyperelastic_model::tests::test_jacobian_identity ... ok [INFO] [stdout] test modules_d::joint_torque::tests::test_kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_d::hyperelastic_model::tests::test_is_stable_identity ... ok [INFO] [stdout] test modules_d::joint_torque::tests::test_limits_enforced ... ok [INFO] [stdout] test modules_d::joint_torque::tests::test_moment_arm_absolute ... ok [INFO] [stdout] test modules_d::joint_torque::tests::test_torque_from_force ... ok [INFO] [stdout] test modules_d::lattice_boltzmann_v2::tests::test_collide_does_not_change_mass ... ok [INFO] [stdout] test modules_d::joint_torque::tests::test_new_joint_at_rest ... ok [INFO] [stdout] test modules_d::joint_torque::tests::test_stiffness_torque_sign ... ok [INFO] [stdout] test modules_d::lattice_boltzmann_v2::tests::test_feq_at_rest ... ok [INFO] [stdout] test modules_d::lattice_boltzmann_v2::tests::test_omega_clamp ... ok [INFO] [stdout] test modules_d::lattice_boltzmann_v2::tests::test_solid_flag ... ok [INFO] [stdout] test modules_d::lattice_boltzmann_v2::tests::test_stream_does_not_change_mass ... ok [INFO] [stdout] test modules_d::lattice_boltzmann_v2::tests::test_one_step ... ok [INFO] [stdout] test modules_d::level_set_advect::tests::test_count_inside ... ok [INFO] [stdout] test modules_d::level_set_advect::tests::test_advect_zero_velocity ... ok [INFO] [stdout] test modules_d::lattice_boltzmann_v2::tests::test_velocity_initial_zero ... ok [INFO] [stdout] test modules_d::level_set_advect::tests::test_dx_clamped ... ok [INFO] [stdout] test modules_d::level_set_advect::tests::test_gradient_magnitude_nonzero ... ok [INFO] [stdout] test modules_d::level_set_advect::tests::test_grid_new ... ok [INFO] [stdout] test modules_d::level_set_advect::tests::test_reinitialize_clamps ... ok [INFO] [stdout] test modules_d::level_set_advect::tests::test_gradient_magnitude_flat ... ok [INFO] [stdout] test modules_d::level_set_advect::tests::test_init_circle_center_negative ... ok [INFO] [stdout] test modules_d::level_set_advect::tests::test_init_circle_inside ... ok [INFO] [stdout] test modules_d::locomotion_fsm::tests::test_is_moving_walk ... ok [INFO] [stdout] test modules_d::locomotion_fsm::tests::test_fall_detection ... ok [INFO] [stdout] test modules_d::locomotion_fsm::tests::test_initial_mode_stand ... ok [INFO] [stdout] test modules_d::locomotion_fsm::tests::test_is_not_moving_stand ... ok [INFO] [stdout] test modules_d::locomotion_fsm::tests::test_step_frequency_walk ... ok [INFO] [stdout] test modules_d::locomotion_fsm::tests::test_step_frequency_stand ... ok [INFO] [stdout] test modules_d::locomotion_fsm::tests::test_mode_label ... ok [INFO] [stdout] test modules_d::locomotion_fsm::tests::test_transition_to_run ... ok [INFO] [stdout] test modules_d::lung_mechanics::tests::test_compliance_positive ... ok [INFO] [stdout] test modules_d::locomotion_fsm::tests::test_transition_to_walk ... ok [INFO] [stdout] test modules_d::lung_mechanics::tests::test_elastic_pressure_zero_at_frc ... ok [INFO] [stdout] test modules_d::lung_mechanics::tests::test_above_frc_true ... ok [INFO] [stdout] test modules_d::lung_mechanics::tests::test_step_inflates_under_pressure ... ok [INFO] [stdout] test modules_d::lung_mechanics::tests::test_new_lung_at_frc ... ok [INFO] [stdout] test modules_d::lung_mechanics::tests::test_step_deflates_under_negative_pressure ... ok [INFO] [stdout] test modules_d::lung_mechanics::tests::test_tidal_volume_zero_at_frc ... ok [INFO] [stdout] test modules_d::magnetorheological_fluid::tests::test_coil_power ... ok [INFO] [stdout] test modules_d::lung_mechanics::tests::test_ventilation_calculation ... ok [INFO] [stdout] test modules_d::magnetorheological_fluid::tests::test_damping_force_positive ... ok [INFO] [stdout] test modules_d::lung_mechanics::tests::test_volume_nonnegative ... ok [INFO] [stdout] test modules_d::magnetorheological_fluid::tests::test_is_on_when_high_field ... ok [INFO] [stdout] test modules_d::magnetorheological_fluid::tests::test_effective_viscosity_increases_with_field ... ok [INFO] [stdout] test modules_d::magnetorheological_fluid::tests::test_field_clamp_nonnegative ... ok [INFO] [stdout] test modules_d::magnetorheological_fluid::tests::test_new_fluid_off_state ... ok [INFO] [stdout] test modules_d::magnetorheological_fluid::tests::test_shear_stress_at_zero_rate ... ok [INFO] [stdout] test modules_d::magnetorheological_fluid::tests::test_yield_stress_increases_with_field ... ok [INFO] [stdout] test modules_d::magnetorheological_fluid::tests::test_yield_stress_zero_without_field ... ok [INFO] [stdout] test modules_d::marching_squares::tests::test_4x4_circular_blob ... ok [INFO] [stdout] test modules_d::marching_squares::tests::test_all_above_iso ... ok [INFO] [stdout] test modules_d::marching_squares::tests::test_half_field ... ok [INFO] [stdout] test modules_d::marching_squares::tests::test_count_segments ... ok [INFO] [stdout] test modules_d::marching_squares::tests::test_all_below_iso ... ok [INFO] [stdout] test modules_d::marching_squares::tests::test_one_corner_inside ... ok [INFO] [stdout] test modules_d::marching_squares::tests::test_small_grid_returns_empty ... ok [INFO] [stdout] test modules_d::metamaterial_stub::tests::test_bandgap_contains_resonance ... ok [INFO] [stdout] test modules_d::marching_squares::tests::test_segment_length_positive ... ok [INFO] [stdout] test modules_d::marching_squares::tests::test_total_contour_length ... ok [INFO] [stdout] test modules_d::joint_torque::tests::test_torque_accelerates_joint ... ok [INFO] [stdout] test modules_d::metamaterial_stub::tests::test_bandgap_width_positive ... ok [INFO] [stdout] test modules_d::lattice_boltzmann_v2::tests::test_density_initial ... ok [INFO] [stdout] test modules_d::lattice_boltzmann_v2::tests::test_grid_size ... ok [INFO] [stdout] test modules_d::metamaterial_stub::tests::test_is_in_bandgap ... ok [INFO] [stdout] test modules_d::metamaterial_stub::tests::test_resonator_frequency_positive ... ok [INFO] [stdout] test modules_d::metamaterial_stub::tests::test_transmission_loss_outside_gap ... ok [INFO] [stdout] test modules_d::muscle_activation::tests::test_activation_clamped ... ok [INFO] [stdout] test modules_d::muscle_activation::tests::test_force_length_at_optimal ... ok [INFO] [stdout] test modules_d::muscle_activation::tests::test_force_max_at_full_activation_optimal_length ... ok [INFO] [stdout] test modules_d::muscle_activation::tests::test_force_zero_when_inactive ... ok [INFO] [stdout] test modules_d::metamaterial_stub::tests::test_bragg_frequency_positive ... ok [INFO] [stdout] test modules_d::metamaterial_stub::tests::test_effective_mass_density_finite_off_resonance ... ok [INFO] [stdout] test modules_d::metamaterial_stub::tests::test_wave_speed_positive ... ok [INFO] [stdout] test modules_d::muscle_activation::tests::test_force_velocity_at_zero ... ok [INFO] [stdout] test modules_d::muscle_activation::tests::test_passive_force_zero_below_optimal ... ok [INFO] [stdout] test modules_d::muscle_activation::tests::test_total_force_gt_active_when_stretched ... ok [INFO] [stdout] test modules_d::muscle_activation::tests::test_muscle_activate_converges ... ok [INFO] [stdout] test modules_d::muscle_activation::tests::test_new_muscle_zero_activation ... ok [INFO] [stdout] test modules_d::penalty_force::tests::test_current_distance ... ok [INFO] [stdout] test modules_d::penalty_force::tests::test_force_direction_unit ... ok [INFO] [stdout] test modules_d::penalty_force::tests::test_no_penetration ... ok [INFO] [stdout] test modules_d::penalty_force::tests::test_penetration_positive ... ok [INFO] [stdout] test modules_d::penalty_force::tests::test_force_magnitude_nonzero ... ok [INFO] [stdout] test modules_d::penalty_force::tests::test_total_penalty_energy_nonzero ... ok [INFO] [stdout] test modules_d::penalty_force::tests::test_force_magnitude_zero_no_penetration ... ok [INFO] [stdout] test modules_d::penalty_force::tests::test_stiffness_clamped ... ok [INFO] [stdout] test modules_d::piezo_actuator::tests::test_coupling_k2_at_full_voltage ... ok [INFO] [stdout] test modules_d::piezo_actuator::tests::test_force_positive_under_small_load ... ok [INFO] [stdout] test modules_d::piezo_actuator::tests::test_power_consumption ... ok [INFO] [stdout] test modules_d::piezo_actuator::tests::test_stiffness_computed ... ok [INFO] [stdout] test modules_d::piezo_actuator::tests::test_voltage_clamped_to_rated ... ok [INFO] [stdout] test modules_d::piezo_actuator::tests::test_voltage_zero_no_power ... ok [INFO] [stdout] test modules_d::penalty_force::tests::test_total_penalty_energy_zero ... ok [INFO] [stdout] test modules_d::piezo_actuator::tests::test_zero_voltage_zero_stroke ... ok [INFO] [stdout] test modules_d::piezo_actuator::tests::test_full_voltage_max_stroke ... ok [INFO] [stdout] test modules_d::piezo_actuator::tests::test_update_extension_under_load ... ok [INFO] [stdout] test modules_d::plasticity_model::tests::test_plastic_strain_increment ... ok [INFO] [stdout] test modules_d::plasticity_model::tests::test_radial_return_plastic ... ok [INFO] [stdout] test modules_d::plasticity_model::tests::test_shear_modulus_positive ... ok [INFO] [stdout] test modules_d::plasticity_model::tests::test_von_mises_uniaxial ... ok [INFO] [stdout] test modules_d::plasticity_model::tests::test_current_yield_hardening ... ok [INFO] [stdout] test modules_d::plasticity_model::tests::test_radial_return_elastic ... ok [INFO] [stdout] test modules_d::plasticity_model::tests::test_yield_function_negative_below_yield ... ok [INFO] [stdout] test modules_d::plasticity_model::tests::test_von_mises_pure_shear ... ok [INFO] [stdout] test modules_d::porous_media::tests::test_darcy_flux_3d_proportional ... ok [INFO] [stdout] test modules_d::porous_media::tests::test_darcy_flux_direction ... ok [INFO] [stdout] test modules_d::porous_media::tests::test_is_darcy_regime_true ... ok [INFO] [stdout] test modules_d::porous_media::tests::test_kozeny_carman_positive ... ok [INFO] [stdout] test modules_d::plasticity_model::tests::test_yield_function_positive_above_yield ... ok [INFO] [stdout] test modules_d::porous_media::tests::test_advance_pressure_no_panic ... ok [INFO] [stdout] test modules_d::porous_media::tests::test_darcy_flux_zero_at_zero_gradient ... ok [INFO] [stdout] test modules_d::porous_media::tests::test_kozeny_carman_increases_with_porosity ... ok [INFO] [stdout] test modules_d::push_recovery::tests::test_ankle_torque_direction ... ok [INFO] [stdout] test modules_d::push_recovery::tests::test_classify_minor ... ok [INFO] [stdout] test modules_d::porous_media::tests::test_reynolds_positive ... ok [INFO] [stdout] test modules_d::porous_media::tests::test_seepage_velocity_gt_darcy ... ok [INFO] [stdout] test modules_d::push_recovery::tests::test_classify_moderate ... ok [INFO] [stdout] test modules_d::push_recovery::tests::test_classify_none ... ok [INFO] [stdout] test modules_d::push_recovery::tests::test_recommended_reach_zero_for_none ... ok [INFO] [stdout] test modules_d::push_recovery::tests::test_recovery_no_step_for_none ... ok [INFO] [stdout] test modules_d::push_recovery::tests::test_classify_severe ... ok [INFO] [stdout] test modules_d::metamaterial_stub::tests::test_transmission_loss_in_gap ... ok [INFO] [stdout] test modules_d::push_recovery::tests::test_emergency_step ... ok [INFO] [stdout] test modules_d::push_recovery::tests::test_recovery_step_for_severe ... ok [INFO] [stdout] test modules_d::muscle_activation::tests::test_force_length_decays_away_from_optimal ... ok [INFO] [stdout] test modules_d::rigid_body_tree::tests::test_body_count ... ok [INFO] [stdout] test modules_d::rigid_body_tree::tests::test_add_body_positions_len ... ok [INFO] [stdout] test modules_d::rigid_body_tree::tests::test_empty_tree_no_root ... ok [INFO] [stdout] test modules_d::rigid_body_tree::tests::test_find_root ... ok [INFO] [stdout] test modules_d::rigid_body_tree::tests::test_kinetic_energy_zero_initially ... ok [INFO] [stdout] test modules_d::rigid_contact_patch::tests::test_add_point ... ok [INFO] [stdout] test modules_d::rigid_contact_patch::tests::test_centroid_single_point ... ok [INFO] [stdout] test modules_d::rigid_body_tree::tests::test_empty_tree_no_leaves ... ok [INFO] [stdout] test modules_d::rigid_body_tree::tests::test_count_leaves ... ok [INFO] [stdout] test modules_d::rigid_body_tree::tests::test_forward_dynamics_step ... ok [INFO] [stdout] test modules_d::rigid_contact_patch::tests::test_empty_centroid ... ok [INFO] [stdout] test modules_d::rigid_body_tree::tests::test_kinetic_energy_nonzero_after_step ... ok [INFO] [stdout] test modules_d::rigid_contact_patch::tests::test_average_normal_up ... ok [INFO] [stdout] test modules_d::rigid_contact_patch::tests::test_max_depth ... ok [INFO] [stdout] test modules_d::rigid_contact_patch::tests::test_normalized_normal ... ok [INFO] [stdout] test modules_d::rigid_contact_patch::tests::test_prune_contacts ... ok [INFO] [stdout] test modules_d::rigid_tree::tests::apply_torque_changes_angle ... ok [INFO] [stdout] test modules_d::rigid_tree::tests::build_chain_length ... ok [INFO] [stdout] test modules_d::rigid_tree::tests::child_has_correct_parent ... ok [INFO] [stdout] test modules_d::rigid_tree::tests::children_of_root ... ok [INFO] [stdout] test modules_d::rigid_tree::tests::set_and_get_joint_angle ... ok [INFO] [stdout] test modules_d::rigid_contact_patch::tests::test_negative_depth_not_added ... ok [INFO] [stdout] test modules_d::rigid_contact_patch::tests::test_total_impulse ... ok [INFO] [stdout] test modules_d::rigid_tree::tests::forward_kinematics_runs_without_panic ... ok [INFO] [stdout] test modules_d::self_righting::tests::test_advance_push_to_stabilize ... ok [INFO] [stdout] test modules_d::self_righting::tests::test_advance_detect_to_push ... ok [INFO] [stdout] test modules_d::rigid_tree::tests::total_mass_sums_all_bodies ... ok [INFO] [stdout] test modules_d::self_righting::tests::test_advance_stabilize_to_done ... ok [INFO] [stdout] test modules_d::self_righting::tests::test_idle_zero_torque ... ok [INFO] [stdout] test modules_d::self_righting::tests::test_is_righted ... ok [INFO] [stdout] test modules_d::self_righting::tests::test_push_up_nonzero_torque ... ok [INFO] [stdout] test modules_d::self_righting::tests::test_trigger_starts_detect ... ok [INFO] [stdout] test modules_d::self_righting::tests::test_initial_phase_idle ... ok [INFO] [stdout] test modules_d::sensor_emg::tests::test_clear ... ok [INFO] [stdout] test modules_d::self_righting::tests::test_is_not_righted_when_idle ... ok [INFO] [stdout] test modules_d::sensor_emg::tests::test_latest_frame ... ok [INFO] [stdout] test modules_d::sensor_emg::tests::test_dominant_channel ... ok [INFO] [stdout] test modules_d::sensor_emg::tests::test_default_channel_count ... ok [INFO] [stdout] test modules_d::sensor_emg::tests::test_moving_average_length ... ok [INFO] [stdout] test modules_d::sensor_emg::tests::test_push_frame ... ok [INFO] [stdout] test modules_d::sensor_emg::tests::test_normalise_zero_signal ... ok [INFO] [stdout] test modules_d::sensor_emg::tests::test_normalise_max_one ... ok [INFO] [stdout] test modules_d::sensor_emg::tests::test_rms_constant_signal ... ok [INFO] [stdout] test modules_d::sensor_force_plate::tests::test_cop_vertical_only ... ok [INFO] [stdout] test modules_d::sensor_emg::tests::test_rms_empty ... ok [INFO] [stdout] test modules_d::sensor_force_plate::tests::test_clear ... ok [INFO] [stdout] test modules_d::sensor_force_plate::tests::test_cop_zero_fz ... ok [INFO] [stdout] test modules_d::sensor_force_plate::tests::test_is_contact_false ... ok [INFO] [stdout] test modules_d::sensor_force_plate::tests::test_default_config_sample_rate ... ok [INFO] [stdout] test modules_d::sensor_force_plate::tests::test_force_overrange ... ok [INFO] [stdout] test modules_d::sensor_force_plate::tests::test_is_contact_true ... ok [INFO] [stdout] test modules_d::sensor_force_plate::tests::test_mean_fz_empty ... ok [INFO] [stdout] test modules_d::sensor_force_plate::tests::test_push_and_count ... ok [INFO] [stdout] test modules_d::sensor_force_plate::tests::test_resultant_force ... ok [INFO] [stdout] test modules_d::sensor_imu::tests::test_accel_to_roll_pitch_flat ... ok [INFO] [stdout] test modules_d::sensor_imu::tests::test_empty_sensor_no_latest ... ok [INFO] [stdout] test modules_d::sensor_imu::tests::test_default_config ... ok [INFO] [stdout] test modules_d::sensor_imu::tests::test_clear ... ok [INFO] [stdout] test modules_d::sensor_imu::tests::test_integrate_gyro ... ok [INFO] [stdout] test modules_d::sensor_imu::tests::test_push_and_count ... ok [INFO] [stdout] test modules_d::sensor_imu::tests::test_is_static_dynamic ... ok [INFO] [stdout] test modules_d::sensor_imu::tests::test_is_static_near_1g ... ok [INFO] [stdout] test modules_d::sensor_imu::tests::test_latest_sample ... ok [INFO] [stdout] test modules_d::rigid_tree::tests::add_root_and_child ... ok [INFO] [stdout] test modules_d::rigid_tree::tests::chain_total_mass ... ok [INFO] [stdout] test modules_d::sequential_impulse::tests::test_iterate_returns_change ... ok [INFO] [stdout] test modules_d::rigid_tree::tests::root_has_no_parent ... ok [INFO] [stdout] test modules_d::sensor_imu::tests::test_vec3_magnitude_unit ... ok [INFO] [stdout] test modules_d::sequential_impulse::tests::test_lambda_clamp_max ... ok [INFO] [stdout] test modules_d::sequential_impulse::tests::test_new_solver_empty ... ok [INFO] [stdout] test modules_d::sequential_impulse::tests::test_solve_gs_clamp_min ... ok [INFO] [stdout] test modules_d::sequential_impulse::tests::test_velocity_correction ... ok [INFO] [stdout] test modules_d::shape_memory_alloy::tests::test_actuated_when_hot ... ok [INFO] [stdout] test modules_d::shape_memory_alloy::tests::test_martensite_at_cold ... ok [INFO] [stdout] test modules_d::sequential_impulse::tests::test_num_constraints ... ok [INFO] [stdout] test modules_d::sequential_impulse::tests::test_precompute_mass ... ok [INFO] [stdout] test modules_d::sequential_impulse::tests::test_total_lambda_sums ... ok [INFO] [stdout] test modules_d::shape_memory_alloy::tests::test_effective_modulus_between_limits ... ok [INFO] [stdout] test modules_d::shape_memory_alloy::tests::test_not_actuated_when_cold ... ok [INFO] [stdout] test modules_d::shape_memory_alloy::tests::test_recovery_force_positive_when_strained ... ok [INFO] [stdout] test modules_d::shape_memory_alloy::tests::test_martensite_fraction_one_when_cold ... ok [INFO] [stdout] test modules_d::skin_sliding::tests::test_adhesion_energy_positive_when_offset ... ok [INFO] [stdout] test modules_d::shape_memory_alloy::tests::test_martensite_fraction_zero_when_hot ... ok [INFO] [stdout] test modules_d::shape_memory_alloy::tests::test_strain_max_when_cold ... ok [INFO] [stdout] test modules_d::shape_memory_alloy::tests::test_strain_zero_when_hot ... ok [INFO] [stdout] test modules_d::skin_sliding::tests::test_new_skin_zero_offset ... ok [INFO] [stdout] test modules_d::skin_sliding::tests::test_offset_magnitude_positive_after_slide ... ok [INFO] [stdout] test modules_d::skin_sliding::tests::test_adhesion_energy_zero_at_rest ... ok [INFO] [stdout] test modules_d::skin_sliding::tests::test_apply_slide_moves_skin ... ok [INFO] [stdout] test modules_d::skin_sliding::tests::test_skin_converges_to_tissue ... ok [INFO] [stdout] test modules_d::skin_sliding::tests::test_skin_reset_clears_offset ... ok [INFO] [stdout] test modules_d::soft_body_mass_spring::tests::test_gravity_applies_to_free_particle ... ok [INFO] [stdout] test modules_d::soft_body_mass_spring::tests::test_kinetic_energy_positive_after_stretch ... ok [INFO] [stdout] test modules_d::skin_sliding::tests::test_stiffness_getter ... ok [INFO] [stdout] test modules_d::skin_sliding::tests::test_update_ref_changes_reference ... ok [INFO] [stdout] test modules_d::soft_body_mass_spring::tests::test_kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test modules_d::soft_body_mass_spring::tests::test_particle_count ... ok [INFO] [stdout] test modules_d::soft_body_mass_spring::tests::test_rest_length_computed ... ok [INFO] [stdout] test modules_d::soft_body_mass_spring::tests::test_spring_count ... ok [INFO] [stdout] test modules_d::solver_stats::tests::convergence_rate_all_converged ... ok [INFO] [stdout] test modules_d::soft_body_mass_spring::tests::test_pinned_particle_does_not_move ... ok [INFO] [stdout] test modules_d::soft_body_mass_spring::tests::test_potential_energy_at_rest ... ok [INFO] [stdout] test modules_d::solver_stats::tests::jacobi_solve_simple_diagonal ... ok [INFO] [stdout] test modules_d::soft_body_mass_spring::tests::test_step_moves_particles ... ok [INFO] [stdout] test modules_d::solver_stats::tests::mean_iterations_correct ... ok [INFO] [stdout] test modules_d::solver_stats::tests::mean_residual_correct ... ok [INFO] [stdout] test modules_d::solver_stats::tests::record_increments_solve_count ... ok [INFO] [stdout] test modules_d::solver_stats::tests::last_returns_last_recorded ... ok [INFO] [stdout] test modules_d::solver_stats::tests::max_residual_tracked ... ok [INFO] [stdout] test modules_d::solver_stats::tests::reset_clears_all ... ok [INFO] [stdout] test modules_d::sph_density::tests::test_average_density ... ok [INFO] [stdout] test modules_d::sph_density::tests::test_average_density_empty ... ok [INFO] [stdout] test modules_d::solver_stats::tests::residual_zero_for_exact_solution ... ok [INFO] [stdout] test modules_d::sph_density::tests::test_compute_density_single_particle ... ok [INFO] [stdout] test modules_d::solver_stats::tests::solve_stats_convergence_ratio ... ok [INFO] [stdout] test modules_d::sequential_impulse::tests::test_reset ... ok [INFO] [stdout] test modules_d::sph_density::tests::test_dist3 ... ok [INFO] [stdout] test modules_d::sph_density::tests::test_kernel_at_zero ... ok [INFO] [stdout] test modules_d::sph_pressure_force::tests::test_clear_forces ... ok [INFO] [stdout] test modules_d::sph_density::tests::test_kernel_decreasing ... ok [INFO] [stdout] test modules_d::sph_density::tests::test_estimate_density_at ... ok [INFO] [stdout] test modules_d::sph_density::tests::test_kernel_zero_beyond_support ... ok [INFO] [stdout] test modules_d::shape_memory_alloy::tests::test_austenite_when_hot ... ok [INFO] [stdout] test modules_d::sph_pressure_force::tests::test_compute_pressure_forces_two_particles ... ok [INFO] [stdout] test modules_d::sph_pressure_force::tests::test_integrate_pressure_moves_particle ... ok [INFO] [stdout] test modules_d::sph_density::tests::test_kernel_invalid_h ... ok [INFO] [stdout] test modules_d::sph_pressure_force::tests::test_kernel_gradient_antisymmetric ... ok [INFO] [stdout] test modules_d::sph_pressure_force::tests::test_kernel_gradient_at_zero ... ok [INFO] [stdout] test modules_d::sph_pressure_force::tests::test_kernel_gradient_beyond_support ... ok [INFO] [stdout] test modules_d::sph_pressure_force::tests::test_pressure_eos_compressed ... ok [INFO] [stdout] test modules_d::sph_viscosity::tests::test_apply_viscosity ... ok [INFO] [stdout] test modules_d::sph_viscosity::tests::test_compute_viscosity_forces_two_particles ... ok [INFO] [stdout] test garment_fit_v2::tests::test_refit_warm_start ... ok [INFO] [stdout] test modules_d::sph_viscosity::tests::test_kernel_laplacian_decreasing ... ok [INFO] [stdout] test modules_d::sph_viscosity::tests::test_visc_dissipation_nonzero ... ok [INFO] [stdout] test modules_d::sph_pressure_force::tests::test_pressure_eos_at_rest_density ... ok [INFO] [stdout] test modules_d::sph_viscosity::tests::test_kernel_laplacian_at_zero ... ok [INFO] [stdout] test modules_d::sph_viscosity::tests::test_clear_visc_forces ... ok [INFO] [stdout] test modules_d::sph_viscosity::tests::test_kernel_invalid_h ... ok [INFO] [stdout] test modules_d::sph_viscosity::tests::test_visc_dissipation_zero_vel ... ok [INFO] [stdout] test modules_d::step_pattern::tests::test_active_step_found ... ok [INFO] [stdout] test modules_d::step_pattern::tests::test_active_step_not_found ... ok [INFO] [stdout] test modules_d::step_pattern::tests::test_empty_no_active ... ok [INFO] [stdout] test modules_d::step_pattern::tests::test_add_event_sorted ... ok [INFO] [stdout] test modules_d::step_pattern::tests::test_empty_pattern ... ok [INFO] [stdout] test modules_d::sph_viscosity::tests::test_kernel_laplacian_beyond_h ... ok [INFO] [stdout] test modules_d::sph_pressure_force::tests::test_integrate_zero_force ... ok [INFO] [stdout] test modules_d::step_pattern::tests::test_walk_pattern_event_count ... ok [INFO] [stdout] test modules_d::step_pattern::tests::test_zero_cycles ... ok [INFO] [stdout] test modules_d::tendon_model::tests::test_force_positive_when_taut ... ok [INFO] [stdout] test modules_d::tendon_model::tests::test_new_tendon_at_slack ... ok [INFO] [stdout] test modules_d::tendon_model::tests::test_force_zero_when_slack ... ok [INFO] [stdout] test modules_d::tendon_model::tests::test_stored_energy_positive_when_taut ... ok [INFO] [stdout] test modules_d::step_pattern::tests::test_walk_pattern_alternates ... ok [INFO] [stdout] test modules_d::tendon_model::tests::test_scale_stiffness ... ok [INFO] [stdout] test modules_d::step_pattern::tests::test_total_duration_positive ... ok [INFO] [stdout] test modules_d::tendon_model::tests::test_elongation_zero_at_slack ... ok [INFO] [stdout] test modules_d::tendon_model::tests::test_tangent_stiffness_nonzero_when_taut ... ok [INFO] [stdout] test modules_d::tendon_model::tests::test_strain_increases_with_length ... ok [INFO] [stdout] test modules_d::tendon_model::tests::test_taut_when_stretched ... ok [INFO] [stdout] test modules_d::terrain_estimator::tests::test_alpha_clamped ... ok [INFO] [stdout] test modules_d::terrain_estimator::tests::test_default_flat ... ok [INFO] [stdout] test modules_d::terrain_estimator::tests::test_gradient_flat ... ok [INFO] [stdout] test modules_d::terrain_estimator::tests::test_normal_flat_points_up ... ok [INFO] [stdout] test modules_d::terrain_estimator::tests::test_normal_unit_length ... ok [INFO] [stdout] test modules_d::terrain_estimator::tests::test_too_steep_true ... ok [INFO] [stdout] test modules_d::time_stepping::tests::adapt_large_error_decreases_dt ... ok [INFO] [stdout] test modules_d::terrain_estimator::tests::test_update_flat_feet ... ok [INFO] [stdout] test modules_d::time_stepping::tests::advance_increments_time ... ok [INFO] [stdout] test modules_d::time_stepping::tests::cfl_limit_bounded ... ok [INFO] [stdout] test modules_d::terrain_estimator::tests::test_confidence_default ... ok [INFO] [stdout] test modules_d::time_stepping::tests::initial_dt_matches_config ... ok [INFO] [stdout] test modules_d::time_stepping::tests::adapt_small_error_increases_dt ... ok [INFO] [stdout] test modules_d::time_stepping::tests::euler_stability_limit_positive ... ok [INFO] [stdout] test modules_d::time_stepping::tests::reset_clears_time ... ok [INFO] [stdout] test modules_d::terrain_estimator::tests::test_too_steep_false ... ok [INFO] [stdout] test modules_d::time_stepping::tests::reject_reduces_dt ... ok [INFO] [stdout] test modules_d::time_stepping::tests::substep_count_at_least_one ... ok [INFO] [stdout] test modules_d::time_stepping::tests::success_rate_initial_is_one ... ok [INFO] [stdout] test modules_d::tissue_deform::tests::test_apply_forces_no_panic ... ok [INFO] [stdout] test modules_d::tissue_deform::tests::test_apply_force_accumulates ... ok [INFO] [stdout] test modules_d::tissue_deform::tests::test_default_params ... ok [INFO] [stdout] test modules_d::tissue_deform::tests::test_edge_count ... ok [INFO] [stdout] test modules_d::tissue_deform::tests::test_clear_forces ... ok [INFO] [stdout] test modules_d::tissue_deform::tests::test_node_count ... ok [INFO] [stdout] test modules_d::tissue_deform::tests::test_integrate_moves_node ... ok [INFO] [stdout] test modules_d::unilateral_constraint::tests::test_effective_mass_positive ... ok [INFO] [stdout] test modules_d::tissue_deform::tests::test_rest_length ... ok [INFO] [stdout] test modules_d::unilateral_constraint::tests::test_clamp_lambdas ... ok [INFO] [stdout] test modules_d::tissue_deform::tests::test_kinetic_energy_zero_initially ... ok [INFO] [stdout] test modules_d::unilateral_constraint::tests::test_lambda_non_negative_after_solve ... ok [INFO] [stdout] test modules_d::unilateral_constraint::tests::test_reset_lambda ... ok [INFO] [stdout] test modules_d::unilateral_constraint::tests::test_velocity_error_zero ... ok [INFO] [stdout] test modules_d::viscoelastic_model::tests::test_kelvin_integrate_under_stress ... ok [INFO] [stdout] test modules_d::unilateral_constraint::tests::test_restitution_clamp ... ok [INFO] [stdout] test modules_d::unilateral_constraint::tests::test_is_active ... ok [INFO] [stdout] test modules_d::viscoelastic_model::tests::test_kelvin_retardation_time ... ok [INFO] [stdout] test modules_d::viscoelastic_model::tests::test_maxwell_integrate_changes_strain ... ok [INFO] [stdout] test modules_d::viscoelastic_model::tests::test_loss_tangent ... ok [INFO] [stdout] test modules_d::viscoelastic_model::tests::test_maxwell_loss_modulus ... ok [INFO] [stdout] test modules_d::unilateral_constraint::tests::test_is_violated ... ok [INFO] [stdout] test modules_d::viscoelastic_model::tests::test_kelvin_stress_zero_at_zero_strain ... ok [INFO] [stdout] test modules_d::unilateral_constraint::tests::test_total_normal_impulse ... ok [INFO] [stdout] test modules_d::viscoelastic_model::tests::test_sls_stress_proportional ... ok [INFO] [stdout] test modules_d::vorticity_confinement::tests::test_apply_confinement_changes_velocity ... ok [INFO] [stdout] test modules_d::vorticity_confinement::tests::test_grid_size ... ok [INFO] [stdout] test modules_d::vorticity_confinement::tests::test_kinetic_energy_nonzero ... ok [INFO] [stdout] test modules_d::vorticity_confinement::tests::test_max_vorticity ... ok [INFO] [stdout] test modules_d::vorticity_confinement::tests::test_kinetic_energy_zero ... ok [INFO] [stdout] test modules_d::vorticity_confinement::tests::test_max_vorticity_empty ... ok [INFO] [stdout] test modules_d::vorticity_confinement::tests::test_vorticity_nonzero ... ok [INFO] [stdout] test modules_d::warm_start_v2::tests::advance_removes_old_entries ... ok [INFO] [stdout] test modules_d::vorticity_confinement::tests::test_vorticity_zero_field ... ok [INFO] [stdout] test modules_d::warm_start_v2::tests::blend_impulse_lerp ... ok [INFO] [stdout] test modules_d::warm_start_v2::tests::apply_warm_start_changes_velocity ... ok [INFO] [stdout] test modules_d::warm_start_v2::tests::clear_empties_cache ... ok [INFO] [stdout] test modules_d::viscoelastic_model::tests::test_maxwell_relaxation_time ... ok [INFO] [stdout] test modules_d::warm_start_v2::tests::find_mut_works ... ok [INFO] [stdout] test modules_d::viscoelastic_model::tests::test_maxwell_storage_modulus ... ok [INFO] [stdout] test modules_d::warm_start_v2::tests::len_tracks_entries ... ok [INFO] [stdout] test modules_d::vorticity_confinement::tests::test_dx_clamped ... ok [INFO] [stdout] test modules_d::warm_start_v2::tests::find_missing_is_none ... ok [INFO] [stdout] test modules_d::warm_start_v2::tests::store_and_find ... ok [INFO] [stdout] test modules_d::warm_starting::tests::test_age_and_prune ... ok [INFO] [stdout] test modules_d::warm_start_v2::tests::store_same_key_updates ... ok [INFO] [stdout] test modules_d::warm_starting::tests::test_apply_warm_start ... ok [INFO] [stdout] test modules_d::warm_starting::tests::test_get_missing ... ok [INFO] [stdout] test modules_d::warm_starting::tests::test_clear ... ok [INFO] [stdout] test modules_d::warm_start_v2::tests::symmetry_of_key ... ok [INFO] [stdout] test modules_d::warm_starting::tests::test_len ... ok [INFO] [stdout] test modules_d::warm_starting::tests::test_warm_start_hit_rate ... ok [INFO] [stdout] test modules_d::wrench_estimator::tests::test_alpha_range ... ok [INFO] [stdout] test modules_d::warm_starting::tests::test_store_and_get ... ok [INFO] [stdout] test modules_d::wrench_estimator::tests::test_add_wrenches ... ok [INFO] [stdout] test modules_d::wrench_estimator::tests::test_default_wrench_zero ... ok [INFO] [stdout] test modules_d::wrench_estimator::tests::test_external_wrench_not_detected_initially ... ok [INFO] [stdout] test modules_d::wrench_estimator::tests::test_force_direction_none_when_zero ... ok [INFO] [stdout] test modules_d::wrench_estimator::tests::test_force_magnitude ... ok [INFO] [stdout] test modules_d::wrench_estimator::tests::test_torque_magnitude ... ok [INFO] [stdout] test modules_d::warm_starting::tests::test_key_canonicalization ... ok [INFO] [stdout] test modules_d::warm_starting::tests::test_is_empty ... ok [INFO] [stdout] test modules_d::wrench_estimator::tests::test_force_direction_unit ... ok [INFO] [stdout] test modules_d::zero_moment_point::tests::test_stability_label_unstable ... ok [INFO] [stdout] test modules_d::zero_moment_point::tests::test_support_polygon_contains ... ok [INFO] [stdout] test modules_d::zero_moment_point::tests::test_stability_label_stable ... ok [INFO] [stdout] test modules_d::zero_moment_point::tests::test_support_polygon_excludes ... ok [INFO] [stdout] test modules_d::zero_moment_point::tests::test_zmp_static_balance ... ok [INFO] [stdout] test modules_d::zero_moment_point::tests::test_zmp_margin_positive ... ok [INFO] [stdout] test modules_d::zero_moment_point::tests::test_zmp_with_acceleration ... ok [INFO] [stdout] test modules_d::wrench_estimator::tests::test_update_converges ... ok [INFO] [stdout] test modules_d::zero_moment_point::tests::test_evaluate_stability_false ... ok [INFO] [stdout] test modules_d::zero_moment_point::tests::test_evaluate_stability_true ... ok [INFO] [stdout] test modules_e::actuator_ball_screw::tests::test_force_torque_roundtrip ... ok [INFO] [stdout] test modules_e::actuator_ball_screw::tests::test_load_within_rating ... ok [INFO] [stdout] test modules_e::actuator_ball_screw::tests::test_mechanical_advantage_positive ... ok [INFO] [stdout] test modules_e::actuator_ball_screw::tests::test_omega_to_linear_velocity_positive ... ok [INFO] [stdout] test modules_e::actuator_ball_screw::tests::test_torque_to_force_positive ... ok [INFO] [stdout] test modules_e::actuator_ball_screw::tests::test_motor_accelerates_nut ... ok [INFO] [stdout] test modules_e::actuator_ball_screw::tests::test_position_increases_with_positive_torque ... ok [INFO] [stdout] test modules_e::actuator_cable_drive::tests::test_cable_length_non_negative ... ok [INFO] [stdout] test modules_e::actuator_cable_drive::tests::test_spool_torque_positive_when_tensioned ... ok [INFO] [stdout] test modules_e::actuator_cable_drive::tests::test_initial_cable_length_is_rest_length ... ok [INFO] [stdout] test modules_e::actuator_ball_screw::tests::test_axial_force_clamped_to_max ... ok [INFO] [stdout] test modules_e::actuator_cable_drive::tests::test_tension_zero_when_slack ... ok [INFO] [stdout] test modules_e::actuator_cable_drive::tests::test_winding_shortens_cable ... ok [INFO] [stdout] test modules_e::actuator_cable_drive::tests::test_is_cable_slack_at_rest ... ok [INFO] [stdout] test modules_e::actuator_cable_drive::tests::test_step_updates_load_position ... ok [INFO] [stdout] test modules_e::actuator_cable_drive::tests::test_tension_positive_when_loaded ... ok [INFO] [stdout] test modules_e::actuator_ball_screw::tests::test_negative_torque_negative_velocity ... ok [INFO] [stdout] test modules_e::actuator_cable_drive::tests::test_tension_clamped_to_max ... ok [INFO] [stdout] test modules_e::actuator_dc_motor::tests::test_compute_current_zero_omega ... ok [INFO] [stdout] test modules_e::actuator_dc_motor::tests::test_clamp_voltage ... ok [INFO] [stdout] test modules_e::actuator_dc_motor::tests::test_no_load_speed_proportional_to_voltage ... ok [INFO] [stdout] test modules_e::actuator_dc_motor::tests::test_compute_torque_positive ... ok [INFO] [stdout] test modules_e::actuator_dc_motor::tests::test_stall_torque_positive ... ok [INFO] [stdout] test modules_e::actuator_dc_motor::tests::test_zero_voltage_decelerates_motor ... ok [INFO] [stdout] test modules_e::actuator_differential::tests::test_average_omega_equals_ring_omega_straight ... ok [INFO] [stdout] test modules_e::actuator_differential::tests::test_output_speed_reduced_by_ratio ... ok [INFO] [stdout] test modules_e::actuator_dc_motor::tests::test_no_load_speed_zero_ke_returns_zero ... ok [INFO] [stdout] test modules_e::actuator_dc_motor::tests::test_motor_accelerates_from_rest ... ok [INFO] [stdout] test modules_e::actuator_differential::tests::test_output_torque_positive ... ok [INFO] [stdout] test modules_e::actuator_dc_motor::tests::test_motor_step_increases_omega_over_time ... ok [INFO] [stdout] test modules_e::actuator_differential::tests::test_steering_offset_creates_speed_difference ... ok [INFO] [stdout] test modules_e::actuator_differential::tests::test_yaw_rate_zero_for_straight ... ok [INFO] [stdout] test modules_e::actuator_differential::tests::test_torque_clamped_to_max ... ok [INFO] [stdout] test modules_e::actuator_differential::tests::test_yaw_rate_nonzero_when_turning ... ok [INFO] [stdout] test modules_e::actuator_differential::tests::test_yaw_rate_zero_track_width_returns_zero ... ok [INFO] [stdout] test modules_e::actuator_differential::tests::test_straight_driving_equal_output_speeds ... ok [INFO] [stdout] test modules_e::actuator_gear_train::tests::test_add_stage_increases_total_ratio ... ok [INFO] [stdout] test modules_e::actuator_gear_train::tests::test_stage_ratio_out_of_bounds_returns_none ... ok [INFO] [stdout] test modules_e::actuator_gear_train::tests::test_reflected_inertia_decreases_with_ratio ... ok [INFO] [stdout] test modules_e::actuator_gear_train::tests::test_total_efficiency_single_stage ... ok [INFO] [stdout] test modules_e::actuator_gear_train::tests::test_output_omega_reduced ... ok [INFO] [stdout] test modules_e::actuator_gear_train::tests::test_gear_train_actuator_apply_input ... ok [INFO] [stdout] test modules_e::actuator_harmonic_drive::tests::test_back_drive_torque_small ... ok [INFO] [stdout] test modules_e::actuator_gear_train::tests::test_output_torque_increased ... ok [INFO] [stdout] test modules_e::actuator_gear_train::tests::test_single_stage_ratio ... ok [INFO] [stdout] test modules_e::actuator_harmonic_drive::tests::test_excessive_input_speed_clamped ... ok [INFO] [stdout] test modules_e::actuator_gear_train::tests::test_total_ratio_single_stage ... ok [INFO] [stdout] test modules_e::actuator_harmonic_drive::tests::test_output_speed_reduced_by_ratio ... ok [INFO] [stdout] test modules_e::actuator_harmonic_drive::tests::test_input_speed_valid ... ok [INFO] [stdout] test modules_e::actuator_harmonic_drive::tests::test_update_sets_output_fields ... ok [INFO] [stdout] test modules_e::actuator_hydraulic::tests::test_cylinder_extends_under_command ... ok [INFO] [stdout] test modules_e::actuator_hydraulic::tests::test_command_clamped_at_unit ... ok [INFO] [stdout] test modules_e::actuator_harmonic_drive::tests::test_output_torque_amplified ... ok [INFO] [stdout] test modules_e::actuator_harmonic_drive::tests::test_output_torque_clamped_to_rated ... ok [INFO] [stdout] test modules_e::actuator_harmonic_drive::tests::test_reflected_inertia_much_smaller ... ok [INFO] [stdout] test modules_e::actuator_hydraulic::tests::test_extend_command_sets_extend_pressure ... ok [INFO] [stdout] test modules_e::actuator_harmonic_drive::tests::test_torsional_deflection_positive_under_load ... ok [INFO] [stdout] test modules_e::actuator_hydraulic::tests::test_extension_ratio_bounded ... ok [INFO] [stdout] test modules_e::actuator_hydraulic::tests::test_retract_command_sets_retract_pressure ... ok [INFO] [stdout] test modules_e::actuator_linear_motor::tests::test_coil_dissipation_zero_at_rest ... ok [INFO] [stdout] test modules_e::actuator_linear_motor::tests::test_current_at_zero_velocity ... ok [INFO] [stdout] test modules_e::actuator_linear_motor::tests::test_negative_voltage_moves_negative ... ok [INFO] [stdout] test modules_e::actuator_linear_motor::tests::test_peak_thrust_proportional_to_voltage ... ok [INFO] [stdout] test modules_e::actuator_linear_motor::tests::test_no_load_velocity_zero_bemf_returns_zero ... ok [INFO] [stdout] test modules_e::actuator_hydraulic::tests::test_extension_ratio_zero_at_rest ... ok [INFO] [stdout] test modules_e::actuator_hydraulic::tests::test_hydraulic_power_zero_at_rest ... ok [INFO] [stdout] test modules_e::actuator_linear_motor::tests::test_position_clamped_to_travel_limit ... ok [INFO] [stdout] test modules_e::actuator_linear_motor::tests::test_position_negative_for_negative_command ... ok [INFO] [stdout] test modules_e::actuator_linear_motor::tests::test_motor_accelerates_from_rest ... ok [INFO] [stdout] test modules_e::actuator_hydraulic::tests::test_extension_clamped_at_stroke ... ok [INFO] [stdout] test modules_e::actuator_hydraulic::tests::test_extension_force_positive_when_extending ... ok [INFO] [stdout] test modules_e::actuator_parallel_robot::tests::test_different_angles_different_positions ... ok [INFO] [stdout] test modules_e::actuator_parallel_robot::tests::test_ee_position_updated_after_set_angles ... ok [INFO] [stdout] test modules_e::actuator_parallel_robot::tests::test_forward_kinematics_symmetric_gives_zero_xy ... ok [INFO] [stdout] test modules_e::actuator_parallel_robot::tests::test_ee_z_negative_below_base ... ok [INFO] [stdout] test modules_e::actuator_parallel_robot::tests::test_home_z_negative ... ok [INFO] [stdout] test modules_e::actuator_parallel_robot::tests::test_joints_in_limits_true_for_small_angles ... ok [INFO] [stdout] test modules_e::actuator_parallel_robot::tests::test_joints_out_of_limits_detected ... ok [INFO] [stdout] test modules_e::actuator_parallel_robot::tests::test_set_joint_angles_clamped ... ok [INFO] [stdout] test modules_e::actuator_pneumatic::tests::test_cylinder_extends_when_valve_open ... ok [INFO] [stdout] test modules_e::actuator_pneumatic::tests::test_extension_clamped_to_stroke ... ok [INFO] [stdout] test modules_e::actuator_pneumatic::tests::test_fully_extended_detection ... ok [INFO] [stdout] test modules_e::actuator_pneumatic::tests::test_not_fully_extended_at_rest ... ok [INFO] [stdout] test modules_e::actuator_pneumatic::tests::test_power_zero_at_rest ... ok [INFO] [stdout] test modules_e::actuator_pneumatic::tests::test_valve_closed_clears_pressure ... ok [INFO] [stdout] test modules_e::actuator_rack_pinion::tests::test_force_torque_roundtrip ... ok [INFO] [stdout] test modules_e::actuator_parallel_robot::tests::test_workspace_radius_positive ... ok [INFO] [stdout] test modules_e::actuator_pneumatic::tests::test_piston_force_positive_when_valve_open ... ok [INFO] [stdout] test modules_e::actuator_rack_pinion::tests::test_mechanical_advantage_positive ... ok [INFO] [stdout] test modules_e::actuator_rack_pinion::tests::test_negative_torque_negative_velocity ... ok [INFO] [stdout] test modules_e::actuator_rack_pinion::tests::test_pinion_omega_updated_after_step ... ok [INFO] [stdout] test modules_e::actuator_rack_pinion::tests::test_omega_to_rack_velocity_positive ... ok [INFO] [stdout] test modules_e::actuator_rack_pinion::tests::test_rack_moves_with_positive_torque ... ok [INFO] [stdout] test modules_e::actuator_rack_pinion::tests::test_rack_travel_ratio_bounded ... ok [INFO] [stdout] test modules_e::actuator_rack_pinion::tests::test_rack_position_clamped_to_length ... ok [INFO] [stdout] test modules_e::actuator_rack_pinion::tests::test_torque_to_force_positive ... ok [INFO] [stdout] test modules_e::actuator_servo::tests::test_angle_stays_within_limits ... ok [INFO] [stdout] test modules_e::actuator_servo::tests::test_angle_error_zero_at_target ... ok [INFO] [stdout] test modules_e::actuator_servo::tests::test_at_target_initially ... ok [INFO] [stdout] test modules_e::actuator_servo::tests::test_compute_torque_positive_when_target_greater ... ok [INFO] [stdout] test modules_e::actuator_servo::tests::test_new_servo_state_angle ... ok [INFO] [stdout] test modules_e::actuator_servo::tests::test_set_target_clamped_to_max ... ok [INFO] [stdout] test modules_e::actuator_servo::tests::test_set_target_clamped_to_min ... ok [INFO] [stdout] test modules_e::actuator_soft_robot::tests::test_chamber_force_positive ... ok [INFO] [stdout] test modules_e::actuator_servo::tests::test_servo_moves_toward_target ... ok [INFO] [stdout] test modules_e::actuator_servo::tests::test_torque_clamped_to_max ... ok [INFO] [stdout] test modules_e::actuator_soft_robot::tests::test_any_at_max_pressure_detection ... ok [INFO] [stdout] test modules_e::actuator_pneumatic::tests::test_extension_ratio_bounded_01 ... ok [INFO] [stdout] test modules_e::actuator_linear_motor::tests::test_thrust_positive_for_positive_current ... ok [INFO] [stdout] test modules_e::actuator_pneumatic::tests::test_valve_open_sets_pressure ... ok [INFO] [stdout] test modules_e::actuator_soft_robot::tests::test_elongation_clamped_to_max ... ok [INFO] [stdout] test modules_e::actuator_soft_robot::tests::test_state_num_chambers_correct ... ok [INFO] [stdout] test modules_e::actuator_soft_robot::tests::test_tip_z_increases_with_elongation ... ok [INFO] [stdout] test modules_e::actuator_soft_robot::tests::test_set_pressure_clamped_to_max ... ok [INFO] [stdout] test modules_e::actuator_stepper::tests::test_current_angle_zero_at_start ... ok [INFO] [stdout] test modules_e::actuator_soft_robot::tests::test_initial_elongations_zero ... ok [INFO] [stdout] test modules_e::actuator_stepper::tests::test_de_energize_blocks_stepping ... ok [INFO] [stdout] test modules_e::actuator_soft_robot::tests::test_pressurized_chamber_elongates ... ok [INFO] [stdout] test modules_e::actuator_soft_robot::tests::test_total_elongation_increases_under_pressure ... ok [INFO] [stdout] test modules_e::actuator_stepper::tests::test_direction_updated_correctly ... ok [INFO] [stdout] test modules_e::actuator_stepper::tests::test_step_backward_decreases_position ... ok [INFO] [stdout] test modules_e::actuator_stepper::tests::test_step_forward_increases_position ... ok [INFO] [stdout] test modules_e::actuator_stepper::tests::test_steps_to_angle_zero_is_zero ... ok [INFO] [stdout] test modules_e::actuator_tendon_drive::tests::test_is_grasping_false_at_rest ... ok [INFO] [stdout] test modules_e::actuator_tendon_drive::tests::test_finger_closes_under_tension ... ok [INFO] [stdout] test modules_e::actuator_tendon_drive::tests::test_joint_torques_clamped_by_max_tension ... ok [INFO] [stdout] test modules_e::actuator_tendon_drive::tests::test_initial_state_all_zeros ... ok [INFO] [stdout] test modules_e::actuator_stepper::tests::test_effective_step_angle_with_microstepping ... ok [INFO] [stdout] test modules_e::actuator_stepper::tests::test_move_to_angle_reaches_target ... ok [INFO] [stdout] test modules_e::actuator_tendon_drive::tests::test_new_tendon_state_size ... ok [INFO] [stdout] test modules_e::actuator_tendon_drive::tests::test_state_num_joints_correct ... ok [INFO] [stdout] test modules_e::actuator_stepper::tests::test_reenergize_allows_stepping ... ok [INFO] [stdout] test modules_e::actuator_tendon_drive::tests::test_zero_tension_no_motion ... ok [INFO] [stdout] test modules_e::actuator_worm_gear::tests::test_forward_efficiency_between_0_and_1 ... ok [INFO] [stdout] test modules_e::actuator_tendon_drive::tests::test_tendon_displacement_increases_with_closure ... ok [INFO] [stdout] test modules_e::actuator_worm_gear::tests::test_gear_ratio_correct ... ok [INFO] [stdout] test modules_e::actuator_worm_gear::tests::test_input_speed_from_output ... ok [INFO] [stdout] test modules_e::actuator_worm_gear::tests::test_output_speed_reduced ... ok [INFO] [stdout] test modules_e::actuator_worm_gear::tests::test_output_torque_amplified ... ok [INFO] [stdout] test modules_e::actuator_worm_gear::tests::test_output_torque_clamped_to_max ... ok [INFO] [stdout] test modules_e::actuator_tendon_drive::tests::test_joint_torques_positive_for_positive_tension ... ok [INFO] [stdout] test modules_e::actuator_worm_gear::tests::test_back_drive_zero_when_self_locking ... ok [INFO] [stdout] test modules_e::actuator_worm_gear::tests::test_self_locking_detection ... ok [INFO] [stdout] test modules_e::bifurcation_map::tests::test_attractor_count_empty_range ... ok [INFO] [stdout] test modules_e::bifurcation_map::tests::test_empty_for_invalid_range ... ok [INFO] [stdout] test modules_e::bifurcation_map::tests::test_r2_fixed_point ... ok [INFO] [stdout] test modules_e::bifurcation_map::tests::test_point_count ... ok [INFO] [stdout] test modules_e::actuator_worm_gear::tests::test_zero_input_gives_zero_output ... ok [INFO] [stdout] test modules_e::bifurcation_map::tests::test_period_doubling_r35 ... ok [INFO] [stdout] test modules_e::bifurcation_map::tests::test_zero_steps ... ok [INFO] [stdout] test modules_e::boids_simulation::tests::test_average_speed ... ok [INFO] [stdout] test modules_e::boids_simulation::tests::test_center_of_mass ... ok [INFO] [stdout] test modules_e::boids_simulation::tests::test_empty_sim ... ok [INFO] [stdout] test modules_e::bifurcation_map::tests::test_all_x_bounded ... ok [INFO] [stdout] test modules_e::bifurcation_map::tests::test_r4_chaotic_many_attractors ... ok [INFO] [stdout] test modules_e::bifurcation_map::tests::test_r_range_covered ... ok [INFO] [stdout] test modules_e::boids_simulation::tests::test_single_boid_no_neighbors ... ok [INFO] [stdout] test modules_e::boids_simulation::tests::test_step_changes_positions ... ok [INFO] [stdout] test modules_e::boids_simulation::tests::test_speed_clamped_after_step ... ok [INFO] [stdout] test modules_e::boundary_element::tests::test_centroid ... ok [INFO] [stdout] test modules_e::boundary_element::tests::test_centroid_empty ... ok [INFO] [stdout] test modules_e::boids_simulation::tests::test_speed_after_many_steps_reasonable ... ok [INFO] [stdout] test modules_e::boundary_element::tests::test_add_element ... ok [INFO] [stdout] test modules_e::boundary_element::tests::test_add_nodes ... ok [INFO] [stdout] test modules_e::boids_simulation::tests::test_many_steps_finite ... ok [INFO] [stdout] test modules_e::boids_simulation::tests::test_new_sim ... ok [INFO] [stdout] test modules_e::boundary_element::tests::test_element_count ... ok [INFO] [stdout] test modules_e::boundary_element::tests::test_total_length ... ok [INFO] [stdout] test modules_e::buoyancy_2d::tests::test_buoyancy_force_positive ... ok [INFO] [stdout] test modules_e::buoyancy_2d::tests::test_equilibrium_depth ... ok [INFO] [stdout] test modules_e::buoyancy_2d::tests::test_fully_submerged ... ok [INFO] [stdout] test modules_e::buoyancy_2d::tests::test_net_force_submerged ... ok [INFO] [stdout] test modules_e::buoyancy_2d::tests::test_step_floats_up ... ok [INFO] [stdout] test modules_e::boundary_element::tests::test_element_count_empty ... ok [INFO] [stdout] test modules_e::buoyancy_2d::tests::test_is_submerged ... ok [INFO] [stdout] test modules_e::boundary_element::tests::test_element_length_correct ... ok [INFO] [stdout] test modules_e::buoyancy_2d::tests::test_not_is_submerged ... ok [INFO] [stdout] test modules_e::buoyancy_2d::tests::test_water_density ... ok [INFO] [stdout] test modules_e::car_physics_2d::tests::test_drag_reduces_speed ... ok [INFO] [stdout] test modules_e::buoyancy_2d::tests::test_not_submerged ... ok [INFO] [stdout] test modules_e::car_physics_2d::tests::test_integrate_moves_forward ... ok [INFO] [stdout] test modules_e::car_physics_2d::tests::test_heading_deg ... ok [INFO] [stdout] test modules_e::car_physics_2d::tests::test_steer_clamp ... ok [INFO] [stdout] test modules_e::car_physics_2d::tests::test_kinetic_energy ... ok [INFO] [stdout] test modules_e::car_physics_2d::tests::test_velocity_at_zero_speed ... ok [INFO] [stdout] test modules_e::car_physics_2d::tests::test_creation ... ok [INFO] [stdout] test modules_e::car_physics_2d::tests::test_throttle_increases_speed ... ok [INFO] [stdout] test modules_e::car_physics_2d::tests::test_max_speed_clamp ... ok [INFO] [stdout] test modules_e::cellular_automaton_1d::tests::test_custom_initial ... ok [INFO] [stdout] test modules_e::cellular_automaton_1d::tests::test_rule_255_all_live ... ok [INFO] [stdout] test modules_e::cellular_automaton_1d::tests::test_step_is_deterministic ... ok [INFO] [stdout] test modules_e::cellular_automaton_1d::tests::test_density_range ... ok [INFO] [stdout] test modules_e::cellular_automaton_1d::tests::test_rule_0_all_die ... ok [INFO] [stdout] test modules_e::cellular_automaton_1d::tests::test_generation_increments ... ok [INFO] [stdout] test modules_e::cellular_automaton_1d::tests::test_new_single_center_cell ... ok [INFO] [stdout] test modules_e::cellular_automaton_1d::tests::test_rule_110_turing_complete ... ok [INFO] [stdout] test modules_e::cellular_automaton_1d::tests::test_rule_30_expands ... ok [INFO] [stdout] test modules_e::cellular_automaton_1d::tests::test_width ... ok [INFO] [stdout] test modules_e::chain_pendulum_2d::tests::test_damping_reduces_velocity ... ok [INFO] [stdout] test modules_e::chain_pendulum_2d::tests::test_end_position_vertical ... ok [INFO] [stdout] test modules_e::chain_pendulum_2d::tests::test_energy_positive ... ok [INFO] [stdout] test modules_e::chain_pendulum_2d::tests::test_multiple_steps ... ok [INFO] [stdout] test modules_e::chain_pendulum_2d::tests::test_step_runs ... ok [INFO] [stdout] test modules_e::chain_pendulum_2d::tests::test_small_angle_period ... ok [INFO] [stdout] test modules_e::chaos_pendulum::tests::test_bob2_position_not_origin ... ok [INFO] [stdout] test modules_e::chain_pendulum_2d::tests::test_total_energy ... ok [INFO] [stdout] test modules_e::chaos_pendulum::tests::test_kinetic_energy_at_rest_is_zero ... ok [INFO] [stdout] test modules_e::chaos_pendulum::tests::test_kinetic_energy_non_negative ... ok [INFO] [stdout] test modules_e::chaos_pendulum::tests::test_new_pendulum ... ok [INFO] [stdout] test modules_e::chaos_pendulum::tests::test_different_ics_diverge ... ok [INFO] [stdout] test modules_e::chain_pendulum_2d::tests::test_creation ... ok [INFO] [stdout] test modules_e::chaos_pendulum::tests::test_angles_finite_after_steps ... ok [INFO] [stdout] test modules_e::chaos_pendulum::tests::test_step_changes_angle ... ok [INFO] [stdout] test modules_e::chaos_pendulum::tests::test_position_within_rod_length_range ... ok [INFO] [stdout] test modules_e::cloth_2d::tests::test_add_particle ... ok [INFO] [stdout] test modules_e::chaos_pendulum::tests::test_vertical_equilibrium ... ok [INFO] [stdout] test modules_e::chain_pendulum_2d::tests::test_end_position_two_links ... ok [INFO] [stdout] test modules_e::cloth_2d::tests::test_add_spring ... ok [INFO] [stdout] test modules_e::cloth_2d::tests::test_gravity_moves_free_particle ... ok [INFO] [stdout] test modules_e::cloth_2d::tests::test_kinetic_energy_at_rest ... ok [INFO] [stdout] test modules_e::cloth_2d::tests::test_pinned_particle_doesnt_move ... ok [INFO] [stdout] test modules_e::cloth_2d::tests::test_spring_rest_length ... ok [INFO] [stdout] test modules_e::cloth_2d::tests::test_spring_force_prevents_drift ... ok [INFO] [stdout] test modules_e::collision_2d::tests::test_aabb_aabb_no_overlap ... ok [INFO] [stdout] test modules_e::collision_2d::tests::test_aabb_aabb_overlap ... ok [INFO] [stdout] test modules_e::collision_2d::tests::test_circle_circle_no_overlap ... ok [INFO] [stdout] test modules_e::collision_2d::tests::test_aabb_area ... ok [INFO] [stdout] test modules_e::collision_2d::tests::test_overlap_area ... ok [INFO] [stdout] test modules_e::cloth_2d::tests::test_creation ... ok [INFO] [stdout] test modules_e::collision_2d::tests::test_point_in_circle ... ok [INFO] [stdout] test modules_e::collision_2d::tests::test_aabb_circle_overlap ... ok [INFO] [stdout] test modules_e::cloth_2d::tests::test_multi_step ... ok [INFO] [stdout] test modules_e::discrete_element::tests::test_overlap_count_no_overlap ... ok [INFO] [stdout] test modules_e::collision_2d::tests::test_point_in_aabb ... ok [INFO] [stdout] test modules_e::collision_2d::tests::test_circle_circle_overlap ... ok [INFO] [stdout] test modules_e::discrete_element::tests::test_add_particle ... ok [INFO] [stdout] test modules_e::discrete_element::tests::test_contact_force_separates ... ok [INFO] [stdout] test modules_e::discrete_element::tests::test_particle_count ... ok [INFO] [stdout] test modules_e::discrete_element::tests::test_three_particles_overlap ... ok [INFO] [stdout] test modules_e::discrete_element::tests::test_gravity_sets_force ... ok [INFO] [stdout] test modules_e::duffing_oscillator::tests::test_damping_reduces_amplitude ... ok [INFO] [stdout] test modules_e::discrete_element::tests::test_integrate_moves_particle ... ok [INFO] [stdout] test modules_e::discrete_element::tests::test_overlap_count_with_overlap ... ok [INFO] [stdout] test modules_e::discrete_element::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::duffing_oscillator::tests::test_no_negative_beta_blowup_short_run ... ok [INFO] [stdout] test modules_e::duffing_oscillator::tests::test_new_oscillator ... ok [INFO] [stdout] test modules_e::duffing_oscillator::tests::test_step_changes_position ... ok [INFO] [stdout] test modules_e::duffing_oscillator::tests::test_energy_finite ... ok [INFO] [stdout] test modules_e::duffing_oscillator::tests::test_state_finite_after_many_steps ... ok [INFO] [stdout] test modules_e::duffing_oscillator::tests::test_time_advances ... ok [INFO] [stdout] test modules_e::duffing_oscillator::tests::test_velocity_changes ... ok [INFO] [stdout] test modules_e::explosion_2d::tests::test_apply_explosion_to_bodies ... ok [INFO] [stdout] test modules_e::explosion_2d::tests::test_center_gets_no_force ... ok [INFO] [stdout] test modules_e::explosion_2d::tests::test_shockwave_clamped ... ok [INFO] [stdout] test modules_e::duffing_oscillator::tests::test_zero_at_rest_no_forcing ... ok [INFO] [stdout] test modules_e::explosion_2d::tests::test_explosion_energy_positive ... ok [INFO] [stdout] test modules_e::explosion_2d::tests::test_affects_inside ... ok [INFO] [stdout] test modules_e::explosion_2d::tests::test_shockwave_radius ... ok [INFO] [stdout] test modules_e::fiber_network::tests::test_add_fiber ... ok [INFO] [stdout] test modules_e::fiber_network::tests::test_density ... ok [INFO] [stdout] test modules_e::explosion_2d::tests::test_affects_outside ... ok [INFO] [stdout] test modules_e::explosion_2d::tests::test_outside_radius_no_force ... ok [INFO] [stdout] test modules_e::explosion_2d::tests::test_force_within_radius ... ok [INFO] [stdout] test modules_e::fiber_network::tests::test_mean_length_isotropic ... ok [INFO] [stdout] test modules_e::fiber_network::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::fiber_network::tests::test_strain_energy_at_rest ... ok [INFO] [stdout] test modules_e::fiber_network::tests::test_total_strain_energy_stretched ... ok [INFO] [stdout] test modules_e::fiber_network::tests::test_fiber_angle ... ok [INFO] [stdout] test modules_e::fiber_network::tests::test_fiber_length ... ok [INFO] [stdout] test modules_e::finite_element_3d::tests::test_add_node ... ok [INFO] [stdout] test modules_e::fiber_network::tests::test_generate_isotropic ... ok [INFO] [stdout] test modules_e::fiber_network::tests::test_total_strain_energy_no_stretch ... ok [INFO] [stdout] test modules_e::finite_element_3d::tests::test_lame_mu ... ok [INFO] [stdout] test modules_e::finite_element_3d::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::finite_element_3d::tests::test_unit_tet_volume ... ok [INFO] [stdout] test modules_e::finite_element_3d::tests::test_total_volume ... ok [INFO] [stdout] test modules_e::fluid_2d::tests::test_add_velocity_u ... ok [INFO] [stdout] test modules_e::finite_element_3d::tests::test_dof_count ... ok [INFO] [stdout] test modules_e::fluid_2d::tests::test_clear ... ok [INFO] [stdout] test modules_e::finite_element_3d::tests::test_element_count ... ok [INFO] [stdout] test modules_e::fluid_2d::tests::test_add_density ... ok [INFO] [stdout] test modules_e::finite_element_3d::tests::test_lame_lambda ... ok [INFO] [stdout] test modules_e::fluid_2d::tests::test_cell_count ... ok [INFO] [stdout] test modules_e::finite_element_3d::tests::test_two_elements_volume ... ok [INFO] [stdout] test modules_e::fluid_2d::tests::test_total_density ... ok [INFO] [stdout] test modules_e::fractal_dimension::tests::test_empty_box_count_zero ... ok [INFO] [stdout] test modules_e::fractal_dimension::tests::test_point_count ... ok [INFO] [stdout] test modules_e::fluid_2d::tests::test_creation ... ok [INFO] [stdout] test modules_e::fractal_dimension::tests::test_single_point_one_box ... ok [INFO] [stdout] test modules_e::fluid_2d::tests::test_diffuse_reduces_density ... ok [INFO] [stdout] test modules_e::fluid_2d::tests::test_divergence ... ok [INFO] [stdout] test modules_e::fractal_dimension::tests::test_estimate_insufficient_scales ... ok [INFO] [stdout] test modules_e::fluid_2d::tests::test_step_runs ... ok [INFO] [stdout] test modules_e::fractal_dimension::tests::test_two_points_same_box ... ok [INFO] [stdout] test modules_e::fractal_dimension::tests::test_zero_box_size_returns_zero ... ok [INFO] [stdout] test modules_e::gravity_well_2d::tests::test_acceleration_independent_of_mass ... ok [INFO] [stdout] test modules_e::fractal_dimension::tests::test_line_dimension_near_1 ... ok [INFO] [stdout] test modules_e::fractal_dimension::tests::test_square_dimension_near_2 ... ok [INFO] [stdout] test modules_e::fractal_dimension::tests::test_two_points_different_boxes ... ok [INFO] [stdout] test modules_e::gravity_well_2d::tests::test_apply_gravity_wells ... ok [INFO] [stdout] test modules_e::gravity_well_2d::tests::test_at_minimum_distance ... ok [INFO] [stdout] test modules_e::gravity_well_2d::tests::test_escape_gt_orbital ... ok [INFO] [stdout] test modules_e::gravity_well_2d::tests::test_escape_velocity_positive ... ok [INFO] [stdout] test modules_e::gravity_well_2d::tests::test_force_direction_toward_well ... ok [INFO] [stdout] test modules_e::gravity_well_2d::tests::test_potential_energy_negative ... ok [INFO] [stdout] test modules_e::henon_map::tests::test_attractor_bounded ... ok [INFO] [stdout] test modules_e::henon_map::tests::test_custom_params ... ok [INFO] [stdout] test modules_e::henon_map::tests::test_new_map ... ok [INFO] [stdout] test modules_e::henon_map::tests::test_step ... ok [INFO] [stdout] test modules_e::henon_map::tests::test_trajectory_length ... ok [INFO] [stdout] test modules_e::henon_map::tests::test_iteration_counter ... ok [INFO] [stdout] test modules_e::gravity_well_2d::tests::test_force_increases_with_mass ... ok [INFO] [stdout] test modules_e::henon_map::tests::test_trajectory_first_point ... ok [INFO] [stdout] test modules_e::henon_map::tests::test_jacobian_det ... ok [INFO] [stdout] test modules_e::henon_map::tests::test_two_steps_deterministic ... ok [INFO] [stdout] test modules_e::gravity_well_2d::tests::test_force_magnitude_inverse_square ... ok [INFO] [stdout] test modules_e::isogeometric_analysis::tests::test_bspline_basis_p0 ... ok [INFO] [stdout] test modules_e::isogeometric_analysis::tests::test_eval_midpoint ... ok [INFO] [stdout] test modules_e::isogeometric_analysis::tests::test_eval_y_zero_on_line ... ok [INFO] [stdout] test modules_e::isogeometric_analysis::tests::test_knot_count ... ok [INFO] [stdout] test modules_e::isogeometric_analysis::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::isogeometric_analysis::tests::test_quadratic_basis_sum ... ok [INFO] [stdout] test modules_e::isogeometric_analysis::tests::test_weights_default_one ... ok [INFO] [stdout] test modules_e::joint_2d::tests::test_clamp_angle ... ok [INFO] [stdout] test modules_e::joint_2d::tests::test_joint_error_zero ... ok [INFO] [stdout] test modules_e::joint_2d::tests::test_damping_force ... ok [INFO] [stdout] test modules_e::isogeometric_analysis::tests::test_basis_count ... ok [INFO] [stdout] test modules_e::joint_2d::tests::test_joint_error_nonzero ... ok [INFO] [stdout] test modules_e::joint_2d::tests::test_prismatic_creation ... ok [INFO] [stdout] test modules_e::isogeometric_analysis::tests::test_eval_start ... ok [INFO] [stdout] test modules_e::joint_2d::tests::test_joint_inactive ... ok [INFO] [stdout] test modules_e::joint_2d::tests::test_joint_is_active ... ok [INFO] [stdout] test modules_e::julia_orbit::tests::test_escape_iter_some_when_outside ... ok [INFO] [stdout] test modules_e::julia_orbit::tests::test_escape_velocity_in_range ... ok [INFO] [stdout] test modules_e::julia_orbit::tests::test_immediate_escape_for_large_z ... ok [INFO] [stdout] test modules_e::julia_orbit::tests::test_c_half_all_orbits_bounded ... ok [INFO] [stdout] test modules_e::joint_2d::tests::test_revolute_creation ... ok [INFO] [stdout] test modules_e::julia_orbit::tests::test_far_point_escapes ... ok [INFO] [stdout] test modules_e::julia_orbit::tests::test_last_re_im_stored ... ok [INFO] [stdout] test modules_e::julia_orbit::tests::test_escape_velocity_one_if_in_set ... ok [INFO] [stdout] test modules_e::julia_orbit::tests::test_rabbit_julia_origin ... ok [INFO] [stdout] test modules_e::lattice_spring_model::tests::test_active_bond_count ... ok [INFO] [stdout] test modules_e::julia_orbit::tests::test_origin_with_c_zero ... ok [INFO] [stdout] test modules_e::lattice_spring_model::tests::test_compressed_spring_repels ... ok [INFO] [stdout] test modules_e::joint_2d::tests::test_spring_force_toward_anchor ... ok [INFO] [stdout] test modules_e::lattice_spring_model::tests::test_bond_breaking ... ok [INFO] [stdout] test modules_e::lattice_spring_model::tests::test_add_node ... ok [INFO] [stdout] test modules_e::lattice_spring_model::tests::test_pinned_node_does_not_move ... ok [INFO] [stdout] test modules_e::lattice_spring_model::tests::test_rest_length_correct ... ok [INFO] [stdout] test modules_e::lattice_spring_model::tests::test_strain_energy_initially_zero_for_rest ... ok [INFO] [stdout] test modules_e::lattice_spring_model::tests::test_strain_energy_stretched ... ok [INFO] [stdout] test modules_e::logistic_map::tests::test_iteration_counter ... ok [INFO] [stdout] test modules_e::lattice_spring_model::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::logistic_map::tests::test_orbit_bounded ... ok [INFO] [stdout] test modules_e::logistic_map::tests::test_new_map ... ok [INFO] [stdout] test modules_e::lattice_spring_model::tests::test_no_force_at_rest ... ok [INFO] [stdout] test modules_e::logistic_map::tests::test_fixed_point_r_1 ... ok [INFO] [stdout] test modules_e::logistic_map::tests::test_clamp_initial_x ... ok [INFO] [stdout] test modules_e::logistic_map::tests::test_bounded_after_steps ... ok [INFO] [stdout] test modules_e::logistic_map::tests::test_orbit_length ... ok [INFO] [stdout] test modules_e::logistic_map::tests::test_r_4_chaotic ... ok [INFO] [stdout] test modules_e::logistic_map::tests::test_step ... ok [INFO] [stdout] test modules_e::lorenz_system::tests::test_default_params ... ok [INFO] [stdout] test modules_e::lorenz_system::tests::test_equilibrium_at_origin ... ok [INFO] [stdout] test modules_e::lorenz_system::tests::test_new_system ... ok [INFO] [stdout] test modules_e::lorenz_system::tests::test_divergence_negative ... ok [INFO] [stdout] test modules_e::lorenz_system::tests::test_rk4_better_than_euler ... ok [INFO] [stdout] test modules_e::lorenz_system::tests::test_state_finite_after_steps ... ok [INFO] [stdout] test modules_e::lorenz_system::tests::test_custom_params ... ok [INFO] [stdout] test modules_e::lorenz_system::tests::test_step_changes_state ... ok [INFO] [stdout] test modules_e::lorenz_system::tests::test_z_non_negative_from_positive_start ... ok [INFO] [stdout] test modules_e::lyapunov_exponent::tests::test_different_x0_similar_chaos ... ok [INFO] [stdout] test modules_e::lyapunov_exponent::tests::test_r1_negative ... ok [INFO] [stdout] test modules_e::lyapunov_exponent::tests::test_estimate_finite ... ok [INFO] [stdout] test modules_e::magnetic_2d::tests::test_apply_magnetic_force ... ok [INFO] [stdout] test modules_e::magnetic_2d::tests::test_field_at_source_is_zero ... ok [INFO] [stdout] test modules_e::magnetic_2d::tests::test_field_decays_with_distance ... ok [INFO] [stdout] test modules_e::magnetic_2d::tests::test_lorentz_force_perpendicular ... ok [INFO] [stdout] test modules_e::magnetic_2d::tests::test_lorentz_zero_velocity ... ok [INFO] [stdout] test modules_e::magnetic_2d::tests::test_south_polarity_reverses_field ... ok [INFO] [stdout] test modules_e::magnetic_2d::tests::test_total_field_superposition ... ok [INFO] [stdout] test modules_e::mandelbrot_orbit::tests::test_bulb_center_in_set ... ok [INFO] [stdout] test modules_e::mandelbrot_orbit::tests::test_escape_early_for_far_point ... ok [INFO] [stdout] test modules_e::mandelbrot_orbit::tests::test_escape_iter_some_when_outside ... ok [INFO] [stdout] test modules_e::mandelbrot_orbit::tests::test_escape_velocity_zero_to_one ... ok [INFO] [stdout] test modules_e::mandelbrot_orbit::tests::test_far_outside_set ... ok [INFO] [stdout] test modules_e::mandelbrot_orbit::tests::test_in_set_escape_velocity_one ... ok [INFO] [stdout] test modules_e::mandelbrot_orbit::tests::test_minus_one_in_set ... ok [INFO] [stdout] test modules_e::mandelbrot_orbit::tests::test_modulus_sq_non_negative ... ok [INFO] [stdout] test modules_e::mandelbrot_orbit::tests::test_origin_in_set ... ok [INFO] [stdout] test modules_e::material_point_method::tests::test_add_point ... ok [INFO] [stdout] test modules_e::material_point_method::tests::test_clear_grid ... ok [INFO] [stdout] test modules_e::material_point_method::tests::test_g2p_moves_particle ... ok [INFO] [stdout] test modules_e::material_point_method::tests::test_gravity_reduces_momentum_y ... ok [INFO] [stdout] test modules_e::material_point_method::tests::test_grid_update_changes_momentum ... ok [INFO] [stdout] test modules_e::material_point_method::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::material_point_method::tests::test_node_count ... ok [INFO] [stdout] test modules_e::lyapunov_exponent::tests::test_estimate_returns_f64 ... ok [INFO] [stdout] test modules_e::material_point_method::tests::test_p2g_mass_transfer ... ok [INFO] [stdout] test modules_e::lyapunov_exponent::tests::test_r4_is_chaotic ... ok [INFO] [stdout] test modules_e::material_point_method::tests::test_two_particles_total_mass ... ok [INFO] [stdout] test modules_e::membrane_tension::tests::test_add_node ... ok [INFO] [stdout] test modules_e::lyapunov_exponent::tests::test_onset_of_chaos_near_r_3_57 ... ok [INFO] [stdout] test modules_e::lyapunov_exponent::tests::test_r_below_onset_not_chaotic ... ok [INFO] [stdout] test modules_e::membrane_tension::tests::test_build_grid_node_count ... ok [INFO] [stdout] test modules_e::membrane_tension::tests::test_build_grid_spring_count ... ok [INFO] [stdout] test modules_e::magnetic_2d::tests::test_field_magnitude_positive ... ok [INFO] [stdout] test modules_e::membrane_tension::tests::test_damping_reduces_velocity ... ok [INFO] [stdout] test modules_e::membrane_tension::tests::test_displaced_node_moves ... ok [INFO] [stdout] test modules_e::membrane_tension::tests::test_max_displacement ... ok [INFO] [stdout] test modules_e::membrane_tension::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::membrane_tension::tests::test_no_displacement_at_rest ... ok [INFO] [stdout] test modules_e::membrane_tension::tests::test_pinned_node_no_movement ... ok [INFO] [stdout] test modules_e::meshfree_sph::tests::test_avg_density_empty ... ok [INFO] [stdout] test modules_e::membrane_tension::tests::test_spring_count ... ok [INFO] [stdout] test modules_e::meshfree_sph::tests::test_add_particle ... ok [INFO] [stdout] test modules_e::meshfree_sph::tests::test_compute_densities_single ... ok [INFO] [stdout] test modules_e::meshfree_sph::tests::test_kernel_monotone ... ok [INFO] [stdout] test modules_e::meshfree_sph::tests::test_kernel_zero_distance ... ok [INFO] [stdout] test modules_e::meshfree_sph::tests::test_two_close_particles ... ok [INFO] [stdout] test modules_e::particle_system_2d::tests::test_clear ... ok [INFO] [stdout] test modules_e::particle_system_2d::tests::test_count_above_ground ... ok [INFO] [stdout] test modules_e::particle_system_2d::tests::test_creation ... ok [INFO] [stdout] test modules_e::particle_system_2d::tests::test_emit_one ... ok [INFO] [stdout] test modules_e::particle_system_2d::tests::test_gravity_applies ... ok [INFO] [stdout] test modules_e::particle_system_2d::tests::test_max_particles_respected ... ok [INFO] [stdout] test modules_e::particle_system_2d::tests::test_normalized_age ... ok [INFO] [stdout] test modules_e::particle_system_2d::tests::test_particles_expire ... ok [INFO] [stdout] test modules_e::lyapunov_exponent::tests::test_iterations_affects_precision ... ok [INFO] [stdout] test modules_e::meshfree_sph::tests::test_compute_pressures ... ok [INFO] [stdout] test modules_e::peridynamics::tests::test_active_bond_count ... ok [INFO] [stdout] test modules_e::peridynamics::tests::test_add_point ... ok [INFO] [stdout] test modules_e::peridynamics::tests::test_bond_breaking ... ok [INFO] [stdout] test modules_e::peridynamics::tests::test_build_bonds_outside_horizon ... ok [INFO] [stdout] test modules_e::meshfree_sph::tests::test_kernel_beyond_support ... ok [INFO] [stdout] test modules_e::meshfree_sph::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::peridynamics::tests::test_apply_forces_no_change_at_rest ... ok [INFO] [stdout] test modules_e::particle_system_2d::tests::test_step_emits ... ok [INFO] [stdout] test modules_e::peridynamics::tests::test_build_bonds_within_horizon ... ok [INFO] [stdout] test modules_e::peridynamics::tests::test_integrate ... ok [INFO] [stdout] test modules_e::peridynamics::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::peridynamics::tests::test_three_points ... ok [INFO] [stdout] test modules_e::phase_field_fracture::tests::test_initial_damage_zero ... ok [INFO] [stdout] test modules_e::lyapunov_exponent::tests::test_r4_lambda_near_ln2 ... ok [INFO] [stdout] test modules_e::phase_field_fracture::tests::test_max_damage_initially_zero ... ok [INFO] [stdout] test modules_e::phase_field_fracture::tests::test_strain_energy_nonzero ... ok [INFO] [stdout] test modules_e::phase_field_fracture::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::phase_field_fracture::tests::test_total_elastic_energy_initially_zero ... ok [INFO] [stdout] test modules_e::phase_field_fracture::tests::test_set_displacement ... ok [INFO] [stdout] test modules_e::polymer_chain::tests::test_contour_length ... ok [INFO] [stdout] test modules_e::phase_field_fracture::tests::test_update_damage_nonnegative ... ok [INFO] [stdout] test modules_e::polymer_chain::tests::test_initial_all_along_z ... ok [INFO] [stdout] test modules_e::polymer_chain::tests::test_end_to_end_vector_initial ... ok [INFO] [stdout] test modules_e::phase_field_fracture::tests::test_damage_bounded ... ok [INFO] [stdout] test modules_e::polymer_chain::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::phase_field_fracture::tests::test_damage_fraction ... ok [INFO] [stdout] test modules_e::polymer_chain::tests::test_end_to_end_after_randomise_reasonable ... ok [INFO] [stdout] test modules_e::polymer_chain::tests::test_radius_of_gyration ... ok [INFO] [stdout] test modules_e::polymer_chain::tests::test_segment_vector_along_z ... ok [INFO] [stdout] test modules_e::portal_physics_2d::tests::test_crossing_detection ... ok [INFO] [stdout] test modules_e::portal_physics_2d::tests::test_link ... ok [INFO] [stdout] test modules_e::polymer_chain::tests::test_randomise_changes_conformation ... ok [INFO] [stdout] test modules_e::polymer_chain::tests::test_rms_formula ... ok [INFO] [stdout] test modules_e::polymer_chain::tests::test_n_segments ... ok [INFO] [stdout] test modules_e::portal_physics_2d::tests::test_no_crossing_same_side ... ok [INFO] [stdout] test modules_e::portal_physics_2d::tests::test_point_in_portal ... ok [INFO] [stdout] test modules_e::portal_physics_2d::tests::test_portal_creation ... ok [INFO] [stdout] test modules_e::portal_physics_2d::tests::test_point_outside_portal ... ok [INFO] [stdout] test modules_e::portal_physics_2d::tests::test_portal_pair_linked ... ok [INFO] [stdout] test modules_e::projectile_2d::tests::test_gravity_applies ... ok [INFO] [stdout] test modules_e::projectile_2d::tests::test_horizontal_motion ... ok [INFO] [stdout] test modules_e::portal_physics_2d::tests::test_teleport_position_offset ... ok [INFO] [stdout] test modules_e::projectile_2d::tests::test_max_height ... ok [INFO] [stdout] test modules_e::portal_physics_2d::tests::test_velocity_transformed ... ok [INFO] [stdout] test modules_e::projectile_2d::tests::test_is_below_ground ... ok [INFO] [stdout] test modules_e::projectile_2d::tests::test_time_of_flight ... ok [INFO] [stdout] test modules_e::projectile_2d::tests::test_trajectory_length ... ok [INFO] [stdout] test modules_e::projectile_2d::tests::test_optimal_angle_is_45_deg ... ok [INFO] [stdout] test modules_e::reaction_diffusion::tests::test_initial_mean_v_low ... ok [INFO] [stdout] test modules_e::reaction_diffusion::tests::test_custom_params ... ok [INFO] [stdout] test modules_e::projectile_2d::tests::test_inactive_projectile ... ok [INFO] [stdout] test modules_e::reaction_diffusion::tests::test_initial_mean_u_near_1 ... ok [INFO] [stdout] test modules_e::reaction_diffusion::tests::test_width_height ... ok [INFO] [stdout] test modules_e::projectile_2d::tests::test_range_formula ... ok [INFO] [stdout] test modules_e::rigid_body_2d::tests::test_angle_wraps ... ok [INFO] [stdout] test modules_e::rigid_body_2d::tests::test_apply_force ... ok [INFO] [stdout] test modules_e::rigid_body_2d::tests::test_apply_impulse ... ok [INFO] [stdout] test modules_e::rigid_body_2d::tests::test_apply_torque ... ok [INFO] [stdout] test modules_e::rigid_body_2d::tests::test_gravity ... ok [INFO] [stdout] test modules_e::rigid_body_2d::tests::test_integrate_position ... ok [INFO] [stdout] test modules_e::rigid_body_2d::tests::test_kinetic_energy_rest ... ok [INFO] [stdout] test modules_e::rigid_body_2d::tests::test_speed ... ok [INFO] [stdout] test modules_e::rigid_body_2d::tests::test_momentum ... ok [INFO] [stdout] test modules_e::reaction_diffusion::tests::test_many_steps_stable ... ok [INFO] [stdout] test modules_e::reaction_diffusion::tests::test_new_grid ... ok [INFO] [stdout] test modules_e::rope_2d::tests::test_constraint_iters_default ... ok [INFO] [stdout] test modules_e::rope_2d::tests::test_anchor_stays_fixed ... ok [INFO] [stdout] test modules_e::rope_2d::tests::test_anchor_is_pinned ... ok [INFO] [stdout] test modules_e::reaction_diffusion::tests::test_step_changes_grid ... ok [INFO] [stdout] test modules_e::reaction_diffusion::tests::test_u_stays_bounded ... ok [INFO] [stdout] test modules_e::reaction_diffusion::tests::test_v_stays_bounded ... ok [INFO] [stdout] test modules_e::rope_2d::tests::test_gravity_moves_tip ... ok [INFO] [stdout] test modules_e::rope_2d::tests::test_creation ... ok [INFO] [stdout] test modules_e::rossler_attractor::tests::test_custom_params ... ok [INFO] [stdout] test modules_e::rossler_attractor::tests::test_derivatives_at_origin ... ok [INFO] [stdout] test modules_e::rossler_attractor::tests::test_default_params ... ok [INFO] [stdout] test modules_e::rope_2d::tests::test_multi_step_finite ... ok [INFO] [stdout] test modules_e::rossler_attractor::tests::test_divergence_computed ... ok [INFO] [stdout] test modules_e::rope_2d::tests::test_segment_length_fn ... ok [INFO] [stdout] test modules_e::rossler_attractor::tests::test_step_changes_state ... ok [INFO] [stdout] test modules_e::rossler_attractor::tests::test_finite_after_many_steps ... ok [INFO] [stdout] test modules_e::rope_2d::tests::test_step_runs ... ok [INFO] [stdout] test modules_e::rossler_attractor::tests::test_new_rossler ... ok [INFO] [stdout] test modules_e::rope_2d::tests::test_total_length_approx ... ok [INFO] [stdout] test modules_e::sensor_camera_stub::tests::test_default_resolution ... ok [INFO] [stdout] test modules_e::rossler_attractor::tests::test_z_stays_non_negative_from_small_start ... ok [INFO] [stdout] test modules_e::sensor_camera_stub::tests::test_backproject_ray_centre ... ok [INFO] [stdout] test modules_e::rossler_attractor::tests::test_divergence_at_origin ... ok [INFO] [stdout] test modules_e::sensor_camera_stub::tests::test_camera_stub_default ... ok [INFO] [stdout] test modules_e::sensor_camera_stub::tests::test_fov_deg_positive ... ok [INFO] [stdout] test modules_e::sensor_depth_camera::tests::test_clear ... ok [INFO] [stdout] test modules_e::sensor_camera_stub::tests::test_pixel_in_bounds_centre ... ok [INFO] [stdout] test modules_e::sensor_camera_stub::tests::test_pixel_out_of_bounds ... ok [INFO] [stdout] test modules_e::sensor_camera_stub::tests::test_project_along_z ... ok [INFO] [stdout] test modules_e::sensor_camera_stub::tests::test_project_behind_camera_none ... ok [INFO] [stdout] test modules_e::sensor_camera_stub::tests::test_identity_rotation_projects_correctly ... ok [INFO] [stdout] test modules_e::sensor_camera_stub::tests::test_pixel_area_positive ... ok [INFO] [stdout] test modules_e::sensor_depth_camera::tests::test_default_frame_rate ... ok [INFO] [stdout] test modules_e::sensor_depth_camera::tests::test_expected_pixel_count ... ok [INFO] [stdout] test modules_e::sensor_depth_camera::tests::test_latest ... ok [INFO] [stdout] test modules_e::sensor_depth_camera::tests::test_mean_depth_all_valid ... ok [INFO] [stdout] test modules_e::sensor_depth_camera::tests::test_mean_depth_empty ... ok [INFO] [stdout] test modules_e::sensor_encoder::tests::test_clear ... ok [INFO] [stdout] test modules_e::sensor_encoder::tests::test_angular_velocity_positive ... ok [INFO] [stdout] test modules_e::sensor_encoder::tests::test_angular_velocity_zero ... ok [INFO] [stdout] test modules_e::sensor_depth_camera::tests::test_valid_pixel_count_some_invalid ... ok [INFO] [stdout] test modules_e::sensor_encoder::tests::test_count_to_degrees_full ... ok [INFO] [stdout] test modules_e::sensor_encoder::tests::test_count_to_degrees_zero ... ok [INFO] [stdout] test modules_e::sensor_encoder::tests::test_count_to_radians_full ... ok [INFO] [stdout] test modules_e::sensor_encoder::tests::test_current_angle_empty ... ok [INFO] [stdout] test modules_e::sensor_encoder::tests::test_latest ... ok [INFO] [stdout] test modules_e::sensor_encoder::tests::test_push_and_count ... ok [INFO] [stdout] test modules_e::sensor_encoder::tests::test_rpm_overrange ... ok [INFO] [stdout] test modules_e::sensor_flex::tests::test_angle_to_resistance_roundtrip ... ok [INFO] [stdout] test modules_e::sensor_flex::tests::test_max_bend_sample ... ok [INFO] [stdout] test modules_e::sensor_flex::tests::test_clear ... ok [INFO] [stdout] test modules_e::sensor_flex::tests::test_latest ... ok [INFO] [stdout] test modules_e::sensor_flex::tests::test_resistance_in_range ... ok [INFO] [stdout] test modules_e::sensor_flex::tests::test_mean_angle_empty ... ok [INFO] [stdout] test modules_e::sensor_flex::tests::test_push_and_count ... ok [INFO] [stdout] test modules_e::sensor_flex::tests::test_resistance_out_of_range ... ok [INFO] [stdout] test modules_e::sensor_flex::tests::test_resistance_to_angle_flat ... ok [INFO] [stdout] test modules_e::sensor_depth_camera::tests::test_unproject_single_pixel ... ok [INFO] [stdout] test modules_e::sensor_flex::tests::test_resistance_to_angle_max ... ok [INFO] [stdout] test modules_e::sensor_lidar_stub::tests::test_clear ... ok [INFO] [stdout] test modules_e::sensor_lidar_stub::tests::test_cloud_centroid_empty ... ok [INFO] [stdout] test modules_e::sensor_lidar_stub::tests::test_cloud_centroid_single ... ok [INFO] [stdout] test modules_e::sensor_lidar_stub::tests::test_default_channel_count ... ok [INFO] [stdout] test modules_e::sensor_lidar_stub::tests::test_filter_by_range ... ok [INFO] [stdout] test modules_e::sensor_lidar_stub::tests::test_high_intensity_count ... ok [INFO] [stdout] test modules_e::sensor_lidar_stub::tests::test_latest ... ok [INFO] [stdout] test modules_e::sensor_lidar_stub::tests::test_max_point_range ... ok [INFO] [stdout] test modules_e::sensor_lidar_stub::tests::test_point_range_unit ... ok [INFO] [stdout] test modules_e::sensor_lidar_stub::tests::test_push_and_count ... ok [INFO] [stdout] test modules_e::sensor_load_cell::tests::test_clear ... ok [INFO] [stdout] test modules_e::sensor_load_cell::tests::test_force_overrange_false ... ok [INFO] [stdout] test modules_e::sensor_load_cell::tests::test_force_overrange_true ... ok [INFO] [stdout] test modules_e::sensor_load_cell::tests::test_impulse_two_samples ... ok [INFO] [stdout] test modules_e::sensor_load_cell::tests::test_peak_force ... ok [INFO] [stdout] test modules_e::sensor_load_cell::tests::test_push_and_count ... ok [INFO] [stdout] test modules_e::sensor_load_cell::tests::test_force_to_voltage_zero ... ok [INFO] [stdout] test modules_e::sensor_load_cell::tests::test_voltage_force_roundtrip ... ok [INFO] [stdout] test modules_e::sensor_load_cell::tests::test_mean_force_empty ... ok [INFO] [stdout] test modules_e::sensor_depth_camera::tests::test_push_and_count ... ok [INFO] [stdout] test modules_e::sensor_load_cell::tests::test_nonlinearity_error ... ok [INFO] [stdout] test modules_e::sensor_motion_capture::tests::test_centroid_single_marker ... ok [INFO] [stdout] test modules_e::sensor_motion_capture::tests::test_latest ... ok [INFO] [stdout] test modules_e::sensor_motion_capture::tests::test_all_markers_valid_true ... ok [INFO] [stdout] test modules_e::sensor_motion_capture::tests::test_centroid_empty ... ok [INFO] [stdout] test modules_e::sensor_motion_capture::tests::test_default_camera_count ... ok [INFO] [stdout] test modules_e::sensor_motion_capture::tests::test_marker_distance ... ok [INFO] [stdout] test modules_e::sensor_motion_capture::tests::test_find_marker ... ok [INFO] [stdout] test modules_e::sensor_motion_capture::tests::test_clear ... ok [INFO] [stdout] test modules_e::sensor_motion_capture::tests::test_push_and_count ... ok [INFO] [stdout] test modules_e::sensor_potentiometer::tests::test_angular_velocity ... ok [INFO] [stdout] test modules_e::sensor_potentiometer::tests::test_clear ... ok [INFO] [stdout] test modules_e::sensor_potentiometer::tests::test_max_linearity_error ... ok [INFO] [stdout] test modules_e::sensor_potentiometer::tests::test_push_and_count ... ok [INFO] [stdout] test modules_e::sensor_potentiometer::tests::test_voltage_in_range ... ok [INFO] [stdout] test modules_e::sensor_potentiometer::tests::test_voltage_to_angle_max ... ok [INFO] [stdout] test modules_e::sensor_potentiometer::tests::test_voltage_out_of_range ... ok [INFO] [stdout] test modules_e::sensor_pressure_mat::tests::test_cell_count ... ok [INFO] [stdout] test modules_e::sensor_potentiometer::tests::test_voltage_to_angle_min ... ok [INFO] [stdout] test modules_e::sensor_potentiometer::tests::test_angle_to_voltage_roundtrip ... ok [INFO] [stdout] test modules_e::sensor_pressure_mat::tests::test_active_cells ... ok [INFO] [stdout] test modules_e::sensor_potentiometer::tests::test_current_angle_empty ... ok [INFO] [stdout] test modules_e::sensor_pressure_mat::tests::test_clear ... ok [INFO] [stdout] test modules_e::sensor_motion_capture::tests::test_visible_marker_count ... ok [INFO] [stdout] test modules_e::sensor_pressure_mat::tests::test_cop_uniform ... ok [INFO] [stdout] test modules_e::sensor_pressure_mat::tests::test_peak_pressure ... ok [INFO] [stdout] test modules_e::sensor_pressure_mat::tests::test_cop_zero_pressure ... ok [INFO] [stdout] test modules_e::sensor_pressure_mat::tests::test_push_frame ... ok [INFO] [stdout] test modules_e::sensor_pressure_mat::tests::test_latest ... ok [INFO] [stdout] test modules_e::sensor_pressure_mat::tests::test_contact_area ... ok [INFO] [stdout] test modules_e::sensor_pressure_mat::tests::test_total_force ... ok [INFO] [stdout] test modules_e::sensor_strain_gauge::tests::test_delta_resistance_zero_strain ... ok [INFO] [stdout] test modules_e::sensor_strain_gauge::tests::test_clear ... ok [INFO] [stdout] test modules_e::sensor_strain_gauge::tests::test_latest ... ok [INFO] [stdout] test modules_e::sensor_strain_gauge::tests::test_mean_strain_empty ... ok [INFO] [stdout] test modules_e::sensor_strain_gauge::tests::test_push_and_count ... ok [INFO] [stdout] test modules_e::sensor_strain_gauge::tests::test_default_gauge_factor ... ok [INFO] [stdout] test modules_e::sensor_strain_gauge::tests::test_peak_strain ... ok [INFO] [stdout] test modules_e::sensor_strain_gauge::tests::test_roundtrip ... ok [INFO] [stdout] test modules_e::sensor_strain_gauge::tests::test_strain_overrange_true ... ok [INFO] [stdout] test modules_e::sensor_strain_gauge::tests::test_stress_calculation ... ok [INFO] [stdout] test modules_e::sensor_tactile::tests::test_active_taxels ... ok [INFO] [stdout] test modules_e::sensor_tactile::tests::test_centre_of_force_zero ... ok [INFO] [stdout] test modules_e::sensor_tactile::tests::test_centre_of_force_uniform ... ok [INFO] [stdout] test modules_e::sensor_tactile::tests::test_clear ... ok [INFO] [stdout] test modules_e::sensor_tactile::tests::test_contact_area ... ok [INFO] [stdout] test modules_e::sensor_tactile::tests::test_overrange_true ... ok [INFO] [stdout] test modules_e::sensor_tactile::tests::test_peak_taxel_force ... ok [INFO] [stdout] test modules_e::sensor_tactile::tests::test_push_and_count ... ok [INFO] [stdout] test modules_e::sensor_tactile::tests::test_taxel_count ... ok [INFO] [stdout] test modules_e::sensor_tactile::tests::test_total_force ... ok [INFO] [stdout] test modules_e::sensor_temperature::tests::test_celsius_to_fahrenheit ... ok [INFO] [stdout] test modules_e::sensor_temperature::tests::test_celsius_to_kelvin ... ok [INFO] [stdout] test modules_e::sensor_temperature::tests::test_fahrenheit_to_celsius ... ok [INFO] [stdout] test modules_e::sensor_temperature::tests::test_is_fever_false ... ok [INFO] [stdout] test modules_e::sensor_temperature::tests::test_is_fever_true ... ok [INFO] [stdout] test modules_e::sensor_temperature::tests::test_mean_temperature ... ok [INFO] [stdout] test modules_e::sensor_temperature::tests::test_push_and_count ... ok [INFO] [stdout] test modules_e::sensor_temperature::tests::test_quantise ... ok [INFO] [stdout] test modules_e::sensor_temperature::tests::test_samples_at_site ... ok [INFO] [stdout] test modules_e::sensor_temperature::tests::test_temperature_out_of_range ... ok [INFO] [stdout] test modules_e::sensor_ultrasonic::tests::test_beam_footprint_positive ... ok [INFO] [stdout] test modules_e::sensor_ultrasonic::tests::test_clear ... ok [INFO] [stdout] test modules_e::sensor_ultrasonic::tests::test_distance_in_range_false ... ok [INFO] [stdout] test modules_e::sensor_ultrasonic::tests::test_distance_in_range_true ... ok [INFO] [stdout] test modules_e::sensor_ultrasonic::tests::test_distance_to_tof_roundtrip ... ok [INFO] [stdout] test modules_e::sensor_ultrasonic::tests::test_median_distance_none ... ok [INFO] [stdout] test modules_e::sensor_ultrasonic::tests::test_median_distance_odd ... ok [INFO] [stdout] test modules_e::sensor_ultrasonic::tests::test_push_and_count ... ok [INFO] [stdout] test modules_e::sensor_ultrasonic::tests::test_tof_to_distance ... ok [INFO] [stdout] test modules_e::sensor_ultrasonic::tests::test_valid_fraction ... ok [INFO] [stdout] test modules_e::sensor_ultrasonic::tests::test_valid_fraction_empty ... ok [INFO] [stdout] test modules_e::soft_body_2d::tests::test_add_node_and_edge ... ok [INFO] [stdout] test modules_e::soft_body_2d::tests::test_center_of_mass ... ok [INFO] [stdout] test modules_e::soft_body_2d::tests::test_fixed_node_stable ... ok [INFO] [stdout] test modules_e::soft_body_2d::tests::test_gravity_moves_nodes_down ... ok [INFO] [stdout] test modules_e::soft_body_2d::tests::test_kinetic_energy_after_step ... ok [INFO] [stdout] test modules_e::soft_body_2d::tests::test_kinetic_energy_at_rest ... ok [INFO] [stdout] test modules_e::soft_body_2d::tests::test_square_creation ... ok [INFO] [stdout] test modules_e::soft_body_2d::tests::test_multi_step ... ok [INFO] [stdout] test modules_e::soft_body_2d::tests::test_step_runs ... ok [INFO] [stdout] test modules_e::turing_pattern::tests::test_a_non_negative ... ok [INFO] [stdout] test modules_e::turing_pattern::tests::test_custom_params ... ok [INFO] [stdout] test modules_e::turing_pattern::tests::test_finite_after_steps ... ok [INFO] [stdout] test modules_e::turing_pattern::tests::test_h_non_negative ... ok [INFO] [stdout] test modules_e::turing_pattern::tests::test_initial_mean_near_1 ... ok [INFO] [stdout] test modules_e::turing_pattern::tests::test_new_grid ... ok [INFO] [stdout] test modules_e::turing_pattern::tests::test_step_changes_state ... ok [INFO] [stdout] test modules_e::turing_pattern::tests::test_variance_initial_small ... ok [INFO] [stdout] test modules_e::turing_pattern::tests::test_width_height ... ok [INFO] [stdout] test modules_e::van_der_pol_osc::tests::test_energy_positive ... ok [INFO] [stdout] test modules_e::van_der_pol_osc::tests::test_large_mu_bounded ... ok [INFO] [stdout] test modules_e::van_der_pol_osc::tests::test_limit_cycle_behavior ... ok [INFO] [stdout] test modules_e::van_der_pol_osc::tests::test_mu_zero_is_harmonic ... ok [INFO] [stdout] test modules_e::van_der_pol_osc::tests::test_new_osc ... ok [INFO] [stdout] test modules_e::van_der_pol_osc::tests::test_state_finite_after_steps ... ok [INFO] [stdout] test modules_e::van_der_pol_osc::tests::test_step_changes_state ... ok [INFO] [stdout] test modules_e::van_der_pol_osc::tests::test_time_advances ... ok [INFO] [stdout] test modules_e::van_der_pol_osc::tests::test_zero_initial_stays_zero ... ok [INFO] [stdout] test modules_e::worm_like_chain::tests::test_bending_stiffness ... ok [INFO] [stdout] test modules_e::worm_like_chain::tests::test_extension_at_force_increases_with_force ... ok [INFO] [stdout] test modules_e::worm_like_chain::tests::test_extension_at_zero_force ... ok [INFO] [stdout] test modules_e::worm_like_chain::tests::test_force_increases_with_extension ... ok [INFO] [stdout] test modules_e::worm_like_chain::tests::test_force_near_full_extension_is_large ... ok [INFO] [stdout] test modules_e::worm_like_chain::tests::test_new_helper ... ok [INFO] [stdout] test modules_e::worm_like_chain::tests::test_rms_end_to_end_positive ... ok [INFO] [stdout] test modules_e::worm_like_chain::tests::test_rms_shorter_than_contour ... ok [INFO] [stdout] test modules_e::worm_like_chain::tests::test_tangent_correlation_at_zero ... ok [INFO] [stdout] test modules_e::worm_like_chain::tests::test_tangent_correlation_decays ... ok [INFO] [stdout] test modules_f::adhesion_model::tests::test_adhesion_energy_positive ... ok [INFO] [stdout] test modules_f::adhesion_model::tests::test_adhesion_energy_zero_radius ... ok [INFO] [stdout] test modules_f::adhesion_model::tests::test_dmt_greater_than_jkr ... ok [INFO] [stdout] test modules_e::sensor_temperature::tests::test_temperature_in_range ... ok [INFO] [stdout] test modules_f::adhesion_model::tests::test_dmt_pulloff_positive ... ok [INFO] [stdout] test modules_f::adhesion_model::tests::test_jkr_pulloff_positive ... ok [INFO] [stdout] test modules_f::adhesion_model::tests::test_jkr_zero_force_radius_positive ... ok [INFO] [stdout] test modules_f::adhesion_model::tests::test_is_jkr_regime_large_maugis ... ok [INFO] [stdout] test modules_f::adhesion_model::tests::test_maugis_parameter_positive ... ok [INFO] [stdout] test modules_f::adhesion_model::tests::test_pulloff_dmt_model ... ok [INFO] [stdout] test modules_f::adhesion_model::tests::test_pulloff_jkr_model ... ok [INFO] [stdout] test modules_f::balance_control::tests::test_balance_angle_deg ... ok [INFO] [stdout] test modules_f::balance_control::tests::test_balance_apply_perturbation ... ok [INFO] [stdout] test modules_f::balance_control::tests::test_balance_control_torque_corrects_angle ... ok [INFO] [stdout] test modules_f::balance_control::tests::test_balance_is_stable_at_origin ... ok [INFO] [stdout] test modules_f::balance_control::tests::test_balance_step_stable_when_zero ... ok [INFO] [stdout] test modules_f::balance_control::tests::test_new_balance_pendulum ... ok [INFO] [stdout] test modules_f::beam_element::tests::test_apply_load ... ok [INFO] [stdout] test modules_f::beam_element::tests::test_axial_stiffness_positive ... ok [INFO] [stdout] test modules_f::beam_element::tests::test_bending_stiffness_positive ... ok [INFO] [stdout] test modules_f::beam_element::tests::test_cantilever_deflection_positive ... ok [INFO] [stdout] test modules_f::beam_element::tests::test_element_count ... ok [INFO] [stdout] test modules_f::beam_element::tests::test_local_stiffness_symmetry ... ok [INFO] [stdout] test modules_f::beam_element::tests::test_new_helper ... ok [INFO] [stdout] test modules_f::beam_element::tests::test_node_count ... ok [INFO] [stdout] test modules_f::beam_element::tests::test_section_area ... ok [INFO] [stdout] test modules_f::beam_element::tests::test_section_moment_of_inertia ... ok [INFO] [stdout] test modules_f::bladder_model::tests::fill_over_time ... ok [INFO] [stdout] test modules_f::bladder_model::tests::fullness_between_0_and_1 ... ok [INFO] [stdout] test modules_f::bladder_model::tests::initial_volume_zero ... ok [INFO] [stdout] test modules_f::bladder_model::tests::no_urge_when_empty ... ok [INFO] [stdout] test modules_f::bladder_model::tests::pressure_increases_with_volume ... ok [INFO] [stdout] test modules_f::bladder_model::tests::urge_when_full ... ok [INFO] [stdout] test modules_f::bladder_model::tests::void_empties_bladder ... ok [INFO] [stdout] test modules_f::blood_viscosity::tests::test_apparent_viscosity_matches ... ok [INFO] [stdout] test modules_f::blood_viscosity::tests::test_is_flowing_false ... ok [INFO] [stdout] test modules_f::blood_viscosity::tests::test_is_flowing_true ... ok [INFO] [stdout] test modules_f::blood_viscosity::tests::test_new ... ok [INFO] [stdout] test modules_f::blood_viscosity::tests::test_viscosity_decreases_with_rate ... ok [INFO] [stdout] test modules_f::blood_viscosity::tests::test_viscosity_positive ... ok [INFO] [stdout] test modules_f::bone_remodeling::tests::test_dense ... ok [INFO] [stdout] test modules_f::bone_remodeling::tests::test_mineral_content ... ok [INFO] [stdout] test modules_f::bone_remodeling::tests::test_not_osteoporotic ... ok [INFO] [stdout] test modules_f::bone_remodeling::tests::test_osteoporotic ... ok [INFO] [stdout] test modules_f::bone_remodeling::tests::test_step_toward_target ... ok [INFO] [stdout] test modules_f::blood_viscosity::tests::test_yield_stress ... ok [INFO] [stdout] test modules_f::capillary_action::tests::test_jurin_law_numeric ... ok [INFO] [stdout] test modules_f::bone_remodeling::tests::test_equilibrium_density_clamped ... ok [INFO] [stdout] test modules_f::bone_remodeling::tests::test_new ... ok [INFO] [stdout] test modules_f::capillary_action::tests::test_new_defaults ... ok [INFO] [stdout] test modules_f::capillary_action::tests::test_set_angle_90_degrees ... ok [INFO] [stdout] test modules_f::cardiac_output::tests::test_cardiac_output ... ok [INFO] [stdout] test modules_f::capillary_action::tests::test_pressure_positive ... ok [INFO] [stdout] test modules_f::capillary_action::tests::test_rise_height_decreases_with_radius ... ok [INFO] [stdout] test modules_f::capillary_action::tests::test_rise_height_positive ... ok [INFO] [stdout] test modules_f::cardiac_output::tests::test_default ... ok [INFO] [stdout] test modules_f::capillary_action::tests::test_volume_positive ... ok [INFO] [stdout] test modules_f::cardiac_output::tests::test_frank_starling_increase ... ok [INFO] [stdout] test modules_f::cardiac_output::tests::test_mean_arterial_pressure ... ok [INFO] [stdout] test modules_f::cartilage_stress::tests::test_apply_load_increases_strain ... ok [INFO] [stdout] test modules_f::cardiac_output::tests::test_frank_starling_clamped ... ok [INFO] [stdout] test modules_f::cardiac_output::tests::test_new_defaults ... ok [INFO] [stdout] test modules_f::cartilage_stress::tests::test_fluid_pressure_positive ... ok [INFO] [stdout] test modules_f::cartilage_stress::tests::test_initial_strain_zero ... ok [INFO] [stdout] test modules_f::cardiac_output::tests::test_ejection_fraction ... ok [INFO] [stdout] test modules_f::cartilage_stress::tests::test_strain_clamp ... ok [INFO] [stdout] test modules_f::cartilage_stress::tests::test_new ... ok [INFO] [stdout] test modules_f::cartilage_stress::tests::test_recovery ... ok [INFO] [stdout] test modules_f::cartilage_stress::tests::test_total_stress ... ok [INFO] [stdout] test modules_f::cell_migration_model::tests::test_cell_chemotaxis_step ... ok [INFO] [stdout] test modules_f::cell_migration_model::tests::test_cell_distance_from_origin ... ok [INFO] [stdout] test modules_f::cell_migration_model::tests::test_cell_persistence ... ok [INFO] [stdout] test modules_f::cell_migration_model::tests::test_cell_zero_speed ... ok [INFO] [stdout] test modules_f::cell_migration_model::tests::test_cell_position ... ok [INFO] [stdout] test modules_f::circadian_rhythm::tests::test_circadian_is_nighttime ... ok [INFO] [stdout] test modules_f::cell_migration_model::tests::test_cell_step_moves ... ok [INFO] [stdout] test modules_f::cell_migration_model::tests::test_new_cell ... ok [INFO] [stdout] test modules_f::circadian_rhythm::tests::test_circadian_alertness_at_phase_zero ... ok [INFO] [stdout] test modules_f::circadian_rhythm::tests::test_circadian_alertness_range ... ok [INFO] [stdout] test modules_f::circadian_rhythm::tests::test_circadian_time_to_peak ... ok [INFO] [stdout] test modules_f::circadian_rhythm::tests::test_new_circadian_oscillator ... ok [INFO] [stdout] test modules_f::contact_mechanics::tests::test_contact_radius_positive_force ... ok [INFO] [stdout] test modules_f::circadian_rhythm::tests::test_circadian_phase_shift ... ok [INFO] [stdout] test modules_f::contact_mechanics::tests::test_contact_stiffness_zero_delta ... ok [INFO] [stdout] test modules_f::circadian_rhythm::tests::test_circadian_step_advances_phase ... ok [INFO] [stdout] test modules_f::contact_mechanics::tests::test_approach_positive ... ok [INFO] [stdout] test modules_f::contact_mechanics::tests::test_contact_area_positive ... ok [INFO] [stdout] test modules_f::contact_mechanics::tests::test_force_from_approach_positive ... ok [INFO] [stdout] test modules_f::contact_mechanics::tests::test_max_pressure_positive ... ok [INFO] [stdout] test modules_f::contact_mechanics::tests::test_effective_modulus_positive ... ok [INFO] [stdout] test modules_f::contact_mechanics::tests::test_force_from_approach_zero ... ok [INFO] [stdout] test modules_f::coronary_flow::tests::critical_with_high_stenosis ... ok [INFO] [stdout] test modules_f::contact_mechanics::tests::test_sphere_on_flat ... ok [INFO] [stdout] test modules_f::contact_mechanics::tests::test_effective_radius_equal_spheres ... ok [INFO] [stdout] test modules_f::coronary_flow::tests::not_critical_without_stenosis ... ok [INFO] [stdout] test modules_f::coronary_flow::tests::resistance_positive ... ok [INFO] [stdout] test modules_f::diaphragm_model::tests::fatigue_accumulates ... ok [INFO] [stdout] test modules_f::coronary_flow::tests::ffr_one_without_stenosis ... ok [INFO] [stdout] test modules_f::coronary_flow::tests::ffr_less_than_one_with_stenosis ... ok [INFO] [stdout] test modules_f::coronary_flow::tests::stenosis_increases_resistance ... ok [INFO] [stdout] test modules_f::diaphragm_model::tests::force_positive_with_activation ... ok [INFO] [stdout] test modules_f::coronary_flow::tests::flow_positive_with_pressure ... ok [INFO] [stdout] test modules_f::diaphragm_model::tests::full_activation_max_force ... ok [INFO] [stdout] test modules_f::diaphragm_model::tests::initial_force_zero ... ok [INFO] [stdout] test modules_f::diaphragm_model::tests::paralyzed_when_max_force_small ... ok [INFO] [stdout] test modules_f::diaphragm_model::tests::pressure_positive_for_positive_area ... ok [INFO] [stdout] test modules_f::diaphragm_model::tests::not_paralyzed_normally ... ok [INFO] [stdout] test modules_f::dielectrophoresis_model::tests::test_clausius_mossotti_dc_limit ... ok [INFO] [stdout] test modules_f::dielectrophoresis_model::tests::test_default_config ... ok [INFO] [stdout] test modules_f::dielectrophoresis_model::tests::test_dep_force_scales_with_radius_cubed ... ok [INFO] [stdout] test modules_f::dielectrophoresis_model::tests::test_dep_force_sign_positive_dep ... ok [INFO] [stdout] test modules_f::dielectrophoresis_model::tests::test_dep_force_zero_grad ... ok [INFO] [stdout] test modules_f::dielectrophoresis_model::tests::test_clausius_mossotti_range ... ok [INFO] [stdout] test modules_f::dielectrophoresis_model::tests::test_dep_velocity_finite ... ok [INFO] [stdout] test modules_f::dielectrophoresis_model::tests::test_crossover_frequency_non_negative ... ok [INFO] [stdout] test modules_f::dielectrophoresis_model::tests::test_is_positive_dep_type ... ok [INFO] [stdout] test modules_f::digestive_peristalsis::tests::test_bolus_velocity ... ok [INFO] [stdout] test modules_f::digestive_peristalsis::tests::test_is_contracted ... ok [INFO] [stdout] test modules_f::digestive_peristalsis::tests::test_is_not_contracted_at_rest ... ok [INFO] [stdout] test modules_f::dielectrophoresis_model::tests::test_dep_velocity_zero_viscosity ... ok [INFO] [stdout] test modules_f::digestive_peristalsis::tests::test_radius_bounds ... ok [INFO] [stdout] test modules_f::digestive_peristalsis::tests::test_position_set ... ok [INFO] [stdout] test modules_f::digestive_peristalsis::tests::test_step_advances_phase ... ok [INFO] [stdout] test modules_f::electrostriction_model::tests::test_dielectric_energy_positive ... ok [INFO] [stdout] test modules_f::digestive_peristalsis::tests::test_new ... ok [INFO] [stdout] test modules_f::electrostriction_model::tests::test_dielectric_energy_zero_volume ... ok [INFO] [stdout] test modules_f::electrostriction_model::tests::test_maxwell_stress_positive ... ok [INFO] [stdout] test modules_f::electrostriction_model::tests::test_electrostriction_force_positive ... ok [INFO] [stdout] test modules_f::electrostriction_model::tests::test_electrostriction_force_zero_gap ... ok [INFO] [stdout] test modules_f::electrostriction_model::tests::test_electrostrictive_strain_positive ... ok [INFO] [stdout] test modules_f::electrostriction_model::tests::test_electrostrictive_strain_quadratic ... ok [INFO] [stdout] test modules_f::electrostriction_model::tests::test_polarization_from_field_positive ... ok [INFO] [stdout] test modules_f::electrostriction_model::tests::test_strain_from_e_field_positive ... ok [INFO] [stdout] test modules_f::electrowetting::tests::test_capillary_pressure_zero_radius ... ok [INFO] [stdout] test modules_f::electrostriction_model::tests::test_transverse_strain_sign ... ok [INFO] [stdout] test modules_f::electrowetting::tests::test_contact_line_force_positive ... ok [INFO] [stdout] test modules_f::electrowetting::tests::test_ewod_number_positive ... ok [INFO] [stdout] test modules_f::electrowetting::tests::test_contact_angle_clamped ... ok [INFO] [stdout] test modules_f::electrowetting::tests::test_ewod_number_zero ... ok [INFO] [stdout] test modules_f::electrowetting::tests::test_contact_line_force_zero_voltage ... ok [INFO] [stdout] test modules_f::electrowetting::tests::test_spreading_velocity_zero_viscosity ... ok [INFO] [stdout] test modules_f::fall_risk_model::tests::test_fall_dominant_factor ... ok [INFO] [stdout] test modules_f::fall_risk_model::tests::test_fall_is_high_risk ... ok [INFO] [stdout] test modules_f::fall_risk_model::tests::test_fall_risk_category ... ok [INFO] [stdout] test modules_f::fall_risk_model::tests::test_fall_risk_score_high_for_frail ... ok [INFO] [stdout] test modules_f::electrowetting::tests::test_contact_angle_decreases_with_voltage ... ok [INFO] [stdout] test modules_f::fall_risk_model::tests::test_fall_set_balance ... ok [INFO] [stdout] test modules_f::electrowetting::tests::test_contact_angle_zero_voltage ... ok [INFO] [stdout] test modules_f::ferroelectric_model::tests::test_displacement_field_at_zero ... ok [INFO] [stdout] test modules_f::electrowetting::tests::test_restore_contact_angle ... ok [INFO] [stdout] test modules_f::fall_risk_model::tests::test_fall_risk_score_low_for_young ... ok [INFO] [stdout] test modules_f::fall_risk_model::tests::test_new_fall_risk_factors ... ok [INFO] [stdout] test modules_f::ferroelectric_model::tests::test_hysteresis_near_coercive ... ok [INFO] [stdout] test modules_f::ferroelectric_model::tests::test_hysteresis_saturation ... ok [INFO] [stdout] test modules_f::ferroelectric_model::tests::test_is_above_coercive_false ... ok [INFO] [stdout] test modules_f::ferroelectric_model::tests::test_is_above_coercive_true ... ok [INFO] [stdout] test modules_f::ferroelectric_model::tests::test_polarization_vs_temp_zero_at_curie ... ok [INFO] [stdout] test modules_f::ferroelectric_model::tests::test_remnant_negative ... ok [INFO] [stdout] test modules_f::ferroelectric_model::tests::test_remnant_positive ... ok [INFO] [stdout] test modules_f::ferrofluid_model::tests::test_magnetic_pressure_positive ... ok [INFO] [stdout] test modules_f::ferrofluid_model::tests::test_effective_viscosity_increases_with_field ... ok [INFO] [stdout] test modules_f::ferroelectric_model::tests::test_hysteresis_energy_positive ... ok [INFO] [stdout] test modules_f::ferrofluid_model::tests::test_magnetization_positive_positive_field ... ok [INFO] [stdout] test modules_f::ferrofluid_model::tests::test_kelvin_force_density_positive ... ok [INFO] [stdout] test modules_f::ferrofluid_model::tests::test_magnetization_zero_field ... ok [INFO] [stdout] test modules_f::ferrofluid_model::tests::test_magnetization_saturates ... ok [INFO] [stdout] test modules_f::ferrofluid_model::tests::test_rosensweig_threshold_positive ... ok [INFO] [stdout] test modules_f::ferrofluid_model::tests::test_spike_height_zero_below_threshold ... ok [INFO] [stdout] test modules_f::ferrofluid_model::tests::test_spike_height_positive_above_threshold ... ok [INFO] [stdout] test modules_f::gastric_acid_model::tests::acidic_initially ... ok [INFO] [stdout] test modules_f::ferrofluid_model::tests::test_wetting_pressure_zero_radius ... ok [INFO] [stdout] test modules_f::gastric_acid_model::tests::inhibition_reduces_rate ... ok [INFO] [stdout] test modules_f::gastric_acid_model::tests::antacid_raises_ph ... ok [INFO] [stdout] test modules_f::gastric_acid_model::tests::initial_ph ... ok [INFO] [stdout] test modules_f::gastric_acid_model::tests::ph_clamped_above_zero ... ok [INFO] [stdout] test modules_f::gastric_acid_model::tests::ph_clamped_below_14 ... ok [INFO] [stdout] test modules_f::grip_force_model::tests::test_grip_overshoot_factor ... ok [INFO] [stdout] test modules_f::gastric_acid_model::tests::step_lowers_ph ... ok [INFO] [stdout] test modules_f::grip_force_model::tests::test_grip_is_slipping_when_weak ... ok [INFO] [stdout] test modules_f::grip_force_model::tests::test_grip_required_force ... ok [INFO] [stdout] test modules_f::grip_force_model::tests::test_grip_not_slipping_when_strong ... ok [INFO] [stdout] test modules_f::grip_force_model::tests::test_grip_set_target ... ok [INFO] [stdout] test modules_f::grip_force_model::tests::test_grip_step_approaches_target ... ok [INFO] [stdout] test modules_f::grip_force_model::tests::test_new_grip_force ... ok [INFO] [stdout] test modules_f::heart_valve_model::tests::flow_rate_positive_when_open ... ok [INFO] [stdout] test modules_f::heart_valve_model::tests::flow_rate_zero_when_closed ... ok [INFO] [stdout] test modules_f::heart_valve_model::tests::closes_with_negative_gradient ... ok [INFO] [stdout] test modules_f::heart_valve_model::tests::opens_with_positive_gradient ... ok [INFO] [stdout] test modules_f::heart_valve_model::tests::stenotic_when_area_small ... ok [INFO] [stdout] test modules_f::heart_valve_model::tests::regurgitation_fraction_clamped ... ok [INFO] [stdout] test modules_f::interstitial_fluid::tests::test_is_edematous_false_at_rest ... ok [INFO] [stdout] test modules_f::interstitial_fluid::tests::test_is_edematous_true ... ok [INFO] [stdout] test modules_f::interstitial_fluid::tests::test_net_flow_zero_at_balance ... ok [INFO] [stdout] test modules_f::interstitial_fluid::tests::test_default ... ok [INFO] [stdout] test modules_f::heart_valve_model::tests::not_stenotic_when_fully_open ... ok [INFO] [stdout] test modules_f::interstitial_fluid::tests::test_step_filtration_excess ... ok [INFO] [stdout] test modules_f::interstitial_fluid::tests::test_new ... ok [INFO] [stdout] test modules_f::interstitial_fluid::tests::test_volume_change_sign ... ok [INFO] [stdout] test modules_f::intervertebral_disc::tests::axial_stiffness_positive ... ok [INFO] [stdout] test modules_f::intervertebral_disc::tests::height_loss_proportional ... ok [INFO] [stdout] test modules_f::intervertebral_disc::tests::load_increases_pressure ... ok [INFO] [stdout] test modules_f::intervertebral_disc::tests::initial_pressure_zero ... ok [INFO] [stdout] test modules_f::intervertebral_disc::tests::height_stays_positive_under_load ... ok [INFO] [stdout] test modules_f::intervertebral_disc::tests::recovery_reduces_pressure ... ok [INFO] [stdout] test modules_f::intervertebral_disc::tests::not_herniated_initially ... ok [INFO] [stdout] test modules_f::intestinal_absorption::tests::bioavailability_between_0_and_1 ... ok [INFO] [stdout] test modules_f::intestinal_absorption::tests::fraction_absorbed_bounded ... ok [INFO] [stdout] test modules_f::intestinal_absorption::tests::amount_decreases_after_step ... ok [INFO] [stdout] test modules_f::intestinal_absorption::tests::initial_dose ... ok [INFO] [stdout] test modules_f::intestinal_absorption::tests::amount_nonnegative ... ok [INFO] [stdout] test modules_f::intestinal_absorption::tests::gut_step_absorbs_amount ... ok [INFO] [stdout] test modules_f::intestinal_absorption::tests::peak_time_positive ... ok [INFO] [stdout] test modules_f::joint_contact_model::tests::energy_positive_for_penetration ... ok [INFO] [stdout] test modules_f::joint_contact_model::tests::energy_zero_at_zero_penetration ... ok [INFO] [stdout] test modules_f::joint_contact_model::tests::force_positive_for_penetration ... ok [INFO] [stdout] test modules_f::joint_contact_model::tests::in_contact_when_gap_negative ... ok [INFO] [stdout] test modules_f::joint_contact_model::tests::no_penetration_no_force ... ok [INFO] [stdout] test modules_f::joint_contact_model::tests::pressure_scales_with_penetration ... ok [INFO] [stdout] test modules_f::joint_contact_model::tests::pressure_zero_for_zero_area ... ok [INFO] [stdout] test modules_f::ligament_spring::tests::test_force_increases_with_elongation ... ok [INFO] [stdout] test modules_f::ligament_spring::tests::test_is_taut ... ok [INFO] [stdout] test modules_f::ligament_spring::tests::test_linear_region ... ok [INFO] [stdout] test modules_f::ligament_spring::tests::test_new ... ok [INFO] [stdout] test modules_f::ligament_spring::tests::test_slack ... ok [INFO] [stdout] test modules_f::ligament_spring::tests::test_stiffness_positive_when_taut ... ok [INFO] [stdout] test modules_f::ligament_spring::tests::test_toe_region ... ok [INFO] [stdout] test modules_f::liver_clearance::tests::bioavailability_complement ... ok [INFO] [stdout] test modules_f::liver_clearance::tests::clearance_rate_positive ... ok [INFO] [stdout] test modules_f::liver_clearance::tests::clearance_zero_for_zero_extraction ... ok [INFO] [stdout] test modules_f::liver_clearance::tests::half_life_positive ... ok [INFO] [stdout] test modules_f::liver_clearance::tests::high_extraction_low_bioavailability ... ok [INFO] [stdout] test modules_f::balance_control::tests::test_balance_control_torque_zero_at_origin ... ok [INFO] [stdout] test modules_f::ferroelectric_model::tests::test_polarization_vs_temp_positive_below_curie ... ok [INFO] [stdout] test modules_f::liver_clearance::tests::intrinsic_clearance_positive ... ok [INFO] [stdout] test modules_f::liver_clearance::tests::zero_extraction_full_bioavailability ... ok [INFO] [stdout] test modules_f::lubrication_model::tests::test_barus_viscosity_increases_with_pressure ... ok [INFO] [stdout] test modules_f::lubrication_model::tests::test_barus_viscosity_zero_pressure ... ok [INFO] [stdout] test modules_f::lubrication_model::tests::test_classify_regime_ehl ... ok [INFO] [stdout] test modules_f::lubrication_model::tests::test_entrainment_velocity ... ok [INFO] [stdout] test modules_f::lubrication_model::tests::test_grubin_film_thickness_positive ... ok [INFO] [stdout] test modules_f::lubrication_model::tests::test_grubin_zero_load ... ok [INFO] [stdout] test modules_f::lubrication_model::tests::test_mineral_oil_viscosity ... ok [INFO] [stdout] test modules_f::lubrication_model::tests::test_viscous_heat_positive ... ok [INFO] [stdout] test modules_f::lung_mechanics_v2::tests::driving_pressure_zero_at_frc ... ok [INFO] [stdout] test modules_f::lung_mechanics_v2::tests::flow_step_changes_volume ... ok [INFO] [stdout] test modules_f::lung_mechanics_v2::tests::hyperinflated_when_volume_large ... ok [INFO] [stdout] test modules_f::lung_mechanics_v2::tests::initial_volume_equals_frc ... ok [INFO] [stdout] test modules_f::lung_mechanics_v2::tests::not_hyperinflated_at_rest ... ok [INFO] [stdout] test modules_f::lung_mechanics_v2::tests::tidal_volume_nonneg ... ok [INFO] [stdout] test modules_f::lung_mechanics_v2::tests::volume_stays_positive ... ok [INFO] [stdout] test modules_f::lymph_flow::tests::test_default_impl ... ok [INFO] [stdout] test modules_f::lymph_flow::tests::test_flow_rate_sign ... ok [INFO] [stdout] test modules_f::lymph_flow::tests::test_is_absorbing_false ... ok [INFO] [stdout] test modules_f::lymph_flow::tests::test_is_absorbing_true ... ok [INFO] [stdout] test modules_f::lymph_flow::tests::test_new_defaults ... ok [INFO] [stdout] test modules_f::lymph_flow::tests::test_nfp_filtration ... ok [INFO] [stdout] test modules_f::lymph_flow::tests::test_surface_area_positive ... ok [INFO] [stdout] test modules_f::lymph_node_model::tests::activated_after_high_load ... ok [INFO] [stdout] test modules_f::lymph_node_model::tests::filter_increases_load ... ok [INFO] [stdout] test modules_f::lymph_node_model::tests::initial_pathogen_zero ... ok [INFO] [stdout] test modules_f::lymph_node_model::tests::not_activated_initially ... ok [INFO] [stdout] test modules_f::lymph_node_model::tests::output_load_less_than_input ... ok [INFO] [stdout] test modules_f::lymph_node_model::tests::swelling_at_rest_equals_volume ... ok [INFO] [stdout] test modules_f::lymph_node_model::tests::swelling_increases_with_activity ... ok [INFO] [stdout] test modules_f::magnetostrictive_model::tests::test_magnetization_zero_field ... ok [INFO] [stdout] test modules_f::magnetostrictive_model::tests::test_blocking_stress_positive ... ok [INFO] [stdout] test modules_f::magnetostrictive_model::tests::test_magnetostrictive_force_positive ... ok [INFO] [stdout] test modules_f::magnetostrictive_model::tests::test_energy_density_positive ... ok [INFO] [stdout] test modules_f::magnetostrictive_model::tests::test_magnetization_from_field_bounded ... ok [INFO] [stdout] test modules_f::magnetostrictive_model::tests::test_saturation_strain ... ok [INFO] [stdout] test modules_f::magnetostrictive_model::tests::test_strain_from_field_positive_h ... ok [INFO] [stdout] test modules_f::magnetostrictive_model::tests::test_strain_symmetry ... ok [INFO] [stdout] test modules_f::magnetostrictive_model::tests::test_strain_zero_at_sqrt_third ... ok [INFO] [stdout] test modules_f::magnetostrictive_model::tests::test_villari_delta_perm_sign ... ok [INFO] [stdout] test modules_f::melanin_distribution::tests::test_new ... ok [INFO] [stdout] test modules_f::melanin_distribution::tests::test_ratio ... ok [INFO] [stdout] test modules_f::melanin_distribution::tests::test_set_eumelanin ... ok [INFO] [stdout] test modules_f::melanin_distribution::tests::test_set_pheomelanin ... ok [INFO] [stdout] test modules_f::melanin_distribution::tests::test_skin_tone_index_range ... ok [INFO] [stdout] test modules_f::melanin_distribution::tests::test_total_positive ... ok [INFO] [stdout] test modules_f::melanin_distribution::tests::test_uv_protection_at_least_one ... ok [INFO] [stdout] test modules_f::multiferroic_model::tests::test_combined_order_parameter_range ... ok [INFO] [stdout] test modules_f::multiferroic_model::tests::test_is_ferroelectrically_ordered ... ok [INFO] [stdout] test modules_f::multiferroic_model::tests::test_is_magnetically_ordered_above_neel ... ok [INFO] [stdout] test modules_f::multiferroic_model::tests::test_is_magnetically_ordered_below_neel ... ok [INFO] [stdout] test modules_f::multiferroic_model::tests::test_magnetization_from_e_positive ... ok [INFO] [stdout] test modules_f::multiferroic_model::tests::test_me_current_coefficient_positive ... ok [INFO] [stdout] test modules_f::multiferroic_model::tests::test_me_figure_of_merit_positive ... ok [INFO] [stdout] test modules_f::multiferroic_model::tests::test_me_voltage_coefficient_positive ... ok [INFO] [stdout] test modules_f::multiferroic_model::tests::test_stress_modulated_coupling ... ok [INFO] [stdout] test modules_f::muscle_fatigue_model::tests::test_fatigue_can_exert ... ok [INFO] [stdout] test modules_f::muscle_fatigue_model::tests::test_fatigue_percent ... ok [INFO] [stdout] test modules_f::muscle_fatigue_model::tests::test_fatigue_recovery ... ok [INFO] [stdout] test modules_f::muscle_fatigue_model::tests::test_fatigue_reset ... ok [INFO] [stdout] test modules_f::muscle_fatigue_model::tests::test_fatigue_step_decreases_ma ... ok [INFO] [stdout] test modules_f::muscle_fatigue_model::tests::test_new_muscle_fatigue ... ok [INFO] [stdout] test modules_f::neural_signal_model::tests::test_fhn_membrane_potential ... ok [INFO] [stdout] test modules_f::muscle_fatigue_model::tests::test_fatigue_step_increases_mf ... ok [INFO] [stdout] test modules_f::lubrication_model::tests::test_classify_regime_boundary ... ok [INFO] [stdout] test modules_f::lubrication_model::tests::test_film_shear_stress_positive ... ok [INFO] [stdout] test modules_f::multiferroic_model::tests::test_electric_polarization_from_h_positive ... ok [INFO] [stdout] test modules_f::neural_signal_model::tests::test_fhn_parameters ... ok [INFO] [stdout] test modules_f::neural_signal_model::tests::test_fhn_recovery ... ok [INFO] [stdout] test modules_e::sensor_depth_camera::tests::test_valid_pixel_count_all_valid ... ok [INFO] [stdout] test modules_f::neural_signal_model::tests::test_fhn_set_current ... ok [INFO] [stdout] test modules_f::neural_signal_model::tests::test_fhn_spiking_with_current ... ok [INFO] [stdout] test modules_f::neural_signal_model::tests::test_fhn_step_no_current ... ok [INFO] [stdout] test modules_f::osmotic_pressure::tests::test_equilibrium_equal ... ok [INFO] [stdout] test modules_f::osmotic_pressure::tests::test_equilibrium_mixing ... ok [INFO] [stdout] test modules_f::osmotic_pressure::tests::test_hypertonic ... ok [INFO] [stdout] test modules_f::osmotic_pressure::tests::test_pressure_scales_with_concentration ... ok [INFO] [stdout] test modules_f::pain_threshold_model::tests::test_noci_is_active_above_threshold ... ok [INFO] [stdout] test modules_f::osmotic_pressure::tests::test_flow_direction_positive ... ok [INFO] [stdout] test modules_f::pain_threshold_model::tests::test_noci_is_not_active_below_threshold ... ok [INFO] [stdout] test modules_f::osmotic_pressure::tests::test_new_defaults ... ok [INFO] [stdout] test modules_f::pain_threshold_model::tests::test_new_nociceptor ... ok [INFO] [stdout] test modules_f::neural_signal_model::tests::test_new_fitzhugh_nagumo ... ok [INFO] [stdout] test modules_f::osmotic_pressure::tests::test_pressure_positive ... ok [INFO] [stdout] test modules_f::pain_threshold_model::tests::test_noci_adapt_reduces_sensitization ... ok [INFO] [stdout] test modules_f::pain_threshold_model::tests::test_noci_sensitize ... ok [INFO] [stdout] test modules_f::piezoelectric_model::tests::test_blocking_force_positive ... ok [INFO] [stdout] test modules_f::pain_threshold_model::tests::test_noci_threshold_positive ... ok [INFO] [stdout] test modules_f::piezoelectric_model::tests::test_charge_from_stress_positive ... ok [INFO] [stdout] test modules_f::piezoelectric_model::tests::test_displacement_from_voltage_positive ... ok [INFO] [stdout] test modules_f::piezoelectric_model::tests::test_coupling_coefficient_range ... ok [INFO] [stdout] test modules_f::piezoelectric_model::tests::test_displacement_zero_thickness ... ok [INFO] [stdout] test modules_f::pain_threshold_model::tests::test_noci_reset ... ok [INFO] [stdout] test modules_f::piezoelectric_model::tests::test_polarization_from_stress ... ok [INFO] [stdout] test modules_f::piezoelectric_model::tests::test_resonant_frequency_positive ... ok [INFO] [stdout] test modules_f::piezoelectric_model::tests::test_strain_from_field_positive ... ok [INFO] [stdout] test modules_f::plate_bending::tests::test_apply_uniform_load ... ok [INFO] [stdout] test modules_f::plate_bending::tests::test_bending_stiffness_positive ... ok [INFO] [stdout] test modules_f::piezoelectric_model::tests::test_transverse_strain_opposite_sign ... ok [INFO] [stdout] test modules_f::plate_bending::tests::test_boundary_zero_after_solve ... ok [INFO] [stdout] test modules_f::piezoelectric_model::tests::test_resonant_frequency_zero_length ... ok [INFO] [stdout] test modules_f::plate_bending::tests::test_initial_deflection_zero ... ok [INFO] [stdout] test modules_f::plate_bending::tests::test_new_helper ... ok [INFO] [stdout] test modules_f::plate_bending::tests::test_load_boundary_zero ... ok [INFO] [stdout] test modules_f::posture_sway_model::tests::test_new_posture_sway ... ok [INFO] [stdout] test modules_f::posture_sway_model::tests::test_sway_cop_position ... ok [INFO] [stdout] test modules_f::posture_sway_model::tests::test_sway_mean_displacement ... ok [INFO] [stdout] test modules_f::posture_sway_model::tests::test_sway_path_length_nonzero ... ok [INFO] [stdout] test modules_f::posture_sway_model::tests::test_sway_step_moves ... ok [INFO] [stdout] test modules_f::posture_sway_model::tests::test_sway_rms ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_coactivation ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_adaptation_state_reset ... ok [INFO] [stdout] test modules_f::plate_bending::tests::test_central_deflection_maximum ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_coactivation_zero_alpha ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_gto_adaptation_ramp ... ok [INFO] [stdout] test modules_f::plate_bending::tests::test_curvature_zero_at_boundary ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_gto_force_response ... ok [INFO] [stdout] test modules_f::plate_bending::tests::test_deflection_after_solve_positive ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_gto_firing ... ok [INFO] [stdout] test modules_f::posture_sway_model::tests::test_sway_path_length_zero ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_gto_reset ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_ia_formula_correctness ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_gto_sqrt_nonlinearity ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_ia_adaptation ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_ia_gamma_dynamic_modulation ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_gto_zero_force ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_ia_negative_velocity_floor ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_ia_baseline_at_rest ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_ia_velocity_sensitivity ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_ii_gamma_static_modulation ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_ia_stretch_sensitivity ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_ii_position_sensitivity ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_multi_muscle_basic ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_ii_formula_correctness ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_joint_receptor_symmetric ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_joint_receptor_peak_at_preferred ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_multi_muscle_set_alpha_all ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_muscle_proprioceptor_rest_length ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_new_muscle_sensor ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_muscle_proprioceptor_step ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_negative_force_clamped ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_muscle_proprioceptor_stretch_increases_ia ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_muscle_proprioceptor_coactivation ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_multi_muscle_step ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_reflex_above_threshold ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_sensor_is_overloaded_true ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_spindle_ia_firing ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_reflex_below_threshold ... ok [INFO] [stdout] test modules_f::pulmonary_flow::tests::test_flow_rate_positive ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_spindle_ii_firing ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_reflex_latency ... ok [INFO] [stdout] test modules_f::pulmonary_flow::tests::test_default ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_reflex_torque_formula ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_sensor_is_overloaded_false ... ok [INFO] [stdout] test modules_f::proprioception_stub::tests::test_sensor_update ... ok [INFO] [stdout] test modules_f::pulmonary_flow::tests::test_transit_time_positive ... ok [INFO] [stdout] test modules_f::pulmonary_flow::tests::test_update_radius ... ok [INFO] [stdout] test modules_f::reflex_arc::tests::test_new_reflex_arc ... ok [INFO] [stdout] test modules_f::reflex_arc::tests::test_reflex_is_active_above_threshold ... ok [INFO] [stdout] test modules_f::reflex_arc::tests::test_reflex_apply_fatigue ... ok [INFO] [stdout] test modules_f::reflex_arc::tests::test_reflex_response_after_latency ... ok [INFO] [stdout] test modules_f::reflex_arc::tests::test_reflex_is_not_active_below_threshold ... ok [INFO] [stdout] test modules_f::reflex_arc::tests::test_reflex_reset_fatigue ... ok [INFO] [stdout] test modules_f::renal_filtration::tests::test_filtration_rate_positive ... ok [INFO] [stdout] test modules_f::pulmonary_flow::tests::test_new ... ok [INFO] [stdout] test modules_f::renal_filtration::tests::test_is_filtering_true ... ok [INFO] [stdout] test modules_f::renal_filtration::tests::test_is_filtering_false ... ok [INFO] [stdout] test modules_f::pulmonary_flow::tests::test_resistance_decreases_with_radius ... ok [INFO] [stdout] test modules_f::pulmonary_flow::tests::test_resistance_positive ... ok [INFO] [stdout] test modules_f::reflex_arc::tests::test_reflex_response_before_latency ... ok [INFO] [stdout] test modules_f::renal_filtration::tests::test_default ... ok [INFO] [stdout] test modules_f::renal_filtration::tests::test_nfp_positive ... ok [INFO] [stdout] test modules_f::renal_filtration::tests::test_update_pressure ... ok [INFO] [stdout] test modules_f::renal_tubular_reabsorption::tests::excretion_nonneg ... ok [INFO] [stdout] test modules_f::renal_tubular_reabsorption::tests::reabsorption_bounded_by_tm ... ok [INFO] [stdout] test modules_f::renal_filtration::tests::test_new ... ok [INFO] [stdout] test modules_f::rib_cage_model::tests::elastic_recoil_zero_at_rest ... ok [INFO] [stdout] test modules_f::renal_tubular_reabsorption::tests::threshold_concentration_positive ... ok [INFO] [stdout] test modules_f::renal_tubular_reabsorption::tests::above_threshold_causes_excretion ... ok [INFO] [stdout] test modules_f::renal_tubular_reabsorption::tests::filtered_load_positive ... ok [INFO] [stdout] test modules_f::renal_tubular_reabsorption::tests::below_threshold_no_excretion ... ok [INFO] [stdout] test modules_f::renal_tubular_reabsorption::tests::filtered_minus_reabsorbed_equals_excreted ... ok [INFO] [stdout] test modules_f::rib_cage_model::tests::not_expanded_at_rest ... ok [INFO] [stdout] test modules_f::rib_cage_model::tests::step_expands_volume ... ok [INFO] [stdout] test modules_f::rib_cage_model::tests::volume_stays_positive ... ok [INFO] [stdout] test modules_f::shape_memory_effect::tests::test_is_fully_austenite ... ok [INFO] [stdout] test modules_f::shape_memory_effect::tests::test_martensite_fraction_above_ms ... ok [INFO] [stdout] test modules_f::rib_cage_model::tests::expansion_zero_at_rest ... ok [INFO] [stdout] test modules_f::shape_memory_effect::tests::test_martensite_fraction_below_mf ... ok [INFO] [stdout] test modules_f::shape_memory_effect::tests::test_effective_modulus_bounds ... ok [INFO] [stdout] test modules_f::rib_cage_model::tests::initial_volume ... ok [INFO] [stdout] test modules_f::rib_cage_model::tests::is_expanded_after_step ... ok [INFO] [stdout] test modules_f::shape_memory_effect::tests::test_martensite_fraction_intermediate ... ok [INFO] [stdout] test modules_f::shape_memory_effect::tests::test_phase_classification ... ok [INFO] [stdout] test modules_f::shape_memory_effect::tests::test_nitinol_default ... ok [INFO] [stdout] test modules_f::shape_memory_effect::tests::test_recoverable_strain_bounded ... ok [INFO] [stdout] test modules_f::shell_kinematics::tests::test_add_node ... ok [INFO] [stdout] test modules_f::shape_memory_effect::tests::test_recovery_force_positive ... ok [INFO] [stdout] test modules_f::shape_memory_effect::tests::test_austenite_plus_martensite_equals_one ... ok [INFO] [stdout] test modules_f::shell_kinematics::tests::test_bending_moment ... ok [INFO] [stdout] test modules_f::shell_kinematics::tests::test_bending_stiffness_positive ... ok [INFO] [stdout] test modules_f::shell_kinematics::tests::test_membrane_stiffness_positive ... ok [INFO] [stdout] test modules_f::shell_kinematics::tests::test_membrane_strain_nonzero ... ok [INFO] [stdout] test modules_f::shell_kinematics::tests::test_membrane_strain_zero_at_rest ... ok [INFO] [stdout] test modules_f::shell_kinematics::tests::test_node_count ... ok [INFO] [stdout] test modules_f::sleep_wake_cycle::tests::test_new_sleep_wake_model ... ok [INFO] [stdout] test modules_f::sleep_wake_cycle::tests::test_sleep_alertness ... ok [INFO] [stdout] test modules_f::shell_kinematics::tests::test_new_helper ... ok [INFO] [stdout] test modules_f::sleep_wake_cycle::tests::test_sleep_set_asleep ... ok [INFO] [stdout] test modules_f::sleep_wake_cycle::tests::test_sleep_hours_since_wake ... ok [INFO] [stdout] test modules_f::sleep_wake_cycle::tests::test_sleep_step_dissipates_pressure_asleep ... ok [INFO] [stdout] test modules_f::shell_kinematics::tests::test_curvature_nonzero_bent ... ok [INFO] [stdout] test modules_f::shell_kinematics::tests::test_curvature_zero_flat ... ok [INFO] [stdout] test modules_f::sleep_wake_cycle::tests::test_sleep_step_builds_pressure_awake ... ok [INFO] [stdout] test modules_f::sleep_wake_cycle::tests::test_sleep_should_sleep ... ok [INFO] [stdout] test modules_f::spinal_column_model::tests::empty_stiffness_zero ... ok [INFO] [stdout] test modules_f::spinal_column_model::tests::initial_angle_zero ... ok [INFO] [stdout] test modules_f::spinal_column_model::tests::range_of_motion_sum ... ok [INFO] [stdout] test modules_f::spinal_column_model::tests::step_changes_angle ... ok [INFO] [stdout] test modules_f::spleen_model::tests::blood_flow_positive ... ok [INFO] [stdout] test modules_f::spleen_model::tests::cells_filtered_positive ... ok [INFO] [stdout] test modules_f::spleen_model::tests::filtration_efficiency_used ... ok [INFO] [stdout] test modules_f::spleen_model::tests::platelet_pool_fraction_in_range ... ok [INFO] [stdout] test modules_f::spinal_column_model::tests::total_stiffness_positive ... ok [INFO] [stdout] test modules_f::spleen_model::tests::not_splenomegaly_normally ... ok [INFO] [stdout] test modules_f::spleen_model::tests::splenomegaly_when_large ... ok [INFO] [stdout] test modules_f::spinal_column_model::tests::not_overloaded_within_limit ... ok [INFO] [stdout] test modules_f::sweat_gland_model::tests::test_is_active ... ok [INFO] [stdout] test modules_f::spleen_model::tests::total_volume_sum ... ok [INFO] [stdout] test modules_f::sweat_gland_model::tests::test_heat_loss_positive ... ok [INFO] [stdout] test modules_f::sweat_gland_model::tests::test_cooling_power_matches_heat_loss ... ok [INFO] [stdout] test modules_f::sweat_gland_model::tests::test_no_sweat_at_threshold ... ok [INFO] [stdout] test modules_f::sweat_gland_model::tests::test_sweat_above_threshold ... ok [INFO] [stdout] test modules_f::sweat_gland_model::tests::test_sweat_capped ... ok [INFO] [stdout] test modules_f::synovial_fluid::tests::test_lubrication_number ... ok [INFO] [stdout] test modules_f::synovial_fluid::tests::test_new_defaults ... ok [INFO] [stdout] test modules_f::synovial_fluid::tests::test_shear_thinning ... ok [INFO] [stdout] test modules_f::synovial_fluid::tests::test_viscosity_at_zero_shear ... ok [INFO] [stdout] test modules_f::synovial_fluid::tests::test_viscosity_decreases_with_rate ... ok [INFO] [stdout] test modules_f::sweat_gland_model::tests::test_new_defaults ... ok [INFO] [stdout] test modules_f::synovial_fluid::tests::test_default ... ok [INFO] [stdout] test modules_f::synovial_fluid::tests::test_shear_stress_positive ... ok [INFO] [stdout] test modules_f::tendon_viscoelastic::tests::test_energy_zero_at_rest ... ok [INFO] [stdout] test modules_f::tendon_viscoelastic::tests::test_elongate ... ok [INFO] [stdout] test modules_f::spinal_column_model::tests::overloaded_when_angle_exceeds_limit ... ok [INFO] [stdout] test modules_f::tendon_viscoelastic::tests::test_energy_positive_when_stretched ... ok [INFO] [stdout] test modules_f::tendon_viscoelastic::tests::test_force_elastic ... ok [INFO] [stdout] test modules_f::tendon_viscoelastic::tests::test_new ... ok [INFO] [stdout] test modules_f::tendon_viscoelastic::tests::test_relax ... ok [INFO] [stdout] test modules_f::tendon_viscoelastic::tests::test_strain_at_rest ... ok [INFO] [stdout] test modules_f::thermal_expansion_deform::tests::test_constrained_stress_sign ... ok [INFO] [stdout] test modules_f::thermal_expansion_deform::tests::test_new_length_greater_when_heated ... ok [INFO] [stdout] test modules_f::thermal_expansion_deform::tests::test_biaxial_thermal_stress_sign ... ok [INFO] [stdout] test modules_f::thermal_expansion_deform::tests::test_thermal_elongation_positive_heat ... ok [INFO] [stdout] test modules_f::thermal_expansion_deform::tests::test_temp_for_strain_roundtrip ... ok [INFO] [stdout] test modules_f::thermal_expansion_deform::tests::test_volumetric_strain_is_3x_linear ... ok [INFO] [stdout] test modules_f::thermal_expansion_deform::tests::test_thermal_strain_at_ref_temp ... ok [INFO] [stdout] test modules_f::thermal_expansion_deform::tests::test_isotropic_strain_tensor_equal_components ... ok [INFO] [stdout] test modules_f::thermal_expansion_deform::tests::test_thermal_strain_negative_below_ref ... ok [INFO] [stdout] test modules_f::thermal_expansion_deform::tests::test_thermal_strain_positive_above_ref ... ok [INFO] [stdout] test modules_f::thermoelastic_stress::tests::test_bulk_modulus_positive ... ok [INFO] [stdout] test modules_f::thermoelastic_stress::tests::test_hydrostatic_thermal_stress_sign ... ok [INFO] [stdout] test modules_f::thermoelastic_stress::tests::test_inelastic_heat_fraction ... ok [INFO] [stdout] test modules_f::thermoelastic_stress::tests::test_plane_strain_stress_zero ... ok [INFO] [stdout] test modules_f::thermoelastic_stress::tests::test_inelastic_heat_fraction_clamp ... ok [INFO] [stdout] test modules_f::thermoelastic_stress::tests::test_shear_modulus_steel ... ok [INFO] [stdout] test modules_f::thermoregulation_core::tests::test_thermo_conductance_stored ... ok [INFO] [stdout] test modules_f::thermoelastic_stress::tests::test_thermal_diffusivity_positive ... ok [INFO] [stdout] test modules_f::thermoelastic_stress::tests::test_beta_positive ... ok [INFO] [stdout] test modules_f::thermoregulation_core::tests::test_new_thermocore ... ok [INFO] [stdout] test modules_f::thermoregulation_core::tests::test_thermo_is_hyperthermia ... ok [INFO] [stdout] test modules_f::thermoelastic_stress::tests::test_thermoelastic_damping_positive ... ok [INFO] [stdout] test modules_f::thermoelastic_stress::tests::test_hydrostatic_stress_zero_dt ... ok [INFO] [stdout] test modules_f::thermoregulation_core::tests::test_thermo_is_normal ... ok [INFO] [stdout] test modules_f::thermoregulation_core::tests::test_thermo_heat_loss ... ok [INFO] [stdout] test modules_f::topological_insulator_stub::tests::test_anomalous_hall_conductance ... ok [INFO] [stdout] test modules_f::topological_insulator_stub::tests::test_fermi_wavevector_positive ... ok [INFO] [stdout] test modules_f::topological_insulator_stub::tests::test_is_in_bulk_gap ... ok [INFO] [stdout] test modules_f::topological_insulator_stub::tests::test_surface_dispersion_positive_k ... ok [INFO] [stdout] test modules_f::topological_insulator_stub::tests::test_spin_angle_offset ... ok [INFO] [stdout] test modules_f::topological_insulator_stub::tests::test_surface_dispersion_zero_k ... ok [INFO] [stdout] test modules_f::topological_insulator_stub::tests::test_surface_dos_at_dirac_point_zero ... ok [INFO] [stdout] test modules_f::topological_insulator_stub::tests::test_z2_invariant_nontrivial ... ok [INFO] [stdout] test modules_f::thermoregulation_core::tests::test_thermo_is_hypothermia ... ok [INFO] [stdout] test modules_f::thermoregulation_core::tests::test_thermo_step_does_not_change_much ... ok [INFO] [stdout] test modules_f::topological_insulator_stub::tests::test_mean_free_path_positive ... ok [INFO] [stdout] test modules_f::tribology_model::tests::test_archard_wear_volume_positive ... ok [INFO] [stdout] test modules_f::topological_insulator_stub::tests::test_surface_dos_positive ... ok [INFO] [stdout] test modules_f::tribology_model::tests::test_friction_energy_positive ... ok [INFO] [stdout] test modules_f::tribology_model::tests::test_archard_wear_zero_distance ... ok [INFO] [stdout] test modules_f::tribology_model::tests::test_friction_force_static ... ok [INFO] [stdout] test modules_f::tribology_model::tests::test_friction_force_zero_normal ... ok [INFO] [stdout] test modules_f::tribology_model::tests::test_is_sliding_onset_false ... ok [INFO] [stdout] test modules_f::tribology_model::tests::test_stribeck_low_speed ... ok [INFO] [stdout] test modules_f::tumor_growth_stub::tests::test_new_tumor ... ok [INFO] [stdout] test modules_f::tumor_growth_stub::tests::test_tumor_apply_treatment_reduces ... ok [INFO] [stdout] test modules_f::tumor_growth_stub::tests::test_tumor_is_detectable_large ... ok [INFO] [stdout] test modules_f::tumor_growth_stub::tests::test_tumor_is_detectable_small ... ok [INFO] [stdout] test modules_f::tribology_model::tests::test_friction_force_kinetic_less_than_static ... ok [INFO] [stdout] test modules_f::venous_return::tests::cardiac_output_balance_finite ... ok [INFO] [stdout] test modules_f::tumor_growth_stub::tests::test_tumor_step_grows ... ok [INFO] [stdout] test modules_f::tumor_growth_stub::tests::test_tumor_doubling_time ... ok [INFO] [stdout] test modules_f::tribology_model::tests::test_is_sliding_onset_true ... ok [INFO] [stdout] test modules_f::tribology_model::tests::test_steel_on_steel ... ok [INFO] [stdout] test modules_f::venous_return::tests::initial_pressure_positive ... ok [INFO] [stdout] test modules_f::tumor_growth_stub::tests::test_tumor_viable_volume ... ok [INFO] [stdout] test modules_f::venous_return::tests::compliance_positive ... ok [INFO] [stdout] test modules_f::venous_return::tests::return_zero_when_pressure_equal ... ok [INFO] [stdout] test modules_f::venous_return::tests::shift_volume_changes_pressure ... ok [INFO] [stdout] test modules_f::venous_return::tests::shift_volume_clamped_positive ... ok [INFO] [stdout] test modules_f::vestibular_model::tests::test_canal_decays_after_constant_rotation ... ok [INFO] [stdout] test modules_f::venous_return::tests::venous_return_positive ... ok [INFO] [stdout] test modules_f::vestibular_model::tests::test_canal_not_stimulated ... ok [INFO] [stdout] test modules_f::vestibular_model::tests::test_canal_is_stimulated ... ok [INFO] [stdout] test modules_f::vestibular_model::tests::test_canal_reset ... ok [INFO] [stdout] test modules_f::vestibular_model::tests::test_canal_time_constant ... ok [INFO] [stdout] test modules_f::vestibular_model::tests::test_canal_step_responds_to_rotation ... ok [INFO] [stdout] test modules_f::vestibular_model::tests::test_new_semicircular_canal ... ok [INFO] [stdout] test modules_f::wound_healing_model::tests::test_wound_not_healed ... ok [INFO] [stdout] test modules_f::wound_healing_model::tests::test_wound_percent_closed_initial ... ok [INFO] [stdout] test modules_f::wound_healing_model::tests::test_new_wound ... ok [INFO] [stdout] test modules_f::wound_healing_model::tests::test_wound_healing_time_positive ... ok [INFO] [stdout] test modules_f::wound_healing_model::tests::test_wound_apply_treatment ... ok [INFO] [stdout] test modules_f::wound_healing_model::tests::test_wound_step_reduces_area ... ok [INFO] [stdout] test modules_g::acoustic_impedance::tests::test_air_water_high_reflection ... ok [INFO] [stdout] test modules_g::acoustic_impedance::tests::test_energy_conservation ... ok [INFO] [stdout] test modules_g::acoustic_impedance::tests::test_medium_impedance ... ok [INFO] [stdout] test modules_g::acoustic_impedance::tests::test_impedance_air ... ok [INFO] [stdout] test modules_g::acoustic_impedance::tests::test_reflection_coeff_same_medium ... ok [INFO] [stdout] test modules_g::acoustic_impedance::tests::test_water_medium ... ok [INFO] [stdout] test modules_g::acoustic_impedance::tests::test_transmission_coeff_same_medium ... ok [INFO] [stdout] test modules_g::acoustic_impedance::tests::test_swr_matched ... ok [INFO] [stdout] test modules_g::acoustic_wave::tests::test_decibel_spl_positive_amplitude ... ok [INFO] [stdout] test modules_g::acoustic_impedance::tests::test_transmission_loss_positive ... ok [INFO] [stdout] test modules_f::wound_healing_model::tests::test_wound_is_healed ... ok [INFO] [stdout] test modules_g::acoustic_wave::tests::test_new_acoustic_wave ... ok [INFO] [stdout] test modules_g::acoustic_wave::tests::test_sound_intensity_positive ... ok [INFO] [stdout] test modules_g::acoustic_wave::tests::test_acoustic_impedance ... ok [INFO] [stdout] test modules_g::acoustic_wave::tests::test_wave_period ... ok [INFO] [stdout] test modules_g::acoustic_wave::tests::test_wave_pressure_at_origin ... ok [INFO] [stdout] test modules_g::acoustic_wave::tests::test_wave_pressure_bounded ... ok [INFO] [stdout] test modules_g::acoustic_wave::tests::test_wavelength_zero_freq ... ok [INFO] [stdout] test modules_g::advection_model::tests::test_construction ... ok [INFO] [stdout] test modules_g::advection_model::tests::test_l1_norm_positive ... ok [INFO] [stdout] test modules_g::advection_model::tests::test_inflow_step ... ok [INFO] [stdout] test modules_g::advection_model::tests::test_lax_wendroff ... ok [INFO] [stdout] test modules_g::acoustic_wave::tests::test_wavelength_a440 ... ok [INFO] [stdout] test modules_g::advection_model::tests::test_cfl_number ... ok [INFO] [stdout] test modules_g::advection_model::tests::test_min_max ... ok [INFO] [stdout] test modules_g::advection_model::tests::test_pulse_advances ... ok [INFO] [stdout] test modules_g::biomechanical_loading::tests::test_is_high_load_false ... ok [INFO] [stdout] test modules_g::biomechanical_loading::tests::test_is_high_load_true ... ok [INFO] [stdout] test modules_g::biomechanical_loading::tests::test_joint_reaction_force ... ok [INFO] [stdout] test modules_g::biomechanical_loading::tests::test_joint_cartilage_stress ... ok [INFO] [stdout] test modules_g::biomechanical_loading::tests::test_load_index_zero_weight ... ok [INFO] [stdout] test modules_g::brownian_motion::tests::test_expected_msd ... ok [INFO] [stdout] test modules_g::advection_model::tests::test_stable_dt_cfl ... ok [INFO] [stdout] test modules_g::brownian_motion::tests::test_kinetic_energy_zero ... ok [INFO] [stdout] test modules_g::biomechanical_loading::tests::test_daily_load_cycles_positive ... ok [INFO] [stdout] test modules_g::brownian_motion::tests::test_einstein_diffusion ... ok [INFO] [stdout] test modules_g::biomechanical_loading::tests::test_new_biomechanical_load ... ok [INFO] [stdout] test modules_g::biomechanical_loading::tests::test_load_index ... ok [INFO] [stdout] test modules_g::biomechanical_loading::tests::test_peak_load_estimate ... ok [INFO] [stdout] test modules_g::brownian_motion::tests::test_mean_kinetic_energy_positive_after_steps ... ok [INFO] [stdout] test modules_g::brownian_motion::tests::test_particle_creation ... ok [INFO] [stdout] test modules_g::brownian_motion::tests::test_stokes_einstein ... ok [INFO] [stdout] test modules_g::buckling_analysis::tests::test_buckling_safety_factor ... ok [INFO] [stdout] test modules_g::buckling_analysis::tests::test_effective_length ... ok [INFO] [stdout] test modules_g::buckling_analysis::tests::test_euler_critical_load_positive ... ok [INFO] [stdout] test modules_g::buckling_analysis::tests::test_euler_critical_load_pinned_fixed ... ok [INFO] [stdout] test modules_g::buckling_analysis::tests::test_is_slender_false ... ok [INFO] [stdout] test modules_g::buckling_analysis::tests::test_slenderness_ratio_positive ... ok [INFO] [stdout] test modules_g::buckling_analysis::tests::test_is_slender_true ... ok [INFO] [stdout] test modules_g::buckling_analysis::tests::test_new_buckling_model ... ok [INFO] [stdout] test modules_g::cellular_automata_phys::tests::test_ca_count_material ... ok [INFO] [stdout] test modules_g::cellular_automata_phys::tests::test_ca_is_settled_empty_grid ... ok [INFO] [stdout] test modules_g::buckling_analysis::tests::test_critical_stress ... ok [INFO] [stdout] test modules_g::cellular_automata_phys::tests::test_ca_step_sand_falls ... ok [INFO] [stdout] test modules_g::cellular_automata_phys::tests::test_new_ca_sand_grid ... ok [INFO] [stdout] test modules_g::brownian_motion::tests::test_particles_move ... ok [INFO] [stdout] test modules_g::contact_stiffness::tests::test_contact_energy_loss ... ok [INFO] [stdout] test modules_g::contact_stiffness::tests::test_contact_friction_force ... ok [INFO] [stdout] test modules_g::brownian_motion::tests::test_step_advances_time ... ok [INFO] [stdout] test modules_g::contact_stiffness::tests::test_contact_impulse_zero_mass ... ok [INFO] [stdout] test modules_g::contact_stiffness::tests::test_contact_is_stiff_boundary ... ok [INFO] [stdout] test modules_g::contact_stiffness::tests::test_contact_is_stiff_false ... ok [INFO] [stdout] test modules_g::contact_stiffness::tests::test_contact_is_stiff_true ... ok [INFO] [stdout] test modules_g::cellular_automata_phys::tests::test_ca_set_get ... ok [INFO] [stdout] test modules_g::contact_stiffness::tests::test_new_contact_stiffness ... ok [INFO] [stdout] test modules_g::creep_deform::tests::test_creep_compliance_elastic_limit ... ok [INFO] [stdout] test modules_g::cellular_automata_phys::tests::test_ca_sand_blocked_by_wall ... ok [INFO] [stdout] test modules_g::contact_stiffness::tests::test_contact_normal_force_no_penetration ... ok [INFO] [stdout] test modules_g::contact_stiffness::tests::test_contact_normal_force_positive ... ok [INFO] [stdout] test modules_g::contact_stiffness::tests::test_contact_impulse ... ok [INFO] [stdout] test modules_g::creep_deform::tests::test_creep_remaining_life_no_damage ... ok [INFO] [stdout] test modules_g::cellular_automata_phys::tests::test_ca_sand_settles_on_bottom ... ok [INFO] [stdout] test modules_g::creep_deform::tests::test_creep_total_strain_zero_time ... ok [INFO] [stdout] test modules_g::creep_deform::tests::test_larson_miller_positive ... ok [INFO] [stdout] test modules_g::creep_deform::tests::test_monkman_grant ... ok [INFO] [stdout] test modules_g::crowd_simulation::tests::test_agent_speed_clamped ... ok [INFO] [stdout] test modules_g::creep_deform::tests::test_creep_strain_increment ... ok [INFO] [stdout] test modules_g::creep_deform::tests::test_norton_creep_rate_positive ... ok [INFO] [stdout] test modules_g::crowd_simulation::tests::test_driving_force_direction ... ok [INFO] [stdout] test modules_g::crowd_simulation::tests::test_new_crowd_agent ... ok [INFO] [stdout] test modules_g::deformable_body::tests::test_add_particle ... ok [INFO] [stdout] test modules_g::deformable_body::tests::test_add_spring ... ok [INFO] [stdout] test modules_g::deformable_body::tests::test_build_chain ... ok [INFO] [stdout] test modules_g::deformable_body::tests::test_chain_step_runs ... ok [INFO] [stdout] test modules_g::deformable_body::tests::test_kinetic_energy_after_step ... ok [INFO] [stdout] test modules_g::deformable_body::tests::test_kinetic_energy_initially_zero ... ok [INFO] [stdout] test modules_g::deformable_body::tests::test_new_body ... ok [INFO] [stdout] test modules_g::deformable_body::tests::test_step_gravity_moves_free_particle ... ok [INFO] [stdout] test modules_g::deformable_body::tests::test_step_pinned_particle_does_not_move ... ok [INFO] [stdout] test modules_g::diffusion_model::tests::test_1d_construction ... ok [INFO] [stdout] test modules_g::diffusion_model::tests::test_1d_pulse_diffuses ... ok [INFO] [stdout] test modules_g::diffusion_model::tests::test_1d_stable_dt ... ok [INFO] [stdout] test modules_g::diffusion_model::tests::test_2d_construction ... ok [INFO] [stdout] test modules_g::diffusion_model::tests::test_2d_pulse_diffuses ... ok [INFO] [stdout] test modules_g::diffusion_model::tests::test_ficks_first_law ... ok [INFO] [stdout] test modules_g::diffusion_model::tests::test_gaussian_solution_peak ... ok [INFO] [stdout] test modules_g::crowd_simulation::tests::test_agent_at_goal ... ok [INFO] [stdout] test modules_g::creep_deform::tests::test_creep_temperature_factor_range ... ok [INFO] [stdout] test modules_g::crowd_simulation::tests::test_agent_not_at_goal ... ok [INFO] [stdout] test modules_g::crowd_simulation::tests::test_agent_step_moves ... ok [INFO] [stdout] test modules_g::diffusion_model::tests::test_total_mass_1d ... ok [INFO] [stdout] test modules_g::crowd_simulation::tests::test_agent_repulsion ... ok [INFO] [stdout] test modules_g::diffusion_reaction::tests::test_dimensions ... ok [INFO] [stdout] test modules_g::diffusion_reaction::tests::test_gs_step_runs ... ok [INFO] [stdout] test modules_g::diffusion_reaction::tests::test_gs_step_v_increases_near_seed ... ok [INFO] [stdout] test modules_g::discrete_element_method::tests::test_dem_contact_force_direction ... ok [INFO] [stdout] test modules_g::discrete_element_method::tests::test_dem_kinetic_energy ... ok [INFO] [stdout] test modules_g::discrete_element_method::tests::test_dem_overlap_contact ... ok [INFO] [stdout] test modules_g::discrete_element_method::tests::test_dem_step_moves_particle ... ok [INFO] [stdout] test modules_g::discrete_fracture::tests::test_cubic_law_flow ... ok [INFO] [stdout] test modules_g::diffusion_reaction::tests::test_gs_set_get ... ok [INFO] [stdout] test modules_g::diffusion_reaction::tests::test_gs_mean_u ... ok [INFO] [stdout] test modules_g::diffusion_reaction::tests::test_new_gray_scott ... ok [INFO] [stdout] test modules_g::discrete_fracture::tests::test_fracture_length ... ok [INFO] [stdout] test modules_g::discrete_element_method::tests::test_dem_overlap_no_contact ... ok [INFO] [stdout] test modules_g::discrete_element_method::tests::test_new_dem_particle ... ok [INFO] [stdout] test modules_g::discrete_fracture::tests::test_generate_dfn ... ok [INFO] [stdout] test modules_g::discrete_fracture::tests::test_intersection_detected ... ok [INFO] [stdout] test modules_g::discrete_fracture::tests::test_mean_aperture ... ok [INFO] [stdout] test modules_g::discrete_fracture::tests::test_no_intersection_parallel ... ok [INFO] [stdout] test modules_g::discrete_fracture::tests::test_p21_intensity ... ok [INFO] [stdout] test modules_g::discrete_fracture::tests::test_transmissivity ... ok [INFO] [stdout] test modules_g::dna_model::tests::test_bdna_model ... ok [INFO] [stdout] test modules_g::dna_model::tests::test_bending_stiffness ... ok [INFO] [stdout] test modules_g::dna_model::tests::test_kuhn_length ... ok [INFO] [stdout] test modules_g::dna_model::tests::test_odijk_deflection ... ok [INFO] [stdout] test modules_g::dna_model::tests::test_radius_of_gyration ... ok [INFO] [stdout] test modules_g::dna_model::tests::test_rms_end_to_end_positive ... ok [INFO] [stdout] test modules_g::electrokinetic::tests::test_e_field_magnitude ... ok [INFO] [stdout] test modules_g::electrokinetic::tests::test_electrophoretic_mobility ... ok [INFO] [stdout] test modules_g::electrokinetic::tests::test_huckel_vs_smoluchowski ... ok [INFO] [stdout] test modules_g::electrokinetic::tests::test_particle_creation ... ok [INFO] [stdout] test modules_g::electrokinetic::tests::test_step_moves_particle ... ok [INFO] [stdout] test modules_g::dna_model::tests::test_force_increases_with_extension ... ok [INFO] [stdout] test modules_g::dna_model::tests::test_force_at_small_extension ... ok [INFO] [stdout] test modules_g::electrokinetic::tests::test_debye_length_positive ... ok [INFO] [stdout] test modules_g::electrostatic_force::tests::test_add_particle ... ok [INFO] [stdout] test modules_g::electrokinetic::tests::test_stokes_drag_coeff ... ok [INFO] [stdout] test modules_g::electrokinetic::tests::test_smoluchowski_mobility ... ok [INFO] [stdout] test modules_g::electrostatic_force::tests::test_coulomb_force_repulsion ... ok [INFO] [stdout] test modules_g::electrostatic_force::tests::test_coulomb_potential_positive_same_sign ... ok [INFO] [stdout] test modules_g::electrostatic_force::tests::test_kinetic_energy_zero_initially ... ok [INFO] [stdout] test modules_g::electrostatic_force::tests::test_new_system ... ok [INFO] [stdout] test modules_g::electrostatic_force::tests::test_potential_energy_two_charges ... ok [INFO] [stdout] test modules_g::electrostatic_force::tests::test_coulomb_force_attraction ... ok [INFO] [stdout] test modules_g::electrostatic_force::tests::test_electric_field_nonzero ... ok [INFO] [stdout] test modules_g::electrostatic_force::tests::test_total_charge ... ok [INFO] [stdout] test modules_g::enzyme_kinetics::tests::test_enzyme_competitive_inhibition ... ok [INFO] [stdout] test modules_g::enzyme_kinetics::tests::test_enzyme_is_saturated ... ok [INFO] [stdout] test modules_g::enzyme_kinetics::tests::test_enzyme_turnover_number ... ok [INFO] [stdout] test modules_g::enzyme_kinetics::tests::test_enzyme_velocity_zero_substrate ... ok [INFO] [stdout] test modules_g::enzyme_kinetics::tests::test_new_enzyme_kinetics ... ok [INFO] [stdout] test modules_g::ergonomics_model::tests::test_duty_cycle_range ... ok [INFO] [stdout] test modules_g::ergonomics_model::tests::test_is_high_risk_true ... ok [INFO] [stdout] test modules_g::ergonomics_model::tests::test_musculoskeletal_risk_range ... ok [INFO] [stdout] test modules_g::enzyme_kinetics::tests::test_enzyme_half_saturation ... ok [INFO] [stdout] test modules_g::enzyme_kinetics::tests::test_enzyme_velocity_at_km ... ok [INFO] [stdout] test modules_g::ergonomics_model::tests::test_force_demand_ratio_clamp ... ok [INFO] [stdout] test modules_g::ergonomics_model::tests::test_reach_strain_zero ... ok [INFO] [stdout] test modules_g::ergonomics_model::tests::test_rula_score_positive ... ok [INFO] [stdout] test modules_g::ergonomics_model::tests::test_is_high_risk_false ... ok [INFO] [stdout] test modules_g::fatigue_life::tests::test_cycles_to_failure_at_endurance ... ok [INFO] [stdout] test modules_g::ergonomics_model::tests::test_rula_score_high_risk ... ok [INFO] [stdout] test modules_g::ergonomics_model::tests::test_new_ergonomics_model ... ok [INFO] [stdout] test modules_g::fatigue_life::tests::test_cycles_to_failure_infinite_below_endurance ... ok [INFO] [stdout] test modules_g::fatigue_life::tests::test_effective_endurance_limit ... ok [INFO] [stdout] test modules_g::fatigue_life::tests::test_goodman_ratio_safe ... ok [INFO] [stdout] test modules_g::fatigue_life::tests::test_goodman_ratio_unsafe ... ok [INFO] [stdout] test modules_g::fatigue_life::tests::test_is_safe_true ... ok [INFO] [stdout] test modules_g::fatigue_life::tests::test_miners_damage_ratio ... ok [INFO] [stdout] test modules_g::fiber_composite::tests::test_e1_rule_of_mixtures ... ok [INFO] [stdout] test modules_g::fiber_composite::tests::test_e2_less_than_e1 ... ok [INFO] [stdout] test modules_g::fatigue_life::tests::test_is_safe_false ... ok [INFO] [stdout] test modules_g::fatigue_life::tests::test_new_fatigue_model ... ok [INFO] [stdout] test modules_g::fiber_composite::tests::test_composite_density ... ok [INFO] [stdout] test modules_g::fiber_composite::tests::test_g12_positive ... ok [INFO] [stdout] test modules_g::fiber_composite::tests::test_new_fiber_composite ... ok [INFO] [stdout] test modules_g::fiber_composite::tests::test_longitudinal_strength ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_create_particle_grid_count ... ok [INFO] [stdout] test modules_g::fiber_composite::tests::test_nu12_between_fiber_and_matrix ... ok [INFO] [stdout] test modules_g::fiber_composite::tests::test_vf_from_weight_fraction ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_density_at_center_above_zero ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_density_at_particle_position_above_threshold ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_density_positive_at_particle_positions ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_density_far_from_particles_zero ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_marching_cubes_empty_for_no_particles ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_poly6_kernel_non_negative ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_poly6_kernel_max_at_zero ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_poly6_kernel_zero_at_h ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_poly6_kernel_zero_outside_support ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_density_conservation_after_steps ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_pressure_gradient_direction ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_pressure_force_opposes_compression ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_simulation_zero_dt_no_change ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_pressure_non_negative_at_rest_density ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_spiky_gradient_negative_inside ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_spiky_gradient_zero_outside ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_step_moves_particles ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_surface_normal_finite ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_surface_normal_nonzero_near_boundary ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_viscosity_force_damps_relative_velocity ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_step_gravity_causes_downward_movement ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_viscosity_force_zero_same_velocity ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_viscosity_laplacian_positive_inside ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_viscosity_laplacian_zero_outside ... ok [INFO] [stdout] test modules_g::foam_model::tests::test_closed_cell_higher_modulus ... ok [INFO] [stdout] test modules_g::foam_model::tests::test_compression_linear_region ... ok [INFO] [stdout] test modules_g::foam_model::tests::test_densification_flag ... ok [INFO] [stdout] test modules_g::foam_model::tests::test_densification_strain ... ok [INFO] [stdout] test modules_g::foam_model::tests::test_energy_absorbed_positive ... ok [INFO] [stdout] test modules_g::foam_model::tests::test_foam_density ... ok [INFO] [stdout] test modules_g::foam_model::tests::test_open_cell_modulus ... ok [INFO] [stdout] test modules_g::foam_model::tests::test_plateau_stress_positive ... ok [INFO] [stdout] test modules_g::foam_model::tests::test_specific_energy_positive ... ok [INFO] [stdout] test modules_g::forward_kinematics::tests::test_fk_chain_length_single ... ok [INFO] [stdout] test modules_g::forward_kinematics::tests::test_fk_end_effector_bent ... ok [INFO] [stdout] test modules_g::forward_kinematics::tests::test_fk_end_effector_dist_straight ... ok [INFO] [stdout] test modules_g::forward_kinematics::tests::test_fk_end_effector_straight ... ok [INFO] [stdout] test modules_g::forward_kinematics::tests::test_fk_joint_count_empty ... ok [INFO] [stdout] test modules_g::forward_kinematics::tests::test_fk_joint_position_origin ... ok [INFO] [stdout] test modules_g::forward_kinematics::tests::test_fk_set_angle_out_of_bounds ... ok [INFO] [stdout] test modules_g::forward_kinematics::tests::test_fk_workspace_radius ... ok [INFO] [stdout] test modules_g::forward_kinematics::tests::test_new_fk_chain ... ok [INFO] [stdout] test modules_g::fracture_mechanics_props::tests::test_critical_crack_length_positive ... ok [INFO] [stdout] test modules_g::fracture_mechanics_props::tests::test_fracture_energy_positive ... ok [INFO] [stdout] test modules_g::fracture_mechanics_props::tests::test_is_fracture_critical_false ... ok [INFO] [stdout] test modules_g::fracture_mechanics_props::tests::test_is_fracture_critical_true ... ok [INFO] [stdout] test modules_g::fracture_mechanics_props::tests::test_j_integral_equals_fracture_energy ... ok [INFO] [stdout] test modules_g::fracture_mechanics_props::tests::test_new_fracture_props ... ok [INFO] [stdout] test modules_g::fracture_mechanics_props::tests::test_paris_law_positive ... ok [INFO] [stdout] test modules_g::fracture_mechanics_props::tests::test_stress_intensity_mode_i ... ok [INFO] [stdout] test modules_g::friction_coefficient::tests::test_effective_friction_sliding ... ok [INFO] [stdout] test modules_g::friction_coefficient::tests::test_effective_friction_static ... ok [INFO] [stdout] test modules_g::friction_coefficient::tests::test_friction_coefficient_for_rolling ... ok [INFO] [stdout] test modules_g::friction_coefficient::tests::test_friction_coefficient_for_static ... ok [INFO] [stdout] test modules_g::friction_coefficient::tests::test_friction_force_kinetic ... ok [INFO] [stdout] test modules_g::friction_coefficient::tests::test_friction_force_rolling ... ok [INFO] [stdout] test modules_g::friction_coefficient::tests::test_friction_force_static ... ok [INFO] [stdout] test modules_g::friction_coefficient::tests::test_is_sliding_false ... ok [INFO] [stdout] test modules_g::friction_coefficient::tests::test_is_sliding_true ... ok [INFO] [stdout] test modules_g::friction_coefficient::tests::test_new_friction_model ... ok [INFO] [stdout] test modules_g::gel_model::tests::test_chi_from_solubility ... ok [INFO] [stdout] test modules_g::gel_model::tests::test_degree_of_swelling_positive ... ok [INFO] [stdout] test modules_g::gel_model::tests::test_equilibrium_phi_in_range ... ok [INFO] [stdout] test modules_g::gel_model::tests::test_mixing_free_energy_finite ... ok [INFO] [stdout] test modules_g::gel_model::tests::test_new_gel_params ... ok [INFO] [stdout] test modules_g::gel_model::tests::test_new_gel_state_clamps ... ok [INFO] [stdout] test modules_g::gel_model::tests::test_osmotic_pressure_mix_sign ... ok [INFO] [stdout] test modules_g::gel_model::tests::test_relax_step_moves_toward_equilibrium ... ok [INFO] [stdout] test modules_g::gel_model::tests::test_shear_modulus_decreases_with_swelling ... ok [INFO] [stdout] test modules_g::gel_model::tests::test_uniaxial_stress_zero_at_one ... ok [INFO] [stdout] test modules_g::granular_flow::tests::test_active_count ... ok [INFO] [stdout] test modules_g::granular_flow::tests::test_add_particle ... ok [INFO] [stdout] test modules_g::granular_flow::tests::test_avg_height ... ok [INFO] [stdout] test modules_g::granular_flow::tests::test_floor_bounce ... ok [INFO] [stdout] test modules_g::granular_flow::tests::test_gravity_pulls_down ... ok [INFO] [stdout] test modules_g::granular_flow::tests::test_kinetic_energy_increases ... ok [INFO] [stdout] test modules_g::granular_flow::tests::test_new_flow ... ok [INFO] [stdout] test modules_g::granular_flow::tests::test_two_particles_collision ... ok [INFO] [stdout] test modules_g::heat_equation::tests::test_advance_conserves_boundary ... ok [INFO] [stdout] test modules_g::heat_equation::tests::test_construction ... ok [INFO] [stdout] test modules_g::heat_equation::tests::test_heat_pulse_diffuses ... ok [INFO] [stdout] test modules_g::heat_equation::tests::test_mean_temperature_conservation ... ok [INFO] [stdout] test modules_g::heat_equation::tests::test_sine_initial ... ok [INFO] [stdout] test modules_g::heat_equation::tests::test_stable_dt ... ok [INFO] [stdout] test modules_g::heat_equation::tests::test_steady_state_linear ... ok [INFO] [stdout] test modules_g::heat_equation::tests::test_total_energy ... ok [INFO] [stdout] test modules_g::heat_equation_1d::tests::test_heat_1d_boundaries_unchanged ... ok [INFO] [stdout] test modules_g::heat_equation_1d::tests::test_heat_1d_max ... ok [INFO] [stdout] test modules_g::heat_equation_1d::tests::test_heat_1d_mean ... ok [INFO] [stdout] test modules_g::heat_equation_1d::tests::test_heat_1d_set_get ... ok [INFO] [stdout] test modules_g::heat_equation_1d::tests::test_heat_1d_step_diffuses ... ok [INFO] [stdout] test modules_g::heat_equation_1d::tests::test_heat_1d_step_no_panic ... ok [INFO] [stdout] test modules_g::heat_equation_1d::tests::test_new_heat_1d ... ok [INFO] [stdout] test modules_g::inverse_dynamics::tests::test_compute_torque_at_pi_half ... ok [INFO] [stdout] test modules_g::inverse_dynamics::tests::test_compute_torque_at_zero ... ok [INFO] [stdout] test modules_g::inverse_dynamics::tests::test_max_joint_torque ... ok [INFO] [stdout] test modules_g::inverse_dynamics::tests::test_max_joint_torque_empty ... ok [INFO] [stdout] test modules_g::inverse_dynamics::tests::test_set_joint_angle ... ok [INFO] [stdout] test modules_g::inverse_dynamics::tests::test_set_joint_angle_out_of_bounds ... ok [INFO] [stdout] test modules_g::inverse_dynamics::tests::test_set_link_mass ... ok [INFO] [stdout] test modules_g::inverse_dynamics::tests::test_total_joint_work ... ok [INFO] [stdout] test modules_g::lattice_boltzmann_d2q9::tests::test_lbm_density_unity ... ok [INFO] [stdout] test modules_g::lattice_boltzmann_d2q9::tests::test_lbm_dimensions ... ok [INFO] [stdout] test modules_g::lattice_boltzmann_d2q9::tests::test_lbm_equilibrium_rest ... ok [INFO] [stdout] test modules_g::lattice_boltzmann_d2q9::tests::test_lbm_step_no_panic ... ok [INFO] [stdout] test modules_g::lattice_boltzmann_d2q9::tests::test_lbm_velocity_x_zero ... ok [INFO] [stdout] test modules_g::lattice_boltzmann_d2q9::tests::test_new_lbm_d2q9 ... ok [INFO] [stdout] test modules_g::lotka_volterra::tests::test_lv_is_stable_both_positive ... ok [INFO] [stdout] test modules_g::lotka_volterra::tests::test_lv_predator_loss ... ok [INFO] [stdout] test modules_g::lotka_volterra::tests::test_lv_prey_growth ... ok [INFO] [stdout] test modules_g::lotka_volterra::tests::test_lv_step_no_negative ... ok [INFO] [stdout] test modules_g::lotka_volterra::tests::test_lv_step_runs ... ok [INFO] [stdout] test modules_g::lotka_volterra::tests::test_lv_total ... ok [INFO] [stdout] test modules_g::lotka_volterra::tests::test_new_lotka_volterra ... ok [INFO] [stdout] test modules_g::lubrication_force::tests::test_couette_shear_stress ... ok [INFO] [stdout] test modules_g::lubrication_force::tests::test_is_laminar_slow_flow ... ok [INFO] [stdout] test modules_g::lubrication_force::tests::test_lubrication_film_shear ... ok [INFO] [stdout] test modules_g::lubrication_force::tests::test_new_lubricant ... ok [INFO] [stdout] test modules_g::lubrication_force::tests::test_reynolds_number ... ok [INFO] [stdout] test modules_g::lubrication_force::tests::test_slider_bearing_same_gap_zero_load ... ok [INFO] [stdout] test modules_g::lubrication_force::tests::test_sommerfeld_number_positive ... ok [INFO] [stdout] test modules_g::lubrication_force::tests::test_squeeze_film_force_positive ... ok [INFO] [stdout] test modules_g::magnetic_particle::tests::test_add_dipole ... ok [INFO] [stdout] test modules_g::magnetic_particle::tests::test_dipole_field_nonzero_at_distance ... ok [INFO] [stdout] test modules_g::magnetic_particle::tests::test_dipole_field_zero_at_source ... ok [INFO] [stdout] test modules_g::magnetic_particle::tests::test_dipole_force_opposite_sign_alignment ... ok [INFO] [stdout] test modules_g::magnetic_particle::tests::test_new_dipole ... ok [INFO] [stdout] test modules_g::magnetic_particle::tests::test_new_system ... ok [INFO] [stdout] test modules_g::magnetic_particle::tests::test_potential_energy_finite ... ok [INFO] [stdout] test modules_g::magnetic_particle::tests::test_step_moves_dipoles ... ok [INFO] [stdout] test modules_g::membrane_model::tests::test_average_mean_curvature ... ok [INFO] [stdout] test modules_g::membrane_model::tests::test_bending_energy_sphere ... ok [INFO] [stdout] test modules_g::membrane_model::tests::test_effective_spring_constant ... ok [INFO] [stdout] test modules_g::membrane_model::tests::test_equilibrium_sphere_radius ... ok [INFO] [stdout] test modules_g::membrane_model::tests::test_lipid_bilayer ... ok [INFO] [stdout] test modules_g::membrane_model::tests::test_membrane_patch_add_node ... ok [INFO] [stdout] test modules_g::membrane_model::tests::test_tension_energy ... ok [INFO] [stdout] test modules_g::membrane_model::tests::test_undulation_amplitude ... ok [INFO] [stdout] test modules_g::motion_capture_model::tests::test_mocap_add_marker ... ok [INFO] [stdout] test modules_g::motion_capture_model::tests::test_mocap_centroid_single ... ok [INFO] [stdout] test modules_g::motion_capture_model::tests::test_mocap_find_marker_found ... ok [INFO] [stdout] test modules_g::motion_capture_model::tests::test_mocap_find_marker_not_found ... ok [INFO] [stdout] test modules_g::motion_capture_model::tests::test_mocap_frame_duration_empty ... ok [INFO] [stdout] test modules_g::motion_capture_model::tests::test_mocap_frame_duration_two ... ok [INFO] [stdout] test modules_g::motion_capture_model::tests::test_mocap_marker_velocity ... ok [INFO] [stdout] test modules_g::motion_capture_model::tests::test_mocap_velocity_missing_marker ... ok [INFO] [stdout] test modules_g::inverse_dynamics::tests::test_new_inverse_dynamics ... ok [INFO] [stdout] test modules_g::motion_capture_model::tests::test_new_mocap_frame ... ok [INFO] [stdout] test modules_g::navier_stokes_2d::tests::test_add_vortex ... ok [INFO] [stdout] test modules_g::navier_stokes_2d::tests::test_construction ... ok [INFO] [stdout] test modules_g::navier_stokes_2d::tests::test_enstrophy_positive ... ok [INFO] [stdout] test modules_g::navier_stokes_2d::tests::test_step_runs ... ok [INFO] [stdout] test modules_g::navier_stokes_2d::tests::test_streamfunction_solve ... ok [INFO] [stdout] test modules_g::navier_stokes_2d::tests::test_time_advances ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_step_positions_finite ... ok [INFO] [stdout] test modules_g::navier_stokes_2d::tests::test_enstrophy_decays_with_diffusion ... ok [INFO] [stdout] test modules_g::poisson_solver::tests::test_boundary_zero ... ok [INFO] [stdout] test modules_g::poisson_solver::tests::test_construction ... ok [INFO] [stdout] test modules_g::poisson_solver::tests::test_iteration_counter ... ok [INFO] [stdout] test modules_g::navier_stokes_2d::tests::test_velocity_u_at_boundary ... ok [INFO] [stdout] test modules_g::poisson_solver::tests::test_1d_poisson_uniform ... ok [INFO] [stdout] test modules_g::poisson_solver::tests::test_reset ... ok [INFO] [stdout] test modules_g::poisson_solver::tests::test_set_boundary ... ok [INFO] [stdout] test modules_g::population_dynamics::tests::test_new_population ... ok [INFO] [stdout] test modules_g::population_dynamics::tests::test_population_at_capacity ... ok [INFO] [stdout] test modules_g::population_dynamics::tests::test_population_carrying_fraction ... ok [INFO] [stdout] test modules_g::population_dynamics::tests::test_population_doubling_time ... ok [INFO] [stdout] test modules_g::population_dynamics::tests::test_population_equilibrium ... ok [INFO] [stdout] test modules_g::population_dynamics::tests::test_population_is_growing ... ok [INFO] [stdout] test modules_g::population_dynamics::tests::test_population_step_grows ... ok [INFO] [stdout] test modules_g::porous_flow::tests::test_1d_construction ... ok [INFO] [stdout] test modules_g::poisson_solver::tests::test_max_abs_after_solve ... ok [INFO] [stdout] test modules_g::porous_flow::tests::test_2d_construction ... ok [INFO] [stdout] test modules_g::porous_flow::tests::test_2d_solve ... ok [INFO] [stdout] test modules_g::porous_flow::tests::test_darcy_flux_linear ... ok [INFO] [stdout] test modules_g::poisson_solver::tests::test_jacobi_decreases_residual ... ok [INFO] [stdout] test modules_g::porous_flow::tests::test_darcy_velocity_fn ... ok [INFO] [stdout] test modules_g::porous_flow::tests::test_reynolds_number ... ok [INFO] [stdout] test modules_g::radiation_heat::tests::test_blackbody_emission_doubles ... ok [INFO] [stdout] test modules_g::radiation_heat::tests::test_blackbody_emission_zero ... ok [INFO] [stdout] test modules_g::radiation_heat::tests::test_effective_temperature_roundtrip ... ok [INFO] [stdout] test modules_g::radiation_heat::tests::test_net_radiation_self ... ok [INFO] [stdout] test modules_g::radiation_heat::tests::test_net_radiation_sign ... ok [INFO] [stdout] test modules_g::radiation_heat::tests::test_new_radiation_heat ... ok [INFO] [stdout] test modules_g::radiation_heat::tests::test_radiated_power_positive ... ok [INFO] [stdout] test modules_g::radiation_heat::tests::test_radiative_flux ... ok [INFO] [stdout] test modules_g::radiation_heat::tests::test_stefan_boltzmann_constant ... ok [INFO] [stdout] test modules_g::reaction_kinetics::tests::test_new_reaction ... ok [INFO] [stdout] test modules_g::reaction_kinetics::tests::test_reaction_activation_energy ... ok [INFO] [stdout] test modules_g::reaction_kinetics::tests::test_reaction_half_life_first_order ... ok [INFO] [stdout] test modules_g::reaction_kinetics::tests::test_reaction_rate_constant_positive ... ok [INFO] [stdout] test modules_g::reaction_kinetics::tests::test_reaction_rate_order_0 ... ok [INFO] [stdout] test modules_g::reaction_kinetics::tests::test_reaction_rate_order_1 ... ok [INFO] [stdout] test modules_g::reaction_kinetics::tests::test_reaction_set_temperature ... ok [INFO] [stdout] test modules_g::sir_epidemic_model::tests::test_new_sir_model ... ok [INFO] [stdout] test modules_g::sir_epidemic_model::tests::test_sir_herd_immunity_threshold ... ok [INFO] [stdout] test modules_g::sir_epidemic_model::tests::test_sir_infected_grows_initially ... ok [INFO] [stdout] test modules_g::sir_epidemic_model::tests::test_sir_is_epidemic ... ok [INFO] [stdout] test modules_g::sir_epidemic_model::tests::test_sir_not_epidemic ... ok [INFO] [stdout] test modules_g::sir_epidemic_model::tests::test_sir_r0 ... ok [INFO] [stdout] test modules_g::sir_epidemic_model::tests::test_sir_step_conserves_population ... ok [INFO] [stdout] test modules_g::smoothed_particle_2d::tests::test_density_computation ... ok [INFO] [stdout] test modules_g::smoothed_particle_2d::tests::test_gravity_accelerates_particles ... ok [INFO] [stdout] test modules_g::smoothed_particle_2d::tests::test_sph_particle_creation ... ok [INFO] [stdout] test modules_g::smoothed_particle_2d::tests::test_step_advances_time ... ok [INFO] [stdout] test modules_g::smoothed_particle_2d::tests::test_total_mass ... ok [INFO] [stdout] test modules_g::smoothed_particle_2d::tests::test_wendland_gradient_nonzero ... ok [INFO] [stdout] test modules_g::smoothed_particle_2d::tests::test_wendland_kernel_at_zero ... ok [INFO] [stdout] test modules_g::smoothed_particle_2d::tests::test_wendland_kernel_compact ... ok [INFO] [stdout] test modules_g::surface_tension::tests::test_add_particle ... ok [INFO] [stdout] test modules_g::surface_tension::tests::test_bond_number ... ok [INFO] [stdout] test modules_g::surface_tension::tests::test_capillary_length ... ok [INFO] [stdout] test modules_g::surface_tension::tests::test_detect_surface_marks_isolated ... ok [INFO] [stdout] test modules_g::surface_tension::tests::test_force_on_oob_zero ... ok [INFO] [stdout] test modules_g::surface_tension::tests::test_laplace_pressure ... ok [INFO] [stdout] test modules_g::surface_tension::tests::test_new_model ... ok [INFO] [stdout] test modules_g::surface_tension::tests::test_surface_count ... ok [INFO] [stdout] test modules_g::surface_tension::tests::test_weber_number ... ok [INFO] [stdout] test modules_g::swarm_behavior::tests::test_boid_alignment_matches_neighbor ... ok [INFO] [stdout] test modules_g::swarm_behavior::tests::test_boid_cohesion_toward_center ... ok [INFO] [stdout] test modules_g::porous_flow::tests::test_solve_steady ... ok [INFO] [stdout] test modules_g::swarm_behavior::tests::test_boid_separation_repels ... ok [INFO] [stdout] test modules_g::swarm_behavior::tests::test_boid_speed ... ok [INFO] [stdout] test modules_g::swarm_behavior::tests::test_boid_speed_clamped ... ok [INFO] [stdout] test modules_g::swarm_behavior::tests::test_boid_step_moves ... ok [INFO] [stdout] test modules_g::swarm_behavior::tests::test_new_boid ... ok [INFO] [stdout] test modules_g::thermal_convection::tests::test_convection_equilibrium_temp ... ok [INFO] [stdout] test modules_g::porous_flow::tests::test_mean_flux ... ok [INFO] [stdout] test modules_g::thermal_convection::tests::test_convective_heat_rate_equilibrium ... ok [INFO] [stdout] test modules_g::thermal_convection::tests::test_convective_heat_rate_positive ... ok [INFO] [stdout] test modules_g::thermal_convection::tests::test_equilibrium_zero_ha ... ok [INFO] [stdout] test modules_g::thermal_convection::tests::test_lumped_time_constant ... ok [INFO] [stdout] test modules_g::thermal_convection::tests::test_new_thermal_convection ... ok [INFO] [stdout] test modules_g::thermal_convection::tests::test_nusselt_approx ... ok [INFO] [stdout] test modules_g::thermal_convection::tests::test_nusselt_prandtl_effect ... ok [INFO] [stdout] test modules_g::thermal_convection::tests::test_thermal_resistance ... ok [INFO] [stdout] test modules_g::thermal_expansion::tests::test_constrained_stress_negative ... ok [INFO] [stdout] test modules_g::thermal_expansion::tests::test_hydrostatic_thermal_stress ... ok [INFO] [stdout] test modules_g::thermal_expansion::tests::test_no_strain_at_ref_temp ... ok [INFO] [stdout] test modules_g::thermal_expansion::tests::test_positive_strain_above_ref ... ok [INFO] [stdout] test modules_g::thermal_expansion::tests::test_shear_modulus ... ok [INFO] [stdout] test modules_g::thermal_expansion::tests::test_thermal_bar_expands ... ok [INFO] [stdout] test modules_g::thermal_expansion::tests::test_thermal_elongation ... ok [INFO] [stdout] test modules_g::thermal_expansion::tests::test_thermal_stress_sign ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_body_region_count_is_twenty ... ok [INFO] [stdout] test modules_g::thermal_expansion::tests::test_volumetric_strain ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_body_has_all_twenty_regions ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_body_region_surface_fractions_sum_to_one ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_column_core_temp_initial ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_column_has_five_nodes ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_column_initial_temp_37 ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_column_skin_temp_initial ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_step_velocities_finite ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_core_temperature_positive ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_cool_ambient_lowers_skin_temperature ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_heat_diffuses_from_hot_core_to_cool_surface ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_core_stays_warmer_than_skin_in_cold_ambient ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_layer_depth_index_core_is_zero ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_hot_ambient_raises_skin_temperature ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_layer_depth_index_epidermis_is_four ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_layer_ordered_has_five_elements ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_metabolic_rate_max_is_580_wm2 ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_metabolic_rate_clamps_above_one ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_metabolic_rate_rest_is_58_wm2 ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_metabolic_rate_monotone ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_sweating_activated_after_exercise ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_step_temperature_finite ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_sweating_rate_all_regions_finite ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_sweating_rate_increases_with_temperature ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_sweating_rate_zero_below_threshold ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_sweating_rate_positive_when_skin_hot ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_thomas_algorithm_identity ... ok [INFO] [stdout] test modules_g::vibration_analysis::tests::test_damped_freq_underdamped ... ok [INFO] [stdout] test modules_g::vibration_analysis::tests::test_damping_ratio_critical ... ok [INFO] [stdout] test modules_g::vibration_analysis::tests::test_damping_ratio_undamped ... ok [INFO] [stdout] test modules_g::vibration_analysis::tests::test_is_overdamped_false ... ok [INFO] [stdout] test modules_g::vibration_analysis::tests::test_is_overdamped_true ... ok [INFO] [stdout] test modules_g::vibration_analysis::tests::test_logarithmic_decrement ... ok [INFO] [stdout] test modules_g::vibration_analysis::tests::test_natural_frequency ... ok [INFO] [stdout] test modules_g::vibration_analysis::tests::test_new_vibration_model ... ok [INFO] [stdout] test modules_g::vibration_analysis::tests::test_resonance_amplitude_positive ... ok [INFO] [stdout] test modules_g::vibration_analysis::tests::test_static_deflection ... ok [INFO] [stdout] test modules_g::vortex_model::tests::test_new_vortex_ring ... ok [INFO] [stdout] test modules_g::vortex_model::tests::test_vortex_energy_positive ... ok [INFO] [stdout] test modules_g::vortex_model::tests::test_vortex_impulse_along_z ... ok [INFO] [stdout] test modules_g::vortex_model::tests::test_vortex_is_stable ... ok [INFO] [stdout] test modules_g::vortex_model::tests::test_vortex_self_velocity_positive ... ok [INFO] [stdout] test modules_g::vortex_model::tests::test_vortex_step_moves_along_z ... ok [INFO] [stdout] test modules_g::wave_equation_1d::tests::test_new_wave_1d ... ok [INFO] [stdout] test modules_g::wave_equation_1d::tests::test_wave_1d_energy ... ok [INFO] [stdout] test modules_g::wave_equation_1d::tests::test_wave_1d_max ... ok [INFO] [stdout] test modules_g::wave_equation_1d::tests::test_wave_1d_set_get ... ok [INFO] [stdout] test modules_g::wave_equation_1d::tests::test_wave_1d_step_boundary ... ok [INFO] [stdout] test modules_g::wave_equation_1d::tests::test_wave_1d_step_no_panic ... ok [INFO] [stdout] test modules_g::wave_equation_1d::tests::test_wave_1d_step_propagates ... ok [INFO] [stdout] test oxirs_adapter::tests::test_add_body_increments_count ... ok [INFO] [stdout] test oxirs_adapter::tests::test_apply_force_then_step_moves_body ... ok [INFO] [stdout] test oxirs_adapter::tests::test_apply_impulse_changes_velocity ... ok [INFO] [stdout] test oxirs_adapter::tests::test_body_wakes_on_impulse ... ok [INFO] [stdout] test oxirs_adapter::tests::test_box_proxy_builds_correctly ... ok [INFO] [stdout] test oxirs_adapter::tests::test_build_from_proxies_correct_count ... ok [INFO] [stdout] test oxirs_adapter::tests::test_collider_shape_bounding_radius ... ok [INFO] [stdout] test oxirs_adapter::tests::test_contact_pairs_populated_after_step ... ok [INFO] [stdout] test oxirs_adapter::tests::test_get_transform_initial_position ... ok [INFO] [stdout] test oxirs_adapter::tests::test_get_transform_invalid_handle_returns_none ... ok [INFO] [stdout] test oxirs_adapter::tests::test_gravity_pulls_body_down ... ok [INFO] [stdout] test oxirs_adapter::tests::test_inertia_diagonal_sphere ... ok [INFO] [stdout] test oxirs_adapter::tests::test_multiple_bodies_independent_integration ... ok [INFO] [stdout] test oxirs_adapter::tests::test_ray_hits_sphere ... ok [INFO] [stdout] test oxirs_adapter::tests::test_ray_max_dist_respected ... ok [INFO] [stdout] test oxirs_adapter::tests::test_ray_misses_sphere ... ok [INFO] [stdout] test oxirs_adapter::tests::test_ray_zero_dir_returns_none ... ok [INFO] [stdout] test oxirs_adapter::tests::test_remove_body_decrements_count ... ok [INFO] [stdout] test oxirs_adapter::tests::test_remove_invalid_handle_noop ... ok [INFO] [stdout] test oxirs_adapter::tests::test_set_gravity_changes_config ... ok [INFO] [stdout] test oxirs_adapter::tests::test_static_body_does_not_move_under_gravity ... ok [INFO] [stdout] test oxirs_adapter::tests::test_sync_transforms_updates_proxy_positions ... ok [INFO] [stdout] test oxirs_adapter::tests::test_time_scale_zero_no_movement ... ok [INFO] [stdout] test oxirs_adapter::tests::test_two_spheres_collide_and_separate ... ok [INFO] [stdout] test oxirs_adapter::tests::test_zero_gravity_body_stays_still ... ok [INFO] [stdout] test proxy_tests::tests::generate_fitted_proxies_count ... ok [INFO] [stdout] test proxy_tests::tests::generate_fitted_proxies_count_real_mesh ... ok [INFO] [stdout] test proxy_tests::tests::generate_fitted_proxies_names ... ok [INFO] [stdout] test proxy_tests::tests::generate_fitted_proxies_radii_positive ... ok [INFO] [stdout] test proxy_tests::tests::generate_proxies_produces_expected_count ... ok [INFO] [stdout] test proxy_tests::tests::proxies_from_json_invalid_input_errors ... ok [INFO] [stdout] test proxy_tests::tests::proxies_from_json_round_trip ... ok [INFO] [stdout] test proxy_tests::tests::proxies_to_json_capsule_label_present ... ok [INFO] [stdout] test proxy_tests::tests::proxies_to_json_contains_expected_keys ... ok [INFO] [stdout] test proxy_tests::tests::proxies_to_json_empty_proxies ... ok [INFO] [stdout] test proxy_tests::tests::proxies_to_json_is_valid_json ... ok [INFO] [stdout] test proxy_tests::tests::proxies_to_json_sphere_label_present ... ok [INFO] [stdout] test proxy_tests::tests::proxy_positions_within_mesh_height ... ok [INFO] [stdout] test proxy_tests::tests::proxy_radii_positive ... ok [INFO] [stdout] test proxy_tests::tests::real_base_mesh_proxies ... ok [INFO] [stdout] test proxy_tests::tests::voxelize_to_proxies_empty_mesh_returns_empty ... ok [INFO] [stdout] test proxy_tests::tests::voxelize_to_proxies_half_extents_positive ... ok [INFO] [stdout] test proxy_tests::tests::voxelize_to_proxies_json_round_trip ... ok [INFO] [stdout] test proxy_tests::tests::voxelize_to_proxies_labels_include_torso_or_head ... ok [INFO] [stdout] test proxy_tests::tests::voxelize_to_proxies_nonempty_for_body_mesh ... ok [INFO] [stdout] test rig::tests::build_rig_empty_proxies_returns_only_root ... ok [INFO] [stdout] test rig::tests::build_rig_non_empty ... ok [INFO] [stdout] test rig::tests::children_of_pelvis ... ok [INFO] [stdout] test rig::tests::each_chain_has_at_least_two_joints ... ok [INFO] [stdout] test rig::tests::find_joint_nonexistent_none ... ok [INFO] [stdout] test rig::tests::find_joint_torso_some ... ok [INFO] [stdout] test rig::tests::joint_count_is_twelve ... ok [INFO] [stdout] test rig::tests::joint_local_positions_are_finite ... ok [INFO] [stdout] test rig::tests::root_joints_exactly_one ... ok [INFO] [stdout] test rig::tests::spine_chain_contains_head ... ok [INFO] [stdout] test rig::tests::standard_chains_count_five ... ok [INFO] [stdout] test rig::tests::to_json_contains_joints_key ... ok [INFO] [stdout] test sampling::tests::fit_capsule_line_of_points ... ok [INFO] [stdout] test sampling::tests::fit_capsule_radius_covers_all ... ok [INFO] [stdout] test sampling::tests::fit_capsule_single_point ... ok [INFO] [stdout] test sampling::tests::principal_axis_elongated_cloud ... ok [INFO] [stdout] test sampling::tests::principal_axis_sphere_is_any_direction ... ok [INFO] [stdout] test sampling::tests::proxy_from_vertices_delegates ... ok [INFO] [stdout] test sdf_gen::tests::test_closest_point_on_triangle_vertex_regions ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_exercise_raises_core_temperature ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_marching_cubes_indices_within_vertex_range ... ok [INFO] [stdout] test sdf_gen::tests::test_from_mesh_empty_vertices ... ok [INFO] [stdout] test sdf_gen::tests::test_from_mesh_mismatched_normals ... ok [INFO] [stdout] test sdf_gen::tests::test_from_mesh_empty_triangles ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_core_remains_near_37_at_rest_in_neutral_ambient ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_marching_cubes_vertices_finite ... ok [INFO] [stdout] test sdf_gen::tests::test_trilinear_corners ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_marching_cubes_triangle_count_multiple_of_3 ... ok [INFO] [stdout] test self_collision::tests::test_adjacency_skip ... ok [INFO] [stdout] test self_collision::tests::test_build_adjacency ... ok [INFO] [stdout] test self_collision::tests::test_build_adjacency_out_of_bounds ... ok [INFO] [stdout] test self_collision::tests::test_closest_point_on_triangle_vertex_region ... ok [INFO] [stdout] test self_collision::tests::test_closest_segments_crossing ... ok [INFO] [stdout] test self_collision::tests::test_closest_point_on_triangle_interior ... ok [INFO] [stdout] test modules_g::fluid_surface::tests::test_marching_cubes_returns_nonempty_for_dense_particles ... ok [INFO] [stdout] test modules_g::thermal_model::tests::test_temperatures_remain_finite_after_long_sim ... ok [INFO] [stdout] test self_collision::tests::test_detect_all ... ok [INFO] [stdout] test self_collision::tests::test_detect_vertex_triangle_collision ... ok [INFO] [stdout] test self_collision::tests::test_resolve_contacts_pushes_apart ... ok [INFO] [stdout] test self_collision::tests::test_no_collision_far_apart ... ok [INFO] [stdout] test self_collision::tests::test_resolve_contacts_respects_inv_mass ... ok [INFO] [stdout] test self_collision::tests::test_resolve_edge_contacts ... ok [INFO] [stdout] test self_collision::tests::test_spatial_hash_invalid_cell_size ... ok [INFO] [stdout] test self_collision::tests::test_closest_segments_parallel ... ok [INFO] [stdout] test self_collision::tests::test_edge_edge_detection ... ok [INFO] [stdout] test self_intersection::tests::test_build_empty ... ok [INFO] [stdout] test self_intersection::tests::test_aabb_overlap_no ... ok [INFO] [stdout] test self_intersection::tests::test_aabb_overlap_yes ... ok [INFO] [stdout] test self_collision::tests::test_spatial_hash_basic ... ok [INFO] [stdout] test self_intersection::tests::test_build_single_triangle ... ok [INFO] [stdout] test self_intersection::tests::test_detect_on_unbuilt ... ok [INFO] [stdout] test self_intersection::tests::test_estimate_depth ... ok [INFO] [stdout] test self_intersection::tests::test_multiple_triangles_bvh ... ok [INFO] [stdout] test self_intersection::tests::test_resolve_empty ... ok [INFO] [stdout] test self_intersection::tests::test_resolve_reduces_intersections ... ok [INFO] [stdout] test self_intersection::tests::test_shared_vertex_skip ... ok [INFO] [stdout] test self_intersection::tests::test_triangle_triangle_test_coplanar_overlapping ... ok [INFO] [stdout] test self_intersection::tests::test_triangle_triangle_test_no_intersection ... ok [INFO] [stdout] test soft_body::tests::test_apply_impulse_changes_velocity ... ok [INFO] [stdout] test soft_body::tests::test_apply_impulse_pinned_vertex_no_change ... ok [INFO] [stdout] test self_intersection::tests::test_intersection_detected ... ok [INFO] [stdout] test self_intersection::tests::test_no_intersection_separated ... ok [INFO] [stdout] test self_intersection::tests::test_build_invalid_index ... ok [INFO] [stdout] test soft_body::tests::test_from_tet_mesh_distance_constraints ... ok [INFO] [stdout] test soft_body::tests::test_from_tet_mesh_mass_distribution ... ok [INFO] [stdout] test soft_body::tests::test_from_tet_mesh_vertex_count ... ok [INFO] [stdout] test soft_body::tests::test_from_tet_mesh_volume_constraints ... ok [INFO] [stdout] test soft_body::tests::test_kinetic_energy_positive_after_impulse ... ok [INFO] [stdout] test soft_body::tests::test_kinetic_energy_zero_at_rest ... ok [INFO] [stdout] test soft_body::tests::test_make_cube_soft_body_vertex_count ... ok [INFO] [stdout] test soft_body::tests::test_step_gravity_drops_com ... ok [INFO] [stdout] test soft_body::tests::test_build_tet_edges_shared_edge ... ok [INFO] [stdout] test soft_body::tests::test_build_tet_edges_single_tet ... ok [INFO] [stdout] test soft_body::tests::test_center_of_mass_unit_tet ... ok [INFO] [stdout] test soft_body_v2::fem_solver::tests::test_assemble_forces ... ok [INFO] [stdout] test soft_body_v2::fem_solver::tests::test_compute_element_states ... ok [INFO] [stdout] test soft_body_v2::fem_solver::tests::test_compute_forces_at_rest ... ok [INFO] [stdout] test soft_body_v2::fem_solver::tests::test_count_inverted_elements ... ok [INFO] [stdout] test soft_body_v2::fem_solver::tests::test_elastic_energy_at_rest ... ok [INFO] [stdout] test soft_body_v2::fem_solver::tests::test_compute_forces_under_stretch ... ok [INFO] [stdout] test soft_body::tests::test_step_no_gravity_stays ... ok [INFO] [stdout] test soft_body_v2::fem_solver::tests::test_elastic_energy_under_deformation ... ok [INFO] [stdout] test soft_body_v2::hyperelastic::tests::test_first_invariant ... ok [INFO] [stdout] test soft_body_v2::hyperelastic::tests::test_lame_parameters ... ok [INFO] [stdout] test soft_body_v2::hyperelastic::tests::test_material_validation ... ok [INFO] [stdout] test soft_body_v2::hyperelastic::tests::test_pk_stress_at_rest ... ok [INFO] [stdout] test soft_body_v2::hyperelastic::tests::test_pk_stress_uniaxial_stretch ... ok [INFO] [stdout] test soft_body_v2::hyperelastic::tests::test_strain_energy_at_rest ... ok [INFO] [stdout] test soft_body_v2::hyperelastic::tests::test_strain_energy_uniform_stretch ... ok [INFO] [stdout] test soft_body_v2::hyperelastic::tests::test_element_stiffness_symmetry ... ok [INFO] [stdout] test soft_body_v2::integrator::tests::test_conjugate_gradient_diagonal ... ok [INFO] [stdout] test soft_body_v2::integrator::tests::test_conjugate_gradient_identity ... ok [INFO] [stdout] test soft_body_v2::integrator::tests::test_conjugate_gradient_spd_matrix ... ok [INFO] [stdout] test soft_body_v2::integrator::tests::test_dot_flat ... ok [INFO] [stdout] test soft_body_v2::integrator::tests::test_explicit_euler_step ... ok [INFO] [stdout] test soft_body_v2::integrator::tests::test_gravitational_potential_energy ... ok [INFO] [stdout] test soft_body_v2::integrator::tests::test_integrate_fixed_node ... ok [INFO] [stdout] test soft_body_v2::integrator::tests::test_integrate_implicit_basic ... ok [INFO] [stdout] test soft_body_v2::integrator::tests::test_kinetic_energy ... ok [INFO] [stdout] test soft_body_v2::integrator::tests::test_sparse_matvec_flat ... ok [INFO] [stdout] test soft_body_v2::tests::test_fix_node ... ok [INFO] [stdout] test soft_body_v2::tests::test_identity_polar_decomposition ... ok [INFO] [stdout] test soft_body_v2::tests::test_mat3_det ... ok [INFO] [stdout] test soft_body_v2::tests::test_mat3_inverse ... ok [INFO] [stdout] test soft_body_v2::tests::test_polar_decomposition_rotation ... ok [INFO] [stdout] test soft_body_v2::tests::test_soft_body_v2_creation ... ok [INFO] [stdout] test soft_body_v2::tetrahedral::tests::test_centroid ... ok [INFO] [stdout] test soft_body_v2::tetrahedral::tests::test_scaled_deformation_gradient ... ok [INFO] [stdout] test soft_body_v2::tetrahedral::tests::test_signed_volume ... ok [INFO] [stdout] test soft_body_v2::tetrahedral::tests::test_tet_mesh_from_soft_body ... ok [INFO] [stdout] test soft_body_v2::tetrahedral::tests::test_tet_volume ... ok [INFO] [stdout] test soft_body_v2::tetrahedral::tests::test_tetrahedral_element ... ok [INFO] [stdout] test soft_body_v2::tetrahedral::tests::test_triangle_area ... ok [INFO] [stdout] test soft_body_v2::tetrahedral::tests::test_unit_cube_mesh ... ok [INFO] [stdout] test soft_body_v2::tetrahedral::tests::test_validate_mesh_positive ... ok [INFO] [stdout] test wind_force::tests::apply_wind_no_panic ... ok [INFO] [stdout] test wind_force::tests::beaufort_breeze ... ok [INFO] [stdout] test wind_force::tests::beaufort_calm ... ok [INFO] [stdout] test wind_force::tests::beaufort_gale ... ok [INFO] [stdout] test wind_force::tests::beaufort_max ... ok [INFO] [stdout] test wind_force::tests::dynamic_pressure_formula ... ok [INFO] [stdout] test wind_force::tests::dynamic_pressure_zero ... ok [INFO] [stdout] test wind_force::tests::noise_deterministic ... ok [INFO] [stdout] test wind_force::tests::noise_range ... ok [INFO] [stdout] test wind_force::tests::noise_seed_differs ... ok [INFO] [stdout] test wind_force::tests::noise_smooth ... ok [INFO] [stdout] test wind_force::tests::sample_time_varying ... ok [INFO] [stdout] test wind_force::tests::wind_force_backfacing_zero ... ok [INFO] [stdout] test wind_force::tests::wind_force_proportional_to_area ... ok [INFO] [stdout] test wind_force::tests::wind_sample_pressure_matches_speed ... ok [INFO] [stdout] test soft_body_v2::fem_solver::tests::test_sparse_matvec ... ok [INFO] [stdout] test soft_body_v2::hyperelastic::tests::test_element_forces_at_rest ... ok [INFO] [stdout] test sdf_gen::tests::test_sdf_inside_negative ... ok [INFO] [stdout] test sdf_gen::tests::test_sdf_outside_positive ... ok [INFO] [stdout] test sdf_gen::tests::test_gradient_points_outward ... ok [INFO] [stdout] test sdf_gen::tests::test_closest_surface_point ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5210 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.97s [INFO] [stdout] [INFO] [stderr] Running tests/physics_integration.rs (/opt/rustwide/target/debug/deps/physics_integration-e5fb3353929e7663) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_collision_capsule_no_false_positive ... ok [INFO] [stdout] test test_fem_deformation_finite ... ok [INFO] [stdout] test test_collision_sphere_sphere_detect ... ok [INFO] [stdout] test test_rigid_body_gravity ... ok [INFO] [stdout] test test_cloth_pbd_converges ... ok [INFO] [stdout] test test_sph_fluid_step_conserves_mass ... ok [INFO] [stdout] test test_xpbd_length_constraint ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests oxihuman_physics [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/lib.rs - (line 22) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7816612bce05ab4bfcfbb7f5146460efff5146aa20b95dd0014851401d1099ca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7816612bce05ab4bfcfbb7f5146460efff5146aa20b95dd0014851401d1099ca", kill_on_drop: false }` [INFO] [stdout] 7816612bce05ab4bfcfbb7f5146460efff5146aa20b95dd0014851401d1099ca