[INFO] fetching crate harnesscli 0.1.6... [INFO] testing harnesscli-0.1.6 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate harnesscli 0.1.6 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate harnesscli 0.1.6 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate harnesscli 0.1.6 [INFO] tweaked toml for crates.io crate harnesscli 0.1.6 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate harnesscli 0.1.6 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate harnesscli 0.1.6 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tokio-test v0.4.5 [INFO] [stderr] Downloaded libredox v0.1.12 [INFO] [stderr] Downloaded toml v0.8.23 [INFO] [stderr] Downloaded toml_write v0.1.2 [INFO] [stderr] Downloaded unicode-ident v1.0.23 [INFO] [stderr] Downloaded zmij v1.0.20 [INFO] [stderr] Downloaded anyhow v1.0.101 [INFO] [stderr] Downloaded libc v0.2.181 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 898d5a185994b7d1113bebd4b0588c91c0061be40c295e1aaaaa236546e208de [INFO] running `Command { std: "docker" "start" "-a" "898d5a185994b7d1113bebd4b0588c91c0061be40c295e1aaaaa236546e208de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "898d5a185994b7d1113bebd4b0588c91c0061be40c295e1aaaaa236546e208de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "898d5a185994b7d1113bebd4b0588c91c0061be40c295e1aaaaa236546e208de", kill_on_drop: false }` [INFO] [stdout] 898d5a185994b7d1113bebd4b0588c91c0061be40c295e1aaaaa236546e208de [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 30a1de93e878b52901aff6d3bdc3bf8eb489097294fd59d88eac0c8fd015ee0d [INFO] running `Command { std: "docker" "start" "-a" "30a1de93e878b52901aff6d3bdc3bf8eb489097294fd59d88eac0c8fd015ee0d", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.23 [INFO] [stderr] Compiling libc v0.2.181 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling cc v1.2.55 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling zmij v1.0.20 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling nix v0.29.0 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling clap_lex v0.7.7 [INFO] [stderr] Compiling env_home v0.1.0 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling clap_builder v4.5.57 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling ureq-proto v0.5.3 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling which v7.0.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling clap v4.5.57 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling ureq v3.2.0 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling harnesscli v0.1.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 55.34s [INFO] running `Command { std: "docker" "inspect" "30a1de93e878b52901aff6d3bdc3bf8eb489097294fd59d88eac0c8fd015ee0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "30a1de93e878b52901aff6d3bdc3bf8eb489097294fd59d88eac0c8fd015ee0d", kill_on_drop: false }` [INFO] [stdout] 30a1de93e878b52901aff6d3bdc3bf8eb489097294fd59d88eac0c8fd015ee0d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 20450c7c2278e4b42edde61eb1bd29ff60c711e6c3968775a60e059c67356cf3 [INFO] running `Command { std: "docker" "start" "-a" "20450c7c2278e4b42edde61eb1bd29ff60c711e6c3968775a60e059c67356cf3", kill_on_drop: false }` [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling assert_cmd v2.1.2 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling predicates-tree v1.0.12 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling which v7.0.3 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling predicates v3.1.3 [INFO] [stderr] Compiling harnesscli v0.1.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated associated function `assert_cmd::Command::cargo_bin`: incompatible with a custom cargo build-dir, see instead `cargo::cargo_bin_cmd!` [INFO] [stdout] --> tests/cli.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | Command::cargo_bin("harness").unwrap() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `assert_cmd::Command::cargo_bin`: incompatible with a custom cargo build-dir, see instead `cargo::cargo_bin_cmd!` [INFO] [stdout] --> tests/models.rs:269:14 [INFO] [stdout] | [INFO] [stdout] 269 | Command::cargo_bin("harness").unwrap() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 19.59s [INFO] running `Command { std: "docker" "inspect" "20450c7c2278e4b42edde61eb1bd29ff60c711e6c3968775a60e059c67356cf3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "20450c7c2278e4b42edde61eb1bd29ff60c711e6c3968775a60e059c67356cf3", kill_on_drop: false }` [INFO] [stdout] 20450c7c2278e4b42edde61eb1bd29ff60c711e6c3968775a60e059c67356cf3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5d599c85ecec06f71ed27224b3a8fa8ffd1763fc54e41472dbeef2f851c89414 [INFO] running `Command { std: "docker" "start" "-a" "5d599c85ecec06f71ed27224b3a8fa8ffd1763fc54e41472dbeef2f851c89414", kill_on_drop: false }` [INFO] [stderr] warning: use of deprecated associated function `assert_cmd::Command::cargo_bin`: incompatible with a custom cargo build-dir, see instead `cargo::cargo_bin_cmd!` [INFO] [stderr] --> tests/cli.rs:5:14 [INFO] [stderr] | [INFO] [stderr] 5 | Command::cargo_bin("harness").unwrap() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `assert_cmd::Command::cargo_bin`: incompatible with a custom cargo build-dir, see instead `cargo::cargo_bin_cmd!` [INFO] [stderr] --> tests/models.rs:269:14 [INFO] [stderr] | [INFO] [stderr] 269 | Command::cargo_bin("harness").unwrap() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `harnesscli` (test "cli") generated 1 warning [INFO] [stderr] warning: `harnesscli` (test "models") generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/harness-04b81388f6295bdb) [INFO] [stdout] [INFO] [stdout] running 99 tests [INFO] [stdout] test agents::claude::tests::build_args_with_model_and_full_access ... ok [INFO] [stdout] test agents::claude::tests::build_args_defaults ... ok [INFO] [stdout] test agents::claude::tests::parse_assistant_message ... ok [INFO] [stdout] test agents::claude::tests::parse_result_error ... ok [INFO] [stdout] test agents::claude::tests::parse_assistant_with_tool_use ... ok [INFO] [stdout] test agents::claude::tests::parse_init_event ... ok [INFO] [stdout] test agents::claude::tests::parse_result_success ... ok [INFO] [stdout] test agents::claude::tests::parse_stream_delta ... ok [INFO] [stdout] test agents::claude::tests::parse_user_tool_result ... ok [INFO] [stdout] test agents::codex::tests::build_args_full_access ... ok [INFO] [stdout] test agents::codex::tests::build_args_with_model ... ok [INFO] [stdout] test agents::codex::tests::build_args_read_only ... ok [INFO] [stdout] test agents::codex::tests::parse_agent_message ... ok [INFO] [stdout] test agents::codex::tests::parse_command_failed ... ok [INFO] [stdout] test agents::codex::tests::parse_command_completed ... ok [INFO] [stdout] test agents::codex::tests::parse_error_event ... ok [INFO] [stdout] test agents::codex::tests::parse_reasoning_item_skipped ... ok [INFO] [stdout] test agents::codex::tests::parse_thread_started ... ok [INFO] [stdout] test agents::codex::tests::parse_turn_failed ... ok [INFO] [stdout] test agents::cursor::tests::build_args_full_access_uses_force ... ok [INFO] [stdout] test agents::cursor::tests::parse_assistant_message ... ok [INFO] [stdout] test agents::codex::tests::parse_legacy_item_created_message ... ok [INFO] [stdout] test agents::opencode::tests::build_args_full_access_no_agent_flag ... ok [INFO] [stdout] test agents::opencode::tests::parse_error ... ok [INFO] [stdout] test agents::cursor::tests::parse_tool_call_started ... ok [INFO] [stdout] test agents::opencode::tests::parse_legacy_message ... ok [INFO] [stdout] test agents::claude::tests::parse_user_tool_result_error ... ok [INFO] [stdout] test agents::cursor::tests::parse_tool_call_completed ... ok [INFO] [stdout] test agents::codex::tests::parse_turn_completed ... ok [INFO] [stdout] test agents::codex::tests::parse_command_started ... ok [INFO] [stdout] test agents::codex::tests::parse_legacy_thread_completed ... ok [INFO] [stdout] test agents::codex::tests::parse_file_change ... ok [INFO] [stdout] test agents::opencode::tests::parse_step_finish_stop ... ok [INFO] [stdout] test agents::opencode::tests::parse_step_finish_tool_calls ... ok [INFO] [stdout] test agents::opencode::tests::parse_legacy_session_init ... ok [INFO] [stdout] test agents::opencode::tests::build_args_read_only ... ok [INFO] [stdout] test agents::opencode::tests::build_args_default ... ok [INFO] [stdout] test agents::opencode::tests::parse_step_start ... ok [INFO] [stdout] test agents::opencode::tests::parse_text_event ... ok [INFO] [stdout] test agents::opencode::tests::parse_non_json_as_text_delta ... ok [INFO] [stdout] test agents::cursor::tests::parse_init_event ... ok [INFO] [stdout] test agents::opencode::tests::parse_tool_use_event ... ok [INFO] [stdout] test models::tests::builtin_opus_has_claude_mapping ... ok [INFO] [stdout] test agents::cursor::tests::parse_result_success ... ok [INFO] [stdout] test logger::tests::session_meta_round_trip ... ok [INFO] [stdout] test models::tests::builtin_opus_has_multi_agent_mapping ... ok [INFO] [stdout] test logger::tests::session_meta_backward_compat ... ok [INFO] [stdout] test models::tests::model_entry_default ... ok [INFO] [stdout] test models::tests::builtin_registry_parses ... ok [INFO] [stdout] test models::tests::merge_disjoint ... ok [INFO] [stdout] test models::tests::models_for_agent_filters ... ok [INFO] [stdout] test models::tests::names_sorted ... ok [INFO] [stdout] test models::tests::resolve_known_model_no_agent_mapping ... ok [INFO] [stdout] test normalize::tests::no_synthetic_usage_delta_when_already_present ... ok [INFO] [stdout] test normalize::tests::result_duration_computed_from_timestamps ... ok [INFO] [stdout] test models::tests::from_toml_invalid ... ok [INFO] [stdout] test models::tests::from_toml_valid ... ok [INFO] [stdout] test models::tests::resolve_known_model_with_agent ... ok [INFO] [stdout] test models::tests::supported_agents ... ok [INFO] [stdout] test models::tests::resolve_unknown_model_passthrough ... ok [INFO] [stdout] test normalize::tests::errors_pass_through_stream ... ok [INFO] [stdout] test models::tests::from_toml_empty ... ok [INFO] [stdout] test models::tests::merge_override ... ok [INFO] [stdout] test normalize::tests::passthrough_events_unchanged ... ok [INFO] [stdout] test logger::tests::logger_creates_files ... ok [INFO] [stdout] test normalize::tests::session_start_preserves_existing_model_and_cwd ... ok [INFO] [stdout] test normalize::tests::user_message_not_duplicated_when_adapter_sends_one ... ok [INFO] [stdout] test normalize::tests::total_cost_filled_from_accumulated_usage ... ok [INFO] [stdout] test normalize::tests::session_start_fills_missing_model_and_cwd ... ok [INFO] [stdout] test normalize::tests::result_preserves_existing_usage ... ok [INFO] [stdout] test registry::tests::canonical_path_is_under_home ... ok [INFO] [stdout] test normalize::tests::user_message_not_injected_without_prompt ... ok [INFO] [stdout] test normalize::tests::usage_delta_synthesized_before_result ... ok [INFO] [stdout] test normalize::tests::user_message_synthesized_after_session_start ... ok [INFO] [stdout] test normalize::tests::result_text_filled_from_last_assistant_message ... ok [INFO] [stdout] test normalize::tests::result_usage_filled_from_accumulated_deltas ... ok [INFO] [stdout] test registry::tests::is_stale_missing_file ... ok [INFO] [stdout] test settings::tests::agent_extra_args_from_settings ... ok [INFO] [stdout] test normalize::tests::result_preserves_existing_duration ... ok [INFO] [stdout] test settings::tests::load_nonexistent_returns_default ... ok [INFO] [stdout] test settings::tests::merge_agent_extra_args_concatenate ... ok [INFO] [stdout] test settings::tests::merge_project_overrides ... ok [INFO] [stdout] test settings::tests::parse_empty_config ... ok [INFO] [stdout] test settings::tests::project_config_load_from_dir ... ok [INFO] [stdout] test settings::tests::parse_expanded_config ... ok [INFO] [stdout] test settings::tests::agent_model_prefers_specific ... ok [INFO] [stdout] test registry::tests::load_from_disk_invalid_returns_none ... ok [INFO] [stdout] test registry::tests::load_canonical_returns_something ... ok [INFO] [stdout] test settings::tests::project_config_parse_empty ... ok [INFO] [stdout] test settings::tests::parse_full_config ... ok [INFO] [stdout] test settings::tests::project_config_model_registry ... ok [INFO] [stdout] test settings::tests::resolve_default_agent ... ok [INFO] [stdout] test settings::tests::project_config_template_parses ... ok [INFO] [stdout] test registry::tests::load_from_disk_valid ... ok [INFO] [stdout] test settings::tests::project_config_load_walks_up ... ok [INFO] [stdout] test settings::tests::template_parses_as_valid_toml ... ok [INFO] [stdout] test settings::tests::project_config_load_missing_returns_none ... ok [INFO] [stdout] test settings::tests::project_config_parse_with_models ... ok [INFO] [stdout] test settings::tests::load_project_walks_up ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 99 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/harness-4745ad6d7cf3ad47) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test tests::format_token_count_millions ... ok [INFO] [stdout] test tests::format_token_count_thousands ... ok [INFO] [stdout] test tests::format_token_count_small ... ok [INFO] [stdout] test tests::shell_quote_empty ... ok [INFO] [stdout] test tests::shell_quote_with_spaces ... ok [INFO] [stdout] test tests::shell_quote_with_special_chars ... ok [INFO] [stdout] test tests::shell_quote_with_single_quotes ... ok [INFO] [stdout] test tests::shell_quote_safe_string ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-f54f1cf268af8e9f) [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test help_flag_shows_usage ... ok [INFO] [stdout] test models_path_runs ... ok [INFO] [stdout] test check_diagnose_shows_info ... ok [INFO] [stdout] test no_subcommand_shows_help ... ok [INFO] [stdout] test run_invalid_cwd_fails ... ok [INFO] [stdout] test models_list_runs ... ok [INFO] [stdout] test check_diagnose_json ... ok [INFO] [stdout] test run_accepts_verbose_flag ... ok [INFO] [stdout] test check_unknown_agent_fails ... ok [INFO] [stdout] test list_command_json ... ok [INFO] [stdout] test run_accepts_output_file_flag ... ok [INFO] [stdout] test models_subcommand_help ... ok [INFO] [stdout] test run_rejects_unknown_agent ... ok [INFO] [stdout] test list_command_runs ... ok [INFO] [stdout] test version_flag ... ok [INFO] [stdout] test run_rejects_unknown_permission_mode ... ok [INFO] [stdout] test dry_run_prints_command_info ... ok [INFO] [stdout] test run_rejects_unknown_output_format ... ok [INFO] [stdout] test check_accepts_all_agent_names ... ok [INFO] [stdout] test run_accepts_all_output_formats ... ok [INFO] [stderr] Running tests/config.rs (/opt/rustwide/target/debug/deps/config-77167cc389de6d85) [INFO] [stdout] test run_accepts_all_permission_modes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test agent_kind_default_binary ... ok [INFO] [stdout] test agent_kind_display_name ... ok [INFO] [stdout] test agent_kind_display_trait ... ok [INFO] [stdout] test builder_chaining_order_independent ... ok [INFO] [stdout] test builder_env_overwrites_same_key ... ok [INFO] [stdout] test builder_env_adds ... ok [INFO] [stdout] test builder_accepts_string_types ... ok [INFO] [stdout] test builder_extra_args ... ok [INFO] [stdout] test builder_full ... ok [INFO] [stdout] test builder_minimal ... ok [INFO] [stdout] test builder_read_only_shorthand ... ok [INFO] [stdout] test output_format_default_is_stream_json ... ok [INFO] [stdout] test output_format_json_round_trip ... ok [INFO] [stdout] test parse_agent_kind_all_variants ... ok [INFO] [stdout] test permission_mode_default_is_full_access ... ok [INFO] [stdout] test permission_mode_json_round_trip ... ok [INFO] [stdout] test task_config_json_round_trip ... ok [INFO] [stdout] test task_config_new_defaults ... ok [INFO] [stdout] test parse_agent_kind_invalid ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/event_serde.rs (/opt/rustwide/target/debug/deps/event_serde-c64ce78a5dacd12f) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test deserialize_without_timestamp_ms ... ok [INFO] [stdout] test event_display_trait ... ok [INFO] [stdout] test error_event_round_trip ... ok [INFO] [stdout] test message_round_trip ... ok [INFO] [stdout] test json_type_tag_is_snake_case ... ok [INFO] [stdout] test optional_fields_omitted_in_json ... ok [INFO] [stdout] test result_error_round_trip ... ok [INFO] [stdout] test result_success_round_trip ... ok [INFO] [stdout] test session_start_round_trip ... ok [INFO] [stdout] test text_delta_round_trip ... ok [INFO] [stdout] test timestamp_ms_round_trip ... ok [INFO] [stdout] test tool_end_round_trip ... ok [INFO] [stdout] test tool_start_round_trip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/models.rs (/opt/rustwide/target/debug/deps/models-450a15e1d3d5af83) [INFO] [stdout] [INFO] [stdout] running 37 tests [INFO] [stdout] test builtin_registry_has_expected_models ... ok [INFO] [stdout] test builtin_registry_model_metadata ... ok [INFO] [stdout] test model_entry_agent_model ... ok [INFO] [stdout] test merge_preserves_base_when_override_empty ... ok [INFO] [stdout] test model_entry_supported_agents ... ok [INFO] [stdout] test models_for_agent_claude ... ok [INFO] [stdout] test merge_disjoint_registries ... ok [INFO] [stdout] test merge_project_overrides_canonical ... ok [INFO] [stdout] test models_for_agent_codex ... ok [INFO] [stdout] test names_returns_sorted ... ok [INFO] [stdout] test parse_empty_toml ... ok [INFO] [stdout] test parse_malformed_toml ... ok [INFO] [stdout] test parse_toml_with_missing_fields ... ok [INFO] [stdout] test dry_run_resolves_model ... ok [INFO] [stdout] test parse_valid_toml ... ok [INFO] [stdout] test config_init_rejects_existing ... ok [INFO] [stdout] test models_list_json ... ok [INFO] [stdout] test resolve_known_model_known_agent ... ok [INFO] [stdout] test resolve_known_model_no_mapping ... ok [INFO] [stdout] test project_config_walkup_integration ... ok [INFO] [stdout] test models_help ... ok [INFO] [stdout] test resolve_opus_for_cursor ... ok [INFO] [stdout] test resolve_opus_for_opencode ... ok [INFO] [stdout] test resolve_raw_model_id_passthrough ... ok [INFO] [stdout] test resolve_unknown_model ... ok [INFO] [stdout] test config_init_creates_harness_toml ... ok [INFO] [stdout] test dry_run_passthrough_raw_model ... ok [INFO] [stdout] test models_list_filter_agent ... ok [INFO] [stdout] test resolve_with_project_override ... ok [INFO] [stdout] test models_resolve_unknown ... ok [INFO] [stdout] test models_path_succeeds ... ok [INFO] [stdout] test models_resolve_invalid_agent ... ok [INFO] [stdout] test models_list_succeeds ... ok [INFO] [stdout] test models_list_invalid_agent ... ok [INFO] [stdout] test models_list_filter_agent_json ... ok [INFO] [stdout] test models_resolve_known ... ok [INFO] [stdout] test models_resolve_no_mapping ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/parser_edge_cases.rs (/opt/rustwide/target/debug/deps/parser_edge_cases-6bca5fb03311d6e1) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test claude::build_args_full_access_mode ... ok [INFO] [stdout] test claude::build_args_read_only_mode ... ok [INFO] [stdout] test claude::build_args_with_append_system_prompt ... ok [INFO] [stdout] test claude::build_args_with_budget ... ok [INFO] [stdout] test claude::build_args_with_system_prompt ... ok [INFO] [stdout] test codex::build_args_full_access_mode ... ok [INFO] [stdout] test codex::build_args_read_only_mode ... ok [INFO] [stdout] test codex::prompt_is_always_last_arg ... ok [INFO] [stdout] test cursor::build_args_full_access_uses_force ... ok [INFO] [stdout] test cursor::build_args_read_only_uses_plan_mode ... ok [INFO] [stdout] test cursor::prompt_is_always_last ... ok [INFO] [stdout] test opencode::build_args_default ... ok [INFO] [stdout] test opencode::build_args_full_access_no_special_flags ... ok [INFO] [stdout] test opencode::build_args_with_model ... ok [INFO] [stdout] test opencode::prompt_is_last ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/robustness.rs (/opt/rustwide/target/debug/deps/robustness-287af52ef3e0f87e) [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test error_codes_all_unique ... ok [INFO] [stdout] test error_codes_stable ... ok [INFO] [stdout] test extract_tool_calls_pairs ... ok [INFO] [stdout] test sum_costs_empty ... ok [INFO] [stdout] test sum_costs_usage_deltas ... ok [INFO] [stdout] test total_tokens_counts ... ok [INFO] [stdout] test validate_config_claude_all_supported ... ok [INFO] [stdout] test validate_config_codex_no_budget ... ok [INFO] [stdout] test validate_config_cursor_no_system_prompt ... ok [INFO] [stdout] test validate_config_opencode_no_append_system_prompt ... ok [INFO] [stdout] test validate_config_opencode_no_system_prompt ... ok [INFO] [stdout] test cancel_stops_stream ... ok [INFO] [stdout] test malformed_cursor_no_type ... ok [INFO] [stdout] test malformed_null_bytes_codex ... ok [INFO] [stdout] test codex_empty_message_text ... ok [INFO] [stdout] test claude_unknown_block_type ... ok [INFO] [stdout] test malformed_empty_json_object ... ok [INFO] [stdout] test claude_empty_content_array ... ok [INFO] [stdout] test opencode_empty_text_event ... ok [INFO] [stdout] test codex_missing_thread_id ... ok [INFO] [stdout] test malformed_truncated_json ... ok [INFO] [stdout] test cursor_tool_call_no_subtype ... ok [INFO] [stdout] test timeout_via_cancel ... ok [INFO] [stdout] test malformed_very_long_line ... ok [INFO] [stdout] test malformed_binary_garbage_claude ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/stream_integration.rs (/opt/rustwide/target/debug/deps/stream_integration-c85e02e23e2701ff) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test missing_binary_returns_error ... ok [INFO] [stdout] test claude_mock_stream ... ok [INFO] [stdout] test cursor_mock_stream ... ok [INFO] [stdout] test codex_mock_stream ... ok [INFO] [stdout] test extra_args_passed_through ... ok [INFO] [stdout] test failing_process_returns_error ... ok [INFO] [stdout] test opencode_mock_stream ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Doc-tests harness [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/config.rs - config::TaskConfigBuilder (line 190) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 6) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5d599c85ecec06f71ed27224b3a8fa8ffd1763fc54e41472dbeef2f851c89414", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5d599c85ecec06f71ed27224b3a8fa8ffd1763fc54e41472dbeef2f851c89414", kill_on_drop: false }` [INFO] [stdout] 5d599c85ecec06f71ed27224b3a8fa8ffd1763fc54e41472dbeef2f851c89414