[INFO] cloning repository https://github.com/jedarden/claude-print
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jedarden/claude-print" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjedarden%2Fclaude-print", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjedarden%2Fclaude-print'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 109b9b2d6d6fcd084e302bbf7bb3d51fc61846bf
[INFO] testing jedarden/claude-print against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjedarden%2Fclaude-print" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jedarden/claude-print
[INFO] finished tweaking git repo https://github.com/jedarden/claude-print
[INFO] tweaked toml for git repo https://github.com/jedarden/claude-print written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jedarden/claude-print on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jedarden/claude-print already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded which v7.0.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90
[INFO] running `Command { std: "docker" "start" "54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling claude-print v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling which v7.0.3
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stdout] warning: unused import: `cwd_to_slug`
[INFO] [stdout]  --> src/session.rs:4:80
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::poller::{open_fifo_nonblock, parse_stop_payload, resolve_stop_info, cwd_to_slug};
[INFO] [stdout]   |                                                                                ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/session.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/session.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]   --> src/session.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fire_timeout` is never used
[INFO] [stdout]    --> src/watchdog.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl WatchdogState {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn fire_timeout(&self, timeout_type: TimeoutType) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.28s
[INFO] running `Command { std: "docker" "inspect" "54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `cwd_to_slug`
[INFO] [stdout]  --> src/session.rs:4:80
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::poller::{open_fifo_nonblock, parse_stop_payload, resolve_stop_info, cwd_to_slug};
[INFO] [stdout]   |                                                                                ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/session.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/session.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling claude-print v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]   --> src/session.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fire_timeout` is never used
[INFO] [stdout]    --> src/watchdog.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl WatchdogState {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn fire_timeout(&self, timeout_type: TimeoutType) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cwd_to_slug`
[INFO] [stdout]  --> src/session.rs:4:80
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::poller::{open_fifo_nonblock, parse_stop_payload, resolve_stop_info, cwd_to_slug};
[INFO] [stdout]   |                                                                                ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/session.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/session.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]   --> src/session.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::sync::Mutex;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `home`
[INFO] [stdout]    --> tests/integration/scenarios.rs:754:9
[INFO] [stdout]     |
[INFO] [stdout] 754 |     let home = std::env::var("HOME").unwrap_or_else(|_| "/root".to_string());
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_home`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `session_id`, `duration_ms`, and `cost_usd` are never read
[INFO] [stdout]    --> tests/integration/scenarios.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 491 |     struct ClaudeMinusPResult {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 497 |         session_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 498 |         num_turns: u64,
[INFO] [stdout] 499 |         duration_ms: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 500 |         cost_usd: u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache_creation_input_tokens` and `cache_read_input_tokens` are never read
[INFO] [stdout]    --> tests/integration/scenarios.rs:507:9
[INFO] [stdout]     |
[INFO] [stdout] 504 |     struct UsageFields {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 507 |         cache_creation_input_tokens: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 508 |         cache_read_input_tokens: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.49s
[INFO] running `Command { std: "docker" "inspect" "54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `cwd_to_slug`
[INFO] [stderr]  --> src/session.rs:4:80
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::poller::{open_fifo_nonblock, parse_stop_payload, resolve_stop_info, cwd_to_slug};
[INFO] [stderr]   |                                                                                ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/session.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]   --> src/session.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use std::sync::Arc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Mutex`
[INFO] [stderr]   --> src/session.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use std::sync::Mutex;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `fire_timeout` is never used
[INFO] [stderr]    --> src/watchdog.rs:187:8
[INFO] [stderr]     |
[INFO] [stderr] 136 | impl WatchdogState {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 187 |     fn fire_timeout(&self, timeout_type: TimeoutType) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `claude-print` (lib) generated 5 warnings (run `cargo fix --lib -p claude-print` to apply 4 suggestions)
[INFO] [stderr] warning: `claude-print` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stdout] 
[INFO] [stderr] warning: unused variable: `home`
[INFO] [stdout] running 90 tests
[INFO] [stderr]    --> tests/integration/scenarios.rs:754:9
[INFO] [stdout] test cli::tests::version_format_matches_expected_pattern ... ok
[INFO] [stderr]     |
[INFO] [stdout] test cli::tests::version_string_with_claude_version ... ok
[INFO] [stderr] 754 |     let home = std::env::var("HOME").unwrap_or_else(|_| "/root".to_string());
[INFO] [stdout] test config::tests::default_model_none_when_no_defaults ... ok
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_home`
[INFO] [stdout] test config::tests::load_fails_on_invalid_toml ... ok
[INFO] [stderr]     |
[INFO] [stdout] test config::tests::load_or_default_returns_defaults_when_file_missing ... ok
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] test config::tests::load_or_default_returns_defaults_on_invalid_toml ... ok
[INFO] [stderr] 
[INFO] [stdout] test config::tests::load_or_default_parses_valid_config ... ok
[INFO] [stderr] warning: fields `session_id`, `duration_ms`, and `cost_usd` are never read
[INFO] [stdout] test config::tests::resolve_model_config_when_no_cli_flag ... ok
[INFO] [stderr]    --> tests/integration/scenarios.rs:497:9
[INFO] [stdout] test config::tests::default_model_returns_value ... ok
[INFO] [stderr]     |
[INFO] [stdout] test config::tests::resolve_model_cli_overrides_no_config ... ok
[INFO] [stderr] 491 |     struct ClaudeMinusPResult {
[INFO] [stdout] test config::tests::resolve_model_defaults_when_no_config_or_cli ... ok
[INFO] [stderr]     |            ------------------ fields in this struct
[INFO] [stdout] test config::tests::resolve_model_cli_flag_overrides_config ... ok
[INFO] [stderr] ...
[INFO] [stdout] test error::tests::claude_print_error_assistant_error ... ok
[INFO] [stderr] 497 |         session_id: Option<String>,
[INFO] [stdout] test error::tests::claude_print_error_interrupted ... ok
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stdout] test error::tests::claude_print_error_setup ... ok
[INFO] [stderr] 498 |         num_turns: u64,
[INFO] [stdout] test error::tests::claude_print_error_timeout ... ok
[INFO] [stderr] 499 |         duration_ms: u64,
[INFO] [stdout] test config::tests::load_fails_on_missing_file ... ok
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stdout] test error::tests::error_to_claude_print_error_interrupted ... ok
[INFO] [stderr] 500 |         cost_usd: u64,
[INFO] [stdout] test error::tests::fork_failed_error_display ... ok
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stdout] test error::tests::parse_error_display ... ok
[INFO] [stderr]     |
[INFO] [stdout] test error::tests::signal_handler_error_display ... ok
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] test error::tests::io_error_converts_to_error ... ok
[INFO] [stderr] 
[INFO] [stdout] test error::tests::error_to_claude_print_error_setup ... ok
[INFO] [stderr] warning: fields `cache_creation_input_tokens` and `cache_read_input_tokens` are never read
[INFO] [stdout] test error::tests::waitpid_failed_error_display ... ok
[INFO] [stderr]    --> tests/integration/scenarios.rs:507:9
[INFO] [stdout] test error::tests::timeout_error_display ... ok
[INFO] [stderr]     |
[INFO] [stdout] test error::tests::hook_setup_error_display ... ok
[INFO] [stderr] 504 |     struct UsageFields {
[INFO] [stdout] test error::tests::internal_error_converts_to_error ... ok
[INFO] [stderr]     |            ----------- fields in this struct
[INFO] [stdout] test error::tests::interrupted_error_display ... ok
[INFO] [stderr] ...
[INFO] [stdout] test error::tests::error_to_claude_print_error_timeout ... ok
[INFO] [stderr] 507 |         cache_creation_input_tokens: u64,
[INFO] [stdout] test error::tests::error_display_formats_correctly ... ok
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] test hook::tests::cleanup_can_be_called_multiple_times ... ok
[INFO] [stderr] 508 |         cache_read_input_tokens: u64,
[INFO] [stdout] test hook::tests::cleanup_explicitly_removes_fifo ... ok
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] test poller::tests::cwd_to_slug_no_leading_slash ... ok
[INFO] [stderr] 
[INFO] [stdout] test poller::tests::cwd_to_slug_home_coding_myproject ... ok
[INFO] [stderr] warning: `claude-print` (test "integration") generated 3 warnings (run `cargo fix --test "integration" -p claude-print` to apply 1 suggestion)
[INFO] [stdout] test event_loop::tests::test_event_loop_detects_child_exit ... ok
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stdout] test hook::tests::cleanup_orphans_does_not_panic ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/claude_print-8eae0aeddf790be5)
[INFO] [stdout] test poller::tests::parse_payload_malformed_json_returns_err ... ok
[INFO] [stdout] test poller::tests::parse_payload_missing_transcript_path ... ok
[INFO] [stdout] test poller::tests::parse_payload_trailing_newline ... ok
[INFO] [stdout] test hook::tests::fifo_is_named_pipe ... ok
[INFO] [stdout] test poller::tests::parse_full_payload ... ok
[INFO] [stdout] test poller::tests::parse_payload_empty_bytes_returns_default ... ok
[INFO] [stdout] test poller::tests::open_fifo_nonblock_succeeds_without_separate_writer ... ok
[INFO] [stdout] test poller::tests::parse_payload_unknown_fields_ignored ... ok
[INFO] [stdout] test hook::tests::creates_temp_dir_with_artifacts ... ok
[INFO] [stdout] test hook::tests::temp_dir_cleaned_up_on_drop ... ok
[INFO] [stdout] test poller::tests::open_fifo_nonblock_read_end_is_ready_for_poll ... ok
[INFO] [stdout] test hook::tests::settings_json_has_stop_hook ... ok
[INFO] [stdout] test hook::tests::hook_sh_references_fifo ... okrelay-test
[INFO] [stdout] 
[INFO] [stdout] test poller::tests::cwd_to_slug_tmp_x ... ok
[INFO] [stdout] test poller::tests::resolve_uses_explicit_transcript_path ... ok
[INFO] [stdout] test poller::tests::resolve_derives_path_when_transcript_path_absent ... ok
[INFO] [stdout] test event_loop::tests::test_event_loop_reads_pty_output ... ok
[INFO] [stdout] test poller::tests::resolve_returns_none_when_no_derivation_possible ... ok
[INFO] [stdout] test poller::tests::cwd_to_slug_tmp ... ok
[INFO] [stdout] test poller::tests::cwd_to_slug_root_foo_bar ... ok
[INFO] [stdout] test session::tests::test_session_result_struct_has_required_fields ... ok
[INFO] [stdout] test pty::tests::relay_echo_exits_zero_and_produces_output ... ok
[INFO] [stdout] test session::tests::test_resolve_claude_version_with_nonexistent_binary ... ok
[INFO] [stdout] test startup::tests::feed_single_keyword_no_trigger ... ok
[INFO] [stdout] test startup::tests::feed_keywords_split_across_chunks_trigger_on_newline ... ok
[INFO] [stdout] test startup::tests::feed_no_keywords_returns_none ... ok
[INFO] [stdout] test startup::tests::feed_trust_line_returns_cr_byte ... ok
[INFO] [stdout] test pty::tests::relay_surfaces_nonzero_exit_code ... ok
[INFO] [stdout] test startup::tests::file_relay_used_above_threshold ... ok
[INFO] [stdout] test pty::tests::master_fd_carries_child_stdout ... ok
[INFO] [stdout] test session::tests::test_resolve_claude_version_with_echo ... ok
[INFO] [stdout] test pty::tests::spawn_bin_true_exits_zero ... ok
[INFO] [stdout] test startup::tests::feed_trust_dismissed_phase_ignored ... ok
[INFO] [stdout] test startup::tests::inline_path_used_at_threshold ... ok
[INFO] [stdout] test startup::tests::file_relay_temp_file_contains_prompt ... ok
[INFO] [stdout] test startup::tests::make_prompt_payload_wraps_in_bracketed_paste ... ok
[INFO] [stdout] test cli::tests::version_string_without_claude ... ok
[INFO] [stdout] test startup::tests::scan_line_all_keywords_returns_true ... ok
[INFO] [stdout] test startup::tests::scan_line_case_sensitive_allow_lowercase_not_matched ... ok
[INFO] [stdout] test startup::tests::scan_line_two_keywords_returns_true ... ok
[INFO] [stdout] test watchdog::tests::test_timeout_type_descriptions ... ok
[INFO] [stdout] test watchdog::tests::test_watchdog_config_custom ... ok
[INFO] [stdout] test watchdog::tests::test_timeout_type_subtypes ... ok
[INFO] [stdout] test watchdog::tests::test_watchdog_state ... ok
[INFO] [stdout] test startup::tests::scan_line_empty_returns_false ... ok
[INFO] [stdout] test startup::tests::scan_line_single_keyword_returns_false ... ok
[INFO] [stdout] test watchdog::tests::test_watchdog_state_fire_timeout ... ok
[INFO] [stdout] test error::tests::binary_resolution_error_display ... ok
[INFO] [stdout] test watchdog::tests::test_watchdog_config_default ... ok
[INFO] [stdout] test startup::tests::file_relay_end_to_end_state_machine ... ok
[INFO] [stdout] test session::tests::test_version_resolution_with_mock_binary ... ok
[INFO] [stdout] test startup::tests::idle_gap_does_not_fire_after_prompt_injected ... ok
[INFO] [stdout] test startup::tests::idle_gap_fires_after_silence ... ok
[INFO] [stdout] test startup::tests::idle_gap_resets_on_new_output ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/claude_print-32a559e128f2273d)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-2bf1525bb53a859f)
[INFO] [stdout] test result: ok. 90 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test cli_claude_binary_flag ... ok
[INFO] [stdout] test cli_input_file_flag ... ok
[INFO] [stdout] test cli_dangerously_skip_permissions_flag ... ok
[INFO] [stdout] test cli_max_turns_default_is_30 ... ok
[INFO] [stdout] test cli_max_turns_custom ... ok
[INFO] [stdout] test cli_no_inherit_hooks_flag ... ok
[INFO] [stdout] test cli_model_flag ... ok
[INFO] [stdout] test cli_no_prompt_gives_none ... ok
[INFO] [stdout] test cli_output_format_default_is_text ... ok
[INFO] [stdout] test version_string_contains_claude_print_prefix ... ok
[INFO] [stdout] test output_format_display_text ... ok
[INFO] [stdout] test version_string_contains_wrapping_claude ... ok
[INFO] [stdout] test version_string_not_found ... ok
[INFO] [stdout] test cli_verbose_flag ... ok
[INFO] [stdout] test cli_positional_prompt_parsed ... ok
[INFO] [stdout] test cli_output_format_invalid_returns_error ... ok
[INFO] [stdout] test cli_output_format_stream_json ... ok
[INFO] [stdout] test cli_timeout_default_is_3600 ... ok
[INFO] [stdout] test output_format_display_json ... ok
[INFO] [stdout] test output_format_display_stream_json ... ok
[INFO] [stdout] test version_string_format_is_parseable ... ok
[INFO] [stdout] test cli_output_format_json ... ok
[INFO] [stdout] test cli_no_inherit_hooks_defaults_false ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/emitter.rs (/opt/rustwide/target/debug/deps/emitter-a9d760c66dabfe13)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test test_error_exit_codes ... ok
[INFO] [stdout] test test_error_result_is_error_true_and_subtype ... ok
[INFO] [stdout] test test_json_claude_version_included ... ok
[INFO] [stdout] test test_error_subtypes ... ok
[INFO] [stdout] test test_error_exit_code_nonzero ... ok
[INFO] [stdout] test test_json_usage_fields_are_integers ... ok
[INFO] [stdout] test test_text_correct_string_trailing_newline ... ok
[INFO] [stdout] test test_stream_json_each_line_parses_as_json ... ok
[INFO] [stdout] test test_stream_json_disconnect_exits_immediately ... ok
[INFO] [stdout] test test_text_error_goes_to_stderr_not_stdout ... ok
[INFO] [stdout] test test_json_valid_with_required_fields ... ok
[INFO] [stdout] test test_text_no_extra_whitespace ... ok
[INFO] [stdout] test test_zero_token_counts_when_fallback ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/hooks.rs (/opt/rustwide/target/debug/deps/hooks-58a7560c42db2449)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test hook_sh_and_fifo_paths_are_within_temp_dir ... ok
[INFO] [stdout] test hook_sh_fifo_path_is_single_quoted ... ok
[INFO] [stdout] test hook_sh_shebang_is_sh ... ok
[INFO] [stdout] test hook_installer_temp_dir_is_independent_of_home ... ok
[INFO] [stdout] test settings_json_double_nested_hooks_structure ... ok
[INFO] [stdout] test settings_json_command_references_hook_sh ... ok
[INFO] [stdout] test hook_sh_has_fire_and_forget_pattern ... ok
[INFO] [stdout] test hook_sh_uses_cat_to_write_stdin_to_fifo ... ok
[INFO] [stdout] test settings_json_is_valid_json ... ok
[INFO] [stdout] test temp_dir_prefix_contains_claude_print ... ok
[INFO] [stdout] test settings_json_stop_hook_timeout_is_10 ... ok
[INFO] [stdout] test settings_json_hook_type_is_command ... ok
[INFO] [stdout] test hook_sh_is_executable ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-67c0993a1248db91)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test scenarios::conformance_error_result_wire_format ... ok
[INFO] [stdout] test scenarios::conformance_all_usage_fields_are_unsigned_integers ... ok
[INFO] [stdout] test scenarios::conformance_subtype_is_success_for_success_result ... ok
[INFO] [stdout] test scenarios::cost_usd_always_zero_in_json_output ... ok
[INFO] [stdout] test scenarios::conformance_claude_version_extra_field_doesnt_break_strict_parse ... ok
[INFO] [stdout] test scenarios::cwd_slug_algorithm_representative_cases ... ok
[INFO] [stdout] test scenarios::duration_ms_reflects_passed_value ... ok
[INFO] [stdout] test scenarios::conformance_error_subtype_strings_match_spec ... ok
[INFO] [stdout] test scenarios::conformance_json_output_has_all_claude_minus_p_wire_fields ... ok
[INFO] [stdout] test scenarios::invariant_hook_artifacts_not_in_home_claude_dir ... ok
[INFO] [stdout] test scenarios::is_error_transcript_text_mode_stderr_only ... ok
[INFO] [stdout] test scenarios::stop_payload_minimal_fields_derives_path ... ok
[INFO] [stdout] test scenarios::stream_json_error_before_inject_no_stdout ... ok
[INFO] [stdout] test scenarios::invariant_temp_dir_drop_removes_all_artifacts ... ok
[INFO] [stdout] test scenarios::stream_json_error_after_inject_writes_json_to_stdout ... ok
[INFO] [stdout] test scenarios::is_error_transcript_maps_to_assistant_error_json ... ok
[INFO] [stdout] test scenarios::stop_payload_explicit_path_used_directly ... ok
[INFO] [stdout] test scenarios::multi_turn_pipeline_num_turns_and_usage_correct ... ok
[INFO] [stdout] test scenarios::stream_json_pipeline_all_lines_valid_json ... ok
[INFO] [stdout] test scenarios::version_resilience_extra_fields_in_stop_payload_through_pipeline ... ok
[INFO] [stdout] test scenarios::session_id_flows_from_transcript_to_json_output ... ok
[INFO] [stdout] test scenarios::version_resilience_unknown_events_in_pipeline_no_panic ... ok
[INFO] [stdout] test scenarios::transcript_to_text_pipeline_correct_output ... ok
[INFO] [stdout] test scenarios::stop_payload_path_derivation_and_transcript_emit ... ok
[INFO] [stdout] test scenarios::stream_json_start_offset_skips_pre_injection_lines ... ok
[INFO] [stdout] test scenarios::transcript_to_json_pipeline_all_fields_present ... ok
[INFO] [stdout] test scenarios::both_empty_returns_setup_error ... ok
[INFO] [stdout] test scenarios::fallback_to_last_message_used_when_transcript_empty ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pty_integration.rs (/opt/rustwide/target/debug/deps/pty_integration-9165646cb8a886f7)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_pty_spawns_tty has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90", kill_on_drop: false }`
[INFO] [stdout] 54660ad3ec3f91efa3a1b988763dd3522bd18894ce3efdf06e3d4b9ecaddfe90
