[INFO] cloning repository https://github.com/alexandephilia/clov-ai [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alexandephilia/clov-ai" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexandephilia%2Fclov-ai", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexandephilia%2Fclov-ai'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 18f34eb5d113116fa60522fd3b4dd919c0d86b21 [INFO] testing alexandephilia/clov-ai/18f34eb5d113116fa60522fd3b4dd919c0d86b21 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falexandephilia%2Fclov-ai" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/alexandephilia/clov-ai [INFO] finished tweaking git repo https://github.com/alexandephilia/clov-ai [INFO] tweaked toml for git repo https://github.com/alexandephilia/clov-ai written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/alexandephilia/clov-ai on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/alexandephilia/clov-ai 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded fallible-streaming-iterator v0.1.9 [INFO] [stderr] Downloaded globset v0.4.18 [INFO] [stderr] Downloaded ignore v0.4.25 [INFO] [stderr] Downloaded fallible-iterator v0.3.0 [INFO] [stderr] Downloaded hashlink v0.9.1 [INFO] [stderr] Downloaded rusqlite v0.31.0 [INFO] [stderr] Downloaded zerocopy-derive v0.8.40 [INFO] [stderr] Downloaded zerocopy v0.8.40 [INFO] [stderr] Downloaded bstr v1.12.1 [INFO] [stderr] Downloaded libsqlite3-sys v0.28.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4e707a418804246b4637c1fc2bb1033031d0d93774264cd43395d95a85c6876d [INFO] running `Command { std: "docker" "start" "-a" "4e707a418804246b4637c1fc2bb1033031d0d93774264cd43395d95a85c6876d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4e707a418804246b4637c1fc2bb1033031d0d93774264cd43395d95a85c6876d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e707a418804246b4637c1fc2bb1033031d0d93774264cd43395d95a85c6876d", kill_on_drop: false }` [INFO] [stdout] 4e707a418804246b4637c1fc2bb1033031d0d93774264cd43395d95a85c6876d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 61359eba96cc51fde4c830c8a4bb885a25950fecb69cc5afead909ea0d96b299 [INFO] running `Command { std: "docker" "start" "-a" "61359eba96cc51fde4c830c8a4bb885a25950fecb69cc5afead909ea0d96b299", kill_on_drop: false }` [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.40 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling colored v2.2.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling libsqlite3-sys v0.28.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling hashlink v0.9.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 toml v0.8.23 [INFO] [stderr] Compiling rusqlite v0.31.0 [INFO] [stderr] Compiling clov v0.35.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 19s [INFO] running `Command { std: "docker" "inspect" "61359eba96cc51fde4c830c8a4bb885a25950fecb69cc5afead909ea0d96b299", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61359eba96cc51fde4c830c8a4bb885a25950fecb69cc5afead909ea0d96b299", kill_on_drop: false }` [INFO] [stdout] 61359eba96cc51fde4c830c8a4bb885a25950fecb69cc5afead909ea0d96b299 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6442aecab4da1f9309def894f5a281ff94fd086974a4d3ae23bf5227ce715347 [INFO] running `Command { std: "docker" "start" "-a" "6442aecab4da1f9309def894f5a281ff94fd086974a4d3ae23bf5227ce715347", kill_on_drop: false }` [INFO] [stderr] Compiling clov v0.35.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 13.40s [INFO] running `Command { std: "docker" "inspect" "6442aecab4da1f9309def894f5a281ff94fd086974a4d3ae23bf5227ce715347", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6442aecab4da1f9309def894f5a281ff94fd086974a4d3ae23bf5227ce715347", kill_on_drop: false }` [INFO] [stdout] 6442aecab4da1f9309def894f5a281ff94fd086974a4d3ae23bf5227ce715347 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] be36bf3b1a99e64e8ae0d5aedd0a799b6ffa07934975661bf09a679b788cf508 [INFO] running `Command { std: "docker" "start" "-a" "be36bf3b1a99e64e8ae0d5aedd0a799b6ffa07934975661bf09a679b788cf508", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/clov-ce83212a133a47e9) [INFO] [stdout] [INFO] [stdout] running 666 tests [INFO] [stdout] test aws_cmd::tests::test_filter_cfn_describe_stacks_no_outputs ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_cfn_list_stacks ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_cfn_describe_stacks_with_outputs ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_ec2_instances ... ok [INFO] [stdout] test aws_cmd::tests::test_ec2_token_savings ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_ec2_invalid_json ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_ec2_no_name_tag ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_ecs_describe_services ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_ecs_list_services ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_rds_instances ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_sts_identity ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_s3_ls_overflow ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_sts_identity_invalid_json ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_sts_identity_missing_fields ... ok [INFO] [stdout] test aws_cmd::tests::test_filter_s3_ls_basic ... ok [INFO] [stdout] test aws_cmd::tests::test_snapshot_sts_identity ... ok [INFO] [stdout] test aws_cmd::tests::test_sts_token_savings ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_build_errors ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_build_success ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_clippy_clean ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_install_already_installed ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_clippy_warnings ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_install_locking_and_blocking ... ok [INFO] [stdout] test aws_cmd::tests::test_rds_overflow ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_install_path_warning ... ok [INFO] [stdout] test aws_cmd::tests::test_snapshot_ec2_instances ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_install_multiple_errors ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_install_replace ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_install_success ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_install_error ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_install_up_to_date ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_install_from_path ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_install_empty_output ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_test_failures ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_test_multi_suite_with_failures ... ok [INFO] [stdout] test cargo_cmd::tests::test_format_crate_info ... ok [INFO] [stdout] test cc_savings::tests::test_compute_dual_metrics_no_ccusage_data ... ok [INFO] [stdout] test cc_savings::tests::test_compute_dual_metrics_with_data ... ok [INFO] [stdout] test cc_savings::tests::test_compute_dual_metrics_zero_tokens ... ok [INFO] [stdout] test cc_savings::tests::test_compute_totals ... ok [INFO] [stdout] test cc_savings::tests::test_compute_weighted_input_cpt ... ok [INFO] [stdout] test cc_savings::tests::test_compute_weighted_metrics_no_cache ... ok [INFO] [stdout] test cc_savings::tests::test_compute_weighted_metrics_zero_tokens ... ok [INFO] [stdout] test cc_savings::tests::test_convert_saturday_to_monday ... ok [INFO] [stdout] test cc_savings::tests::test_merge_monthly_both_present ... ok [INFO] [stdout] test cc_savings::tests::test_merge_monthly_only_ccusage ... ok [INFO] [stdout] test cc_savings::tests::test_merge_monthly_only_clov ... ok [INFO] [stdout] test cc_savings::tests::test_merge_monthly_sorted ... ok [INFO] [stdout] test cc_savings::tests::test_period_economics_new ... ok [INFO] [stdout] test cc_savings::tests::test_set_ccusage_stores_per_type_tokens ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_nextest_summary_regex_fallback ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_nextest_empty ... ok [INFO] [stdout] test ccusage::tests::test_parse_daily_valid ... ok [INFO] [stdout] test ccusage::tests::test_parse_default_cache_fields ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_nextest_single_failure_detail ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_nextest_with_skipped ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_nextest_multiple_binaries ... ok [INFO] [stdout] test ccusage::tests::test_parse_malformed_json ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_nextest_cancellation_notice ... ok [INFO] [stdout] test ccusage::tests::test_parse_missing_required_fields ... ok [INFO] [stdout] test ccusage::tests::test_parse_weekly_valid ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_nextest_all_pass ... ok [INFO] [stdout] test config::tests::mcp_config_overrides_selected_preset ... ok [INFO] [stdout] test container::tests::test_compact_ports_empty ... ok [INFO] [stdout] test ccusage::tests::test_parse_monthly_valid ... ok [INFO] [stdout] test config::tests::preset_maps_to_expected_filter_context ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_nextest_compilation_stripped ... ok [INFO] [stdout] test container::tests::test_compact_ports_many ... ok [INFO] [stdout] test container::tests::test_compact_ports_single ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_nextest_with_failures ... ok [INFO] [stdout] test container::tests::test_format_compose_build_basic ... ok [INFO] [stdout] test container::tests::test_format_compose_build_empty ... ok [INFO] [stdout] test container::tests::test_format_compose_logs_empty ... ok [INFO] [stdout] test container::tests::test_format_compose_ps_empty ... ok [INFO] [stdout] test container::tests::test_format_compose_ps_exited_service ... ok [INFO] [stdout] test container::tests::test_format_compose_ps_basic ... ok [INFO] [stdout] test ccusage::tests::test_is_available ... ok [INFO] [stdout] test container::tests::test_format_compose_ps_long_image_path ... ok [INFO] [stdout] test container::tests::test_format_compose_ps_no_ports ... ok [INFO] [stdout] test container::tests::test_format_compose_ps_whitespace_only ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_test_regex_fallback ... ok [INFO] [stdout] test curl_cmd::tests::test_filter_curl_json ... ok [INFO] [stdout] test curl_cmd::tests::test_filter_curl_json_array ... ok [INFO] [stdout] test curl_cmd::tests::test_filter_curl_non_json ... ok [INFO] [stdout] test diff_cmd::tests::test_compute_diff_added_lines ... ok [INFO] [stdout] test curl_cmd::tests::test_filter_curl_long_output ... ok [INFO] [stdout] test diff_cmd::tests::test_compute_diff_completely_different_line ... ok [INFO] [stdout] test diff_cmd::tests::test_compute_diff_empty_inputs ... ok [INFO] [stdout] test diff_cmd::tests::test_compute_diff_identical ... ok [INFO] [stdout] test diff_cmd::tests::test_compute_diff_modified_line ... ok [INFO] [stdout] test diff_cmd::tests::test_compute_diff_removed_lines ... ok [INFO] [stdout] test diff_cmd::tests::test_condense_unified_diff_empty ... ok [INFO] [stdout] test diff_cmd::tests::test_condense_unified_diff_multiple_files ... ok [INFO] [stdout] test diff_cmd::tests::test_condense_unified_diff_single_file ... ok [INFO] [stdout] test diff_cmd::tests::test_similarity_completely_different ... ok [INFO] [stdout] test diff_cmd::tests::test_similarity_empty_strings ... ok [INFO] [stdout] test diff_cmd::tests::test_similarity_identical ... ok [INFO] [stdout] test diff_cmd::tests::test_similarity_partial_overlap ... ok [INFO] [stdout] test diff_cmd::tests::test_similarity_threshold_for_modified ... ok [INFO] [stdout] test diff_cmd::tests::test_truncate_long_string ... ok [INFO] [stdout] test diff_cmd::tests::test_truncate_exact_length ... ok [INFO] [stdout] test discover::provider::tests::test_encode_project_path ... ok [INFO] [stdout] test discover::provider::tests::test_encode_project_path_trailing_slash ... ok [INFO] [stdout] test diff_cmd::tests::test_truncate_short_string ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_test_single_suite_compact ... ok [INFO] [stdout] test discover::provider::tests::test_match_project_filter ... ok [INFO] [stdout] test discover::registry::tests::test_all_rules_have_valid_clov_cmd ... ok [INFO] [stdout] test discover::provider::tests::test_extract_assistant_bash ... ok [INFO] [stdout] test discover::provider::tests::test_extract_is_error_flag ... ok [INFO] [stdout] test discover::provider::tests::test_extract_malformed_line ... ok [INFO] [stdout] test discover::provider::tests::test_extract_non_bash_ignored ... ok [INFO] [stdout] test discover::provider::tests::test_extract_multiple_tools ... ok [INFO] [stdout] test discover::provider::tests::test_extract_non_message_ignored ... ok [INFO] [stdout] test discover::provider::tests::test_extract_output_content ... ok [INFO] [stdout] test discover::provider::tests::test_extract_sequence_ordering ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_test_multi_suite_all_pass ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_test_all_suites_zero_tests ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_test_all_pass ... ok [INFO] [stdout] test discover::registry::tests::test_classify_cd_ignored ... ok [INFO] [stdout] test discover::registry::tests::test_classify_clov_already ... ok [INFO] [stdout] test cargo_cmd::tests::test_filter_cargo_test_with_ignored_and_filtered ... ok [INFO] [stdout] test discover::registry::tests::test_classify_echo_ignored ... ok [INFO] [stdout] test container::tests::test_format_compose_logs_basic ... ok [INFO] [stdout] test discover::registry::tests::test_all_patterns_are_valid_regex ... ok [INFO] [stdout] test discover::registry::tests::test_classify_docker_run ... ok [INFO] [stdout] test discover::registry::tests::test_classify_cargo_fmt_passthrough ... ok [INFO] [stdout] test discover::registry::tests::test_classify_cargo_clippy_savings ... ok [INFO] [stdout] test discover::registry::tests::test_classify_env_prefix_stripped ... ok [INFO] [stdout] test discover::registry::tests::test_classify_docker_exec ... ok [INFO] [stdout] test discover::registry::tests::test_classify_diff ... ok [INFO] [stdout] test discover::registry::tests::test_classify_find_not_blocked_by_fi ... ok [INFO] [stdout] test discover::registry::tests::test_classify_cargo_check ... ok [INFO] [stdout] test discover::registry::tests::test_classify_docker_build ... ok [INFO] [stdout] test discover::registry::tests::test_classify_cargo_install ... ok [INFO] [stdout] test discover::registry::tests::test_classify_cat_file ... ok [INFO] [stdout] test discover::registry::tests::test_classify_aws_ec2 ... ok [INFO] [stdout] test discover::registry::tests::test_classify_gh_release ... ok [INFO] [stdout] test discover::registry::tests::test_classify_aws ... ok [INFO] [stdout] test discover::registry::tests::test_classify_cargo_test_filter ... ok [INFO] [stdout] test discover::registry::tests::test_classify_cargo_check_all_targets ... ok [INFO] [stdout] test discover::registry::tests::test_classify_git_status ... ok [INFO] [stdout] test discover::registry::tests::test_classify_git_diff_cached ... ok [INFO] [stdout] test discover::registry::tests::test_classify_gt_log ... ok [INFO] [stdout] test discover::registry::tests::test_classify_kubectl_apply ... ok [INFO] [stdout] test discover::registry::tests::test_classify_go_build ... ok [INFO] [stdout] test discover::registry::tests::test_classify_go_vet ... ok [INFO] [stdout] test discover::registry::tests::test_classify_go_test ... ok [INFO] [stdout] test discover::registry::tests::test_classify_kubectl_describe ... ok [INFO] [stdout] test discover::registry::tests::test_classify_mypy ... ok [INFO] [stdout] test discover::registry::tests::test_classify_golangci_lint ... ok [INFO] [stdout] test discover::registry::tests::test_classify_ruff_check ... ok [INFO] [stdout] test discover::registry::tests::test_classify_npx_tsc ... ok [INFO] [stdout] test discover::registry::tests::test_classify_terraform_unsupported ... ok [INFO] [stdout] test discover::registry::tests::test_classify_prisma ... ok [INFO] [stdout] test discover::registry::tests::test_classify_vitest ... ok [INFO] [stdout] test discover::registry::tests::test_classify_tree ... ok [INFO] [stdout] test discover::registry::tests::test_classify_python_m_mypy ... ok [INFO] [stdout] test discover::registry::tests::test_classify_pip_list ... ok [INFO] [stdout] test discover::registry::tests::test_classify_psql_url ... ok [INFO] [stdout] test discover::registry::tests::test_done_still_ignored_exact ... ok [INFO] [stdout] test discover::registry::tests::test_fi_still_ignored_exact ... ok [INFO] [stdout] test discover::registry::tests::test_patterns_rules_aligned_after_aws_psql ... ok [INFO] [stdout] test discover::registry::tests::test_patterns_rules_length_match ... ok [INFO] [stdout] test discover::registry::tests::test_classify_psql ... ok [INFO] [stdout] test discover::registry::tests::test_classify_sudo_stripped ... ok [INFO] [stdout] test discover::registry::tests::test_classify_uv_pip_list ... ok [INFO] [stdout] test discover::registry::tests::test_classify_pytest ... ok [INFO] [stdout] test discover::registry::tests::test_classify_python_m_pytest ... ok [INFO] [stdout] test discover::registry::tests::test_registry_covers_all_cargo_subcommands ... ok [INFO] [stdout] test discover::registry::tests::test_classify_ruff_format ... ok [INFO] [stdout] test discover::registry::tests::test_registry_covers_all_git_subcommands ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_already_clov ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_aws ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_background_does_not_affect_double_amp ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_background_unsupported_right ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_aws_ec2 ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_cargo_test ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_cargo_install ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_compound_all_unsupported_returns_none ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_background_single_amp ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_cat_file ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_compound_mixed_supported_unsupported ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_compound_pipe_git_grep ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_compound_pipe_raw_filter ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_compound_or ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_compound_four_segments ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_empty_returns_none ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_compound_semicolon ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_docker_run ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_diff ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_compound_and ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_compound_three_segments ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_find_with_flags ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_go_build ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_env_var_prefix ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_go_vet ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_gt_log ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_gt_restack ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_git_log ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_git_status ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_golangci_lint ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_go_test ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_gh_release ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_gt_sync ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_gt_submit ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_heredoc_returns_none ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_ignored_cd ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_mixed_compound_partial ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_kubectl_describe ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_next_build ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_pip_outdated ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_npx_tsc ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_pipe_first_only ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_npx_playwright ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_pnpm_list ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_head_no_flag_still_rewrites ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_pip_list ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_pnpm_vitest ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_prisma ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_head_numeric_flag ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_pnpm_tsc ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_rg_pattern ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_pytest ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_prettier ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_psql ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_ruff_check ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_unsupported_returns_none ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_ruff_format ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_uv_pip_list ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_tree ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_sudo_docker ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_python_m_pytest ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_head_other_flag_skipped ... ok [INFO] [stdout] test discover::registry::tests::test_split_pipe_first_only ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_head_lines_long_flag ... ok [INFO] [stdout] test discover::registry::tests::test_split_quoted_and ... ok [INFO] [stdout] test discover::registry::tests::test_split_single ... ok [INFO] [stdout] test display_helpers::tests::test_day_stats_trait ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_vitest ... ok [INFO] [stdout] test discover::registry::tests::test_split_chain_and ... ok [INFO] [stdout] test discover::registry::tests::test_rewrite_with_env_prefix ... ok [INFO] [stdout] test display_helpers::tests::test_month_stats_trait ... ok [INFO] [stdout] test discover::registry::tests::test_split_heredoc_no_split ... ok [INFO] [stdout] test discover::registry::tests::test_split_chain_semicolon ... ok [INFO] [stdout] test display_helpers::tests::test_print_period_table_with_data ... ok [INFO] [stdout] test display_helpers::tests::test_week_stats_trait ... ok [INFO] [stdout] test filter::tests::test_filter_level_parsing ... ok [INFO] [stdout] test display_helpers::tests::test_print_period_table_empty ... ok [INFO] [stdout] test filter::tests::test_language_detection ... ok [INFO] [stdout] test find_cmd::tests::glob_match_complex ... ok [INFO] [stdout] test find_cmd::tests::glob_match_exact ... ok [INFO] [stdout] test filter::tests::test_minimal_filter_removes_comments ... ok [INFO] [stdout] test find_cmd::tests::glob_match_question_mark ... ok [INFO] [stdout] test find_cmd::tests::dot_becomes_star ... ok [INFO] [stdout] test find_cmd::tests::glob_match_star_all ... ok [INFO] [stdout] test find_cmd::tests::glob_match_star_rs ... ok [INFO] [stdout] test find_cmd::tests::parse_clov_syntax_pattern_and_path ... ok [INFO] [stdout] test find_cmd::tests::parse_clov_syntax_pattern_only ... ok [INFO] [stdout] test find_cmd::tests::parse_clov_syntax_with_flags ... ok [INFO] [stdout] test find_cmd::tests::parse_empty_args ... ok [INFO] [stdout] test find_cmd::tests::parse_native_find_iname ... ok [INFO] [stdout] test find_cmd::tests::parse_native_find_maxdepth ... ok [INFO] [stdout] test find_cmd::tests::parse_native_find_name ... ok [INFO] [stdout] test find_cmd::tests::parse_native_find_name_and_type ... ok [INFO] [stdout] test find_cmd::tests::parse_native_find_name_is_case_sensitive ... ok [INFO] [stdout] test find_cmd::tests::parse_native_find_no_path ... ok [INFO] [stdout] test find_cmd::tests::parse_native_find_rejects_exec ... ok [INFO] [stdout] test find_cmd::tests::parse_native_find_rejects_not ... ok [INFO] [stdout] test find_cmd::tests::parse_native_find_type_d ... ok [INFO] [stdout] test format_cmd::tests::test_compact_path ... ok [INFO] [stdout] test format_cmd::tests::test_detect_formatter_from_explicit_arg ... ok [INFO] [stdout] test format_cmd::tests::test_filter_black_needs_formatting ... ok [INFO] [stdout] test format_cmd::tests::test_filter_black_all_formatted ... ok [INFO] [stdout] test gh_cmd::tests::test_filter_markdown_body_empty ... ok [INFO] [stdout] test format_cmd::tests::test_detect_formatter_from_package_json ... ok [INFO] [stdout] test format_cmd::tests::test_detect_formatter_from_pyproject_black ... ok [INFO] [stdout] test format_cmd::tests::test_detect_formatter_from_pyproject_ruff ... ok [INFO] [stdout] test gh_cmd::tests::test_filter_markdown_body_badge_lines ... ok [INFO] [stdout] test gh_cmd::tests::test_filter_markdown_body_code_block_preserved ... ok [INFO] [stdout] test gh_cmd::tests::test_filter_markdown_body_image_only_lines ... ok [INFO] [stdout] test gh_cmd::tests::test_filter_markdown_body_html_comment_multiline ... ok [INFO] [stdout] test gh_cmd::tests::test_filter_markdown_body_html_comment_single_line ... ok [INFO] [stdout] test gh_cmd::tests::test_filter_markdown_body_blank_lines_collapse ... ok [INFO] [stdout] test gh_cmd::tests::test_ok_confirmation_pr_comment ... ok [INFO] [stdout] test gh_cmd::tests::test_filter_markdown_body_horizontal_rules ... ok [INFO] [stdout] test gh_cmd::tests::test_ok_confirmation_pr_create ... ok [INFO] [stdout] test gh_cmd::tests::test_ok_confirmation_pr_merge ... ok [INFO] [stdout] test gh_cmd::tests::test_ok_confirmation_pr_edit ... ok [INFO] [stdout] test gh_cmd::tests::test_run_view_no_passthrough_empty ... ok [INFO] [stdout] test gh_cmd::tests::test_filter_markdown_body_meaningful_content_preserved ... ok [INFO] [stdout] test gh_cmd::tests::test_run_view_passthrough_log ... ok [INFO] [stdout] test gh_cmd::tests::test_run_view_passthrough_log_failed ... ok [INFO] [stdout] test gh_cmd::tests::test_run_view_no_passthrough_other_flags ... ok [INFO] [stdout] test gh_cmd::tests::test_truncate ... ok [INFO] [stdout] test gh_cmd::tests::test_run_view_passthrough_json ... ok [INFO] [stdout] test gh_cmd::tests::test_truncate_empty_and_short ... ok [INFO] [stdout] test git::tests::test_branch_creation_from_commit ... ignored [INFO] [stdout] test git::tests::test_branch_creation_not_swallowed ... ignored [INFO] [stdout] test git::tests::test_commit_multiple_messages ... ok [INFO] [stdout] test gh_cmd::tests::test_truncate_multibyte_utf8 ... ok [INFO] [stdout] test git::tests::test_commit_single_message ... ok [INFO] [stdout] test git::tests::test_commit_three_messages ... ok [INFO] [stdout] test git::tests::test_compact_diff ... ok [INFO] [stdout] test git::tests::test_filter_branch_no_remotes ... ok [INFO] [stdout] test gh_cmd::tests::test_filter_markdown_body_token_savings ... ok [INFO] [stdout] test git::tests::test_filter_branch_output ... ok [INFO] [stdout] test git::tests::test_filter_log_output ... ok [INFO] [stdout] test git::tests::test_filter_log_output_cap_lines ... ok [INFO] [stdout] test git::tests::test_filter_log_output_emoji ... ok [INFO] [stdout] test git::tests::test_filter_log_output_multibyte ... ok [INFO] [stdout] test git::tests::test_filter_log_output_truncate_long ... ok [INFO] [stdout] test git::tests::test_filter_stash_list ... ok [INFO] [stdout] test git::tests::test_filter_status_with_args ... ok [INFO] [stdout] test git::tests::test_filter_status_with_args_clean ... ok [INFO] [stdout] test git::tests::test_filter_worktree_list ... ok [INFO] [stdout] test git::tests::test_format_status_output_clean ... ok [INFO] [stdout] test git::tests::test_format_status_output_emoji_filename ... ok [INFO] [stdout] test git::tests::test_format_status_output_mixed_changes ... ok [INFO] [stdout] test git::tests::test_format_status_output_modified_files ... ok [INFO] [stdout] test git::tests::test_format_status_output_thai_filename ... ok [INFO] [stdout] test git::tests::test_format_status_output_truncation ... ok [INFO] [stdout] test git::tests::test_format_status_output_untracked_files ... ok [INFO] [stdout] test git::tests::test_git_cmd_no_global_args ... ok [INFO] [stdout] test git::tests::test_git_cmd_with_boolean_flags ... ok [INFO] [stdout] test git::tests::test_git_cmd_with_directory ... ok [INFO] [stdout] test git::tests::test_git_cmd_with_multiple_global_args ... ok [INFO] [stdout] test git::tests::test_is_blob_show_arg ... ok [INFO] [stdout] test git::tests::test_run_passthrough_accepts_args ... ok [INFO] [stdout] test go_cmd::tests::test_compact_package_name ... ok [INFO] [stdout] test go_cmd::tests::test_filter_go_build_success ... ok [INFO] [stdout] test go_cmd::tests::test_filter_go_build_errors ... ok [INFO] [stdout] test go_cmd::tests::test_filter_go_test_all_pass ... ok [INFO] [stdout] test go_cmd::tests::test_filter_go_vet_no_issues ... ok [INFO] [stdout] test go_cmd::tests::test_filter_go_test_with_failures ... ok [INFO] [stdout] test go_cmd::tests::test_filter_go_vet_with_issues ... ok [INFO] [stdout] test golangci_cmd::tests::test_compact_path ... ok [INFO] [stdout] test golangci_cmd::tests::test_filter_golangci_no_issues ... ok [INFO] [stdout] test grep_cmd::tests::test_bre_alternation_translated ... ok [INFO] [stdout] test grep_cmd::tests::test_clean_line ... ok [INFO] [stdout] test grep_cmd::tests::test_clean_line_emoji ... ok [INFO] [stdout] test grep_cmd::tests::test_compact_path ... ok [INFO] [stdout] test grep_cmd::tests::test_clean_line_multibyte ... ok [INFO] [stdout] test golangci_cmd::tests::test_filter_golangci_with_issues ... ok [INFO] [stdout] test grep_cmd::tests::test_extra_args_accepted ... ok [INFO] [stdout] test grep_cmd::tests::test_recursive_flag_stripped ... ok [INFO] [stdout] test grep_cmd::tests::test_rg_always_has_line_numbers ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_create_empty ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_create_no_branch_name ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_log_empty ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_log_exact_format ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_log_truncation ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_restack ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_restack_empty ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_create_exact_format ... ok [INFO] [stdout] test gt_cmd::tests::test_extract_branch_name ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_create ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_log_token_savings ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_create_token_savings ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_restack_exact_format ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_restack_token_savings ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_sync_empty ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_submit_empty ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_sync_no_deletes ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_sync ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_sync_exact_format ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_sync_token_savings ... ok [INFO] [stdout] test gt_cmd::tests::test_is_graph_node ... ok [INFO] [stdout] test hook_audit_cmd::tests::test_base_command_simple ... ok [INFO] [stdout] test hook_audit_cmd::tests::test_base_command_single_word ... ok [INFO] [stdout] test hook_audit_cmd::tests::test_parse_line_invalid ... ok [INFO] [stdout] test hook_audit_cmd::tests::test_filter_since_days_zero_returns_all ... ok [INFO] [stdout] test hook_audit_cmd::tests::test_parse_line_rewrite ... ok [INFO] [stdout] test hook_audit_cmd::tests::test_base_command_with_env ... ok [INFO] [stdout] test hook_audit_cmd::tests::test_parse_line_skip ... ok [INFO] [stdout] test init::tests::test_claude_md_mode_creates_full_injection ... ok [INFO] [stdout] test init::tests::test_clean_double_blanks ... ok [INFO] [stdout] test hook_audit_cmd::tests::test_token_savings ... ok [INFO] [stdout] test init::tests::test_clean_double_blanks_preserves_single ... ok [INFO] [stdout] test init::tests::test_hook_already_present_different_path ... ok [INFO] [stdout] test init::tests::test_hook_already_present_exact_match ... ok [INFO] [stdout] test init::tests::test_hook_has_guards ... ok [INFO] [stdout] test init::tests::test_atomic_write ... ok [INFO] [stdout] test init::tests::test_init_has_version_marker ... ok [INFO] [stdout] test init::tests::test_hook_not_present_other_hooks ... ok [INFO] [stdout] test init::tests::test_hook_not_present_empty ... ok [INFO] [stdout] test init::tests::test_init_is_idempotent ... ok [INFO] [stdout] test init::tests::test_insert_hook_entry_empty_root ... ok [INFO] [stdout] test init::tests::test_default_mode_creates_hook_and_clov_md ... ok [INFO] [stdout] test init::tests::test_init_mentions_all_top_level_commands ... ok [INFO] [stdout] test init::tests::test_insert_hook_preserves_other_keys ... ok [INFO] [stdout] test init::tests::test_insert_hook_entry_preserves_existing ... ok [INFO] [stdout] test init::tests::test_migration_removes_old_block ... ok [INFO] [stdout] test init::tests::test_migration_warns_on_missing_end_marker ... ok [INFO] [stdout] test init::tests::test_preserve_order_round_trip ... ok [INFO] [stdout] test init::tests::test_remove_hook_from_json ... ok [INFO] [stdout] test init::tests::test_remove_hook_when_not_present ... ok [INFO] [stdout] test init::tests::test_upsert_clov_block_detects_malformed_block ... ok [INFO] [stdout] test init::tests::test_upsert_clov_block_noop_when_already_current ... ok [INFO] [stdout] test init::tests::test_upsert_clov_block_updates_stale_block ... ok [INFO] [stdout] test init::tests::test_local_init_unchanged ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_submit_exact_format ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_submit_with_urls ... ok [INFO] [stdout] test init::tests::test_upsert_clov_block_appends_when_missing ... ok [INFO] [stdout] test gt_cmd::tests::test_filter_gt_submit_token_savings ... ok [INFO] [stdout] test integrity::tests::test_compute_hash_deterministic ... ok [INFO] [stdout] test integrity::tests::test_compute_hash_changes_on_modification ... ok [INFO] [stdout] test integrity::tests::test_hash_format_compatible_with_sha256sum ... ok [INFO] [stdout] test integrity::tests::test_hash_only_no_filename_rejected ... ok [INFO] [stdout] test integrity::tests::test_hash_file_permissions ... ok [INFO] [stdout] test integrity::tests::test_remove_hash_not_found ... ok [INFO] [stdout] test integrity::tests::test_invalid_hash_file_rejected ... ok [INFO] [stdout] test integrity::tests::test_remove_hash ... ok [INFO] [stdout] test integrity::tests::test_store_and_verify_ok ... ok [INFO] [stdout] test integrity::tests::test_store_hash_creates_sha256sum_format ... ok [INFO] [stdout] test integrity::tests::test_verify_not_installed ... ok [INFO] [stdout] test integrity::tests::test_verify_no_baseline ... ok [INFO] [stdout] test integrity::tests::test_verify_detects_tampering ... ok [INFO] [stdout] test integrity::tests::test_store_hash_overwrites_existing ... ok [INFO] [stdout] test integrity::tests::test_verify_orphaned_hash ... ok [INFO] [stdout] test integrity::tests::test_wrong_separator_rejected ... ok [INFO] [stdout] test json_cmd::tests::test_extract_schema_array ... ok [INFO] [stdout] test json_cmd::tests::test_extract_schema_simple ... ok [INFO] [stdout] test learn::detector::tests::test_command_similarity_same_base ... ok [INFO] [stdout] test learn::detector::tests::test_extract_base_command ... ok [INFO] [stdout] test learn::detector::tests::test_deduplicate_corrections_keeps_distinct ... ok [INFO] [stdout] test learn::detector::tests::test_deduplicate_corrections_merges_same ... ok [INFO] [stdout] test learn::detector::tests::test_classify_error_unknown_flag ... ok [INFO] [stdout] test learn::detector::tests::test_find_corrections_path_exploration ... ok [INFO] [stdout] test learn::detector::tests::test_find_corrections_window_limit ... ok [INFO] [stdout] test learn::detector::tests::test_find_corrections_min_confidence ... ok [INFO] [stdout] test learn::detector::tests::test_find_corrections_basic ... ok [INFO] [stdout] test learn::detector::tests::test_is_command_error_requires_error_content ... ok [INFO] [stdout] test learn::report::tests::test_format_console_report_empty ... ok [INFO] [stdout] test learn::detector::tests::test_is_command_error_filters_user_rejection ... ok [INFO] [stdout] test learn::detector::tests::test_is_command_error_requires_error_flag ... ok [INFO] [stdout] test learn::report::tests::test_format_console_report_with_rules ... ok [INFO] [stdout] test learn::report::tests::test_write_rules_file_markdown ... ok [INFO] [stdout] test lint_cmd::tests::test_compact_path ... ok [INFO] [stdout] test learn::detector::tests::test_classify_error_command_not_found ... ok [INFO] [stdout] test lint_cmd::tests::test_filter_eslint_json ... ok [INFO] [stdout] test lint_cmd::tests::test_filter_pylint_json_no_issues ... ok [INFO] [stdout] test lint_cmd::tests::test_is_python_linter ... ok [INFO] [stdout] test lint_cmd::tests::test_filter_pylint_json_with_issues ... ok [INFO] [stdout] test ls::tests::test_compact_basic ... ok [INFO] [stdout] test ls::tests::test_compact_empty ... ok [INFO] [stdout] test ls::tests::test_compact_filters_noise ... ok [INFO] [stdout] test ls::tests::test_compact_handles_filenames_with_spaces ... ok [INFO] [stdout] test ls::tests::test_compact_show_all ... ok [INFO] [stdout] test ls::tests::test_compact_summary ... ok [INFO] [stdout] test ls::tests::test_compact_symlinks ... ok [INFO] [stdout] test ls::tests::test_human_size ... ok [INFO] [stdout] test local_llm::tests::test_python_analysis ... ok [INFO] [stdout] test local_llm::tests::test_rust_analysis ... ok [INFO] [stdout] test learn::detector::tests::test_find_corrections_excludes_tdd_cycle ... ok [INFO] [stdout] test log_cmd::tests::test_analyze_logs_multibyte ... ok [INFO] [stdout] test mcp_proxy::tests::parses_content_length_message ... ok [INFO] [stdout] test mcp_proxy::tests::parses_newline_delimited_message ... ok [INFO] [stdout] test learn::detector::tests::test_classify_error_all_types ... ok [INFO] [stdout] test mcp_proxy::tests::proxies_newline_messages_end_to_end ... ok [INFO] [stdout] test mcp_proxy::tests::writes_content_length_message ... ok [INFO] [stdout] test log_cmd::tests::test_analyze_logs ... ok [INFO] [stdout] test mypy_cmd::tests::test_filter_mypy_errors_grouped_by_file ... ok [INFO] [stdout] test mypy_cmd::tests::test_filter_mypy_every_error_shown ... ok [INFO] [stdout] test mypy_cmd::tests::test_filter_mypy_no_errors ... ok [INFO] [stdout] test mypy_cmd::tests::test_filter_mypy_fileless_errors ... ok [INFO] [stdout] test mypy_cmd::tests::test_filter_mypy_note_continuation ... ok [INFO] [stdout] test mypy_cmd::tests::test_filter_mypy_no_file_limit ... ok [INFO] [stdout] test mypy_cmd::tests::test_filter_mypy_top_codes_summary ... ok [INFO] [stdout] test mypy_cmd::tests::test_filter_mypy_single_code_no_summary ... ok [INFO] [stdout] test mypy_cmd::tests::test_filter_mypy_with_column_numbers ... ok [INFO] [stdout] test next_cmd::tests::test_extract_time ... ok [INFO] [stdout] test npm_cmd::tests::test_filter_npm_output ... ok [INFO] [stdout] test npm_cmd::tests::test_filter_npm_output_empty ... ok [INFO] [stdout] test parser::tests::test_extract_json_object_clean ... ok [INFO] [stdout] test parser::tests::test_extract_json_object_nested_braces ... ok [INFO] [stdout] test parser::tests::test_extract_json_object_no_json ... ok [INFO] [stdout] test parser::tests::test_extract_json_object_string_with_braces ... ok [INFO] [stdout] test parser::tests::test_extract_json_object_with_dotenv_prefix ... ok [INFO] [stdout] test parser::tests::test_extract_json_object_with_pnpm_prefix ... ok [INFO] [stdout] test parser::tests::test_parse_result_map ... ok [INFO] [stdout] test parser::tests::test_parse_result_tier ... ok [INFO] [stdout] test parser::tests::test_truncate_output ... ok [INFO] [stdout] test parser::tests::test_truncate_output_emoji ... ok [INFO] [stdout] test parser::tests::test_truncate_output_multibyte ... ok [INFO] [stdout] test pip_cmd::tests::test_filter_pip_list ... ok [INFO] [stdout] test pip_cmd::tests::test_filter_pip_list_empty ... ok [INFO] [stdout] test pip_cmd::tests::test_filter_pip_outdated_none ... ok [INFO] [stdout] test pip_cmd::tests::test_filter_pip_outdated_some ... ok [INFO] [stdout] test playwright_cmd::tests::test_playwright_parser_json ... ok [INFO] [stdout] test playwright_cmd::tests::test_playwright_parser_json_float_duration ... ok [INFO] [stdout] test playwright_cmd::tests::test_playwright_parser_json_with_failure ... ok [INFO] [stdout] test next_cmd::tests::test_filter_next_build ... ok [INFO] [stdout] test playwright_cmd::tests::test_playwright_parser_passthrough ... ok [INFO] [stdout] test pnpm_cmd::tests::test_package_name_validation ... ok [INFO] [stdout] test pnpm_cmd::tests::test_pnpm_list_parser_json ... ok [INFO] [stdout] test pnpm_cmd::tests::test_pnpm_outdated_parser_json ... ok [INFO] [stdout] test pnpm_cmd::tests::test_run_passthrough_accepts_args ... ok [INFO] [stdout] test prettier_cmd::tests::test_filter_all_formatted ... ok [INFO] [stdout] test prettier_cmd::tests::test_filter_files_need_formatting ... ok [INFO] [stdout] test prettier_cmd::tests::test_filter_many_files ... ok [INFO] [stdout] test prisma_cmd::tests::test_extract_number ... ok [INFO] [stdout] test prisma_cmd::tests::test_filter_generate ... ok [INFO] [stdout] test prisma_cmd::tests::test_filter_migrate_dev ... ok [INFO] [stdout] test playwright_cmd::tests::test_playwright_parser_regex_fallback ... ok [INFO] [stdout] test psql_cmd::tests::test_filter_expanded_basic ... ok [INFO] [stdout] test psql_cmd::tests::test_expanded_token_savings ... ok [INFO] [stdout] test find_cmd::tests::find_no_matches ... ok [INFO] [stdout] test psql_cmd::tests::test_filter_expanded_overflow ... ok [INFO] [stdout] test psql_cmd::tests::test_filter_expanded_strips_row_count ... ok [INFO] [stdout] test psql_cmd::tests::test_filter_psql_passthrough ... ok [INFO] [stdout] test psql_cmd::tests::test_filter_psql_routes_to_expanded ... ok [INFO] [stdout] test psql_cmd::tests::test_filter_psql_routes_to_table ... ok [INFO] [stdout] test psql_cmd::tests::test_filter_table_basic ... ok [INFO] [stdout] test psql_cmd::tests::test_filter_table_empty ... ok [INFO] [stdout] test psql_cmd::tests::test_filter_table_strips_row_count ... ok [INFO] [stdout] test psql_cmd::tests::test_is_expanded_format_detects_records ... ok [INFO] [stdout] test psql_cmd::tests::test_filter_table_overflow ... ok [INFO] [stdout] test psql_cmd::tests::test_is_table_format_detects_separator ... ok [INFO] [stdout] test psql_cmd::tests::test_is_table_format_rejects_plain ... ok [INFO] [stdout] test psql_cmd::tests::test_is_expanded_format_rejects_table ... ok [INFO] [stdout] test psql_cmd::tests::test_snapshot_expanded_format ... ok [INFO] [stdout] test pytest_cmd::tests::test_filter_pytest_all_pass ... ok [INFO] [stdout] test psql_cmd::tests::test_snapshot_table_format ... ok [INFO] [stdout] test pytest_cmd::tests::test_filter_pytest_multiple_failures ... ok [INFO] [stdout] test psql_cmd::tests::test_table_token_savings ... ok [INFO] [stdout] test pytest_cmd::tests::test_filter_pytest_no_tests ... ok [INFO] [stdout] test pytest_cmd::tests::test_filter_pytest_with_failures ... ok [INFO] [stdout] test pytest_cmd::tests::test_parse_summary_line ... ok [INFO] [stdout] test read::tests::test_stdin_support_signature ... ok [INFO] [stdout] test rewrite_cmd::tests::test_run_already_clov_returns_some ... ok [INFO] [stdout] test rewrite_cmd::tests::test_run_supported_command_succeeds ... ok [INFO] [stdout] test rewrite_cmd::tests::test_run_unsupported_returns_none ... ok [INFO] [stdout] test ruff_cmd::tests::test_compact_path ... ok [INFO] [stdout] test ruff_cmd::tests::test_filter_ruff_check_no_issues ... ok [INFO] [stdout] test ruff_cmd::tests::test_filter_ruff_check_with_issues ... ok [INFO] [stdout] test ruff_cmd::tests::test_filter_ruff_format_all_formatted ... ok [INFO] [stdout] test ruff_cmd::tests::test_filter_ruff_format_needs_formatting ... ok [INFO] [stdout] test tee::tests::test_cleanup_old_files ... ok [INFO] [stdout] test tee::tests::test_format_hint ... ok [INFO] [stdout] test tee::tests::test_sanitize_slug ... ok [INFO] [stdout] test tee::tests::test_should_tee_always_mode_success ... ok [INFO] [stdout] test tee::tests::test_should_tee_disabled ... ok [INFO] [stdout] test tee::tests::test_should_tee_never_mode ... ok [INFO] [stdout] test tee::tests::test_should_tee_proceed_on_failure ... ok [INFO] [stdout] test tee::tests::test_should_tee_skip_small_output ... ok [INFO] [stdout] test tee::tests::test_should_tee_skip_success_in_failures_mode ... ok [INFO] [stdout] test tee::tests::test_tee_config_default ... ok [INFO] [stdout] test tee::tests::test_tee_config_deserialize ... ok [INFO] [stdout] test tee::tests::test_tee_mode_serde ... ok [INFO] [stdout] test tee::tests::test_write_tee_file_creates_file ... ok [INFO] [stdout] test tee::tests::test_write_tee_file_truncation ... ok [INFO] [stdout] test read::tests::test_read_rust_file ... ok [INFO] [stdout] test tests::test_gain_failures_flag_parses ... ok [INFO] [stdout] test tests::test_gain_failures_short_flag_parses ... ok [INFO] [stdout] test tests::test_git_commit_long_flag_multiple ... ok [INFO] [stdout] test tests::test_git_commit_single_message ... ok [INFO] [stdout] test tests::test_git_commit_multiple_messages ... ok [INFO] [stdout] test tests::test_git_global_options_parsing ... ok [INFO] [stdout] test find_cmd::tests::run_from_args_native_find_syntax ... ok [INFO] [stdout] test tests::test_mcp_proxy_filter_flags_parse ... ok [INFO] [stdout] test runner::tests::test_filter_errors ... ok [INFO] [stdout] test mcp_proxy::tests::passes_through_invalid_json_payloads_without_crashing ... ok [INFO] [stdout] test tests::test_new_primary_command_names_parse ... ok [INFO] [stdout] test tests::test_passthrough_accepts_command_args_that_start_with_hyphen ... ok [INFO] [stdout] test tests::test_try_parse_git_with_dash_c_succeeds ... ok [INFO] [stdout] test tests::test_meta_command_list_is_complete ... ok [INFO] [stdout] test tests::test_meta_commands_reject_bad_flags ... ok [INFO] [stdout] test tests::test_try_parse_help_is_display_help ... ok [INFO] [stdout] test tokenizer::tests::approx_profile_preserves_legacy_chars_per_token_behavior ... ok [INFO] [stdout] test tokenizer::tests::code_profile_penalizes_symbol_heavy_source_more_than_approx ... ok [INFO] [stdout] test tests::test_try_parse_version_is_display_version ... ok [INFO] [stdout] test tests::test_try_parse_unknown_subcommand_is_error ... ok [INFO] [stdout] test tests::test_try_parse_valid_git_status ... ok [INFO] [stdout] test tracking::tests::test_args_display ... ok [INFO] [stdout] test tokenizer::tests::profiles_parse_from_strings ... ok [INFO] [stdout] test tracking::tests::test_custom_db_path_env ... ok [INFO] [stdout] test tracking::tests::test_default_db_path ... ok [INFO] [stdout] test tracking::tests::test_estimate_tokens ... ok [INFO] [stdout] test tracking::tests::test_project_filter_params_glob_pattern ... ok [INFO] [stdout] test tracking::tests::test_project_filter_params_none ... ok [INFO] [stdout] test tracking::tests::test_project_filter_params_underscore_safe ... ok [INFO] [stdout] test mcp_proxy::tests::honors_custom_filter_context_limits ... ok [INFO] [stdout] test tests::test_old_command_aliases_no_longer_parse ... ok [INFO] [stdout] test mcp_proxy::tests::cleans_exa_style_quoted_articles_end_to_end ... ok [INFO] [stdout] test tracking::tests::token_metrics_include_profiled_counts_when_requested ... ok [INFO] [stdout] test tracking::tests::test_tracker_record_and_recent ... ok [INFO] [stdout] test tree::tests::test_filter_handles_empty ... ok [INFO] [stdout] test tree::tests::test_filter_preserves_structure ... ok [INFO] [stdout] test tree::tests::test_filter_removes_summary ... ok [INFO] [stdout] test tree::tests::test_filter_removes_trailing_empty_lines ... ok [INFO] [stdout] test tree::tests::test_filter_summary_variations ... ok [INFO] [stdout] test tree::tests::test_noise_dirs_constant ... ok [INFO] [stdout] test tsc_cmd::tests::test_continuation_lines_preserved ... ok [INFO] [stdout] test tsc_cmd::tests::test_every_error_message_shown ... ok [INFO] [stdout] test tsc_cmd::tests::test_filter_no_errors ... ok [INFO] [stdout] test tsc_cmd::tests::test_filter_tsc_output ... ok [INFO] [stdout] test tsc_cmd::tests::test_no_file_limit ... ok [INFO] [stdout] test universal_filter::tests::cleans_article_readability_artifacts ... ok [INFO] [stdout] test universal_filter::tests::cleans_exa_quoted_article_noise ... ok [INFO] [stdout] test universal_filter::tests::filters_search_results_to_priority_fields ... ok [INFO] [stdout] test universal_filter::tests::preserves_code_shape_when_filtering_code ... ok [INFO] [stdout] test universal_filter::tests::strips_navigation_chrome_from_plain_text ... ok [INFO] [stdout] test universal_filter::tests::summarizes_large_structured_arrays ... ok [INFO] [stdout] test universal_filter::tests::treats_crawl_result_rows_as_web_articles_not_code ... ok [INFO] [stdout] test utils::tests::test_detect_package_manager_default ... ok [INFO] [stdout] test utils::tests::test_execute_command_failure ... ok [INFO] [stdout] test utils::tests::test_execute_command_success ... ok [INFO] [stdout] test utils::tests::test_format_cpt_edge_cases ... ok [INFO] [stdout] test utils::tests::test_format_cpt_normal ... ok [INFO] [stdout] test utils::tests::test_format_tokens_millions ... ok [INFO] [stdout] test utils::tests::test_format_tokens_small ... ok [INFO] [stdout] test utils::tests::test_format_tokens_thousands ... ok [INFO] [stdout] test utils::tests::test_format_usd_edge ... ok [INFO] [stdout] test utils::tests::test_format_usd_large ... ok [INFO] [stdout] test utils::tests::test_format_usd_medium ... ok [INFO] [stdout] test utils::tests::test_format_usd_small ... ok [INFO] [stdout] test utils::tests::test_ok_confirmation_no_detail ... ok [INFO] [stdout] test utils::tests::test_ok_confirmation_with_detail ... ok [INFO] [stdout] test utils::tests::test_strip_ansi_complex ... ok [INFO] [stdout] test utils::tests::test_strip_ansi_multiple ... ok [INFO] [stdout] test utils::tests::test_strip_ansi_no_codes ... ok [INFO] [stdout] test utils::tests::test_strip_ansi_simple ... ok [INFO] [stdout] test utils::tests::test_truncate_edge_case ... ok [INFO] [stdout] test utils::tests::test_truncate_exact_length ... ok [INFO] [stdout] test utils::tests::test_truncate_long_string ... ok [INFO] [stdout] test utils::tests::test_truncate_multibyte_cjk ... ok [INFO] [stdout] test utils::tests::test_truncate_multibyte_emoji ... ok [INFO] [stdout] test utils::tests::test_truncate_multibyte_thai ... ok [INFO] [stdout] test utils::tests::test_truncate_short_string ... ok [INFO] [stdout] test vitest_cmd::tests::test_strip_ansi ... ok [INFO] [stdout] test vitest_cmd::tests::test_vitest_parser_json ... ok [INFO] [stdout] test vitest_cmd::tests::test_vitest_parser_passthrough ... ok [INFO] [stdout] test vitest_cmd::tests::test_vitest_parser_regex_fallback ... ok [INFO] [stdout] test vitest_cmd::tests::test_vitest_parser_with_dotenv_prefix ... ok [INFO] [stdout] test vitest_cmd::tests::test_vitest_parser_with_nested_json ... ok [INFO] [stdout] test vitest_cmd::tests::test_vitest_parser_with_pnpm_prefix ... ok [INFO] [stdout] test wc_cmd::tests::test_common_prefix ... ok [INFO] [stdout] test wc_cmd::tests::test_deep_common_prefix ... ok [INFO] [stdout] test wc_cmd::tests::test_detect_mode_full ... ok [INFO] [stdout] test wc_cmd::tests::test_detect_mode_lines ... ok [INFO] [stdout] test wc_cmd::tests::test_detect_mode_mixed ... ok [INFO] [stdout] test wc_cmd::tests::test_detect_mode_separate_flags ... ok [INFO] [stdout] test wc_cmd::tests::test_empty ... ok [INFO] [stdout] test wc_cmd::tests::test_multi_file_full ... ok [INFO] [stdout] test wc_cmd::tests::test_multi_file_lines ... ok [INFO] [stdout] test wc_cmd::tests::test_no_common_prefix ... ok [INFO] [stdout] test wc_cmd::tests::test_single_file_full ... ok [INFO] [stdout] test wc_cmd::tests::test_single_file_lines_only ... ok [INFO] [stdout] test wc_cmd::tests::test_single_file_words_only ... ok [INFO] [stdout] test wc_cmd::tests::test_stdin_full ... ok [INFO] [stdout] test wc_cmd::tests::test_stdin_lines ... ok [INFO] [stdout] test tracking::tests::test_track_passthrough_no_dilution ... ok [INFO] [stdout] test find_cmd::tests::find_dot_pattern_works ... ok [INFO] [stdout] test find_cmd::tests::run_from_args_clov_syntax ... ok [INFO] [stdout] test mcp_proxy::tests::preserves_more_article_text_and_cleans_readability_noise ... ok [INFO] [stdout] test tracking::tests::track_metadata_is_persisted_on_command_rows ... ok [INFO] [stdout] test find_cmd::tests::find_rs_files_in_src ... ok [INFO] [stdout] test find_cmd::tests::run_from_args_iname_case_insensitive ... ok [INFO] [stdout] test tracking::tests::test_parse_failure_recovery_rate ... ok [INFO] [stdout] test mcp_proxy::tests::filters_text_and_structured_payloads ... ok [INFO] [stdout] test tracking::tests::test_parse_failure_roundtrip ... ok [INFO] [stdout] test tracking::tests::test_timed_execution_passthrough ... ok [INFO] [stdout] test find_cmd::tests::find_gitignored_excluded ... ok [INFO] [stdout] test tracking::tests::test_timed_execution_records_time ... FAILED [INFO] [stdout] test find_cmd::tests::find_respects_max ... ok [INFO] [stdout] test find_cmd::tests::find_multi_pattern ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- tracking::tests::test_timed_execution_records_time stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'tracking::tests::test_timed_execution_records_time' (614) panicked at src/tracking.rs:1485:9: [INFO] [stdout] assertion failed: recent.iter().any(|r| r.clov_cmd == "clov check") [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x559812437aba - std[31e582c13f4e914f]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x559812437aba - std[31e582c13f4e914f]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x559812437aba - std[31e582c13f4e914f]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x559812437aba - <::print::DisplayBacktrace as core[fa0eadad68403074]::fmt::Display>::fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x55981244f06a - ::fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x55981244f06a - core[fa0eadad68403074]::fmt::write [INFO] [stdout] 6: 0x55981243cb42 - std[31e582c13f4e914f]::io::default_write_fmt::> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x55981243cb42 - as std[31e582c13f4e914f]::io::Write>::write_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x5598124133df - ::print [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x5598124133df - std[31e582c13f4e914f]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x55981242e829 - std[31e582c13f4e914f]::panicking::default_hook [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x559811e0683c - core[fa0eadad68403074]::ops::function::Fn<(&'a std[31e582c13f4e914f]::panic::PanicHookInfo<'b>,), Output = ()> + core[fa0eadad68403074]::marker::Sync + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::Fn<(&std[31e582c13f4e914f]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x559811e0683c - test[7530e63dc052480e]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x55981242e9e2 - core[fa0eadad68403074]::ops::function::Fn<(&'a std[31e582c13f4e914f]::panic::PanicHookInfo<'b>,), Output = ()> + core[fa0eadad68403074]::marker::Sync + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::Fn<(&std[31e582c13f4e914f]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x55981242e9e2 - std[31e582c13f4e914f]::panicking::panic_with_hook [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x5598124134ca - std[31e582c13f4e914f]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:691:13 [INFO] [stdout] 16: 0x559812407d19 - std[31e582c13f4e914f]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x5598124145bd - __rustc[fc8e3a9f23f26cb]::rust_begin_unwind [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x55981244f8ac - core[fa0eadad68403074]::panicking::panic_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x55981244f872 - core[fa0eadad68403074]::panicking::panic [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panicking.rs:150:5 [INFO] [stdout] 20: 0x559811a01665 - clov[70dc7eb72765b9d4]::tracking::tests::test_timed_execution_records_time [INFO] [stdout] at /opt/rustwide/workdir/src/tracking.rs:1485:9 [INFO] [stdout] 21: 0x5598119dbc57 - clov[70dc7eb72765b9d4]::tracking::tests::test_timed_execution_records_time::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/tracking.rs:1477:43 [INFO] [stdout] 22: 0x559811b0c896 - >::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 23: 0x559811dfa91b - core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x559811dfa91b - test[7530e63dc052480e]::__rust_begin_short_backtrace::, fn() -> core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:663:18 [INFO] [stdout] 25: 0x559811e0730b - test[7530e63dc052480e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:686:74 [INFO] [stdout] 26: 0x559811e0730b - as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 27: 0x559811e0730b - std[31e582c13f4e914f]::panicking::catch_unwind::do_call::, core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:581:40 [INFO] [stdout] 28: 0x559811e0730b - std[31e582c13f4e914f]::panicking::catch_unwind::, core[fa0eadad68403074]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:544:19 [INFO] [stdout] 29: 0x559811e0730b - std[31e582c13f4e914f]::panic::catch_unwind::, core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panic.rs:359:14 [INFO] [stdout] 30: 0x559811e0730b - test[7530e63dc052480e]::run_test_in_process [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:686:27 [INFO] [stdout] 31: 0x559811e0730b - test[7530e63dc052480e]::run_test::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:607:43 [INFO] [stdout] 32: 0x559811e01764 - test[7530e63dc052480e]::run_test::{closure#1} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:637:41 [INFO] [stdout] 33: 0x559811e01764 - std[31e582c13f4e914f]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 34: 0x559811e09f12 - std[31e582c13f4e914f]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 35: 0x559811e09f12 - ::{closure#1}::{closure#0}> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 36: 0x559811e09f12 - std[31e582c13f4e914f]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:581:40 [INFO] [stdout] 37: 0x559811e09f12 - std[31e582c13f4e914f]::panicking::catch_unwind::<(), core[fa0eadad68403074]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:544:19 [INFO] [stdout] 38: 0x559811e09f12 - std[31e582c13f4e914f]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panic.rs:359:14 [INFO] [stdout] 39: 0x559811e09f12 - std[31e582c13f4e914f]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 40: 0x559811e09f12 - ::{closure#1} as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 41: 0x559812436baf - + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 42: 0x559812436baf - ::new::thread_start [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 43: 0x703092968aa4 - [INFO] [stdout] 44: 0x7030929f5a64 - clone [INFO] [stdout] 45: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] tracking::tests::test_timed_execution_records_time [INFO] [stdout] [INFO] [stdout] test result: FAILED. 663 passed; 1 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.62s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--bin clov` [INFO] running `Command { std: "docker" "inspect" "be36bf3b1a99e64e8ae0d5aedd0a799b6ffa07934975661bf09a679b788cf508", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be36bf3b1a99e64e8ae0d5aedd0a799b6ffa07934975661bf09a679b788cf508", kill_on_drop: false }` [INFO] [stdout] be36bf3b1a99e64e8ae0d5aedd0a799b6ffa07934975661bf09a679b788cf508