[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:: [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 - <::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 - ::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::> [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11 [INFO] [stdout] 7: 0x5d9facea9d12 - as std[29689e6404d28ef9]::io::Write>::write_fmt [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13 [INFO] [stdout] 8: 0x5d9face7e68f - ::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 - 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::::{closure#0} [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21 [INFO] [stdout] 13: 0x5d9face9a632 - 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:: [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 - >::call_once [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 22: 0x5d9faca63f1b - 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::, 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 - 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]::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]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19 [INFO] [stdout] 28: 0x5d9faca7170b - std[29689e6404d28ef9]::panic::catch_unwind::, 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:: [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 33: 0x5d9faca74312 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13 [INFO] [stdout] 34: 0x5d9faca74312 - ::{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::::{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::{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::::{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::::{closure#1} [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26 [INFO] [stdout] 39: 0x5d9faca74312 - ::{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 - + 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 - ::new::thread_start [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 42: 0x7ac5c80d5aa4 - [INFO] [stdout] 43: 0x7ac5c8162a64 - clone [INFO] [stdout] 44: 0x0 - [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:: [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 - <::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 - ::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::> [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11 [INFO] [stdout] 7: 0x5d9facea9d12 - as std[29689e6404d28ef9]::io::Write>::write_fmt [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13 [INFO] [stdout] 8: 0x5d9face7e68f - ::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 - 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::::{closure#0} [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21 [INFO] [stdout] 13: 0x5d9face9a632 - 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:: [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 - >>::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 - >::call_once [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x5d9faca63f1b - 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::, 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 - 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]::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]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19 [INFO] [stdout] 31: 0x5d9faca7170b - std[29689e6404d28ef9]::panic::catch_unwind::, 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:: [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 36: 0x5d9faca74312 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13 [INFO] [stdout] 37: 0x5d9faca74312 - ::{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::::{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::{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::::{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::::{closure#1} [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26 [INFO] [stdout] 42: 0x5d9faca74312 - ::{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 - + 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 - ::new::thread_start [INFO] [stdout] at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 45: 0x7ac5c80d5aa4 - [INFO] [stdout] 46: 0x7ac5c8162a64 - clone [INFO] [stdout] 47: 0x0 - [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