[INFO] fetching crate piper-driver 0.0.3...
[INFO] testing piper-driver-0.0.3 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate piper-driver 0.0.3 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate piper-driver 0.0.3
[INFO] finished tweaking crates.io crate piper-driver 0.0.3
[INFO] tweaked toml for crates.io crate piper-driver 0.0.3 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate piper-driver 0.0.3 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate piper-driver 0.0.3 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b8fd9c04cee770244e952d6e0b9070e0da553ac2620699fbc243d5199c7b43f5
[INFO] running `Command { std: "docker" "start" "-a" "b8fd9c04cee770244e952d6e0b9070e0da553ac2620699fbc243d5199c7b43f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b8fd9c04cee770244e952d6e0b9070e0da553ac2620699fbc243d5199c7b43f5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8fd9c04cee770244e952d6e0b9070e0da553ac2620699fbc243d5199c7b43f5", kill_on_drop: false }`
[INFO] [stdout] b8fd9c04cee770244e952d6e0b9070e0da553ac2620699fbc243d5199c7b43f5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e23a2ecc84fe7c086a9f5e0b946c4f5f6aa4b58be2315e2187952da9c508d1ca
[INFO] running `Command { std: "docker" "start" "-a" "e23a2ecc84fe7c086a9f5e0b946c4f5f6aa4b58be2315e2187952da9c508d1ca", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling nb v1.1.0
[INFO] [stderr]    Compiling arbitrary-int v2.1.0
[INFO] [stderr]    Compiling socketcan v3.5.0
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling libusb1-sys v0.7.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rusb v0.9.4
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling embedded-can v0.4.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling arc-swap v1.8.1
[INFO] [stderr]    Compiling spin_sleep v1.3.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling bilge-impl v0.3.0
[INFO] [stderr]    Compiling num_enum_derive v0.7.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling num_enum v0.7.5
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling bilge v0.3.0
[INFO] [stderr]    Compiling piper-protocol v0.0.3
[INFO] [stderr]    Compiling neli-proc-macros v0.1.4
[INFO] [stderr]    Compiling neli v0.6.5
[INFO] [stderr]    Compiling piper-can v0.0.3
[INFO] [stderr]    Compiling piper-driver v0.0.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 54.46s
[INFO] running `Command { std: "docker" "inspect" "e23a2ecc84fe7c086a9f5e0b946c4f5f6aa4b58be2315e2187952da9c508d1ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e23a2ecc84fe7c086a9f5e0b946c4f5f6aa4b58be2315e2187952da9c508d1ca", kill_on_drop: false }`
[INFO] [stdout] e23a2ecc84fe7c086a9f5e0b946c4f5f6aa4b58be2315e2187952da9c508d1ca
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 81dbad953634567745db124f95fe6dc167a3b8a5203a5a94d7bc7187d172a963
[INFO] running `Command { std: "docker" "start" "-a" "81dbad953634567745db124f95fe6dc167a3b8a5203a5a94d7bc7187d172a963", kill_on_drop: false }`
[INFO] [stderr]    Compiling piper-driver v0.0.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.24s
[INFO] running `Command { std: "docker" "inspect" "81dbad953634567745db124f95fe6dc167a3b8a5203a5a94d7bc7187d172a963", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81dbad953634567745db124f95fe6dc167a3b8a5203a5a94d7bc7187d172a963", kill_on_drop: false }`
[INFO] [stdout] 81dbad953634567745db124f95fe6dc167a3b8a5203a5a94d7bc7187d172a963
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b68d0f0eea09ad0ba290655fef165428648b0cb08b7bf5f35f97afad316195d1
[INFO] running `Command { std: "docker" "start" "-a" "b68d0f0eea09ad0ba290655fef165428648b0cb08b7bf5f35f97afad316195d1", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/piper_driver-22ef740d9937cffd)
[INFO] [stdout] 
[INFO] [stdout] running 140 tests
[INFO] [stdout] test builder::tests::test_piper_builder_daemon_and_interface ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_chain ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_driver_type ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_baud_rate_chaining ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_interface_chaining ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_new ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_pipeline_config ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_receive_timeout_config ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_with_daemon_chaining ... ok
[INFO] [stdout] test command::realtime_command_tests::test_realtime_command_empty ... ok
[INFO] [stdout] test command::realtime_command_tests::test_realtime_command_into_frames ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_with_daemon_udp ... ok
[INFO] [stdout] test command::realtime_command_tests::test_realtime_command_iter ... ok
[INFO] [stdout] test command::realtime_command_tests::test_realtime_command_single ... ok
[INFO] [stdout] test command::tests::test_command_from_frame ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_with_daemon_uds ... ok
[INFO] [stdout] test command::realtime_command_tests::test_realtime_command_package ... ok
[INFO] [stdout] test command::tests::test_command_priority ... ok
[INFO] [stdout] test command::tests::test_command_to_frame ... ok
[INFO] [stdout] test error::tests::test_driver_error_display ... ok
[INFO] [stdout] test error::tests::test_from_can_error ... ok
[INFO] [stdout] test error::tests::test_from_protocol_error ... ok
[INFO] [stdout] test fps_stats::tests::test_fps_statistics_new ... ok
[INFO] [stdout] test fps_stats::tests::test_fps_statistics_get_counts ... ok
[INFO] [stdout] test fps_stats::tests::test_fps_statistics_reset ... ok
[INFO] [stdout] test heartbeat::tests::test_connection_monitor_initially_alive ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_default ... ok
[INFO] [stdout] test heartbeat::tests::test_time_since_last_feedback ... ok
[INFO] [stdout] test heartbeat::tests::test_monotonic_micros_no_panic_on_system_clock_change ... ok
[INFO] [stdout] test hooks::tests::test_hook_manager_add_callback ... ok
[INFO] [stdout] test hooks::tests::test_hook_manager_clear ... ok
[INFO] [stdout] test hooks::tests::test_hook_manager_trigger_all ... ok
[INFO] [stdout] test hooks::tests::test_hook_manager_trigger_sent ... ok
[INFO] [stdout] test metrics::tests::test_metrics_default ... ok
[INFO] [stdout] test builder::tests::test_piper_builder_all_options ... ok
[INFO] [stdout] test metrics::tests::test_metrics_increment ... ok
[INFO] [stdout] test metrics::tests::test_metrics_reset ... ok
[INFO] [stdout] test metrics::tests::test_metrics_snapshot_rates_zero_total ... ok
[INFO] [stdout] test metrics::tests::test_metrics_snapshot_rates ... ok
[INFO] [stdout] test metrics::tests::test_metrics_concurrent_updates ... ok
[INFO] [stdout] test metrics::tests::test_overwrite_rate_zero_total ... ok
[INFO] [stdout] test mode::tests::test_atomic_driver_mode ... ok
[INFO] [stdout] test mode::tests::test_default ... ok
[INFO] [stdout] test mode::tests::test_driver_mode_conversions ... ok
[INFO] [stdout] test mode::tests::test_from_u8 ... ok
[INFO] [stdout] test metrics::tests::test_overwrite_rate ... ok
[INFO] [stdout] test metrics::tests::test_overwrite_rate_thresholds ... ok
[INFO] [stdout] test pipeline::tests::test_pipeline_config_custom ... ok
[INFO] [stdout] test pipeline::tests::test_pipeline_config_default ... ok
[INFO] [stdout] test piper::tests::test_get_aligned_motion_aligned ... ok
[INFO] [stdout] test piper::tests::test_get_aligned_motion_misaligned_threshold ... ok
[INFO] [stdout] test piper::tests::test_get_aligned_motion_with_time_diff ... ok
[INFO] [stdout] test piper::tests::test_get_joint_driver_low_speed ... ok
[INFO] [stdout] test piper::tests::test_get_joint_dynamic_default ... ok
[INFO] [stdout] test piper::tests::test_get_joint_limit_config ... ok
[INFO] [stdout] test heartbeat::tests::test_monotonic_time_always_increases ... ok
[INFO] [stdout] test piper::tests::test_get_motion_state_returns_combined ... ok
[INFO] [stdout] test piper::tests::test_get_robot_control ... ok
[INFO] [stdout] test piper::tests::test_get_joint_position_default ... ok
[INFO] [stdout] test piper::tests::test_joint_driver_low_speed_clone ... ok
[INFO] [stdout] test piper::tests::test_joint_limit_config_read_lock ... ok
[INFO] [stdout] test piper::tests::test_piper_drop ... ok
[INFO] [stdout] test piper::tests::test_piper_get_motion_state ... ok
[INFO] [stdout] test piper::tests::test_piper_new ... ok
[INFO] [stdout] test piper::tests::test_send_frame_blocking_timeout ... ok
[INFO] [stdout] test piper::tests::test_send_frame_non_blocking ... ok
[INFO] [stdout] test piper::tests::test_wait_for_feedback_timeout ... ok
[INFO] [stdout] test recording::tests::test_async_recording_hook_basic ... ok
[INFO] [stdout] test pipeline::tests::test_command_channel_processing ... ok
[INFO] [stdout] test fps_stats::tests::test_fps_statistics_elapsed ... ok
[INFO] [stdout] test heartbeat::tests::test_connection_monitor_timeout_after_delay ... ok
[INFO] [stdout] test piper::tests::test_piper_send_frame_channel_full ... ok
[INFO] [stdout] test recording::tests::test_timestamped_frame_from_piper_frame ... ok
[INFO] [stdout] test state::tests::test_aligned_motion_state_debug ... ok
[INFO] [stdout] test state::tests::test_alignment_result_debug ... ok
[INFO] [stdout] test heartbeat::tests::test_connection_monitor_feedback_resets_timer ... ok
[INFO] [stdout] test state::tests::test_collision_protection_state_protection_levels ... ok
[INFO] [stdout] test state::tests::test_end_limit_config_state_clone ... ok
[INFO] [stdout] test state::tests::test_end_limit_config_state_default ... ok
[INFO] [stdout] test state::tests::test_end_pose_state_clone ... ok
[INFO] [stdout] test state::tests::test_end_pose_state_default ... ok
[INFO] [stdout] test state::tests::test_end_pose_state_is_fully_valid ... ok
[INFO] [stdout] test state::tests::test_end_pose_state_missing_frames ... ok
[INFO] [stdout] test state::tests::test_firmware_version_state_check_completeness ... ok
[INFO] [stdout] test state::tests::test_firmware_version_state_clear ... ok
[INFO] [stdout] test state::tests::test_firmware_version_state_default ... ok
[INFO] [stdout] test state::tests::test_firmware_version_state_parse_version ... ok
[INFO] [stdout] test state::tests::test_firmware_version_state_version_string ... ok
[INFO] [stdout] test state::tests::test_gripper_state_clone ... ok
[INFO] [stdout] test state::tests::test_gripper_state_default ... ok
[INFO] [stdout] test state::tests::test_gripper_state_is_moving ... ok
[INFO] [stdout] test state::tests::test_gripper_state_status_flags ... ok
[INFO] [stdout] test state::tests::test_joint_accel_config_state_clone ... ok
[INFO] [stdout] test state::tests::test_joint_accel_config_state_default ... ok
[INFO] [stdout] test state::tests::test_joint_accel_config_state_is_fully_valid ... ok
[INFO] [stdout] test state::tests::test_joint_accel_config_state_missing_joints ... ok
[INFO] [stdout] test state::tests::test_joint_driver_low_speed_state_all_status_methods ... ok
[INFO] [stdout] test state::tests::test_joint_driver_low_speed_state_clone ... ok
[INFO] [stdout] test state::tests::test_joint_driver_low_speed_state_default ... ok
[INFO] [stdout] test state::tests::test_joint_driver_low_speed_state_is_fully_valid ... ok
[INFO] [stdout] test state::tests::test_joint_driver_low_speed_state_missing_joints ... ok
[INFO] [stdout] test state::tests::test_joint_driver_low_speed_state_status_flags ... ok
[INFO] [stdout] test state::tests::test_joint_dynamic_state_calculate_torque ... ok
[INFO] [stdout] test state::tests::test_joint_dynamic_state_clone ... ok
[INFO] [stdout] test state::tests::test_joint_dynamic_state_default ... ok
[INFO] [stdout] test state::tests::test_collision_protection_state_default ... ok
[INFO] [stdout] test state::tests::test_joint_dynamic_state_get_all_torques ... ok
[INFO] [stdout] test state::tests::test_joint_dynamic_state_get_torque ... ok
[INFO] [stdout] test state::tests::test_joint_dynamic_state_is_complete ... ok
[INFO] [stdout] test state::tests::test_joint_dynamic_state_missing_joints ... ok
[INFO] [stdout] test state::tests::test_joint_limit_config_state_clone ... ok
[INFO] [stdout] test state::tests::test_joint_limit_config_state_default ... ok
[INFO] [stdout] test state::tests::test_joint_limit_config_state_is_fully_valid ... ok
[INFO] [stdout] test state::tests::test_joint_limit_config_state_missing_joints ... ok
[INFO] [stdout] test state::tests::test_joint_position_state_clone ... ok
[INFO] [stdout] test recording::tests::test_async_recording_hook_tx_callback ... ok
[INFO] [stdout] test state::tests::test_joint_position_state_default ... ok
[INFO] [stdout] test state::tests::test_joint_position_state_is_fully_valid ... ok
[INFO] [stdout] test state::tests::test_joint_position_state_missing_frames ... ok
[INFO] [stdout] test state::tests::test_piper_context_capture_motion_snapshot ... ok
[INFO] [stdout] test state::tests::test_piper_context_collision_protection ... ok
[INFO] [stdout] test state::tests::test_motion_snapshot_clone ... ok
[INFO] [stdout] test state::tests::test_piper_context_end_limit_config ... ok
[INFO] [stdout] test state::tests::test_piper_context_firmware_version ... ok
[INFO] [stdout] test state::tests::test_piper_context_gripper_and_robot_control ... ok
[INFO] [stdout] test state::tests::test_piper_context_joint_accel_config ... ok
[INFO] [stdout] test state::tests::test_piper_context_joint_driver_low_speed ... ok
[INFO] [stdout] test state::tests::test_piper_context_joint_limit_config ... ok
[INFO] [stdout] test state::tests::test_piper_context_new ... ok
[INFO] [stdout] test state::tests::test_piper_context_new_states ... ok
[INFO] [stdout] test state::tests::test_robot_control_state_clone ... ok
[INFO] [stdout] test state::tests::test_robot_control_state_default ... ok
[INFO] [stdout] test state::tests::test_robot_control_state_is_angle_limit ... ok
[INFO] [stdout] test state::tests::test_robot_control_state_is_comm_error ... ok
[INFO] [stdout] test state::tests::test_collision_protection_state_clone ... ok
[INFO] [stdout] test state::tests::test_motion_snapshot_default ... ok
[INFO] [stdout] test pipeline::tests::test_joint_pos_frame_commit_complete ... ok
[INFO] [stdout] test recording::tests::test_async_recording_hook_dropped_frames ... ok
[INFO] [stdout] test recording::tests::test_async_recording_hook_concurrent ... ok
[INFO] [stdout] test fps_stats::tests::test_fps_statistics_calculate_fps ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 140 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests piper_driver
[INFO] [stdout] 
[INFO] [stdout] running 42 tests
[INFO] [stdout] test src/builder.rs - builder::PiperBuilder (line 40) - compile ... ok
[INFO] [stdout] test src/builder.rs - builder::PiperBuilder::new (line 83) - compile ... ok
[INFO] [stdout] test src/builder.rs - builder::PiperBuilder::with_daemon (line 166) - compile ... ok
[INFO] [stdout] test src/builder.rs - builder::PiperBuilder::with_driver_type (line 102) - compile ... ok
[INFO] [stdout] test src/hooks.rs - hooks::FrameCallback (line 47) ... ok
[INFO] [stdout] test src/heartbeat.rs - heartbeat::ConnectionMonitor::new (line 44) ... ok
[INFO] [stdout] test src/builder.rs - builder::PiperBuilder::interface (line 128) - compile ... ok
[INFO] [stdout] test src/hooks.rs - hooks::HookManager::add_callback (line 162) ... ok
[INFO] [stdout] test src/hooks.rs - hooks (line 13) ... ok
[INFO] [stdout] test src/mode.rs - mode::AtomicDriverMode (line 76) - compile ... ok
[INFO] [stdout] test src/pipeline.rs - pipeline::ParserState (line 104) ... ok
[INFO] [stdout] test src/pipeline.rs - pipeline::ParserState<'a>::new (line 150) ... ok
[INFO] [stdout] test src/builder.rs - builder::PiperBuilder::build (line 195) - compile ... ok
[INFO] [stdout] test src/piper.rs - piper::Piper::MAX_REALTIME_PACKAGE_SIZE (line 103) - compile ... ok
[INFO] [stdout] test src/piper.rs - piper::Piper::capture_motion_snapshot (line 347) ... ok
[INFO] [stdout] test src/hooks.rs - hooks::HookManager::trigger_all_sent (line 231) ... ok
[INFO] [stdout] test src/metrics.rs - metrics::MetricsSnapshot::is_overwrite_rate_abnormal (line 199) ... ok
[INFO] [stdout] test src/hooks.rs - hooks::HookManager::trigger_all (line 198) ... ok
[INFO] [stdout] test src/hooks.rs - hooks::HookManager (line 110) ... ok
[INFO] [stdout] test src/piper.rs - piper::Piper::mode (line 835) - compile ... ok
[INFO] [stdout] test src/piper.rs - piper::Piper::hooks (line 770) - compile ... ok
[INFO] [stdout] test src/piper.rs - piper::Piper::query_firmware_version (line 431) - compile ... ok
[INFO] [stdout] test src/metrics.rs - metrics::MetricsSnapshot::overwrite_rate (line 176) ... ok
[INFO] [stdout] test src/piper.rs - piper::Piper::get_fps_counts (line 687) ... ok
[INFO] [stdout] test src/piper.rs - piper::Piper::get_fps (line 662) ... ok
[INFO] [stdout] test src/piper.rs - piper::Piper::set_mode (line 871) - compile ... ok
[INFO] [stdout] test src/recording.rs - recording::AsyncRecordingHook (line 96) ... ok
[INFO] [stdout] test src/recording.rs - recording (line 20) ... ok
[INFO] [stdout] test src/recording.rs - recording::AsyncRecordingHook::frame_counter (line 277) ... ok
[INFO] [stdout] test src/state.rs - state::JointDynamicState::calculate_torque (line 161) ... ok
[INFO] [stdout] test src/recording.rs - recording::AsyncRecordingHook::with_stop_condition (line 189) ... ok
[INFO] [stdout] test src/state.rs - state::JointDynamicState::get_torque (line 187) ... ok
[INFO] [stdout] test src/state.rs - state::JointDynamicState::get_all_torques (line 209) ... ok
[INFO] [stdout] test src/metrics.rs - metrics::PiperMetrics (line 15) ... ok
[INFO] [stdout] test src/state.rs - state::PiperContext::new (line 1017) ... ok
[INFO] [stdout] test src/recording.rs - recording::AsyncRecordingHook::new (line 154) ... ok
[INFO] [stdout] test src/state.rs - state::HookManager (line 890) ... ok
[INFO] [stdout] test src/state.rs - state::PiperContext::capture_motion_snapshot (line 1082) ... ok
[INFO] [stdout] test src/state.rs - state::PiperContext::hooks (line 988) ... ok
[INFO] [stdout] test src/pipeline.rs - pipeline::PipelineConfig (line 54) ... ok
[INFO] [stdout] test src/recording.rs - recording::AsyncRecordingHook::on_frame_received (line 319) ... ok
[INFO] [stdout] test src/recording.rs - recording::AsyncRecordingHook::dropped_frames (line 240) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.32s; merged doctests compilation took 0.95s
[INFO] running `Command { std: "docker" "inspect" "b68d0f0eea09ad0ba290655fef165428648b0cb08b7bf5f35f97afad316195d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b68d0f0eea09ad0ba290655fef165428648b0cb08b7bf5f35f97afad316195d1", kill_on_drop: false }`
[INFO] [stdout] b68d0f0eea09ad0ba290655fef165428648b0cb08b7bf5f35f97afad316195d1
