[INFO] fetching crate tirith-core 0.3.1...
[INFO] testing tirith-core-0.3.1 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate tirith-core 0.3.1 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate tirith-core 0.3.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate tirith-core 0.3.1
[INFO] tweaked toml for crates.io crate tirith-core 0.3.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tirith-core 0.3.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 tirith-core 0.3.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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-script v0.5.8
[INFO] [stderr]   Downloaded derive_arbitrary v1.4.2
[INFO] [stderr]   Downloaded zmij v1.0.19
[INFO] [stderr]   Downloaded zip v2.4.2
[INFO] [stderr]   Downloaded clap_lex v0.7.7
[INFO] [stderr]   Downloaded owo-colors v4.3.0
[INFO] [stderr]   Downloaded weezl v0.1.12
[INFO] [stderr]   Downloaded zopfli v0.8.3
[INFO] [stderr]   Downloaded rangemap v1.7.1
[INFO] [stderr]   Downloaded clap v4.5.57
[INFO] [stderr]   Downloaded rand v0.9.3
[INFO] [stderr]   Downloaded clap_builder v4.5.57
[INFO] [stderr]   Downloaded lopdf v0.34.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 5b413161488eb5b8673a0330882257346a198c624d2620d1cdc50bbc5a4eaa61
[INFO] running `Command { std: "docker" "start" "-a" "5b413161488eb5b8673a0330882257346a198c624d2620d1cdc50bbc5a4eaa61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5b413161488eb5b8673a0330882257346a198c624d2620d1cdc50bbc5a4eaa61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b413161488eb5b8673a0330882257346a198c624d2620d1cdc50bbc5a4eaa61", kill_on_drop: false }`
[INFO] [stdout] 5b413161488eb5b8673a0330882257346a198c624d2620d1cdc50bbc5a4eaa61
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 31b3745f78ec9e98da69075e0278c0b18404e09d7ffe93592da4e9c4746adab7
[INFO] running `Command { std: "docker" "start" "-a" "31b3745f78ec9e98da69075e0278c0b18404e09d7ffe93592da4e9c4746adab7", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling time v0.3.37
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling weezl v0.1.12
[INFO] [stderr]    Compiling rangemap v1.7.1
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling etcetera v0.8.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling unicode-script v0.5.8
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling lopdf v0.34.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tirith-core v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 21s
[INFO] running `Command { std: "docker" "inspect" "31b3745f78ec9e98da69075e0278c0b18404e09d7ffe93592da4e9c4746adab7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31b3745f78ec9e98da69075e0278c0b18404e09d7ffe93592da4e9c4746adab7", kill_on_drop: false }`
[INFO] [stdout] 31b3745f78ec9e98da69075e0278c0b18404e09d7ffe93592da4e9c4746adab7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 9ef99ee7feb85b18177c26ac4402271388d3c41997e87bbb3b2fa1663464460a
[INFO] running `Command { std: "docker" "start" "-a" "9ef99ee7feb85b18177c26ac4402271388d3c41997e87bbb3b2fa1663464460a", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling clap_builder v4.5.57
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.5.57
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling tirith-core v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling lopdf v0.34.0
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.3
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 15s
[INFO] running `Command { std: "docker" "inspect" "9ef99ee7feb85b18177c26ac4402271388d3c41997e87bbb3b2fa1663464460a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9ef99ee7feb85b18177c26ac4402271388d3c41997e87bbb3b2fa1663464460a", kill_on_drop: false }`
[INFO] [stdout] 9ef99ee7feb85b18177c26ac4402271388d3c41997e87bbb3b2fa1663464460a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 2f91f45f526a3010a5a16034593dd5e57b6c9d7390e3cd73a974c670154af2c3
[INFO] running `Command { std: "docker" "start" "-a" "2f91f45f526a3010a5a16034593dd5e57b6c9d7390e3cd73a974c670154af2c3", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.48s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tirith_core-600892fb401664af)
[INFO] [stdout] 
[INFO] [stdout] running 949 tests
[INFO] [stdout] test approval::tests::test_apply_approval ... ok
[INFO] [stdout] test approval::tests::test_check_approval_empty_rules ... ok
[INFO] [stdout] test approval::tests::test_check_approval_matches ... ok
[INFO] [stdout] test approval::tests::test_check_approval_no_match ... ok
[INFO] [stdout] test approval::tests::test_sanitize_description_basic ... ok
[INFO] [stdout] test approval::tests::test_sanitize_description_collapses_spaces ... ok
[INFO] [stdout] test approval::tests::test_sanitize_fallback ... ok
[INFO] [stdout] test approval::tests::test_sanitize_rule_id ... ok
[INFO] [stdout] test approval::tests::test_sanitize_description_strips_dangerous ... ok
[INFO] [stdout] test audit::tests::test_audit_diagnostics_disabled_by_default ... ok
[INFO] [stdout] test audit::tests::test_audit_diagnostics_enabled_by_env ... ok
[INFO] [stdout] test audit_aggregator::tests::test_empty_records ... ok
[INFO] [stdout] test audit_aggregator::tests::test_compute_stats ... ok
[INFO] [stdout] test audit_aggregator::tests::test_csv_escape ... ok
[INFO] [stdout] test audit_aggregator::tests::test_export_csv ... ok
[INFO] [stdout] test audit_aggregator::tests::test_export_csv_rfc4180 ... ok
[INFO] [stdout] test audit_aggregator::tests::test_filter_by_session ... ok
[INFO] [stdout] test audit_upload::tests::test_enforce_retention_max_bytes ... ok
[INFO] [stdout] test audit_aggregator::tests::test_export_json ... ok
[INFO] [stdout] test audit_aggregator::tests::test_compliance_report ... ok
[INFO] [stdout] test audit::tests::test_audit_log_permissions_0600 ... ok
[INFO] [stdout] test audit_aggregator::tests::test_filter_by_action ... ok
[INFO] [stdout] test audit_upload::tests::test_enforce_retention_within_limits ... ok
[INFO] [stdout] test audit_aggregator::tests::test_filter_by_rule_ids ... ok
[INFO] [stdout] test audit_upload::tests::test_rewrite_spool_empty ... ok
[INFO] [stdout] test approval::tests::test_sanitize_description_truncates ... ok
[INFO] [stdout] test approval::tests::write_approval_file_cleans_up_stale_leaks ... ok
[INFO] [stdout] test audit_upload::tests::test_spool_path_uses_xdg_state ... ok
[INFO] [stdout] test checkpoint::tests::test_checkpoint_config_defaults ... ok
[INFO] [stdout] test checkpoint::tests::test_diff_status_serde ... ok
[INFO] [stdout] test checkpoint::tests::test_validate_restore_path_rejects_traversal ... ok
[INFO] [stdout] test checkpoint::tests::test_backup_nonexistent_file ... ok
[INFO] [stdout] test approval::tests::test_write_warn_ack_file ... ok
[INFO] [stdout] test audit_upload::tests::test_spool_event_creates_file ... ok
[INFO] [stdout] test checkpoint::tests::test_should_auto_checkpoint ... ok
[INFO] [stdout] test audit_upload::tests::test_enforce_retention_max_events ... ok
[INFO] [stdout] test checkpoint::tests::test_validate_sha256_filename ... ok
[INFO] [stdout] test confusables::tests::test_ascii_not_confusable ... ok
[INFO] [stdout] test confusables::tests::test_cyrillic_a ... ok
[INFO] [stdout] test confusables::tests::test_skeleton ... ok
[INFO] [stdout] test checkpoint::tests::test_backup_and_sha256 ... ok
[INFO] [stdout] test confusables::tests::test_confusable_domain ... ok
[INFO] [stdout] test approval::tests::test_write_no_approval_file ... ok
[INFO] [stdout] test approval::tests::test_write_approval_file ... ok
[INFO] [stdout] test audit_upload::tests::test_rewrite_spool_with_remaining ... ok
[INFO] [stdout] test data::tests::test_known_domain ... ok
[INFO] [stdout] test audit_aggregator::tests::test_filter_by_since ... ok
[INFO] [stdout] test engine::tests::test_cmd_bypass_bare_set ... ok
[INFO] [stdout] test engine::tests::test_cmd_no_bypass_single_quotes ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_allows_multi_pipe_chain ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_allows_pipe_to_interpreter ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_allows_pipe_to_sh ... ok
[INFO] [stdout] test engine::tests::test_cmd_bypass_whole_token_quoted ... ok
[INFO] [stdout] test data::tests::test_popular_repo ... ok
[INFO] [stdout] test engine::tests::test_cmd_no_bypass_wrong_value ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_allows_env_wrapper_with_pipe ... ok
[INFO] [stdout] test checkpoint::tests::test_backup_dir_recursive ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_allows_pipe_to_sh_fish ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_bare_prefix ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_env_i ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_double_quoted_value ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_env_c_flag ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_powershell_env_single_quotes ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_env_u_skip ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_env_dashdash ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_env_ignore_environment_long_flag ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_env_s_flag ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_env_wrapper ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_powershell_env ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_powershell_env_no_quotes ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_powershell_env_spaced ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_powershell_mixed_case_env ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_rejects_backgrounding_ampersand ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_rejects_semicolon_chain ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_rejects_or_or ... ok
[INFO] [stdout] test engine::tests::test_no_inline_bypass ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_rejects_sequence_with_and_and ... ok
[INFO] [stdout] test engine::tests::test_no_inline_bypass_powershell_comment_contains_bypass ... ok
[INFO] [stdout] test engine::tests::test_no_inline_bypass_powershell_in_posix_mode ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_single_quoted_value ... ok
[INFO] [stdout] test engine::tests::test_no_inline_bypass_powershell_other_var ... ok
[INFO] [stdout] test engine::tests::test_inline_bypass_usr_bin_env ... ok
[INFO] [stdout] test engine::tests::test_cmd_no_bypass_inner_double_quotes ... ok
[INFO] [stdout] test engine::tests::test_no_inline_bypass_powershell_wrong_value ... ok
[INFO] [stdout] test engine::tests::test_powershell_bypass_case_insensitive_tirith ... ok
[INFO] [stdout] test engine::tests::test_paranoia_filter_recalculates_action ... ok
[INFO] [stdout] test engine::tests::test_powershell_bypass_no_panic_on_multibyte ... ok
[INFO] [stdout] test engine::tests::test_paranoia_filter_suppresses_info_low ... ok
[INFO] [stdout] test engine::tests::test_tirith_inert_arg_range_no_false_match_inside_flag_value ... ok
[INFO] [stdout] test engine::tests::test_tirith_inert_arg_range_covers_expected_span ... ok
[INFO] [stdout] test engine::tests::test_tirith_inert_arg_range_none_for_non_tirith ... ok
[INFO] [stdout] test engine::tests::test_tirith_inert_arg_range_none_for_run ... ok
[INFO] [stdout] test engine::tests::test_tirith_inert_arg_range_pipe_only_first_segment ... ok
[INFO] [stdout] test audit::tests::test_audit_refuses_symlink ... ok
[INFO] [stdout] test audit::tests::test_remote_audit_upload_spools_when_configured ... ok
[INFO] [stdout] test audit::tests::test_tirith_log_disabled ... ok
[INFO] [stdout] test checkpoint::tests::test_create_and_purge_removes_expired ... ok
[INFO] [stdout] test engine::tests::test_tirith_doctor_not_on_inert_list ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_with_sudo_wrapper ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_with_pipe_still_analyzes_rest ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_with_sudo_u_flag ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_with_leading_flag ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_with_doas_wrapper ... ok
[INFO] [stdout] test escalation::tests::test_action_override_block ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_suppresses_confusable_and_bidi ... ok
[INFO] [stdout] test engine::tests::test_tirith_run_bidi_in_url_still_fires ... ok
[INFO] [stdout] test engine::tests::test_exec_bidi_without_url ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_with_sudo_dash_s_boolean_flag ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_suppresses_unicode_tags_evidence_text ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_env_assignment_url_still_analyzed ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_with_sudo_dash_a_boolean_flag ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_suppresses_url_rules ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_unicode_tags_outside_still_fires ... ok
[INFO] [stdout] test escalation::tests::test_action_override_invalid_value_ignored ... ok
[INFO] [stdout] test engine::tests::test_tirith_inspection_with_sudo_dash_b_boolean_flag ... ok
[INFO] [stdout] test engine::tests::test_tirith_run_still_acts_as_sink ... ok
[INFO] [stdout] test escalation::tests::test_cooldown_suppresses_escalation ... ok
[INFO] [stdout] test escalation::tests::test_multi_medium_meets_threshold ... ok
[INFO] [stdout] test escalation::tests::test_post_process_noop_on_allow ... ok
[INFO] [stdout] test escalation::tests::test_post_process_ordering_override_before_escalation ... ok
[INFO] [stdout] test escalation::tests::test_repeat_count_below_threshold ... ok
[INFO] [stdout] test escalation::tests::test_cooldown_zero_does_not_suppress ... ok
[INFO] [stdout] test escalation::tests::test_multi_medium_below_threshold ... ok
[INFO] [stdout] test escalation::tests::test_repeat_count_meets_threshold ... ok
[INFO] [stdout] test escalation::tests::test_wildcard_cooldown_suppresses_aggregate ... ok
[INFO] [stdout] test extract::tests::test_byte_scan_ansi ... ok
[INFO] [stdout] test escalation::tests::test_repeat_count_wildcard ... ok
[INFO] [stdout] test escalation::tests::test_action_override_no_match ... ok
[INFO] [stdout] test extract::tests::test_byte_scan_clean ... ok
[INFO] [stdout] test escalation::tests::test_escalation_rule_serde ... ok
[INFO] [stdout] test escalation::tests::test_escalation_never_downgrades ... ok
[INFO] [stdout] test extract::tests::test_byte_scan_bidi ... ok
[INFO] [stdout] test extract::tests::test_byte_scan_control_chars ... ok
[INFO] [stdout] test extract::tests::test_byte_scan_zero_width ... ok
[INFO] [stdout] test extract::tests::test_command_wrapper_preserves_tirith_run_sink_context ... ok
[INFO] [stdout] test extract::tests::test_docker_build_context_not_image ... ok
[INFO] [stdout] test escalation::tests::test_post_process_action_override_upgrades ... ok
[INFO] [stdout] test escalation::tests::test_hidden_count_multiset_with_duplicates ... ok
[INFO] [stdout] test extract::tests::test_docker_image_subcmd ... ok
[INFO] [stdout] test extract::tests::test_extract_docker_ref ... ok
[INFO] [stdout] test extract::tests::test_docker_run_image_after_double_dash ... ok
[INFO] [stdout] test extract::tests::test_parse_scp_remote_spec_fields_populated ... ok
[INFO] [stdout] test extract::tests::test_extract_urls_from_leading_env_assignment ... ok
[INFO] [stdout] test extract::tests::test_scan_bytes_embedded_cr_still_flagged ... ok
[INFO] [stdout] test extract::tests::test_extract_urls_basic ... ok
[INFO] [stdout] test extract::tests::test_scan_bytes_mixed_crlf_and_attack_cr ... ok
[INFO] [stdout] test extract::tests::test_scan_bytes_trailing_cr_not_flagged ... ok
[INFO] [stdout] test extract::tests::test_extract_powershell_iwr ... ok
[INFO] [stdout] test extract::tests::test_rsync_plain_host_path_not_schemeless ... ok
[INFO] [stdout] test extract::tests::test_env_wrapper_preserves_tirith_run_sink_context ... ok
[INFO] [stdout] test extract::tests::test_scan_bytes_only_cr ... ok
[INFO] [stdout] test extract::tests::test_scan_bytes_osc_apc_dcs ... ok
[INFO] [stdout] test extract::tests::test_scan_bytes_bel_vt_del ... ok
[INFO] [stdout] test extract::tests::test_proxy_env_assignment_url_is_not_treated_as_destination ... ok
[INFO] [stdout] test extract::tests::test_extract_urls_pipe ... ok
[INFO] [stdout] test extract::tests::test_extract_urls_scp ... ok
[INFO] [stdout] test extract::tests::test_extract_urls_from_quoted_leading_env_assignment ... ok
[INFO] [stdout] test extract::tests::test_scan_bytes_trailing_crlf_not_flagged ... ok
[INFO] [stdout] test extract::tests::test_scan_bytes_windows_multiline_not_flagged ... ok
[INFO] [stdout] test extract::tests::test_schemeless_long_tld ... ok
[INFO] [stdout] test extract::tests::test_schemeless_tld_overlap_with_path_is_domain ... ok
[INFO] [stdout] test extract::tests::test_schemeless_tld_overlap_without_path_is_file ... ok
[INFO] [stdout] test extract::tests::test_schemeless_skip_wget_combined ... ok
[INFO] [stdout] test extract::tests::test_scp_accepts_user_at_host_forms ... ok
[INFO] [stdout] test extract::tests::test_schemeless_user_at_host_detected_in_sink_context ... ok
[INFO] [stdout] test extract::tests::test_scp_rejects_flag_and_absolute_local ... ok
[INFO] [stdout] test extract::tests::test_scp_one_letter_alias_posix_accepted ... ok
[INFO] [stdout] test extract::tests::test_scp_plain_host_relative_path_not_schemeless ... ok
[INFO] [stdout] test extract::tests::test_scp_plain_host_path_not_schemeless ... ok
[INFO] [stdout] test extract::tests::test_schemeless_real_domain_still_detected ... ok
[INFO] [stdout] test extract::tests::test_schemeless_skip_curl_output_flag ... ok
[INFO] [stdout] test extract::tests::test_schemeless_skip_wget_output_flag ... ok
[INFO] [stdout] test extract::tests::test_scp_rejects_host_with_slash ... ok
[INFO] [stdout] test extract::tests::test_schemeless_png_no_slash_is_file ... ok
[INFO] [stdout] test extract::tests::test_scp_rejects_missing_parts ... ok
[INFO] [stdout] test extract::tests::test_schemeless_skip_curl_output_combined ... ok
[INFO] [stdout] test extract::tests::test_scp_windows_ambiguous_drive_letter_accepted ... ok
[INFO] [stdout] test extract::tests::test_schemeless_tld_overlap_sink_context_detected ... ok
[INFO] [stdout] test extract::tests::test_scp_windows_forward_slash_shell_scoped ... ok
[INFO] [stdout] test extract::tests::test_scp_windows_backslash_always_rejected ... ok
[INFO] [stdout] test extract::tests::test_strip_quotes_empty ... ok
[INFO] [stdout] test extract::tests::test_strip_quotes_single_char ... ok
[INFO] [stdout] test extract::tests::test_scp_rejects_url_scheme ... ok
[INFO] [stdout] test extract::tests::test_scp_user_at_host_not_treated_as_schemeless_url ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_iwr ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_docker ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_git_scp ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_pipe_bash ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_lookalike_tld ... ok
[INFO] [stdout] test extract::tests::test_segment_index_correct ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_pipe_env_bash ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_curl ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_pipe_sudo_bash ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_pipe_bin_bash ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_shortener ... ok
[INFO] [stdout] test homoglyph::tests::test_byte_offsets_correct ... ok
[INFO] [stdout] test homoglyph::tests::test_escape_google_cyrillic ... ok
[INFO] [stdout] test extract::tests::test_wrapper_preserves_sink_context ... ok
[INFO] [stdout] test homoglyph::tests::test_escape_pure_ascii ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_url ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_no_match_simple ... ok
[INFO] [stdout] test homoglyph::tests::test_escape_mixed_labels ... ok
[INFO] [stdout] test extract::tests::test_time_wrapper_preserves_tirith_run_sink_context ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_matches_punycode ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_no_match_echo ... ok
[INFO] [stdout] test homoglyph::tests::test_analyze_cyrillic_i ... ok
[INFO] [stdout] test homoglyph::tests::test_evidence_serialization ... ok
[INFO] [stdout] test homoglyph::tests::test_escape_to_ascii_punycode ... ok
[INFO] [stdout] test homoglyph::tests::test_hex_bytes_format ... ok
[INFO] [stdout] test license::tests::enforcement_mode_matches_release_tag ... ignored
[INFO] [stdout] test homoglyph::tests::test_multiple_suspicious_chars ... ok
[INFO] [stdout] test license::tests::test_current_tier_defaults_pro ... ok
[INFO] [stdout] test license::tests::test_decode_expired ... ok
[INFO] [stdout] test license::tests::test_decode_enterprise ... ok
[INFO] [stdout] test license::tests::test_decode_invalid_base64 ... ok
[INFO] [stdout] test license::tests::test_decode_invalid_json ... ok
[INFO] [stdout] test license::tests::test_decode_license_info_expired ... ok
[INFO] [stdout] test extract::tests::test_tier1_exec_no_non_ascii ... ok
[INFO] [stdout] test license::tests::test_decode_license_info_pro_no_sso ... ok
[INFO] [stdout] test license::tests::test_decode_case_insensitive ... ok
[INFO] [stdout] test license::tests::test_decode_license_info_team_sso ... ok
[INFO] [stdout] test license::tests::test_decode_missing_tier ... ok
[INFO] [stdout] test license::tests::test_decode_unknown_tier ... ok
[INFO] [stdout] test license::tests::test_decode_pro ... ok
[INFO] [stdout] test license::tests::test_keyring_all_keys_valid ... ok
[INFO] [stdout] test license::tests::test_keyring_non_empty ... ok
[INFO] [stdout] test license::tests::test_enforcement_signed_only_rejects_unsigned ... ok
[INFO] [stdout] test license::tests::test_decode_team ... ok
[INFO] [stdout] test license::tests::test_enforcement_legacy_accepts_unsigned ... ok
[INFO] [stdout] test license::tests::test_keyring_no_duplicate_kids ... ok
[INFO] [stdout] test license::tests::test_decode_no_expiry ... ok
[INFO] [stdout] test license::tests::test_license_info_default ... ok
[INFO] [stdout] test license::tests::test_empty_string_token ... ok
[INFO] [stdout] test license::tests::test_legacy_rejected_in_signed_only ... ok
[INFO] [stdout] test license::tests::test_legacy_works_in_signed_preferred ... ok
[INFO] [stdout] test license::tests::test_parser_empty_segment_right ... ok
[INFO] [stdout] test license::tests::test_kid_mismatch ... ok
[INFO] [stdout] test extract::tests::test_tier1_paste_exec_patterns_also_match ... ok
[INFO] [stdout] test license::tests::test_parser_malformed_base64url ... ok
[INFO] [stdout] test license::tests::test_parser_extra_segments ... ok
[INFO] [stdout] test extract::tests::test_tier1_paste_matches_non_ascii ... ok
[INFO] [stdout] test license::tests::test_parser_padded_base64url_structural ... ok
[INFO] [stdout] test license::tests::test_legacy_mode_accepts_signed ... ok
[INFO] [stdout] test license::tests::test_parser_empty_segment_left ... ok
[INFO] [stdout] test license::tests::test_parser_bad_nbf_type ... ok
[INFO] [stdout] test license::tests::test_parser_exp_exact_boundary ... ok
[INFO] [stdout] test license::tests::test_no_kid_tries_all ... ok
[INFO] [stdout] test extract::tests::test_tier1_module_boundary_enforcement ... ok
[INFO] [stdout] test license::tests::test_key_revocation_after_removal ... ok
[INFO] [stdout] test license::tests::test_parser_whitespace_only ... ok
[INFO] [stdout] test license::tests::test_parser_nbf_exact_boundary ... ok
[INFO] [stdout] test license::tests::test_signed_missing_exp ... ok
[INFO] [stdout] test license::tests::test_parser_oversized_token ... ok
[INFO] [stdout] test license::tests::test_signed_missing_iss ... ok
[INFO] [stdout] test license::tests::test_kid_correct ... ok
[INFO] [stdout] test license::tests::test_signed_license_info_full ... ok
[INFO] [stdout] test license::tests::test_signed_community ... ok
[INFO] [stdout] test license::tests::test_tier_display ... ok
[INFO] [stdout] test license::tests::test_tier_ordering ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_invalid_request_array_id ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_invalid_request_bool_id ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_invalid_request_missing_jsonrpc ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_invalid_request_missing_method ... ok
[INFO] [stdout] test license::tests::test_signed_nbf_future ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_invalid_request_object_id ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_invalid_request_wrong_jsonrpc_version ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_notification_before_init_ignored ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_null_id_treated_as_request ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_lifecycle ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_pre_init_enforcement ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_parse_error ... ok
[INFO] [stdout] test license::tests::test_signed_missing_aud ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_resources_list ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_string_id_preserved ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_pre_init_ping_allowed ... ok
[INFO] [stdout] test license::tests::test_signed_tampered_signature ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_unknown_method ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_version_negotiation_supported ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_version_negotiation_unsupported ... ok
[INFO] [stdout] test mcp::tools::tests::test_cloaking_diff_text_is_dlp_redacted ... ok
[INFO] [stdout] test mcp::tools::tests::test_cloaking_custom_dlp_pattern_redacts_diff_text ... ok
[INFO] [stdout] test network::dns::tests::test_reverse_ipv4_invalid ... ok
[INFO] [stdout] test license::tests::test_signed_exp_as_string_rejected ... ok
[INFO] [stdout] test network::shorturl::tests::test_cache_roundtrip ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_tools_call_unknown_tool ... ok
[INFO] [stdout] test network::shorturl::tests::test_extract_host_various ... ok
[INFO] [stdout] test license::tests::test_multi_key_kid_directed_lookup ... ok
[INFO] [stdout] test network::dns::tests::test_reverse_ipv4_valid ... ok
[INFO] [stdout] test network::shorturl::tests::test_extract_origin ... ok
[INFO] [stdout] test license::tests::test_signed_enterprise ... ok
[INFO] [stdout] test mcp::tools::tests::test_cloaking_diff_text_present_in_structured_output ... ok
[INFO] [stdout] test network::shorturl::tests::test_is_shortened_url_known ... ok
[INFO] [stdout] test license::tests::test_signed_tampered_payload ... ok
[INFO] [stdout] test network::shorturl::tests::test_is_shortened_url_negative ... ok
[INFO] [stdout] test normalize::tests::test_dot_decoded ... ok
[INFO] [stdout] test normalize::tests::test_double_encoding_detected ... ok
[INFO] [stdout] test normalize::tests::test_mixed_encoding ... ok
[INFO] [stdout] test normalize::tests::test_multiple_rounds ... ok
[INFO] [stdout] test normalize::tests::test_reserved_at_preserved ... ok
[INFO] [stdout] test normalize::tests::test_invalid_percent_triplet ... ok
[INFO] [stdout] test normalize::tests::test_reserved_colon_preserved ... ok
[INFO] [stdout] test normalize::tests::test_no_encoding ... ok
[INFO] [stdout] test network::shorturl::tests::test_is_shortened_url_case_insensitive ... ok
[INFO] [stdout] test normalize::tests::test_hex_case_normalized ... ok
[INFO] [stdout] test normalize::tests::test_reserved_question_preserved ... ok
[INFO] [stdout] test normalize::tests::test_single_level_not_double_encoded ... ok
[INFO] [stdout] test normalize::tests::test_tilde_decoded ... ok
[INFO] [stdout] test normalize::tests::test_underscore_decoded ... ok
[INFO] [stdout] test normalize::tests::test_unreserved_decoded ... ok
[INFO] [stdout] test output::tests::write_human_no_color_plain_renders_blocked ... ok
[INFO] [stdout] test output::tests::write_human_no_color_warn_only_renders_detected ... ok
[INFO] [stdout] test output::tests::warn_only_flag_does_not_reach_write_json ... ok
[INFO] [stdout] test parse::tests::test_docker_dotted_tag ... ok
[INFO] [stdout] test license::tests::test_signed_wrong_iss ... ok
[INFO] [stdout] test parse::tests::test_docker_ref_gcr ... ok
[INFO] [stdout] test mcp::dispatcher::tests::test_tools_call_check_command ... ok
[INFO] [stdout] test parse::tests::test_docker_ref_localhost_port ... ok
[INFO] [stdout] test parse::tests::test_docker_ref_single_component ... ok
[INFO] [stdout] test parse::tests::test_docker_ref_user_image ... ok
[INFO] [stdout] test parse::tests::test_docker_ref_with_digest ... ok
[INFO] [stdout] test license::tests::test_signed_pro ... ok
[INFO] [stdout] test parse::tests::test_docker_ref_with_registry ... ok
[INFO] [stdout] test parse::tests::test_docker_registry_port_no_tag ... ok
[INFO] [stdout] test parse::tests::test_docker_registry_port_with_dotted_tag ... ok
[INFO] [stdout] test parse::tests::test_parse_scp ... ok
[INFO] [stdout] test parse::tests::test_raw_host_empty ... ok
[INFO] [stdout] test parse::tests::test_raw_host_encoded_colon ... ok
[INFO] [stdout] test parse::tests::test_raw_host_encoded_at ... ok
[INFO] [stdout] test parse::tests::test_raw_host_preserved ... ok
[INFO] [stdout] test parse::tests::test_raw_host_userinfo ... ok
[INFO] [stdout] test policy::tests::test_allowlist_schemeless_host_with_port ... ok
[INFO] [stdout] test policy::tests::test_allowlist_schemeless_host ... ok
[INFO] [stdout] test license::tests::test_signed_expired ... ok
[INFO] [stdout] test parse::tests::test_parse_standard_url ... ok
[INFO] [stdout] test policy::tests::test_allowlist_domain_matches_subdomain ... ok
[INFO] [stdout] test parse::tests::test_raw_host_ipv6 ... ok
[INFO] [stdout] test policy_client::tests::test_policy_fetch_error_display ... ok
[INFO] [stdout] test policy_validate::tests::test_allowlist_blocklist_overlap ... ok
[INFO] [stdout] test policy_validate::tests::test_invalid_severity_override ... ok
[INFO] [stdout] test parse::tests::test_raw_host_with_port ... ok
[INFO] [stdout] test policy::tests::test_discover_applies_remote_fetch_fail_mode_when_configured ... ok
[INFO] [stdout] test parse::tests::test_unparsed_fallback ... ok
[INFO] [stdout] test policy_validate::tests::test_paranoia_out_of_range ... ok
[INFO] [stdout] test policy_validate::tests::test_valid_minimal_policy ... ok
[INFO] [stdout] test policy_validate::tests::test_nested_scan_profile_unknown_field ... ok
[INFO] [stdout] test receipt::tests::test_receipt_save_permissions_0600 ... ok
[INFO] [stdout] test receipt::tests::test_receipt_save_no_predictable_tmp ... ok
[INFO] [stdout] test receipt::tests::test_short_hash_normal ... ok
[INFO] [stdout] test policy_validate::tests::test_custom_rule_bad_regex ... ok
[INFO] [stdout] test receipt::tests::test_short_hash_short_input ... ok
[INFO] [stdout] test receipt::tests::test_validate_sha256_path_traversal ... ok
[INFO] [stdout] test receipt::tests::test_validate_sha256_too_short ... ok
[INFO] [stdout] test receipt::tests::test_validate_sha256_uppercase_rejected ... ok
[INFO] [stdout] test receipt::tests::test_validate_sha256_valid ... ok
[INFO] [stdout] test policy_validate::tests::test_invalid_yaml ... ok
[INFO] [stdout] test policy_client::tests::test_fetch_invalid_url_returns_network_error ... ok
[INFO] [stdout] test policy_validate::tests::test_unknown_field ... ok
[INFO] [stdout] test redact::tests::test_redact_aws_key ... ok
[INFO] [stdout] test parse::tests::test_raw_host_trailing_dot ... ok
[INFO] [stdout] test redact::tests::test_redact_no_false_positive ... ok
[INFO] [stdout] test receipt::tests::test_short_hash_non_ascii ... ok
[INFO] [stdout] test redact::tests::test_redact_email ... ok
[INFO] [stdout] test redact::tests::test_redact_shell_assignments_scrubs_powershell_env_assignments ... ok
[INFO] [stdout] test redact::tests::test_redact_shell_assignments_scrubs_short_secret_assignments ... ok
[INFO] [stdout] test redact::tests::test_redact_openai_key ... ok
[INFO] [stdout] test redact::tests::test_redact_github_pat ... ok
[INFO] [stdout] test rule_explanations::tests::test_all_explanation_ids_are_valid_rules ... ok
[INFO] [stdout] test redact::tests::test_redact_anthropic_key ... ok
[INFO] [stdout] test rule_explanations::tests::test_list_by_category ... ok
[INFO] [stdout] test rule_explanations::tests::test_list_by_unknown_category ... ok
[INFO] [stdout] test rule_explanations::tests::test_categories_no_duplicates ... ok
[INFO] [stdout] test rule_explanations::tests::test_explain_known_rule ... ok
[INFO] [stdout] test rule_explanations::tests::test_explain_unknown_rule ... ok
[INFO] [stdout] test rule_explanations::tests::test_mitre_id_for_rule_matches_toml ... ok
[INFO] [stdout] test redact::tests::test_redact_with_custom ... ok
[INFO] [stdout] test rule_metadata::tests::test_critical_finding_bypasses_gate ... ok
[INFO] [stdout] test rule_metadata::tests::test_day_after_expiry_gate_expired ... ok
[INFO] [stdout] test rule_metadata::tests::test_day_before_expiry_gate_active ... ok
[INFO] [stdout] test rule_metadata::tests::test_day_of_expiry_gate_expired ... ok
[INFO] [stdout] test rule_metadata::tests::test_filter_no_metadata_passes_through ... ok
[INFO] [stdout] test rule_metadata::tests::test_filter_passes_medium_for_pro_tier ... ok
[INFO] [stdout] test rule_metadata::tests::test_malformed_date_fails_open ... ok
[INFO] [stdout] test rules::cloaking::tests::test_word_diff_size_different ... ok
[INFO] [stdout] test rule_metadata::tests::test_filter_suppresses_medium_for_free_tier ... ok
[INFO] [stdout] test rule_metadata::tests::test_none_date_means_no_gate ... ok
[INFO] [stdout] test rules::cloaking::tests::test_cloaking_rejects_localhost_target_before_fetch ... ok
[INFO] [stdout] test rules::cloaking::tests::test_word_diff_size_large_difference ... ok
[INFO] [stdout] test rules::cloaking::tests::test_word_diff_size_identical ... ok
[INFO] [stdout] test rules::cloaking::tests::test_word_diff_size_threshold ... ok
[INFO] [stdout] test license::tests::test_signed_only_accepts_signed ... ok
[INFO] [stdout] test license::tests::test_signed_team ... ok
[INFO] [stdout] test license::tests::test_signed_wrong_aud ... ok
[INFO] [stdout] test license::tests::test_signed_license_info_expired ... ok
[INFO] [stdout] test rules::cloaking::tests::test_normalize_html_strips_scripts ... ok
[INFO] [stdout] test rules::cloaking::tests::test_normalize_html_strips_styles ... ok
[INFO] [stdout] test rules::cloaking::tests::test_normalize_html_strips_nonces ... ok
[INFO] [stdout] test rules::codefile::tests::test_bare_eval_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_eval_atob_distant_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_dynamic_code_no_panic_on_box_drawing_chars ... ok
[INFO] [stdout] test rules::codefile::tests::test_dynamic_code_eval_atob ... ok
[INFO] [stdout] test rules::codefile::tests::test_dynamic_code_no_panic_on_leading_multibyte ... ok
[INFO] [stdout] test license::tests::test_signed_wrong_key ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_document_cookie_not_sent_no_fire ... ok
[INFO] [stdout] test normalize::tests::test_reserved_preserved ... ok
[INFO] [stdout] test normalize::tests::test_hyphen_decoded ... ok
[INFO] [stdout] test rules::codefile::tests::test_dynamic_code_exec_b64decode ... ok
[INFO] [stdout] test redact::tests::test_redact_finding_covers_all_fields ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_multiline_paren_division_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_js_regex_literal_in_args ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_paren_division_in_args_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_fetch_env_token ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_js_meta_property_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_auth_header_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_nested_headers_in_json_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_multiline_division_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_block_comment_in_args ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_division_in_args_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_postfix_dec_div_then_token_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_nested_headers_in_body_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_postfix_increment_division_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_headers_then_body_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_document_cookie_inside_call_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_postfix_inc_div_then_meta_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_js_token_property_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_js_block_comment_headers_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_find_call_end_block_comment ... ok
[INFO] [stdout] test rules::codefile::tests::test_find_call_end_line_comment ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_unrelated_body_object_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_find_call_end_postfix_decrement ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_regex_literal_authorization_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_find_call_end_division ... ok
[INFO] [stdout] test rules::codefile::tests::test_find_call_end_regex_literal ... ok
[INFO] [stdout] test rules::codefile::tests::test_is_code_file_by_extension ... ok
[INFO] [stdout] test rules::codefile::tests::test_find_call_end_multiline_division ... ok
[INFO] [stdout] test rules::codefile::tests::test_is_code_file_shebang ... ok
[INFO] [stdout] test rules::codefile::tests::test_normal_fetch_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_not_code_file_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_find_call_end_postfix_increment ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_postfix_decrement_division_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_regex_literal_headers_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_separate_statement_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_safe_end_clamps_into_multibyte ... ok
[INFO] [stdout] test rules::codefile::tests::test_safe_start_clamps_into_multibyte ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_python_requests ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_python_line_comment_in_args ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_python_hash_comment_headers_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_fetch_cookie ... ok
[INFO] [stdout] test rules::command::tests::test_cmd_base_ansi_c ... ok
[INFO] [stdout] test rules::command::tests::test_cmd_base_encoded_path ... ok
[INFO] [stdout] test rules::command::tests::test_cmd_base_env_s_value ... ok
[INFO] [stdout] test rules::command::tests::test_cmd_base_path ... ok
[INFO] [stdout] test rules::command::tests::test_cmd_base_path_with_args ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_python_headers_then_data_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_internal_post_body_no_fire ... ok
[INFO] [stdout] test rules::command::tests::test_ansic_quoting_not_applied_to_fish ... ok
[INFO] [stdout] test rules::command::tests::test_cmd_base_octal_encoded_path ... ok
[INFO] [stdout] test rules::command::tests::test_cmd_base_exe ... ok
[INFO] [stdout] test rules::command::tests::test_cmd_base_uppercase ... ok
[INFO] [stdout] test rules::command::tests::test_curl_metadata_endpoint ... ok
[INFO] [stdout] test rules::command::tests::test_cmd_base_powershell_path ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_query_concat_fires ... ok
[INFO] [stdout] test rules::codefile::tests::test_js_exfil_no_panic_on_non_ascii_args ... ok
[INFO] [stdout] test rules::command::tests::test_cidr_contains ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_python_meta_kwarg_no_fire ... ok
[INFO] [stdout] test rules::codefile::tests::test_scan_plain_python_with_box_drawing_no_panic ... ok
[INFO] [stdout] test rules::codefile::tests::test_exfil_python_nested_headers_in_data_fires ... ok
[INFO] [stdout] test rules::command::tests::test_flag_value_url_detected_in_network_policy ... ok
[INFO] [stdout] test rules::command::tests::test_curl_private_network ... ok
[INFO] [stdout] test rules::command::tests::test_dashdash_stops_flag_skipping ... ok
[INFO] [stdout] test rules::command::tests::test_curl_public_ip_safe ... ok
[INFO] [stdout] test rules::codefile::tests::test_obfuscated_payload_no_panic_on_trailing_multibyte ... ok
[INFO] [stdout] test rules::codefile::tests::test_obfuscated_payload ... ok
[INFO] [stdout] test rules::codefile::tests::test_py_exfil_no_panic_on_non_ascii_args ... ok
[INFO] [stdout] test rules::command::tests::test_env_ld_preload_cmd ... ok
[INFO] [stdout] test rules::command::tests::test_export_bash_env ... ok
[INFO] [stdout] test rules::command::tests::test_export_ld_preload ... ok
[INFO] [stdout] test rules::command::tests::test_export_openai_key ... ok
[INFO] [stdout] test rules::command::tests::test_export_path_safe ... ok
[INFO] [stdout] test rules::command::tests::test_export_pythonpath ... ok
[INFO] [stdout] test rules::command::tests::test_extract_host_from_url ... ok
[INFO] [stdout] test rules::command::tests::test_dotfile_overwrite_detected ... ok
[INFO] [stdout] test rules::command::tests::test_flag_value_url_metadata_endpoint ... ok
[INFO] [stdout] test rules::command::tests::test_flag_value_url_private_network ... ok
[INFO] [stdout] test rules::command::tests::test_httpie_no_pipe_safe ... ok
[INFO] [stdout] test rules::command::tests::test_matches_network_list_hostname ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_catches_command_wrapped_curl ... ok
[INFO] [stdout] test rules::command::tests::test_metadata_bare_ip ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_catches_doas_wrapped_curl ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_allow_exempts ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_catches_env_with_assignment_curl ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_catches_sudo_u_flagged_curl ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_catches_scp_host_path ... ok
[INFO] [stdout] test rules::command::tests::test_httpie_https_pipe_bash ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_catches_env_wrapped_curl ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_catches_scp_user_at_host_path ... ok
[INFO] [stdout] test rules::command::tests::test_httpie_pipe_bash ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_deny_cidr ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_catches_sudo_wrapped_scp ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_empty_deny ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_no_match ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_ansi_c_bare_zero ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_scp_allow_exempts ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_ansi_c_basic ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_catches_sudo_wrapped_curl ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_catches_rsync_host_path ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_catches_time_wrapped_curl ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_ansi_c_hex ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_deny_exact ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_ansi_c_unicode ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_backslash ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_cmd_caret_inside_double_quotes ... ok
[INFO] [stdout] test rules::command::tests::test_network_policy_deny_subdomain ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_double_quotes ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_empty_concat ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_ansi_c_octal_leading_zero ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_ansi_c_octal ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_mixed_concat ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_unclosed_single_quote ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_env_u_flag_detected ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_sudo_flags_detected ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_env_var_assignment_detected ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_env_s_flag_detected ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_sudo_env_detected ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_to_interpreter_cmd_quoted_caret_cmd ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_sudo_long_flag_detected ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_to_interpreter_hint_flag_equals_url ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_to_interpreter_evidence_includes_all_source_urls ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_powershell_backtick ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_single_quotes ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_to_interpreter_hint_iwr_powershell ... ok
[INFO] [stdout] test rules::command::tests::test_normalize_unclosed_double_quote ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_to_interpreter_hint_quoted_url ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_to_interpreter_no_hint_for_cat ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_to_interpreter_hint_with_url ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_to_interpreter_hint_sanitizes_ansi_in_url ... ok
[INFO] [stdout] test rules::command::tests::test_redact_env_value_never_returns_secret ... ok
[INFO] [stdout] test rules::command::tests::test_pipe_to_interpreter_hint_sanitizes_newline_in_url ... ok
[INFO] [stdout] test rules::command::tests::test_powershell_doubled_single_quote ... ok
[INFO] [stdout] test rules::command::tests::test_resolve_ansi_c_quoted_bash ... ok
[INFO] [stdout] test rules::command::tests::test_resolve_case_insensitive ... ok
[INFO] [stdout] test rules::command::tests::test_resolve_command_wrapper ... ok
[INFO] [stdout] test rules::command::tests::test_sanitize_url_for_display ... ok
[INFO] [stdout] test rules::command::tests::test_resolve_wrapper_chain ... ok
[INFO] [stdout] test rules::command::tests::test_resolve_powershell_backtick_iex ... ok
[INFO] [stdout] test rules::command::tests::test_source_command_arrays_consistent ... ok
[INFO] [stdout] test rules::command::tests::test_strip_port_unbracketed_ipv6 ... ok
[INFO] [stdout] test rules::command::tests::test_sudo_combined_short_flags ... ok
[INFO] [stdout] test rules::command::tests::test_sudo_dashdash_resolves_command ... ok
[INFO] [stdout] test rules::configfile::tests::test_absolute_path_rules_at_root ... ok
[INFO] [stdout] test rules::command::tests::test_xh_no_pipe_safe ... ok
[INFO] [stdout] test rules::command::tests::test_xh_pipe_sudo_bash ... ok
[INFO] [stdout] test rules::command::tests::test_xh_pipe_bash ... ok
[INFO] [stdout] test rules::configfile::tests::test_absolute_path_outside_repo_not_config ... ok
[INFO] [stdout] test rules::command::tests::test_vet_not_configured_fires_without_supply_chain ... ok
[INFO] [stdout] test rules::command::tests::test_vet_not_configured_skips_non_install ... ok
[INFO] [stdout] test rules::command::tests::test_vet_no_false_positive_on_non_install_subcommand ... ok
[INFO] [stdout] test rules::configfile::tests::test_extract_host_from_url_with_userinfo ... ok
[INFO] [stdout] test rules::command::tests::test_vet_skipped_in_paste_context ... ok
[INFO] [stdout] test rules::configfile::tests::test_case_insensitive_deep_match ... ok
[INFO] [stdout] test rules::configfile::tests::test_deep_dir_rejects_unanchored_path ... ok
[INFO] [stdout] test rules::command::tests::test_vet_not_configured_suppressed_with_supply_chain ... ok
[INFO] [stdout] test rules::command::tests::test_vet_detects_cargo_exe_windows_path ... ok
[INFO] [stdout] test rules::configfile::tests::test_extension_gate ... ok
[INFO] [stdout] test rules::command::tests::test_vet_detects_cargo_with_flags ... ok
[INFO] [stdout] test rules::configfile::tests::test_cline_themed_rules ... ok
[INFO] [stdout] test rules::configfile::tests::test_known_config_detection ... ok
[INFO] [stdout] test rules::configfile::tests::test_known_config_files_no_duplicates ... ok
[INFO] [stdout] test rules::configfile::tests::test_invisible_unicode_not_known ... ok
[INFO] [stdout] test rules::configfile::tests::test_deep_dir_rejects_nested_non_project_root ... ok
[INFO] [stdout] test rules::configfile::tests::test_invisible_unicode_detection ... ok
[INFO] [stdout] test rules::configfile::tests::test_deep_dir_matches ... ok
[INFO] [stdout] test rules::configfile::tests::test_mcp_config_detection ... ok
[INFO] [stdout] test rules::configfile::tests::test_new_config_dirs ... ok
[INFO] [stdout] test rules::configfile::tests::test_new_config_files ... ok
[INFO] [stdout] test rules::command::tests::test_resolve_nohup_wrapper ... ok
[INFO] [stdout] test rules::command::tests::test_resolve_exec_a_wrapper ... ok
[INFO] [stdout] test rules::configfile::tests::test_pattern_identity_reassignment ... ok
[INFO] [stdout] test rules::configfile::tests::test_pattern_context_wipe ... ok
[INFO] [stdout] test rules::configfile::tests::test_pattern_cross_tool_override ... ok
[INFO] [stdout] test rules::configfile::tests::test_pattern_safety_dismissal ... ok
[INFO] [stdout] test rules::configfile::tests::test_pattern_skill_activation ... ok
[INFO] [stdout] test rules::configfile::tests::test_negated_first_hit_malicious_second_still_detects ... ok
[INFO] [stdout] test rules::configfile::tests::test_negation_with_exception_not_suppressed ... ok
[INFO] [stdout] test rules::configfile::tests::test_roo_slug_dir_rules ... ok
[INFO] [stdout] test rules::configfile::tests::test_roo_mode_rules ... ok
[INFO] [stdout] test rules::configfile::tests::test_strong_overrides_weak ... ok
[INFO] [stdout] test rules::configfile::tests::test_root_only_rules_file ... ok
[INFO] [stdout] test rules::configfile::tests::test_pattern_permission_bypass ... ok
[INFO] [stdout] test rules::configfile::tests::test_prompt_injection_detected ... ok
[INFO] [stdout] test rules::credential::tests::test_aws_key_in_authorization_header_without_sigv4_fires ... ok
[INFO] [stdout] test rules::configfile::tests::test_prompt_injection_multibyte_context_no_panic ... ok
[INFO] [stdout] test rules::credential::tests::test_aws_key_in_curl_header_fires ... ok
[INFO] [stdout] test rules::credential::tests::test_aws_key_in_url_without_algorithm_fires ... ok
[INFO] [stdout] test rules::credential::tests::test_aws_key_in_url_without_signature_fires ... ok
[INFO] [stdout] test rules::configfile::tests::test_non_ascii_in_cursorrules_dotfile ... ok
[INFO] [stdout] test rules::configfile::tests::test_check_skips_invisible_unicode_for_non_config ... ok
[INFO] [stdout] test rules::configfile::tests::test_non_ascii_in_json_config ... ok
[INFO] [stdout] test rules::configfile::tests::test_mcp_http_server ... ok
[INFO] [stdout] test rules::configfile::tests::test_mcp_duplicate_name ... ok
[INFO] [stdout] test rules::configfile::tests::test_negated_strong_pattern_suppressed ... ok
[INFO] [stdout] test rules::configfile::tests::test_weak_pattern_always_apply ... ok
[INFO] [stdout] test rules::configfile::tests::test_clean_content_no_findings ... ok
[INFO] [stdout] test rules::configfile::tests::test_mcp_raw_ip_server ... ok
[INFO] [stdout] test rules::configfile::tests::test_mcp_wildcard_tools ... ok
[INFO] [stdout] test rules::configfile::tests::test_weak_pattern_file_access ... ok
[INFO] [stdout] test rules::credential::tests::test_aws_sigv4_authorization_header_lowercased_suppressed ... ok
[INFO] [stdout] test rules::credential::tests::test_export_aws_key_suppressed ... ok
[INFO] [stdout] test rules::configfile::tests::test_mcp_shell_metachar_args ... ok
[INFO] [stdout] test rules::credential::tests::test_file_scan_skipped ... ok
[INFO] [stdout] test rules::configfile::tests::test_mcp_duplicate_malformed_json_no_panic ... ok
[INFO] [stdout] test rules::credential::tests::test_env_aws_key_suppressed ... ok
[INFO] [stdout] test rules::credential::tests::test_fish_set_eq_suppressed ... ok
[INFO] [stdout] test rules::credential::tests::test_bare_aws_key_assignment_fires ... ok
[INFO] [stdout] test rules::credential::tests::test_fish_set_space_suppressed ... ok
[INFO] [stdout] test rules::credential::tests::test_aws_sigv4_authorization_header_suppressed ... ok
[INFO] [stdout] test rules::credential::tests::test_generic_entropy_skipped_in_exec ... ok
[INFO] [stdout] test rules::credential::tests::test_same_aws_key_in_body_after_sigv4_still_fires ... ok
[INFO] [stdout] test rules::credential::tests::test_same_aws_key_in_other_header_after_sigv4_still_fires ... ok
[INFO] [stdout] test rules::credential::tests::test_s3_presigned_url_suppressed ... ok
[INFO] [stdout] test rules::credential::tests::test_s3_presigned_url_url_encoded_credential_value_suppressed ... ok
[INFO] [stdout] test rules::credential::tests::test_malformed_unquoted_authorization_header_does_not_suppress ... ok
[INFO] [stdout] test rules::custom::tests::test_check_no_match_when_pattern_absent ... ok
[INFO] [stdout] test rules::custom::tests::test_check_matches_in_context ... ok
[INFO] [stdout] test rules::credential::tests::test_slack_token_detected ... ok
[INFO] [stdout] test rules::custom::tests::test_check_no_match_wrong_context ... ok
[INFO] [stdout] test rules::custom::tests::test_compile_valid_rule ... ok
[INFO] [stdout] test rules::environment::tests::test_no_proxy ... ok
[INFO] [stdout] test rules::credential::tests::test_slack_token_does_not_match_word_suffix ... ok
[INFO] [stdout] test rules::environment::tests::test_http_proxy_set ... ok
[INFO] [stdout] test rules::credential::tests::test_second_aws_key_in_url_path_still_fires ... ok
[INFO] [stdout] test rules::credential::tests::test_second_aws_key_after_sigv4_header_still_fires ... ok
[INFO] [stdout] test rules::rendered::tests::test_contrast_ratio_black_white ... ok
[INFO] [stdout] test rules::custom::tests::test_compile_invalid_regex_skipped ... ok
[INFO] [stdout] test rules::credential::tests::test_non_ascii_prefix_does_not_panic ... ok
[INFO] [stdout] test rules::credential::tests::test_reordered_query_params_suppressed ... ok
[INFO] [stdout] test rules::rendered::tests::test_contrast_ratio_same_color ... ok
[INFO] [stdout] test rules::rendered::tests::test_extract_text_from_operands ... ok
[INFO] [stdout] test rules::rendered::tests::test_extract_text_from_tj_array ... ok
[INFO] [stdout] test rules::rendered::tests::test_color_high_contrast_no_finding ... ok
[INFO] [stdout] test rules::rendered::tests::test_html_aria_hidden ... ok
[INFO] [stdout] test rules::rendered::tests::test_css_visibility_hidden ... ok
[INFO] [stdout] test rules::rendered::tests::test_css_font_size_zero ... ok
[INFO] [stdout] test rules::rendered::tests::test_css_opacity_zero ... ok
[INFO] [stdout] test rules::rendered::tests::test_color_hiding_white_on_white ... ok
[INFO] [stdout] test rules::rendered::tests::test_clean_html_no_findings ... ok
[INFO] [stdout] test rules::rendered::tests::test_color_hiding_named_colors ... ok
[INFO] [stdout] test rules::rendered::tests::test_css_display_none ... ok
[INFO] [stdout] test rules::rendered::tests::test_html_aria_hidden_svg_benign ... ok
[INFO] [stdout] test rules::rendered::tests::test_is_renderable_file ... ok
[INFO] [stdout] test rules::rendered::tests::test_line_number_of ... ok
[INFO] [stdout] test rules::rendered::tests::test_html_hidden_attribute ... ok
[INFO] [stdout] test rules::rendered::tests::test_markdown_comment_injection ... ok
[INFO] [stdout] test rules::rendered::tests::test_html_comment_prompt_injection ... ok
[INFO] [stdout] test rules::rendered::tests::test_markdown_comment_not_in_html ... ok
[INFO] [stdout] test rules::rendered::tests::test_parse_color_hex ... ok
[INFO] [stdout] test rules::rendered::tests::test_parse_color_multibyte_hex_no_panic ... ok
[INFO] [stdout] test rules::rendered::tests::test_parse_color_named ... ok
[INFO] [stdout] test rules::rendered::tests::test_markdown_comment ... ok
[INFO] [stdout] test rules::rendered::tests::test_pdf_invalid_bytes_no_panic ... ok
[INFO] [stdout] test rules::rendered::tests::test_html_comment_pipe_shell ... ok
[INFO] [stdout] test rules::rendered::tests::test_html_comment_short_no_finding ... ok
[INFO] [stdout] test rules::rendered::tests::test_truncate_str_exact ... ok
[INFO] [stdout] test rules::rendered::tests::test_truncate_str_multibyte_safe ... ok
[INFO] [stdout] test rules::rendered::tests::test_html_comment_destructive_command ... ok
[INFO] [stdout] test rules::rendered::tests::test_truncate_str_short ... ok
[INFO] [stdout] test rules::rendered::tests::test_multiple_css_techniques_critical ... ok
[INFO] [stdout] test rules::rendered::tests::test_html_comment_long ... ok
[INFO] [stdout] test rules::rendered::tests::test_html_comment_plain_curl_no_bump ... ok
[INFO] [stdout] test rules::rendered::tests::test_parse_color_rgb ... ok
[INFO] [stdout] test rules::rendered::tests::test_pdf_operand_to_f64 ... ok
[INFO] [stdout] test rules::threatintel::tests::cargo_add ... ok
[INFO] [stdout] test rules::threatintel::tests::cargo_add_with_version ... ok
[INFO] [stdout] test rules::rendered::tests::test_html_comment_benign_short ... ok
[INFO] [stdout] test rules::threatintel::tests::cargo_build_not_install ... ok
[INFO] [stdout] test rules::threatintel::tests::cargo_install ... ok
[INFO] [stdout] test rules::threatintel::tests::cargo_install_with_version_flag ... ok
[INFO] [stdout] test rules::threatintel::tests::cargo_skips_git_url ... ok
[INFO] [stdout] test rules::threatintel::tests::check_returns_empty_without_db ... ok
[INFO] [stdout] test rules::threatintel::tests::composer_require ... ok
[INFO] [stdout] test rules::threatintel::tests::composer_require_with_version ... ok
[INFO] [stdout] test rules::threatintel::tests::dotnet_add_package ... ok
[INFO] [stdout] test rules::threatintel::tests::dotnet_add_package_with_version ... ok
[INFO] [stdout] test rules::threatintel::tests::gem_install ... ok
[INFO] [stdout] test rules::threatintel::tests::gem_install_with_colon_version ... ok
[INFO] [stdout] test rules::threatintel::tests::gem_install_with_version_flag ... ok
[INFO] [stdout] test rules::threatintel::tests::go_get ... ok
[INFO] [stdout] test rules::threatintel::tests::go_get_with_version ... ok
[INFO] [stdout] test rules::threatintel::tests::go_install ... ok
[INFO] [stdout] test rules::threatintel::tests::hostname_rule_phishing_sources_map_to_phishing_url ... ok
[INFO] [stdout] test rules::threatintel::tests::hostname_rule_threatfox_maps_to_ioc ... ok
[INFO] [stdout] test rules::threatintel::tests::hostname_rule_urlhaus_maps_to_malicious_url ... ok
[INFO] [stdout] test rules::threatintel::tests::ip_rule_feodo_maps_to_malicious_ip ... ok
[INFO] [stdout] test rules::threatintel::tests::ip_rule_threatfox_maps_to_ioc ... ok
[INFO] [stdout] test rules::threatintel::tests::ip_rule_tor_exit_maps_to_medium ... ok
[INFO] [stdout] test rules::threatintel::tests::ipv4_bare ... ok
[INFO] [stdout] test rules::threatintel::tests::ipv4_empty_string ... ok
[INFO] [stdout] test rules::threatintel::tests::ipv4_in_brackets ... ok
[INFO] [stdout] test rules::threatintel::tests::ipv4_localhost ... ok
[INFO] [stdout] test rules::threatintel::tests::ipv4_not_an_ip ... ok
[INFO] [stdout] test rules::threatintel::tests::ipv4_out_of_range ... ok
[INFO] [stdout] test rules::threatintel::tests::ipv4_partial_not_valid ... ok
[INFO] [stdout] test rules::threatintel::tests::ipv4_with_port ... ok
[INFO] [stdout] test rules::threatintel::tests::ipv4_with_user ... ok
[INFO] [stdout] test rules::threatintel::tests::ipv4_with_user_and_port ... ok
[INFO] [stdout] test rules::threatintel::tests::ipv6_not_matched ... ok
[INFO] [stdout] test rules::threatintel::tests::no_packages_in_echo ... ok
[INFO] [stdout] test rules::threatintel::tests::no_packages_in_ls ... ok
[INFO] [stdout] test rules::threatintel::tests::npm_i_shorthand ... ok
[INFO] [stdout] test rules::threatintel::tests::npm_install_multiple ... ok
[INFO] [stdout] test rules::threatintel::tests::npm_install_scoped ... ok
[INFO] [stdout] test rules::threatintel::tests::npm_install_single ... ok
[INFO] [stdout] test rules::threatintel::tests::npm_install_scoped_no_version ... ok
[INFO] [stdout] test rules::threatintel::tests::npm_install_skips_save_dev ... ok
[INFO] [stdout] test rules::threatintel::tests::npm_install_with_version ... ok
[INFO] [stdout] test rules::threatintel::tests::npx_package ... ok
[INFO] [stdout] test rules::threatintel::tests::npx_scoped_package ... ok
[INFO] [stdout] test rules::threatintel::tests::npx_with_package_flag ... ok
[INFO] [stdout] test rules::threatintel::tests::pip3_install ... ok
[INFO] [stdout] test rules::threatintel::tests::pip_install_multiple ... ok
[INFO] [stdout] test rules::threatintel::tests::pip_install_skips_flags ... ok
[INFO] [stdout] test rules::threatintel::tests::pip_install_single ... ok
[INFO] [stdout] test rules::threatintel::tests::pip_install_skips_local_path ... ok
[INFO] [stdout] test rules::threatintel::tests::pip_install_skips_url ... ok
[INFO] [stdout] test rules::threatintel::tests::pip_install_version_range_not_exact ... ok
[INFO] [stdout] test rules::threatintel::tests::pip_install_with_extras ... ok
[INFO] [stdout] test rules::threatintel::tests::pip_install_with_version ... ok
[INFO] [stdout] test rules::threatintel::tests::pip_no_install_subcommand ... ok
[INFO] [stdout] test rules::threatintel::tests::pip_normalizes_name ... ok
[INFO] [stdout] test rules::threatintel::tests::bun_add ... ok
[INFO] [stdout] test rules::threatintel::tests::piped_commands_both_extracted ... ok
[INFO] [stdout] test rules::threatintel::tests::pnpm_add ... ok
[INFO] [stdout] test rules::threatintel::tests::uv_install ... ok
[INFO] [stdout] test rules::threatintel::tests::yarn_add ... ok
[INFO] [stdout] test rules::transport::tests::test_single_quoted_insecure_flags ... ok
[INFO] [stdout] test rules::transport::tests::test_quoted_insecure_flags ... ok
[INFO] [stdout] test runner::tests::test_allowed_interpreter_nodejs ... ok
[INFO] [stdout] test runner::tests::test_allowed_interpreter_python3 ... ok
[INFO] [stdout] test runner::tests::test_allowed_interpreter_sh ... ok
[INFO] [stdout] test runner::tests::test_allowed_interpreter_python3_11 ... ok
[INFO] [stdout] test runner::tests::test_cache_write_no_predictable_tmp ... ok
[INFO] [stdout] test runner::tests::test_allowed_interpreter_strips_path ... ok
[INFO] [stdout] test runner::tests::test_disallowed_interpreter_expect ... ok
[INFO] [stdout] test runner::tests::test_disallowed_interpreter_node_sass ... ok
[INFO] [stdout] test runner::tests::test_cache_write_permissions_0600 ... ok
[INFO] [stdout] test runner::tests::test_disallowed_interpreter_python3_double_dot ... ok
[INFO] [stdout] test rules::transport::tests::test_unquoted_insecure_flags_still_work ... ok
[INFO] [stdout] test runner::tests::test_disallowed_interpreter_python_evil ... ok
[INFO] [stdout] test runner::tests::test_disallowed_interpreter_python3_trailing_dot ... ok
[INFO] [stdout] test sarif::tests::test_empty_findings ... ok
[INFO] [stdout] test sarif::tests::test_dedup_rules ... ok
[INFO] [stdout] test runner::tests::test_disallowed_interpreter_vim ... ok
[INFO] [stdout] test sarif::tests::test_fingerprint_no_file ... ok
[INFO] [stdout] test sarif::tests::test_fingerprint_present ... ok
[INFO] [stdout] test sarif::tests::test_rule_enrichment_full_description ... ok
[INFO] [stdout] test sarif::tests::test_no_suppression_when_not_suppressed ... ok
[INFO] [stdout] test sarif::tests::test_rule_enrichment_mitre_tags ... ok
[INFO] [stdout] test sarif::tests::test_rule_enrichment_help_uri ... ok
[INFO] [stdout] test sarif::tests::test_severity_mapping ... ok
[INFO] [stdout] test sarif::tests::test_suppression_present_when_suppressed ... ok
[INFO] [stdout] test sarif::tests::test_single_finding ... ok
[INFO] [stdout] test scan::tests::catch_panic_scanning_returns_some_on_clean_run ... ok
[INFO] [stdout] test scan::tests::catch_panic_scanning_returns_none_on_panic ... ok
[INFO] [stdout] test scan::tests::test_binary_extension_skip ... ok
[INFO] [stdout] test scan::tests::test_ignore_pattern_matching ... ok
[INFO] [stdout] test scan::tests::test_known_config_dirs ... ok
[INFO] [stdout] test rules::rendered::tests::test_truncate_str_truncated ... ok
[INFO] [stdout] test scan::tests::test_negated_include_patterns ... ok
[INFO] [stdout] test scan::tests::test_skip_dirs ... ok
[INFO] [stdout] test scan::tests::test_negation_only_include_patterns ... ok
[INFO] [stdout] test script_analysis::tests::test_detect_interpreter_basic ... ok
[INFO] [stdout] test script_analysis::tests::test_detect_interpreter_crlf ... ok
[INFO] [stdout] test script_analysis::tests::test_detect_interpreter_env_s ... ok
[INFO] [stdout] test scan::tests::test_priority_file_detection ... ok
[INFO] [stdout] test script_analysis::tests::test_detect_interpreter_env_s_with_var ... ok
[INFO] [stdout] test script_analysis::tests::test_detect_interpreter_no_shebang ... ok
[INFO] [stdout] test scan::tests::test_variation_selector_visible_in_scan ... ok
[INFO] [stdout] test rules::terminal::tests::test_clipboard_html_css_hiding ... ok
[INFO] [stdout] test session::tests::test_generate_session_id_format ... ok
[INFO] [stdout] test session::tests::test_compute_scope_format ... ok
[INFO] [stdout] test session::tests::test_env_session_id_priority ... ok
[INFO] [stdout] test rules::terminal::tests::test_clipboard_html_clean_no_finding ... ok
[INFO] [stdout] test rules::terminal::tests::test_clipboard_html_length_discrepancy ... ok
[INFO] [stdout] test session::tests::test_fallback_file_roundtrip ... ok
[INFO] [stdout] test session::tests::test_hex_encode_8 ... ok
[INFO] [stdout] test rules::terminal::tests::test_strip_html_tags ... ok
[INFO] [stdout] test session::tests::test_generate_session_id_unique ... ok
[INFO] [stdout] test session::tests::test_resolve_session_id_stable_on_repeated_calls ... ok
[INFO] [stdout] test session_warnings::tests::test_count_all ... ok
[INFO] [stdout] test session::tests::test_session_id_stable_within_process ... ok
[INFO] [stdout] test session_warnings::tests::test_count_by_rule_with_window ... ok
[INFO] [stdout] test session_warnings::tests::test_event_cap ... ok
[INFO] [stdout] test session_warnings::tests::test_session_state_path_validation ... ok
[INFO] [stdout] test session_warnings::tests::test_top_rules ... ok
[INFO] [stdout] test session_warnings::tests::test_extract_domains_from_evidence ... ok
[INFO] [stdout] test text_confusables::tests::test_math_bold_a ... ok
[INFO] [stdout] test text_confusables::tests::test_math_bold_digit ... ok
[INFO] [stdout] test text_confusables::tests::test_math_bold_lowercase ... ok
[INFO] [stdout] test rules::terminal::tests::test_clipboard_html_color_hiding ... ok
[INFO] [stdout] test text_confusables::tests::test_math_monospace ... ok
[INFO] [stdout] test threatdb::tests::test_cache_returns_none_when_no_file ... ok
[INFO] [stdout] test threatdb::tests::test_file_too_small ... ok
[INFO] [stdout] test session::tests::test_hex_encode_8_short_input ... ok
[INFO] [stdout] test session::tests::test_resolve_session_id_returns_non_empty ... ok
[INFO] [stdout] test text_confusables::tests::test_ascii_not_confusable ... ok
[INFO] [stdout] test session_warnings::tests::test_load_returns_default_on_missing ... ok
[INFO] [stdout] test threatdb::tests::test_invalid_magic ... ok
[INFO] [stdout] test threatdb::tests::test_combined_mtime_requires_primary_db ... ok
[INFO] [stdout] test session_warnings::tests::test_count_by_rule_and_domain ... ok
[INFO] [stdout] test session_warnings::tests::test_record_and_load_cycle ... ok
[INFO] [stdout] test threatdb::tests::test_empty_db ... ok
[INFO] [stdout] test threatdb::tests::test_ip_first_element ... ok
[INFO] [stdout] test threatdb::tests::test_ip_not_found ... ok
[INFO] [stdout] test threatdb::tests::test_hostname_empty_section ... ok
[INFO] [stdout] test threatdb::tests::test_ip_last_element ... ok
[INFO] [stdout] test threatdb::tests::test_ip_found ... ok
[INFO] [stdout] test threatdb::tests::test_package_missing ... ok
[INFO] [stdout] test threatdb::tests::test_package_version_not_in_list ... ok
[INFO] [stdout] test threatdb::tests::test_package_all_malicious_with_version ... ok
[INFO] [stdout] test threatdb::tests::test_package_medium_confidence ... ok
[INFO] [stdout] test threatdb::tests::test_package_no_version_all_malicious ... ok
[INFO] [stdout] test threatdb::tests::test_package_no_version_not_all_malicious ... ok
[INFO] [stdout] test threatdb::tests::test_popular_exact_match_skipped ... ok
[INFO] [stdout] test threatdb::tests::test_package_wrong_ecosystem ... ok
[INFO] [stdout] test threatdb::tests::test_package_version_in_list ... ok
[INFO] [stdout] test threatdb::tests::test_popular_distance_1 ... ok
[INFO] [stdout] test threatdb::tests::test_rollback_newer_accepted ... ok
[INFO] [stdout] test threatdb::tests::test_popular_distance_too_far ... ok
[INFO] [stdout] test threatdb::tests::test_round_trip_all_sections ... ok
[INFO] [stdout] test threatdb::tests::test_rollback_rejected ... ok
[INFO] [stdout] test threatdb::tests::test_string_table_deduplication ... ok
[INFO] [stdout] test threatdb::tests::test_rollback_equal_rejected ... ok
[INFO] [stdout] test threatdb::tests::test_reference_url_round_trip ... ok
[INFO] [stdout] test threatdb::tests::test_signature_corrupt_byte ... ok
[INFO] [stdout] test threatdb::tests::test_signature_valid ... ok
[INFO] [stdout] test threatdb::tests::test_single_entry_db ... ok
[INFO] [stdout] test threatdb::tests::test_unsupported_version ... ok
[INFO] [stdout] test threatdb::tests::test_typosquat_found ... ok
[INFO] [stdout] test threatdb_api::tests::enrich_command_returns_empty_when_all_apis_disabled ... ok
[INFO] [stdout] test threatdb_api::tests::safe_browsing_filter_only_accepts_http_urls ... ok
[INFO] [stdout] test threatdb_feeds::tests::domain_blocklist_parses_hosts_like_lines ... ok
[INFO] [stdout] test threatdb_feeds::tests::phishtank_csv_extracts_url_column ... ok
[INFO] [stdout] test threatdb::tests::test_typosquat_not_found ... ok
[INFO] [stdout] test threatdb_feeds::tests::threatfox_zip_extracts_domains_and_ips ... ok
[INFO] [stdout] test threatdb_feeds::tests::threatfox_csv_extracts_domains_and_ips ... ok
[INFO] [stdout] test threatdb_feeds::tests::tor_exit_list_parses_ipv4_lines ... ok
[INFO] [stdout] test threatdb::tests::test_signature_with_matching_key ... ok
[INFO] [stdout] test threatdb_feeds::tests::urlhaus_csv_extracts_hostnames ... ok
[INFO] [stdout] test tokenize::tests::test_backslash_escape ... ok
[INFO] [stdout] test tokenize::tests::test_byte_range_cmd_pipe ... ok
[INFO] [stdout] test tokenize::tests::test_byte_range_empty_input ... ok
[INFO] [stdout] test tokenize::tests::test_byte_range_fish_delegates_to_posix ... ok
[INFO] [stdout] test tokenize::tests::test_byte_range_posix_duplicate_segments ... ok
[INFO] [stdout] test tokenize::tests::test_byte_range_posix_leading_trailing_whitespace ... ok
[INFO] [stdout] test tokenize::tests::test_byte_range_posix_multibyte_content ... ok
[INFO] [stdout] test tokenize::tests::test_byte_range_posix_simple_pipe ... ok
[INFO] [stdout] test tokenize::tests::test_byte_range_posix_with_quoted_pipe ... ok
[INFO] [stdout] test tokenize::tests::test_byte_range_powershell_simple_pipe ... ok
[INFO] [stdout] test tokenize::tests::test_byte_range_sequence_operators ... ok
[INFO] [stdout] test tokenize::tests::test_byte_range_whitespace_only ... ok
[INFO] [stdout] test tokenize::tests::test_cmd_ampersand_separator ... ok
[INFO] [stdout] test tokenize::tests::test_cmd_caret_escape ... ok
[INFO] [stdout] test tokenize::tests::test_cmd_double_ampersand ... ok
[INFO] [stdout] test tokenize::tests::test_cmd_double_quotes ... ok
[INFO] [stdout] test tokenize::tests::test_cmd_pipe ... ok
[INFO] [stdout] test tokenize::tests::test_and_or ... ok
[INFO] [stdout] test tokenize::tests::test_args_extraction ... ok
[INFO] [stdout] test tokenize::tests::test_empty_input ... ok
[INFO] [stdout] test tokenize::tests::test_env_only_no_command ... ok
[INFO] [stdout] test tokenize::tests::test_env_prefix_skipped ... ok
[INFO] [stdout] test tokenize::tests::test_leading_env_assignment_values ... ok
[INFO] [stdout] test tokenize::tests::test_pipe_ampersand ... ok
[INFO] [stdout] test tokenize::tests::test_powershell_backtick ... ok
[INFO] [stdout] test tokenize::tests::test_is_env_assignment ... ok
[INFO] [stdout] test tokenize::tests::test_multiple_env_prefixes ... ok
[INFO] [stdout] test tokenize::tests::test_powershell_multibyte_and_operator_no_panic ... ok
[INFO] [stdout] test tokenize::tests::test_quoted_pipe ... ok
[INFO] [stdout] test tokenize::tests::test_semicolon ... ok
[INFO] [stdout] test tokenize::tests::test_simple_pipe ... ok
[INFO] [stdout] test tokenize::tests::test_whitespace_only ... ok
[INFO] [stdout] test url_validate::tests::test_accepts_https ... ok
[INFO] [stdout] test url_validate::tests::test_accepts_public_ipv6_literal_without_dns_lookup ... ok
[INFO] [stdout] test url_validate::tests::test_allows_nat64_encoded_public_ipv4 ... ok
[INFO] [stdout] test url_validate::tests::test_bypass_mapped_broadcast ... ok
[INFO] [stdout] test url_validate::tests::test_bypass_mapped_cloud_metadata ... ok
[INFO] [stdout] test url_validate::tests::test_bypass_mapped_private_10 ... ok
[INFO] [stdout] test url_validate::tests::test_bypass_mapped_private_172 ... ok
[INFO] [stdout] test tokenize::tests::test_single_quotes ... ok
[INFO] [stdout] test tokenize::tests::test_powershell_pipe ... ok
[INFO] [stdout] test url_validate::tests::test_bypass_mapped_unspecified ... ok
[INFO] [stdout] test url_validate::tests::test_bypass_resolved_mapped_loopback ... ok
[INFO] [stdout] test url_validate::tests::test_bypass_resolved_mapped_private ... ok
[INFO] [stdout] test threatdb::tests::test_supplemental_overlay_lookup_and_stats ... ok
[INFO] [stdout] test url_validate::tests::test_legitimate_public_ipv6_still_allowed ... ok
[INFO] [stdout] test url_validate::tests::test_legitimate_resolved_public_ipv6_allowed ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_cloud_metadata_hostname ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_embedded_credentials ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_hostname_resolving_to_documentation_range ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_hostname_resolving_to_ipv4_mapped_ipv6 ... ok
[INFO] [stdout] test url_validate::tests::test_bypass_mapped_private_192 ... ok
[INFO] [stdout] test url_validate::tests::test_fetch_allows_http_when_public ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_hostname_resolving_to_private_ip ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_http ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_ipv4_compatible_loopback ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_ipv4_mapped_ipv6_literal ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_localhost_name ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_localhost_subdomain ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_loopback ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_metadata ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_nat64_encoded_loopback ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_private_10 ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_private_172 ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_private_192 ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_resolved_nat64_encoded_metadata ... ok
[INFO] [stdout] test verdict::tests::test_action_from_findings_critical_returns_block ... ok
[INFO] [stdout] test verdict::tests::test_action_from_findings_empty_returns_allow ... ok
[INFO] [stdout] test verdict::tests::test_action_from_findings_high_returns_block ... ok
[INFO] [stdout] test verdict::tests::test_action_from_findings_low_returns_warn ... ok
[INFO] [stdout] test verdict::tests::test_info_severity_display ... ok
[INFO] [stdout] test verdict::tests::test_info_severity_maps_to_allow ... ok
[INFO] [stdout] test verdict::tests::test_info_severity_ordering ... ok
[INFO] [stdout] test verdict::tests::test_upgraded_action_from_findings_preserves_stronger_current_action ... ok
[INFO] [stdout] test verdict::tests::test_upgraded_action_from_findings_upgrades_when_findings_are_stronger ... ok
[INFO] [stdout] test verdict::tests::test_upgraded_action_preserves_current_on_empty_findings ... ok
[INFO] [stdout] test webhook::tests::test_build_default_payload ... ok
[INFO] [stdout] test webhook::tests::test_bypass_case_variation_is_different_var ... ok
[INFO] [stdout] test webhook::tests::test_bypass_double_dollar_does_not_expand ... ok
[INFO] [stdout] test webhook::tests::test_bypass_nested_braces_does_not_expand ... ok
[INFO] [stdout] test webhook::tests::test_bypass_non_sensitive_tirith_var_still_expands ... ok
[INFO] [stdout] test url_validate::tests::test_fetch_rejects_non_http_scheme ... ok
[INFO] [stdout] test webhook::tests::test_bypass_sensitive_var_both_forms ... ok
[INFO] [stdout] test webhook::tests::test_expand_env_value ... ok
[INFO] [stdout] test url_validate::tests::test_rejects_invalid_url ... ok
[INFO] [stdout] test webhook::tests::test_expand_env_value_preserves_delimiter ... ok
[INFO] [stdout] test webhook::tests::test_sanitize_for_json ... ok
[INFO] [stdout] test webhook::tests::test_build_template_payload ... ok
[INFO] [stdout] test webhook::tests::test_sanitize_for_json_truncates ... ok
[INFO] [stdout] test webhook::tests::test_expand_env_value_blocks_sensitive_vars ... ok
[INFO] [stdout] test threatdb::tests::test_typosquat_wrong_ecosystem ... ok
[INFO] [stdout] test threatdb::tests::test_supplemental_overlay_falls_through_on_primary_version_mismatch ... ok
[INFO] [stdout] test threatdb::tests::test_writer_deduplicates ... ok
[INFO] [stdout] test rules::credential::tests::test_a3t_variant_detected ... ok
[INFO] [stdout] test rules::credential::tests::test_bare_aws_key_still_fires ... ok
[INFO] [stdout] test rules::credential::tests::test_readable_password_not_flagged ... ok
[INFO] [stdout] test rules::credential::tests::test_private_key_detected ... ok
[INFO] [stdout] test threatdb::tests::test_refresh_cache_clears_when_current_source_disappears ... FAILED
[INFO] [stdout] test threatdb::tests::test_refresh_cache_reloads_when_only_supplemental_changes ... FAILED
[INFO] [stdout] test rules::credential::tests::test_generic_entropy_detected has been running for over 60 seconds
[INFO] [stdout] test rules::credential::tests::test_is_random_basic has been running for over 60 seconds
[INFO] [stdout] test rules::credential::tests::test_p_random_ported_correctly has been running for over 60 seconds
[INFO] [stdout] test rules::credential::tests::test_is_random_basic ... ok
[INFO] [stdout] test rules::credential::tests::test_generic_entropy_detected ... ok
[INFO] [stdout] test rules::credential::tests::test_p_random_ported_correctly ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- threatdb::tests::test_refresh_cache_clears_when_current_source_disappears stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'threatdb::tests::test_refresh_cache_clears_when_current_source_disappears' (851) panicked at src/threatdb.rs:2373:9:
[INFO] [stdout] fixture DB should load
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d9facea4a9a - 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:     0x5d9facea4a9a - 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:     0x5d9facea4a9a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5d9facea4a9a - <<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:     0x5d9facebdb3a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5d9facebdb3a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5d9facea9d12 - 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:     0x5d9facea9d12 - <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:     0x5d9face7e68f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5d9face7e68f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5d9face9a3b9 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5d9faca70c3c - <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:     0x5d9faca70c3c - 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:     0x5d9face9a632 - <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:     0x5d9face9a632 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5d9face7e77a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5d9face73419 - 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:     0x5d9face7f9fd - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5d9facebe37c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d9fac1ef5c5 - tirith_core[f8ff281f10908564]::threatdb::tests::test_refresh_cache_clears_when_current_source_disappears
[INFO] [stdout]                                at /opt/rustwide/workdir/src/threatdb.rs:2373:9
[INFO] [stdout]   20:     0x5d9fac1cd187 - tirith_core[f8ff281f10908564]::threatdb::tests::test_refresh_cache_clears_when_current_source_disappears::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/threatdb.rs:2362:66
[INFO] [stdout]   21:     0x5d9fac1aaac6 - <tirith_core[f8ff281f10908564]::threatdb::tests::test_refresh_cache_clears_when_current_source_disappears::{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]   22:     0x5d9faca63f1b - <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]   23:     0x5d9faca63f1b - 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]   24:     0x5d9faca7170b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x5d9faca7170b - <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]   26:     0x5d9faca7170b - 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]   27:     0x5d9faca7170b - 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]   28:     0x5d9faca7170b - 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]   29:     0x5d9faca7170b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x5d9faca7170b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x5d9faca6ae24 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x5d9faca6ae24 - 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]   33:     0x5d9faca74312 - 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]   34:     0x5d9faca74312 - <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]   35:     0x5d9faca74312 - 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]   36:     0x5d9faca74312 - 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]   37:     0x5d9faca74312 - 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]   38:     0x5d9faca74312 - 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]   39:     0x5d9faca74312 - <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]   40:     0x5d9facea38df - <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]   41:     0x5d9facea38df - <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]   42:     0x7ac5c80d5aa4 - <unknown>
[INFO] [stdout]   43:     0x7ac5c8162a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- threatdb::tests::test_refresh_cache_reloads_when_only_supplemental_changes stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'threatdb::tests::test_refresh_cache_reloads_when_only_supplemental_changes' (852) panicked at src/threatdb.rs:2319:41:
[INFO] [stdout] fixture DB should load
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d9facea4a9a - 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:     0x5d9facea4a9a - 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:     0x5d9facea4a9a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5d9facea4a9a - <<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:     0x5d9facebdb3a - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5d9facebdb3a - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5d9facea9d12 - 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:     0x5d9facea9d12 - <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:     0x5d9face7e68f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5d9face7e68f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5d9face9a3b9 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5d9faca70c3c - <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:     0x5d9faca70c3c - 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:     0x5d9face9a632 - <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:     0x5d9face9a632 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5d9face7e748 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5d9face73419 - 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:     0x5d9face7f9fd - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5d9facebe37c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d9facebe074 - core[e929cb53b82a81ca]::panicking::panic_display::<&str>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x5d9facebe074 - core[e929cb53b82a81ca]::option::expect_failed
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/option.rs:2260:5
[INFO] [stdout]   21:     0x5d9fabf2cc90 - <core[e929cb53b82a81ca]::option::Option<alloc[9d7caffeb3b5d2c6]::sync::Arc<tirith_core[f8ff281f10908564]::threatdb::ThreatDb>>>::expect
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/option.rs:971:21
[INFO] [stdout]   22:     0x5d9fac1efa4d - tirith_core[f8ff281f10908564]::threatdb::tests::test_refresh_cache_reloads_when_only_supplemental_changes
[INFO] [stdout]                                at /opt/rustwide/workdir/src/threatdb.rs:2319:41
[INFO] [stdout]   23:     0x5d9fac1cd1b7 - tirith_core[f8ff281f10908564]::threatdb::tests::test_refresh_cache_reloads_when_only_supplemental_changes::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/threatdb.rs:2306:67
[INFO] [stdout]   24:     0x5d9fac1aab06 - <tirith_core[f8ff281f10908564]::threatdb::tests::test_refresh_cache_reloads_when_only_supplemental_changes::{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]   25:     0x5d9faca63f1b - <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]   26:     0x5d9faca63f1b - 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]   27:     0x5d9faca7170b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   28:     0x5d9faca7170b - <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]   29:     0x5d9faca7170b - 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]   30:     0x5d9faca7170b - 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]   31:     0x5d9faca7170b - 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]   32:     0x5d9faca7170b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   33:     0x5d9faca7170b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   34:     0x5d9faca6ae24 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   35:     0x5d9faca6ae24 - 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]   36:     0x5d9faca74312 - 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]   37:     0x5d9faca74312 - <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]   38:     0x5d9faca74312 - 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]   39:     0x5d9faca74312 - 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]   40:     0x5d9faca74312 - 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]   41:     0x5d9faca74312 - 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]   42:     0x5d9faca74312 - <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]   43:     0x5d9facea38df - <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]   44:     0x5d9facea38df - <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]   45:     0x7ac5c80d5aa4 - <unknown>
[INFO] [stdout]   46:     0x7ac5c8162a64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     threatdb::tests::test_refresh_cache_clears_when_current_source_disappears
[INFO] [stdout]     threatdb::tests::test_refresh_cache_reloads_when_only_supplemental_changes
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 946 passed; 2 failed; 1 ignored; 0 measured; 0 filtered out; finished in 158.45s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "2f91f45f526a3010a5a16034593dd5e57b6c9d7390e3cd73a974c670154af2c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2f91f45f526a3010a5a16034593dd5e57b6c9d7390e3cd73a974c670154af2c3", kill_on_drop: false }`
[INFO] [stdout] 2f91f45f526a3010a5a16034593dd5e57b6c9d7390e3cd73a974c670154af2c3
