[INFO] fetching crate ratchets 0.2.6... [INFO] testing ratchets-0.2.6 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate ratchets 0.2.6 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate ratchets 0.2.6 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate ratchets 0.2.6 [INFO] tweaked toml for crates.io crate ratchets 0.2.6 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate ratchets 0.2.6 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate ratchets 0.2.6 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ecdd582e9339bac111e6b739f94ce2fc7eb96d1ea35c3be4a48f9056c6c5b93f [INFO] running `Command { std: "docker" "start" "-a" "ecdd582e9339bac111e6b739f94ce2fc7eb96d1ea35c3be4a48f9056c6c5b93f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ecdd582e9339bac111e6b739f94ce2fc7eb96d1ea35c3be4a48f9056c6c5b93f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ecdd582e9339bac111e6b739f94ce2fc7eb96d1ea35c3be4a48f9056c6c5b93f", kill_on_drop: false }` [INFO] [stdout] ecdd582e9339bac111e6b739f94ce2fc7eb96d1ea35c3be4a48f9056c6c5b93f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 859998da2339456ec8fe4b918ed5b3c93fc6186cb37b116643eb985d3d163c46 [INFO] running `Command { std: "docker" "start" "-a" "859998da2339456ec8fe4b918ed5b3c93fc6186cb37b116643eb985d3d163c46", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.0.106 [INFO] [stderr] Compiling proc-macro2 v1.0.105 [INFO] [stderr] Compiling quote v1.0.43 [INFO] [stderr] Compiling zmij v1.0.13 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling clap_builder v4.5.54 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling tree-sitter v0.22.6 [INFO] [stderr] Compiling tree-sitter-typescript v0.21.2 [INFO] [stderr] Compiling tree-sitter-javascript v0.21.4 [INFO] [stderr] Compiling tree-sitter-go v0.21.2 [INFO] [stderr] Compiling tree-sitter-python v0.21.0 [INFO] [stderr] Compiling tree-sitter-rust v0.21.2 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling clap v4.5.54 [INFO] [stderr] Compiling serde v1.0.228 [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 toml v0.8.23 [INFO] [stderr] Compiling ratchets v0.2.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.75s [INFO] running `Command { std: "docker" "inspect" "859998da2339456ec8fe4b918ed5b3c93fc6186cb37b116643eb985d3d163c46", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "859998da2339456ec8fe4b918ed5b3c93fc6186cb37b116643eb985d3d163c46", kill_on_drop: false }` [INFO] [stdout] 859998da2339456ec8fe4b918ed5b3c93fc6186cb37b116643eb985d3d163c46 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7596d0f25fbd7009b529e93148bb86799f34b8dbb8c72533d52ec970dee725d6 [INFO] running `Command { std: "docker" "start" "-a" "7596d0f25fbd7009b529e93148bb86799f34b8dbb8c72533d52ec970dee725d6", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.33 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling zerocopy-derive v0.8.33 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling assert_cmd v2.1.2 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling serial_test_derive v3.3.1 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling predicates-tree v1.0.12 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling serial_test v3.3.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling tree-sitter v0.22.6 [INFO] [stderr] Compiling predicates v3.1.3 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling tree-sitter-typescript v0.21.2 [INFO] [stderr] Compiling tree-sitter-rust v0.21.2 [INFO] [stderr] Compiling tree-sitter-go v0.21.2 [INFO] [stderr] Compiling tree-sitter-javascript v0.21.4 [INFO] [stderr] Compiling tree-sitter-python v0.21.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling ratchets v0.2.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 37.19s [INFO] running `Command { std: "docker" "inspect" "7596d0f25fbd7009b529e93148bb86799f34b8dbb8c72533d52ec970dee725d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7596d0f25fbd7009b529e93148bb86799f34b8dbb8c72533d52ec970dee725d6", kill_on_drop: false }` [INFO] [stdout] 7596d0f25fbd7009b529e93148bb86799f34b8dbb8c72533d52ec970dee725d6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 92ed5addd5ddec5a57a335a1bc7ec532a577a55eafb96c302b9fd7c21a72681f [INFO] running `Command { std: "docker" "start" "-a" "92ed5addd5ddec5a57a335a1bc7ec532a577a55eafb96c302b9fd7c21a72681f", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ratchets-41b32de1ba6d2e45) [INFO] [stdout] [INFO] [stdout] running 421 tests [INFO] [stdout] test cli::args::tests::test_check_default_args ... ok [INFO] [stdout] test cli::args::tests::test_bump_all_with_rule_id ... ok [INFO] [stdout] test cli::args::tests::test_bump_all_conflicts_with_count ... ok [INFO] [stdout] test cli::args::tests::test_bump_all_conflicts_with_region ... ok [INFO] [stdout] test cli::args::tests::test_bump_all_flag ... ok [INFO] [stdout] test cli::args::tests::test_check_short_format ... ok [INFO] [stdout] test cli::args::tests::test_bump_with_count ... ok [INFO] [stdout] test cli::args::tests::test_check_with_format ... ok [INFO] [stdout] test cli::args::tests::test_bump_full ... ok [INFO] [stdout] test cli::args::tests::test_bump_minimal ... ok [INFO] [stdout] test cli::args::tests::test_invalid_color ... ok [INFO] [stdout] test cli::args::tests::test_init_default ... ok [INFO] [stdout] test cli::args::tests::test_check_verbose_flag ... ok [INFO] [stdout] test cli::args::tests::test_global_color_flag ... ok [INFO] [stdout] test cli::args::tests::test_init_with_force ... ok [INFO] [stdout] test cli::args::tests::test_list_short_format ... ok [INFO] [stdout] test cli::args::tests::test_list_with_format ... ok [INFO] [stdout] test cli::args::tests::test_merge_driver ... ok [INFO] [stdout] test cli::args::tests::test_tighten_with_region ... ok [INFO] [stdout] test cli::args::tests::test_verify_cli ... ok [INFO] [stdout] test cli::bump::tests::test_region_path_normalization ... ok [INFO] [stdout] test cli::args::tests::test_missing_required_args ... ok [INFO] [stdout] test cli::args::tests::test_tighten_all ... ok [INFO] [stdout] test cli::args::tests::test_list_default ... ok [INFO] [stdout] test cli::bump::tests::test_bump_error_display ... ok [INFO] [stdout] test cli::args::tests::test_version_flag ... ok [INFO] [stdout] test cli::args::tests::test_invalid_format ... ok [INFO] [stdout] test cli::args::tests::test_check_verbose_short_flag ... ok [INFO] [stdout] test cli::check::tests::test_check_error_display ... ok [INFO] [stdout] test cli::common::tests::test_discover_files_with_empty_paths ... ok [INFO] [stdout] test cli::args::tests::test_tighten_rule_and_region ... ok [INFO] [stdout] test cli::args::tests::test_help_contains_about ... ok [INFO] [stdout] test cli::common::tests::test_load_config_missing_file ... ok [INFO] [stdout] test cli::bump::tests::test_invalid_rule_id ... ok [INFO] [stdout] test cli::bump::tests::test_valid_rule_id ... ok [INFO] [stdout] test cli::args::tests::test_color_flag_before_subcommand ... ok [INFO] [stdout] test cli::check::tests::test_exit_codes ... ok [INFO] [stdout] test cli::init::tests::test_default_ratchet_toml_content ... ok [INFO] [stdout] test cli::args::tests::test_bump_with_region ... ok [INFO] [stdout] test cli::args::tests::test_check_with_paths ... ok [INFO] [stdout] test cli::init::tests::test_default_counts_toml_content ... ok [INFO] [stdout] test cli::init::tests::test_init_result_new ... ok [INFO] [stdout] test cli::list::tests::test_determine_rule_source ... ok [INFO] [stdout] test cli::list::tests::test_build_rule_statuses_multiple_rules ... ok [INFO] [stdout] test cli::list::tests::test_build_rule_statuses_rule_with_no_violations ... ok [INFO] [stdout] test cli::init::tests::test_init_creates_all_files ... ok [INFO] [stdout] test cli::init::tests::test_init_creates_nested_directories ... ok [INFO] [stdout] test cli::init::tests::test_init_error_when_path_is_file_not_directory ... ok [INFO] [stdout] test cli::list::tests::test_build_rule_statuses_single_rule_over_budget ... ok [INFO] [stdout] test cli::init::tests::test_init_is_idempotent ... ok [INFO] [stdout] test cli::init::tests::test_init_with_existing_directories ... ok [INFO] [stdout] test cli::init::tests::test_init_skips_existing_files_without_force ... ok [INFO] [stdout] test cli::init::tests::test_init_overwrites_existing_files_with_force ... ok [INFO] [stdout] test cli::merge_driver::tests::test_merge_counts_complex ... ok [INFO] [stdout] test cli::merge_driver::tests::test_extract_all_counts ... ok [INFO] [stdout] test cli::tighten::tests::test_exceeded_violation_construction ... ok [INFO] [stdout] test cli::merge_driver::tests::test_merge_counts_only_in_ours ... ok [INFO] [stdout] test cli::merge_driver::tests::test_merge_counts_minimum_wins ... ok [INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_missing_files ... ok [INFO] [stdout] test cli::merge_driver::tests::test_merge_counts_only_in_theirs ... ok [INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_basic ... ok [INFO] [stdout] test cli::tighten::tests::test_invalid_rule_id ... ok [INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_new_rule_in_ours ... ok [INFO] [stdout] test cli::tighten::tests::test_valid_rule_id ... ok [INFO] [stdout] test cli::init::tests::test_path_to_string ... ok [INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_new_rule_in_theirs ... ok [INFO] [stdout] test cli::list::tests::test_build_rule_statuses_empty ... ok [INFO] [stdout] test cli::list::tests::test_build_rule_statuses_single_rule_within_budget ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_by_region_consistency ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_by_region_missing_rule ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_by_region_root ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_by_region_specific ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_missing_rule ... ok [INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_invalid_toml ... ok [INFO] [stdout] test cli::tighten::tests::test_tighten_error_display ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_default_trait ... ok [INFO] [stdout] test cli::tighten::tests::test_tighten_result_variants ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_find_configured_region ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_by_region_inheritance ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_find_configured_region_missing_rule ... ok [INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_multiple_regions ... ok [INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_multiple_rules ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_invalid_count_negative ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_multiple_rules_same_regions ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_invalid_count_non_integer ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_invalid_rule_id ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_new ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_only_root_counts ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_simple ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_is_configured_region ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_empty_file ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_multiple_rules ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_large_counts ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_complex_example ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_invalid_rule_not_table ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_set_count ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_to_toml_string_multiple_rules ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_roundtrip ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_invalid_toml_syntax ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_is_configured_region_missing_rule ... ok [INFO] [stdout] test cli::args::tests::test_tighten_specific_rule ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_windows_style_paths ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_parse_zero_counts ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_to_toml_string_simple ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_by_region_specific ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_set_count_multiple_regions ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_set_count_creates_new_rule ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_to_toml_regions_sorted ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_to_toml_string_sorted_output ... ok [INFO] [stdout] test config::counts::tests::test_find_configured_region_ancestor ... ok [INFO] [stdout] test config::counts::tests::test_find_configured_region_root_fallback ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_by_region_inheritance ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_by_region_nested ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_by_region_root ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_default_trait ... ok [INFO] [stdout] test config::counts::tests::test_find_configured_region_exact_match ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_configured_regions_from_parsing ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_to_toml_string_empty ... ok [INFO] [stdout] test config::counts::tests::test_counts_manager_set_count_overwrites ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_default_zero ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_nested_inheritance ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_root ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_specific_region ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_with_trailing_slash ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_is_configured_region ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_new ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_set_count ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_set_count_root ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_with_root_count ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_sibling_regions ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_all_supported_languages ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_empty_include_patterns ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_invalid_glob_pattern_include ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_custom_rule_with_invalid_region_glob ... ok [INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_deeply_nested ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_invalid_output_format ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_invalid_language ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_color_option_default ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_custom_rules_with_settings ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_invalid_glob_pattern_exclude ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_invalid_severity ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_invalid_version ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_config_round_trip ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_invalid_color_option ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_color_always ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_complex_rule_combinations ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_invalid_rule_region_glob ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_jsonl_output_format ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_multiple_languages ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_multiple_glob_patterns ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_minimal_config ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_output_format_default ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_patterns_section_empty ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_missing_version ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_patterns_section ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_missing_languages_field ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_patterns_section_invalid_glob ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_no_languages ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_rule_disabled_explicitly ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_rule_with_only_severity ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_rule_with_severity_and_regions ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_rule_with_only_regions ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregation_result_derives ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_missing_rule_defaults_to_zero ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_exact_budget_match ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_complex_scenario ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_multiple_violations_same_rule_region_over_budget ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_multiple_violations_same_rule_region ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_single_violation_over_budget ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_sorted_output ... ok [INFO] [stdout] test engine::aggregator::tests::test_rule_region_status_derives ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_empty_violations ... ok [INFO] [stdout] test engine::executor::tests::test_execute_result_structure ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_valid_config_parsing ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_single_language ... ok [INFO] [stdout] test config::ratchet_toml::tests::test_version_must_be_string ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_preserves_violation_details ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_single_violation_within_budget ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_multiple_regions_same_rule ... ok [INFO] [stdout] test engine::file_walker::tests::test_build_globset_invalid ... ok [INFO] [stdout] test engine::file_walker::tests::test_build_globset_valid ... ok [INFO] [stdout] test engine::executor::tests::test_rule_applies_to_file_with_language ... ok [INFO] [stdout] test engine::executor::tests::test_is_ast_rule_heuristic ... ok [INFO] [stdout] test engine::file_walker::tests::test_file_entry_with_language ... ok [INFO] [stdout] test engine::executor::tests::test_parse_ast ... ok [INFO] [stdout] test engine::executor::tests::test_execution_engine_creation ... ok [INFO] [stdout] test engine::executor::tests::test_execute_empty_files ... ok [INFO] [stdout] test engine::file_walker::tests::test_file_entry_equality ... ok [INFO] [stdout] test engine::executor::tests::test_rule_applies_to_file_no_language_restriction ... ok [INFO] [stdout] test engine::executor::tests::test_execute_unreadable_file ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_multiple_rules_same_region ... ok [INFO] [stdout] test engine::aggregator::tests::test_aggregator_zero_budget_strict_enforcement ... ok [INFO] [stdout] test engine::file_walker::tests::test_file_entry_new_with_detector ... ok [INFO] [stdout] test engine::file_walker::tests::test_file_walker_empty_patterns ... ok [INFO] [stdout] test engine::executor::tests::test_execute_multiple_files ... ok [INFO] [stdout] test engine::executor::tests::test_execute_single_file ... ok [INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_javascript ... ok [INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_python ... ok [INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_typescript ... ok [INFO] [stdout] test engine::file_walker::tests::test_walk_basic ... ok [INFO] [stdout] test engine::file_walker::tests::test_file_walker_new ... ok [INFO] [stdout] test engine::file_walker::tests::test_language_detector_new ... ok [INFO] [stdout] test error::tests::test_config_error_display_invalid_value ... ok [INFO] [stdout] test error::tests::test_ratchet_error_display_config ... ok [INFO] [stdout] test error::tests::test_ratchet_error_display_parse ... ok [INFO] [stdout] test error::tests::test_ratchet_error_from_config_error ... ok [INFO] [stdout] test error::tests::test_rule_error_display_invalid_query ... ok [INFO] [stdout] test error::tests::test_rule_error_display_invalid_regex ... ok [INFO] [stdout] test error::tests::test_rule_error_display_invalid_definition ... ok [INFO] [stdout] test engine::executor::tests::test_parallel_execution ... ok [INFO] [stdout] test engine::executor::tests::test_mixed_rules_execution ... ok [INFO] [stdout] test error::tests::test_config_error_display_invalid_syntax ... ok [INFO] [stdout] test error::tests::test_ratchet_error_display_rule ... ok [INFO] [stdout] test error::tests::test_ratchet_error_from_io_error ... ok [INFO] [stdout] test error::tests::test_ratchet_error_from_rule_error ... ok [INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_no_extension ... ok [INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_unknown ... ok [INFO] [stdout] test error::tests::test_config_error_display_missing_field ... ok [INFO] [stdout] test engine::file_walker::tests::test_walk_with_include_filter ... ok [INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_rust ... ok [INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_go ... ok [INFO] [stdout] test error::tests::test_rule_error_display_not_found ... ok [INFO] [stdout] test output::human::tests::test_format_color_choice_auto ... ok [INFO] [stdout] test output::human::tests::test_format_deterministic_output ... ok [INFO] [stdout] test output::human::tests::test_format_empty_result ... ok [INFO] [stdout] test output::human::tests::test_format_multiple_rules_exceeded ... ok [INFO] [stdout] test output::human::tests::test_format_multiple_violations_same_rule ... ok [INFO] [stdout] test output::human::tests::test_format_non_verbose_shows_summary_only ... ok [INFO] [stdout] test output::human::tests::test_format_violation_over_budget ... ok [INFO] [stdout] test output::human::tests::test_format_with_leading_trailing_whitespace ... ok [INFO] [stdout] no-unwrap [1 violation] [INFO] [stdout] [INFO] [stdout] src/main.rs:10:5 [INFO] [stdout] .unwrap() [INFO] [stdout] [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-unwrap [src]: 1 violations (budget: 5) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] test output::human::tests::test_format_with_special_characters_in_paths ... ok [INFO] [stdout] test output::human::tests::test_write_to_stdout_no_errors ... ok [INFO] [stdout] test output::jsonl::tests::test_default_implementation ... ok [INFO] [stdout] test output::human::tests::test_formatter_with_different_color_choices ... ok [INFO] [stdout] test output::human::tests::test_format_multiple_rules ... ok [INFO] [stdout] test output::human::tests::test_format_non_verbose_hides_violations ... ok [INFO] [stdout] test output::jsonl::tests::test_empty_and_whitespace_snippets ... ok [INFO] [stdout] test output::human::tests::test_format_region_status_no_violations ... ok [INFO] [stdout] test output::jsonl::tests::test_format_multiple_rules_and_regions ... ok [INFO] [stdout] test output::jsonl::tests::test_format_multiple_violations_sorted ... ok [INFO] [stdout] test output::jsonl::tests::test_format_violation_over_budget ... ok [INFO] [stdout] test output::jsonl::tests::test_format_non_verbose_hides_violation_records ... ok [INFO] [stdout] test output::human::tests::test_format_single_violation_within_budget ... ok [INFO] [stdout] test output::jsonl::tests::test_region_status_with_no_violations ... ok [INFO] [stdout] test output::jsonl::tests::test_deterministic_output ... ok [INFO] [stdout] test output::jsonl::tests::test_long_snippet_json_encoding ... ok [INFO] [stdout] test output::jsonl::tests::test_format_non_verbose_preserves_summary_records ... ok [INFO] [stdout] test output::jsonl::tests::test_json_validity ... ok [INFO] [stdout] test output::human::tests::test_format_color_choice_never ... ok [INFO] [stdout] test output::human::tests::test_format_with_special_characters_in_snippets ... ok [INFO] [stdout] test output::human::tests::test_format_long_snippet ... ok [INFO] [stdout] test output::jsonl::tests::test_format_single_violation ... ok [INFO] [stdout] test output::jsonl::tests::test_violation_sorting_by_file ... ok [INFO] [stdout] test output::jsonl::tests::test_special_characters_in_paths ... ok [INFO] [stdout] test output::jsonl::tests::test_special_characters_in_messages ... ok [INFO] [stdout] test output::jsonl::tests::test_violation_sorting_by_line ... ok [INFO] [stdout] test output::jsonl::tests::test_special_characters_in_snippets ... ok [INFO] [stdout] test output::human::tests::test_format_empty_snippet ... ok [INFO] [stdout] test output::human::tests::test_format_mixed_pass_fail ... ok [INFO] [stdout] test output::human::tests::test_format_color_choice_always ... ok [INFO] [stdout] test output::rule_status::tests::test_check_status_as_str ... ok [INFO] [stdout] test output::rule_status::tests::test_jsonl_formatter_multiple_rules ... ok [INFO] [stdout] test output::rule_status::tests::test_jsonl_formatter_single_rule ... ok [INFO] [stdout] test output::rule_status::tests::test_jsonl_valid_json ... ok [INFO] [stdout] test output::rule_status::tests::test_custom_source ... ok [INFO] [stdout] test output::jsonl::tests::test_format_empty_result ... ok [INFO] [stdout] test output::rule_status::tests::test_human_formatter_default ... ok [INFO] [stdout] test output::rule_status::tests::test_human_formatter_empty ... ok [INFO] [stdout] test output::rule_status::tests::test_human_formatter_multiple_rules ... ok [INFO] [stdout] test output::rule_status::tests::test_human_formatter_single_rule_pass ... ok [INFO] [stdout] test output::rule_status::tests::test_human_formatter_single_rule_over_budget ... ok [INFO] [stdout] test output::rule_status::tests::test_jsonl_formatter_default ... ok [INFO] [stdout] test output::rule_status::tests::test_jsonl_formatter_empty ... ok [INFO] [stdout] test output::rule_status::tests::test_multiple_languages ... ok [INFO] [stdout] test output::rule_status::tests::test_rule_source_as_str ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_from_toml_missing_field ... ok [INFO] [stdout] test output::rule_status::tests::test_zero_violations ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_from_toml_invalid_query ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_from_toml_invalid_rule_id ... ok [INFO] [stdout] test rules::ast::parser_cache::tests::test_go_parser_loading ... ok [INFO] [stdout] test rules::ast::parser_cache::tests::test_javascript_parser_loading ... ok [INFO] [stdout] test rules::ast::parser_cache::tests::test_parser_cache_creation ... ok [INFO] [stdout] test rules::ast::parser_cache::tests::test_python_parser_loading ... ok [INFO] [stdout] test rules::ast::parser_cache::tests::test_rust_parser_loading ... ok [INFO] [stdout] test rules::ast::parser_cache::tests::test_typescript_parser_loading ... ok [INFO] [stdout] test rules::ast::parser_cache::tests::test_parser_cache_default ... ok [INFO] [stdout] test rules::ast::parser_cache::tests::test_parser_caching ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_from_toml_with_globs ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_from_toml_simple ... ok [INFO] [stdout] test rules::regex_rule::tests::test_backward_compatibility ... ok [INFO] [stdout] test rules::regex_rule::tests::test_case_insensitive_pattern ... ok [INFO] [stdout] test rules::regex_rule::tests::test_compute_line_offsets ... ok [INFO] [stdout] test rules::regex_rule::tests::test_compute_line_offsets_empty ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_query_without_violation_capture ... ok [INFO] [stdout] test rules::regex_rule::tests::test_compute_line_offsets_single_line ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_violation_positions ... ok [INFO] [stdout] test rules::regex_rule::tests::test_execute_no_match ... ok [INFO] [stdout] test rules::regex_rule::tests::test_execute_respects_exclude ... ok [INFO] [stdout] test rules::regex_rule::tests::test_execute_multiple_matches ... ok [INFO] [stdout] test rules::regex_rule::tests::test_from_toml_invalid_regex ... ok [INFO] [stdout] test rules::regex_rule::tests::test_execute_simple_match ... ok [INFO] [stdout] test rules::regex_rule::tests::test_from_toml_invalid_rule_id ... ok [INFO] [stdout] test rules::regex_rule::tests::test_from_toml_simple ... ok [INFO] [stdout] test rules::regex_rule::tests::test_from_toml_missing_field ... ok [INFO] [stdout] test rules::regex_rule::tests::test_from_toml_with_globs ... ok [INFO] [stdout] test rules::regex_rule::tests::test_from_toml_with_languages ... ok [INFO] [stdout] test rules::regex_rule::tests::test_offset_to_line_col ... ok [INFO] [stdout] test rules::regex_rule::tests::test_multiline_content ... ok [INFO] [stdout] test rules::regex_rule::tests::test_pattern_reference_no_context ... ok [INFO] [stdout] test rules::regex_rule::tests::test_pattern_reference_not_found ... ok [INFO] [stdout] test rules::regex_rule::tests::test_pattern_reference_mixed ... ok [INFO] [stdout] test rules::regex_rule::tests::test_pattern_reference_single ... ok [INFO] [stdout] test rules::regex_rule::tests::test_regex_rule_uses_configured_region ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_with_tree_direct ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_no_match ... ok [INFO] [stdout] test rules::registry::tests::test_default_registry ... ok [INFO] [stdout] test rules::registry::tests::test_complete_loading_sequence_no_duplicates ... ok [INFO] [stdout] test rules::registry::tests::test_filter_by_config_custom_rules ... ok [INFO] [stdout] test rules::registry::tests::test_filter_by_config_explicitly_disabled ... ok [INFO] [stdout] test rules::registry::tests::test_filter_by_config_mixed_rules ... ok [INFO] [stdout] test rules::regex_rule::tests::test_execute_respects_include ... ok [INFO] [stdout] test rules::registry::tests::test_filter_by_config_no_config ... ok [INFO] [stdout] test rules::registry::tests::test_filter_by_config_explicitly_enabled ... ok [INFO] [stdout] test rules::registry::tests::test_filter_by_config_with_settings ... ok [INFO] [stdout] test rules::registry::tests::test_filter_by_languages_empty_languages ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_ast_rule_uses_configured_region ... ok [INFO] [stdout] test rules::registry::tests::test_filter_to_single_rule_already_single ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_multiple_matches ... ok [INFO] [stdout] test engine::executor::tests::test_ast_rule_execution ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_respects_include ... ok [INFO] [stdout] test rules::registry::tests::test_filter_to_single_rule_empty_registry ... ok [INFO] [stdout] test rules::registry::tests::test_filter_to_single_rule_nonexistent ... ok [INFO] [stdout] test rules::registry::tests::test_get_rule_existing ... ok [INFO] [stdout] test rules::registry::tests::test_filter_to_single_rule_keeps_target ... ok [INFO] [stdout] test rules::registry::tests::test_iter_rules_empty ... ok [INFO] [stdout] test rules::registry::tests::test_get_rule_nonexistent ... ok [INFO] [stdout] test rules::registry::tests::test_is_rule_enabled ... ok [INFO] [stdout] test rules::registry::tests::test_iter_rules_multiple ... ok [INFO] [stdout] test rules::registry::tests::test_load_actual_builtin_ast_rules ... ignored [INFO] [stdout] test rules::registry::tests::test_load_actual_builtin_rules ... ignored [INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_respects_exclude ... ok [INFO] [stdout] test rules::registry::tests::test_len_and_is_empty ... ok [INFO] [stdout] test rules::registry::tests::test_load_ast_rules_invalid_query ... ok [INFO] [stdout] test rules::registry::tests::test_load_both_builtin_and_custom ... ok [INFO] [stdout] test rules::registry::tests::test_load_ast_and_regex_rules_duplicate_id ... ok [INFO] [stdout] test rules::registry::tests::test_load_builtin_ast_rules_missing_dir ... ok [INFO] [stdout] test rules::registry::tests::test_load_ast_rules_ignores_non_toml_files ... ok [INFO] [stdout] test rules::registry::tests::test_load_builtin_regex_rules_missing_dir ... ok [INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_simple_match ... ok [INFO] [stdout] test rules::registry::tests::test_load_custom_regex_rules_missing_dir ... ok [INFO] [stdout] test rules::registry::tests::test_load_duplicate_rule_id ... ok [INFO] [stdout] test rules::registry::tests::test_load_custom_ast_rules_missing_dir ... ok [INFO] [stdout] test rules::registry::tests::test_load_ignores_subdirectories ... ok [INFO] [stdout] test rules::registry::tests::test_load_ignores_non_toml_files ... ok [INFO] [stdout] test rules::builtin::tests::test_load_builtin_regex_rules ... ok [INFO] [stdout] test rules::registry::tests::test_load_multiple_rules ... ok [INFO] [stdout] test rules::registry::tests::test_load_single_rule ... ok [INFO] [stdout] test rules::registry::tests::test_new_registry ... ok [INFO] [stdout] test rules::registry::tests::test_no_duplicate_rule_ids_after_override ... ok [INFO] [stdout] test rules::registry::tests::test_load_builtin_ast_rules_ignores_files_in_root ... ok [INFO] [stdout] test rules::rule::tests::test_execution_context_construction ... ok [INFO] [stdout] test rules::registry::tests::test_override_silently_replaces_existing_rules ... ok [INFO] [stdout] test rules::rule::tests::test_execution_context_debug_with_resolver ... ok [INFO] [stdout] test rules::rule::tests::test_execution_context_debug ... ok [INFO] [stdout] test rules::registry::tests::test_load_ast_rule_duplicate_id ... ok [INFO] [stdout] test rules::rule::tests::test_execution_context_without_ast ... ok [INFO] [stdout] test rules::rule::tests::test_resolve_region_resolver_receives_correct_args ... ok [INFO] [stdout] test rules::rule::tests::test_resolve_region_root_file ... ok [INFO] [stdout] test rules::rule::tests::test_resolve_region_with_resolver ... ok [INFO] [stdout] test rules::rule::tests::test_resolve_region_without_resolver ... ok [INFO] [stdout] test rules::rule::tests::test_violation_clone ... ok [INFO] [stdout] test rules::rule::tests::test_rule_trait_implementation ... ok [INFO] [stdout] test rules::rule::tests::test_rule_is_send_sync ... ok [INFO] [stdout] test rules::rule::tests::test_violation_construction ... ok [INFO] [stdout] test types::tests::test_glob_pattern_basic ... ok [INFO] [stdout] test types::tests::test_glob_pattern_display ... ok [INFO] [stdout] test types::tests::test_glob_pattern_from_str ... ok [INFO] [stdout] test rules::registry::tests::test_load_builtin_ast_rules_per_language ... ok [INFO] [stdout] test rules::registry::tests::test_load_both_regex_and_ast_rules ... ok [INFO] [stdout] test rules::registry::tests::test_load_single_ast_rule ... ok [INFO] [stdout] test types::tests::test_language_all ... ok [INFO] [stdout] test types::tests::test_language_all_variants_exist ... ok [INFO] [stdout] test types::tests::test_language_serde_deserialization ... ok [INFO] [stdout] test types::tests::test_language_ignore_type_name ... ok [INFO] [stdout] test types::tests::test_region_path_into_string ... ok [INFO] [stdout] test types::tests::test_region_path_normalization_backslashes ... ok [INFO] [stdout] test types::tests::test_region_path_normalization_empty ... ok [INFO] [stdout] test types::tests::test_region_path_normalization_leading_dot_slash ... ok [INFO] [stdout] test types::tests::test_region_path_normalization_mixed ... ok [INFO] [stdout] test types::tests::test_region_path_normalization_simple ... ok [INFO] [stdout] test types::tests::test_region_path_normalization_trailing_slash ... ok [INFO] [stdout] test types::tests::test_region_path_serde_deserialization ... ok [INFO] [stdout] test types::tests::test_region_path_as_str ... ok [INFO] [stdout] test types::tests::test_region_path_serde_serialization ... ok [INFO] [stdout] test types::tests::test_region_path_try_from ... ok [INFO] [stdout] test types::tests::test_rule_id_as_str ... ok [INFO] [stdout] test types::tests::test_rule_id_display ... ok [INFO] [stdout] test types::tests::test_rule_id_into_string ... ok [INFO] [stdout] test types::tests::test_rule_id_serde_deserialization ... ok [INFO] [stdout] test types::tests::test_rule_id_serde_serialization ... ok [INFO] [stdout] test types::tests::test_rule_id_try_from ... ok [INFO] [stdout] test types::tests::test_rule_id_validation_invalid ... ok [INFO] [stdout] test types::tests::test_rule_id_validation_valid ... ok [INFO] [stdout] test types::tests::test_severity_serde_deserialization ... ok [INFO] [stdout] test types::tests::test_severity_serde_serialization ... ok [INFO] [stdout] test types::tests::test_type_derives_clone ... ok [INFO] [stdout] test types::tests::test_type_derives_hash ... ok [INFO] [stdout] test types::tests::test_type_derives_partial_eq ... ok [INFO] [stdout] test types::tests::test_language_serde_serialization ... ok [INFO] [stdout] test types::tests::test_region_path_display ... ok [INFO] [stdout] test types::tests::test_glob_pattern_from_string ... ok [INFO] [stdout] test rules::registry::tests::test_load_multiple_ast_rules ... ok [INFO] [stdout] test rules::builtin::tests::test_builtin_regex_rules_are_valid ... ok [INFO] [stdout] test rules::builtin::tests::test_load_builtin_ast_rules ... ok [INFO] [stdout] test rules::builtin::tests::test_builtin_ast_rules_are_valid ... ok [INFO] [stdout] test cli::common::tests::test_build_registry_with_minimal_config ... ok [INFO] [stdout] test rules::registry::tests::test_filter_by_languages_keeps_language_agnostic_rules ... ok [INFO] [stdout] test rules::registry::tests::test_build_from_config_loads_embedded_rules ... ok [INFO] [stdout] test rules::registry::tests::test_build_from_config_respects_disabled_rules ... ok [INFO] [stdout] test rules::registry::tests::test_filter_by_languages_removes_non_matching_rules ... ok [INFO] [stdout] test rules::registry::tests::test_filter_by_languages_keeps_multiple_languages ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 419 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 3.25s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ratchets-1fb8019bdfb0a524) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/ast_integration_tests.rs (/opt/rustwide/target/debug/deps/ast_integration_tests-299304f75384e046) [INFO] [stdout] [INFO] [stdout] running 60 tests [INFO] [stdout] test python_tests::test_no_bare_except_rule_loads ... ok [INFO] [stdout] test python_tests::test_no_base_exception_rule_loads ... ok [INFO] [stdout] test python_tests::test_no_bare_except_finds_violations ... ok [INFO] [stdout] test python_tests::test_no_bare_except_positions ... ok [INFO] [stdout] test python_tests::test_no_broad_exception_rule_loads ... ok [INFO] [stdout] test python_tests::test_no_bare_print_rule_loads ... ok [INFO] [stdout] test position_verification_tests::test_zero_indexed_to_one_indexed_conversion ... ok [INFO] [stdout] test python_tests::test_no_broad_exception_detects_both_forms ... ok [INFO] [stdout] test python_tests::test_no_eval_usage_rule_loads ... ok [INFO] [stdout] test position_verification_tests::test_multiline_violations ... ok [INFO] [stdout] test python_tests::test_no_global_keyword_rule_loads ... ok [INFO] [stdout] test python_tests::test_no_base_exception_positions ... ok [INFO] [stdout] test position_verification_tests::test_column_numbers_are_positive ... ok [INFO] [stdout] test python_tests::test_no_while_true_rule_loads ... ok [INFO] [stdout] test python_tests::test_no_base_exception_detects_both_forms ... ok [INFO] [stdout] test python_tests::test_no_exec_usage_finds_violations ... ok [INFO] [stdout] test python_tests::test_python_no_fixme_comments_rule_loads ... ok [INFO] [stdout] test python_tests::test_python_no_todo_comments_finds_violations ... ok [INFO] [stdout] test python_tests::test_no_bare_except_clean_code ... ok [INFO] [stdout] test python_tests::test_python_no_fixme_comments_finds_violations ... ok [INFO] [stdout] test python_tests::test_python_no_todo_comments_rule_loads ... ok [INFO] [stdout] test python_tests::test_no_while_true_finds_violations ... ok [INFO] [stdout] test position_verification_tests::test_exact_line_numbers ... ok [INFO] [stdout] test python_tests::test_no_global_keyword_finds_violations ... ok [INFO] [stdout] test python_tests::test_no_bare_print_no_false_positives ... ok [INFO] [stdout] test python_tests::test_no_eval_usage_no_false_positives ... ok [INFO] [stdout] test python_tests::test_python_no_fixme_comments_no_false_positives ... ok [INFO] [stdout] test python_tests::test_no_bare_print_finds_violations ... ok [INFO] [stdout] test python_tests::test_no_eval_usage_finds_violations ... ok [INFO] [stdout] test rust_tests::test_no_panic_rule_loads ... ok [INFO] [stdout] test python_tests::test_python_no_todo_comments_no_false_positives ... ok [INFO] [stdout] test python_tests::test_no_exec_usage_rule_loads ... ok [INFO] [stdout] test rust_tests::test_rust_no_fixme_comments_rule_loads ... ok [INFO] [stdout] test rust_tests::test_no_expect_rule_loads ... ok [INFO] [stdout] test python_tests::test_no_while_true_no_false_positives ... ok [INFO] [stdout] test rust_tests::test_no_unwrap_clean_code ... ok [INFO] [stdout] test rust_tests::test_rust_no_todo_comments_rule_loads ... ok [INFO] [stdout] test rust_tests::test_no_unwrap_finds_violations ... ok [INFO] [stdout] test rust_tests::test_no_unwrap_rule_loads ... ok [INFO] [stdout] test rust_tests::test_no_panic_finds_violations ... ok [INFO] [stdout] test validation_tests::test_invalid_query_syntax ... ok [INFO] [stdout] test validation_tests::test_invalid_rule_id ... ok [INFO] [stdout] test validation_tests::test_invalid_toml_syntax ... ok [INFO] [stdout] test rust_tests::test_no_expect_positions ... ok [INFO] [stdout] test validation_tests::test_missing_required_field ... ok [INFO] [stdout] test rust_tests::test_rust_no_todo_comments_no_false_positives ... ok [INFO] [stdout] test rust_tests::test_rust_no_fixme_comments_finds_violations ... ok [INFO] [stdout] test rust_tests::test_no_unwrap_positions ... ok [INFO] [stdout] test rust_tests::test_rust_no_fixme_comments_no_false_positives ... ok [INFO] [stdout] test validation_tests::test_invalid_glob_pattern ... ok [INFO] [stdout] test rust_tests::test_rust_no_todo_comments_finds_violations ... ok [INFO] [stdout] test rust_tests::test_no_panic_positions ... ok [INFO] [stdout] test typescript_tests::test_no_any_rule_loads ... ok [INFO] [stdout] test validation_tests::test_valid_query_without_violation_capture ... ok [INFO] [stdout] test rust_tests::test_no_expect_finds_violations ... ok [INFO] [stdout] test typescript_tests::test_no_any_clean_code ... ok [INFO] [stdout] test typescript_tests::test_no_any_finds_violations ... ok [INFO] [stdout] test rust_tests::test_snippet_extraction ... ok [INFO] [stdout] test typescript_tests::test_no_any_positions ... ok [INFO] [stdout] test typescript_tests::test_no_any_snippet_extraction ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 60 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.84s [INFO] [stdout] [INFO] [stderr] Running tests/check_command_tests.rs (/opt/rustwide/target/debug/deps/check_command_tests-1e90c26c07d84f94) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✗ no-todo-comments [.]: 2 violations (budget: 1) exceeded by 1 [INFO] [stdout] ✗ rust-no-todo-comments [.]: 2 violations (budget: 0) exceeded by 2 [INFO] [stdout] [INFO] [stdout] Check FAILED: 2 rules exceeded budget [INFO] [stdout] test test_check_command_exceeded_budget ... ok [INFO] [stdout] test test_check_command_jsonl_format ... ok [INFO] [stdout] test test_check_command_missing_config ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 2 violations (budget: 10) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] test test_check_non_verbose_hides_violations ... ok [INFO] [stdout] no-todo-comments [1 violation] [INFO] [stdout] [INFO] [stdout] ./has_todo.rs:1:4 [INFO] [stdout] TODO [INFO] [stdout] [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 1 violations (budget: 2) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] test test_check_verbose_short_flag_behavior ... ok [INFO] [stdout] no-todo-comments [1 violation] [INFO] [stdout] [INFO] [stdout] ./has_todo.rs:1:4 [INFO] [stdout] TODO [INFO] [stdout] [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 1 violations (budget: 10) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] test test_check_verbose_flag ... ok [INFO] [stdout] test test_check_verbose_with_jsonl_format ... ok [INFO] [stdout] test test_check_command_no_files ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 1 violations (budget: 2) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] test test_check_command_within_budget ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.27s [INFO] [stdout] [INFO] [stderr] Running tests/cli_integration_tests.rs (/opt/rustwide/target/debug/deps/cli_integration_tests-12372666be0dfffa) [INFO] [stdout] [INFO] [stdout] running 51 tests [INFO] [stdout] test test_bump_all_with_no_rules_enabled ... ok [INFO] [stdout] test test_bump_all_no_violations ... ok [INFO] [stdout] test test_bump_all_missing_config ... ok [INFO] [stdout] test test_bump_all_with_unchanged_budgets ... ok [INFO] [stdout] test test_bump_all_with_empty_initial_counts ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✗ no-todo-comments [.]: 1 violations (budget: 0) exceeded by 1 [INFO] [stdout] [INFO] [stdout] Check FAILED: 1 rule exceeded budget [INFO] [stdout] test test_check_with_empty_counts_file ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 3 violations (budget: 5) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] test test_check_with_multiple_paths ... ok [INFO] [stdout] test test_bump_invalid_rule_id ... ok [INFO] [stdout] test test_exit_codes_are_correct ... ok [INFO] [stdout] test test_bump_rejects_count_below_current ... ok [INFO] [stdout] test test_bump_succeeds_for_explicitly_configured_region ... ok [INFO] [stdout] test test_bump_succeeds_for_root_region_even_when_not_explicitly_configured ... ok [INFO] [stdout] test test_bump_with_auto_detect ... ok [INFO] [stdout] test test_bump_with_explicit_count ... ok [INFO] [stdout] test test_check_jsonl_format_returns_success ... ok [INFO] [stdout] test test_bump_creates_counts_file_if_missing ... ok [INFO] [stdout] test test_bump_missing_config ... ok [INFO] [stdout] test test_bump_with_custom_region ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✗ no-todo-comments [.]: 1 violations (budget: 0) exceeded by 1 [INFO] [stdout] [INFO] [stdout] Check FAILED: 1 rule exceeded budget [INFO] [stdout] test test_check_returns_exceeded_when_over_budget ... ok [INFO] [stdout] test test_check_returns_error_when_config_missing ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 1 violations (budget: 5) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] test test_check_returns_success_when_within_budget ... ok [INFO] [stdout] test test_bump_all_with_existing_counts ... ok [INFO] [stdout] test test_bump_fails_for_unconfigured_region ... ok [INFO] [stdout] test test_check_with_no_files_found ... ok [INFO] [stdout] test test_init_creates_all_files ... ok [INFO] [stdout] test test_init_is_idempotent ... ok [INFO] [stdout] test test_init_without_force_skips_existing ... ok [INFO] [stdout] test test_init_with_force_overwrites_existing ... ok [INFO] [stdout] test test_list_human_format ... ok [INFO] [stdout] test test_list_jsonl_format ... ok [INFO] [stdout] test test_list_missing_config ... ok [INFO] [stdout] test test_list_with_no_rules_enabled ... ok [INFO] [stdout] test test_merge_driver_invalid_toml ... ok [INFO] [stdout] test test_merge_driver_minimum_wins ... ok [INFO] [stdout] test test_merge_driver_missing_files ... ok [INFO] [stdout] test test_tighten_with_multiple_rules ... ok [INFO] [stdout] test test_merge_driver_multiple_rules ... ok [INFO] [stdout] test test_merge_driver_new_rule_in_ours ... ok [INFO] [stdout] test test_merge_driver_new_rule_in_theirs ... ok [INFO] [stdout] test test_tighten_does_not_create_new_regions ... ok [INFO] [stdout] test test_tighten_fails_when_violations_exceed_budget ... ok [INFO] [stdout] test test_tighten_invalid_rule_id ... ok [INFO] [stdout] test test_tighten_no_changes_needed ... ok [INFO] [stdout] test test_tighten_missing_config ... ok [INFO] [stdout] test test_tighten_only_updates_configured_regions ... ok [INFO] [stdout] test test_tighten_preserves_configured_regions_with_zero_violations ... ok [INFO] [stdout] test test_tighten_reduces_budget_to_current ... ok [INFO] [stdout] test test_tighten_specific_region ... ok [INFO] [stdout] test test_tighten_specific_rule ... ok [INFO] [stdout] test test_tighten_with_deeply_nested_unconfigured_directories ... ok [INFO] [stdout] test test_merge_driver_multiple_regions ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 24.77s [INFO] [stdout] [INFO] [stderr] Running tests/common.rs (/opt/rustwide/target/debug/deps/common-ce9c1e930366134f) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/config_tests.rs (/opt/rustwide/target/debug/deps/config_tests-4c211cb1da54bcc2) [INFO] [stdout] [INFO] [stdout] running 26 tests [INFO] [stdout] test test_config_load_invalid_empty_languages ... ok [INFO] [stdout] test test_config_defaults_when_sections_omitted ... ok [INFO] [stdout] test test_config_load_invalid_glob_include ... ok [INFO] [stdout] test test_config_load_invalid_missing_languages ... ok [INFO] [stdout] test test_config_load_invalid_language_name ... ok [INFO] [stdout] test test_config_load_invalid_missing_version ... ok [INFO] [stdout] test test_config_load_invalid_rule_region_glob ... ok [INFO] [stdout] test test_config_load_valid_minimal ... ok [INFO] [stdout] test test_config_load_invalid_version ... ok [INFO] [stdout] test test_config_load_invalid_glob_exclude ... ok [INFO] [stdout] test test_config_load_nonexistent_file ... ok [INFO] [stdout] test test_config_load_valid_output_color_always ... ok [INFO] [stdout] test test_config_load_valid_output_jsonl ... ok [INFO] [stdout] test test_counts_load_nonexistent_file ... ok [INFO] [stdout] test test_counts_load_invalid_negative ... ok [INFO] [stdout] test test_config_load_valid_full ... ok [INFO] [stdout] test test_counts_load_inheritance_most_specific_wins ... ok [INFO] [stdout] test test_counts_load_valid_empty ... ok [INFO] [stdout] test test_counts_region_path_normalization ... ok [INFO] [stdout] test test_counts_load_valid_multiple ... ok [INFO] [stdout] test test_counts_load_invalid_non_integer ... ok [INFO] [stdout] test test_counts_load_valid_simple ... ok [INFO] [stdout] test test_counts_load_inheritance_parent_to_nested_child ... ok [INFO] [stdout] test test_counts_load_inheritance_root_to_child ... ok [INFO] [stdout] test test_counts_unknown_rule_defaults_to_zero ... ok [INFO] [stdout] test test_counts_load_invalid_bad_rule_id ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running tests/e2e_integration_tests.rs (/opt/rustwide/target/debug/deps/e2e_integration_tests-30f1a37327d1f53e) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 1 violations (budget: 1) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✗ no-todo-comments [.]: 1 violations (budget: 0) exceeded by 1 [INFO] [stdout] [INFO] [stdout] Check FAILED: 1 rule exceeded budget [INFO] [stdout] test test_e2e_all_exit_codes ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-fixme-comments [src/legacy]: 1 violations (budget: 1) [INFO] [stdout] ✓ no-todo-comments [.]: 1 violations (budget: 2) [INFO] [stdout] ✓ no-todo-comments [src/legacy]: 1 violations (budget: 1) [INFO] [stdout] ✓ no-unwrap [src/legacy]: 1 violations (budget: 1) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-fixme-comments [src/legacy]: 1 violations (budget: 1) [INFO] [stdout] ✓ no-todo-comments [.]: 1 violations (budget: 1) [INFO] [stdout] ✓ no-todo-comments [src/legacy]: 1 violations (budget: 1) [INFO] [stdout] ✓ no-unwrap [src/legacy]: 1 violations (budget: 1) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] test test_e2e_complex_multi_rule_multi_region ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 1 violations (budget: 1) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✗ no-todo-comments [.]: 2 violations (budget: 1) exceeded by 1 [INFO] [stdout] [INFO] [stdout] Check FAILED: 1 rule exceeded budget [INFO] [stdout] test test_e2e_gitignore_respected ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✗ no-todo-comments [.]: 6 violations (budget: 0) exceeded by 6 [INFO] [stdout] [INFO] [stdout] Check FAILED: 1 rule exceeded budget [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 6 violations (budget: 100) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 5 violations (budget: 5) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✗ no-todo-comments [.]: 6 violations (budget: 5) exceeded by 1 [INFO] [stdout] [INFO] [stdout] Check FAILED: 1 rule exceeded budget [INFO] [stdout] test test_e2e_full_workflow_init_add_check_tighten ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 10 violations (budget: 10) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 5 violations (budget: 5) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✗ no-todo-comments [.]: 6 violations (budget: 5) exceeded by 1 [INFO] [stdout] [INFO] [stdout] Check FAILED: 1 rule exceeded budget [INFO] [stdout] test test_e2e_gradual_cleanup_workflow ... ok [INFO] [stdout] test test_e2e_init_force_overwrites ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✗ no-todo-comments [.]: 1 violations (budget: 0) exceeded by 1 [INFO] [stdout] [INFO] [stdout] Check FAILED: 1 rule exceeded budget [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 1 violations (budget: 1) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✗ no-todo-comments [.]: 2 violations (budget: 1) exceeded by 1 [INFO] [stdout] ✓ no-unwrap [.]: 1 violations (budget: 1) [INFO] [stdout] [INFO] [stdout] Check FAILED: 1 rule exceeded budget [INFO] [stdout] test test_e2e_mixed_regex_and_ast_rules ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [src]: 3 violations (budget: 10) [INFO] [stdout] ✓ no-todo-comments [src/legacy]: 2 violations (budget: 5) [INFO] [stdout] ✓ no-todo-comments [tests]: 1 violations (budget: 2) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [src]: 3 violations (budget: 10) [INFO] [stdout] ✗ no-todo-comments [src/legacy]: 2 violations (budget: 0) exceeded by 2 [INFO] [stdout] ✓ no-todo-comments [tests]: 1 violations (budget: 2) [INFO] [stdout] [INFO] [stdout] Check FAILED: 1 rule exceeded budget [INFO] [stdout] test test_e2e_multi_file_project_with_regions ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 2 violations (budget: 2) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 1 violations (budget: 2) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] test test_e2e_multiple_paths_check ... ok [INFO] [stdout] test test_e2e_empty_project ... ok [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 3 violations (budget: 3) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 2 violations (budget: 10) [INFO] [stdout] ✓ no-todo-comments [src/core]: 1 violations (budget: 1) [INFO] [stdout] [INFO] [stdout] Check PASSED [INFO] [stdout] Summary: [INFO] [stdout] [INFO] [stdout] ✓ no-todo-comments [.]: 2 violations (budget: 10) [INFO] [stdout] ✗ no-todo-comments [src/core]: 2 violations (budget: 1) exceeded by 1 [INFO] [stdout] [INFO] [stdout] Check FAILED: 1 rule exceeded budget [INFO] [stdout] test test_e2e_region_inheritance ... ok [INFO] [stdout] test test_e2e_jsonl_output_format ... ok [INFO] [stdout] test test_e2e_tighten_with_violations_fails ... ok [INFO] [stdout] No violations found [INFO] [stdout] test test_e2e_rule_disabled_in_config ... ok [INFO] [stdout] No violations found [INFO] [stdout] test test_e2e_no_violations_found ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 15.94s [INFO] [stdout] [INFO] [stderr] Running tests/engine_integration_tests.rs (/opt/rustwide/target/debug/deps/engine_integration_tests-be461ef4fa55bc51) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test test_file_without_matching_rules ... ok [INFO] [stdout] test test_files_with_no_violations ... ok [INFO] [stdout] test test_no_rules_loaded ... ok [INFO] [stdout] test test_empty_file_set ... ok [INFO] [stdout] test test_region_inheritance_chain ... ok [INFO] [stdout] test test_aggregation_groups_by_rule_and_region ... ok [INFO] [stdout] test test_region_specific_budgets ... ok [INFO] [stdout] test test_budget_enforcement_pass ... ok [INFO] [stdout] test test_budget_enforcement_fail ... ok [INFO] [stdout] test test_multiple_rules_multiple_files ... ok [INFO] [stdout] test test_single_rule_single_file_over_budget ... ok [INFO] [stdout] test test_single_rule_single_file_within_budget ... ok [INFO] [stdout] test test_parallel_execution_deterministic ... ok [INFO] [stdout] test test_parallel_execution_no_race_conditions ... ok [INFO] [stdout] test test_ast_caching_single_file ... ok [INFO] [stdout] test test_ast_and_regex_rules_together ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stderr] Running tests/file_walker_tests.rs (/opt/rustwide/target/debug/deps/file_walker_tests-980609bdc0658c26) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test test_invalid_glob_pattern ... ok [INFO] [stdout] test test_walk_empty_directory ... ok [INFO] [stdout] test test_walk_combined_patterns ... ok [INFO] [stdout] test test_walk_nested_directories ... ok [INFO] [stdout] test test_walk_basic_directory ... ok [INFO] [stdout] test test_walk_multi_language ... ok [INFO] [stdout] test test_multiple_include_patterns ... ok [INFO] [stdout] test test_walk_nonexistent_path ... ok [INFO] [stdout] test test_walk_respects_file_types_only ... ok [INFO] [stdout] test test_walk_include_pattern ... ok [INFO] [stdout] test test_symlink_handling ... ok [INFO] [stdout] test test_language_detection_edge_cases ... ok [INFO] [stdout] test test_walk_exclude_pattern ... ok [INFO] [stdout] test test_multiple_exclude_patterns ... ok [INFO] [stdout] test test_walk_with_gitignore ... ok [INFO] [stderr] Running tests/foundation_tests.rs (/opt/rustwide/target/debug/deps/foundation_tests-c6e88015b8ae10cd) [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 23 tests [INFO] [stdout] test test_all_types_are_cloneable_and_hashable ... ok [INFO] [stdout] test test_config_error_variants_display ... ok [INFO] [stdout] test test_error_hierarchy_io_to_ratchet ... ok [INFO] [stdout] test test_error_hierarchy_rule_to_ratchet ... ok [INFO] [stdout] test test_glob_pattern_creation_and_display ... ok [INFO] [stdout] test test_glob_pattern_in_collections ... ok [INFO] [stdout] test test_language_in_collections ... ok [INFO] [stdout] test test_language_lowercase_serialization ... ok [INFO] [stdout] test test_parse_error_contains_file_path ... ok [INFO] [stdout] test test_region_path_in_collections ... ok [INFO] [stdout] test test_region_path_normalization_comprehensive ... ok [INFO] [stdout] test test_region_path_roundtrip_serialization ... ok [INFO] [stdout] test test_region_path_serde_normalizes_on_deserialization ... ok [INFO] [stdout] test test_language_roundtrip_serialization ... ok [INFO] [stdout] test test_rule_error_variants_display ... ok [INFO] [stdout] test test_rule_id_in_collections ... ok [INFO] [stdout] test test_rule_id_roundtrip_serialization ... ok [INFO] [stdout] test test_rule_id_serde_deserialization_invalid ... ok [INFO] [stdout] test test_severity_lowercase_serialization ... ok [INFO] [stdout] test test_rule_id_validation_comprehensive ... ok [INFO] [stdout] test test_severity_roundtrip_serialization ... ok [INFO] [stdout] test test_types_work_together ... ok [INFO] [stdout] test test_error_hierarchy_config_to_ratchet ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/regex_rules_tests.rs (/opt/rustwide/target/debug/deps/regex_rules_tests-f290d2e6fba357dd) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test test_empty_file ... ok [INFO] [stdout] test test_case_insensitive_matching ... ok [INFO] [stdout] test test_rule_severity ... ok [INFO] [stdout] test test_no_violations_returns_empty ... ok [INFO] [stdout] test test_position_accuracy ... ok [INFO] [stdout] test test_multiple_violations_same_file ... ok [INFO] [stdout] test test_fixme_rule_finds_fixmes ... ok [INFO] [stdout] test test_end_line_and_column ... ok [INFO] [stdout] test test_multiple_rules_same_content ... ok [INFO] [stdout] test test_rule_languages ... ok [INFO] [stdout] test test_only_whitespace ... ok [INFO] [stdout] test test_violation_file_path ... ok [INFO] [stdout] test test_word_boundary_matching ... ok [INFO] [stdout] test test_todo_rule_finds_todos ... ok [INFO] [stdout] test test_multiline_content ... ok [INFO] [stderr] Running tests/scalability_tests.rs (/opt/rustwide/target/debug/deps/scalability_tests-95fbd5e2a3494436) [INFO] [stdout] test test_snippet_extraction_accuracy ... ok [INFO] [stdout] test test_position_accuracy_first_line ... ok [INFO] [stdout] test test_registry_execute_all_rules ... ok [INFO] [stdout] test test_registry_with_builtin_rules ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test test_scalability_1000_files ... ok [INFO] [stdout] test test_parser_cache_effectiveness ... ok [INFO] [stdout] test test_scalability_execution_with_ast_rules ... ok [INFO] [stdout] test test_memory_efficiency ... ok [INFO] [stdout] test test_mixed_file_sizes ... ok [INFO] [stdout] test test_large_files ... ok [INFO] [stdout] test test_scalability_execution_with_regex_rules ... ok [INFO] [stdout] test test_parallel_execution_benefit ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.74s [INFO] [stdout] [INFO] [stderr] Doc-tests ratchets [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/rules/registry.rs - rules::registry::RuleRegistry::filter_to_single_rule (line 588) ... ignored [INFO] [stdout] test src/config/counts.rs - config::counts::CountsManager::get_budget_by_region (line 340) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.26s; merged doctests compilation took 1.22s [INFO] running `Command { std: "docker" "inspect" "92ed5addd5ddec5a57a335a1bc7ec532a577a55eafb96c302b9fd7c21a72681f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "92ed5addd5ddec5a57a335a1bc7ec532a577a55eafb96c302b9fd7c21a72681f", kill_on_drop: false }` [INFO] [stdout] 92ed5addd5ddec5a57a335a1bc7ec532a577a55eafb96c302b9fd7c21a72681f