[INFO] cloning repository https://github.com/pleme-io/guardrail
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pleme-io/guardrail" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpleme-io%2Fguardrail", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpleme-io%2Fguardrail'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7f0a13b64fe9255d55a958da16c7049f4e3609ce
[INFO] testing pleme-io/guardrail against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpleme-io%2Fguardrail" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/pleme-io/guardrail
[INFO] finished tweaking git repo https://github.com/pleme-io/guardrail
[INFO] tweaked toml for git repo https://github.com/pleme-io/guardrail written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pleme-io/guardrail 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 git repo https://github.com/pleme-io/guardrail 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 normalize-line-endings v0.3.0
[INFO] [stderr]   Downloaded predicates-core v1.0.10
[INFO] [stderr]   Downloaded float-cmp v0.10.0
[INFO] [stderr]   Downloaded predicates v3.1.4
[INFO] [stderr]   Downloaded hayai v0.1.1
[INFO] [stderr]   Downloaded predicates-tree v1.0.13
[INFO] [stderr]   Downloaded assert_cmd v2.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 1ff72f1d58588e8a02ef2758631c82bb05dd0932937cf7c9bfaff56cb578cb0e
[INFO] running `Command { std: "docker" "start" "-a" "1ff72f1d58588e8a02ef2758631c82bb05dd0932937cf7c9bfaff56cb578cb0e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1ff72f1d58588e8a02ef2758631c82bb05dd0932937cf7c9bfaff56cb578cb0e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ff72f1d58588e8a02ef2758631c82bb05dd0932937cf7c9bfaff56cb578cb0e", kill_on_drop: false }`
[INFO] [stdout] 1ff72f1d58588e8a02ef2758631c82bb05dd0932937cf7c9bfaff56cb578cb0e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] a7c01cf6f71d50069842e8713985970fa62987dd8ee561dbe196a4312345a87f
[INFO] running `Command { std: "docker" "start" "-a" "a7c01cf6f71d50069842e8713985970fa62987dd8ee561dbe196a4312345a87f", kill_on_drop: false }`
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling hayai v0.1.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling guardrail v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/model.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             _ => Self::Allow,
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/model.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |             Severity::Block => Self::Block {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 207 |             Severity::Warn => Self::Warn {
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 211 |             _ => Self::Allow,
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.07s
[INFO] running `Command { std: "docker" "inspect" "a7c01cf6f71d50069842e8713985970fa62987dd8ee561dbe196a4312345a87f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7c01cf6f71d50069842e8713985970fa62987dd8ee561dbe196a4312345a87f", kill_on_drop: false }`
[INFO] [stdout] a7c01cf6f71d50069842e8713985970fa62987dd8ee561dbe196a4312345a87f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] cb20b6d044c5b07bdf0cd1e4e2ee464997425ca16a0bc9cebd66a56692f85d75
[INFO] running `Command { std: "docker" "start" "-a" "cb20b6d044c5b07bdf0cd1e4e2ee464997425ca16a0bc9cebd66a56692f85d75", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling hayai v0.1.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling guardrail v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/model.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             _ => Self::Allow,
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/model.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |             Severity::Block => Self::Block {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 207 |             Severity::Warn => Self::Warn {
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 211 |             _ => Self::Allow,
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/model.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |             _ => Self::Allow,
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/model.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |             Severity::Block => Self::Block {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 207 |             Severity::Warn => Self::Warn {
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 211 |             _ => Self::Allow,
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 10.76s
[INFO] running `Command { std: "docker" "inspect" "cb20b6d044c5b07bdf0cd1e4e2ee464997425ca16a0bc9cebd66a56692f85d75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb20b6d044c5b07bdf0cd1e4e2ee464997425ca16a0bc9cebd66a56692f85d75", kill_on_drop: false }`
[INFO] [stdout] cb20b6d044c5b07bdf0cd1e4e2ee464997425ca16a0bc9cebd66a56692f85d75
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 089efd617ffd94e363c0d453e695e81ac7cded11aa385123f15e85c5d6f046b8
[INFO] running `Command { std: "docker" "start" "-a" "089efd617ffd94e363c0d453e695e81ac7cded11aa385123f15e85c5d6f046b8", kill_on_drop: false }`
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/model.rs:211:13
[INFO] [stderr]     |
[INFO] [stderr] 211 |             _ => Self::Allow,
[INFO] [stderr]     |             ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/model.rs:211:13
[INFO] [stderr]     |
[INFO] [stderr] 203 |             Severity::Block => Self::Block {
[INFO] [stderr]     |             --------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 207 |             Severity::Warn => Self::Warn {
[INFO] [stderr]     |             -------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 211 |             _ => Self::Allow,
[INFO] [stderr]     |             ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `guardrail` (lib) generated 1 warning
[INFO] [stderr] warning: `guardrail` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/guardrail-15b70cd484a4a125)
[INFO] [stdout] 
[INFO] [stdout] running 405 tests
[INFO] [stdout] test biometric::tests::non_interactive_always_denies ... ok
[INFO] [stdout] test biometric::tests::authenticate_returns_bool ... ok
[INFO] [stdout] test cache::tests::fixed_fingerprinter ... ok
[INFO] [stdout] test cache::tests::cache_miss_resolves_and_saves ... ok
[INFO] [stdout] test cache::tests::fs_cache_default_path_ends_with_compiled_json ... ok
[INFO] [stdout] test cache::tests::fs_cache_default_path_contains_guardrail ... ok
[INFO] [stdout] test cache::tests::fs_cache_load_missing_file ... ok
[INFO] [stdout] test cache::tests::resolve_cached_propagates_resolver_error ... ok
[INFO] [stdout] test cache::tests::fs_fingerprinter_missing_paths ... ok
[INFO] [stdout] test cache::tests::stale_cache_resolves_fresh ... ok
[INFO] [stdout] test cache::tests::resolve_cached_resolver_error_does_not_populate_cache ... ok
[INFO] [stdout] test cache::tests::fs_cache_load_corrupt_file ... ok
[INFO] [stdout] test cache::tests::fs_cache_creates_parent_dirs ... ok
[INFO] [stdout] test cache::tests::fs_cache_preserves_test_block_allow ... ok
[INFO] [stdout] test cache::tests::fs_cache_save_and_load ... ok
[INFO] [stdout] test cache::tests::fs_fingerprinter_deterministic ... ok
[INFO] [stdout] test cache::tests::fs_cache_overwrite_updates_fingerprint ... ok
[INFO] [stdout] test cache::tests::mem_cache_empty_returns_none ... ok
[INFO] [stdout] test cache::tests::resolve_cached_with_fs_cache ... ok
[INFO] [stdout] test config::tests::config_dir_respects_xdg ... ok
[INFO] [stdout] test config::tests::config_path_ends_with_yaml ... ok
[INFO] [stdout] test config::tests::directory_provider_loads_yaml ... ok
[INFO] [stdout] test config::tests::directory_provider_loads_yml_extension ... ok
[INFO] [stdout] test cache::tests::fs_cache_empty_rules ... ok
[INFO] [stdout] test config::tests::directory_provider_missing_dir ... ok
[INFO] [stdout] test config::tests::directory_provider_loads_multiple_files ... ok
[INFO] [stdout] test config::tests::load_user_config_empty_object ... ok
[INFO] [stdout] test config::tests::load_user_config_empty_file ... ok
[INFO] [stdout] test config::tests::load_user_config_invalid_yaml_returns_error ... ok
[INFO] [stdout] test config::tests::azure_suite_parses ... ok
[INFO] [stdout] test config::tests::load_user_config_missing_file_returns_default ... ok
[INFO] [stdout] test config::tests::load_user_config_valid_yaml ... ok
[INFO] [stdout] test config::tests::aws_suite_parses ... ok
[INFO] [stdout] test config::tests::gcp_suite_parses ... ok
[INFO] [stdout] test config::tests::network_suite_parses ... ok
[INFO] [stdout] test config::tests::nosql_suite_parses ... ok
[INFO] [stdout] test config::tests::resolve_appends_extra_rules ... ok
[INFO] [stdout] test config::tests::resolve_applies_category_toggle ... ok
[INFO] [stdout] test config::tests::process_suite_parses ... ok
[INFO] [stdout] test config::tests::mock_provider ... ok
[INFO] [stdout] test config::tests::akeyless_suite_parses ... ok
[INFO] [stdout] test config::tests::resolve_applies_disabled_rules ... ok
[INFO] [stdout] test config::tests::resolve_extra_rules_respect_category_toggle ... ok
[INFO] [stdout] test config::tests::resolve_fails_on_first_bad_provider ... ok
[INFO] [stdout] test config::tests::resolve_merges_multiple_providers ... ok
[INFO] [stdout] test config::tests::resolve_propagates_provider_error ... ok
[INFO] [stdout] test config::tests::resolve_multiple_category_toggles ... ok
[INFO] [stdout] test config::tests::rules_dir_is_child_of_config_dir ... ok
[INFO] [stdout] test config::tests::rules_dir_ends_with_rules_d ... ok
[INFO] [stdout] test config::tests::resolve_disabled_extra_rules ... ok
[INFO] [stdout] test config::tests::resolve_with_no_providers ... ok
[INFO] [stdout] test config::tests::xdg_dir_fallback_includes_suffix ... ok
[INFO] [stdout] test config::tests::xdg_dir_uses_env_var_when_set ... ok
[INFO] [stdout] test config::tests::empty_config_returns_all_defaults ... ok
[INFO] [stdout] test cache::tests::fs_fingerprinter_changes_with_file_modification ... ok
[INFO] [stdout] test config::tests::sql_suite_parses ... ok
[INFO] [stdout] test engine::tests::block_before_warn_in_rule_order ... ok
[INFO] [stdout] test config::tests::defaults_parse ... ok
[INFO] [stdout] test config::tests::all_suites_have_unique_rule_names ... ok
[INFO] [stdout] test cache::tests::cache_hit_skips_resolution ... ok
[INFO] [stdout] test engine::tests::category_display ... ok
[INFO] [stdout] test config::tests::resolve_rules_legacy ... ok
[INFO] [stdout] test engine::tests::block_takes_priority_over_warn ... ok
[INFO] [stdout] test config::tests::defaults_have_all_categories ... ok
[INFO] [stdout] test engine::tests::chained_normalizer_chains_path_and_sql ... ok
[INFO] [stdout] test engine::tests::chained_normalizer_only_first_transforms ... ok
[INFO] [stdout] test engine::tests::chained_normalizer_only_second_transforms ... ok
[INFO] [stdout] test config::tests::directory_provider_empty_dir ... ok
[INFO] [stdout] test config::tests::directory_provider_ignores_non_yaml_files ... ok
[INFO] [stdout] test config::tests::directory_provider_invalid_yaml_returns_error ... ok
[INFO] [stdout] test config::tests::directory_provider_deterministic_order ... ok
[INFO] [stdout] test engine::tests::contains_ascii_ci_matches ... ok
[INFO] [stdout] test engine::tests::contains_ascii_ci_no_match ... ok
[INFO] [stdout] test engine::tests::contains_ascii_ci_empty ... ok
[INFO] [stdout] test engine::tests::decision_display_allow ... ok
[INFO] [stdout] test engine::tests::decision_display_block ... ok
[INFO] [stdout] test engine::tests::decision_display_warn ... ok
[INFO] [stdout] test engine::tests::chained_normalizer_identity_is_noop ... ok
[INFO] [stdout] test engine::tests::alter_add_col_allowed ... ok
[INFO] [stdout] test engine::tests::chained_normalizer_borrows_when_clean ... ok
[INFO] [stdout] test engine::tests::backtick_date_allowed ... ok
[INFO] [stdout] test engine::tests::branch_delete_allowed ... ok
[INFO] [stdout] test engine::tests::delete_from_semicolon ... ok
[INFO] [stdout] test engine::tests::backtick_rm_warned ... ok
[INFO] [stdout] test engine::tests::bin_rm_blocked ... ok
[INFO] [stdout] test engine::tests::create_table_allowed ... ok
[INFO] [stdout] test engine::tests::delete_with_where_allowed ... ok
[INFO] [stdout] test engine::tests::delete_block_comment ... ok
[INFO] [stdout] test engine::tests::docker_build_allowed ... ok
[INFO] [stdout] test engine::tests::docker_system_prune_warned ... ok
[INFO] [stdout] test engine::tests::dd_file_allowed ... ok
[INFO] [stdout] test engine::tests::create_not_blocked ... ok
[INFO] [stdout] test engine::tests::branch_force_delete_warned ... ok
[INFO] [stdout] test engine::tests::drop_table_block_comment ... ok
[INFO] [stdout] test engine::tests::bash_c_var_warned ... ok
[INFO] [stdout] test engine::tests::docker_volume_prune_warned ... ok
[INFO] [stdout] test engine::tests::clean_force_warned ... ok
[INFO] [stdout] test engine::tests::dd_disk_blocked ... ok
[INFO] [stdout] test engine::tests::drop_table_blocked ... ok
[INFO] [stdout] test engine::tests::drop_table_double_quotes ... ok
[INFO] [stdout] test engine::tests::empty_rules_engine ... ok
[INFO] [stdout] test engine::tests::drop_table_e_flag ... ok
[INFO] [stdout] test engine::tests::echo_dollar_home_allowed ... ok
[INFO] [stdout] test engine::tests::drop_schema_blocked ... ok
[INFO] [stdout] test engine::tests::drop_table_multiline ... ok
[INFO] [stdout] test engine::tests::drop_table_single_quotes ... ok
[INFO] [stdout] test engine::tests::echo_normal_allowed ... ok
[INFO] [stdout] test engine::tests::delete_no_where_blocked ... ok
[INFO] [stdout] test engine::tests::empty_command_allowed ... ok
[INFO] [stdout] test engine::tests::drop_table_pipe ... ok
[INFO] [stdout] test engine::tests::drop_table_lower_blocked ... ok
[INFO] [stdout] test engine::tests::engine_debug_impl ... ok
[INFO] [stdout] test engine::tests::actual_mkfs_still_blocked ... ok
[INFO] [stdout] test engine::tests::echo_token_warned ... ok
[INFO] [stdout] test engine::tests::drop_sneaky_comment ... ok
[INFO] [stdout] test engine::tests::engine_with_identity_normalizer_no_nix_strip ... ok
[INFO] [stdout] test engine::tests::identity_normalizer_is_noop ... ok
[INFO] [stdout] test engine::tests::flux_delete_source_warned ... ok
[INFO] [stdout] test engine::tests::drop_database_blocked ... ok
[INFO] [stdout] test engine::tests::invalid_regex_rejected ... ok
[INFO] [stdout] test engine::tests::flux_delete_ks_warned ... ok
[INFO] [stdout] test engine::tests::engine_with_null_prefilter_checks_everything ... ok
[INFO] [stdout] test engine::tests::drop_table_heredoc ... ok
[INFO] [stdout] test engine::tests::engine_compiles_all_defaults ... ok
[INFO] [stdout] test engine::tests::indirect_eval_var_warned ... ok
[INFO] [stdout] test engine::tests::insert_allowed ... ok
[INFO] [stdout] test engine::tests::multiple_warn_returns_first ... ok
[INFO] [stdout] test engine::tests::flux_get_allowed ... ok
[INFO] [stdout] test engine::tests::helm_uninstall_prod_blocked ... ok
[INFO] [stdout] test engine::tests::kubectl_delete_ns_blocked ... ok
[INFO] [stdout] test engine::tests::flux_uninstall_blocked ... ok
[INFO] [stdout] test engine::tests::force_push_main_blocked ... ok
[INFO] [stdout] test engine::tests::kubectl_get_allowed ... ok
[INFO] [stdout] test engine::tests::no_match_returns_allow ... ok
[INFO] [stdout] test engine::tests::nix_shell_wrapped_mkfs_not_blocked ... ok
[INFO] [stdout] test engine::tests::path_normalizer_borrows_when_no_path ... ok
[INFO] [stdout] test engine::tests::null_prefilter_never_safe ... ok
[INFO] [stdout] test engine::tests::force_push_feature_allowed ... ok
[INFO] [stdout] test engine::tests::path_normalizer_multiple_standard_paths ... ok
[INFO] [stdout] test engine::tests::path_normalizer_strips_bin ... ok
[INFO] [stdout] test engine::tests::path_normalizer_strips_multiple_nix_paths ... ok
[INFO] [stdout] test engine::tests::path_normalizer_strips_sbin ... ok
[INFO] [stdout] test engine::tests::path_normalizer_strips_usr_bin ... ok
[INFO] [stdout] test engine::tests::path_normalizer_empty_input ... ok
[INFO] [stdout] test engine::tests::prefilter_backtick_not_safe ... ok
[INFO] [stdout] test engine::tests::path_normalizer_strips_nix_store_path ... ok
[INFO] [stdout] test engine::tests::prefilter_base64_not_safe ... ok
[INFO] [stdout] test engine::tests::kubectl_delete_ns_short ... ok
[INFO] [stdout] test engine::tests::prefilter_dollar_not_safe ... ok
[INFO] [stdout] test engine::tests::prefilter_cli_double_dash_is_safe ... ok
[INFO] [stdout] test engine::tests::prefilter_empty_command_is_safe ... ok
[INFO] [stdout] test engine::tests::prefilter_flushall_not_safe ... ok
[INFO] [stdout] test engine::tests::prefilter_fourth_word_not_checked ... ok
[INFO] [stdout] test engine::tests::prefilter_leading_whitespace_dollar ... ok
[INFO] [stdout] test engine::tests::path_normalizer_strips_usr_local_bin ... ok
[INFO] [stdout] test engine::tests::prefilter_flushdb_not_safe ... ok
[INFO] [stdout] test engine::tests::prefilter_pipe_to_bash_not_safe ... ok
[INFO] [stdout] test engine::tests::prefilter_revoke_not_safe ... ok
[INFO] [stdout] test engine::tests::prefilter_second_word_dangerous ... ok
[INFO] [stdout] test engine::tests::mkfs_blocked ... ok
[INFO] [stdout] test engine::tests::prefilter_shell_wrapper_not_safe ... ok
[INFO] [stdout] test engine::tests::nix_store_path_with_real_danger ... ok
[INFO] [stdout] test engine::tests::prefilter_sql_block_comment_not_safe ... ok
[INFO] [stdout] test engine::tests::prefilter_sql_line_comment_not_safe ... ok
[INFO] [stdout] test engine::tests::prefilter_sql_line_comment_tab_not_safe ... ok
[INFO] [stdout] test engine::tests::prefilter_third_word_dangerous ... ok
[INFO] [stdout] test engine::tests::prefilter_vacuum_full_not_safe ... ok
[INFO] [stdout] test engine::tests::prefix_prefilter_dangerous_commands ... ok
[INFO] [stdout] test engine::tests::prefilter_whitespace_only_is_safe ... ok
[INFO] [stdout] test engine::tests::prefix_prefilter_safe_commands ... ok
[INFO] [stdout] test engine::tests::prefix_prefilter_sql_keywords ... ok
[INFO] [stdout] test engine::tests::prefix_set_contains_known_prefixes ... ok
[INFO] [stdout] test engine::tests::prefix_set_does_not_contain_safe_commands ... ok
[INFO] [stdout] test engine::tests::prefix_set_is_non_empty ... ok
[INFO] [stdout] test engine::tests::nix_gc_delete_warned ... ok
[INFO] [stdout] test engine::tests::normal_push_allowed ... ok
[INFO] [stdout] test engine::tests::rm_rf_home_var_blocked ... ok
[INFO] [stdout] test engine::tests::nix_build_allowed ... ok
[INFO] [stdout] test engine::tests::reset_soft_allowed ... ok
[INFO] [stdout] test engine::tests::flux_reconcile_allowed ... ok
[INFO] [stdout] test engine::tests::force_push_bare_blocked ... ok
[INFO] [stdout] test engine::tests::rm_rf_home_blocked ... ok
[INFO] [stdout] test engine::tests::pulumi_destroy_blocked ... ok
[INFO] [stdout] test engine::tests::rule_count_default_impl_equals_rules_len ... ok
[INFO] [stdout] test engine::tests::rule_count_matches_rules_len ... ok
[INFO] [stdout] test engine::tests::reset_hard_warned ... ok
[INFO] [stdout] test engine::tests::rm_rf_cwd_blocked ... ok
[INFO] [stdout] test engine::tests::rm_rf_root_blocked ... ok
[INFO] [stdout] test engine::tests::kubectl_delete_all_blocked ... ok
[INFO] [stdout] test engine::tests::severity_display ... ok
[INFO] [stdout] test engine::tests::sql_comment_stripper_block_comment ... ok
[INFO] [stdout] test engine::tests::sql_comment_stripper_empty_input ... ok
[INFO] [stdout] test engine::tests::rm_rf_subdir_allowed ... ok
[INFO] [stdout] test engine::tests::rm_rf_target_allowed ... ok
[INFO] [stdout] test engine::tests::sql_comment_stripper_multiple_block_comments ... ok
[INFO] [stdout] test engine::tests::sql_comment_stripper_only_block_comment ... ok
[INFO] [stdout] test engine::tests::sql_comment_stripper_no_comments ... ok
[INFO] [stdout] test engine::tests::sql_comment_stripper_preserves_cli_flags ... ok
[INFO] [stdout] test engine::tests::sql_comment_stripper_sneaky_block_comment ... ok
[INFO] [stdout] test engine::tests::sql_comment_stripper_line_comment ... ok
[INFO] [stdout] test engine::tests::rm_single_file_allowed ... ok
[INFO] [stdout] test engine::tests::nix_store_gc_warned ... ok
[INFO] [stdout] test engine::tests::kubectl_delete_pod_allowed ... ok
[INFO] [stdout] test engine::tests::force_push_master_blocked ... ok
[INFO] [stdout] test engine::tests::rules_returns_slice ... ok
[INFO] [stdout] test engine::tests::terraform_destroy_blocked ... ok
[INFO] [stdout] test engine::tests::select_star_not_blocked ... ok
[INFO] [stdout] test engine::tests::sbin_mkfs_blocked ... ok
[INFO] [stdout] test engine::tests::terraform_force_unlock_blocked ... ok
[INFO] [stdout] test engine::tests::helm_uninstall_staging_allowed ... ok
[INFO] [stdout] test engine::tests::terraform_apply_allowed ... ok
[INFO] [stdout] test engine::tests::select_allowed ... ok
[INFO] [stdout] test engine::tests::warn_only_engine ... ok
[INFO] [stdout] test engine::tests::pulumi_up_allowed ... ok
[INFO] [stdout] test engine::tests::sops_decrypt_pipe_warned ... ok
[INFO] [stdout] test hook::tests::bash_context_does_not_downgrade ... ok
[INFO] [stdout] test hook::tests::edit_context_downgrades ... ok
[INFO] [stdout] test hook::tests::extract_bash_no_command ... ok
[INFO] [stdout] test hook::tests::extract_bash_scannable ... ok
[INFO] [stdout] test hook::tests::extract_command_from_write_tool ... ok
[INFO] [stdout] test hook::tests::extract_command_when_no_tool_input ... ok
[INFO] [stdout] test hook::tests::extract_edit_no_new_string ... ok
[INFO] [stdout] test hook::tests::extract_edit_scannable ... ok
[INFO] [stdout] test hook::tests::extract_mcp_bare_prefix ... ok
[INFO] [stdout] test hook::tests::extract_mcp_triple_underscore ... ok
[INFO] [stdout] test engine::tests::terraform_apply_auto_warned ... ok
[INFO] [stdout] test hook::tests::extract_no_tool_input ... ok
[INFO] [stdout] test hook::tests::extract_no_tool_name ... ok
[INFO] [stdout] test hook::tests::extract_notebook_scannable ... ok
[INFO] [stdout] test hook::tests::extract_read_tool_empty ... ok
[INFO] [stdout] test hook::tests::extract_notebook_no_new_source ... ok
[INFO] [stdout] test hook::tests::extract_unknown_tool_empty ... ok
[INFO] [stdout] test hook::tests::extract_write_no_content ... ok
[INFO] [stdout] test hook::tests::extract_write_scannable ... ok
[INFO] [stdout] test hook::tests::hook_input_is_clone ... ok
[INFO] [stdout] test hook::tests::extract_mcp_scannable ... ok
[INFO] [stdout] test hook::tests::hook_input_debug ... ok
[INFO] [stdout] test hook::tests::mcp_context_does_not_downgrade ... ok
[INFO] [stdout] test hook::tests::mcp_empty_string_skipped ... ok
[INFO] [stdout] test hook::tests::mcp_nested_array_strings ... ok
[INFO] [stdout] test hook::tests::mcp_max_strings_enforced ... ok
[INFO] [stdout] test hook::tests::mcp_max_depth_enforced ... ok
[INFO] [stdout] test hook::tests::mcp_non_string_values_skipped ... ok
[INFO] [stdout] test hook::tests::mcp_with_command_field ... ok
[INFO] [stdout] test hook::tests::parse_bash_hook ... ok
[INFO] [stdout] test hook::tests::notebook_context_downgrades ... ok
[INFO] [stdout] test hook::tests::parse_empty_input ... ok
[INFO] [stdout] test hook::tests::parse_invalid_json_returns_error ... ok
[INFO] [stdout] test hook::tests::parse_missing_command ... ok
[INFO] [stdout] test engine::tests::terraform_state_list_allowed ... ok
[INFO] [stdout] test hook::tests::parse_reader_empty_string_is_error ... ok
[INFO] [stdout] test hook::tests::parse_reader_with_extra_fields ... ok
[INFO] [stdout] test hook::tests::scan_content_lines_filters_blanks_and_comments ... ok
[INFO] [stdout] test hook::tests::scan_content_lines_empty ... ok
[INFO] [stdout] test hook::tests::scan_content_lines_only_comments ... ok
[INFO] [stdout] test hook::tests::scan_content_lines_prefilter_optimization ... ok
[INFO] [stdout] test hook::tests::scan_content_lines_indented_dangerous ... ok
[INFO] [stdout] test hook::tests::scan_content_lines_shebang_filtered ... ok
[INFO] [stdout] test hook::tests::scan_context_debug_all_variants ... ok
[INFO] [stdout] test hook::tests::scan_context_is_command ... ok
[INFO] [stdout] test hook::tests::scan_context_is_content ... ok
[INFO] [stdout] test hook::tests::scannable_content_clone ... ok
[INFO] [stdout] test hook::tests::write_context_downgrades ... ok
[INFO] [stdout] test hook::tests::scannable_content_debug ... ok
[INFO] [stdout] test journal::tests::default_journal_path_contains_guardrail ... ok
[INFO] [stdout] test journal::tests::default_journal_path_is_absolute ... ok
[INFO] [stdout] test journal::tests::extract_paths_bash_script ... ok
[INFO] [stdout] test engine::tests::usr_local_bin_terraform_blocked ... ok
[INFO] [stdout] test journal::tests::extract_paths_deduplicates ... ok
[INFO] [stdout] test journal::tests::extract_paths_direct_script ... ok
[INFO] [stdout] test journal::tests::extract_paths_direct_bash_extension ... ok
[INFO] [stdout] test journal::tests::extract_paths_bare_word_not_path ... ok
[INFO] [stdout] test journal::tests::extract_paths_empty_command ... ok
[INFO] [stdout] test journal::tests::extract_paths_full_path_interpreter ... ok
[INFO] [stdout] test journal::tests::extract_paths_interpreter_at_end_no_script ... ok
[INFO] [stdout] test journal::tests::extract_paths_multiple_direct_scripts ... ok
[INFO] [stdout] test journal::tests::extract_paths_multiple_interpreters ... ok
[INFO] [stdout] test journal::tests::extract_paths_no_flag_args ... ok
[INFO] [stdout] test journal::tests::extract_paths_no_scripts ... ok
[INFO] [stdout] test journal::tests::extract_paths_no_extension ... ok
[INFO] [stdout] test journal::tests::extract_paths_python3_full_path ... ok
[INFO] [stdout] test journal::tests::extract_paths_python ... ok
[INFO] [stdout] test journal::tests::extract_paths_ruby_interpreter ... ok
[INFO] [stdout] test journal::tests::extract_paths_sh_interpreter ... ok
[INFO] [stdout] test journal::tests::extract_paths_shell_with_flags ... ok
[INFO] [stdout] test journal::tests::extract_paths_tilde ... ok
[INFO] [stdout] test journal::tests::extract_paths_whitespace_only ... ok
[INFO] [stdout] test journal::tests::extract_paths_zsh_interpreter ... ok
[INFO] [stdout] test journal::tests::has_script_extension_all_types ... ok
[INFO] [stdout] test journal::tests::has_script_extension_checks ... ok
[INFO] [stdout] test journal::tests::has_script_extension_false_positives ... ok
[INFO] [stdout] test journal::tests::is_path_like_checks ... ok
[INFO] [stdout] test journal::tests::is_path_like_edge_cases ... ok
[INFO] [stdout] test journal::tests::journal_disk_round_trip ... ok
[INFO] [stdout] test journal::tests::journal_empty_not_dangerous ... ok
[INFO] [stdout] test journal::tests::journal_entry_serde ... ok
[INFO] [stdout] test journal::tests::journal_expired_entry_not_dangerous ... ok
[INFO] [stdout] test journal::tests::journal_load_corrupt_file_returns_empty ... ok
[INFO] [stdout] test engine::tests::truncate_semicolon ... ok
[INFO] [stdout] test journal::tests::journal_load_missing_file_returns_empty ... ok
[INFO] [stdout] test journal::tests::journal_prune_removes_expired ... ok
[INFO] [stdout] test journal::tests::extract_paths_relative ... ok
[INFO] [stdout] test journal::tests::journal_overwrite_replaces_entry ... ok
[INFO] [stdout] test engine::tests::rm_rf_root_var_blocked ... ok
[INFO] [stdout] test journal::tests::journal_record_and_check ... ok
[INFO] [stdout] test hook::tests::parse_reader_null_fields ... ok
[INFO] [stdout] test journal::tests::journal_round_trip_preserves_timestamps ... ok
[INFO] [stdout] test journal::tests::journal_safe_write_not_dangerous ... ok
[INFO] [stdout] test journal::tests::journal_save_creates_parent_dirs ... ok
[INFO] [stdout] test journal::tests::journal_serde_round_trip ... ok
[INFO] [stdout] test journal::tests::now_secs_returns_reasonable_value ... ok
[INFO] [stdout] test journal::tests::prune_keeps_fresh ... ok
[INFO] [stdout] test engine::tests::usr_bin_rm_blocked ... ok
[INFO] [stdout] test journal::tests::record_multiple_files ... ok
[INFO] [stdout] test model::tests::builder_accepts_string_types ... ok
[INFO] [stdout] test journal::tests::prune_all_expired ... ok
[INFO] [stdout] test engine::tests::sops_decrypt_file_allowed ... ok
[INFO] [stdout] test engine::tests::truncate_blocked ... ok
[INFO] [stdout] test model::tests::builder_defaults ... ok
[INFO] [stdout] test journal::tests::record_auto_prunes ... ok
[INFO] [stdout] test model::tests::builder_all_setters ... ok
[INFO] [stdout] test model::tests::category_display_all_variants ... ok
[INFO] [stdout] test model::tests::category_all_returns_14_variants ... ok
[INFO] [stdout] test model::tests::category_fromstr_invalid ... ok
[INFO] [stdout] test engine::tests::unicode_safe_command_allowed ... ok
[INFO] [stdout] test model::tests::category_fromstr_round_trip ... ok
[INFO] [stdout] test model::tests::category_invalid_deserialize ... ok
[INFO] [stdout] test engine::tests::whitespace_only_command_allowed ... ok
[INFO] [stdout] test engine::tests::terraform_state_rm_blocked ... ok
[INFO] [stdout] test journal::tests::extract_paths_perl_interpreter ... ok
[INFO] [stdout] test hook::tests::mcp_nested_object_strings ... ok
[INFO] [stdout] test model::tests::category_ordering ... ok
[INFO] [stdout] test model::tests::config_camel_case_field_names ... ok
[INFO] [stdout] test model::tests::config_default_is_empty ... ok
[INFO] [stdout] test model::tests::config_is_category_enabled_explicit_false ... ok
[INFO] [stdout] test model::tests::config_is_rule_disabled ... ok
[INFO] [stdout] test model::tests::config_invalid_category_key_yaml ... ok
[INFO] [stdout] test model::tests::config_nested_invalid_extra_rule ... ok
[INFO] [stdout] test model::tests::config_serde_round_trip ... ok
[INFO] [stdout] test model::tests::category_serde_round_trip_all_variants ... ok
[INFO] [stdout] test model::tests::decision_clone ... ok
[INFO] [stdout] test model::tests::decision_debug ... ok
[INFO] [stdout] test model::tests::config_deserialize_empty_yaml ... ok
[INFO] [stdout] test model::tests::decision_display_all_variants ... ok
[INFO] [stdout] test model::tests::decision_equality ... ok
[INFO] [stdout] test model::tests::decision_from_rule_warn ... ok
[INFO] [stdout] test model::tests::decision_is_allowed ... ok
[INFO] [stdout] test model::tests::decision_from_rule_block ... ok
[INFO] [stdout] test model::tests::decision_is_blocked ... ok
[INFO] [stdout] test model::tests::rule_display ... ok
[INFO] [stdout] test model::tests::rule_invalid_category_yaml ... ok
[INFO] [stdout] test model::tests::rule_invalid_severity_yaml ... ok
[INFO] [stdout] test model::tests::rule_serde_json_round_trip ... ok
[INFO] [stdout] test model::tests::severity_fromstr_invalid ... ok
[INFO] [stdout] test model::tests::rule_serde_yaml_round_trip ... ok
[INFO] [stdout] test model::tests::rule_missing_required_field_yaml ... ok
[INFO] [stdout] test model::tests::rule_vec_serde_yaml ... ok
[INFO] [stdout] test model::tests::rule_deserialize_missing_optional_fields ... ok
[INFO] [stdout] test model::tests::severity_invalid_deserialize ... ok
[INFO] [stdout] test model::tests::severity_ordering ... ok
[INFO] [stdout] test model::tests::severity_fromstr_round_trip ... ok
[INFO] [stdout] test model::tests::rule_equality ... ok
[INFO] [stdout] test model::tests::severity_is_blocking ... ok
[INFO] [stdout] test model::tests::severity_yaml_round_trip ... ok
[INFO] [stdout] test model::tests::rule_optional_test_fields_skip_serializing ... ok
[INFO] [stdout] test testing::tests::benchmark_single_rule ... ok
[INFO] [stdout] test testing::tests::derive_test_allow_returns_default_when_absent ... ok
[INFO] [stdout] test testing::tests::derive_test_allow_uses_explicit_when_present ... ok
[INFO] [stdout] test testing::tests::derive_test_block_uses_explicit_when_present ... ok
[INFO] [stdout] test testing::tests::engine_passthrough_preserves_dangerous ... ok
[INFO] [stdout] test testing::tests::engine_passthrough_preserves_sql_keywords ... ok
[INFO] [stdout] test model::tests::severity_serde_round_trip ... ok
[INFO] [stdout] test model::tests::severity_display_all_variants ... ok
[INFO] [stdout] test testing::tests::engine_passthrough_wraps_safe_commands ... ok
[INFO] [stdout] test testing::tests::prefilter_trait_used_correctly ... ok
[INFO] [stdout] test testing::tests::synthesize_aws_pattern ... ok
[INFO] [stdout] test testing::tests::synthesize_from_name_basic ... ok
[INFO] [stdout] test model::tests::config_is_category_enabled_default_true ... ok
[INFO] [stdout] test testing::tests::synthesize_from_name_single_word ... ok
[INFO] [stdout] test testing::tests::derive_test_block_synthesizes_when_absent ... ok
[INFO] [stdout] test testing::tests::synthesize_git_force_push_main ... ok
[INFO] [stdout] test testing::tests::synthesize_simple_prefix_pattern ... ok
[INFO] [stdout] test testing::tests::synthesize_rm_rf_root ... ok
[INFO] [stdout] test testing::tests::synthesize_sops_decrypt_pipe ... ok
[INFO] [stdout] test testing::tests::synthesize_mongo_drop_database ... ok
[INFO] [stdout] test testing::tests::synthesize_sql_drop_table ... ok
[INFO] [stdout] test testing::tests::validate_engine_empty_rules_no_failures ... ok
[INFO] [stdout] test testing::tests::validate_engine_reports_compilation_failure ... ok
[INFO] [stdout] test testing::tests::validate_regex_empty_rules_no_failures ... ok
[INFO] [stdout] test testing::tests::validate_regex_reports_matching_test_allow ... ok
[INFO] [stdout] test testing::tests::validate_regex_reports_invalid_pattern ... ok
[INFO] [stdout] test testing::tests::validate_regex_reports_non_matching_test_block ... ok
[INFO] [stdout] test testing::tests::test_allow_never_matches_safe ... ok
[INFO] [stdout] test engine::tests::very_long_safe_command_allowed ... ok
[INFO] [stdout] test engine::tests::var_as_command_warned ... ok
[INFO] [stdout] test testing::tests::all_default_rules_engine_valid ... ok
[INFO] [stdout] test testing::tests::content_scan_performance ... FAILED
[INFO] [stdout] test testing::tests::all_default_rules_regex_valid ... ok
[INFO] [stdout] test engine::tests::terraform_plan_allowed ... ok
[INFO] [stdout] test testing::tests::performance_default_rules ... ok
[INFO] [stdout] test testing::tests::benchmark_result_fields_consistent ... ok
[INFO] [stdout] test testing::tests::all_suite_rules_compile_into_regexset ... ok
[INFO] [stdout] test testing::tests::all_suite_rules_regex_valid ... ok
[INFO] [stdout] test testing::tests::all_suite_rules_engine_valid has been running for over 60 seconds
[INFO] [stdout] test testing::tests::performance_all_rules has been running for over 60 seconds
[INFO] [stdout] test testing::tests::all_suite_rules_engine_valid ... ok
[INFO] [stdout] test testing::tests::performance_all_rules ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- testing::tests::content_scan_performance stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'testing::tests::content_scan_performance' (396) panicked at src/testing.rs:617:9:
[INFO] [stdout] Content scan too slow for 1000 lines: 147.234869ms
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5e03ba7ed9da - 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:     0x5e03ba7ed9da - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e03ba7ed9da - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e03ba7ed9da - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e03ba8041aa - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e03ba8041aa - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5e03ba7f29b2 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5e03ba7f29b2 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5e03ba7c9c3f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e03ba7c9c3f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e03ba7e4d29 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5e03ba4b439c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5e03ba4b439c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5e03ba7e4ee2 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5e03ba7e4ee2 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5e03ba7c9cf8 - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5e03ba7be6e9 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5e03ba7caafd - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5e03ba8049ec - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5e03ba3caf99 - guardrail[8e8a511ec2345b3d]::testing::tests::content_scan_performance
[INFO] [stdout]                                at /opt/rustwide/workdir/src/testing.rs:617:9
[INFO] [stdout]   20:     0x5e03ba3c3bc7 - guardrail[8e8a511ec2345b3d]::testing::tests::content_scan_performance::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/testing.rs:592:34
[INFO] [stdout]   21:     0x5e03ba3df586 - <guardrail[8e8a511ec2345b3d]::testing::tests::content_scan_performance::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5e03ba4a767b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5e03ba4a767b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x5e03ba4b4e6b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x5e03ba4b4e6b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5e03ba4b4e6b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5e03ba4b4e6b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5e03ba4b4e6b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5e03ba4b4e6b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x5e03ba4b4e6b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x5e03ba4ae584 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x5e03ba4ae584 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5e03ba4b7a72 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x5e03ba4b7a72 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5e03ba4b7a72 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5e03ba4b7a72 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5e03ba4b7a72 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5e03ba4b7a72 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x5e03ba4b7a72 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5e03ba7ecacf - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   41:     0x5e03ba7ecacf - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x77738f393aa4 - <unknown>
[INFO] [stdout]   43:     0x77738f420a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     testing::tests::content_scan_performance
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 404 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 127.20s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "089efd617ffd94e363c0d453e695e81ac7cded11aa385123f15e85c5d6f046b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "089efd617ffd94e363c0d453e695e81ac7cded11aa385123f15e85c5d6f046b8", kill_on_drop: false }`
[INFO] [stdout] 089efd617ffd94e363c0d453e695e81ac7cded11aa385123f15e85c5d6f046b8
