[INFO] fetching crate agent-code-lib 0.17.0...
[INFO] testing agent-code-lib-0.17.0 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] extracting crate agent-code-lib 0.17.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate agent-code-lib 0.17.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate agent-code-lib 0.17.0
[INFO] tweaked toml for crates.io crate agent-code-lib 0.17.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate agent-code-lib 0.17.0 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate agent-code-lib 0.17.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5454928469ed63da4c5be9c987e6c8319d97ed9dc342a105ada7f04c88dd6e84
[INFO] running `Command { std: "docker" "start" "-a" "5454928469ed63da4c5be9c987e6c8319d97ed9dc342a105ada7f04c88dd6e84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5454928469ed63da4c5be9c987e6c8319d97ed9dc342a105ada7f04c88dd6e84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5454928469ed63da4c5be9c987e6c8319d97ed9dc342a105ada7f04c88dd6e84", kill_on_drop: false }`
[INFO] [stdout] 5454928469ed63da4c5be9c987e6c8319d97ed9dc342a105ada7f04c88dd6e84
[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=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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dd1b3d18bbc9d335b9697927a094e0f5e1bcd263ceac4f1d64710e9d39c87648
[INFO] running `Command { std: "docker" "start" "-a" "dd1b3d18bbc9d335b9697927a094e0f5e1bcd263ceac4f1d64710e9d39c87648", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling hybrid-array v0.4.10
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling tree-sitter v0.26.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling tree-sitter-bash v0.25.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling pulldown-cmark v0.13.3
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling digest v0.11.2
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling eventsource-stream v0.2.3
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling pulldown-cmark-escape v0.11.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling reqwest-eventsource v0.6.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling similar v3.1.0
[INFO] [stderr]    Compiling agent-code-lib v0.17.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 20s
[INFO] running `Command { std: "docker" "inspect" "dd1b3d18bbc9d335b9697927a094e0f5e1bcd263ceac4f1d64710e9d39c87648", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd1b3d18bbc9d335b9697927a094e0f5e1bcd263ceac4f1d64710e9d39c87648", kill_on_drop: false }`
[INFO] [stdout] dd1b3d18bbc9d335b9697927a094e0f5e1bcd263ceac4f1d64710e9d39c87648
[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=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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f0d7a637bf5e4920b4d129cbdde8626ea38526d535355726519b06e33a963361
[INFO] running `Command { std: "docker" "start" "-a" "f0d7a637bf5e4920b4d129cbdde8626ea38526d535355726519b06e33a963361", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling reqwest-eventsource v0.6.0
[INFO] [stderr]    Compiling agent-code-lib v0.17.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 44s
[INFO] running `Command { std: "docker" "inspect" "f0d7a637bf5e4920b4d129cbdde8626ea38526d535355726519b06e33a963361", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0d7a637bf5e4920b4d129cbdde8626ea38526d535355726519b06e33a963361", kill_on_drop: false }`
[INFO] [stdout] f0d7a637bf5e4920b4d129cbdde8626ea38526d535355726519b06e33a963361
[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=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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3c972ad54e46490c459678b58c969c1b2a3bad886ee4d782944d7a3ca5bd52e3
[INFO] running `Command { std: "docker" "start" "-a" "3c972ad54e46490c459678b58c969c1b2a3bad886ee4d782944d7a3ca5bd52e3", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.70s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agent_code_lib-cf6436ad106f32b5)
[INFO] [stdout] 
[INFO] [stdout] running 608 tests
[INFO] [stdout] test config::e2e_tests::e2e_malformed_toml_is_surfaced_as_parse_error ... ok
[INFO] [stdout] test config::e2e_tests::e2e_find_project_config_walks_up_from_nested_dir ... ok
[INFO] [stdout] test config::e2e_tests::e2e_issue_101_ollama_user_preserved_when_project_has_only_mcp_servers ... ok
[INFO] [stdout] test config::e2e_tests::e2e_find_project_config_stops_at_first_match ... ok
[INFO] [stdout] test config::e2e_tests::e2e_no_config_files_yields_defaults ... ok
[INFO] [stdout] test config::e2e_tests::e2e_find_project_config_returns_none_when_absent ... ok
[INFO] [stdout] test config::e2e_tests::e2e_only_project_config_exists ... ok
[INFO] [stdout] test config::e2e_tests::e2e_mcp_servers_union_by_name ... ok
[INFO] [stdout] test config::e2e_tests::e2e_permission_rules_concatenate_across_layers ... ok
[INFO] [stdout] test config::e2e_tests::e2e_only_user_config_exists ... ok
[INFO] [stdout] test config::merge_tests::no_layers_yields_default_config ... ok
[INFO] [stdout] test config::merge_tests::merge_toml_values_recursive_table_merge ... ok
[INFO] [stdout] test config::merge_tests::project_partial_api_only_overrides_specified_fields ... ok
[INFO] [stdout] test config::merge_tests::mcp_servers_merge_by_name_project_overrides_user ... ok
[INFO] [stdout] test config::merge_tests::permission_rules_extend_across_layers ... ok
[INFO] [stdout] test config::e2e_tests::e2e_feature_flags_partial_override ... ok
[INFO] [stdout] test config::merge_tests::project_without_api_section_preserves_user_base_url_and_model ... ok
[INFO] [stdout] test config::merge_tests::project_without_features_preserves_user_feature_flags ... ok
[INFO] [stdout] test config::e2e_tests::e2e_project_overrides_model_keeps_user_base_url ... ok
[INFO] [stdout] test config::merge_tests::merge_toml_values_overlay_replaces_non_table ... ok
[INFO] [stdout] test config::e2e_tests::e2e_project_overrides_single_ui_field_keeps_others ... ok
[INFO] [stdout] test config::schema::tests::api_config_default_base_url_contains_scheme ... ok
[INFO] [stdout] test config::schema::tests::api_config_default_effort_is_none ... ok
[INFO] [stdout] test config::schema::tests::api_config_default_max_retries ... ok
[INFO] [stdout] test config::schema::tests::api_config_default_max_output_tokens ... ok
[INFO] [stdout] test config::schema::tests::api_config_default_model ... ok
[INFO] [stdout] test config::schema::tests::api_config_default_max_cost_is_none ... ok
[INFO] [stdout] test config::schema::tests::api_config_default_thinking_is_none ... ok
[INFO] [stdout] test config::schema::tests::api_config_default_timeout ... ok
[INFO] [stdout] test config::schema::tests::config_toml_empty_string_uses_defaults ... ok
[INFO] [stdout] test config::schema::tests::config_toml_partial_override ... ok
[INFO] [stdout] test config::schema::tests::config_toml_with_hooks ... ok
[INFO] [stdout] test config::schema::tests::config_toml_with_mcp_servers ... ok
[INFO] [stdout] test config::schema::tests::features_config_default_all_true ... ok
[INFO] [stdout] test config::schema::tests::config_default_composes_sub_defaults ... ok
[INFO] [stdout] test config::schema::tests::config_toml_deserialization_full ... ok
[INFO] [stdout] test config::schema::tests::hook_action_http_method_none ... ok
[INFO] [stdout] test config::schema::tests::hook_action_serde_roundtrip_http ... ok
[INFO] [stdout] test config::schema::tests::hook_action_serde_roundtrip_shell ... ok
[INFO] [stdout] test config::schema::tests::hook_definition_serde_roundtrip ... ok
[INFO] [stdout] test config::schema::tests::hook_event_serde_roundtrip_post_tool_use ... ok
[INFO] [stdout] test config::schema::tests::hook_event_serde_roundtrip_pre_tool_use ... ok
[INFO] [stdout] test config::merge_tests::project_without_ui_section_preserves_user_theme ... ok
[INFO] [stdout] test config::schema::tests::hook_event_serde_roundtrip_session_start ... ok
[INFO] [stdout] test config::schema::tests::hook_definition_tool_name_none ... ok
[INFO] [stdout] test config::schema::tests::hook_event_serde_roundtrip_session_stop ... ok
[INFO] [stdout] test config::schema::tests::hook_event_serde_roundtrip_user_prompt_submit ... ok
[INFO] [stdout] test config::schema::tests::mcp_server_entry_with_command ... ok
[INFO] [stdout] test config::schema::tests::mcp_server_entry_with_env ... ok
[INFO] [stdout] test config::schema::tests::mcp_server_entry_with_url ... ok
[INFO] [stdout] test config::schema::tests::permission_mode_serde_roundtrip_accept_edits ... ok
[INFO] [stdout] test config::schema::tests::permission_mode_serde_roundtrip_allow ... ok
[INFO] [stdout] test config::schema::tests::permission_mode_serde_roundtrip_plan ... ok
[INFO] [stdout] test config::schema::tests::permission_mode_serde_roundtrip_ask ... ok
[INFO] [stdout] test config::schema::tests::permission_mode_serde_roundtrip_deny ... ok
[INFO] [stdout] test config::schema::tests::permission_rule_serde_roundtrip_with_pattern ... ok
[INFO] [stdout] test config::schema::tests::permissions_config_default_rules_empty ... ok
[INFO] [stdout] test config::schema::tests::permissions_config_default_mode_is_ask ... ok
[INFO] [stdout] test config::schema::tests::ui_config_default_theme_dark ... ok
[INFO] [stdout] test config::schema::tests::permission_rule_serde_roundtrip_without_pattern ... ok
[INFO] [stdout] test config::schema::tests::security_config_default_booleans_false ... ok
[INFO] [stdout] test error::tests::config_error_display_file_error ... ok
[INFO] [stdout] test config::schema::tests::security_config_default_empty_vecs ... ok
[INFO] [stdout] test config::schema::tests::ui_config_default_edit_mode_emacs ... ok
[INFO] [stdout] test config::schema::tests::ui_config_default_markdown_true ... ok
[INFO] [stdout] test error::tests::config_error_display_invalid_value ... ok
[INFO] [stdout] test config::schema::tests::ui_config_default_syntax_highlight_true ... ok
[INFO] [stdout] test error::tests::error_display_config_variant_delegates_to_config_error ... ok
[INFO] [stdout] test error::tests::config_error_from_toml_de_error ... ok
[INFO] [stdout] test error::tests::config_error_parse_error_propagates_to_top_level ... ok
[INFO] [stdout] test error::tests::error_display_other_variant ... ok
[INFO] [stdout] test error::tests::error_display_permission_variant_delegates_to_permission_error ... ok
[INFO] [stdout] test error::tests::error_display_llm_variant_delegates_to_llm_error ... ok
[INFO] [stdout] test error::tests::error_display_io_variant ... ok
[INFO] [stdout] test error::tests::from_io_error_to_error ... ok
[INFO] [stdout] test error::tests::from_llm_error_to_error ... ok
[INFO] [stdout] test error::tests::from_permission_error_to_error ... ok
[INFO] [stdout] test error::tests::from_tool_error_to_error ... ok
[INFO] [stdout] test error::tests::llm_error_display_auth_error ... ok
[INFO] [stdout] test error::tests::llm_error_display_context_overflow ... ok
[INFO] [stdout] test error::tests::llm_error_display_invalid_response ... ok
[INFO] [stdout] test error::tests::llm_error_display_http ... ok
[INFO] [stdout] test error::tests::permission_error_display_denied_by_rule ... ok
[INFO] [stdout] test error::tests::llm_error_display_rate_limited ... ok
[INFO] [stdout] test error::tests::llm_error_display_stream_interrupted ... ok
[INFO] [stdout] test error::tests::result_alias_ok ... ok
[INFO] [stdout] test error::tests::permission_error_display_user_denied ... ok
[INFO] [stdout] test error::tests::tool_error_display_cancelled ... ok
[INFO] [stdout] test error::tests::result_alias_err ... ok
[INFO] [stdout] test error::tests::llm_error_display_api ... ok
[INFO] [stdout] test error::tests::tool_error_display_invalid_input ... ok
[INFO] [stdout] test error::tests::tool_error_display_execution_failed ... ok
[INFO] [stdout] test error::tests::tool_error_display_io ... ok
[INFO] [stdout] test error::tests::tool_error_display_not_found ... ok
[INFO] [stdout] test error::tests::tool_error_display_permission_denied ... ok
[INFO] [stdout] test llm::message::tests::test_as_text ... ok
[INFO] [stdout] test error::tests::tool_error_display_timeout ... ok
[INFO] [stdout] test llm::message::tests::test_as_text_returns_none_for_document ... ok
[INFO] [stdout] test llm::message::tests::test_as_text_returns_none_for_tool_result ... ok
[INFO] [stdout] test llm::message::tests::test_as_tool_use ... ok
[INFO] [stdout] test llm::message::tests::test_as_text_returns_none_for_thinking ... ok
[INFO] [stdout] test error::tests::tool_error_from_io_error ... ok
[INFO] [stdout] test llm::message::tests::test_as_tool_use_returns_none_for_non_tool_use ... ok
[INFO] [stdout] test error::tests::from_config_error_to_error ... ok
[INFO] [stdout] test llm::message::tests::test_message_level_default_is_info ... ok
[INFO] [stdout] test llm::message::tests::test_message_uuid_accessible ... ok
[INFO] [stdout] test error::tests::error_display_tool_variant_delegates_to_tool_error ... ok
[INFO] [stdout] test llm::message::tests::test_as_text_returns_none_for_image ... ok
[INFO] [stdout] test llm::message::tests::test_messages_to_api_params_multiple_blocks_uses_array ... ok
[INFO] [stdout] test llm::message::tests::test_serde_roundtrip_system_message ... ok
[INFO] [stdout] test llm::message::tests::test_messages_to_api_params_single_text_uses_string ... ok
[INFO] [stdout] test llm::message::tests::test_serde_roundtrip_assistant_message ... ok
[INFO] [stdout] test llm::message::tests::test_tool_result_message_error ... ok
[INFO] [stdout] test llm::message::tests::test_messages_to_api_params_mixed_filters_system ... ok
[INFO] [stdout] test llm::message::tests::test_serde_roundtrip_user_message ... ok
[INFO] [stdout] test llm::message::tests::test_tool_result_message_sets_is_meta_true ... ok
[INFO] [stdout] test llm::message::tests::test_stop_reason_serde_roundtrip ... ok
[INFO] [stdout] test llm::message::tests::test_tool_result_message_success ... ok
[INFO] [stdout] test llm::message::tests::test_tool_result_block_variants_constructible ... ok
[INFO] [stdout] test llm::message::tests::test_usage_default ... ok
[INFO] [stdout] test llm::message::tests::test_user_message_sets_is_compact_summary_false ... ok
[INFO] [stdout] test llm::message::tests::test_usage_merge ... ok
[INFO] [stdout] test llm::message::tests::test_usage_merge_accumulates_output_replaces_input ... ok
[INFO] [stdout] test llm::message::tests::test_user_message_creates_text ... ok
[INFO] [stdout] test llm::message::tests::test_usage_total ... ok
[INFO] [stdout] test llm::normalize::tests::test_cap_document_blocks ... ok
[INFO] [stdout] test llm::normalize::tests::test_cap_document_blocks_no_title_uses_document ... ok
[INFO] [stdout] test llm::normalize::tests::test_merge_three_consecutive_users ... ok
[INFO] [stdout] test llm::normalize::tests::test_remove_empty_messages ... ok
[INFO] [stdout] test llm::normalize::tests::test_remove_empty_messages_preserves_system ... ok
[INFO] [stdout] test llm::normalize::tests::test_strip_empty_blocks ... ok
[INFO] [stdout] test llm::normalize::tests::test_strip_empty_blocks_on_assistant ... ok
[INFO] [stdout] test llm::normalize::tests::test_tool_result_pairing ... ok
[INFO] [stdout] test llm::normalize::tests::test_tool_result_pairing_already_paired ... ok
[INFO] [stdout] test llm::normalize::tests::test_tool_result_pairing_multiple_orphans ... ok
[INFO] [stdout] test llm::normalize::tests::test_validate_alternation_empty_list ... ok
[INFO] [stdout] test llm::normalize::tests::test_validate_alternation_invalid ... ok
[INFO] [stdout] test llm::normalize::tests::test_validate_alternation_valid ... ok
[INFO] [stdout] test llm::normalize::tests::test_validate_alternation_with_system_messages ... ok
[INFO] [stdout] test llm::provider::tests::test_default_base_url_returns_none_for_user_configured ... ok
[INFO] [stdout] test llm::provider::tests::test_default_base_url_returns_some_for_known_providers ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_azure_before_generic_openai ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_claude ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_codestral ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_command_r ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_deepseek_chat ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_gemini ... ok
[INFO] [stdout] test llm::message::tests::test_messages_to_api_params_cached_adds_cache_control ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_glm4 ... ok
[INFO] [stdout] test llm::message::tests::test_messages_to_api_params_filters_system ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_gpt ... ok
[INFO] [stdout] test llm::message::tests::test_system_message_type_serde_roundtrip ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_llama3_with_groq_url ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_mistral_large ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_grok ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_pplx ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_anthropic ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_azure_openai ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_bedrock ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_model_sonar ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_cohere ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_deepseek ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_groq ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_localhost ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_mistral ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_openrouter ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_openai ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_perplexity ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_together ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_vertex ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_xai ... ok
[INFO] [stdout] test llm::provider::tests::test_env_var_name_all_variants ... ok
[INFO] [stdout] test llm::provider::tests::test_provider_error_display ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_unknown_defaults_openai_compat ... ok
[INFO] [stdout] test llm::provider::tests::test_tool_choice_default_is_auto ... ok
[INFO] [stdout] test llm::provider::tests::test_detect_from_url_zhipu_bigmodel ... ok
[INFO] [stdout] test llm::provider::tests::test_url_takes_priority_over_model ... ok
[INFO] [stdout] test llm::provider::tests::test_wire_format_anthropic_family ... ok
[INFO] [stdout] test llm::retry::tests::test_backoff_increases_with_attempt ... ok
[INFO] [stdout] test llm::retry::tests::test_default_config ... ok
[INFO] [stdout] test llm::provider::tests::test_wire_format_openai_compatible_family ... ok
[INFO] [stdout] test llm::retry::tests::test_non_retryable_aborts ... ok
[INFO] [stdout] test llm::retry::tests::test_overload_escalates_to_fallback ... ok
[INFO] [stdout] test llm::retry::tests::test_overloads_then_fallback_then_abort ... ok
[INFO] [stdout] test llm::retry::tests::test_reset_clears_rate_limit_retries ... ok
[INFO] [stdout] test llm::retry::tests::test_reset_preserves_fallback ... ok
[INFO] [stdout] test llm::retry::tests::test_stream_interrupted_retries_then_aborts ... ok
[INFO] [stdout] test llm::retry::tests::test_retry_state_default_values ... ok
[INFO] [stdout] test memory::scanner::tests::test_scan_empty_dir ... ok
[INFO] [stdout] test memory::scanner::tests::test_scan_parses_frontmatter ... ok
[INFO] [stdout] test memory::scanner::tests::test_scan_finds_md_files ... ok
[INFO] [stdout] test llm::retry::tests::test_retry_exhaustion ... ok
[INFO] [stdout] test llm::retry::tests::test_retry_on_rate_limit ... ok
[INFO] [stdout] test memory::scanner::tests::test_select_relevant_by_keyword ... ok
[INFO] [stdout] test memory::tests::test_load_truncated_file ... ok
[INFO] [stdout] test memory::types::tests::exclusion_rules_contains_code_patterns ... ok
[INFO] [stdout] test memory::types::tests::exclusion_rules_contains_git_history ... ok
[INFO] [stdout] test memory::types::tests::exclusion_rules_each_entry_is_non_empty ... ok
[INFO] [stdout] test memory::types::tests::exclusion_rules_has_expected_count ... ok
[INFO] [stdout] test memory::types::tests::exclusion_rules_is_non_empty ... ok
[INFO] [stdout] test memory::types::tests::memory_age_text_23_hours ... ok
[INFO] [stdout] test memory::types::tests::memory_age_text_30_minutes ... ok
[INFO] [stdout] test memory::types::tests::memory_age_text_59_minutes ... ok
[INFO] [stdout] test llm::normalize::tests::test_cap_document_blocks_within_limit ... ok
[INFO] [stdout] test llm::normalize::tests::test_merge_no_consecutive_users ... ok
[INFO] [stdout] test memory::types::tests::memory_age_text_just_now_59_seconds ... ok
[INFO] [stdout] test memory::types::tests::memory_age_text_boundary_just_under_one_day ... ok
[INFO] [stdout] test memory::scanner::tests::test_select_relevant_max_limit ... ok
[INFO] [stdout] test memory::types::tests::memory_age_text_just_now_zero ... ok
[INFO] [stdout] test llm::normalize::tests::test_merge_consecutive_users ... ok
[INFO] [stdout] test memory::types::tests::memory_age_text_large_value ... ok
[INFO] [stdout] test memory::types::tests::memory_age_text_one_day ... ok
[INFO] [stdout] test memory::scanner::tests::test_select_relevant_skips_surfaced ... ok
[INFO] [stdout] test memory::types::tests::memory_age_text_one_hour ... ok
[INFO] [stdout] test memory::types::tests::memory_age_text_one_minute ... ok
[INFO] [stdout] test memory::types::tests::memory_age_text_seven_days ... ok
[INFO] [stdout] test memory::types::tests::memory_meta_serde_roundtrip_with_type ... ok
[INFO] [stdout] test memory::types::tests::memory_meta_serde_roundtrip_without_type ... ok
[INFO] [stdout] test memory::types::tests::memory_meta_type_field_renamed_in_json ... ok
[INFO] [stdout] test memory::types::tests::memory_type_serde_roundtrip_feedback ... ok
[INFO] [stdout] test memory::tests::test_load_referenced_files ... ok
[INFO] [stdout] test memory::types::tests::memory_type_serde_roundtrip_user ... ok
[INFO] [stdout] test memory::types::tests::memory_type_serde_roundtrip_project ... ok
[INFO] [stdout] test memory::types::tests::memory_type_rejects_unknown_variant ... ok
[INFO] [stdout] test memory::types::tests::memory_type_serde_roundtrip_reference ... ok
[INFO] [stdout] test memory::types::tests::staleness_caveat_message_format ... ok
[INFO] [stdout] test memory::types::tests::staleness_caveat_none_at_boundary ... ok
[INFO] [stdout] test memory::types::tests::staleness_caveat_some_for_seven_days ... ok
[INFO] [stdout] test memory::types::tests::staleness_caveat_none_for_zero ... ok
[INFO] [stdout] test memory::types::tests::staleness_caveat_none_for_one_hour ... ok
[INFO] [stdout] test memory::writer::tests::test_delete_nonexistent_memory ... ok
[INFO] [stdout] test permissions::tests::test_accept_edits_mode_allows_writes ... ok
[INFO] [stdout] test permissions::tests::test_allow_all ... ok
[INFO] [stdout] test permissions::tests::test_check_read_allows_reads_with_deny_default ... ok
[INFO] [stdout] test permissions::tests::test_check_read_blocks_with_explicit_deny_rule ... ok
[INFO] [stdout] test permissions::tests::test_deny_mode_blocks_all_tools ... ok
[INFO] [stdout] test permissions::tests::test_glob_match ... ok
[INFO] [stdout] test permissions::tests::test_is_write_tool_classification ... ok
[INFO] [stdout] test permissions::tests::test_matches_input_pattern_with_file_path ... ok
[INFO] [stdout] test permissions::tests::test_matches_input_pattern_with_pattern_field ... ok
[INFO] [stdout] test permissions::tests::test_plan_mode_blocks_all_tools ... ok
[INFO] [stdout] test memory::writer::tests::test_index_line_length_cap ... ok
[INFO] [stdout] test memory::types::tests::staleness_caveat_some_just_over_one_day ... ok
[INFO] [stdout] test memory::writer::tests::test_write_memory_creates_file_and_index ... ok
[INFO] [stdout] test permissions::tests::test_protected_dirs_block_writes ... ok
[INFO] [stdout] test memory::writer::tests::test_write_memory_updates_existing_index_entry ... ok
[INFO] [stdout] test permissions::tests::test_protected_path_nested_git_objects ... ok
[INFO] [stdout] test permissions::tests::test_rule_matching ... ok
[INFO] [stdout] test memory::writer::tests::test_delete_memory ... ok
[INFO] [stdout] test permissions::tests::test_protected_dirs_helper ... ok
[INFO] [stdout] test permissions::tests::test_wildcard_tool_rule_matches_any_tool ... ok
[INFO] [stdout] test permissions::tests::test_protected_path_windows_backslash ... ok
[INFO] [stdout] test permissions::tracking::tests::test_bounded_capacity ... ok
[INFO] [stdout] test permissions::tracking::tests::test_clear ... ok
[INFO] [stdout] test permissions::tracking::tests::test_denials_for_tool ... ok
[INFO] [stdout] test permissions::tracking::tests::test_input_summary_bash ... ok
[INFO] [stdout] test permissions::tracking::tests::test_input_summary_file ... ok
[INFO] [stdout] test permissions::tracking::tests::test_new_tracker ... ok
[INFO] [stdout] test permissions::tracking::tests::test_record_denial ... ok
[INFO] [stdout] test query::tests::cancel_shared_propagates_to_current_token ... ok
[INFO] [stdout] test memory::writer::tests::test_rebuild_index ... ok
[INFO] [stdout] test query::tests::system_prompt_lists_additional_dirs ... ok
[INFO] [stdout] test query::tests::system_prompt_omits_additional_dirs_when_empty ... ok
[INFO] [stdout] test sandbox::bwrap::tests::argv_handles_empty_allow_and_forbid_lists ... ok
[INFO] [stdout] test sandbox::bwrap::tests::argv_mounts_root_read_only ... ok
[INFO] [stdout] test sandbox::bwrap::tests::argv_overlays_dev_and_proc ... ok
[INFO] [stdout] test sandbox::bwrap::tests::argv_passes_chdir_when_provided ... ok
[INFO] [stdout] test sandbox::bwrap::tests::argv_rw_binds_allowed_paths ... ok
[INFO] [stdout] test sandbox::bwrap::tests::argv_rw_binds_project_dir ... ok
[INFO] [stdout] test sandbox::bwrap::tests::argv_sets_die_with_parent ... ok
[INFO] [stdout] test query::tests::cancel_before_first_event_interrupts_cleanly ... ok
[INFO] [stdout] test sandbox::bwrap::tests::argv_terminates_with_double_dash_and_program ... ok
[INFO] [stdout] test sandbox::bwrap::tests::argv_unshares_network_only_when_denied ... ok
[INFO] [stdout] test sandbox::bwrap::tests::argv_unshares_standard_namespaces ... ok
[INFO] [stdout] test sandbox::bwrap::tests::strategy_name_is_bwrap ... ok
[INFO] [stdout] test sandbox::bwrap::tests::wrap_command_preserves_current_dir ... ok
[INFO] [stdout] test sandbox::bwrap::tests::wrap_command_preserves_env_vars ... ok
[INFO] [stdout] test sandbox::bwrap::tests::wrap_command_sets_bwrap_as_program ... ok
[INFO] [stdout] test sandbox::policy::tests::absolute_paths_unchanged ... ok
[INFO] [stdout] test sandbox::policy::tests::expands_tilde_to_home ... ok
[INFO] [stdout] test sandbox::policy::tests::from_config_resolves_paths ... ok
[INFO] [stdout] test sandbox::policy::tests::missing_home_leaves_tilde ... ok
[INFO] [stdout] test sandbox::policy::tests::relative_paths_join_project_dir ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_allows_network_when_enabled ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_allows_extra_write_paths ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_allows_project_writes ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_allows_reads_broadly ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_contains_process_and_signal_allows ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_denies_by_default ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_denies_forbidden_paths ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_escapes_double_quotes_in_paths ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_empty_allow_and_forbid_lists_still_builds ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_imports_system_sb ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_multiple_forbidden_paths_all_appear ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::profile_skips_network_when_disabled ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::wrap_command_preserves_current_dir ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::wrap_command_prepends_profile_flag ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::wrap_command_preserves_env_removals ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::wrap_command_preserves_env_vars ... ok
[INFO] [stdout] test sandbox::seatbelt::tests::wrap_command_sets_sandbox_exec_as_program ... ok
[INFO] [stdout] test sandbox::tests::auto_detect_on_linux_picks_bwrap_or_noop ... ok
[INFO] [stdout] test sandbox::tests::disabled_executor_is_inactive ... ok
[INFO] [stdout] test sandbox::tests::disabled_executor_wrap_is_identity_program ... ok
[INFO] [stdout] test sandbox::tests::from_config_disabled_is_inactive_regardless_of_strategy ... ok
[INFO] [stdout] test sandbox::tests::from_config_policy_contains_project_dir ... ok
[INFO] [stdout] test sandbox::tests::from_config_strategy_none_is_inactive_even_when_enabled ... ok
[INFO] [stdout] test sandbox::tests::from_config_with_bypass_respects_flag ... ok
[INFO] [stdout] test sandbox::tests::from_session_config_honors_disable_bypass_permissions ... ok
[INFO] [stdout] test sandbox::tests::noop_strategy_returns_command_untouched ... ok
[INFO] [stdout] test sandbox::tests::pick_strategy_auto_matches_auto_detect ... ok
[INFO] [stdout] test sandbox::tests::pick_strategy_bwrap_on_linux_matches_make_bwrap ... ok
[INFO] [stdout] test sandbox::tests::pick_strategy_empty_is_auto ... ok
[INFO] [stdout] test sandbox::tests::pick_strategy_none_is_noop ... ok
[INFO] [stdout] test sandbox::tests::pick_strategy_seatbelt_off_macos_is_noop ... ok
[INFO] [stdout] test sandbox::tests::pick_strategy_unknown_is_noop ... ok
[INFO] [stdout] test schedule::cron::tests::test_day_of_week ... ok
[INFO] [stdout] test schedule::cron::tests::test_invalid_field_count ... ok
[INFO] [stdout] test schedule::cron::tests::test_invalid_step_zero ... ok
[INFO] [stdout] test schedule::cron::tests::test_invalid_value ... ok
[INFO] [stdout] test schedule::cron::tests::test_next_after ... ok
[INFO] [stdout] test schedule::cron::tests::test_next_after_wraps_day ... ok
[INFO] [stdout] test schedule::cron::tests::test_parse_every_minute ... ok
[INFO] [stdout] test schedule::cron::tests::test_parse_list ... ok
[INFO] [stdout] test schedule::cron::tests::test_parse_range ... ok
[INFO] [stdout] test schedule::cron::tests::test_parse_specific_time ... ok
[INFO] [stdout] test schedule::cron::tests::test_parse_step ... ok
[INFO] [stdout] test schedule::executor::tests::test_job_outcome_fields ... ok
[INFO] [stdout] test schedule::storage::tests::test_find_by_secret ... ok
[INFO] [stdout] test schedule::storage::tests::test_list ... ok
[INFO] [stdout] test schedule::storage::tests::test_remove ... ok
[INFO] [stdout] test schedule::storage::tests::test_remove_nonexistent ... ok
[INFO] [stdout] test schedule::storage::tests::test_save_and_load ... ok
[INFO] [stdout] test schedule::storage::tests::test_serialization_roundtrip ... ok
[INFO] [stdout] test services::budget::tests::test_budget_exhausted ... ok
[INFO] [stdout] test services::budget::tests::test_budget_warning ... ok
[INFO] [stdout] test services::budget::tests::test_continuation_logic ... ok
[INFO] [stdout] test services::budget::tests::test_within_budget ... ok
[INFO] [stdout] test services::cache_tracking::tests::test_cache_break ... ok
[INFO] [stdout] test services::cache_tracking::tests::test_cache_hit ... ok
[INFO] [stdout] test services::cache_tracking::tests::test_fingerprint_change_detection ... ok
[INFO] [stdout] test services::cache_tracking::tests::test_fingerprint_tool_count_change ... ok
[INFO] [stdout] test services::cache_tracking::tests::test_first_call_miss ... ok
[INFO] [stdout] test services::cache_tracking::tests::test_hit_rate ... ok
[INFO] [stdout] test query::tests::stream_loop_responds_to_cancellation ... ok
[INFO] [stdout] test services::cache_tracking::tests::test_new_tracker ... ok
[INFO] [stdout] test services::cache_tracking::tests::test_partial_hit ... ok
[INFO] [stdout] test query::tests::cancel_does_not_poison_next_turn ... ok
[INFO] [stdout] test services::compact::tests::compression_state_demote_after_protection_window_expires ... ok
[INFO] [stdout] test services::compact::tests::compression_state_empty_roundtrip ... ok
[INFO] [stdout] test services::compact::tests::compression_state_handles_unicode_paths ... ok
[INFO] [stdout] test services::compact::tests::compression_state_roundtrip ... ok
[INFO] [stdout] test services::compact::tests::demote_refuses_protected_files ... ok
[INFO] [stdout] test services::compact::tests::file_record_protected_inside_window ... ok
[INFO] [stdout] test services::compact::tests::hash_content_detects_change ... ok
[INFO] [stdout] test services::compact::tests::record_read_preserves_level_on_unchanged_content ... ok
[INFO] [stdout] test services::compact::tests::record_read_resets_level_on_content_change ... ok
[INFO] [stdout] test services::compact::tests::test_auto_compact_threshold ... ok
[INFO] [stdout] test services::compact::tests::test_auto_compact_threshold_gpt_model ... ok
[INFO] [stdout] test query::tests::run_turn_with_sink_interrupts_on_cancel ... ok
[INFO] [stdout] test query::tests::cancelled_turn_emits_warning_to_sink ... ok
[INFO] [stdout] test services::compact::tests::test_calculate_keep_count_returns_at_least_5_for_large_list ... ok
[INFO] [stdout] test services::compact::tests::test_compact_boundary_message ... ok
[INFO] [stdout] test services::compact::tests::test_compact_boundary_message_content_format ... ok
[INFO] [stdout] test services::compact::tests::test_effective_context_window ... ok
[INFO] [stdout] test services::compact::tests::test_effective_context_window_gpt_model ... ok
[INFO] [stdout] test services::compact::tests::test_max_output_recovery_message ... ok
[INFO] [stdout] test services::compact::tests::test_max_output_recovery_message_is_meta ... ok
[INFO] [stdout] test services::compact::tests::test_microcompact_empty ... ok
[INFO] [stdout] test services::compact::tests::test_microcompact_keeps_recent ... ok
[INFO] [stdout] test services::compact::tests::test_parse_prompt_too_long_gap ... ok
[INFO] [stdout] test services::compact::tests::test_parse_prompt_too_long_gap_equal_tokens_returns_none ... ok
[INFO] [stdout] test services::compact::tests::test_parse_prompt_too_long_gap_with_comma_format ... ok
[INFO] [stdout] test services::compact::tests::test_parse_prompt_too_long_no_match ... ok
[INFO] [stdout] test services::compact::tests::test_should_auto_compact_circuit_breaker ... ok
[INFO] [stdout] test services::compact::tests::test_should_auto_compact_empty ... ok
[INFO] [stdout] test services::compact::tests::test_should_auto_compact_empty_tracking_small_conversation ... ok
[INFO] [stdout] test services::compact::tests::test_token_warning_state_empty ... ok
[INFO] [stdout] test services::compact::tests::test_token_warning_state_large_count_should_compact ... ok
[INFO] [stdout] test services::context_collapse::tests::test_collapse_empty_messages ... ok
[INFO] [stdout] test services::context_collapse::tests::test_collapse_preserves_first_and_last ... ok
[INFO] [stdout] test services::context_collapse::tests::test_no_collapse_within_budget ... ok
[INFO] [stdout] test services::context_collapse::tests::test_recover_from_overflow ... ok
[INFO] [stdout] test services::coordinator::coordinator_tests::test_agent_status_eq ... ok
[INFO] [stdout] test services::coordinator::coordinator_tests::test_create_team ... ok
[INFO] [stdout] test services::coordinator::coordinator_tests::test_send_message ... ok
[INFO] [stdout] test services::coordinator::coordinator_tests::test_send_message_by_name ... ok
[INFO] [stdout] test services::coordinator::coordinator_tests::test_spawn_agent ... ok
[INFO] [stdout] test services::coordinator::coordinator_tests::test_spawn_unknown_type ... ok
[INFO] [stdout] test services::diagnostics::tests::test_check_constructors ... ok
[INFO] [stdout] test services::diagnostics::tests::test_check_fields ... ok
[INFO] [stdout] test services::compact::tests::test_build_compact_summary_prompt_includes_user_and_assistant ... ok
[INFO] [stdout] test services::compact::tests::test_build_compact_summary_prompt ... ok
[INFO] [stdout] test query::tests::provider_stream_task_observes_cancellation ... ok
[INFO] [stdout] test services::compact::tests::build_compact_summary_prompt_masks_secrets_in_assistant_messages ... ok
[INFO] [stdout] test services::compact::tests::build_compact_summary_prompt_masks_secrets_in_user_messages ... ok
[INFO] [stdout] test sandbox::tests::auto_detect_off_macos_is_noop ... FAILED
[INFO] [stdout] test services::diagnostics::tests::test_run_all_includes_provider_check ... ok
[INFO] [stdout] test services::file_cache::tests::test_cache_read_and_invalidate ... ok
[INFO] [stdout] test services::diagnostics::tests::test_run_all_no_api_key ... ok
[INFO] [stdout] test services::diagnostics::tests::test_run_all_returns_checks ... ok
[INFO] [stdout] test services::diagnostics::tests::test_run_all_mcp_servers ... ok
[INFO] [stdout] test services::git::tests::test_diff_line_kinds ... ok
[INFO] [stdout] test services::git::tests::test_is_git_repo_not_repo ... ok
[INFO] [stdout] test services::diagnostics::tests::test_run_all_azure_provider_env_check ... ok
[INFO] [stdout] test services::git::tests::test_parse_diff ... ok
[INFO] [stdout] test services::git::tests::test_parse_diff_empty ... ok
[INFO] [stdout] test services::git::tests::test_parse_diff_multiple_files ... ok
[INFO] [stdout] test services::diagnostics::tests::test_run_all_with_api_key ... ok
[INFO] [stdout] test services::git::tests::test_current_branch_new_repo ... ok
[INFO] [stdout] test services::git::tests::test_is_git_repo_in_repo ... ok
[INFO] [stdout] test services::git::tests::test_is_shallow_and_worktree ... ok
[INFO] [stdout] test services::git_ops::tests::test_detect_commit ... ok
[INFO] [stdout] test services::git::tests::test_repo_root ... ok
[INFO] [stdout] test services::git_ops::tests::test_detect_branch_switch ... ok
[INFO] [stdout] test services::git_ops::tests::test_no_false_positives ... ok
[INFO] [stdout] test services::history::tests::test_empty_messages ... ok
[INFO] [stdout] test services::history::tests::test_last_assistant_index ... ok
[INFO] [stdout] test services::history::tests::test_extract_text ... ok
[INFO] [stdout] test services::history::tests::test_last_user_message_index ... ok
[INFO] [stdout] test services::history::tests::test_message_counts ... ok
[INFO] [stdout] test services::history::tests::test_tool_use_count ... ok
[INFO] [stdout] test services::history::tests::test_tools_used ... ok
[INFO] [stdout] test services::output_store::tests::persist_if_large_at_exact_threshold_passes_through ... ok
[INFO] [stdout] test services::git_ops::tests::test_detect_pr_create ... ok
[INFO] [stdout] test services::output_store::tests::persist_if_large_passes_small_content_through_unchanged ... ok
[INFO] [stdout] test services::git_ops::tests::test_detect_push ... ok
[INFO] [stdout] test services::pricing::tests::test_cache_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_combined_input_output_cost ... ok
[INFO] [stdout] test services::pricing::tests::test_deepseek_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_gemini_cache_pricing_is_zero ... ok
[INFO] [stdout] test services::pricing::tests::test_gemini_flash_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_gemini_pro_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_gpt41_nano_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_gpt41_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_gpt4_1_mini ... ok
[INFO] [stdout] test services::pricing::tests::test_gpt4o_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_gpt54_mini_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_gpt54_nano_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_gpt54_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_grok_cache_pricing_is_zero ... ok
[INFO] [stdout] test services::pricing::tests::test_grok_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_haiku_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_mistral_large_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_o1_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_o3_pricing ... ok
[INFO] [stdout] test services::pricing::tests::test_opus_pricing ... ok
[INFO] [stdout] test services::diagnostics::tests::test_run_all_in_git_repo ... ok
[INFO] [stdout] test services::pricing::tests::test_unknown_model_free ... ok
[INFO] [stdout] test services::pricing::tests::test_zero_tokens ... ok
[INFO] [stdout] test services::profiles::tests::validate_name_accepts_safe_names ... ok
[INFO] [stdout] test services::profiles::tests::validate_name_rejects_empty ... ok
[INFO] [stdout] test services::profiles::tests::validate_name_rejects_oversize ... ok
[INFO] [stdout] test services::profiles::tests::validate_name_rejects_path_escape ... ok
[INFO] [stdout] test services::profiles::tests::validate_name_rejects_special_chars ... ok
[INFO] [stdout] test services::pricing::tests::test_sonnet_pricing ... ok
[INFO] [stdout] test services::secret_masker::tests::allows_legitimate_code_through ... ok
[INFO] [stdout] test services::secret_masker::tests::does_not_mask_json_key_form ... ok
[INFO] [stdout] test services::secret_masker::tests::does_not_consume_surrounding_json_quote ... ok
[INFO] [stdout] test services::secret_masker::tests::does_not_mask_short_values ... ok
[INFO] [stdout] test services::secret_masker::tests::empty_input_does_not_panic ... ok
[INFO] [stdout] test services::secret_masker::tests::does_not_mask_url_without_password ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_aws_access_key ... ok
[INFO] [stdout] test services::secret_masker::tests::idempotent ... ok
[INFO] [stdout] test services::output_store::tests::persist_if_large_at_threshold_plus_one_writes_to_disk ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_github_pat ... ok
[INFO] [stdout] test services::output_store::tests::persist_if_large_redacts_generic_credential_on_disk ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_mixed_quoted_and_unquoted_in_one_input ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_pem_private_key ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_single_quoted_credential ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_multiple_secrets_in_one_string ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_uppercase_env_var_style ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_url_embedded_password_postgres ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_openai_style_key ... ok
[INFO] [stdout] test services::secret_masker::tests::preserves_non_secret_text ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_url_embedded_password_inside_json_escape ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_generic_credential_assignment ... ok
[INFO] [stdout] test services::session::tests::label_missing_from_old_json_defaults_to_none ... ok
[INFO] [stdout] test services::session::tests::label_round_trips_through_serde ... ok
[INFO] [stdout] test services::session::tests::serialize_masked_is_idempotent_save_load_save ... ok
[INFO] [stdout] test services::session::tests::serialize_masked_leaves_innocuous_content_intact ... ok
[INFO] [stdout] test services::output_store::tests::persist_if_large_masks_secrets_on_disk_but_not_in_preview ... ok
[INFO] [stdout] test services::session::tests::serialize_masked_produces_parseable_json_for_unquoted_inner_secret ... ok
[INFO] [stdout] test query::tests::cancel_works_across_multiple_turns ... ok
[INFO] [stdout] test services::session::tests::serialize_masked_redacts_generic_credential_assignments ... ok
[INFO] [stdout] test services::git::tests::test_current_branch_with_commit ... ok
[INFO] [stdout] test services::session::tests::serialize_masked_handles_many_messages_with_mixed_secrets ... ok
[INFO] [stdout] test services::session::tests::serialize_masked_produces_parseable_json_for_multiple_secret_shapes ... ok
[INFO] [stdout] test services::session::tests::test_new_session_id_format ... ok
[INFO] [stdout] test services::session::tests::test_session_data_serialization_roundtrip ... ok
[INFO] [stdout] test services::session::tests::test_session_summary_fields ... ok
[INFO] [stdout] test services::shell_passthrough::tests::builds_message_with_header ... ok
[INFO] [stdout] test services::shell_passthrough::tests::builds_message_with_truncation_suffix ... ok
[INFO] [stdout] test services::session::tests::test_new_session_id_unique ... ok
[INFO] [stdout] test services::shell_passthrough::tests::captures_all_lines_under_limit ... ok
[INFO] [stdout] test services::session::tests::serialize_masked_redacts_secrets_in_messages ... ok
[INFO] [stdout] test services::session::tests::serialize_masked_redacts_secret_in_tool_result_block ... ok
[INFO] [stdout] test services::secret_masker::tests::strengthened_idempotency_across_split_pattern ... ok
[INFO] [stdout] test services::session::tests::test_save_and_load_session ... ok
[INFO] [stdout] test services::secret_masker::tests::masks_url_embedded_password_redis_without_user ... ok
[INFO] [stdout] test services::git::tests::test_status_and_diff ... ok
[INFO] [stdout] test services::shell_passthrough::tests::empty_output_returns_none ... ok
[INFO] [stdout] test services::shell_passthrough::tests::empty_input_produces_empty_buffer ... ok
[INFO] [stdout] test services::shell_passthrough::tests::full_pipeline_echo_to_context_message ... ok
[INFO] [stdout] test services::shell_passthrough::tests::captures_stderr ... ok
[INFO] [stdout] test services::shell_passthrough::tests::full_pipeline_empty_command_no_message ... ok
[INFO] [stdout] test services::shell_passthrough::tests::captures_stdout_from_echo ... ok
[INFO] [stdout] test services::shell_passthrough::tests::callbacks_receive_all_lines ... ok
[INFO] [stdout] test services::shell_passthrough::tests::captures_nonzero_exit_code ... ok
[INFO] [stdout] test services::shell_passthrough::tests::captures_multiline_output ... ok
[INFO] [stdout] test services::shell_passthrough::tests::captures_mixed_stdout_stderr ... ok
[INFO] [stdout] test services::shell_passthrough::tests::handles_empty_output_command ... ok
[INFO] [stdout] test services::shell_passthrough::tests::on_line_called_for_every_line_even_after_truncation ... ok
[INFO] [stdout] test services::shell_passthrough::tests::preserves_multiline_output ... ok
[INFO] [stdout] test services::shell_passthrough::tests::special_characters_in_command_preserved ... ok
[INFO] [stdout] test services::shell_passthrough::tests::single_line_no_newline ... ok
[INFO] [stdout] test services::tokens::tests::test_context_window_for_1000k_variant ... ok
[INFO] [stdout] test services::shell_passthrough::tests::truncates_at_limit ... ok
[INFO] [stdout] test services::tokens::tests::test_context_window_for_gpt35 ... ok
[INFO] [stdout] test services::shell_passthrough::tests::truncation_boundary_exact ... ok
[INFO] [stdout] test services::tokens::tests::test_context_window_for_model ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_block_tokens_image ... ok
[INFO] [stdout] test services::tokens::tests::test_empty_messages ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_block_tokens_text ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_block_tokens_thinking ... ok
[INFO] [stdout] test services::tokens::tests::test_context_window_for_unknown_model ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_block_tokens_document ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_block_tokens_tool_result ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_block_tokens_tool_use ... ok
[INFO] [stdout] test services::shell_passthrough::tests::full_pipeline_truncated_output_has_suffix ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_context_tokens_only_user_messages ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_message_tokens ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_message_tokens_assistant_with_tool_use ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_message_tokens_system ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_tokens ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_tokens_empty_string ... ok
[INFO] [stdout] test services::tokens::tests::test_estimate_tokens_unicode ... ok
[INFO] [stdout] test services::tokens::tests::test_max_output_tokens ... ok
[INFO] [stdout] test services::tokens::tests::test_max_output_tokens_for_unknown_model ... ok
[INFO] [stdout] test services::tokens::tests::test_max_thinking_tokens ... ok
[INFO] [stdout] test services::tokens::tests::test_max_thinking_tokens_for_unknown_model ... ok
[INFO] [stdout] test skills::remote::tests::test_list_installed_empty ... ok
[INFO] [stdout] test services::shell_passthrough::tests::invalid_command_returns_error_output ... ok
[INFO] [stdout] test skills::remote::tests::test_remote_skill_deserialize ... ok
[INFO] [stdout] test skills::remote::tests::test_remote_skill_optional_fields ... ok
[INFO] [stdout] test skills::remote::tests::test_uninstall_nonexistent ... ok
[INFO] [stdout] test skills::tests::test_expand_safe_allows_shell_by_default ... ok
[INFO] [stdout] test skills::tests::test_expand_safe_strips_shell_when_disabled ... ok
[INFO] [stdout] test skills::tests::test_parse_frontmatter ... ok
[INFO] [stdout] test skills::tests::test_parse_no_frontmatter ... ok
[INFO] [stdout] test skills::tests::test_strip_shell_blocks_multiple_langs ... ok
[INFO] [stdout] test services::shell_passthrough::tests::respects_cwd ... ok
[INFO] [stdout] test skills::tests::test_skill_expand ... ok
[INFO] [stdout] test skills::tests::test_strip_shell_blocks_preserves_non_shell ... ok
[INFO] [stdout] test state::tests::test_model_usage_tracking ... ok
[INFO] [stdout] test state::tests::test_new_state ... ok
[INFO] [stdout] test state::tests::test_push_message ... ok
[INFO] [stdout] test state::tests::test_record_usage ... ok
[INFO] [stdout] test state::tests::test_record_usage_accumulates ... ok
[INFO] [stdout] test services::shell_passthrough::tests::truncates_large_output ... ok
[INFO] [stdout] test tools::bash::tests::test_backtick_network ... ok
[INFO] [stdout] test tools::bash::tests::test_brace_expansion ... ok
[INFO] [stdout] test tools::bash::tests::test_chained_destructive ... ok
[INFO] [stdout] test tools::bash::tests::test_control_characters ... ok
[INFO] [stdout] test tools::bash::tests::test_dangerous_vars ... ok
[INFO] [stdout] test tools::bash::tests::test_destructive_patterns ... ok
[INFO] [stdout] test tools::bash::tests::test_eval_injection ... ok
[INFO] [stdout] test tools::bash::tests::test_hex_escape ... ok
[INFO] [stdout] test tools::bash::tests::test_ifs_injection ... ok
[INFO] [stdout] test tools::bash::tests::test_piped_destructive ... ok
[INFO] [stdout] test tools::bash::tests::test_proc_environ ... ok
[INFO] [stdout] test tools::bash::tests::test_process_substitution ... ok
[INFO] [stdout] test tools::bash::tests::test_safe_commands_pass ... ok
[INFO] [stdout] test tools::bash::tests::test_unicode_obfuscation ... ok
[INFO] [stdout] test tools::bash::tests::test_safe_commands_validate ... ok
[INFO] [stdout] test tools::bash::tests::test_zsh_builtins ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_check_parsed_security_eval_with_assignments ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_check_parsed_security_ld_preload_assignment ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_check_parsed_security_multiple_dangerous_in_pipeline ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_check_parsed_security_redirection_to_etc ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_detect_dangerous_command ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_check_parsed_security_wget_in_substitution ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_detect_dangerous_var_assignment ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_detect_network_in_substitution ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_empty_string ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_detect_quoted_dangerous_command ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_complex_pipeline ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_chain ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_command_substitution ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_heredoc ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_pipe ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_process_substitution ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_redirection ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_simple_command ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_variable_assignment ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_semicolon_separated ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_parse_variable_assignment_only ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_safe_command_passes ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_safe_git_command ... ok
[INFO] [stdout] test tools::plugin_exec::tests::test_discover_empty_dir ... ok
[INFO] [stdout] test tools::registry::tests::test_default_tools_count ... ok
[INFO] [stdout] test tools::registry::tests::test_get_by_name ... ok
[INFO] [stdout] test tools::registry::tests::test_register_custom_tool ... ok
[INFO] [stdout] test tools::plugin_exec::tests::test_discover_executable ... ok
[INFO] [stdout] test tools::registry::tests::test_schemas_returns_enabled ... ok
[INFO] [stdout] test tools::registry::tests::test_deferred_names ... ok
[INFO] [stdout] test tools::registry::tests::test_core_schemas_excludes_deferred ... ok
[INFO] [stdout] test tools::plugin_exec::tests::test_discover_no_bin_dir ... ok
[INFO] [stdout] test tools::bash_parse::tests::test_subshell_detection ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- sandbox::tests::auto_detect_off_macos_is_noop stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'sandbox::tests::auto_detect_off_macos_is_noop' (324) panicked at src/sandbox/mod.rs:288:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "bwrap"
[INFO] [stdout]  right: "noop"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5719cb08741a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5719cb08741a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5719cb08741a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5719cb08741a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5719cb0a055a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5719cb0a055a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x5719cb08ca52 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5719cb08ca52 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5719cb061c3f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5719cb061c3f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5719cb07de99 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5719ca79e64c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5719ca79e64c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5719cb07e112 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5719cb07e112 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5719cb061cf8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5719cb059149 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5719cb062d7d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5719cb0a0d9c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5719cb0a0c53 - core[35159d6ffb30e017]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5719ca65b3a8 - core[35159d6ffb30e017]::panicking::assert_failed::<&str, &str>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5719ca5ca4b8 - agent_code_lib[779850d8f77f0766]::sandbox::tests::auto_detect_off_macos_is_noop
[INFO] [stdout]                                at /opt/rustwide/workdir/src/sandbox/mod.rs:288:9
[INFO] [stdout]   22:     0x5719ca5c6a97 - agent_code_lib[779850d8f77f0766]::sandbox::tests::auto_detect_off_macos_is_noop::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/sandbox/mod.rs:287:39
[INFO] [stdout]   23:     0x5719ca43feb6 - <agent_code_lib[779850d8f77f0766]::sandbox::tests::auto_detect_off_macos_is_noop::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5719ca79192b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5719ca79192b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5719ca79f11b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5719ca79f11b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5719ca79f11b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5719ca79f11b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5719ca79f11b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5719ca79f11b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5719ca79f11b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5719ca799af4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5719ca799af4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5719ca7a1d22 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5719ca7a1d22 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5719ca7a1d22 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5719ca7a1d22 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5719ca7a1d22 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5719ca7a1d22 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5719ca7a1d22 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5719cb08630f - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x5719cb08630f - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x70a7e9df3aa4 - <unknown>
[INFO] [stdout]   45:     0x70a7e9e80a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     sandbox::tests::auto_detect_off_macos_is_noop
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 607 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "3c972ad54e46490c459678b58c969c1b2a3bad886ee4d782944d7a3ca5bd52e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c972ad54e46490c459678b58c969c1b2a3bad886ee4d782944d7a3ca5bd52e3", kill_on_drop: false }`
[INFO] [stdout] 3c972ad54e46490c459678b58c969c1b2a3bad886ee4d782944d7a3ca5bd52e3
