[INFO] cloning repository https://github.com/antruongnguyen/mcp-safeshell
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/antruongnguyen/mcp-safeshell" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fantruongnguyen%2Fmcp-safeshell", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fantruongnguyen%2Fmcp-safeshell'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 20fdf7e34c193d6ba491d05eb1d041594af225a2
[INFO] testing antruongnguyen/mcp-safeshell against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fantruongnguyen%2Fmcp-safeshell" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/antruongnguyen/mcp-safeshell
[INFO] finished tweaking git repo https://github.com/antruongnguyen/mcp-safeshell
[INFO] tweaked toml for git repo https://github.com/antruongnguyen/mcp-safeshell written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/antruongnguyen/mcp-safeshell on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/antruongnguyen/mcp-safeshell already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 26a0f6b10686091e0fc5c372291369ffe9867d0b127bfbf0b359b8e9b862ff7e
[INFO] running `Command { std: "docker" "start" "-a" "26a0f6b10686091e0fc5c372291369ffe9867d0b127bfbf0b359b8e9b862ff7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "26a0f6b10686091e0fc5c372291369ffe9867d0b127bfbf0b359b8e9b862ff7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "26a0f6b10686091e0fc5c372291369ffe9867d0b127bfbf0b359b8e9b862ff7e", kill_on_drop: false }`
[INFO] [stdout] 26a0f6b10686091e0fc5c372291369ffe9867d0b127bfbf0b359b8e9b862ff7e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 716977a0295821098aeb2ae94dcaf7471fd75c486dc13dd3f4b42b7bba241151
[INFO] running `Command { std: "docker" "start" "-a" "716977a0295821098aeb2ae94dcaf7471fd75c486dc13dd3f4b42b7bba241151", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling rmcp v1.3.0
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling pastey v0.2.1
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling rmcp-macros v1.3.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling sse-stream v0.2.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling tracing-appender v0.2.4
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling safeshell-mcp v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 23s
[INFO] running `Command { std: "docker" "inspect" "716977a0295821098aeb2ae94dcaf7471fd75c486dc13dd3f4b42b7bba241151", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "716977a0295821098aeb2ae94dcaf7471fd75c486dc13dd3f4b42b7bba241151", kill_on_drop: false }`
[INFO] [stdout] 716977a0295821098aeb2ae94dcaf7471fd75c486dc13dd3f4b42b7bba241151
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 00866e20442da18a0ce1e73a28752cf6c20caf7ce30eca7a517a73b3481642b4
[INFO] running `Command { std: "docker" "start" "-a" "00866e20442da18a0ce1e73a28752cf6c20caf7ce30eca7a517a73b3481642b4", kill_on_drop: false }`
[INFO] [stderr]    Compiling safeshell-mcp v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.81s
[INFO] running `Command { std: "docker" "inspect" "00866e20442da18a0ce1e73a28752cf6c20caf7ce30eca7a517a73b3481642b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "00866e20442da18a0ce1e73a28752cf6c20caf7ce30eca7a517a73b3481642b4", kill_on_drop: false }`
[INFO] [stdout] 00866e20442da18a0ce1e73a28752cf6c20caf7ce30eca7a517a73b3481642b4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4d2e7da621cc6fc106a4021039367e7737c1d0f3564b00c288d72f50b75ec067
[INFO] running `Command { std: "docker" "start" "-a" "4d2e7da621cc6fc106a4021039367e7737c1d0f3564b00c288d72f50b75ec067", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/safeshell_mcp-7113092f946551b7)
[INFO] [stdout] 
[INFO] [stdout] running 281 tests
[INFO] [stdout] test config::tests::env_override_comma_separated_lists ... ok
[INFO] [stdout] test config::tests::env_override_replaces_config_file_values ... ok
[INFO] [stdout] test config::tests::env_override_invalid_numeric_ignored ... ok
[INFO] [stdout] test config::tests::env_override_numeric_fields ... ok
[INFO] [stdout] test config::tests::default_config_values ... ok
[INFO] [stdout] test config::tests::env_override_string_fields ... ok
[INFO] [stdout] test config::tests::load_returns_default_when_no_file ... ok
[INFO] [stdout] test config::tests::parse_empty_toml ... ok
[INFO] [stdout] test config::tests::parse_multiple_protected_paths ... ok
[INFO] [stdout] test config::tests::parse_full_toml ... ok
[INFO] [stdout] test config::tests::parse_multiple_safe_commands ... ok
[INFO] [stdout] test config::tests::protected_path_read_allowed_defaults_false ... ok
[INFO] [stdout] test config::tests::parse_multiple_redact_patterns ... ok
[INFO] [stdout] test pipeline::classifier::tests::additional_safe_does_not_override_catastrophic ... ok
[INFO] [stdout] test pipeline::classifier::tests::catastrophic_dd_not_overridable ... ok
[INFO] [stdout] test config::tests::invalid_toml_returns_none ... ok
[INFO] [stdout] test config::tests::parse_minimal_toml ... ok
[INFO] [stdout] test pipeline::classifier::tests::catastrophic_mkfs_not_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::catastrophic_shred_not_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::catastrophic_reboot_not_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::catastrophic_shutdown_not_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::chain_additional_safe_override ... ok
[INFO] [stdout] test pipeline::classifier::tests::chain_multiple_dangerous_reason_semicolon_separated ... ok
[INFO] [stdout] test config::tests::try_load_nonexistent_returns_none ... ok
[INFO] [stdout] test pipeline::classifier::tests::chain_reason_includes_index ... ok
[INFO] [stdout] test pipeline::classifier::tests::classify_all_all_safe ... ok
[INFO] [stdout] test pipeline::classifier::tests::classify_all_additional_safe_overrides ... ok
[INFO] [stdout] test pipeline::classifier::tests::classify_all_empty_commands ... ok
[INFO] [stdout] test pipeline::classifier::tests::classify_all_mixed_is_dangerous ... ok
[INFO] [stdout] test pipeline::classifier::tests::classify_all_single_dangerous ... ok
[INFO] [stdout] test pipeline::classifier::tests::classify_all_single_safe ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_apt ... ok
[INFO] [stdout] test pipeline::classifier::tests::catastrophic_sudo_not_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::chain_multiple_dangerous ... ok
[INFO] [stdout] test pipeline::classifier::tests::chain_all_safe ... ok
[INFO] [stdout] test pipeline::classifier::tests::chain_classification_details ... ok
[INFO] [stdout] test pipeline::classifier::tests::catastrophic_fdisk_not_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_chown ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_curl ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_doas ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_fdisk ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_dd ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_kill ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_launchctl ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_mount ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_nc ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_node ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_npm ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_perl ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_pip ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_pkexec ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_python ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_python3 ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_rm ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_rmdir ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_ruby ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_scp ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_sh ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_rsync ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_shred ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_shutdown ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_ssh ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_su ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_sudo ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_systemctl ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_truncate ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_wget ... ok
[INFO] [stdout] test pipeline::classifier::tests::is_always_dangerous_covers_all_categories ... ok
[INFO] [stdout] test pipeline::classifier::tests::is_always_dangerous_false_for_safe_and_unknown ... ok
[INFO] [stdout] test pipeline::classifier::tests::is_catastrophic_disk_destruction ... ok
[INFO] [stdout] test pipeline::classifier::tests::is_catastrophic_false_for_safe_and_unknown ... ok
[INFO] [stdout] test pipeline::classifier::tests::is_catastrophic_false_for_tier2 ... ok
[INFO] [stdout] test pipeline::classifier::tests::is_catastrophic_privilege_escalation ... ok
[INFO] [stdout] test pipeline::classifier::tests::is_catastrophic_system_control ... ok
[INFO] [stdout] test pipeline::classifier::tests::not_in_allowlist_still_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::mixed_catastrophic_and_tier2_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::preapproved_commands_empty_when_no_overrides ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_bash ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_brew ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_cargo ... ok
[INFO] [stdout] test pipeline::classifier::tests::preapproved_commands_tracks_overridden_unknown ... ok
[INFO] [stdout] test pipeline::classifier::tests::raw_preserved_in_detail ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_date ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_echo ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_cat ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_head ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_df ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_ls ... ok
[INFO] [stdout] test pipeline::classifier::tests::preapproved_commands_not_set_for_catastrophic ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_hostname ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_printenv ... ok
[INFO] [stdout] test pipeline::classifier::tests::dangerous_chmod ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_pwd ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_tail ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_uptime ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_wc ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_which ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_whoami ... ok
[INFO] [stdout] test pipeline::classifier::tests::tier2_bash_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::safe_uname ... ok
[INFO] [stdout] test pipeline::classifier::tests::single_command_not_chained ... ok
[INFO] [stdout] test pipeline::classifier::tests::tier2_commands_overridable_via_additional_safe ... ok
[INFO] [stdout] test pipeline::classifier::tests::tier2_curl_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::tier2_cargo_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::tier2_npm_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::tier2_kill_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::tier2_mount_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::tier2_rm_overridable ... ok
[INFO] [stdout] test pipeline::classifier::tests::unknown_with_path_like_name ... ok
[INFO] [stdout] test pipeline::classifier::tests::unknown_is_dangerous ... ok
[INFO] [stdout] test pipeline::location_guard::tests::additional_protected_path_blocked ... ok
[INFO] [stdout] test pipeline::location_guard::tests::additional_protected_read_disallowed_blocks_safe ... ok
[INFO] [stdout] test pipeline::location_guard::tests::canonicalize_or_keep_existing_path ... ok
[INFO] [stdout] test pipeline::location_guard::tests::additional_protected_read_allowed ... ok
[INFO] [stdout] test pipeline::location_guard::tests::additional_protected_write_to_read_allowed_blocked ... ok
[INFO] [stdout] test pipeline::location_guard::tests::home_path_passes ... ok
[INFO] [stdout] test pipeline::location_guard::tests::no_null_byte_passes ... ok
[INFO] [stdout] test pipeline::location_guard::tests::no_paths_always_passes ... ok
[INFO] [stdout] test pipeline::location_guard::tests::canonicalize_or_keep_nonexistent ... ok
[INFO] [stdout] test pipeline::location_guard::tests::normal_path_passes ... ok
[INFO] [stdout] test pipeline::location_guard::tests::null_byte_blocked_via_check_paths ... ok
[INFO] [stdout] test pipeline::location_guard::tests::multiple_commands_one_violation ... ok
[INFO] [stdout] test pipeline::location_guard::tests::empty_commands_pass ... ok
[INFO] [stdout] test pipeline::location_guard::tests::multiple_commands_multiple_violations ... ok
[INFO] [stdout] test pipeline::location_guard::tests::exact_path_match_blocked ... ok
[INFO] [stdout] test pipeline::location_guard::tests::null_byte_in_path_rejected ... ok
[INFO] [stdout] test pipeline::location_guard::tests::prefix_match_exact ... ok
[INFO] [stdout] test pipeline::location_guard::tests::prefix_match_subdir ... ok
[INFO] [stdout] test pipeline::location_guard::tests::prefix_no_match_different_dir ... ok
[INFO] [stdout] test pipeline::location_guard::tests::prefix_no_match_partial ... ok
[INFO] [stdout] test pipeline::location_guard::tests::proc_pid_root_blocked ... ok
[INFO] [stdout] test pipeline::location_guard::tests::proc_pid_root_pattern_matches ... ok
[INFO] [stdout] test pipeline::location_guard::tests::proc_self_non_root_passes ... ok
[INFO] [stdout] test pipeline::location_guard::tests::proc_self_root_blocked ... ok
[INFO] [stdout] test pipeline::location_guard::tests::proc_pid_root_pattern_no_match ... ok
[INFO] [stdout] test pipeline::location_guard::tests::safe_read_in_etc ... ok
[INFO] [stdout] test pipeline::location_guard::tests::safe_read_in_usr_bin ... ok
[INFO] [stdout] test pipeline::location_guard::tests::symlink_chain_to_protected_path_blocked ... ok
[INFO] [stdout] test pipeline::location_guard::tests::symlink_to_protected_path_blocked ... ok
[INFO] [stdout] test pipeline::location_guard::tests::tmp_path_passes ... ok
[INFO] [stdout] test pipeline::location_guard::tests::violation_contains_path_and_prefix ... ok
[INFO] [stdout] test pipeline::logging::tests::classified_dangerous_is_warning ... ok
[INFO] [stdout] test pipeline::location_guard::tests::write_in_usr_bin_blocked ... ok
[INFO] [stdout] test pipeline::location_guard::tests::write_in_etc_blocked ... ok
[INFO] [stdout] test pipeline::logging::tests::command_classified_json ... ok
[INFO] [stdout] test pipeline::logging::tests::classified_safe_is_info ... ok
[INFO] [stdout] test pipeline::location_guard::tests::write_in_sbin_blocked ... ok
[INFO] [stdout] test pipeline::logging::tests::command_error_json ... ok
[INFO] [stdout] test pipeline::logging::tests::command_error_is_error ... ok
[INFO] [stdout] test pipeline::logging::tests::command_executed_json ... ok
[INFO] [stdout] test pipeline::logging::tests::command_executed_failure_is_warning ... ok
[INFO] [stdout] test pipeline::logging::tests::command_executed_success_is_info ... ok
[INFO] [stdout] test pipeline::logging::tests::command_received_is_info ... ok
[INFO] [stdout] test pipeline::logging::tests::command_timeout_is_error ... ok
[INFO] [stdout] test pipeline::logging::tests::command_received_json ... ok
[INFO] [stdout] test pipeline::logging::tests::command_timeout_json ... ok
[INFO] [stdout] test pipeline::logging::tests::path_guard_blocked_json ... ok
[INFO] [stdout] test pipeline::logging::tests::path_guard_blocked_is_error ... ok
[INFO] [stdout] test pipeline::logging::tests::permission_denied_is_warning ... ok
[INFO] [stdout] test pipeline::logging::tests::permission_granted_is_info ... ok
[INFO] [stdout] test pipeline::logging::tests::permission_denied_json ... ok
[INFO] [stdout] test pipeline::logging::tests::permission_granted_json ... ok
[INFO] [stdout] test pipeline::logging::tests::permission_requested_is_warning ... ok
[INFO] [stdout] test pipeline::logging::tests::permission_requested_json ... ok
[INFO] [stdout] test pipeline::parser::tests::absolute_path_preserved ... ok
[INFO] [stdout] test pipeline::parser::tests::and_chain ... ok
[INFO] [stdout] test pipeline::parser::tests::chained_commands_paths_resolved_independently ... ok
[INFO] [stdout] test pipeline::classifier::tests::tier2_python3_overridable ... ok
[INFO] [stdout] test pipeline::parser::tests::command_no_args ... ok
[INFO] [stdout] test pipeline::parser::tests::consecutive_and_operators ... ok
[INFO] [stdout] test pipeline::parser::tests::command_multiple_args ... ok
[INFO] [stdout] test pipeline::parser::tests::current_dir_dot_normalized ... ok
[INFO] [stdout] test pipeline::parser::tests::deeply_nested_parent_dirs ... ok
[INFO] [stdout] test pipeline::parser::tests::double_quoted_operators_not_split ... ok
[INFO] [stdout] test pipeline::parser::tests::double_quotes_preserve_or_operator ... ok
[INFO] [stdout] test pipeline::parser::tests::empty_quoted_string ... ok
[INFO] [stdout] test pipeline::parser::tests::empty_input ... ok
[INFO] [stdout] test pipeline::parser::tests::leading_trailing_whitespace ... ok
[INFO] [stdout] test pipeline::parser::tests::flag_args_not_resolved ... ok
[INFO] [stdout] test pipeline::parser::tests::mixed_operators ... ok
[INFO] [stdout] test pipeline::parser::tests::mixed_quotes_in_args ... ok
[INFO] [stdout] test pipeline::location_guard::tests::partial_name_not_blocked ... ok
[INFO] [stdout] test pipeline::parser::tests::multiple_redirections_stripped ... ok
[INFO] [stdout] test pipeline::parser::tests::normalize_multiple_dotdot ... ok
[INFO] [stdout] test pipeline::parser::tests::normalize_removes_dot ... ok
[INFO] [stdout] test pipeline::parser::tests::normalize_resolves_dotdot ... ok
[INFO] [stdout] test pipeline::parser::tests::parent_dir_normalized ... ok
[INFO] [stdout] test pipeline::parser::tests::path_with_slash_in_name_detected ... ok
[INFO] [stdout] test pipeline::parser::tests::or_chain ... ok
[INFO] [stdout] test pipeline::parser::tests::pipe_chain ... ok
[INFO] [stdout] test pipeline::parser::tests::raw_preserves_original_text ... ok
[INFO] [stdout] test pipeline::parser::tests::redirect_append_target_resolved ... ok
[INFO] [stdout] test pipeline::parser::tests::redirect_relative_target_resolved_to_absolute ... ok
[INFO] [stdout] test pipeline::parser::tests::redirect_stderr_target_resolved ... ok
[INFO] [stdout] test pipeline::parser::tests::raw_preserves_chain_segments ... ok
[INFO] [stdout] test pipeline::parser::tests::redirect_stdout_target_resolved ... ok
[INFO] [stdout] test pipeline::parser::tests::relative_path_resolved_to_absolute ... ok
[INFO] [stdout] test pipeline::parser::tests::semicolon_chain ... ok
[INFO] [stdout] test pipeline::parser::tests::multiple_paths_resolved ... ok
[INFO] [stdout] test pipeline::parser::tests::multiple_pipes ... ok
[INFO] [stdout] test pipeline::parser::tests::multiple_redirections_all_resolved ... ok
[INFO] [stdout] test pipeline::parser::tests::non_path_args_not_resolved ... ok
[INFO] [stdout] test pipeline::parser::tests::normalize_already_clean ... ok
[INFO] [stdout] test pipeline::parser::tests::simple_command ... ok
[INFO] [stdout] test pipeline::parser::tests::single_quoted_operators_not_split ... ok
[INFO] [stdout] test pipeline::parser::tests::single_quotes_preserve_semicolons ... ok
[INFO] [stdout] test pipeline::parser::tests::split_chain_empty ... ok
[INFO] [stdout] test pipeline::parser::tests::split_chain_quoted_and_unquoted_mixed ... ok
[INFO] [stdout] test pipeline::parser::tests::stderr_redirect_stripped ... ok
[INFO] [stdout] test pipeline::parser::tests::stdout_append_redirect_stripped ... ok
[INFO] [stdout] test pipeline::parser::tests::stdout_redirect_stripped ... ok
[INFO] [stdout] test pipeline::parser::tests::tilde_expansion ... ok
[INFO] [stdout] test pipeline::parser::tests::tilde_alone_expands_to_home ... ok
[INFO] [stdout] test pipeline::parser::tests::tokenize_double_quotes ... ok
[INFO] [stdout] test pipeline::parser::tests::tokenize_multiple_spaces ... ok
[INFO] [stdout] test pipeline::parser::tests::tokenize_redirect_with_quoted_target ... ok
[INFO] [stdout] test pipeline::parser::tests::tokenize_nested_quote_inside_other ... ok
[INFO] [stdout] test pipeline::parser::tests::tokenize_single_quotes ... ok
[INFO] [stdout] test pipeline::parser::tests::tokenize_tabs_as_whitespace ... ok
[INFO] [stdout] test pipeline::parser::tests::whitespace_only ... ok
[INFO] [stdout] test pipeline::permission_gate::tests::command_permission_serde_roundtrip ... ok
[INFO] [stdout] test pipeline::permission_gate::tests::command_permission_false_roundtrip ... ok
[INFO] [stdout] test pipeline::permission_gate::tests::gate_decision_approved_equality ... ok
[INFO] [stdout] test pipeline::permission_gate::tests::gate_decision_approved_not_denied ... ok
[INFO] [stdout] test platform::tests::common_safe_commands_present ... ok
[INFO] [stdout] test pipeline::permission_gate::tests::gate_decision_denied_different_reasons ... ok
[INFO] [stdout] test pipeline::permission_gate::tests::gate_decision_denied_equality ... ok
[INFO] [stdout] test platform::tests::dangerous_commands_not_safe ... ok
[INFO] [stdout] test platform::tests::protected_paths_have_valid_fields ... ok
[INFO] [stdout] test platform::tests::etc_is_protected ... ok
[INFO] [stdout] test platform::tests::protected_paths_is_nonempty ... ok
[INFO] [stdout] test platform::tests::system_paths_read_allowed ... ok
[INFO] [stdout] test pipeline::parser::tests::stdin_redirect_stripped ... ok
[INFO] [stdout] test pipeline::parser::tests::split_chain_single_command ... ok
[INFO] [stdout] test platform::tests::arch_name_is_nonempty ... ok
[INFO] [stdout] test platform::tests::safe_commands_have_names_and_descriptions ... ok
[INFO] [stdout] test platform::tests::os_name_is_known ... ok
[INFO] [stdout] test platform::tests::safe_commands_is_nonempty ... ok
[INFO] [stdout] test platform::tests::unix_safe_commands_present ... ok
[INFO] [stdout] test platform::tests::unknown_command_not_safe ... ok
[INFO] [stdout] test platform::tests::usr_bin_is_protected ... ok
[INFO] [stdout] test pipeline::location_guard::tests::symlink_to_safe_path_passes ... FAILED
[INFO] [stdout] test sanitizer::tests::default_patterns_match_common_sensitive_names ... ok
[INFO] [stdout] test sanitizer::tests::does_not_redact_normal_text ... ok
[INFO] [stdout] test sanitizer::tests::custom_extra_patterns ... ok
[INFO] [stdout] test server::tests::resolve_shell_config_cmd_override ... ok
[INFO] [stdout] test server::tests::resolve_shell_config_override ... ok
[INFO] [stdout] test sanitizer::tests::longer_values_replaced_first ... ok
[INFO] [stdout] test server::tests::resolve_shell_unix_fallback ... ok
[INFO] [stdout] test server::tests::resolve_shell_config_powershell_override ... ok
[INFO] [stdout] test sanitizer::tests::exactly_four_chars_redacted ... ok
[INFO] [stdout] test sanitizer::tests::invalid_extra_pattern_skipped ... ok
[INFO] [stdout] test sanitizer::tests::empty_input_returns_empty ... ok
[INFO] [stdout] test sanitizer::tests::redacts_known_sensitive_values ... ok
[INFO] [stdout] test server::tests::shell_with_flag_cmd ... ok
[INFO] [stdout] test server::tests::shell_with_flag_cmd_case_insensitive ... ok
[INFO] [stdout] test server::tests::shell_with_flag_fish ... ok
[INFO] [stdout] test server::tests::shell_with_flag_ksh ... ok
[INFO] [stdout] test server::tests::shell_with_flag_posix_shells ... ok
[INFO] [stdout] test server::tests::shell_with_flag_powershell ... ok
[INFO] [stdout] test server::tests::shell_with_flag_powershell_case_insensitive ... ok
[INFO] [stdout] test sanitizer::tests::multiple_occurrences_all_redacted ... ok
[INFO] [stdout] test server::tests::truncate_output_empty ... ok
[INFO] [stdout] test server::tests::truncate_output_exactly_at_limit ... ok
[INFO] [stdout] test server::tests::shell_with_flag_unknown_shell ... ok
[INFO] [stdout] test sanitizer::tests::short_values_not_redacted ... ok
[INFO] [stdout] test server::tests::truncate_output_within_limit ... ok
[INFO] [stdout] test server::tests::truncate_output_invalid_utf8_handled ... ok
[INFO] [stdout] test server::tests::server_info_has_correct_name ... ok
[INFO] [stdout] test server::tests::server_concurrency_min_one ... ok
[INFO] [stdout] test shutdown::tests::child_tracker_duplicate_pids ... ok
[INFO] [stdout] test server::tests::truncate_output_zero_limit ... ok
[INFO] [stdout] test shutdown::tests::child_tracker_kill_all_clears ... ok
[INFO] [stdout] test shutdown::tests::child_tracker_add_remove ... ok
[INFO] [stdout] test server::tests::truncate_output_exceeds_limit ... ok
[INFO] [stdout] test shutdown::tests::child_tracker_remove_nonexistent ... ok
[INFO] [stdout] test shutdown::tests::shutdown_signal_fires_on_channel_close ... ok
[INFO] [stdout] test shutdown::tests::shutdown_signal_fires_on_send ... ok
[INFO] [stdout] test server::tests::server_info_version_matches_cargo ... ok
[INFO] [stdout] test server::tests::server_new_default_config ... ok
[INFO] [stdout] test server::tests::server_new_custom_config ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- pipeline::location_guard::tests::symlink_to_safe_path_passes stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'pipeline::location_guard::tests::symlink_to_safe_path_passes' (158) panicked at src/pipeline/location_guard.rs:701:13:
[INFO] [stdout] symlink to home directory file should pass for safe commands
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a59c6290f2a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a59c6290f2a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a59c6290f2a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a59c6290f2a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a59c62a7d5a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a59c62a7d5a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x5a59c62958a2 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5a59c62958a2 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5a59c626dbff - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a59c626dbff - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a59c6288659 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a59c5d9018c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5a59c5d9018c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5a59c62888d2 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5a59c62888d2 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a59c626dcea - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5a59c62652c9 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a59c626ec4d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a59c62a859c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a59c5d10d31 - safeshell_mcp[ea7a6256a101adc6]::pipeline::location_guard::tests::symlink_to_safe_path_passes
[INFO] [stdout]                                at /opt/rustwide/workdir/src/pipeline/location_guard.rs:701:13
[INFO] [stdout]   20:     0x5a59c5d0a6d7 - safeshell_mcp[ea7a6256a101adc6]::pipeline::location_guard::tests::symlink_to_safe_path_passes::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/pipeline/location_guard.rs:680:37
[INFO] [stdout]   21:     0x5a59c5cd5686 - <safeshell_mcp[ea7a6256a101adc6]::pipeline::location_guard::tests::symlink_to_safe_path_passes::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5a59c5d8346b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5a59c5d8346b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x5a59c5d90c5b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x5a59c5d90c5b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5a59c5d90c5b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5a59c5d90c5b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5a59c5d90c5b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5a59c5d90c5b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x5a59c5d90c5b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x5a59c5d8b634 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x5a59c5d8b634 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5a59c5d93862 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x5a59c5d93862 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5a59c5d93862 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5a59c5d93862 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5a59c5d93862 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5a59c5d93862 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x5a59c5d93862 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5a59c62900ff - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   41:     0x5a59c62900ff - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x70a9ce7f4aa4 - <unknown>
[INFO] [stdout]   43:     0x70a9ce881a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     pipeline::location_guard::tests::symlink_to_safe_path_passes
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 280 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.84s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin safeshell-mcp`
[INFO] running `Command { std: "docker" "inspect" "4d2e7da621cc6fc106a4021039367e7737c1d0f3564b00c288d72f50b75ec067", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d2e7da621cc6fc106a4021039367e7737c1d0f3564b00c288d72f50b75ec067", kill_on_drop: false }`
[INFO] [stdout] 4d2e7da621cc6fc106a4021039367e7737c1d0f3564b00c288d72f50b75ec067
