[INFO] fetching crate timebomb-cli 0.7.0...
[INFO] testing timebomb-cli-0.7.0 against 1.95.0 for beta-1.96-2
[INFO] extracting crate timebomb-cli 0.7.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate timebomb-cli 0.7.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate timebomb-cli 0.7.0
[INFO] tweaked toml for crates.io crate timebomb-cli 0.7.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate timebomb-cli 0.7.0 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate timebomb-cli 0.7.0 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5f3cf4c689065b425bdc48c83a5159248ba4d93725bef808611ebefdb4e78fef
[INFO] running `Command { std: "docker" "start" "-a" "5f3cf4c689065b425bdc48c83a5159248ba4d93725bef808611ebefdb4e78fef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5f3cf4c689065b425bdc48c83a5159248ba4d93725bef808611ebefdb4e78fef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f3cf4c689065b425bdc48c83a5159248ba4d93725bef808611ebefdb4e78fef", kill_on_drop: false }`
[INFO] [stdout] 5f3cf4c689065b425bdc48c83a5159248ba4d93725bef808611ebefdb4e78fef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0774197b17671474b8799513701f9b2db8a3a1870fbbb336a3731d52af029da0
[INFO] running `Command { std: "docker" "start" "-a" "0774197b17671474b8799513701f9b2db8a3a1870fbbb336a3731d52af029da0", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling toml_writer v1.0.7+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling toml_datetime v1.0.1+spec-1.1.0
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling clap_complete v4.6.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling toml_parser v1.0.10+spec-1.1.0
[INFO] [stderr]    Compiling toml v1.0.7+spec-1.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling timebomb-cli v0.7.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.62s
[INFO] running `Command { std: "docker" "inspect" "0774197b17671474b8799513701f9b2db8a3a1870fbbb336a3731d52af029da0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0774197b17671474b8799513701f9b2db8a3a1870fbbb336a3731d52af029da0", kill_on_drop: false }`
[INFO] [stdout] 0774197b17671474b8799513701f9b2db8a3a1870fbbb336a3731d52af029da0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cfdd98d1977f7b2552c18ba33591b8de00350afec55647a112eee6d4ad634462
[INFO] running `Command { std: "docker" "start" "-a" "cfdd98d1977f7b2552c18ba33591b8de00350afec55647a112eee6d4ad634462", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling timebomb-cli v0.7.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 21.74s
[INFO] running `Command { std: "docker" "inspect" "cfdd98d1977f7b2552c18ba33591b8de00350afec55647a112eee6d4ad634462", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cfdd98d1977f7b2552c18ba33591b8de00350afec55647a112eee6d4ad634462", kill_on_drop: false }`
[INFO] [stdout] cfdd98d1977f7b2552c18ba33591b8de00350afec55647a112eee6d4ad634462
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a97e563f6f790cbbe1efe1f8240fc28fee98972163d9d43f72f64d949b2c719b
[INFO] running `Command { std: "docker" "start" "-a" "a97e563f6f790cbbe1efe1f8240fc28fee98972163d9d43f72f64d949b2c719b", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/timebomb-2be1d6b2bc4d66ca)
[INFO] [stdout] 
[INFO] [stdout] running 372 tests
[INFO] [stdout] test add::tests::test_build_annotation_no_owner ... ok
[INFO] [stdout] test add::tests::test_build_annotation_sql_prefix ... ok
[INFO] [stdout] test add::tests::test_detect_comment_style_lua ... ok
[INFO] [stdout] test add::tests::test_detect_comment_style_no_extension ... ok
[INFO] [stdout] test add::tests::test_detect_comment_style_py ... ok
[INFO] [stdout] test add::tests::test_detect_comment_style_rs ... ok
[INFO] [stdout] test add::tests::test_detect_comment_style_go ... ok
[INFO] [stdout] test add::tests::test_build_annotation_tag_uppercased ... ok
[INFO] [stdout] test add::tests::test_detect_comment_style_toml ... ok
[INFO] [stdout] test add::tests::test_build_annotation_with_owner ... ok
[INFO] [stdout] test add::tests::test_detect_comment_style_sql ... ok
[INFO] [stdout] test add::tests::test_detect_comment_style_unknown ... ok
[INFO] [stdout] test add::tests::test_detect_comment_style_yaml ... ok
[INFO] [stdout] test add::tests::test_insert_line_after_last ... ok
[INFO] [stdout] test add::tests::test_insert_line_first ... ok
[INFO] [stdout] test add::tests::test_insert_line_middle ... ok
[INFO] [stdout] test add::tests::test_insert_line_trailing_newline ... ok
[INFO] [stdout] test add::tests::test_parse_target_accepts_col ... ok
[INFO] [stdout] test add::tests::test_parse_target_empty_file ... ok
[INFO] [stdout] test add::tests::test_parse_target_accepts_col_and_message ... ok
[INFO] [stdout] test add::tests::test_insert_line_single_line_file ... ok
[INFO] [stdout] test add::tests::test_parse_target_invalid_line_zero ... ok
[INFO] [stdout] test add::tests::test_parse_target_invalid_no_colon ... ok
[INFO] [stdout] test add::tests::test_parse_target_invalid_non_numeric_line ... ok
[INFO] [stdout] test add::tests::test_parse_target_valid ... ok
[INFO] [stdout] test add::tests::test_find_matching_lines_found ... ok
[INFO] [stdout] test add::tests::test_parse_target_valid_nested ... ok
[INFO] [stdout] test add::tests::test_find_matching_lines_multiple ... ok
[INFO] [stdout] test add::tests::test_resolve_date_from_date_str ... ok
[INFO] [stdout] test add::tests::test_resolve_date_from_in_days ... ok
[INFO] [stdout] test add::tests::test_find_matching_lines_none ... ok
[INFO] [stdout] test add::tests::test_resolve_date_in_days_zero ... ok
[INFO] [stdout] test add::tests::test_resolve_date_invalid_format ... ok
[INFO] [stdout] test add::tests::test_resolve_date_neither_yes_defaults_90 ... ok
[INFO] [stdout] test add::tests::test_resolve_date_prefers_date_str_over_in_days ... ok
[INFO] [stdout] test add::tests::test_run_add_invalid_target_no_colon ... ok
[INFO] [stdout] test add::tests::test_run_add_line_out_of_range ... ok
[INFO] [stdout] test add::tests::test_run_add_append_after_last_line ... ok
[INFO] [stdout] test add::tests::test_run_add_default_days_yes ... ok
[INFO] [stdout] test add::tests::test_run_add_inserts_annotation_with_owner ... ok
[INFO] [stdout] test add::tests::test_run_add_missing_date_and_in_days_yes_defaults ... ok
[INFO] [stdout] test add::tests::test_run_add_inserts_annotation_with_yes ... ok
[INFO] [stdout] test add::tests::test_run_add_nonexistent_file_returns_io_error ... ok
[INFO] [stdout] test annotation::tests::test_date_str ... ok
[INFO] [stdout] test annotation::tests::test_compute_status_zero_fuse_window ... ok
[INFO] [stdout] test annotation::tests::test_is_detonated ... ok
[INFO] [stdout] test add::tests::test_run_add_with_search_multiple_matches ... ok
[INFO] [stdout] test annotation::tests::test_is_inert ... ok
[INFO] [stdout] test annotation::tests::test_is_ticking ... ok
[INFO] [stdout] test add::tests::test_run_add_with_search_no_match ... ok
[INFO] [stdout] test annotation::tests::test_location ... ok
[INFO] [stdout] test annotation::tests::test_serde_roundtrip ... ok
[INFO] [stdout] test annotation::tests::test_status_detonated ... ok
[INFO] [stdout] test add::tests::test_run_add_with_search_single_match ... ok
[INFO] [stdout] test annotation::tests::test_status_inert ... ok
[INFO] [stdout] test annotation::tests::test_status_ticking_boundary ... ok
[INFO] [stdout] test armory::tests::test_print_armory_to_writer_empty ... ok
[INFO] [stdout] test armory::tests::test_select_armory_fuses_honors_limit ... ok
[INFO] [stdout] test armory::tests::test_print_armory_to_writer_oldest_heading ... ok
[INFO] [stdout] test armory::tests::test_print_armory_to_writer_includes_annotation ... ok
[INFO] [stdout] test baseline::tests::test_check_ratchet_baseline_detonated_exceeded ... ok
[INFO] [stdout] test baseline::tests::test_check_ratchet_baseline_improved_ok ... ok
[INFO] [stdout] test baseline::tests::test_check_ratchet_max_detonated_at_limit_ok ... ok
[INFO] [stdout] test annotation::tests::test_days_from_today_positive ... ok
[INFO] [stdout] test armory::tests::test_select_armory_fuses_ranks_detonated_then_ticking ... ok
[INFO] [stdout] test annotation::tests::test_status_expire_today_is_ticking ... ok
[INFO] [stdout] test baseline::tests::test_check_ratchet_multiple_violations ... ok
[INFO] [stdout] test baseline::tests::test_check_ratchet_max_detonated_violated ... ok
[INFO] [stdout] test baseline::tests::test_check_ratchet_no_baseline_no_max ... ok
[INFO] [stdout] test annotation::tests::test_status_display ... ok
[INFO] [stdout] test annotation::tests::test_days_from_today_negative ... ok
[INFO] [stdout] test baseline::tests::test_check_ratchet_ticking_violated ... ok
[INFO] [stdout] test annotation::tests::test_status_ticking_within_window ... ok
[INFO] [stdout] test baseline::tests::test_load_baseline_nonexistent_returns_none ... ok
[INFO] [stdout] test blame::tests::test_enrich_does_not_overwrite_explicit_owner_even_with_blame_data ... ok
[INFO] [stdout] test baseline::tests::test_load_baseline_invalid_json_returns_err ... ok
[INFO] [stdout] test blame::tests::test_parse_blame_porcelain_basic ... ok
[INFO] [stdout] test blame::tests::test_parse_blame_porcelain_empty ... ok
[INFO] [stdout] test blame::tests::test_enrich_with_blame_ignores_not_committed_yet ... ok
[INFO] [stdout] test blame::tests::test_enrich_with_blame_sets_blamed_owner ... ok
[INFO] [stdout] test baseline::tests::test_save_and_load_roundtrip ... ok
[INFO] [stdout] test blame::tests::test_parse_blame_porcelain_reused_hash ... ok
[INFO] [stdout] test blame::tests::test_sanitize_author_strips_control_chars ... ok
[INFO] [stdout] test blame::tests::test_enrich_with_blame_skips_owned ... ok
[INFO] [stdout] test blame::tests::test_enrich_with_blame_multiple_files_same_line_number ... ok
[INFO] [stdout] test cli::tests::test_armory_defaults ... ok
[INFO] [stdout] test cli::tests::test_armory_json_flag ... ok
[INFO] [stdout] test cli::tests::test_delay_with_search ... ok
[INFO] [stdout] test cli::tests::test_delay_defaults ... ok
[INFO] [stdout] test cli::tests::test_armory_oldest_conflicts_with_limit ... ok
[INFO] [stdout] test cli::tests::test_armory_count_conflicts_with_json ... ok
[INFO] [stdout] test cli::tests::test_disarm_all_detonated ... ok
[INFO] [stdout] test cli::tests::test_armory_oldest_flag ... ok
[INFO] [stdout] test cli::tests::test_disarm_by_target ... ok
[INFO] [stdout] test cli::tests::test_disarm_with_search ... ok
[INFO] [stdout] test cli::tests::test_format_arg_to_output_format_json ... ok
[INFO] [stdout] test blame::tests::test_parse_blame_porcelain_not_committed_yet ... ok
[INFO] [stdout] test cli::tests::test_armory_count_flag ... ok
[INFO] [stdout] test cli::tests::test_disarm_all_detonated_default_path ... ok
[INFO] [stdout] test cli::tests::test_disarm_yes_flag ... ok
[INFO] [stdout] test cli::tests::test_intel_by_tag ... ok
[INFO] [stdout] test cli::tests::test_delay_with_reason ... ok
[INFO] [stdout] test cli::tests::test_format_arg_to_output_format_github ... ok
[INFO] [stdout] test cli::tests::test_intel_defaults ... ok
[INFO] [stdout] test cli::tests::test_delay_with_date ... ok
[INFO] [stdout] test blame::tests::test_enrich_with_blame_no_blame_data ... ok
[INFO] [stdout] test cli::tests::test_format_arg_to_output_format_terminal ... ok
[INFO] [stdout] test cli::tests::test_armory_all_flags ... ok
[INFO] [stdout] test cli::tests::test_intel_all_flags ... ok
[INFO] [stdout] test cli::tests::test_manifest_all_flags_combined ... ok
[INFO] [stdout] test cli::tests::test_manifest_count_default_false ... ok
[INFO] [stdout] test cli::tests::test_manifest_custom_path ... ok
[INFO] [stdout] test cli::tests::test_manifest_detonated_and_ticking_conflict ... ok
[INFO] [stdout] test cli::tests::test_manifest_file_multiple ... ok
[INFO] [stdout] test cli::tests::test_manifest_between_flag ... ok
[INFO] [stdout] test cli::tests::test_manifest_format_json ... ok
[INFO] [stdout] test cli::tests::test_manifest_message_flag ... ok
[INFO] [stdout] test cli::tests::test_manifest_file_default_empty ... ok
[INFO] [stdout] test cli::tests::test_manifest_detonated_flag ... ok
[INFO] [stdout] test cli::tests::test_manifest_file_single ... ok
[INFO] [stdout] test cli::tests::test_manifest_fuse_flag ... ok
[INFO] [stdout] test cli::tests::test_manifest_count_flag ... ok
[INFO] [stdout] test cli::tests::test_manifest_defaults ... ok
[INFO] [stdout] test cli::tests::test_intel_by_owner ... ok
[INFO] [stdout] test cli::tests::test_manifest_next_default_none ... ok
[INFO] [stdout] test cli::tests::test_manifest_between_default_none ... ok
[INFO] [stdout] test cli::tests::test_manifest_owner_flag ... ok
[INFO] [stdout] test cli::tests::test_manifest_next_flag ... ok
[INFO] [stdout] test cli::tests::test_manifest_sort_date ... ok
[INFO] [stdout] test cli::tests::test_manifest_path_only_conflicts_with_count ... ok
[INFO] [stdout] test cli::tests::test_manifest_sort_default_none ... ok
[INFO] [stdout] test cli::tests::test_manifest_path_only_flag ... ok
[INFO] [stdout] test cli::tests::test_manifest_sort_file ... ok
[INFO] [stdout] test cli::tests::test_manifest_sort_status ... ok
[INFO] [stdout] test cli::tests::test_plant_message_positional ... ok
[INFO] [stdout] test cli::tests::test_manifest_path_only_conflicts_with_output ... ok
[INFO] [stdout] test cli::tests::test_sweep_config_flag ... ok
[INFO] [stdout] test cli::tests::test_manifest_tag_flag ... ok
[INFO] [stdout] test cli::tests::test_no_subcommand_is_error ... ok
[INFO] [stdout] test cli::tests::test_manifest_ticking ... ok
[INFO] [stdout] test cli::tests::test_plant_all_flags ... ok
[INFO] [stdout] test cli::tests::test_manifest_sort_owner ... ok
[INFO] [stdout] test cli::tests::test_plant_with_search ... ok
[INFO] [stdout] test cli::tests::test_sweep_custom_path ... ok
[INFO] [stdout] test cli::tests::test_sweep_all_flags_combined ... ok
[INFO] [stdout] test cli::tests::test_plant_defaults ... ok
[INFO] [stdout] test cli::tests::test_sweep_format_github ... ok
[INFO] [stdout] test cli::tests::test_sweep_format_json ... ok
[INFO] [stdout] test cli::tests::test_plant_date_and_in_days_conflict ... ok
[INFO] [stdout] test cli::tests::test_plant_in_days ... ok
[INFO] [stdout] test cli::tests::test_sweep_fail_on_ticking ... ok
[INFO] [stdout] test cli::tests::test_sweep_since_flag ... ok
[INFO] [stdout] test cli::tests::test_sweep_format_terminal ... ok
[INFO] [stdout] test cli::tests::test_sweep_fuse_flag ... ok
[INFO] [stdout] test cli::tests::test_sweep_max_ticking_flag ... ok
[INFO] [stdout] test cli::tests::test_sweep_message_flag ... ok
[INFO] [stdout] test cli::tests::test_sweep_max_flags_default_none ... ok
[INFO] [stdout] test cli::tests::test_sweep_defaults ... ok
[INFO] [stdout] test cli::tests::test_sweep_output_default_none ... ok
[INFO] [stdout] test cli::tests::test_sweep_output_flag ... ok
[INFO] [stdout] test cli::tests::test_sweep_owner_flag ... ok
[INFO] [stdout] test cli::tests::test_sweep_summary_and_quiet_conflict ... ok
[INFO] [stdout] test cli::tests::test_sweep_max_detonated_flag ... ok
[INFO] [stdout] test cli::tests::test_sweep_since_head ... ok
[INFO] [stdout] test cli::tests::test_sweep_quiet_default_false ... ok
[INFO] [stdout] test cli::tests::test_sweep_quiet_flag ... ok
[INFO] [stdout] test config::tests::test_cli_fuse_overrides_file ... ok
[INFO] [stdout] test config::tests::test_cli_override_fail_on_ticking ... ok
[INFO] [stdout] test config::tests::test_extension_allowed_rs ... ok
[INFO] [stdout] test config::tests::test_extension_allowed_unknown ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test config::tests::test_extension_empty_allows_all ... ok
[INFO] [stdout] test cli::tests::test_unknown_subcommand_is_error ... ok
[INFO] [stdout] test config::tests::test_fuse_regex_pattern_contains_triggers ... ok
[INFO] [stdout] test config::tests::test_cli_invalid_duration ... ok
[INFO] [stdout] test config::tests::test_merge_no_file_no_overrides ... ok
[INFO] [stdout] test config::tests::test_read_config_file_empty ... ok
[INFO] [stdout] test config::tests::test_is_excluded_git ... ok
[INFO] [stdout] test cli::tests::test_sweep_tag_flag ... ok
[INFO] [stdout] test config::tests::test_read_config_file_invalid_toml ... ok
[INFO] [stdout] test config::tests::test_read_config_file_valid ... ok
[INFO] [stdout] test config::tests::test_is_not_excluded_src ... ok
[INFO] [stdout] test cli::tests::test_sweep_summary_flag ... ok
[INFO] [stdout] test config::tests::test_cli_override_fuse ... ok
[INFO] [stdout] test config::tests::test_merge_file_overrides_triggers ... ok
[INFO] [stdout] test error::tests::test_error_display_invalid_argument ... ok
[INFO] [stdout] test error::tests::test_error_display_invalid_date ... ok
[INFO] [stdout] test error::tests::test_error_display_io_with_path ... ok
[INFO] [stdout] test error::tests::test_parse_duration_days_invalid ... ok
[INFO] [stdout] test error::tests::test_parse_duration_days_cap ... ok
[INFO] [stdout] test error::tests::test_parse_duration_days_valid ... ok
[INFO] [stdout] test error::tests::test_error_display_io_without_path ... ok
[INFO] [stdout] test config::tests::test_read_config_file_not_found ... ok
[INFO] [stdout] test fix::tests::test_fix_delete_removes_line ... ok
[INFO] [stdout] test fix::tests::test_fix_extend_date_before_today_rejected ... ok
[INFO] [stdout] test fix::tests::test_fix_multi_file_bottom_up_order ... ok
[INFO] [stdout] test config::tests::test_is_excluded_node_modules ... ok
[INFO] [stdout] test diff::tests::test_parse_unified_diff_basic ... ok
[INFO] [stdout] test diff::tests::test_parse_unified_diff_multiple_files ... ok
[INFO] [stdout] test diff::tests::test_parse_unified_diff_dev_null_skipped ... ok
[INFO] [stdout] test diff::tests::test_parse_unified_diff_single_line_no_count ... ok
[INFO] [stdout] test diff::tests::test_parse_unified_diff_multiple_hunks_same_file ... ok
[INFO] [stdout] test diff::tests::test_parse_unified_diff_pure_deletion ... ok
[INFO] [stdout] test git::tests::test_validate_git_ref_invalid ... ok
[INFO] [stdout] test git::tests::test_validate_git_ref_valid ... ok
[INFO] [stdout] test hook::tests::test_hook_block_constant_is_valid ... ok
[INFO] [stdout] test hook::tests::test_hook_has_timebomb_block ... ok
[INFO] [stdout] test hook::tests::test_find_git_dir_found ... ok
[INFO] [stdout] test hook::tests::test_hook_install_creates_hooks_dir_if_missing ... ok
[INFO] [stdout] test hook::tests::test_find_git_dir_found_from_subdirectory ... ok
[INFO] [stdout] test hook::tests::test_hook_uninstall_on_missing_hook ... ok
[INFO] [stdout] test hook::tests::test_hook_install_creates_new_file ... ok
[INFO] [stdout] test hook::tests::test_remove_timebomb_block_basic ... ok
[INFO] [stdout] test hook::tests::test_remove_timebomb_block_no_block_is_noop ... ok
[INFO] [stdout] test hook::tests::test_hook_uninstall_removes_block ... ok
[INFO] [stdout] test output::tests::test_auto_detect_no_github_env ... ok
[INFO] [stdout] test hook::tests::test_remove_timebomb_block_preserves_surrounding_lines ... ok
[INFO] [stdout] test output::tests::test_color_enabled_respects_no_color ... ok
[INFO] [stdout] test output::tests::test_days_label_detonated_shows_overdue ... ok
[INFO] [stdout] test output::tests::test_days_label_inert_is_empty ... ok
[INFO] [stdout] test hook::tests::test_hook_uninstall_preserves_other_content ... ok
[INFO] [stdout] test hook::tests::test_find_git_dir_not_found ... ok
[INFO] [stdout] test fix::tests::test_fix_extend_replaces_date ... ok
[INFO] [stdout] test hook::tests::test_hook_install_appends_to_existing_hook ... ok
[INFO] [stdout] test hook::tests::test_hook_uninstall_no_timebomb_in_existing_hook ... ok
[INFO] [stdout] test hook::tests::test_new_hook_content_is_executable_script ... ok
[INFO] [stdout] test hook::tests::test_hook_install_is_idempotent ... ok
[INFO] [stdout] test output::tests::test_days_label_ticking_shows_days_remaining ... ok
[INFO] [stdout] test output::tests::test_json_fuse_blamed_owner_absent_when_none ... ok
[INFO] [stdout] test output::tests::test_json_fuse_days_positive_for_future ... ok
[INFO] [stdout] test output::tests::test_json_fuse_from_fuse ... ok
[INFO] [stdout] test output::tests::test_json_fuse_includes_blamed_owner ... ok
[INFO] [stdout] test output::tests::test_json_fuse_ticking_status ... ok
[INFO] [stdout] test output::tests::test_json_fuse_with_owner ... ok
[INFO] [stdout] test output::tests::test_output_format_from_str ... ok
[INFO] [stdout] test output::tests::test_output_format_parse_table ... ok
[INFO] [stdout] test output::tests::test_owner_display_blamed_owner ... ok
[INFO] [stdout] test output::tests::test_owner_display_explicit_owner ... ok
[INFO] [stdout] test output::tests::test_owner_display_explicit_takes_precedence_over_blamed ... ok
[INFO] [stdout] test fix::tests::test_run_fix_no_expired_returns_all_zeros ... ok
[INFO] [stdout] test output::tests::test_owner_display_no_owner ... ok
[INFO] [stdout] test output::tests::test_print_fuse_line_terminal_with_owner ... ok
[INFO] [stdout] test output::tests::test_print_github_detonated_format ... ok
[INFO] [stdout] test output::tests::test_print_fuse_line_terminal_with_blamed_owner ... ok
[INFO] [stdout] test output::tests::test_print_github_inert_is_silent ... ok
[INFO] [stdout] test output::tests::test_print_github_ticking_format ... ok
[INFO] [stdout] test output::tests::test_print_json_does_not_panic ... ok
[INFO] [stdout] test output::tests::test_print_list_json_does_not_panic ... ok
[INFO] [stdout] test output::tests::test_print_list_terminal_does_not_panic ... ok
[INFO] [stdout] test output::tests::test_print_table_list_does_not_panic ... ok
[INFO] [stdout] test output::tests::test_print_table_list_empty ... ok
[INFO] [stdout] test output::tests::test_print_tag_stats_skips_inert_only_tags ... ok
[INFO] [stdout] test output::tests::test_print_terminal_does_not_panic ... ok
[INFO] [stdout] test output::tests::test_print_list_github_does_not_panic ... ok
[INFO] [stdout] test output::tests::test_print_json_list_does_not_panic ... ok
[INFO] [stdout] test output::tests::test_print_scan_result_dispatch ... ok
[INFO] [stdout] test remove::tests::test_remove_line_out_of_range ... ok
[INFO] [stdout] test remove::tests::test_remove_line_basic ... ok
[INFO] [stdout] test remove::tests::test_remove_line_last_line ... ok
[INFO] [stdout] test remove::tests::test_remove_line_first_line ... ok
[INFO] [stdout] test output::tests::test_print_tag_stats_does_not_panic ... ok
[INFO] [stdout] test remove::tests::test_run_remove_by_search_multiple_matches ... ok
[INFO] [stdout] test remove::tests::test_run_remove_by_search_no_match ... ok
[INFO] [stdout] test git::tests::test_is_git_repo_false ... ok
[INFO] [stdout] test report::tests::test_diff_new_annotation ... ok
[INFO] [stdout] test remove::tests::test_run_remove_by_search_single_match ... ok
[INFO] [stdout] test report::tests::test_diff_resolved ... ok
[INFO] [stdout] test report::tests::test_diff_newly_detonated ... ok
[INFO] [stdout] test report::tests::test_build_report_counts ... ok
[INFO] [stdout] test remove::tests::test_run_remove_non_annotation_line ... ok
[INFO] [stdout] test report::tests::test_build_report_empty ... ok
[INFO] [stdout] test remove::tests::test_run_remove_all_expired_multiline_file_line_numbers_correct ... ok
[INFO] [stdout] test remove::tests::test_run_remove_removes_annotation ... ok
[INFO] [stdout] test report::tests::test_diff_no_change ... ok
[INFO] [stdout] test report::tests::test_diff_newly_detonated_brand_new ... ok
[INFO] [stdout] test report::tests::test_diff_snoozed ... ok
[INFO] [stdout] test report::tests::test_diff_ticking_to_detonated_is_newly_detonated ... ok
[INFO] [stdout] test report::tests::test_print_diff_terminal_does_not_panic ... ok
[INFO] [stdout] test report::tests::test_print_diff_json_does_not_panic ... ok
[INFO] [stdout] test report::tests::test_read_report_invalid_json_returns_err ... ok
[INFO] [stdout] test report::tests::test_read_report_nonexistent_returns_none ... ok
[INFO] [stdout] test scanner::tests::test_is_binary_text_file ... ok
[INFO] [stdout] test report::tests::test_run_report_no_previous_no_diff ... ok
[INFO] [stdout] test report::tests::test_run_report_diff_no_previous_file ... ok
[INFO] [stdout] test scanner::tests::test_is_binary_binary_file ... ok
[INFO] [stdout] test report::tests::test_run_report_fail_on_new_exits_one ... ok
[INFO] [stdout] test report::tests::test_run_report_json_format_no_panic ... ok
[INFO] [stdout] test report::tests::test_write_report_creates_parent_dirs ... ok
[INFO] [stdout] test report::tests::test_run_report_fail_on_new_exits_zero_when_no_new_detonated ... ok
[INFO] [stdout] test scanner::tests::test_scan_case_insensitive_tag ... ok
[INFO] [stdout] test scanner::tests::test_scan_finds_detonated_fuse ... ok
[INFO] [stdout] test scanner::tests::test_scan_empty_file ... ok
[INFO] [stdout] test remove::tests::test_run_remove_all_expired_no_expired ... ok
[INFO] [stdout] test scanner::tests::test_scan_ignore_directive_case_insensitive ... ok
[INFO] [stdout] test scanner::tests::test_scan_ignore_directive_sql_style ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory_skips_excluded ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory_sorted ... ok
[INFO] [stdout] test remove::tests::test_run_remove_all_expired_removes_from_multiple_files ... ok
[INFO] [stdout] test scanner::tests::test_scan_result_categorisation ... ok
[INFO] [stdout] test scanner::tests::test_scan_finds_future_fixme ... ok
[INFO] [stdout] test report::tests::test_write_and_read_report_roundtrip ... ok
[INFO] [stdout] test scanner::tests::test_scan_fuse_exactly_at_zero_days_remaining ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory ... ok
[INFO] [stdout] test git::tests::test_is_git_repo_true ... ok
[INFO] [stdout] test scanner::tests::test_scan_ignore_directive_skips_line ... ok
[INFO] [stdout] test scanner::tests::test_scan_directory_respects_extensions ... ok
[INFO] [stdout] test scanner::tests::test_scan_custom_triggers_only ... ok
[INFO] [stdout] test snooze::tests::test_append_reason_basic ... ok
[INFO] [stdout] test snooze::tests::test_append_reason_trims_trailing_newline ... ok
[INFO] [stdout] test snooze::tests::test_resolve_new_date_from_in_days ... ok
[INFO] [stdout] test snooze::tests::test_resolve_new_date_from_str ... ok
[INFO] [stdout] test snooze::tests::test_resolve_new_date_invalid_date_str ... ok
[INFO] [stdout] test snooze::tests::test_resolve_new_date_prefers_date_str ... ok
[INFO] [stdout] test snooze::tests::test_resolve_new_date_neither_yes_defaults_90 ... ok
[INFO] [stdout] test scanner::tests::test_scan_hash_comment ... ok
[INFO] [stdout] test snooze::tests::test_run_snooze_line_out_of_range ... ok
[INFO] [stdout] test snooze::tests::test_run_snooze_nonexistent_file_returns_io_error ... ok
[INFO] [stdout] test scanner::tests::test_scan_ignore_only_affects_its_own_line ... ok
[INFO] [stdout] test snooze::tests::test_append_reason_trims_trailing_whitespace ... ok
[INFO] [stdout] test scanner::tests::test_scan_ticking ... ok
[INFO] [stdout] test snooze::tests::test_run_snooze_with_search_multiple_matches ... ok
[INFO] [stdout] test snooze::tests::test_run_snooze_line_1_of_1 ... ok
[INFO] [stdout] test snooze::tests::test_run_snooze_no_annotation_on_line ... ok
[INFO] [stdout] test snooze::tests::test_run_snooze_uses_in_days ... ok
[INFO] [stdout] test snooze::tests::test_snooze_line_basic ... ok
[INFO] [stdout] test snooze::tests::test_snooze_line_no_bracket ... ok
[INFO] [stdout] test scanner::tests::test_scan_invalid_date_skipped_with_warning ... ok
[INFO] [stdout] test snooze::tests::test_snooze_line_only_replaces_first_bracket ... ok
[INFO] [stdout] test snooze::tests::test_run_snooze_with_search_no_match ... ok
[INFO] [stdout] test scanner::tests::test_scan_with_owner ... ok
[INFO] [stdout] test snooze::tests::test_snooze_line_preserves_rest_of_line ... ok
[INFO] [stdout] test snooze::tests::test_run_snooze_with_search_single_match ... ok
[INFO] [stdout] test stats::tests::test_compute_stats_empty ... ok
[INFO] [stdout] test stats::tests::test_by_month_grouping ... ok
[INFO] [stdout] test stats::tests::test_by_month_sorted_chronologically ... ok
[INFO] [stdout] test stats::tests::test_by_month_empty ... ok
[INFO] [stdout] test stats::tests::test_compute_stats_unowned ... ok
[INFO] [stdout] test snooze::tests::test_run_snooze_rewrites_file ... ok
[INFO] [stdout] test snooze::tests::test_run_snooze_with_reason ... ok
[INFO] [stdout] test stats::tests::test_compute_stats_owner_grouping ... ok
[INFO] [stdout] test stats::tests::test_compute_stats_sort_order ... ok
[INFO] [stdout] test stats::tests::test_compute_stats_tag_grouping ... ok
[INFO] [stdout] test scanner::tests::test_scan_multiple_fuses ... ok
[INFO] [stdout] test stats::tests::test_owner_row_name_truncation ... ok
[INFO] [stdout] test stats::tests::test_compute_stats_single_detonated ... ok
[INFO] [stdout] test stats::tests::test_print_stats_github_does_not_panic ... ok
[INFO] [stdout] test stats::tests::test_print_stats_json_does_not_panic ... ok
[INFO] [stdout] test trend::tests::test_annotation_key_format ... ok
[INFO] [stdout] test trend::tests::test_compute_trend_both_empty ... ok
[INFO] [stdout] test stats::tests::test_print_stats_terminal_does_not_panic ... ok
[INFO] [stdout] test trend::tests::test_compute_trend_delta_math ... ok
[INFO] [stdout] test trend::tests::test_compute_trend_moved_to_inert_is_resolved ... ok
[INFO] [stdout] test trend::tests::test_compute_trend_multiple_snoozed ... ok
[INFO] [stdout] test trend::tests::test_compute_trend_newly_detonated ... ok
[INFO] [stdout] test stats::tests::test_print_stats_month_terminal_does_not_panic ... ok
[INFO] [stdout] test trend::tests::test_compute_trend_no_change ... ok
[INFO] [stdout] test scanner::tests::test_scan_sql_comment ... ok
[INFO] [stdout] test trend::tests::test_compute_trend_resolved ... ok
[INFO] [stdout] test trend::tests::test_compute_trend_timestamps ... ok
[INFO] [stdout] test scanner::tests::test_scan_without_owner ... ok
[INFO] [stdout] test trend::tests::test_compute_trend_unchanged_detonated_is_neither_new_nor_resolved ... ok
[INFO] [stdout] test trend::tests::test_print_trend_json_does_not_panic ... ok
[INFO] [stdout] test trend::tests::test_print_trend_github_does_not_panic ... ok
[INFO] [stdout] test trend::tests::test_compute_trend_snoozed ... ok
[INFO] [stdout] test trend::tests::test_print_trend_terminal_does_not_panic ... ok
[INFO] [stdout] test scanner::tests::test_scan_temp_tag ... ok
[INFO] [stdout] test trend::tests::test_run_trend_error_on_missing_file ... ok
[INFO] [stdout] test trend::tests::test_run_trend_reads_json_files ... ok
[INFO] [stdout] test scanner::tests::test_scan_str_returns_fuses_in_line_order ... ok
[INFO] [stdout] test scanner::tests::test_scan_ignores_plain_todo ... ok
[INFO] [stdout] test git::tests::test_git_changed_files_invalid_ref ... ok
[INFO] [stdout] test git::tests::test_git_changed_files_head_returns_hashset ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 372 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.27s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/timebomb-a0e58c5241b02eb2)
[INFO] [stdout] 
[INFO] [stdout] running 67 tests
[INFO] [stdout] test tests::test_canonicalize_path_invalid ... ok
[INFO] [stdout] test tests::test_file_matches_dotslash_stripped ... ok
[INFO] [stdout] test tests::test_file_matches_glob_dotslash_stripped ... ok
[INFO] [stdout] test tests::test_file_matches_glob_doublestar ... ok
[INFO] [stdout] test tests::test_file_matches_plain_suffix ... ok
[INFO] [stdout] test tests::test_canonicalize_path_valid ... ok
[INFO] [stdout] test tests::test_file_matches_glob_extension ... ok
[INFO] [stdout] Most volatile fuses
[INFO] [stdout] 1. DETONATED 1978d overdue  old.rs:1
[INFO] [stdout]    TODO[2020-01-01]: detonated
[INFO] [stdout] test tests::test_manifest_between_invalid_date_is_error ... ok
[INFO] [stdout] test tests::test_armory_exits_zero_with_detonated ... ok
[INFO] [stdout] test tests::test_manifest_detonated_filter ... ok
[INFO] [stdout] Most volatile fuses
[INFO] [stdout] 1. DETONATED 1978d overdue  old.rs:1
[INFO] [stdout]    FIXME[2020-01-01][alice]: detonated
[INFO] [stdout] test tests::test_manifest_between_excludes_out_of_range ... ok
[INFO] [stdout] test tests::test_manifest_exits_zero_even_with_detonated ... ok
[INFO] [stdout] test tests::test_armory_accepts_filters ... ok
[INFO] [stdout] test tests::test_manifest_file_glob_star ... ok
[INFO] [stdout] test tests::test_manifest_file_dotslash_normalized ... ok
[INFO] [stdout] test tests::test_manifest_count_exits_zero ... ok
[INFO] [stdout] test tests::test_manifest_json_format ... ok
[INFO] [stdout] test tests::test_manifest_count_empty_dir_is_zero ... ok
[INFO] [stdout] test tests::test_armory_count_exits_zero ... ok
[INFO] [stdout] test tests::test_manifest_file_multiple_or_logic ... ok
[INFO] [stdout] test tests::test_manifest_file_suffix_match ... ok
[INFO] [stdout] test tests::test_armory_json_exits_zero ... ok
[INFO] [stdout] test tests::test_message_matches_case_insensitive_substring ... ok
[INFO] [stdout] test tests::test_merge_file_config_cli_overrides_fuse ... ok
[INFO] [stdout] test tests::test_manifest_path_only_exits_zero ... ok
[INFO] [stdout] test tests::test_resolve_config_explicit_config_wins ... ok
[INFO] [stdout] test tests::test_resolve_config_no_file_uses_defaults ... ok
[INFO] [stdout] test tests::test_resolve_config_reads_scan_dir_config ... ok
[INFO] [stdout] test tests::test_resolve_fuse_arg_cli_wins_over_env ... ok
[INFO] [stdout] test tests::test_resolve_fuse_arg_none_when_no_env ... ok
[INFO] [stdout] test tests::test_resolve_fuse_arg_env_plain_number ... ok
[INFO] [stdout] test tests::test_manifest_sort_status_exits_zero ... ok
[INFO] [stdout] test tests::test_merge_file_config_basic ... ok
[INFO] [stdout] test tests::test_resolve_fuse_arg_env_with_d_suffix ... ok
[INFO] [stdout] test tests::test_manifest_between_includes_matching_dates ... ok
[INFO] [stdout] test tests::test_manifest_count_with_detonated_filter ... ok
[INFO] [stdout] test tests::test_manifest_next_zero_shows_nothing ... ok
[INFO] [stdout] test tests::test_manifest_sort_file_exits_zero ... ok
[INFO] [stdout] test tests::test_manifest_next_truncates_to_n ... ok
[INFO] [stdout] test tests::test_sweep_nonexistent_path_is_error ... ok
[INFO] [stdout] test tests::test_sweep_message_filter_match_exits_one ... ok
[INFO] [stdout] test tests::test_manifest_ticking_filter ... ok
[INFO] [stdout] test tests::test_sweep_detonated_exits_one ... ok
[INFO] [stdout] test tests::test_manifest_tag_filter ... ok
[INFO] [stdout] test tests::test_sweep_max_ticking_exceeded_exits_one ... ok
[INFO] [stdout] test tests::test_sweep_message_filter_no_match_exits_zero ... ok
[INFO] [stdout] test tests::test_sweep_empty_dir_exits_zero ... ok
[INFO] [stdout] test tests::test_manifest_file_glob_extension ... ok
[INFO] [stdout] test tests::test_sweep_output_written_even_on_clean_scan ... ok
[INFO] [stdout] test tests::test_sweep_owner_filter_no_match_exits_zero ... ok
[INFO] [stdout] test tests::test_sweep_max_detonated_zero_exits_one ... ok
[INFO] [stdout] test tests::test_manifest_file_no_match_is_empty ... ok
[INFO] [stdout] test tests::test_sweep_summary_still_exits_one_on_detonated ... ok
[INFO] [stdout] test tests::test_sweep_ticking_only_no_fail_on_ticking_exits_zero ... ok
[INFO] [stdout] test tests::test_sweep_with_explicit_config ... ok
[INFO] [stdout] test tests::test_sweep_json_format ... ok
[INFO] [stdout] test tests::test_sweep_max_detonated_high_allows_pass ... ok
[INFO] [stdout] test tests::test_sweep_owner_filter_case_insensitive ... ok
[INFO] [stdout] test tests::test_sweep_summary_exits_zero_when_clean ... ok
[INFO] [stdout] test tests::test_sweep_fail_on_ticking_exits_one ... ok
[INFO] [stdout] test tests::test_sweep_tag_filter_matches_only_that_tag ... ok
[INFO] [stdout] test tests::test_sweep_no_detonated_exits_zero ... ok
[INFO] [stdout] test tests::test_sweep_tag_filter_case_insensitive ... ok
[INFO] [stdout] test tests::test_sweep_tag_filter_no_match_exits_zero ... ok
[INFO] [stdout] test tests::test_sweep_output_writes_json_file ... ok
[INFO] [stdout] test tests::test_sweep_owner_filter_excludes_unmatched ... ok
[INFO] [stdout] test tests::test_sweep_quiet_suppresses_output_but_still_exits_one ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 67 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/baseline_tests.rs (/opt/rustwide/target/debug/deps/baseline_tests-cc8af6f4247b684a)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test test_check_ratchet_four_violations_at_once ... ok
[INFO] [stdout] test test_baseline_file_is_json ... ok
[INFO] [stdout] test test_check_ratchet_baseline_equal_not_violated ... ok
[INFO] [stdout] test test_check_ratchet_all_zero_no_baseline ... ok
[INFO] [stdout] test test_config_both_max_fields_parsed ... ok
[INFO] [stdout] test test_cli_bunker_save_with_path_and_fuse ... ok
[INFO] [stdout] test test_cli_bunker_show_defaults ... ok
[INFO] [stdout] test test_config_max_ticking_parsed ... ok
[INFO] [stdout] test test_cli_bunker_show_custom_file ... ok
[INFO] [stdout] test test_config_max_detonated_parsed ... ok
[INFO] [stdout] test test_config_max_fields_default_none ... ok
[INFO] [stdout] test test_cli_bunker_save_custom_file ... ok
[INFO] [stdout] test test_cli_bunker_save_defaults ... ok
[INFO] [stdout] test test_load_baseline_corrupt_file_returns_error ... ok
[INFO] [stdout] test test_load_baseline_from_saved ... ok
[INFO] [stdout] test test_baseline_show_no_file_exits_zero ... ok
[INFO] [stdout] test test_baseline_save_empty_dir_writes_zeros ... ok
[INFO] [stdout] test test_baseline_save_creates_file ... ok
[INFO] [stdout] test test_baseline_show_with_file_exits_zero ... ok
[INFO] [stdout] test test_sweep_exits_zero_within_baseline ... ok
[INFO] [stdout] test test_ratchet_max_detonated_from_config_causes_violation ... ok
[INFO] [stdout] test test_ratchet_max_detonated_from_config_no_violation_at_limit ... ok
[INFO] [stdout] test test_sweep_exits_one_when_ratchet_violated ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/config_tests.rs (/opt/rustwide/target/debug/deps/config_tests-6372940c19c11a7e)
[INFO] [stdout] 
[INFO] [stdout] running 56 tests
[INFO] [stdout] test test_build_exclude_globset_invalid_pattern_returns_error ... ok
[INFO] [stdout] test test_cli_overrides_new_without_fuse ... ok
[INFO] [stdout] test test_cli_overrides_new_with_values ... ok
[INFO] [stdout] test test_cli_overrides_default ... ok
[INFO] [stdout] test test_build_exclude_globset_succeeds_with_defaults ... ok
[INFO] [stdout] test test_default_config_excludes_contain_git ... ok
[INFO] [stdout] test test_cli_override_duration_without_d_suffix_returns_error ... ok
[INFO] [stdout] test test_cli_override_fail_on_ticking_sets_flag ... ok
[INFO] [stdout] test test_cli_override_fail_on_ticking_false_by_default ... ok
[INFO] [stdout] test test_default_config_excludes_contain_vendor ... ok
[INFO] [stdout] test test_default_config_fail_on_ticking_is_false ... ok
[INFO] [stdout] test test_default_config_fuse_days_is_zero ... ok
[INFO] [stdout] test test_default_config_excludes_contain_node_modules ... ok
[INFO] [stdout] test test_default_config_extensions_contain_common_types ... ok
[INFO] [stdout] test test_cli_override_fuse_overrides_default ... ok
[INFO] [stdout] test test_default_config_tags ... ok
[INFO] [stdout] test test_cli_override_fuse_overrides_file ... ok
[INFO] [stdout] test test_extension_allowed_case_insensitive ... ok
[INFO] [stdout] test test_extension_allowed_go ... ok
[INFO] [stdout] test test_extension_allowed_empty_list_allows_all ... ok
[INFO] [stdout] test test_cli_override_large_days_is_valid ... ok
[INFO] [stdout] test test_extension_allowed_py ... ok
[INFO] [stdout] test test_cli_override_invalid_duration_returns_error ... ok
[INFO] [stdout] test test_extension_allowed_sql ... ok
[INFO] [stdout] test test_extension_not_allowed_no_extension ... ok
[INFO] [stdout] test test_fuse_regex_pattern_contains_all_default_triggers ... ok
[INFO] [stdout] test test_extension_not_allowed_xyz ... ok
[INFO] [stdout] test test_default_config_extensions_non_empty ... ok
[INFO] [stdout] test test_fuse_regex_pattern_custom_triggers ... ok
[INFO] [stdout] test test_extension_allowed_rs ... ok
[INFO] [stdout] test test_extension_allowed_yaml ... ok
[INFO] [stdout] test test_cli_override_zero_days_is_valid ... ok
[INFO] [stdout] test test_fuse_regex_pattern_does_not_match_plain_todo ... ok
[INFO] [stdout] test test_fuse_regex_pattern_matches_basic_annotation ... ok
[INFO] [stdout] test test_load_config_no_file_no_overrides_default_extensions ... ok
[INFO] [stdout] test test_load_config_no_file_uses_defaults ... ok
[INFO] [stdout] test test_is_excluded_vendor ... ok
[INFO] [stdout] test test_is_not_excluded_root_file ... ok
[INFO] [stdout] test test_is_not_excluded_src_file ... ok
[INFO] [stdout] test test_is_excluded_min_js ... ok
[INFO] [stdout] test test_fuse_regex_pattern_matches_with_owner ... ok
[INFO] [stdout] test test_load_config_empty_file_uses_defaults ... ok
[INFO] [stdout] test test_is_excluded_node_modules ... ok
[INFO] [stdout] test test_is_excluded_git_dir ... ok
[INFO] [stdout] test test_load_config_full_file ... ok
[INFO] [stdout] test test_load_config_invalid_toml_returns_error ... ok
[INFO] [stdout] test test_fuse_regex_pattern_is_valid_regex ... ok
[INFO] [stdout] test test_load_config_partial_file_fills_rest_from_defaults ... ok
[INFO] [stdout] test test_load_config_reads_extensions ... ok
[INFO] [stdout] test test_load_config_reads_fuse_days ... ok
[INFO] [stdout] test test_load_config_reads_triggers_from_file ... ok
[INFO] [stdout] test test_load_config_reads_exclude_patterns ... ok
[INFO] [stdout] test test_load_config_unknown_field_returns_error ... ok
[INFO] [stdout] test test_load_config_wrong_type_returns_error ... ok
[INFO] [stdout] test test_config_from_file_integrates_with_scanner ... ok
[INFO] [stdout] test test_config_exclude_pattern_integrates_with_scanner ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 56 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/diff_tests.rs (/opt/rustwide/target/debug/deps/diff_tests-280fcac6b5ffddb9)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_cli_sweep_base_requires_changed ... ok
[INFO] [stdout] test test_cli_sweep_changed_with_base ... ok
[INFO] [stderr]      Running tests/fix_tests.rs (/opt/rustwide/target/debug/deps/fix_tests-890e358cfaa285db)
[INFO] [stdout] test test_cli_sweep_changed_flag ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_cli_defuse_custom_path ... ok
[INFO] [stdout] test test_cli_defuse_defaults ... ok
[INFO] [stdout] test test_defuse_no_detonated_exits_zero ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/manifest_tests.rs (/opt/rustwide/target/debug/deps/manifest_tests-cb61346c7436bec7)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test test_timebomb_fuse_days_env_var_sets_window ... ok
[INFO] [stdout] test test_intel_by_month_groups_correctly ... ok
[INFO] [stdout] test test_sort_by_status ... ok
[INFO] [stdout] test test_owner_missing_keeps_only_unowned ... ok
[INFO] [stdout] test test_intel_owner_filter_limits_stats ... ok
[INFO] [stdout] test test_no_inert_removes_inert_fuses ... ok
[INFO] [stdout] test test_no_inert_does_not_affect_detonated_count ... ok
[INFO] [stdout] test test_intel_by_month_counts_consistent ... ok
[INFO] [stdout] test test_sort_by_file ... ok
[INFO] [stdout] test test_file_filter_suffix_match ... ok
[INFO] [stdout] test test_between_filters_by_date_range ... ok
[INFO] [stdout] test test_count_matches_fuse_vec_length ... ok
[INFO] [stdout] test test_intel_tag_filter_limits_stats ... ok
[INFO] [stdout] test test_between_empty_range ... ok
[INFO] [stdout] test test_csv_output_has_header_and_correct_columns ... ok
[INFO] [stdout] test test_manifest_output_writes_valid_json ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/scanner_tests.rs (/opt/rustwide/target/debug/deps/scanner_tests-1cc7d87ddc1466e4)
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test test_all_five_default_tags_matched ... ok
[INFO] [stdout] test test_case_insensitive_tags ... ok
[INFO] [stdout] test test_message_with_colons_and_special_chars ... ok
[INFO] [stdout] test test_invalid_date_produces_no_fuse ... ok
[INFO] [stdout] test test_sample_py_detonated_count ... ok
[INFO] [stdout] test test_sample_py_future_fuses_are_inert ... ok
[INFO] [stdout] test test_owner_with_spaces_trimmed ... ok
[INFO] [stdout] test test_sample_py_hash_prefix_tags_detected ... ok
[INFO] [stdout] test test_invalid_day_produces_no_fuse ... ok
[INFO] [stdout] test test_file_with_only_plain_todos_produces_no_fuses ... ok
[INFO] [stdout] test test_custom_trigger_only_matches_custom ... ok
[INFO] [stdout] test test_empty_file_produces_no_fuses ... ok
[INFO] [stdout] test test_sample_rs_future_count ... ok
[INFO] [stdout] test test_sample_rs_all_tags_present ... ok
[INFO] [stdout] test test_sample_py_plain_todos_ignored ... ok
[INFO] [stdout] test test_sample_sql_detonated_count ... ok
[INFO] [stdout] test test_sample_rs_note_tag_not_matched ... ok
[INFO] [stdout] test test_sample_rs_bob_owner_detected ... ok
[INFO] [stdout] test test_sample_py_owner_carol_detected ... ok
[INFO] [stdout] test test_fuse_on_same_line_as_code ... ok
[INFO] [stdout] test test_sample_rs_space_before_bracket_not_matched ... ok
[INFO] [stdout] test test_sample_rs_plain_todos_not_matched ... ok
[INFO] [stdout] test test_sample_sql_owner_frank_detected ... ok
[INFO] [stdout] test test_sample_rs_ticking_with_wide_window ... ok
[INFO] [stdout] test test_sample_rs_detonated_count ... ok
[INFO] [stdout] test test_sample_sql_double_dash_prefix_detected ... ok
[INFO] [stdout] test test_sample_sql_owner_eve_detected ... ok
[INFO] [stdout] test test_scan_skips_binary_files ... ok
[INFO] [stdout] test test_multiple_fuses_on_separate_lines ... ok
[INFO] [stdout] test test_sample_rs_alice_owner_detected ... ok
[INFO] [stdout] test test_scan_fixtures_dir_has_ticking_with_wide_window ... ok
[INFO] [stdout] test test_file_path_stored_as_relative ... ok
[INFO] [stdout] test test_scan_fixtures_dir_has_detonated ... ok
[INFO] [stdout] test test_scan_fixtures_dir_total_detonated_count ... ok
[INFO] [stdout] test test_scan_result_inert_helper ... ok
[INFO] [stdout] test test_scan_fixtures_dir_finds_all_files ... ok
[INFO] [stdout] test test_scan_fixtures_dir_ticking_with_wide_window ... ok
[INFO] [stdout] test test_scan_fixtures_dir_sorted_by_date ... ok
[INFO] [stdout] test test_scan_result_total_equals_sum_of_parts ... ok
[INFO] [stdout] test test_scan_result_detonated_helper ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests timebomb
[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] running `Command { std: "docker" "inspect" "a97e563f6f790cbbe1efe1f8240fc28fee98972163d9d43f72f64d949b2c719b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a97e563f6f790cbbe1efe1f8240fc28fee98972163d9d43f72f64d949b2c719b", kill_on_drop: false }`
[INFO] [stdout] a97e563f6f790cbbe1efe1f8240fc28fee98972163d9d43f72f64d949b2c719b
