[INFO] fetching crate zeph-tools 0.21.1...
[INFO] testing zeph-tools-0.21.1 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate zeph-tools 0.21.1 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate zeph-tools 0.21.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate zeph-tools 0.21.1
[INFO] tweaked toml for crates.io crate zeph-tools 0.21.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate zeph-tools 0.21.1 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate zeph-tools 0.21.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded enumflags2 v0.7.12
[INFO] [stderr]   Downloaded landlock v0.4.4
[INFO] [stderr]   Downloaded enumflags2_derive v0.7.12
[INFO] [stderr]   Downloaded seccompiler v0.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0bf0d6ab0a6115b65c722f5339891defca00660c02753588113956093ca3f9e4
[INFO] running `Command { std: "docker" "start" "-a" "0bf0d6ab0a6115b65c722f5339891defca00660c02753588113956093ca3f9e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0bf0d6ab0a6115b65c722f5339891defca00660c02753588113956093ca3f9e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0bf0d6ab0a6115b65c722f5339891defca00660c02753588113956093ca3f9e4", kill_on_drop: false }`
[INFO] [stdout] 0bf0d6ab0a6115b65c722f5339891defca00660c02753588113956093ca3f9e4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2b924e0ed753c4fa1be59e5bd8aad441e1f8bf8bc3a4db62d931af8486102d7f
[INFO] running `Command { std: "docker" "start" "-a" "2b924e0ed753c4fa1be59e5bd8aad441e1f8bf8bc3a4db62d931af8486102d7f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling tokio v1.52.2
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling aws-lc-rs v1.16.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-sys v0.40.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling phf_codegen v0.13.1
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling string_cache_codegen v0.6.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling web_atoms v0.2.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling tree-sitter v0.26.8
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-go v0.25.0
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling tree-sitter-python v0.25.0
[INFO] [stderr]    Compiling tree-sitter-rust v0.24.2
[INFO] [stderr]    Compiling tree-sitter-javascript v0.25.0
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling string_cache v0.9.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rapidhash v4.4.1
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling dtoa v1.0.11
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling winnow v1.0.2
[INFO] [stderr]    Compiling tendril v0.5.0
[INFO] [stderr]    Compiling dtoa-short v0.3.5
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling metrics v0.24.5
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling selectors v0.37.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling cpu-time v1.0.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling zeph-common v0.21.1
[INFO] [stderr]    Compiling cssparser v0.36.0
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling markup5ever v0.39.0
[INFO] [stderr]    Compiling tree-sitter-md v0.5.3
[INFO] [stderr]    Compiling tree-sitter-json v0.24.8
[INFO] [stderr]    Compiling tree-sitter-bash v0.25.1
[INFO] [stderr]    Compiling tree-sitter-toml-ng v0.7.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling servo_arc v0.4.3
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling zeph-db v0.21.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]    Compiling html5ever v0.39.0
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling ordered-float v5.3.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling zeph-config v0.21.1
[INFO] [stderr]    Compiling scrape-core v0.2.6
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling arc-swap v1.9.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling sqlx v0.8.6
[INFO] [stderr]    Compiling zeph-tools v0.21.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 42s
[INFO] running `Command { std: "docker" "inspect" "2b924e0ed753c4fa1be59e5bd8aad441e1f8bf8bc3a4db62d931af8486102d7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b924e0ed753c4fa1be59e5bd8aad441e1f8bf8bc3a4db62d931af8486102d7f", kill_on_drop: false }`
[INFO] [stdout] 2b924e0ed753c4fa1be59e5bd8aad441e1f8bf8bc3a4db62d931af8486102d7f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b6f2c8291b526c6a2a15afb4ee0cf65e0f01cf2cbeb493f7c41431f1f03c3c8c
[INFO] running `Command { std: "docker" "start" "-a" "b6f2c8291b526c6a2a15afb4ee0cf65e0f01cf2cbeb493f7c41431f1f03c3c8c", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.52.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling insta v1.47.2
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling zeph-common v0.21.1
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling zeph-config v0.21.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]    Compiling sqlx v0.8.6
[INFO] [stderr]    Compiling zeph-db v0.21.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling zeph-tools v0.21.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 12s
[INFO] running `Command { std: "docker" "inspect" "b6f2c8291b526c6a2a15afb4ee0cf65e0f01cf2cbeb493f7c41431f1f03c3c8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6f2c8291b526c6a2a15afb4ee0cf65e0f01cf2cbeb493f7c41431f1f03c3c8c", kill_on_drop: false }`
[INFO] [stdout] b6f2c8291b526c6a2a15afb4ee0cf65e0f01cf2cbeb493f7c41431f1f03c3c8c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] de3cd2590d6d30efd9569f8fa45bcb4c2be917de1575ca15a2b39c32916f4bda
[INFO] running `Command { std: "docker" "start" "-a" "de3cd2590d6d30efd9569f8fa45bcb4c2be917de1575ca15a2b39c32916f4bda", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.59s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/zeph_tools-ed3cff5f41c833e0)
[INFO] [stdout] 
[INFO] [stdout] running 1138 tests
[INFO] [stdout] test adversarial_gate::tests::delegation_set_effective_trust ... ok
[INFO] [stdout] test adversarial_gate::tests::delegation_is_tool_retryable ... ok
[INFO] [stdout] test adversarial_gate::tests::confirmed_also_enforces_policy ... ok
[INFO] [stdout] test adversarial_gate::tests::delegation_tool_definitions ... ok
[INFO] [stdout] test adversarial_gate::tests::allow_path_delegates_to_inner ... ok
[INFO] [stdout] test adversarial_gate::tests::fail_closed_blocks_on_llm_error ... ok
[INFO] [stdout] test adversarial_gate::tests::delegation_set_skill_env ... ok
[INFO] [stdout] test adversarial_gate::tests::error_message_is_opaque ... ok
[INFO] [stdout] test adversarial_gate::tests::fail_open_allows_on_llm_error ... ok
[INFO] [stdout] test adversarial_gate::tests::legacy_execute_bypasses_policy ... ok
[INFO] [stdout] test adversarial_policy::tests::fail_open_flag_accessible ... ok
[INFO] [stdout] test adversarial_policy::tests::allow_path ... ok
[INFO] [stdout] test adversarial_policy::tests::deny_path ... ok
[INFO] [stdout] test adversarial_policy::tests::long_values_truncated ... ok
[INFO] [stdout] test adversarial_policy::tests::llm_failure_returns_error ... ok
[INFO] [stdout] test adversarial_policy::tests::malformed_response_becomes_deny ... ok
[INFO] [stdout] test adversarial_policy::tests::non_secret_keys_not_redacted ... ok
[INFO] [stdout] test adversarial_gate::tests::audit_entry_contains_adversarial_decision ... ok
[INFO] [stdout] test adversarial_policy::tests::param_escaping_wraps_in_code_fence ... ok
[INFO] [stdout] test adversarial_policy::tests::parse_policy_lines_strips_comments_and_blanks ... ok
[INFO] [stdout] test adversarial_policy::tests::parse_response_allow_variants ... ok
[INFO] [stdout] test adversarial_policy::tests::parse_response_deny_with_reason ... ok
[INFO] [stdout] test adversarial_policy::tests::parse_response_deny_without_colon ... ok
[INFO] [stdout] test adversarial_policy::tests::parse_response_injection_attempt_becomes_deny ... ok
[INFO] [stdout] test adversarial_policy::tests::secret_keys_are_redacted ... ok
[INFO] [stdout] test adversarial_policy::tests::secret_password_key_redacted ... ok
[INFO] [stdout] test anomaly::tests::blocked_counts_as_error ... ok
[INFO] [stdout] test adversarial_policy::tests::total_output_capped_at_2000 ... ok
[INFO] [stdout] test adversarial_gate::tests::audit_entry_deny_contains_decision ... ok
[INFO] [stdout] test adversarial_gate::tests::audit_entry_propagates_claim_source ... ok
[INFO] [stdout] test anomaly::tests::default_thresholds ... ok
[INFO] [stdout] test anomaly::tests::is_reasoning_model_openai_o_series ... ok
[INFO] [stdout] test anomaly::tests::critical_on_high_errors ... ok
[INFO] [stdout] test anomaly::tests::record_reasoning_quality_failure_increments_error_count ... ok
[INFO] [stdout] test anomaly::tests::reset_clears_window ... ok
[INFO] [stdout] test anomaly::tests::too_few_samples_returns_none ... ok
[INFO] [stdout] test anomaly::tests::no_anomaly_on_success ... ok
[INFO] [stdout] test anomaly::tests::is_reasoning_model_other_families ... ok
[INFO] [stdout] test anomaly::tests::window_slides ... ok
[INFO] [stdout] test anomaly::tests::warning_on_half_errors ... ok
[INFO] [stdout] test audit::tests::audit_entry_claim_source_none_omitted ... ok
[INFO] [stdout] test audit::tests::audit_entry_claim_source_some_present ... ok
[INFO] [stdout] test audit::tests::audit_entry_exit_code_none_omitted ... ok
[INFO] [stdout] test audit::tests::audit_entry_exit_code_serialized ... ok
[INFO] [stdout] test audit::tests::audit_entry_serialization ... ok
[INFO] [stdout] test audit::tests::audit_logger_stdout ... ok
[INFO] [stdout] test audit::tests::audit_logger_file_write_error_logged ... ok
[INFO] [stdout] test audit::tests::audit_result_blocked_serialization ... ok
[INFO] [stdout] test audit::tests::audit_result_error_serialization ... ok
[INFO] [stdout] test audit::tests::audit_result_timeout_serialization ... ok
[INFO] [stdout] test audit::tests::claim_source_serde_roundtrip ... ok
[INFO] [stdout] test audit::tests::log_tool_risk_summary_does_not_panic ... ok
[INFO] [stdout] test cache::tests::counter_increments_correctly ... ok
[INFO] [stdout] test audit::tests::log_tool_risk_summary_empty_input_does_not_panic ... ok
[INFO] [stdout] test cache::tests::clear_removes_all_and_resets_counters ... ok
[INFO] [stdout] test cache::tests::different_hash_is_miss ... ok
[INFO] [stdout] test cache::tests::different_tool_name_is_miss ... ok
[INFO] [stdout] test cache::tests::is_cacheable_returns_false_for_deny_list ... ok
[INFO] [stdout] test cache::tests::is_cacheable_returns_false_for_mcp_prefix ... ok
[INFO] [stdout] test cache::tests::is_cacheable_returns_true_for_read_only_tools ... ok
[INFO] [stdout] test audit::tests::audit_logger_multiple_entries ... ok
[INFO] [stdout] test cache::tests::miss_on_empty_cache ... ok
[INFO] [stdout] test cache::tests::put_then_get_returns_cached ... ok
[INFO] [stdout] test cache::tests::ttl_none_never_expires ... ok
[INFO] [stdout] test cache::tests::ttl_secs_returns_seconds_for_some ... ok
[INFO] [stdout] test cache::tests::lru_eviction_at_capacity ... ok
[INFO] [stdout] test cache::tests::ttl_secs_returns_zero_for_none ... ok
[INFO] [stdout] test cache::tests::ttl_zero_duration_expires_immediately ... ok
[INFO] [stdout] test composite::tests::both_none_returns_none ... ok
[INFO] [stdout] test composite::tests::composite_debug ... ok
[INFO] [stdout] test composite::tests::execute_confirmed_first_matches ... ok
[INFO] [stdout] test composite::tests::execute_confirmed_falls_through ... ok
[INFO] [stdout] test composite::tests::first_error_propagates_without_trying_second ... ok
[INFO] [stdout] test composite::tests::first_matches_returns_first ... ok
[INFO] [stdout] test composite::tests::second_error_propagates_when_first_none ... ok
[INFO] [stdout] test adversarial_gate::tests::deny_path_blocks_and_does_not_call_inner ... ok
[INFO] [stdout] test composite::tests::first_none_falls_through_to_second ... ok
[INFO] [stdout] test adversarial_policy::tests::validator_is_send_sync ... ok
[INFO] [stdout] test composite::tests::tool_call_routes_to_file_executor ... ok
[INFO] [stdout] test cache::tests::disabled_cache_always_misses ... ok
[INFO] [stdout] test audit::tests::audit_logger_file ... ok
[INFO] [stdout] test composite::tests::tool_call_routes_to_shell_executor ... ok
[INFO] [stdout] test compression::decorator::tests::compression_error_falls_back_to_raw ... ok
[INFO] [stdout] test composite::tests::tool_call_unhandled_returns_none ... ok
[INFO] [stdout] test compression::identity::tests::identity_always_passes_through ... ok
[INFO] [stdout] test compression::decorator::tests::maybe_compress_skips_when_below_threshold ... ok
[INFO] [stdout] test compression::decorator::tests::t4_audit_sees_raw_llm_sees_compressed ... ok
[INFO] [stdout] test compression::regex_safe::tests::rejects_invalid_pattern ... ok
[INFO] [stdout] test config::tests::adversarial_policy_default_exempt_tools_contains_skill_ops ... ok
[INFO] [stdout] test compression::rule_based::tests::compress_returns_none_when_no_rule_matches ... ok
[INFO] [stdout] test compression::rule_based::tests::compress_applies_matching_rule ... ok
[INFO] [stdout] test config::tests::default_audit_config ... ok
[INFO] [stdout] test config::tests::default_allowed_commands_empty ... ok
[INFO] [stdout] test cache::tests::ttl_expired_returns_none ... ok
[INFO] [stdout] test config::tests::default_scrape_config ... ok
[INFO] [stdout] test config::tests::default_shell_config ... ok
[INFO] [stdout] test config::tests::deserialize_allowed_commands ... ok
[INFO] [stdout] test config::tests::default_tools_config ... ok
[INFO] [stdout] test config::tests::deserialize_audit_config ... ok
[INFO] [stdout] test compression::rule_based::tests::compress_returns_none_when_not_shorter ... ok
[INFO] [stdout] test config::tests::deserialize_overflow_config_omitted_uses_defaults ... ok
[INFO] [stdout] test config::tests::deserialize_default_config ... ok
[INFO] [stdout] test config::tests::deserialize_overflow_config_partial_uses_defaults ... ok
[INFO] [stdout] test config::tests::deserialize_result_cache_config ... ok
[INFO] [stdout] test config::tests::empty_blocked_commands ... ok
[INFO] [stdout] test config::tests::permission_policy_default_uses_legacy ... ok
[INFO] [stdout] test config::tests::permission_policy_from_explicit_config ... ok
[INFO] [stdout] test compression::regex_safe::tests::compiles_simple_pattern ... ok
[INFO] [stdout] test config::tests::result_cache_config_defaults ... ok
[INFO] [stdout] test config::tests::permission_policy_from_legacy_fields ... ok
[INFO] [stdout] test config::tests::result_cache_omitted_uses_defaults ... ok
[INFO] [stdout] test config::tests::result_cache_ttl_zero_is_valid ... ok
[INFO] [stdout] test config::tests::tools_config_default_includes_scrape ... ok
[INFO] [stdout] test config::tests::tools_summarize_output_default_true ... ok
[INFO] [stdout] test config::tests::deserialize_omitted_fields_use_defaults ... ok
[INFO] [stdout] test config::tests::deserialize_overflow_config_full ... ok
[INFO] [stdout] test config::tests::utility_partial_toml_exempt_tools_uses_default_not_empty_vec ... ok
[INFO] [stdout] test config::tests::deserialize_scrape_config ... ok
[INFO] [stdout] test config::tests::deserialize_shell_security_fields ... ok
[INFO] [stdout] test config::tests::utility_scoring_default_exempt_tools_contains_skill_ops ... ok
[INFO] [stdout] test config::tests::deserialize_overflow_config_unknown_dir_field_is_ignored ... ok
[INFO] [stdout] test diagnostics::tests::diagnostics_check_subcmd_string ... ok
[INFO] [stdout] test cwd::tests::tool_definitions_contains_set_working_directory ... ok
[INFO] [stdout] test cwd::tests::set_cwd_errors_on_nonexistent_path ... ok
[INFO] [stdout] test cwd::tests::set_cwd_changes_process_cwd ... ok
[INFO] [stdout] test config::tests::tools_summarize_output_parsing ... ok
[INFO] [stdout] test diagnostics::tests::diagnostics_clippy_subcmd_string ... ok
[INFO] [stdout] test diagnostics::tests::diagnostics_level_default_is_check ... ok
[INFO] [stdout] test diagnostics::tests::diagnostics_level_deserialize_check ... ok
[INFO] [stdout] test cwd::tests::set_cwd_returns_none_for_unknown_tool ... ok
[INFO] [stdout] test diagnostics::tests::diagnostics_level_deserialize_clippy ... ok
[INFO] [stdout] test diagnostics::tests::diagnostics_params_path_optional ... ok
[INFO] [stdout] test diagnostics::tests::diagnostics_tool_definition ... ok
[INFO] [stdout] test diagnostics::tests::parse_cargo_json_compiler_message_with_span ... ok
[INFO] [stdout] test diagnostics::tests::parse_cargo_json_empty_message_skipped ... ok
[INFO] [stdout] test diagnostics::tests::diagnostics_unknown_tool_returns_none ... ok
[INFO] [stdout] test diagnostics::tests::diagnostics_sandbox_violation ... ok
[INFO] [stdout] test diagnostics::tests::parse_cargo_json_empty_input ... ok
[INFO] [stdout] test diagnostics::tests::parse_cargo_json_no_primary_span_uses_message_only ... ok
[INFO] [stdout] test diagnostics::tests::parse_cargo_json_non_primary_span_skipped_for_location ... ok
[INFO] [stdout] test diagnostics::tests::parse_cargo_json_invalid_json_line_skipped ... ok
[INFO] [stdout] test domain_match::tests::multi_wildcard_treated_as_exact ... ok
[INFO] [stdout] test diagnostics::tests::parse_cargo_json_warning_with_span ... ok
[INFO] [stdout] test diagnostics::tests::parse_cargo_json_max_cap_respected ... ok
[INFO] [stdout] test domain_match::tests::validate_accepts_valid_patterns ... ok
[INFO] [stdout] test domain_match::tests::validate_rejects_empty ... ok
[INFO] [stdout] test domain_match::tests::exact_match ... ok
[INFO] [stdout] test domain_match::tests::validate_rejects_slashes ... ok
[INFO] [stdout] test diagnostics::tests::parse_cargo_json_non_compiler_message_ignored ... ok
[INFO] [stdout] test domain_match::tests::validate_rejects_spaces ... ok
[INFO] [stdout] test domain_match::tests::wildcard_single_subdomain ... ok
[INFO] [stdout] test error_taxonomy::tests::classify_io_not_found_is_permanent_not_tool_not_found ... ok
[INFO] [stdout] test error_taxonomy::tests::error_kind_backward_compat ... ok
[INFO] [stdout] test error_taxonomy::tests::classify_http_status_codes ... ok
[INFO] [stdout] test error_taxonomy::tests::classify_io_connection_errors ... ok
[INFO] [stdout] test domain_match::tests::wildcard_does_not_match_empty_label ... ok
[INFO] [stdout] test error_taxonomy::tests::phase_setup_for_tool_not_found ... ok
[INFO] [stdout] test error_taxonomy::tests::quality_failure_categories ... ok
[INFO] [stdout] test error_taxonomy::tests::phase_param_handling ... ok
[INFO] [stdout] test error_taxonomy::tests::retryable_categories ... ok
[INFO] [stdout] test execution_context::tests::builder_methods_chain ... ok
[INFO] [stdout] test error_taxonomy::tests::tool_error_feedback_format ... ok
[INFO] [stdout] test error_taxonomy::tests::needs_parameter_reformat ... ok
[INFO] [stdout] test execution_context::tests::trusted_from_parts_is_trusted ... ok
[INFO] [stdout] test execution_context::tests::clone_shares_arc ... ok
[INFO] [stdout] test executor::tests::b4_tool_error_http_429_not_quality_failure ... ok
[INFO] [stdout] test execution_context::tests::default_is_untrusted_and_empty ... ok
[INFO] [stdout] test executor::tests::b4_tool_error_http_503_not_quality_failure ... ok
[INFO] [stdout] test execution_context::tests::with_envs_adds_multiple ... ok
[INFO] [stdout] test execution_context::tests::with_env_overwrites_existing ... ok
[INFO] [stdout] test executor::tests::b4_tool_error_execution_timed_out_not_quality_failure ... ok
[INFO] [stdout] test executor::tests::deserialize_params_all_optional_empty ... ok
[INFO] [stdout] test executor::tests::deserialize_params_ignores_extra_fields ... ok
[INFO] [stdout] test executor::tests::deserialize_params_missing_required_field ... ok
[INFO] [stdout] test executor::tests::deserialize_params_wrong_type ... ok
[INFO] [stdout] test executor::tests::deserialize_params_valid ... ok
[INFO] [stdout] test executor::tests::dyn_executor_requires_confirmation_default_false ... ok
[INFO] [stdout] test executor::tests::dyn_executor_execute_delegates ... ok
[INFO] [stdout] test executor::tests::dyn_executor_execute_confirmed_delegates ... ok
[INFO] [stdout] test executor::tests::dyn_executor_requires_confirmation_delegates ... ok
[INFO] [stdout] test executor::tests::dyn_executor_set_effective_trust_delegates ... ok
[INFO] [stdout] test executor::tests::error_kind_confirmation_required_is_permanent ... ok
[INFO] [stdout] test executor::tests::error_kind_blocked_is_permanent ... ok
[INFO] [stdout] test executor::tests::dyn_executor_execute_tool_call_delegates ... ok
[INFO] [stdout] test executor::tests::dyn_executor_tool_definitions_delegates ... ok
[INFO] [stdout] test executor::tests::error_kind_cancelled_is_permanent ... ok
[INFO] [stdout] test executor::tests::error_kind_display ... ok
[INFO] [stdout] test executor::tests::error_kind_execution_already_exists_is_permanent ... ok
[INFO] [stdout] test executor::tests::error_kind_execution_broken_pipe_is_transient ... ok
[INFO] [stdout] test executor::tests::error_kind_execution_connection_aborted_is_transient ... ok
[INFO] [stdout] test executor::tests::error_kind_execution_connection_reset_is_transient ... ok
[INFO] [stdout] test executor::tests::error_kind_execution_interrupted_is_transient ... ok
[INFO] [stdout] test executor::tests::error_kind_execution_not_found_is_permanent ... ok
[INFO] [stdout] test executor::tests::error_kind_execution_permission_denied_is_permanent ... ok
[INFO] [stdout] test executor::tests::error_kind_execution_other_is_permanent ... ok
[INFO] [stdout] test executor::tests::error_kind_execution_timed_out_is_transient ... ok
[INFO] [stdout] test executor::tests::error_kind_sandbox_violation_is_permanent ... ok
[INFO] [stdout] test executor::tests::error_kind_execution_would_block_is_transient ... ok
[INFO] [stdout] test executor::tests::error_kind_timeout_is_transient ... ok
[INFO] [stdout] test executor::tests::error_kind_invalid_params_is_permanent ... ok
[INFO] [stdout] test executor::tests::filter_stats_format_inline_zero ... ok
[INFO] [stdout] test executor::tests::execute_tool_call_default_returns_none ... ok
[INFO] [stdout] test executor::tests::filter_stats_savings_pct ... ok
[INFO] [stdout] test executor::tests::extract_fenced_blocks_no_prefix_match ... ok
[INFO] [stdout] test executor::tests::filter_stats_savings_pct_zero ... ok
[INFO] [stdout] test executor::tests::requires_confirmation_default_is_false_on_tool_executor ... ok
[INFO] [stdout] test executor::tests::requires_confirmation_erased_default_on_erased_trait_is_true ... ok
[INFO] [stdout] test executor::tests::requires_confirmation_erased_delegates_override ... ok
[INFO] [stdout] test executor::tests::filter_stats_estimated_tokens_saved ... ok
[INFO] [stdout] test executor::tests::filter_stats_format_inline ... ok
[INFO] [stdout] test executor::tests::tool_error_confirmation_required_category ... ok
[INFO] [stdout] test executor::tests::tool_error_confirmation_required_display ... ok
[INFO] [stdout] test executor::tests::tool_error_blocked_display ... ok
[INFO] [stdout] test executor::tests::tool_error_cancelled_category ... ok
[INFO] [stdout] test executor::tests::requires_confirmation_erased_delegates_to_tool_executor_default ... ok
[INFO] [stdout] test executor::tests::tool_error_blocked_category_is_policy_blocked ... ok
[INFO] [stdout] test executor::tests::tool_error_execution_connection_refused_category_is_network_error ... ok
[INFO] [stdout] test executor::tests::tool_error_execution_display ... ok
[INFO] [stdout] test executor::tests::tool_error_execution_not_found_category_is_permanent_failure ... ok
[INFO] [stdout] test executor::tests::tool_error_execution_timed_out_category_is_timeout ... ok
[INFO] [stdout] test executor::tests::tool_error_http_400_category_is_invalid_parameters ... ok
[INFO] [stdout] test executor::tests::tool_error_http_401_category_is_policy_blocked ... ok
[INFO] [stdout] test executor::tests::tool_error_http_404_category_is_permanent_failure ... ok
[INFO] [stdout] test executor::tests::tool_error_http_403_category_is_policy_blocked ... ok
[INFO] [stdout] test executor::tests::tool_error_http_429_category_is_rate_limited ... ok
[INFO] [stdout] test executor::tests::tool_error_http_500_category_is_server_error ... ok
[INFO] [stdout] test executor::tests::tool_error_http_502_category_is_server_error ... ok
[INFO] [stdout] test executor::tests::tool_error_http_503_category_is_server_error ... ok
[INFO] [stdout] test executor::tests::tool_error_http_503_is_transient_triggers_phase2_retry ... ok
[INFO] [stdout] test executor::tests::tool_error_invalid_params_category ... ok
[INFO] [stdout] test executor::tests::tool_error_sandbox_violation_display ... ok
[INFO] [stdout] test executor::tests::tool_error_shell_exit126_is_policy_blocked ... ok
[INFO] [stdout] test executor::tests::tool_error_sandbox_violation_category_is_policy_blocked ... ok
[INFO] [stdout] test executor::tests::tool_output_display ... ok
[INFO] [stdout] test executor::tests::tool_error_timeout_display ... ok
[INFO] [stdout] test executor::tests::truncate_tool_output_exact_limit ... ok
[INFO] [stdout] test executor::tests::tool_error_shell_exit127_is_permanent_failure ... ok
[INFO] [stdout] test executor::tests::tool_error_shell_not_quality_failure ... ok
[INFO] [stdout] test executor::tests::truncate_tool_output_long_split ... ok
[INFO] [stdout] test executor::tests::tool_error_invalid_params_display ... ok
[INFO] [stdout] test executor::tests::tool_error_timeout_category ... ok
[INFO] [stdout] test executor::tests::truncate_tool_output_short_passthrough ... ok
[INFO] [stdout] test file::tests::absolute_path_unchanged ... ok
[INFO] [stdout] test executor::tests::truncate_tool_output_notice_contains_count ... ok
[INFO] [stdout] test file::tests::copy_path_source_sandbox_violation ... ok
[INFO] [stdout] test file::tests::copy_path_file ... ok
[INFO] [stdout] test file::tests::create_directory_creates_nested ... ok
[INFO] [stdout] test file::tests::create_directory_sandbox_violation ... ok
[INFO] [stdout] test file::tests::copy_path_directory_recursive ... ok
[INFO] [stdout] test file::tests::create_directory_idempotent ... ok
[INFO] [stdout] test file::tests::delete_path_file ... ok
[INFO] [stdout] test file::tests::delete_path_non_empty_dir_without_recursive_fails ... ok
[INFO] [stdout] test file::tests::delete_path_recursive ... ok
[INFO] [stdout] test file::tests::delete_path_empty_directory ... ok
[INFO] [stdout] test file::tests::delete_path_sandbox_violation ... ok
[INFO] [stdout] test file::tests::delete_path_refuses_sandbox_root ... ok
[INFO] [stdout] test file::tests::copy_path_sandbox_violation ... ok
[INFO] [stdout] test file::tests::copy_dir_skips_symlinks ... ok
[INFO] [stdout] test file::tests::empty_allowed_paths_uses_cwd ... ok
[INFO] [stdout] test file::tests::edit_not_found ... ok
[INFO] [stdout] test file::tests::edit_file ... ok
[INFO] [stdout] test file::tests::find_path_filters_outside_sandbox ... ok
[INFO] [stdout] test file::tests::grep_relative_path_validated ... ok
[INFO] [stdout] test file::tests::find_path_respects_max_results ... ok
[INFO] [stdout] test file::tests::grep_finds_matches ... ok
[INFO] [stdout] test file::tests::find_path_invalid_pattern_returns_error ... ok
[INFO] [stdout] test file::tests::find_path_finds_files ... ok
[INFO] [stdout] test file::tests::list_directory_empty_dir ... ok
[INFO] [stdout] test file::tests::list_directory_on_file_returns_error ... ok
[INFO] [stdout] test file::tests::list_directory_nonexistent_returns_error ... ok
[INFO] [stdout] test file::tests::list_directory_sandbox_violation ... ok
[INFO] [stdout] test file::tests::missing_required_path_returns_invalid_params ... ok
[INFO] [stdout] test file::tests::normalize_path_at_sandbox_boundary ... ok
[INFO] [stdout] test file::tests::list_directory_shows_symlinks ... ok
[INFO] [stdout] test file::tests::list_directory_returns_entries ... ok
[INFO] [stdout] test file::tests::move_path_renames_file ... ok
[INFO] [stdout] test file::tests::move_path_source_sandbox_violation ... ok
[INFO] [stdout] test file::tests::normalize_path_collapses_dot ... ok
[INFO] [stdout] test file::tests::normalize_path_collapses_dotdot ... ok
[INFO] [stdout] test file::tests::move_path_cross_sandbox_denied ... ok
[INFO] [stdout] test file::tests::normalize_path_normal_path ... ok
[INFO] [stdout] test file::tests::read_sandbox_allow_overrides_deny ... ok
[INFO] [stdout] test file::tests::read_file ... ok
[INFO] [stdout] test file::tests::read_sandbox_deny_blocks_file ... ok
[INFO] [stdout] test file::tests::normalize_path_nested_dotdot ... ok
[INFO] [stdout] test file::tests::read_sandbox_empty_deny_allows_all ... ok
[INFO] [stdout] test file::tests::read_sandbox_grep_skips_denied_files ... ok
[INFO] [stdout] test file::tests::tilde_only_expands_to_home ... ok
[INFO] [stdout] test file::tests::tilde_path_is_expanded ... ok
[INFO] [stdout] test file::tests::read_with_offset_and_limit ... ok
[INFO] [stdout] test file::tests::tool_definitions_all_use_tool_call ... ok
[INFO] [stdout] test file::tests::tool_definitions_returns_ten_tools ... ok
[INFO] [stdout] test file::tests::sandbox_violation ... ok
[INFO] [stdout] test file::tests::tool_definitions_read_schema_has_params ... ok
[INFO] [stdout] test file::tests::tool_executor_execute_tool_call_delegates ... ok
[INFO] [stdout] test file::tests::unknown_tool_returns_none ... ok
[INFO] [stdout] test file::tests::tool_executor_tool_definitions_lists_all ... ok
[INFO] [stdout] test file::tests::validate_path_dotdot_bypass_nonexistent_blocked ... ok
[INFO] [stdout] test file::tests::validate_path_dot_components_inside_sandbox_passes ... ok
[INFO] [stdout] test file::tests::validate_path_dotdot_nested_bypass_blocked ... ok
[INFO] [stdout] test file::tests::write_sandbox_bypass_nonexistent_path ... ok
[INFO] [stdout] test file::tests::validate_path_inside_sandbox_passes ... ok
[INFO] [stdout] test file::tests::write_file ... ok
[INFO] [stdout] test filter::declarative::tests::compile_dedup_rejects_dollar_brace_replacement ... ok
[INFO] [stdout] test filter::declarative::tests::compile_dedup_rejects_dollar_replacement ... ok
[INFO] [stdout] test filter::declarative::tests::compile_dedup_accepts_plain_text_replacement ... ok
[INFO] [stdout] test filter::declarative::tests::compile_drop_then_recompile ... ok
[INFO] [stdout] test filter::declarative::tests::compile_keep_matching_empty_patterns_rejected ... ok
[INFO] [stdout] test filter::declarative::tests::compile_match_empty_returns_error ... ok
[INFO] [stdout] test filter::declarative::tests::compile_match_invalid_regex_returns_error ... ok
[INFO] [stdout] test filter::declarative::tests::compile_match_prefix ... ok
[INFO] [stdout] test filter::declarative::tests::compile_match_exact ... ok
[INFO] [stdout] test filter::declarative::tests::compile_match_regex ... ok
[INFO] [stdout] test filter::declarative::tests::compile_match_regex_over_512_chars_rejected ... ok
[INFO] [stdout] test filter::declarative::tests::compile_match_regex_exactly_512_chars_accepted ... ok
[INFO] [stdout] test filter::declarative::tests::compile_repeated_truncate_consistent ... ok
[INFO] [stdout] test filter::declarative::tests::compile_strategy_change_consistent ... ok
[INFO] [stdout] test adversarial_policy::tests::timeout_returns_error ... ok
[INFO] [stdout] test filter::declarative::tests::compile_strategy_group_by_rule_invalid_regex ... ok
[INFO] [stdout] test filter::declarative::tests::compile_strategy_keep_matching_valid ... ok
[INFO] [stdout] test filter::declarative::tests::compile_strategy_strip_noise_pattern_over_512_chars_rejected ... ok
[INFO] [stdout] test filter::declarative::tests::compile_strategy_strip_noise_invalid_pattern ... ok
[INFO] [stdout] test filter::declarative::tests::compile_strategy_strip_noise_valid ... ok
[INFO] [stdout] test filter::declarative::tests::compile_strategy_truncate_head_tail_exceeds_max ... ok
[INFO] [stdout] test filter::declarative::tests::compile_strategy_truncate_valid ... ok
[INFO] [stdout] test filter::declarative::tests::compile_strip_annotated_empty_patterns_rejected ... ok
[INFO] [stdout] test filter::declarative::tests::compile_strip_noise_empty_patterns_rejected ... ok
[INFO] [stdout] test filter::declarative::tests::compile_repeated_produces_consistent_filters ... ok
[INFO] [stdout] test filter::declarative::tests::compound_command_prefix_matches_last_segment ... ok
[INFO] [stdout] test filter::declarative::tests::compound_command_regex_match ... ok
[INFO] [stdout] test file::tests::find_path_truncates_at_default_limit ... ok
[INFO] [stdout] test filter::declarative::tests::clippy_grouped_warnings_snapshot ... ok
[INFO] [stdout] test filter::declarative::tests::cargo_build_error_snapshot ... ok
[INFO] [stdout] test filter::declarative::tests::cargo_build_filter_snapshot ... ok
[INFO] [stdout] test filter::declarative::tests::dedup_cap_hit_reports_capped ... ok
[INFO] [stdout] test filter::declarative::tests::dedup_cap_respected_does_not_panic_with_large_max_unique ... ok
[INFO] [stdout] test filter::declarative::tests::dedup_all_unique_fallback ... ok
[INFO] [stdout] test filter::declarative::tests::dedup_deduplicates_log_lines ... ok
[INFO] [stdout] test filter::declarative::tests::dedup_normalize_replaces_patterns ... ok
[INFO] [stdout] test filter::declarative::tests::dedup_short_fallback ... ok
[INFO] [stdout] test filter::declarative::tests::declarative_filter_never_panics_truncate ... ok
[INFO] [stdout] test filter::declarative::tests::declarative_filter_never_panics_test_summary ... ok
[INFO] [stdout] test filter::declarative::tests::brew_install_filter_strips_download_lines ... ok
[INFO] [stdout] test filter::declarative::tests::filter_diff_snapshot ... ok
[INFO] [stdout] test filter::declarative::tests::filter_status_snapshot ... ok
[INFO] [stdout] test filter::declarative::tests::curl_wget_filter_strips_noise ... ok
[INFO] [stdout] test filter::declarative::tests::git_diff_compresses ... ok
[INFO] [stdout] test filter::declarative::tests::git_diff_empty_fallback ... ok
[INFO] [stdout] test filter::declarative::tests::git_diff_truncation_note ... ok
[INFO] [stdout] test filter::declarative::tests::docker_build_filter_strips_step_lines ... ok
[INFO] [stdout] test filter::declarative::tests::embedded_defaults_parse_without_error ... ok
[INFO] [stdout] test filter::declarative::tests::git_status_empty_fallback ... ok
[INFO] [stdout] test filter::declarative::tests::git_status_summarizes_long_format ... ok
[INFO] [stdout] test filter::declarative::tests::git_status_summarizes_short_format ... ok
[INFO] [stdout] test filter::declarative::tests::docker_compose_filter_strips_container_lines ... ok
[INFO] [stdout] test filter::declarative::tests::git_log_filter_truncates_to_head20 ... ok
[INFO] [stdout] test filter::declarative::tests::du_df_ps_filter_matches_and_truncates ... ok
[INFO] [stdout] test filter::declarative::tests::find_filter_matches_and_truncates ... ok
[INFO] [stdout] test filter::declarative::tests::group_by_rule_error_passthrough ... ok
[INFO] [stdout] test filter::declarative::tests::group_by_rule_empty_input_returns_fallback ... ok
[INFO] [stdout] test filter::declarative::tests::is_cargo_noise_detects_prefixes ... ok
[INFO] [stdout] test filter::declarative::tests::group_by_rule_groups_warnings ... ok
[INFO] [stdout] test filter::declarative::tests::keep_matching_empty_input_returns_fallback ... ok
[INFO] [stdout] test filter::declarative::tests::keep_matching_fallback_when_nothing_matches ... ok
[INFO] [stdout] test filter::declarative::tests::keep_matching_keeps_only_matching_lines ... ok
[INFO] [stdout] test filter::declarative::tests::group_by_rule_no_warnings_strips_cargo_noise ... ok
[INFO] [stdout] test filter::declarative::tests::go_test_filter_truncates_long_output ... ok
[INFO] [stdout] test filter::declarative::tests::load_declarative_filters_from_custom_file ... ok
[INFO] [stdout] test filter::declarative::tests::linter_filter_matches_and_truncates ... ok
[INFO] [stdout] test filter::declarative::tests::load_declarative_filters_invalid_toml_returns_empty ... ok
[INFO] [stdout] test filter::declarative::tests::git_push_filter_keeps_matching_lines ... ok
[INFO] [stdout] test filter::declarative::tests::load_declarative_filters_skips_disabled_rules ... ok
[INFO] [stdout] test filter::declarative::tests::load_declarative_filters_skips_invalid_regex ... ok
[INFO] [stdout] test filter::declarative::tests::grep_rg_filter_matches_and_truncates ... ok
[INFO] [stdout] test filter::declarative::tests::js_test_filter_matches_and_truncates ... ok
[INFO] [stdout] test filter::declarative::tests::load_declarative_filters_from_missing_dir_uses_defaults ... ok
[INFO] [stdout] test filter::declarative::tests::kubectl_get_filter_truncates_long_output ... ok
[INFO] [stdout] test filter::declarative::tests::ls_filter_strips_noise_dirs ... ok
[INFO] [stdout] test filter::declarative::tests::npm_install_filter_strips_warn_notice ... ok
[INFO] [stdout] test filter::declarative::tests::strip_annotated_empty_input_returns_fallback ... ok
[INFO] [stdout] test filter::declarative::tests::strip_annotated_no_panic_single_kept_line_large_head_tail ... ok
[INFO] [stdout] test filter::declarative::tests::pytest_filter_truncates_long_output ... ok
[INFO] [stdout] test filter::declarative::tests::strip_annotated_passthrough_on_error_no_noise ... ok
[INFO] [stdout] test filter::declarative::tests::declarative_filter_never_panics_strip_noise ... ok
[INFO] [stdout] test filter::declarative::tests::strip_annotated_no_panic_when_head_tail_exceeds_kept ... ok
[INFO] [stdout] test filter::declarative::tests::strip_annotated_passthrough_short_no_noise ... ok
[INFO] [stdout] test filter::declarative::tests::strip_noise_empty_input_returns_fallback ... ok
[INFO] [stdout] test filter::declarative::tests::strip_noise_removes_matching_lines ... ok
[INFO] [stdout] test filter::declarative::tests::strip_noise_returns_fallback_when_nothing_removed ... ok
[INFO] [stdout] test filter::declarative::tests::strip_noise_strips_ansi_before_matching ... ok
[INFO] [stdout] test filter::declarative::tests::strip_annotated_with_summary_pattern_but_no_summary_line ... ok
[INFO] [stdout] test filter::declarative::tests::registry_applies_declarative_filter ... ok
[INFO] [stdout] test filter::declarative::tests::make_filter_truncates_long_output ... ok
[INFO] [stdout] test filter::declarative::tests::strip_annotated_removes_noise_with_count ... ok
[INFO] [stdout] test filter::declarative::tests::test_summary_empty_input_returns_fallback ... ok
[INFO] [stdout] test filter::declarative::tests::test_summary_failure_preserves_details ... ok
[INFO] [stdout] test filter::declarative::tests::test_summary_failures_snapshot ... ok
[INFO] [stdout] test filter::declarative::tests::test_summary_success_compresses ... ok
[INFO] [stdout] test filter::declarative::tests::toml_parse_empty_rules ... ok
[INFO] [stdout] test filter::declarative::tests::toml_parse_git_status_rule ... ok
[INFO] [stdout] test filter::declarative::tests::toml_parse_dedup_default_patterns ... ok
[INFO] [stdout] test filter::declarative::tests::toml_parse_strip_noise_rule ... ok
[INFO] [stdout] test filter::declarative::tests::test_summary_no_summary_passthrough ... ok
[INFO] [stdout] test filter::declarative::tests::toml_parse_test_summary_rule ... ok
[INFO] [stdout] test filter::declarative::tests::toml_parse_truncate_rule ... ok
[INFO] [stdout] test filter::declarative::tests::truncate_exactly_at_threshold_returns_fallback ... ok
[INFO] [stdout] test filter::declarative::tests::truncate_omitted_count_correct ... ok
[INFO] [stdout] test filter::declarative::tests::truncate_short_output_passthrough ... ok
[INFO] [stdout] test filter::declarative::tests::toml_parse_truncate_default_head_tail ... ok
[INFO] [stdout] test filter::security::tests::append_adds_security_section ... ok
[INFO] [stdout] test filter::security::tests::append_does_nothing_on_clean_output ... ok
[INFO] [stdout] test filter::declarative::tests::truncate_empty_input_returns_fallback ... ok
[INFO] [stdout] test filter::declarative::tests::truncate_long_output_applies_head_tail ... ok
[INFO] [stdout] test filter::security::tests::compile_extra_warns_on_invalid ... ok
[INFO] [stdout] test filter::security::tests::detects_http_status_codes ... ok
[INFO] [stdout] test filter::security::tests::detects_panic ... ok
[INFO] [stdout] test filter::security::tests::detects_permission_denied ... ok
[INFO] [stdout] test filter::security::tests::detects_auth_failure ... ok
[INFO] [stdout] test filter::security::tests::detects_sql_injection ... ok
[INFO] [stdout] test filter::security::tests::detects_rustsec ... ok
[INFO] [stdout] test filter::security::tests::detects_unsafe_warnings ... ok
[INFO] [stdout] test filter::security::tests::detects_weak_crypto ... ok
[INFO] [stdout] test filter::security::tests::integration_filter_removes_security_restored ... ok
[INFO] [stdout] test filter::security::tests::extra_patterns_work ... ok
[INFO] [stdout] test filter::security::tests::detects_vulnerability ... ok
[INFO] [stdout] test filter::tests::command_matcher_compound_cd_and ... ok
[INFO] [stdout] test filter::tests::command_matcher_compound_no_false_positive ... ok
[INFO] [stdout] test filter::tests::command_matcher_compound_with_pipe ... ok
[INFO] [stdout] test filter::tests::command_matcher_custom ... ok
[INFO] [stdout] test filter::tests::command_matcher_prefix ... ok
[INFO] [stdout] test filter::tests::command_matcher_exact ... ok
[INFO] [stdout] test filter::tests::command_matcher_regex ... ok
[INFO] [stdout] test filter::tests::confidence_aggregation ... ok
[INFO] [stdout] test filter::tests::count_lines_helper ... ok
[INFO] [stdout] test filter::tests::extract_last_command_basic ... ok
[INFO] [stdout] test filter::tests::filter_config_default_enabled ... ok
[INFO] [stdout] test filter::tests::filter_confidence_derives ... ok
[INFO] [stdout] test filter::tests::filter_config_deserialize_minimal ... ok
[INFO] [stdout] test filter::tests::filter_metrics_new_zeros ... ok
[INFO] [stdout] test filter::tests::filter_config_deserialize_security ... ok
[INFO] [stdout] test filter::tests::filter_metrics_record ... ok
[INFO] [stdout] test filter::tests::filter_metrics_savings_pct ... ok
[INFO] [stdout] test filter::security::tests::no_false_positives ... ok
[INFO] [stdout] test filter::tests::filter_result_savings_pct_zero_raw ... ok
[INFO] [stdout] test filter::tests::make_result_counts_lines ... ok
[INFO] [stdout] test filter::tests::filter_result_savings_pct ... ok
[INFO] [stdout] test filter::tests::filter_config_deserialize ... ok
[INFO] [stdout] test filter::tests::pipeline_multi_stage_chains_and_aggregates ... ok
[INFO] [stdout] test filter::declarative::tests::pip_install_filter_strips_collecting_lines ... ok
[INFO] [stdout] test filter::tests::registry_disabled_returns_none ... ok
[INFO] [stdout] test filter::tests::registry_no_match_returns_none ... ok
[INFO] [stdout] test filter::tests::registry_pipeline_with_two_matching_filters ... ok
[INFO] [stdout] test filter::tests::sanitize_collapses_blank_lines ... ok
[INFO] [stdout] test filter::tests::sanitize_preserves_crlf_content ... ok
[INFO] [stdout] test filter::tests::sanitize_strips_ansi ... ok
[INFO] [stdout] test filter::tests::sanitize_strips_cr_progress ... ok
[INFO] [stdout] test moderation::tests::delete_all_reactions_api_error_maps_to_invalid_params ... ok
[INFO] [stdout] test moderation::tests::delete_all_reactions_missing_params_returns_invalid_params ... ok
[INFO] [stdout] test moderation::tests::delete_all_reactions_success ... ok
[INFO] [stdout] test moderation::tests::delete_reaction_api_error_maps_to_invalid_params ... ok
[INFO] [stdout] test moderation::tests::delete_reaction_empty_reaction_returns_invalid_params ... ok
[INFO] [stdout] test moderation::tests::delete_reaction_missing_params_returns_invalid_params ... ok
[INFO] [stdout] test moderation::tests::delete_reaction_overlong_reaction_returns_invalid_params ... ok
[INFO] [stdout] test moderation::tests::delete_reaction_success ... ok
[INFO] [stdout] test filter::declarative::tests::load_declarative_filters_oversized_file_uses_defaults ... ok
[INFO] [stdout] test moderation::tests::does_not_require_confirmation_for_unknown_tool ... ok
[INFO] [stdout] test moderation::tests::execute_fenced_returns_none ... ok
[INFO] [stdout] test moderation::tests::requires_confirmation_for_delete_all_reactions ... ok
[INFO] [stdout] test moderation::tests::requires_confirmation_for_delete_reaction ... ok
[INFO] [stdout] test moderation::tests::tool_definitions_returns_two_tools ... ok
[INFO] [stdout] test moderation::tests::unknown_tool_returns_none ... ok
[INFO] [stdout] test net::tests::broadcast_v4 ... ok
[INFO] [stdout] test net::tests::cgnat_boundary_not_blocked ... ok
[INFO] [stdout] test net::tests::cgnat_v4 ... ok
[INFO] [stdout] test net::tests::ipv4_mapped_private ... ok
[INFO] [stdout] test net::tests::ipv4_mapped_unspecified ... ok
[INFO] [stdout] test net::tests::link_local_v4 ... ok
[INFO] [stdout] test net::tests::link_local_v6 ... ok
[INFO] [stdout] test net::tests::loopback_v4 ... ok
[INFO] [stdout] test net::tests::loopback_v6 ... ok
[INFO] [stdout] test net::tests::private_class_a ... ok
[INFO] [stdout] test net::tests::private_class_b ... ok
[INFO] [stdout] test net::tests::private_class_c ... ok
[INFO] [stdout] test net::tests::public_v4_not_blocked ... ok
[INFO] [stdout] test net::tests::public_v6_not_blocked ... ok
[INFO] [stdout] test net::tests::ula_v6 ... ok
[INFO] [stdout] test net::tests::unspecified_v4 ... ok
[INFO] [stdout] test net::tests::unspecified_v6 ... ok
[INFO] [stdout] test permissions::tests::allow_rule_matches_glob ... ok
[INFO] [stdout] test moderation::tests::moderation_error_http_maps_to_tool_error_http_502 ... ok
[INFO] [stdout] test permissions::tests::ask_rule_returns_ask ... ok
[INFO] [stdout] test permissions::tests::autonomy_level_deserialize ... ok
[INFO] [stdout] test permissions::tests::case_insensitive_input_matching ... ok
[INFO] [stdout] test permissions::tests::autonomy_level_default_is_supervised ... ok
[INFO] [stdout] test permissions::tests::deny_rule_blocks ... ok
[INFO] [stdout] test permissions::tests::case_sensitive_tool_id ... ok
[INFO] [stdout] test permissions::tests::first_matching_rule_wins ... ok
[INFO] [stdout] test permissions::tests::from_legacy_creates_deny_and_ask_rules ... ok
[INFO] [stdout] test permissions::tests::from_legacy_preserves_supervised_behavior ... ok
[INFO] [stdout] test permissions::tests::is_fully_denied_all_deny ... ok
[INFO] [stdout] test permissions::tests::is_fully_denied_mixed ... ok
[INFO] [stdout] test permissions::tests::is_fully_denied_no_rules ... ok
[INFO] [stdout] test permissions::tests::no_matching_rule_falls_through_to_ask ... ok
[INFO] [stdout] test permissions::tests::no_rules_returns_default_ask ... ok
[INFO] [stdout] test permissions::tests::permissions_config_deserialize ... ok
[INFO] [stdout] test permissions::tests::readonly_allows_readonly_tools ... ok
[INFO] [stdout] test permissions::tests::readonly_denies_write_tools ... ok
[INFO] [stdout] test permissions::tests::supervised_uses_rules ... ok
[INFO] [stdout] test permissions::tests::wildcard_pattern ... ok
[INFO] [stdout] test policy::tests::alias_bash_rule_matches_bash_tool_id ... ok
[INFO] [stdout] test policy::tests::alias_sh_rule_matches_bash_tool_id ... ok
[INFO] [stdout] test policy::tests::alias_shell_rule_matches_bash_tool_id ... ok
[INFO] [stdout] test policy::tests::alias_unknown_tool_unaffected ... ok
[INFO] [stdout] test policy::tests::deep_dotdot_traversal_blocked_by_deny_rule ... ok
[INFO] [stdout] test policy::tests::deny_wins_deny_first ... ok
[INFO] [stdout] test filter::tests::output_filter_registry_apply_never_panics ... ok
[INFO] [stdout] test policy::tests::deny_wins_deny_last ... ok
[INFO] [stdout] test policy::tests::max_rules_exactly_256_compiles ... ok
[INFO] [stdout] test policy::tests::policy_config_toml_round_trip ... ok
[INFO] [stdout] test policy::tests::policy_config_default_is_disabled_deny ... ok
[INFO] [stdout] test policy::tests::policy_file_load_error ... ok
[INFO] [stdout] test policy::tests::policy_file_loaded_from_cwd_subdir ... ok
[INFO] [stdout] test filter::tests::filter_pipeline_run_never_panics ... ok
[INFO] [stdout] test policy::tests::policy_file_symlink_escaping_project_root_is_rejected ... ok
[INFO] [stdout] test filter::declarative::tests::terraform_plan_filter_truncates_long_output ... ok
[INFO] [stdout] test policy::tests::test_args_match_matches_param_value ... ok
[INFO] [stdout] test policy::tests::test_default_allow ... ok
[INFO] [stdout] test policy::tests::test_default_deny ... ok
[INFO] [stdout] test policy::tests::test_deny_wins ... ok
[INFO] [stdout] test permissions::tests::full_allows_everything ... ok
[INFO] [stdout] test policy::tests::test_path_normalization_dot_segments ... ok
[INFO] [stdout] test policy::tests::test_too_many_rules_rejected ... ok
[INFO] [stdout] test policy::tests::test_tool_name_normalization ... ok
[INFO] [stdout] test policy::tests::test_trust_level_condition ... ok
[INFO] [stdout] test policy_gate::tests::allow_by_default_when_default_allow ... ok
[INFO] [stdout] test policy::tests::test_path_normalization ... ok
[INFO] [stdout] test policy_gate::tests::confirmed_allow_delegates_to_inner ... ok
[INFO] [stdout] test policy_gate::tests::confirmed_also_enforces_policy ... ok
[INFO] [stdout] test policy_gate::tests::critical_trajectory_blocks_any_allow ... ok
[INFO] [stdout] test policy_gate::tests::deny_by_default_when_default_deny ... ok
[INFO] [stdout] test policy_gate::tests::deny_rule_blocks_tool ... ok
[INFO] [stdout] test policy_gate::tests::error_message_is_generic ... ok
[INFO] [stdout] test policy_gate::tests::high_trajectory_does_not_block_allowed_tool ... ok
[INFO] [stdout] test policy_gate::tests::legacy_execute_blocked_when_policy_enabled ... ok
[INFO] [stdout] test policy_gate::tests::set_effective_trust_quarantined_blocks_verified_threshold_rule ... ok
[INFO] [stdout] test policy_gate::tests::set_effective_trust_trusted_satisfies_verified_threshold_rule ... ok
[INFO] [stdout] test registry::tests::default_registry_is_empty ... ok
[INFO] [stdout] test registry::tests::find_existing_tool ... ok
[INFO] [stdout] test registry::tests::find_nonexistent_returns_none ... ok
[INFO] [stdout] test registry::tests::format_filtered_excludes_fully_denied ... ok
[INFO] [stdout] test registry::tests::format_filtered_includes_mixed_rules ... ok
[INFO] [stdout] test registry::tests::format_filtered_no_rules_includes_all ... ok
[INFO] [stdout] test policy_gate::tests::allow_rule_permits_tool ... ok
[INFO] [stdout] test registry::tests::format_for_prompt_shows_invocation_fenced ... ok
[INFO] [stdout] test registry::tests::format_for_prompt_shows_invocation_tool_call ... ok
[INFO] [stdout] test registry::tests::format_for_prompt_shows_optional_params ... ok
[INFO] [stdout] test registry::tests::format_for_prompt_shows_param_info ... ok
[INFO] [stdout] test registry::tests::from_definitions_stores_tools ... ok
[INFO] [stdout] test sandbox::noop::tests::noop_supports_any_policy ... ok
[INFO] [stdout] test sandbox::noop::tests::noop_wrap_is_identity ... ok
[INFO] [stdout] test sandbox::tests::build_sandbox_nonstrict_falls_back_to_noop ... ok
[INFO] [stdout] test sandbox::tests::build_sandbox_strict_fails_when_unsupported ... ok
[INFO] [stdout] test sandbox::tests::canonicalize_paths_drops_nonexistent_path ... ok
[INFO] [stdout] test schema_filter::tests::accessors_return_configured_values ... ok
[INFO] [stdout] test schema_filter::tests::always_on_tools_always_included ... ok
[INFO] [stdout] test schema_filter::tests::apply_always_on_bypasses_gate ... ok
[INFO] [stdout] test schema_filter::tests::apply_deadlock_fallback_when_all_gated ... ok
[INFO] [stdout] test schema_filter::tests::apply_excludes_gated_tool ... ok
[INFO] [stdout] test schema_filter::tests::apply_includes_gated_tool_when_dep_met ... ok
[INFO] [stdout] test schema_filter::tests::cosine_similarity_empty_returns_zero ... ok
[INFO] [stdout] test schema_filter::tests::cosine_similarity_identical_vectors ... ok
[INFO] [stdout] test schema_filter::tests::cosine_similarity_mismatched_length_returns_zero ... ok
[INFO] [stdout] test schema_filter::tests::cosine_similarity_orthogonal_vectors ... ok
[INFO] [stdout] test policy::tests::policy_file_happy_path ... FAILED
[INFO] [stdout] test schema_filter::tests::cycle_detection_does_not_clear_ancestor_requires ... ok
[INFO] [stdout] test policy::tests::policy_file_too_large ... FAILED
[INFO] [stdout] test policy::tests::policy_file_parse_error ... FAILED
[INFO] [stdout] test schema_filter::tests::cycle_detection_simple_cycle ... ok
[INFO] [stdout] test schema_filter::tests::empty_embeddings_includes_all_via_no_embedding_fallback ... ok
[INFO] [stdout] test schema_filter::tests::filter_tool_names_deadlock_fallback_passes_all ... ok
[INFO] [stdout] test schema_filter::tests::find_mentioned_tool_ids_case_insensitive ... ok
[INFO] [stdout] test schema_filter::tests::filter_tool_names_multi_turn_unlocks_after_completion ... ok
[INFO] [stdout] test schema_filter::tests::find_mentioned_tool_ids_word_boundary_matches_standalone ... ok
[INFO] [stdout] test schema_filter::tests::inclusion_reason_correctness ... ok
[INFO] [stdout] test schema_filter::tests::find_mentioned_tool_ids_word_boundary_no_false_positives ... ok
[INFO] [stdout] test schema_filter::tests::multi_turn_chain_three_steps ... ok
[INFO] [stdout] test schema_filter::tests::multi_turn_chain_two_steps ... ok
[INFO] [stdout] test schema_filter::tests::multi_turn_multi_requires_both_must_complete ... ok
[INFO] [stdout] test schema_filter::tests::multi_turn_preference_boost_accumulates ... ok
[INFO] [stdout] test schema_filter::tests::preference_boost_capped_at_max ... ok
[INFO] [stdout] test schema_filter::tests::name_mentioned_does_not_bypass_hard_gate ... ok
[INFO] [stdout] test schema_filter::tests::name_mention_force_includes ... ok
[INFO] [stdout] test schema_filter::tests::preference_boost_none_met ... ok
[INFO] [stdout] test schema_filter::tests::preference_boost_partial ... ok
[INFO] [stdout] test schema_filter::tests::requirements_met_all_satisfied ... ok
[INFO] [stdout] test schema_filter::tests::requirements_met_no_deps ... ok
[INFO] [stdout] test schema_filter::tests::requirements_met_unmet ... ok
[INFO] [stdout] test schema_filter::tests::short_mcp_description_auto_included ... ok
[INFO] [stdout] test schema_filter::tests::top_k_exceeds_filterable_count_includes_all ... ok
[INFO] [stdout] test schema_filter::tests::top_k_ranking_selects_most_similar ... ok
[INFO] [stdout] test schema_filter::tests::requirements_met_unconfigured_tool ... ok
[INFO] [stdout] test schema_filter::tests::top_k_zero_includes_all_filterable ... ok
[INFO] [stdout] test scope::tests::accidentally_full_pattern_returns_error ... ok
[INFO] [stdout] test schema_filter::tests::version_counter_incremented_on_recompute ... ok
[INFO] [stdout] test scope::tests::build_scoped_executor_accepts_unqualified_registry_id ... ok
[INFO] [stdout] test scope::tests::build_scoped_executor_with_builtin_prefix_and_glob ... ok
[INFO] [stdout] test scope::tests::build_from_config_with_scopes ... ok
[INFO] [stdout] test scope::tests::compiled_scope_admits_only_matched ... ok
[INFO] [stdout] test scope::tests::dead_pattern_provisional_returns_warning ... ok
[INFO] [stdout] test scope::tests::dead_pattern_strict_returns_error ... ok
[INFO] [stdout] test scope::tests::executor_rejects_out_of_scope_call ... ok
[INFO] [stdout] test scope::tests::full_scope_admits_everything ... ok
[INFO] [stdout] test scope::tests::re_resolve_updates_admitted_set ... ok
[INFO] [stdout] test scope::tests::general_scope_allows_wildcard ... ok
[INFO] [stdout] test scope::tests::scope_for_task_returns_ids ... ok
[INFO] [stdout] test scope::tests::scope_for_task_returns_none_for_unknown ... ok
[INFO] [stdout] test scope::tests::tool_definitions_filtered_by_scope ... ok
[INFO] [stdout] test scope::tests::unnamespaced_tool_id_admitted_via_builtin_prefix ... ok
[INFO] [stdout] test scope::tests::unqualified_tool_out_of_scope_rejected ... ok
[INFO] [stdout] test scrape::tests::absolute_redirect_overrides_base ... ok
[INFO] [stdout] test scope::tests::executor_allows_in_scope_call ... ok
[INFO] [stdout] test scope::tests::tool_definitions_filtered_by_scope_with_unqualified_ids ... ok
[INFO] [stdout] test scrape::tests::attr_missing_returns_empty ... ok
[INFO] [stdout] test scrape::tests::check_domain_policy_allowlist_permits_matching ... ok
[INFO] [stdout] test scrape::tests::check_domain_policy_deny_overrides_allow ... ok
[INFO] [stdout] test scrape::tests::check_domain_policy_denylist_blocks ... ok
[INFO] [stdout] test scrape::tests::check_domain_policy_denylist_does_not_block_other_domains ... ok
[INFO] [stdout] test scrape::tests::check_domain_policy_empty_lists_allow_all ... ok
[INFO] [stdout] test scrape::tests::check_domain_policy_wildcard_in_denylist ... ok
[INFO] [stdout] test scrape::tests::default_extract_returns_text ... ok
[INFO] [stdout] test scrape::tests::broadcast_ipv4_blocked ... ok
[INFO] [stdout] test scrape::tests::domain_matches_exact ... ok
[INFO] [stdout] test scrape::tests::check_domain_policy_allowlist_blocks_unknown ... ok
[INFO] [stdout] test scrape::tests::domain_matches_multi_wildcard_treated_as_exact ... ok
[INFO] [stdout] test scrape::tests::domain_matches_wildcard_does_not_match_empty_label ... ok
[INFO] [stdout] test scrape::tests::domain_matches_wildcard_single_subdomain ... ok
[INFO] [stdout] test scrape::tests::empty_html_returns_no_results ... ok
[INFO] [stdout] test scrape::tests::executor_blocked_url_errors ... ok
[INFO] [stdout] test scrape::tests::empty_text_skipped ... ok
[INFO] [stdout] test scrape::tests::executor_empty_text_returns_none ... ok
[INFO] [stdout] test scrape::tests::executor_invalid_json_errors ... ok
[INFO] [stdout] test scrape::tests::executor_localhost_url_blocked ... ok
[INFO] [stdout] test scrape::tests::executor_no_blocks_returns_none ... ok
[INFO] [stdout] test scrape::tests::executor_multiple_blocks_first_blocked ... ok
[INFO] [stdout] test scrape::tests::executor_private_ip_blocked ... ok
[INFO] [stdout] test scrape::tests::extract_html_mode ... ok
[INFO] [stdout] test scrape::tests::extract_attr_href ... ok
[INFO] [stdout] test scrape::tests::extract_inner_html ... ok
[INFO] [stdout] test scrape::tests::extract_mode_attr_empty_name ... ok
[INFO] [stdout] test scrape::tests::extract_mode_debug ... ok
[INFO] [stdout] test scrape::tests::extract_mode_attr ... ok
[INFO] [stdout] test scrape::tests::extract_mode_text ... ok
[INFO] [stdout] test scrape::tests::extract_mode_unknown_defaults_to_text ... ok
[INFO] [stdout] test scrape::tests::extract_multiple_blocks ... ok
[INFO] [stdout] test scrape::tests::extract_mode_html ... ok
[INFO] [stdout] test scrape::tests::extract_scrape_blocks_empty_block_content ... ok
[INFO] [stdout] test scrape::tests::extract_scrape_blocks_whitespace_only ... ok
[INFO] [stdout] test scrape::tests::extract_multiple_elements ... ok
[INFO] [stdout] test registry::tests::format_for_prompt_contains_tools ... ok
[INFO] [stdout] test schema_filter::tests::cycle_detection_does_not_affect_non_cycle_tools ... ok
[INFO] [stdout] test scrape::tests::extract_single_block ... ok
[INFO] [stdout] test scrape::tests::extract_text_from_html ... ok
[INFO] [stdout] test scrape::tests::fetch_audit_blocked_url_logged ... ok
[INFO] [stdout] test scrape::tests::extract_with_limit ... ok
[INFO] [stdout] test filter::tests::registry_metrics_updated ... ok
[INFO] [stdout] test filter::tests::registry_default_has_filters ... ok
[INFO] [stdout] test scrape::tests::executor_unreachable_host_returns_error ... ok
[INFO] [stdout] test scrape::tests::fetch_execute_tool_call_end_to_end ... ok
[INFO] [stdout] test scrape::tests::fetch_html_body_too_large_returns_error ... ok
[INFO] [stdout] test scrape::tests::fetch_html_404_returns_error ... ok
[INFO] [stdout] test scrape::tests::fetch_http_scheme_blocked ... ok
[INFO] [stdout] test scrape::tests::fetch_localhost_blocked ... ok
[INFO] [stdout] test scrape::tests::fetch_private_ip_blocked ... ok
[INFO] [stdout] test scrape::tests::fetch_html_non_2xx_returns_error ... ok
[INFO] [stdout] test scrape::tests::fetch_unknown_tool_returns_none ... ok
[INFO] [stdout] test scrape::tests::file_rejected ... ok
[INFO] [stdout] test scrape::tests::ftp_rejected ... ok
[INFO] [stdout] test scrape::tests::http_rejected ... ok
[INFO] [stdout] test scrape::tests::internal_tld_blocked ... ok
[INFO] [stdout] test scrape::tests::invalid_selector_errors ... ok
[INFO] [stdout] test scrape::tests::invalid_url_rejected ... ok
[INFO] [stdout] test scrape::tests::ipv4_mapped_ipv6_link_local_blocked ... ok
[INFO] [stdout] test scrape::tests::ipv4_mapped_ipv6_loopback_blocked ... ok
[INFO] [stdout] test scrape::tests::ipv4_mapped_ipv6_private_blocked ... ok
[INFO] [stdout] test scrape::tests::ipv4_mapped_ipv6_public_allowed ... ok
[INFO] [stdout] test scrape::tests::ipv6_link_local_blocked ... ok
[INFO] [stdout] test scrape::tests::ipv6_loopback_blocked ... ok
[INFO] [stdout] test scrape::tests::ipv6_unique_local_blocked ... ok
[INFO] [stdout] test scrape::tests::is_private_host_ipv6_unspecified_is_true ... ok
[INFO] [stdout] test scrape::tests::fetch_html_redirect_no_location_returns_error ... ok
[INFO] [stdout] test scrape::tests::is_private_host_localhost_is_true ... ok
[INFO] [stdout] test scrape::tests::is_private_host_public_domain_is_false ... ok
[INFO] [stdout] test scrape::tests::limit_zero_returns_no_results ... ok
[INFO] [stdout] test scrape::tests::is_private_host_public_ipv6_is_false ... ok
[INFO] [stdout] test scrape::tests::link_local_ip_blocked ... ok
[INFO] [stdout] test scrape::tests::local_tld_blocked ... ok
[INFO] [stdout] test scrape::tests::localhost_blocked ... ok
[INFO] [stdout] test scrape::tests::log_audit_success_writes_to_file ... ok
[INFO] [stdout] test scrape::tests::loopback_ip_blocked ... ok
[INFO] [stdout] test scrape::tests::max_redirects_constant_is_three ... ok
[INFO] [stdout] test scrape::tests::multiline_json_block ... ok
[INFO] [stdout] test scrape::tests::nested_selector ... ok
[INFO] [stdout] test scrape::tests::log_audit_blocked_writes_to_file ... ok
[INFO] [stdout] test scrape::tests::no_blocks_returns_empty ... ok
[INFO] [stdout] test scrape::tests::no_audit_logger_does_not_panic_on_blocked_fetch ... ok
[INFO] [stdout] test scrape::tests::non_2xx_status_error_format ... ok
[INFO] [stdout] test scrape::tests::non_scrape_block_ignored ... ok
[INFO] [stdout] test scrape::tests::not_found_status_error_format ... ok
[INFO] [stdout] test scrape::tests::parse_and_extract_multiple_selectors ... ok
[INFO] [stdout] test scrape::tests::no_matches_returns_message ... ok
[INFO] [stdout] test scrape::tests::parse_attr_extract ... ok
[INFO] [stdout] test scrape::tests::parse_minimal_instruction ... ok
[INFO] [stdout] test scrape::tests::parse_valid_instruction ... ok
[INFO] [stdout] test scrape::tests::private_10_blocked ... ok
[INFO] [stdout] test scrape::tests::parse_invalid_json_errors ... ok
[INFO] [stdout] test scrape::tests::private_172_blocked ... ok
[INFO] [stdout] test scrape::tests::private_192_blocked ... ok
[INFO] [stdout] test scrape::tests::public_ip_allowed ... ok
[INFO] [stdout] test scrape::tests::public_domain_not_blocked ... ok
[INFO] [stdout] test scrape::tests::redirect_chain_three_hops_all_public ... ok
[INFO] [stdout] test scrape::tests::redirect_http_downgrade_rejected ... ok
[INFO] [stdout] test scrape::tests::redirect_location_private_ip_blocked ... ok
[INFO] [stdout] test scrape::tests::redirect_location_internal_domain_blocked ... ok
[INFO] [stdout] test scrape::tests::redirect_relative_url_resolves_correctly ... ok
[INFO] [stdout] test scrape::tests::redirect_to_http_rejected ... ok
[INFO] [stdout] test scrape::tests::redirect_to_private_ip_rejected_by_validate_url ... ok
[INFO] [stdout] test scrape::tests::relative_redirect_relative_path ... ok
[INFO] [stdout] test scrape::tests::relative_redirect_same_host_path ... ok
[INFO] [stdout] test scrape::tests::resolve_ipv6_loopback_rejected ... ok
[INFO] [stdout] test scrape::tests::resolve_loopback_rejected ... ok
[INFO] [stdout] test scrape::tests::resolve_no_host_returns_ok ... ok
[INFO] [stdout] test scrape::tests::resolve_private_10_rejected ... ok
[INFO] [stdout] test scrape::tests::resolve_private_192_rejected ... ok
[INFO] [stdout] test scrape::tests::redirect_no_location_error_message ... ok
[INFO] [stdout] test scrape::tests::subdomain_localhost_blocked ... ok
[INFO] [stdout] test scrape::tests::too_many_redirects_error_message ... ok
[INFO] [stdout] test scrape::tests::scrape_instruction_debug ... ok
[INFO] [stdout] test scrape::tests::tool_definitions_schema_has_all_params ... ok
[INFO] [stdout] test scrape::tests::tool_definitions_returns_web_scrape_and_fetch ... ok
[INFO] [stdout] test scrape::tests::tool_error_to_audit_result_execution_error_maps_correctly ... ok
[INFO] [stdout] test scrape::tests::tool_error_to_audit_result_blocked_maps_correctly ... ok
[INFO] [stdout] test scrape::tests::unclosed_block_ignored ... ok
[INFO] [stdout] test scrape::tests::unspecified_ipv4_blocked ... ok
[INFO] [stdout] test scrape::tests::tool_error_to_audit_result_timeout_maps_correctly ... ok
[INFO] [stdout] test scrape::tests::url_no_scheme_rejected ... ok
[INFO] [stdout] test scrape::tests::url_with_port_allowed ... ok
[INFO] [stdout] test scrape::tests::validate_url_data_scheme_blocked ... ok
[INFO] [stdout] test scrape::tests::validate_url_empty_string ... ok
[INFO] [stdout] test scrape::tests::validate_url_javascript_scheme_blocked ... ok
[INFO] [stdout] test scrape::tests::valid_https_url ... ok
[INFO] [stdout] test scrape::tests::webscrape_executor_debug ... ok
[INFO] [stdout] test scrape::tests::webscrape_executor_new_with_custom_config ... ok
[INFO] [stdout] test scrape::tests::web_scrape_audit_blocked_url_logged ... ok
[INFO] [stdout] test scrape::tests::with_audit_sets_logger ... ok
[INFO] [stdout] test search_code::tests::format_hits_strips_root_prefix ... ok
[INFO] [stdout] test search_code::tests::search_code_description_excludes_user_facts ... ok
[INFO] [stdout] test search_code::tests::search_code_requires_query_or_symbol ... ok
[INFO] [stdout] test scrape::tests::fetch_html_success_returns_body ... ok
[INFO] [stdout] test search_code::tests::tool_definitions_include_search_code ... ok
[INFO] [stdout] test search_code::tests::search_code_uses_grep_fallback ... ok
[INFO] [stdout] test shadow_probe::tests::allow_probe_delegates_to_inner ... ok
[INFO] [stdout] test shadow_probe::tests::deny_probe_blocks_confirmed_call ... ok
[INFO] [stdout] test shadow_probe::tests::is_tool_speculatable_always_false ... ok
[INFO] [stdout] test shadow_probe::tests::deny_probe_returns_safety_denied ... ok
[INFO] [stdout] test shadow_probe::tests::legacy_execute_bypasses_probe ... ok
[INFO] [stdout] test shell::background::tests::run_id_copy_semantics ... ok
[INFO] [stdout] test shadow_probe::tests::skip_probe_delegates_to_inner ... ok
[INFO] [stdout] test shell::background::tests::run_id_uniqueness ... ok
[INFO] [stdout] test shell::tests::absolute_path_to_blocked_binary_blocked ... ok
[INFO] [stdout] test shell::tests::absolute_path_via_env_wrapper_blocked ... ok
[INFO] [stdout] test shell::background::tests::run_id_display_is_32_char_hex ... ok
[INFO] [stdout] test shell::tests::affected_paths_no_scope ... ok
[INFO] [stdout] test shell::tests::affected_paths_with_scope ... ok
[INFO] [stdout] test shell::tests::allow_network_false_blocks_network_commands ... ok
[INFO] [stdout] test shell::tests::allowed_commands_case_insensitive ... ok
[INFO] [stdout] test shell::tests::allow_network_true_keeps_default_behavior ... ok
[INFO] [stdout] test shell::tests::allowed_commands_removes_from_default ... ok
[INFO] [stdout] test shell::tests::allowed_does_not_override_explicit_block ... ok
[INFO] [stdout] test shell::tests::allowed_unknown_command_ignored ... ok
[INFO] [stdout] test shell::tests::auto_rollback_on_failure ... ok
[INFO] [stdout] test shell::tests::backslash_bypass_blocked ... ok
[INFO] [stdout] test shell::tests::backtick_with_blocked_command_is_blocked ... ok
[INFO] [stdout] test shell::tests::backtick_without_blocked_command_triggers_confirmation ... ok
[INFO] [stdout] test shell::tests::bash_c_bypass_not_detected_known_limitation ... ok
[INFO] [stdout] test shell::tests::blocked_case_insensitive ... ok
[INFO] [stdout] test shell::tests::blocked_command_logged_to_audit ... ok
[INFO] [stdout] test search_code::tests::search_code_finds_structural_symbol ... ok
[INFO] [stdout] test shell::tests::blocked_command_rejected ... ok
[INFO] [stdout] test shell::tests::blocked_infix_match ... ok
[INFO] [stdout] test shell::tests::blocked_prefix_match ... ok
[INFO] [stdout] test shell::tests::blocklist_not_bypassed_by_permissive_policy ... ok
[INFO] [stdout] test scrape::tests::fetch_returns_body_via_mock ... ok
[INFO] [stdout] test shell::tests::cancel_token_none_does_not_cancel ... ok
[INFO] [stdout] test shell::tests::check_blocklist_allows_safe_commands ... ok
[INFO] [stdout] test shell::tests::check_blocklist_blocks_mkfs ... ok
[INFO] [stdout] test shell::tests::check_blocklist_blocks_process_substitution_gt ... ok
[INFO] [stdout] test shell::tests::check_blocklist_blocks_process_substitution_lt ... ok
[INFO] [stdout] test shell::tests::check_blocklist_blocks_rm_rf_root ... ok
[INFO] [stdout] test shell::tests::check_blocklist_blocks_shutdown ... ok
[INFO] [stdout] test shell::tests::check_blocklist_blocks_subshell_backtick ... ok
[INFO] [stdout] test shell::tests::check_blocklist_blocks_subshell_dollar_paren ... ok
[INFO] [stdout] test shell::tests::check_blocklist_blocks_sudo ... ok
[INFO] [stdout] test shell::tests::chrono_now_returns_valid_timestamp ... ok
[INFO] [stdout] test shell::tests::classify_exit_0_returns_none ... ok
[INFO] [stdout] test shell::tests::classify_exit_126_is_policy_blocked ... ok
[INFO] [stdout] test shell::tests::classify_exit_127_is_permanent_failure ... ok
[INFO] [stdout] test shell::tests::classify_exit_1_generic_returns_none ... ok
[INFO] [stdout] test shell::tests::classify_exit_1_no_such_file ... ok
[INFO] [stdout] test shell::tests::classify_exit_1_permission_denied_stderr ... ok
[INFO] [stdout] test shell::tests::command_prefix_wrapper_blocked ... ok
[INFO] [stdout] test shell::tests::config_deserialization ... ok
[INFO] [stdout] test shell::tests::config_deserialization_defaults ... ok
[INFO] [stdout] test shell::tests::confirm_commands_still_work_without_policy ... ok
[INFO] [stdout] test shell::tests::confirmation_required_returned ... ok
[INFO] [stdout] test shell::tests::custom_rollback_exit_codes ... ok
[INFO] [stdout] test shell::tests::dd_pattern_blocks_dd_if ... ok
[INFO] [stdout] test shell::tests::default_blocked_always_active ... ok
[INFO] [stdout] test shell::tests::default_blocked_not_bypassed_by_full_autonomy_policy ... ok
[INFO] [stdout] test shell::tests::default_confirm_patterns_cover_eval ... ok
[INFO] [stdout] test shell::tests::default_confirm_patterns_cover_here_string ... ok
[INFO] [stdout] test shell::tests::default_confirm_patterns_cover_process_substitution ... ok
[INFO] [stdout] test shell::tests::default_confirm_patterns_loaded ... ok
[INFO] [stdout] test shell::tests::duplicate_patterns_deduped ... ok
[INFO] [stdout] test shell::tests::effective_shell_command_bash_minus_c ... ok
[INFO] [stdout] test shell::tests::effective_shell_command_full_path_shell ... ok
[INFO] [stdout] test shell::tests::effective_shell_command_no_minus_c_returns_none ... ok
[INFO] [stdout] test shell::tests::effective_shell_command_non_shell_returns_none ... ok
[INFO] [stdout] test shell::tests::effective_shell_command_sh_minus_c ... ok
[INFO] [stdout] test shell::tests::empty_allowed_commands_changes_nothing ... ok
[INFO] [stdout] test shell::tests::empty_command_not_blocked ... ok
[INFO] [stdout] test shell::tests::empty_env_blocklist_passes_all_vars ... ok
[INFO] [stdout] test shell::tests::env_blocklist_extra_env_still_injected ... ok
[INFO] [stdout] test shell::tests::env_blocklist_multiple_prefixes ... ok
[INFO] [stdout] test shell::tests::env_blocklist_preserves_safe_vars ... ok
[INFO] [stdout] test shell::tests::env_blocklist_strips_sensitive_vars ... ok
[INFO] [stdout] test shell::tests::env_prefix_wrapper_blocked ... ok
[INFO] [stdout] test shell::tests::eval_bypass_not_detected_known_limitation ... ok
[INFO] [stdout] test shell::tests::eval_triggers_confirmation ... ok
[INFO] [stdout] test shell::tests::exec_prefix_wrapper_blocked ... ok
[INFO] [stdout] test shell::tests::execute_bash_command_not_found ... ok
[INFO] [stdout] test shell::tests::execute_bash_error_handling ... ok
[INFO] [stdout] test shell::tests::execute_bash_injects_extra_env ... ok
[INFO] [stdout] test shell::tests::execute_case_insensitive_blocked ... ok
[INFO] [stdout] test shell::tests::execute_confirmed_blocked_command_rejected ... ok
[INFO] [stdout] test shell::tests::execute_confirmed_skips_confirmation ... ok
[INFO] [stdout] test shell::tests::execute_default_blocked_returns_error ... ok
[INFO] [stdout] test shell::tests::execute_empty_output ... ok
[INFO] [stdout] test shell::tests::background_runs_snapshot_returns_active_run ... ok
[INFO] [stdout] test shell::tests::execute_no_blocks_returns_none ... ok
[INFO] [stdout] test shell::tests::execute_simple_command ... ok
[INFO] [stdout] test shell::tests::execute_stderr_output ... ok
[INFO] [stdout] test shell::tests::execute_multiple_blocks_counted ... ok
[INFO] [stdout] test shell::tests::cancel_token_kills_child_process ... ok
[INFO] [stdout] test shell::tests::execute_tool_call_missing_command_returns_invalid_params ... ok
[INFO] [stdout] test shell::tests::execute_stdout_and_stderr_combined ... ok
[INFO] [stdout] test shell::tests::execute_tool_call_empty_command_returns_none ... ok
[INFO] [stdout] test shell::tests::execute_tool_call_with_background_true ... ok
[INFO] [stdout] test shell::tests::extract_multiple_bash_blocks ... ok
[INFO] [stdout] test shell::tests::extract_paths_detects_dotdot_standalone ... ok
[INFO] [stdout] test shell::tests::extract_paths_does_not_match_env_assignments ... ok
[INFO] [stdout] test shell::tests::extract_paths_detects_relative ... ok
[INFO] [stdout] test shell::tests::extract_paths_does_not_match_urls ... ok
[INFO] [stdout] test shell::tests::extract_paths_empty ... ok
[INFO] [stdout] test shell::tests::extract_paths_handles_trailing_chars ... ok
[INFO] [stdout] test shell::tests::extract_paths_quoted_path_with_spaces ... ok
[INFO] [stdout] test shell::tests::extract_paths_relative_nested ... ok
[INFO] [stdout] test shell::tests::extract_paths_from_code ... ok
[INFO] [stdout] test shell::tests::extract_paths_relative_without_prefix ... ok
[INFO] [stdout] test shell::tests::extract_redirection_targets_append_and_stderr ... ok
[INFO] [stdout] test shell::tests::extract_single_bash_block ... ok
[INFO] [stdout] test shell::tests::extract_redirection_targets_basic ... ok
[INFO] [stdout] test shell::tests::find_blocked_backtick_wrapping ... ok
[INFO] [stdout] test shell::tests::false_positive_sudoku_not_blocked ... ok
[INFO] [stdout] test shell::tests::find_blocked_command_returns_owned_string ... ok
[INFO] [stdout] test shell::tests::find_blocked_process_substitution_gt ... ok
[INFO] [stdout] test shell::tests::find_blocked_process_substitution_lt ... ok
[INFO] [stdout] test shell::tests::find_confirm_command_case_insensitive ... ok
[INFO] [stdout] test shell::tests::find_confirm_command_matches_pattern ... ok
[INFO] [stdout] test shell::tests::find_confirm_command_no_match ... ok
[INFO] [stdout] test shell::tests::has_traversal_detects_dotdot ... ok
[INFO] [stdout] test shell::tests::here_string_triggers_confirmation ... ok
[INFO] [stdout] test shell::tests::here_string_with_command_substitution_not_detected_known_limitation ... ok
[INFO] [stdout] test shell::tests::here_string_with_shell_not_detected_known_limitation ... ok
[INFO] [stdout] test shell::tests::hex_escape_bypass_blocked ... ok
[INFO] [stdout] test shell::tests::ignore_non_bash_blocks ... ok
[INFO] [stdout] test shell::tests::is_write_command_negative ... ok
[INFO] [stdout] test shell::tests::is_write_command_positive ... ok
[INFO] [stdout] test shell::tests::kill_process_tree_handles_already_dead_pid ... ok
[INFO] [stdout] test scrape::tests::fetch_html_single_redirect_followed ... ok
[INFO] [stdout] test shell::tests::mixed_case_user_patterns_deduped ... ok
[INFO] [stdout] test shell::tests::multiline_command_blocked ... ok
[INFO] [stdout] test shell::tests::mkfs_pattern_blocks_variants ... ok
[INFO] [stdout] test shell::tests::nc_trailing_space_avoids_ncp ... ok
[INFO] [stdout] test shell::tests::network_exfiltration_blocked ... ok
[INFO] [stdout] test shell::tests::no_blocks_returns_none ... ok
[INFO] [stdout] test shell::tests::execute_tool_call_valid_command ... ok
[INFO] [stdout] test shell::tests::nohup_prefix_wrapper_blocked ... ok
[INFO] [stdout] test shell::tests::octal_escape_bypass_blocked ... ok
[INFO] [stdout] test shell::tests::output_process_substitution_detected_by_subshell_extraction ... ok
[INFO] [stdout] test shell::tests::output_process_substitution_with_blocked_command_is_blocked ... ok
[INFO] [stdout] test shell::tests::partial_match_accepted_tradeoff ... ok
[INFO] [stdout] test shell::tests::pipe_chain_blocked ... ok
[INFO] [stdout] test shell::tests::no_rollback_on_exit_code_1 ... ok
[INFO] [stdout] test shell::tests::policy_ask_requires_confirmation ... ok
[INFO] [stdout] test shell::tests::policy_deny_blocks_command ... ok
[INFO] [stdout] test shell::tests::policy_handle_rebuild_extends_blocklist ... ok
[INFO] [stdout] test shell::tests::policy_handle_rebuild_removes_command_from_blocklist ... ok
[INFO] [stdout] test shell::tests::process_substitution_detected_by_subshell_extraction ... ok
[INFO] [stdout] test shell::tests::policy_allow_skips_checks ... ok
[INFO] [stdout] test shell::tests::quote_split_bypass_blocked ... ok
[INFO] [stdout] test shell::tests::resolve_context::blocklist_strips_process_env_in_base ... ok
[INFO] [stdout] test shell::tests::resolve_context::call_site_cwd_overrides_registry_cwd ... ok
[INFO] [stdout] test shell::tests::resolve_context::context_with_cwd_overrides_process_cwd ... ok
[INFO] [stdout] test shell::tests::resolve_context::cwd_outside_allowed_paths_is_sandbox_violation ... ok
[INFO] [stdout] test shell::tests::resolve_context::default_env_provides_cwd_when_no_ctx ... ok
[INFO] [stdout] test shell::tests::resolve_context::named_registry_entry_provides_cwd ... ok
[INFO] [stdout] test shell::tests::resolve_context::no_context_uses_process_cwd ... ok
[INFO] [stdout] test shell::tests::resolve_context::nonexistent_cwd_is_error ... ok
[INFO] [stdout] test shell::tests::resolve_context::skill_env_applied_before_call_site ... ok
[INFO] [stdout] test shell::tests::resolve_context::tool_call_with_context_cwd_used_for_execution ... ok
[INFO] [stdout] test shell::tests::find_blocked_dollar_paren_wrapping ... ok
[INFO] [stdout] test shell::tests::resolve_context::trusted_default_env_preserves_blocked_var ... ok
[INFO] [stdout] test shell::tests::resolve_context::unknown_context_name_is_error ... ok
[INFO] [stdout] test shell::tests::resolve_context::untrusted_ctx_cannot_reintroduce_blocked_var ... ok
[INFO] [stdout] test shell::tests::process_substitution_with_blocked_command_is_blocked ... ok
[INFO] [stdout] test shell::tests::resolve_context::untrusted_ctx_forces_trusted_false_even_with_named_registry ... ok
[INFO] [stdout] test shell::tests::resolve_context::with_environments_rejects_cwd_outside_allowed_paths ... ok
[INFO] [stdout] test shell::tests::resolve_context::with_environments_rejects_nonexistent_cwd ... ok
[INFO] [stdout] test shell::tests::resolve_context::tool_call_without_context_uses_process_cwd ... ok
[INFO] [stdout] test shell::tests::safe_command_passes ... ok
[INFO] [stdout] test shell::tests::sandbox_allows_cwd_by_default ... ok
[INFO] [stdout] test shell::tests::sandbox_no_absolute_paths_passes ... ok
[INFO] [stdout] test shell::tests::no_rollback_on_success ... ok
[INFO] [stdout] test shell::tests::rollback_on_exit_code_2 ... ok
[INFO] [stdout] test shell::tests::sandbox_rejects_bare_dotdot ... ok
[INFO] [stdout] test shell::tests::sandbox_rejects_absolute_with_embedded_dotdot ... ok
[INFO] [stdout] test shell::tests::sandbox_rejects_relative_dotslash_outside ... ok
[INFO] [stdout] test shell::tests::sandbox_rejects_dotdot_traversal ... ok
[INFO] [stdout] test shell::tests::semicolon_chain_blocked ... ok
[INFO] [stdout] test shell::tests::sandbox_rejects_path_outside_allowed ... ok
[INFO] [stdout] test shell::tests::resolve_context::untrusted_named_ctx_strips_registry_blocked_var ... ok
[INFO] [stdout] test shell::tests::shell_output_envelope_in_tool_output_raw_response ... ok
[INFO] [stdout] test shell::tests::shell_executor_set_skill_env_injects_vars ... ok
[INFO] [stdout] test shell::tests::shell_output_envelope_nonzero_exit_code ... ok
[INFO] [stdout] test shell::tests::shell_output_envelope_separates_streams ... ok
[INFO] [stdout] test shell::tests::shell_output_envelope_truncated_flag_set_when_filter_shortens_output ... ok
[INFO] [stdout] test shell::tests::snapshot_blocked_reflects_latest_rebuild ... ok
[INFO] [stdout] test scrape::tests::fetch_html_four_redirects_rejected ... ok
[INFO] [stdout] test shell::tests::snapshot_failure_does_not_block ... ok
[INFO] [stdout] test shell::tests::spawn_background_cap_enforcement ... ok
[INFO] [stdout] test shell::tests::stderr_output_logged_as_audit_error ... ok
[INFO] [stdout] test shell::tests::subshell_with_blocked_command_is_blocked ... ok
[INFO] [stdout] test shell::tests::system_control_blocked ... ok
[INFO] [stdout] test shell::tests::cancel_kills_child_process_group ... ok
[INFO] [stdout] test shell::tests::signal_escalation_sends_sigterm_first ... ok
[INFO] [stdout] test shell::tests::tool_definitions_returns_bash ... ok
[INFO] [stdout] test shell::tests::tool_definitions_schema_has_command_param ... ok
[INFO] [stdout] test shell::tests::transaction_snapshot_capture_and_rollback ... ok
[INFO] [stdout] test shell::tests::transaction_snapshot_empty_paths ... ok
[INFO] [stdout] test shell::tests::transaction_snapshot_new_file_rollback ... ok
[INFO] [stdout] test shell::tests::transaction_snapshot_size_limit_exceeded ... ok
[INFO] [stdout] test shell::tests::transaction_snapshot_size_limit_within_budget ... ok
[INFO] [stdout] test shell::tests::transaction_snapshot_size_limit_zero_unlimited ... ok
[INFO] [stdout] test shell::tests::shell_executor_cancel_returns_cancelled_error ... ok
[INFO] [stdout] test shell::tests::unclosed_block_ignored ... ok
[INFO] [stdout] test shell::tests::user_blocked_additive ... ok
[INFO] [stdout] test shell::tests::user_pattern_stored_lowercase ... ok
[INFO] [stdout] test shell::tests::variable_expansion_bypass_not_detected_known_limitation ... ok
[INFO] [stdout] test shell::tests::with_audit_attaches_logger ... ok
[INFO] [stdout] test shell::tests::snapshot_failure_aborts_when_required ... FAILED
[INFO] [stdout] test tool_filter::tests::allowed_tool_call_passes_through ... ok
[INFO] [stdout] test shell::tests::transactional_false_skips_snapshot ... ok
[INFO] [stdout] test tool_filter::tests::suppressed_tool_call_returns_none ... ok
[INFO] [stdout] test tool_filter::tests::suppressed_tools_hidden_from_definitions ... ok
[INFO] [stdout] test trust_gate::tests::bash_with_explicit_allow_rule_succeeds ... ok
[INFO] [stdout] test trust_gate::tests::blocked_denies_everything ... ok
[INFO] [stdout] test trust_gate::tests::blocked_denies_execute ... ok
[INFO] [stdout] test trust_gate::tests::bash_with_explicit_deny_rule_blocked ... ok
[INFO] [stdout] test trust_gate::tests::invoke_skill_and_load_skill_suffix_match_is_intentional ... ok
[INFO] [stdout] test trust_gate::tests::is_quarantine_denied_exact_match ... ok
[INFO] [stdout] test trust_gate::tests::blocked_denies_execute_confirmed ... ok
[INFO] [stdout] test trust_gate::tests::is_quarantine_denied_suffix_match_mcp_write ... ok
[INFO] [stdout] test trust_gate::tests::is_quarantine_denied_suffix_mcp_bash ... ok
[INFO] [stdout] test trust_gate::tests::is_quarantine_denied_suffix_mcp_delete_path ... ok
[INFO] [stdout] test trust_gate::tests::is_quarantine_denied_read_only_tools_allowed ... ok
[INFO] [stdout] test trust_gate::tests::is_quarantine_denied_substring_not_suffix ... ok
[INFO] [stdout] test trust_gate::tests::is_tool_retryable_delegated_to_inner ... ok
[INFO] [stdout] test trust_gate::tests::is_quarantine_denied_suffix_mcp_memory_save ... ok
[INFO] [stdout] test trust_gate::tests::mcp_tool_ids_handle_shared_arc ... ok
[INFO] [stdout] test trust_gate::tests::mcp_tool_supervised_no_rules_allows ... ok
[INFO] [stdout] test trust_gate::tests::policy_deny_overrides_trust ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_allows_file_read ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_allows_mcp_read_file ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_allows_read ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_bash ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_allows_unregistered_tool_not_in_denied_list ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_delete_path ... ok
[INFO] [stdout] test trust_gate::tests::is_quarantine_denied_suffix_mcp_fetch ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_edit ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_mcp_bash_tool ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_fetch ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_mcp_memory_save ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_mcp_tool_via_confirmed_path ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_mcp_confirmed_path ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_mcp_write_tool ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_memory_save ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_registered_mcp_tool_execute ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_registered_mcp_tool_novel_name ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_web_scrape ... ok
[INFO] [stdout] test trust_gate::tests::quarantined_denies_write ... ok
[INFO] [stdout] test trust_gate::tests::readonly_denies_mcp_tool_not_in_allowlist ... ok
[INFO] [stdout] test trust_gate::tests::set_effective_trust_interior_mutability ... ok
[INFO] [stdout] test trust_gate::tests::set_skill_env_forwarded_to_inner ... ok
[INFO] [stdout] test trust_gate::tests::trusted_allows_all ... ok
[INFO] [stdout] test trust_gate::tests::trusted_allows_execute ... ok
[INFO] [stdout] test trust_gate::tests::trusted_allows_registered_mcp_tool ... ok
[INFO] [stdout] test trust_gate::tests::verified_with_allow_policy_succeeds ... ok
[INFO] [stdout] test utility::tests::clear_resets_redundancy ... ok
[INFO] [stdout] test shell::tests::shutdown_terminates_long_running_background ... ok
[INFO] [stdout] test utility::tests::disabled_returns_none ... ok
[INFO] [stdout] test utility::tests::cost_increases_with_token_consumption ... ok
[INFO] [stdout] test utility::tests::explicit_request_execute_the_tool ... ok
[INFO] [stdout] test utility::tests::explicit_request_case_insensitive ... ok
[INFO] [stdout] test utility::tests::explicit_request_call_the_tool ... ok
[INFO] [stdout] test utility::tests::explicit_request_execute_colon ... ok
[INFO] [stdout] test utility::tests::explicit_request_inline_code_redirect ... ok
[INFO] [stdout] test utility::tests::explicit_request_inline_code_dollar ... ok
[INFO] [stdout] test scrape::tests::fetch_html_three_redirects_allowed ... ok
[INFO] [stdout] test utility::tests::explicit_request_inline_code_and ... ok
[INFO] [stdout] test utility::tests::explicit_request_inline_code_pipe ... ok
[INFO] [stdout] test utility::tests::explicit_request_run_colon ... ok
[INFO] [stdout] test utility::tests::explicit_request_no_match_tool_mentioned_without_invocation ... ok
[INFO] [stdout] test utility::tests::explicit_request_no_match_plain_message ... ok
[INFO] [stdout] test utility::tests::explicit_request_run_the_tool ... ok
[INFO] [stdout] test utility::tests::explicit_request_invoke_the_tool ... ok
[INFO] [stdout] test utility::tests::explicit_request_show_me_result_of ... ok
[INFO] [stdout] test utility::tests::explicit_request_use_the_tool ... ok
[INFO] [stdout] test utility::tests::explicit_request_using_a_tool ... ok
[INFO] [stdout] test utility::tests::is_exempt_empty_list_returns_false ... ok
[INFO] [stdout] test utility::tests::explicit_request_what_does ... ok
[INFO] [stdout] test utility::tests::first_call_passes_default_threshold ... ok
[INFO] [stdout] test utility::tests::explicit_request_what_would ... ok
[INFO] [stdout] test utility::tests::is_exempt_matches_case_insensitively ... ok
[INFO] [stdout] test utility::tests::explicit_request_what_is_the_output_of ... ok
[INFO] [stdout] test utility::tests::known_fp_what_does_function_do ... ok
[INFO] [stdout] test utility::tests::no_match_execute_the_plan ... ok
[INFO] [stdout] test utility::tests::memory_tool_has_higher_gain_than_scrape ... ok
[INFO] [stdout] test utility::tests::no_match_inline_code_no_shell_syntax ... ok
[INFO] [stdout] test utility::tests::no_match_run_the_tests ... ok
[INFO] [stdout] test utility::tests::none_score_executes_when_disabled ... ok
[INFO] [stdout] test utility::tests::none_score_fail_closed_when_enabled ... ok
[INFO] [stdout] test utility::tests::recommend_action_below_threshold_with_prior_calls_verifies ... ok
[INFO] [stdout] test utility::tests::recommend_action_budget_exhausted_stops ... ok
[INFO] [stdout] test utility::tests::recommend_action_high_gain_above_threshold_tool_call ... ok
[INFO] [stdout] test utility::tests::recommend_action_redundant_responds ... ok
[INFO] [stdout] test utility::tests::recommend_action_disabled_scorer_always_tool_call ... ok
[INFO] [stdout] test utility::tests::recommend_action_none_score_enabled_stops ... ok
[INFO] [stdout] test utility::tests::recommend_action_uncertain_retrieves ... ok
[INFO] [stdout] test utility::tests::threshold_one_blocks_all_calls ... ok
[INFO] [stdout] test utility::tests::threshold_zero_all_calls_pass ... ok
[INFO] [stdout] test utility::tests::no_match_show_me_result_without_colon ... ok
[INFO] [stdout] test utility::tests::recommend_action_default_responds ... ok
[INFO] [stdout] test utility::tests::recommend_action_user_requested_always_tool_call ... ok
[INFO] [stdout] test utility::tests::user_requested_always_executes ... ok
[INFO] [stdout] test utility::tests::validate_accepts_default ... ok
[INFO] [stdout] test utility::tests::validate_rejects_negative_weights ... ok
[INFO] [stdout] test utility::tests::zero_token_budget_zeroes_cost ... ok
[INFO] [stdout] test verifier::tests::allow_clean_args ... ok
[INFO] [stdout] test utility::tests::redundant_call_penalized ... ok
[INFO] [stdout] test utility::tests::uncertainty_decreases_with_call_count ... ok
[INFO] [stdout] test utility::tests::validate_rejects_nan_weights ... ok
[INFO] [stdout] test verifier::tests::allow_rm_rf_in_allowed_path ... ok
[INFO] [stdout] test verifier::tests::allow_sql_discussion_in_query_field ... ok
[INFO] [stdout] test verifier::tests::allow_sql_or_pattern_in_query_field ... ok
[INFO] [stdout] test verifier::tests::allow_union_select_in_query_field ... ok
[INFO] [stdout] test verifier::tests::allowed_path_with_dotdot_stays_in_allowed ... ok
[INFO] [stdout] test verifier::tests::allow_localhost_in_non_url_field ... ok
[INFO] [stdout] test verifier::tests::allow_non_shell_tool ... ok
[INFO] [stdout] test verifier::tests::allow_normal_command ... ok
[INFO] [stdout] test verifier::tests::array_args_normalization ... ok
[INFO] [stdout] test verifier::tests::block_dd_dev_zero ... ok
[INFO] [stdout] test verifier::tests::block_extra_pattern ... ok
[INFO] [stdout] test verifier::tests::block_mkfs ... ok
[INFO] [stdout] test verifier::tests::block_rm_rf_root ... ok
[INFO] [stdout] test verifier::tests::block_rm_rf_unicode_homoglyph ... ok
[INFO] [stdout] test verifier::tests::block_rm_rf_when_not_in_allowed_path ... ok
[INFO] [stdout] test verifier::tests::block_sql_injection_in_non_query_field ... ok
[INFO] [stdout] test verifier::tests::block_union_select_in_non_query_field ... ok
[INFO] [stdout] test verifier::tests::block_drop_table ... ok
[INFO] [stdout] test verifier::tests::chain_first_block_wins ... ok
[INFO] [stdout] test verifier::tests::block_path_traversal ... ok
[INFO] [stdout] test verifier::tests::custom_shell_tool_name_blocked ... ok
[INFO] [stdout] test verifier::tests::env_prefix_stripping_blocked ... ok
[INFO] [stdout] test verifier::tests::exec_prefix_stripping_blocked ... ok
[INFO] [stdout] test verifier::tests::firewall_allows_normal_path ... ok
[INFO] [stdout] test verifier::tests::firewall_blocks_aws_env_var ... ok
[INFO] [stdout] test verifier::tests::firewall_blocks_etc_passwd ... ok
[INFO] [stdout] test verifier::tests::firewall_blocks_path_traversal ... ok
[INFO] [stdout] test verifier::tests::firewall_blocks_ssh_key ... ok
[INFO] [stdout] test verifier::tests::firewall_blocks_zeph_env_var ... ok
[INFO] [stdout] test verifier::tests::firewall_config_default_deserialization ... ok
[INFO] [stdout] test verifier::tests::firewall_custom_blocked_env_var ... ok
[INFO] [stdout] test verifier::tests::firewall_custom_blocked_path ... ok
[INFO] [stdout] test verifier::tests::firewall_exempt_tool_bypasses_check ... ok
[INFO] [stdout] test verifier::tests::firewall_invalid_glob_is_skipped ... ok
[INFO] [stdout] test verifier::tests::fork_bomb_blocked ... ok
[INFO] [stdout] test verifier::tests::path_traversal_not_allowed_via_dotdot ... ok
[INFO] [stdout] test verifier::tests::reg_2191_case_insensitive_url_match_allows_fetch ... ok
[INFO] [stdout] test verifier::tests::reg_2191_different_domain_blocked ... ok
[INFO] [stdout] test verifier::tests::reg_2191_disabled_verifier_allows_all ... ok
[INFO] [stdout] test verifier::tests::reg_2191_empty_url_set_always_blocks_fetch ... ok
[INFO] [stdout] test verifier::tests::reg_2191_hallucinated_api_endpoint_blocked_with_empty_session ... ok
[INFO] [stdout] test verifier::tests::reg_2191_mcp_fetch_suffix_tool_blocked_with_empty_session ... ok
[INFO] [stdout] test verifier::tests::reg_2191_missing_url_field_allows_fetch ... ok
[INFO] [stdout] test verifier::tests::reg_2191_reverse_prefix_match_allows_fetch ... ok
[INFO] [stdout] test verifier::tests::reg_2191_user_provided_url_allows_fetch ... ok
[INFO] [stdout] test verifier::tests::reg_2191_web_scrape_hallucinated_url_blocked ... ok
[INFO] [stdout] test verifier::tests::sh_c_wrapping_normalization ... ok
[INFO] [stdout] test verifier::tests::double_nested_bash_c_blocked ... ok
[INFO] [stdout] test verifier::tests::chain_warn_continues ... ok
[INFO] [stdout] test verifier::tests::allow_localhost_when_allowlisted ... ok
[INFO] [stdout] test verifier::tests::ssrf_not_triggered_for_embedded_localhost_in_query_param ... ok
[INFO] [stdout] test verifier::tests::ssrf_triggered_for_bare_localhost_no_port ... ok
[INFO] [stdout] test verifier::tests::ssrf_triggered_for_localhost_with_path ... ok
[INFO] [stdout] test verifier::tests::terminal_tool_name_blocked_by_default ... ok
[INFO] [stdout] test verifier::tests::url_grounding_allows_web_scrape_with_provided_url ... ok
[INFO] [stdout] test verifier::tests::url_grounding_allows_user_provided_url ... ok
[INFO] [stdout] test verifier::tests::url_grounding_allows_non_guarded_tool ... ok
[INFO] [stdout] test verifier::tests::url_grounding_allows_prefix_match ... ok
[INFO] [stdout] test verifier::tests::url_grounding_blocks_when_no_user_urls_at_all ... ok
[INFO] [stdout] test verifier::tests::url_grounding_guards_fetch_suffix_tool ... ok
[INFO] [stdout] test verifier::tests::url_grounding_blocks_hallucinated_url ... ok
[INFO] [stdout] test verifier::tests::warn_on_private_ip_url_field ... ok
[INFO] [stdout] test verifier::tests::default_shell_tools_contains_bash_shell_terminal ... ok
[INFO] [stdout] test verifier::tests::warn_on_localhost_url_field ... ok
[INFO] [stdout] test shell::tests::timeout_enforced ... ok
[INFO] [stdout] test shell::tests::timeout_logged_as_audit_timeout_not_error ... ok
[INFO] [stdout] test filter::declarative::tests::declarative_filter_never_panics_dedup ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- policy::tests::policy_file_happy_path stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'policy::tests::policy_file_happy_path' (562) panicked at src/policy.rs:1010:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/.tmpXCbBCC", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a067060bb2a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a067060bb2a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a067060bb2a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a067060bb2a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a06706266fa - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a06706266fa - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5a0670611512 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5a0670611512 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5a06705e363f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a06705e363f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a06706009d9 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a066f834a5c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5a066f834a5c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5a0670600c52 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5a0670600c52 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a06705e36f8 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5a06705d8349 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a06705e499d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a0670626f6c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a0670626cb2 - core[e929cb53b82a81ca]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5a066f0e0ef0 - <core[e929cb53b82a81ca]::result::Result<tempfile[ea990081de9e48ad]::dir::TempDir, std[29689e6404d28ef9]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5a066f0e0ef0 - zeph_tools[34cf46476315dcc0]::policy::tests::policy_file_happy_path
[INFO] [stdout]                                at /opt/rustwide/workdir/src/policy.rs:1010:46
[INFO] [stdout]   22:     0x5a066f0c6057 - zeph_tools[34cf46476315dcc0]::policy::tests::policy_file_happy_path::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/policy.rs:1008:32
[INFO] [stdout]   23:     0x5a066f2c8816 - <zeph_tools[34cf46476315dcc0]::policy::tests::policy_file_happy_path::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5a066f827d3b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5a066f827d3b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5a066f83552b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5a066f83552b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5a066f83552b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5a066f83552b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5a066f83552b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5a066f83552b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5a066f83552b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5a066f82ec44 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5a066f82ec44 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5a066f838132 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5a066f838132 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5a066f838132 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5a066f838132 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5a066f838132 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5a066f838132 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5a066f838132 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5a067060a5df - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x5a067060a5df - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x78801d66caa4 - <unknown>
[INFO] [stdout]   45:     0x78801d6f9a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- policy::tests::policy_file_too_large stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'policy::tests::policy_file_too_large' (567) panicked at src/policy.rs:1039:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/.tmpyd7d7Y", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a067060bb2a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a067060bb2a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a067060bb2a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a067060bb2a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a06706266fa - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a06706266fa - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5a0670611512 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5a0670611512 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5a06705e363f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a06705e363f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a06706009d9 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a066f834a5c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5a066f834a5c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5a0670600c52 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5a0670600c52 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a06705e36f8 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5a06705d8349 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a06705e499d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a0670626f6c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a0670626cb2 - core[e929cb53b82a81ca]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5a066f0e08a0 - <core[e929cb53b82a81ca]::result::Result<tempfile[ea990081de9e48ad]::dir::TempDir, std[29689e6404d28ef9]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5a066f0e08a0 - zeph_tools[34cf46476315dcc0]::policy::tests::policy_file_too_large
[INFO] [stdout]                                at /opt/rustwide/workdir/src/policy.rs:1039:46
[INFO] [stdout]   22:     0x5a066f0c6027 - zeph_tools[34cf46476315dcc0]::policy::tests::policy_file_too_large::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/policy.rs:1037:31
[INFO] [stdout]   23:     0x5a066f2c87d6 - <zeph_tools[34cf46476315dcc0]::policy::tests::policy_file_too_large::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5a066f827d3b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5a066f827d3b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5a066f83552b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5a066f83552b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5a066f83552b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5a066f83552b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5a066f83552b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5a066f83552b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5a066f83552b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5a066f82ec44 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5a066f82ec44 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5a066f838132 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5a066f838132 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5a066f838132 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5a066f838132 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5a066f838132 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5a066f838132 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5a066f838132 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5a067060a5df - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x5a067060a5df - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x78801d66caa4 - <unknown>
[INFO] [stdout]   45:     0x78801d6f9a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- policy::tests::policy_file_parse_error stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'policy::tests::policy_file_parse_error' (565) panicked at src/policy.rs:1080:46:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/.tmp4ddUJp", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a067060bb2a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a067060bb2a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a067060bb2a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a067060bb2a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a06706266fa - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a06706266fa - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5a0670611512 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5a0670611512 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5a06705e363f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a06705e363f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a06706009d9 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a066f834a5c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5a066f834a5c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5a0670600c52 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5a0670600c52 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a06705e36f8 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5a06705d8349 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a06705e499d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a0670626f6c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a0670626cb2 - core[e929cb53b82a81ca]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5a066f0e18cd - <core[e929cb53b82a81ca]::result::Result<tempfile[ea990081de9e48ad]::dir::TempDir, std[29689e6404d28ef9]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5a066f0e18cd - zeph_tools[34cf46476315dcc0]::policy::tests::policy_file_parse_error
[INFO] [stdout]                                at /opt/rustwide/workdir/src/policy.rs:1080:46
[INFO] [stdout]   22:     0x5a066f0c60b7 - zeph_tools[34cf46476315dcc0]::policy::tests::policy_file_parse_error::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/policy.rs:1078:33
[INFO] [stdout]   23:     0x5a066f2c8896 - <zeph_tools[34cf46476315dcc0]::policy::tests::policy_file_parse_error::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5a066f827d3b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5a066f827d3b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5a066f83552b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5a066f83552b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5a066f83552b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5a066f83552b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5a066f83552b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5a066f83552b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5a066f83552b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5a066f82ec44 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5a066f82ec44 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5a066f838132 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5a066f838132 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5a066f838132 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5a066f838132 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5a066f838132 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5a066f838132 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5a066f838132 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5a067060a5df - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x5a067060a5df - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x78801d66caa4 - <unknown>
[INFO] [stdout]   45:     0x78801d6f9a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- shell::tests::snapshot_failure_aborts_when_required stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'shell::tests::snapshot_failure_aborts_when_required' (1047) panicked at src/shell/tests.rs:2155:5:
[INFO] [stdout] expected SnapshotFailed, got Ok(Some(ToolOutput { tool_name: ToolName("bash"), summary: "$ cp /tmp/.tmpPBjbce/locked.txt /tmp/.tmpPBjbce/locked.txt.bak\n(no output)", blocks_executed: 1, filter_stats: None, diff: None, streamed: false, terminal_id: None, locations: None, raw_response: Some(Object {"exit_code": Number(0), "stderr": String(""), "stdout": String(""), "truncated": Bool(false)}), claim_source: Some(Shell) }))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a067060bb2a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a067060bb2a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a067060bb2a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a067060bb2a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a06706266fa - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a06706266fa - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5a0670611512 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5a0670611512 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5a06705e363f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a06705e363f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a06706009d9 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a066f834a5c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5a066f834a5c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5a0670600c52 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5a0670600c52 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a06705e36f8 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5a06705d8349 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a06705e499d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a0670626f6c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a066edcc33f - zeph_tools[34cf46476315dcc0]::shell::tests::snapshot_failure_aborts_when_required::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/shell/tests.rs:2155:5
[INFO] [stdout]   20:     0x5a066ef62e62 - <core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>> as core[e929cb53b82a81ca]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/future/future.rs:133:9
[INFO] [stdout]   21:     0x5a066ef62f1d - <core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>> as core[e929cb53b82a81ca]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x5a066effa26d - <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/scheduler/current_thread/mod.rs:778:70
[INFO] [stdout]   23:     0x5a066eff9f8b - tokio[6d5a81d77048d0ab]::task::coop::with_budget::<core[e929cb53b82a81ca]::task::poll::Poll<()>, <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/task/coop/mod.rs:167:5
[INFO] [stdout]   24:     0x5a066eff9f8b - tokio[6d5a81d77048d0ab]::task::coop::budget::<core[e929cb53b82a81ca]::task::poll::Poll<()>, <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/task/coop/mod.rs:133:5
[INFO] [stdout]   25:     0x5a066eff9f8b - <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/scheduler/current_thread/mod.rs:778:25
[INFO] [stdout]   26:     0x5a066efcf120 - <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::Context>::enter::<core[e929cb53b82a81ca]::task::poll::Poll<()>, <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/scheduler/current_thread/mod.rs:451:19
[INFO] [stdout]   27:     0x5a066eff6b5d - <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/scheduler/current_thread/mod.rs:777:44
[INFO] [stdout]   28:     0x5a066eff5304 - <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/scheduler/current_thread/mod.rs:865:68
[INFO] [stdout]   29:     0x5a066f0b31ab - <tokio[6d5a81d77048d0ab]::runtime::context::scoped::Scoped<tokio[6d5a81d77048d0ab]::runtime::scheduler::Context>>::set::<<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}, (alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   30:     0x5a066f149ad9 - tokio[6d5a81d77048d0ab]::runtime::context::set_scheduler::<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/context.rs:181:38
[INFO] [stdout]   31:     0x5a066eea6e82 - <std[29689e6404d28ef9]::thread::local::LocalKey<tokio[6d5a81d77048d0ab]::runtime::context::Context>>::try_with::<tokio[6d5a81d77048d0ab]::runtime::context::set_scheduler<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   32:     0x5a066eea666e - <std[29689e6404d28ef9]::thread::local::LocalKey<tokio[6d5a81d77048d0ab]::runtime::context::Context>>::with::<tokio[6d5a81d77048d0ab]::runtime::context::set_scheduler<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   33:     0x5a066f13260d - tokio[6d5a81d77048d0ab]::runtime::context::set_scheduler::<(alloc[9d7caffeb3b5d2c6]::boxed::Box<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::Core>, core[e929cb53b82a81ca]::option::Option<()>), <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/context.rs:181:17
[INFO] [stdout]   34:     0x5a066efdad90 - <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>::{closure#0}, core[e929cb53b82a81ca]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/scheduler/current_thread/mod.rs:865:27
[INFO] [stdout]   35:     0x5a066efdb526 - <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/scheduler/current_thread/mod.rs:765:24
[INFO] [stdout]   36:     0x5a066eff4590 - <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/scheduler/current_thread/mod.rs:205:33
[INFO] [stdout]   37:     0x5a066f020af3 - tokio[6d5a81d77048d0ab]::runtime::context::runtime::enter_runtime::<<tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   38:     0x5a066efcada1 - <tokio[6d5a81d77048d0ab]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/scheduler/current_thread/mod.rs:193:9
[INFO] [stdout]   39:     0x5a066f1ddbd4 - <tokio[6d5a81d77048d0ab]::runtime::runtime::Runtime>::block_on_inner::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/runtime.rs:371:52
[INFO] [stdout]   40:     0x5a066f1ddf4f - <tokio[6d5a81d77048d0ab]::runtime::runtime::Runtime>::block_on::<core[e929cb53b82a81ca]::pin::Pin<&mut dyn core[e929cb53b82a81ca]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.2/src/runtime/runtime.rs:345:18
[INFO] [stdout]   41:     0x5a066edfc180 - zeph_tools[34cf46476315dcc0]::shell::tests::snapshot_failure_aborts_when_required
[INFO] [stdout]                                at /opt/rustwide/workdir/src/shell/tests.rs:2161:6
[INFO] [stdout]   42:     0x5a066edb65f7 - zeph_tools[34cf46476315dcc0]::shell::tests::snapshot_failure_aborts_when_required::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/shell/tests.rs:2119:49
[INFO] [stdout]   43:     0x5a066f2c6676 - <zeph_tools[34cf46476315dcc0]::shell::tests::snapshot_failure_aborts_when_required::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x5a066f827d3b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5a066f827d3b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   46:     0x5a066f83552b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   47:     0x5a066f83552b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   48:     0x5a066f83552b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   49:     0x5a066f83552b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   50:     0x5a066f83552b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   51:     0x5a066f83552b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   52:     0x5a066f83552b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   53:     0x5a066f82ec44 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   54:     0x5a066f82ec44 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   55:     0x5a066f838132 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   56:     0x5a066f838132 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   57:     0x5a066f838132 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   58:     0x5a066f838132 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   59:     0x5a066f838132 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   60:     0x5a066f838132 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   61:     0x5a066f838132 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   62:     0x5a067060a5df - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   63:     0x5a067060a5df - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   64:     0x78801d66caa4 - <unknown>
[INFO] [stdout]   65:     0x78801d6f9a64 - clone
[INFO] [stdout]   66:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     policy::tests::policy_file_happy_path
[INFO] [stdout]     policy::tests::policy_file_parse_error
[INFO] [stdout]     policy::tests::policy_file_too_large
[INFO] [stdout]     shell::tests::snapshot_failure_aborts_when_required
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1134 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.69s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "de3cd2590d6d30efd9569f8fa45bcb4c2be917de1575ca15a2b39c32916f4bda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de3cd2590d6d30efd9569f8fa45bcb4c2be917de1575ca15a2b39c32916f4bda", kill_on_drop: false }`
[INFO] [stdout] de3cd2590d6d30efd9569f8fa45bcb4c2be917de1575ca15a2b39c32916f4bda
