[INFO] fetching crate kiss-ai 0.4.5...
[INFO] testing kiss-ai-0.4.5 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1
[INFO] extracting crate kiss-ai 0.4.5 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate kiss-ai 0.4.5
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate kiss-ai 0.4.5
[INFO] tweaked toml for crates.io crate kiss-ai 0.4.5 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate kiss-ai 0.4.5 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kiss-ai 0.4.5 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a4e08032a916f96010a95c806e591b3dbd818058af620d3a7b3a1311a76f4a7a
[INFO] running `Command { std: "docker" "start" "-a" "a4e08032a916f96010a95c806e591b3dbd818058af620d3a7b3a1311a76f4a7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a4e08032a916f96010a95c806e591b3dbd818058af620d3a7b3a1311a76f4a7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4e08032a916f96010a95c806e591b3dbd818058af620d3a7b3a1311a76f4a7a", kill_on_drop: false }`
[INFO] [stdout] a4e08032a916f96010a95c806e591b3dbd818058af620d3a7b3a1311a76f4a7a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9f5ad780671e372895bf46c4552348f77d7580d8b11f71d50dac6d2a586bd2a2
[INFO] running `Command { std: "docker" "start" "-a" "9f5ad780671e372895bf46c4552348f77d7580d8b11f71d50dac6d2a586bd2a2", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling boxcar v0.2.14
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling tree-sitter v0.24.7
[INFO] [stderr]    Compiling tree-sitter-python v0.23.6
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling fa-leiden-cd v0.1.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling kiss-ai v0.4.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.55s
[INFO] running `Command { std: "docker" "inspect" "9f5ad780671e372895bf46c4552348f77d7580d8b11f71d50dac6d2a586bd2a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f5ad780671e372895bf46c4552348f77d7580d8b11f71d50dac6d2a586bd2a2", kill_on_drop: false }`
[INFO] [stdout] 9f5ad780671e372895bf46c4552348f77d7580d8b11f71d50dac6d2a586bd2a2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e9aae014486fa606fb9ae3ec06cd42cc671089482bc2d41600a63e19b86122fd
[INFO] running `Command { std: "docker" "start" "-a" "e9aae014486fa606fb9ae3ec06cd42cc671089482bc2d41600a63e19b86122fd", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling tree-sitter-python v0.23.6
[INFO] [stderr]    Compiling tree-sitter v0.24.7
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling boxcar v0.2.14
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling fa-leiden-cd v0.1.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling kiss-ai v0.4.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 3m 14s
[INFO] running `Command { std: "docker" "inspect" "e9aae014486fa606fb9ae3ec06cd42cc671089482bc2d41600a63e19b86122fd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9aae014486fa606fb9ae3ec06cd42cc671089482bc2d41600a63e19b86122fd", kill_on_drop: false }`
[INFO] [stdout] e9aae014486fa606fb9ae3ec06cd42cc671089482bc2d41600a63e19b86122fd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8e218881813352719471f20483571ce8c6739003d5d8734a3a6730c2d6d977d5
[INFO] running `Command { std: "docker" "start" "-a" "8e218881813352719471f20483571ce8c6739003d5d8734a3a6730c2d6d977d5", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kiss-78311e1fca646edc)
[INFO] [stdout] 
[INFO] [stdout] running 444 tests
[INFO] [stdout] test check_cache::tests::test_cache_dir_smoke ... ok
[INFO] [stdout] test check_cache::tests::test_cached_chunk_roundtrip ... ok
[INFO] [stdout] test check_cache::tests::test_cached_violation_roundtrip ... ok
[INFO] [stdout] test check_universe_cache::tests::test_full_cache_struct_smoke ... ok
[INFO] [stdout] test cli_output::tests::static_coverage_touch_gate_90 ... ok
[INFO] [stdout] test cli_output::tests::test_count_py_unreferenced_empty ... ok
[INFO] [stdout] test cli_output::tests::test_count_rs_unreferenced_empty ... ok
[INFO] [stdout] test cli_output::tests::test_file_coverage_map_computes_per_file_pct ... ok
[INFO] [stdout] test check_universe_cache::tests::test_cached_coverage_item_into_tuple ... ok
[INFO] [stdout] test check_cache::tests::test_cached_definition_roundtrip ... ok
[INFO] [stdout] test cli_output::tests::test_print_coverage_gate_failure_no_panic ... ok
[INFO] [stdout] test cli_output::tests::test_print_duplicates_empty ... ok
[INFO] [stdout] test cli_output::tests::test_print_violations_empty ... ok
[INFO] [stdout] test config::tests::static_coverage_touch_merge_helpers ... ok
[INFO] [stdout] test config::tests::test_config_error_display ... ok
[INFO] [stdout] test config::tests::test_apply_language_sections ... ok
[INFO] [stdout] test config::tests::static_coverage_touch_validate_keys ... ok
[INFO] [stdout] test config::tests::test_thresholds_section_accepts_boolean_parameters ... ok
[INFO] [stdout] test config::tests::test_helpers ... ok
[INFO] [stdout] test config::tests::test_unknown_section_returns_error ... ok
[INFO] [stdout] test config::tests::test_validation ... ok
[INFO] [stdout] test config_gen::config_gates::static_coverage_touch_infer_gate_helpers ... ok
[INFO] [stdout] test config_gen::config_gates::static_coverage_touch_merge_helpers ... ok
[INFO] [stdout] test config_gen::config_gates::test_config_generation ... ok
[INFO] [stdout] test counts::tests::static_coverage_touch_py_threshold_helpers ... ok
[INFO] [stdout] test cli_output::tests::test_print_no_files_message_no_panic ... ok
[INFO] [stdout] test config_gen::config_gates::test_write_mimic_config_smoke ... ok
[INFO] [stdout] test config_gen::config_gates::test_config_keys ... ok
[INFO] [stdout] test counts::tests::test_analyze_file_no_violations ... ok
[INFO] [stdout] test config_gen::config_gates::test_merge_config_toml_smoke ... ok
[INFO] [stdout] test counts::tests::test_analyze_class_node ... ok
[INFO] [stdout] test counts::tests::test_analyze_node_function ... ok
[INFO] [stdout] test counts::tests::test_check_file_metrics ... ok
[INFO] [stdout] test counts::tests::test_analyze_file_with_violation ... ok
[INFO] [stdout] test counts::tests::test_analyze_file_with_statement_count_helper ... ok
[INFO] [stdout] test counts::tests::test_analyze_node ... ok
[INFO] [stdout] test counts::tests::test_violation_builder ... ok
[INFO] [stdout] test counts::tests::test_violation_helper_from_counts ... ok
[INFO] [stdout] test defaults::tests::test_defaults_are_reasonable ... ok
[INFO] [stdout] test counts::tests::test_check_function_metrics_tail_smoke ... ok
[INFO] [stdout] test counts::tests::test_check_function_metrics ... ok
[INFO] [stdout] test config::tests::test_unknown_key_returns_error ... ok
[INFO] [stdout] test counts::tests::test_recursion_enum ... ok
[INFO] [stdout] test discovery::tests::test_always_ignored_includes_env_dir ... ok
[INFO] [stdout] test defaults::tests::test_default_config_toml_parses ... ok
[INFO] [stdout] test discovery::tests::test_gather_files_by_lang_empty_input ... ok
[INFO] [stdout] test discovery::tests::test_has_ignored_prefix ... ok
[INFO] [stdout] test discovery::tests::test_language_extension ... ok
[INFO] [stdout] test discovery::tests::test_language_from_path ... ok
[INFO] [stdout] test discovery::tests::test_process_source_entry_and_ext_entry ... ok
[INFO] [stdout] test config_gen::config_gates::test_defaults_appenders ... ok
[INFO] [stdout] test counts::tests::test_check_file_metrics_direct ... ok
[INFO] [stdout] test discovery::tests::test_source_file_struct ... ok
[INFO] [stdout] test discovery::tests::test_should_ignore ... ok
[INFO] [stdout] test discovery::tests::test_should_ignore_does_not_match_filenames ... ok
[INFO] [stdout] test discovery::tests::test_find_rust_files ... ok
[INFO] [stdout] test config_gen::config_gates::test_infer_gate_config_orphan_module_enabled ... ok
[INFO] [stdout] test config_gen::config_gates::test_infer_gate_config_no_orphans_module_enabled ... ok
[INFO] [stdout] test duplication::tests::test_cmp_chunk_key_and_min_chunk ... ok
[INFO] [stdout] test duplication::tests::test_cluster_duplicates_from_chunks_smoke ... ok
[INFO] [stdout] test duplication::tests::test_cluster_from_pairs ... ok
[INFO] [stdout] test discovery::tests::test_find_files_empty_dir ... ok
[INFO] [stdout] test duplication::tests::test_extract_chunks_for_duplication_direct ... ok
[INFO] [stdout] test duplication::tests::test_structs_and_helpers ... ok
[INFO] [stdout] test gate_config::tests::static_coverage_touch_gate_parsers ... ok
[INFO] [stdout] test gate_config::tests::test_gate_config_merge_from_toml ... ok
[INFO] [stdout] test duplication::tests::test_rust_duplication ... ok
[INFO] [stdout] test duplication::tests::test_python_duplication ... ok
[INFO] [stdout] test gate_config::tests::test_get_f64 ... ok
[INFO] [stdout] test gate_config::tests::test_min_similarity_integer_accepted ... ok
[INFO] [stdout] test gate_config::tests::test_get_usize ... ok
[INFO] [stdout] test discovery::tests::test_kissignore_file ... ok
[INFO] [stdout] test graph::graph_test_2::test_cycle_size_violation_suggestion_does_not_claim_unimplemented_min_cut ... ok
[INFO] [stdout] test graph::graph_test_2::test_build_dependency_graph_creates_edge_for_from_dot_import ... ok
[INFO] [stdout] test discovery::tests::test_find_python_files ... ok
[INFO] [stdout] test discovery::tests::test_find_python_files_uppercase_extension ... ok
[INFO] [stdout] test discovery::tests::test_find_files_nested ... ok
[INFO] [stdout] test graph::graph_test_2::test_is_test_module_singular_test_dir ... ok
[INFO] [stdout] test graph::graph_test_2::test_qualified_and_bare_module_names ... ok
[INFO] [stdout] test graph::graph_test_2::test_resolve_import ... ok
[INFO] [stdout] test graph::graph_test_2::test_touch_importinfo_and_push_import_name_segments ... ok
[INFO] [stdout] test graph::tests::static_coverage_touch_graph_helpers ... ok
[INFO] [stdout] test graph::graph_test_2::test_indirect_deps_in_cycle ... ok
[INFO] [stdout] test graph::tests::test_from_import_does_not_create_edges_to_imported_names ... ok
[INFO] [stdout] test graph::tests::test_from_dot_import_name_is_dependency_candidate ... ok
[INFO] [stdout] test graph::graph_test_2::test_test_importers_of_returns_test_modules_that_import_target ... ok
[INFO] [stdout] test graph::tests::test_qualified_module_name_includes_full_package_path ... ok
[INFO] [stdout] test graph::tests::test_dotted_import_does_not_create_edges_to_middle_segments ... ok
[INFO] [stdout] test graph::tests::test_push_dotted_segments ... ok
[INFO] [stdout] test graph::tests::test_touch_dynamic_import_helpers_for_static_coverage ... ok
[INFO] [stdout] test graph::tests::test_graph_imports_and_cycles ... ok
[INFO] [stdout] test graph::tests::test_helpers_imports_and_complexity ... ok
[INFO] [stdout] test graph::graph_test_2::test_from_import_adds_submodule_candidate_when_internal ... ok
[INFO] [stdout] test layout_cycles::tests::test_analyze_cycles_multiple_cycles ... ok
[INFO] [stdout] test layout_cycles::tests::test_cycle_break_reason_does_not_claim_unimplemented_min_cut ... ok
[INFO] [stdout] test layout_cycles::tests::test_analyze_cycles_returns_suggestions ... ok
[INFO] [stdout] test layout_cycles::tests::test_cycle_break_suggestion_clone_and_eq ... ok
[INFO] [stdout] test layout_cycles::tests::test_analyze_cycles_no_cycles ... ok
[INFO] [stdout] test layout_cycles::tests::test_find_deterministic_break_edge_picks_alphabetically_first ... ok
[INFO] [stdout] test layout_cycles::tests::test_find_deterministic_break_edge_three_node_cycle ... ok
[INFO] [stdout] test layout_cycles::tests::test_is_nontrivial_cycle_empty ... ok
[INFO] [stdout] test layout_cycles::tests::test_find_deterministic_break_edge_self_loop_returns_edge ... ok
[INFO] [stdout] test layout_layers::tests::static_coverage_touch_layer_internals ... ok
[INFO] [stdout] test graph::tests::test_type_checking_imports_included_in_graph ... ok
[INFO] [stdout] test layout_cycles::tests::test_find_nontrivial_sccs_detects_cycle ... ok
[INFO] [stdout] test layout_cycles::tests::test_layout_cycle_analysis_default ... ok
[INFO] [stdout] test layout_layers::tests::test_build_condensation_preserves_edges ... ok
[INFO] [stdout] test layout_layers::tests::test_build_condensation_removes_intra_scc_edges ... ok
[INFO] [stdout] test layout_layers::tests::test_build_condensation_single_node ... ok
[INFO] [stdout] test layout_layers::tests::test_all_assignments ... ok
[INFO] [stdout] test layout_layers::tests::test_complex_graph_with_multiple_sccs ... ok
[INFO] [stdout] test layout_layers::tests::test_cycle_depends_on_foundation ... ok
[INFO] [stdout] test layout_layers::tests::test_cycle_with_dependency ... ok
[INFO] [stdout] test layout_layers::tests::test_layer_for_unknown_module ... ok
[INFO] [stdout] test layout_layers::tests::test_empty_graph ... ok
[INFO] [stdout] test layout_layers::tests::test_compute_layer_for_node_cached ... ok
[INFO] [stdout] test layout_cycles::tests::test_find_nontrivial_sccs_no_cycle ... ok
[INFO] [stdout] test layout_layers::tests::test_multiple_isolated_nodes ... ok
[INFO] [stdout] test layout_cycles::tests::test_find_nontrivial_sccs_self_loop ... ok
[INFO] [stdout] test layout_layers::tests::test_linear_chain ... ok
[INFO] [stdout] test layout_output::layout_output_test_2::static_coverage_touch_format_helpers ... ok
[INFO] [stdout] test layout_layers::tests::test_multiple_foundations ... ok
[INFO] [stdout] test layout_output::layout_output_test_2::test_default_layer_name_two_layers ... ok
[INFO] [stdout] test layout_layers::tests::test_single_node_no_edges ... ok
[INFO] [stdout] test layout_output::tests::test_default_layer_name_application ... ok
[INFO] [stdout] test layout_layers::tests::test_two_node_cycle ... ok
[INFO] [stdout] test layout_layers::tests::test_three_node_cycle ... ok
[INFO] [stdout] test layout_output::tests::test_default_layer_name_domain ... ok
[INFO] [stdout] test layout_output::tests::test_default_layer_name_foundation ... ok
[INFO] [stdout] test layout_output::tests::test_format_cycles_empty ... ok
[INFO] [stdout] test layout_output::tests::test_format_layers_empty ... ok
[INFO] [stdout] test layout_output::tests::test_format_layers_single_layer ... ok
[INFO] [stdout] test layout_output::tests::test_format_markdown_full_example ... ok
[INFO] [stdout] test layout_output::tests::test_default_layer_name_intermediate ... ok
[INFO] [stdout] test layout_output::tests::test_format_markdown_empty_analysis ... ok
[INFO] [stdout] test layout_output::tests::test_format_markdown_with_layers ... ok
[INFO] [stdout] test layout_output::tests::test_format_markdown_with_what_if ... ok
[INFO] [stdout] test layout_output::tests::test_format_summary_cross_deps_only ... ok
[INFO] [stdout] test layout_output::tests::test_format_what_if_empty_summary ... ok
[INFO] [stdout] test layout_output::tests::test_format_summary_cycles_only ... ok
[INFO] [stdout] test layout_layers::tests::test_deep_linear_chain_no_stack_overflow ... ok
[INFO] [stdout] test layout_output::tests::test_format_what_if_none ... ok
[INFO] [stdout] test layout_output::tests::test_layout_metrics_default ... ok
[INFO] [stdout] test layout_output::tests::test_layout_metrics_equality ... ok
[INFO] [stdout] test layout_output::tests::test_summary_singular_forms ... ok
[INFO] [stdout] test layout_output::tests::test_three_layer_structure ... ok
[INFO] [stdout] test layout_output::tests::test_what_if_analysis_default ... ok
[INFO] [stdout] test minhash::tests::test_add_bucket_pairs ... ok
[INFO] [stdout] test minhash::tests::test_add_bucket_pairs_single ... ok
[INFO] [stdout] test layout_output::tests::test_what_if_analysis_equality ... ok
[INFO] [stdout] test minhash::tests::test_generate_shingles_zero_size_returns_empty ... ok
[INFO] [stdout] test minhash::tests::test_minhash_different ... ok
[INFO] [stdout] test minhash::tests::test_estimate_similarity_is_symmetric ... ok
[INFO] [stdout] test minhash::tests::test_lsh_candidates ... ok
[INFO] [stdout] test minhash::tests::test_minhash_identical ... ok
[INFO] [stdout] test minhash::tests::test_minhash_signature_struct ... ok
[INFO] [stdout] test minhash::tests::test_normalize_code ... ok
[INFO] [stdout] test parsing::tests::test_parse_error_display ... ok
[INFO] [stdout] test minhash::tests::test_shingles ... ok
[INFO] [stdout] test parsing::tests::test_parse_error_display_fmt ... ok
[INFO] [stdout] test parsing::tests::test_create_parser ... ok
[INFO] [stdout] test parsing::tests::test_parse_file_nonexistent ... ok
[INFO] [stdout] test parsing::tests::test_parse_error_from_io_error ... ok
[INFO] [stdout] test parsing::tests::test_parse_file_success ... ok
[INFO] [stdout] test parsing::tests::test_parsed_file_struct ... ok
[INFO] [stdout] test py_imports::tests::static_coverage_touch_import_collectors ... ok
[INFO] [stdout] test py_imports::tests::test_is_type_checking_block_direct ... ok
[INFO] [stdout] test py_imports::tests::test_collect_import_names_direct ... ok
[INFO] [stdout] test py_imports::tests::test_wildcard_import_counted ... ok
[INFO] [stdout] test parsing::tests::test_parse_files_multiple ... ok
[INFO] [stdout] test py_imports::tests::test_type_checking_imports_excluded ... ok
[INFO] [stdout] test py_metrics::py_metrics_test::tests::test_file_types_split ... ok
[INFO] [stdout] test py_metrics::py_metrics_test::tests::test_boolean_params_count ... ok
[INFO] [stdout] test py_imports::tests::test_import_counting ... ok
[INFO] [stdout] test py_metrics::py_metrics_test::tests::test_import_statements_not_counted ... ok
[INFO] [stdout] test py_metrics::py_metrics_test::tests::test_params_and_decorators ... ok
[INFO] [stdout] test py_metrics::py_metrics_test::tests::test_touch_file_count_helpers_for_static_coverage ... ok
[INFO] [stdout] test py_metrics::py_metrics_test::tests::test_statements_and_branches ... ok
[INFO] [stdout] test py_metrics::py_metrics_test::tests::test_touch_return_helpers_for_static_coverage ... ok
[INFO] [stdout] test py_metrics::py_metrics_test::tests::test_return_values ... ok
[INFO] [stdout] test py_metrics::py_metrics_test_2::static_coverage_touch_body_and_file_walkers ... ok
[INFO] [stdout] test py_metrics::py_metrics_test_2::test_is_interface_token ... ok
[INFO] [stdout] test py_metrics::py_metrics_test::tests::test_touch_statement_counters_for_static_coverage ... ok
[INFO] [stdout] test py_metrics::py_metrics_test_2::test_typed_kwargs_not_counted ... ok
[INFO] [stdout] test py_metrics::py_metrics_test_2::test_typed_star_args_counts_correctly ... ok
[INFO] [stdout] test py_metrics::py_metrics_test_2::test_compute_function_metrics_self_not_counted ... ok
[INFO] [stdout] test py_metrics::py_metrics_test_2::test_typed_star_args_with_leading_positional ... ok
[INFO] [stdout] test py_metrics::py_metrics_test::tests::test_variables_and_nesting ... ok
[INFO] [stdout] test rust_counts::tests::test_analyzer_basic ... ok
[INFO] [stdout] test rust_counts::tests::analyze_nested_mod_without_cfg_still_checked ... ok
[INFO] [stdout] test rust_counts::tests::test_analyzer_checks ... ok
[INFO] [stdout] test rule_defs::rule_defs_test::test_rules_and_categories ... ok
[INFO] [stdout] test py_metrics::py_metrics_test_2::test_untyped_star_args_counts_correctly ... ok
[INFO] [stdout] test rust_counts::tests::analyze_skips_cfg_test_mod_for_per_function_rules ... ok
[INFO] [stdout] test rust_fn_metrics::tests::static_coverage_touch_accumulate_and_cfg_scan ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_count_non_doc_attrs_excludes_doc ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_cfg_not_test_mod_included_in_metrics ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_cfg_test_mod_compound_expression_skipped ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_count_use_names ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_double_negation_not_not_test_is_test_code ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_file_metrics ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_file_metrics_nested_mod ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_function_metrics ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_inner_fn_locals_not_counted_in_outer ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_inner_fn_statements_not_counted_in_outer ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_is_bool_param ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_inner_fn_branches_not_counted_in_outer ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_is_cfg_test_mod_semantics ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_structs ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_use_statements_in_function_not_counted ... ok
[INFO] [stdout] test rust_graph::tests::extracts_function_scoped_use ... ok
[INFO] [stdout] test rust_fn_metrics::tests::test_visitor ... ok
[INFO] [stdout] test rust_graph::tests::extracts_impl_method_scoped_use ... ok
[INFO] [stdout] test rust_graph::tests::extracts_inline_module_use ... ok
[INFO] [stdout] test rust_graph::tests::extracts_multiple_uses ... ok
[INFO] [stdout] test rust_graph::tests::extracts_path_use ... ok
[INFO] [stdout] test rust_graph::tests::extracts_simple_use ... ok
[INFO] [stdout] test rust_graph::tests::handles_grouped_uses ... ok
[INFO] [stdout] test rust_graph::tests::test_collect_use_paths ... ok
[INFO] [stdout] test rust_graph::tests::test_qualified_rust_module_name ... ok
[INFO] [stdout] test rust_graph::tests::test_build_rust_dependency_graph ... ok
[INFO] [stdout] test rust_graph::tests::test_touch_private_helpers_for_static_coverage ... ok
[INFO] [stdout] test rust_graph::tests::mod_decls_prefer_child_module_under_same_parent ... ok
[INFO] [stdout] test rust_graph::tests::test_same_stem_different_dirs_no_collision ... ok
[INFO] [stdout] test rust_parsing::tests::parses_simple_rust_file ... ok
[INFO] [stdout] test rust_parsing::tests::parses_rust_file_with_struct_and_impl ... ok
[INFO] [stdout] test rust_counts::tests::test_analyzer_impl_and_fn ... ok
[INFO] [stdout] test rust_counts::tests::test_helpers ... ok
[INFO] [stdout] test rust_parsing::tests::returns_error_for_invalid_rust ... ok
[INFO] [stdout] test rust_parsing::tests::returns_error_for_nonexistent_file ... ok
[INFO] [stdout] test rust_parsing::tests::test_rust_parse_error_display_fmt ... ok
[INFO] [stdout] test rust_parsing::tests::test_rust_parse_error_enum ... ok
[INFO] [stdout] test rust_parsing::tests::test_parse_rust_files ... ok
[INFO] [stdout] test rust_test_refs::definitions::definitions_coverage::collect_rust_definitions_on_file ... ok
[INFO] [stdout] test rust_parsing::tests::test_parsed_rust_file_struct ... ok
[INFO] [stdout] test rust_test_refs::definitions::definitions_coverage::is_trivial_expr_variants ... ok
[INFO] [stdout] test rust_test_refs::definitions::definitions_coverage::is_qualified_or_known_call_variants ... ok
[INFO] [stdout] test rust_test_refs::definitions::definitions_coverage::try_add_def_public_and_private ... ok
[INFO] [stdout] test rust_test_refs::definitions::definitions_coverage::is_trivial_stmt_variants ... ok
[INFO] [stdout] test rust_test_refs::tests::test_collect_per_test_usage_from_items_direct ... ok
[INFO] [stdout] test rust_test_refs::tests::test_analyze_refs ... ok
[INFO] [stdout] test rust_test_refs::tests::test_collect_rust_references ... ok
[INFO] [stdout] test rust_test_refs::definitions::definitions_coverage::well_known_constructors_recognized ... ok
[INFO] [stdout] test rust_test_refs::tests::test_collect_rust_references_for_fn_direct ... ok
[INFO] [stdout] test rust_test_refs::tests::test_coverage_checks ... ok
[INFO] [stdout] test rust_test_refs::tests::test_file_detection_and_helpers ... ok
[INFO] [stdout] test rust_test_refs::tests::test_definitions_and_references ... ok
[INFO] [stdout] test rust_test_refs::tests::test_insert_path_segments ... ok
[INFO] [stdout] test rust_test_refs::tests::test_is_binary_entry_point ... ok
[INFO] [stdout] test rust_test_refs::tests::test_is_external_crate_common_deps ... ok
[INFO] [stdout] test rust_test_refs::tests::test_trivial_binary_main_detection ... ok
[INFO] [stdout] test rust_test_refs::tests::test_trivial_binary_main_rejects_method_call_with_unvetted_arguments ... ok
[INFO] [stdout] test rust_test_refs::tests::test_impl_method_covered_when_type_referenced ... ok
[INFO] [stdout] test rust_test_refs::tests::test_same_name_different_files_disambiguated_by_module ... ok
[INFO] [stdout] test rust_test_refs::tests::test_trivial_binary_main_rejects_qualified_call_with_unvetted_arguments ... ok
[INFO] [stdout] test rust_test_refs::tests::test_visit_macro_tokens_direct ... ok
[INFO] [stdout] test layout_output::tests::test_format_summary_violations_only ... ok
[INFO] [stdout] test minhash::tests::test_hash_band ... ok
[INFO] [stdout] test py_metrics::py_metrics_test::tests::test_touch_analyze_body_helpers_for_static_coverage ... ok
[INFO] [stdout] test rust_units::rust_units_test::extracts_enum ... ok
[INFO] [stdout] test rust_units::rust_units_test::extracts_function ... ok
[INFO] [stdout] test rust_test_refs::tests::test_visitor_and_macros ... ok
[INFO] [stdout] test rust_test_refs::definitions::definitions_coverage::collect_test_module_references_finds_refs ... ok
[INFO] [stdout] test layout_output::tests::test_format_cycles_multiple ... ok
[INFO] [stdout] test layout_output::tests::test_format_markdown_with_cycles ... ok
[INFO] [stdout] test rust_units::rust_units_test::includes_module_for_file ... ok
[INFO] [stdout] test rust_test_refs::definitions::definitions_coverage::is_delegation_only_block_variants ... ok
[INFO] [stdout] test rust_units::rust_units_test::test_visit_item_directly ... ok
[INFO] [stdout] test rust_units::rust_units_test::test_estimate_block_lines ... ok
[INFO] [stdout] test shrink::tests::test_parse_target_arg ... ok
[INFO] [stdout] test shrink::tests::test_shrink_target_get ... ok
[INFO] [stdout] test rust_units::rust_units_test::test_code_unit_visitor_struct ... ok
[INFO] [stdout] test shrink::tests::test_shrink_violation_display ... ok
[INFO] [stdout] test shrink::tests::test_check_shrink_constraints_no_violations ... ok
[INFO] [stdout] test shrink::tests::test_check_shrink_constraints_with_violations ... ok
[INFO] [stdout] test shrink::tests::test_shrink_state_save_load ... ok
[INFO] [stdout] test stats::collect_rust::collect_rust_coverage::collect_rust_impl_with_top_level_fn ... ok
[INFO] [stdout] test stats::collect_rust::collect_rust_coverage::collect_rust_impl_populates_method_stats ... ok
[INFO] [stdout] test stats::collect_rust::collect_rust_coverage::touch_for_coverage ... ok
[INFO] [stdout] test stats::tests::test_cycle_size_is_per_module_distribution ... ok
[INFO] [stdout] test stats::tests::test_graph_metrics ... ok
[INFO] [stdout] test stats::tests::test_graph_metrics_exclude_external_nodes_from_distributions ... ok
[INFO] [stdout] test stats::tests::test_generate_config_toml_includes_boolean_parameters ... ok
[INFO] [stdout] test shrink::tests::test_shrink_target_roundtrip ... ok
[INFO] [stdout] test stats::tests::test_collection_rust_push_and_items ... ok
[INFO] [stdout] test stats::tests::test_collection_rust_and_py_parsing ... ok
[INFO] [stdout] test stats::tests::test_metric_values ... ok
[INFO] [stdout] test stats::tests::test_push_py_fn_metrics ... ok
[INFO] [stdout] test stats::tests::test_stats_helpers ... ok
[INFO] [stdout] test stats::tests::test_metric_registry ... ok
[INFO] [stdout] test stats_detailed::python::python_coverage::walk_detailed_children_traverses_nested ... ok
[INFO] [stdout] test stats_detailed::python::python_coverage::push_py_function_unit_and_push_py_class_unit_names ... ok
[INFO] [stdout] test stats_detailed::rust::rust_coverage::push_impl_block_and_push_impl_method_metrics ... ok
[INFO] [stdout] test stats_detailed::python::python_coverage::unit_metrics_from_py_function_fields ... ok
[INFO] [stdout] test stats_detailed::python::python_coverage::collect_detailed_from_node_produces_class_metrics ... ok
[INFO] [stdout] test stats_detailed::rust::rust_coverage::push_top_level_fn_metrics ... ok
[INFO] [stdout] test config_gen::config_gates::test_collection ... ok
[INFO] [stdout] test stats_detailed::python::python_coverage::collect_detailed_from_node_produces_function_metrics ... ok
[INFO] [stdout] test stats_detailed::rust::rust_coverage::rust_fn_method_push_struct_used ... ok
[INFO] [stdout] test stats_detailed::python::python_coverage::touch_for_coverage ... ok
[INFO] [stdout] test stats_detailed::tests::static_coverage_touch_module_id_and_rust_push ... ok
[INFO] [stdout] test stats_detailed::rust::rust_coverage::touch_for_coverage ... ok
[INFO] [stdout] test stats_detailed::tests::test_collect_detailed_py_empty ... ok
[INFO] [stdout] test stats_detailed::tests::test_collect_detailed_from_items ... ok
[INFO] [stdout] test stats_detailed::tests::test_format_detailed_table ... ok
[INFO] [stdout] test stats_detailed::tests::test_collect_detailed_rs_empty ... ok
[INFO] [stdout] test stats_detailed::tests::test_get_impl_name ... ok
[INFO] [stdout] test stats_detailed::tests::test_module_name_from_path ... ok
[INFO] [stdout] test stats_detailed::tests::test_collect_detailed_from_node ... ok
[INFO] [stdout] test stats_detailed::tests::test_file_unit_metrics_uses_graph_module_id_for_path ... ok
[INFO] [stdout] test stats_detailed::tests::test_truncate ... ok
[INFO] [stdout] test symbol_mv::plan::plan_coverage::touch_private_plan_helpers_for_coverage_gate ... ok
[INFO] [stdout] test symbol_mv::symbol_mv_coverage::run_mv_command_dry_run_returns_zero_or_one ... ok
[INFO] [stdout] test symbol_mv::symbol_mv_coverage::apply_plan_transactional_empty_plan_succeeds ... ok
[INFO] [stdout] test symbol_mv::symbol_mv_coverage::mv_plan_and_planned_edit_construction ... ok
[INFO] [stdout] test symbol_mv::symbol_mv_coverage::touch_symbol_mv_public_api ... ok
[INFO] [stdout] test symbol_mv::symbol_mv_coverage::language_name_returns_expected_strings ... ok
[INFO] [stdout] test symbol_mv_support::definition::definition_coverage::brace_and_impl_helpers ... ok
[INFO] [stdout] test symbol_mv_support::definition::definition_coverage::decorated_start_with_decorators ... ok
[INFO] [stdout] test symbol_mv_support::definition::definition_coverage::extend_class_block_multiline ... ok
[INFO] [stdout] test symbol_mv_support::definition::definition_coverage::find_rust_definition_span_standalone_function ... ok
[INFO] [stdout] test symbol_mv_support::definition::definition_coverage::find_definition_span_rust_impl_fn ... ok
[INFO] [stdout] test symbol_mv_support::definition::definition_coverage::find_python_definition_span_standalone_function ... ok
[INFO] [stdout] test symbol_mv_support::definition::definition_coverage::split_lines_with_offsets_basic ... ok
[INFO] [stdout] test symbol_mv_support::edits::edits_coverage::rename_definition_text_replaces_name ... ok
[INFO] [stdout] test symbol_mv_support::definition::definition_coverage::find_definition_span_python_class_method ... ok
[INFO] [stdout] test symbol_mv_support::identifiers::identifiers_coverage::identifier_helpers_smoke ... ok
[INFO] [stdout] test symbol_mv_support::definition::definition_coverage::rust_lexer_is_inside_non_code_states ... ok
[INFO] [stdout] test symbol_mv_support::definition::definition_coverage::split_lines_with_offsets_no_trailing_newline ... ok
[INFO] [stdout] test symbol_mv_support::lex::lex_coverage::comments_and_strings ... ok
[INFO] [stdout] test symbol_mv_support::lex::lex_coverage::try_parse_char_literal_variants ... ok
[INFO] [stdout] test symbol_mv_support::lex::lex_coverage::try_parse_raw_string_start_variants ... ok
[INFO] [stdout] test symbol_mv_support::lex::lex_coverage::is_code_offset_basics_and_lex_helpers ... ok
[INFO] [stdout] test symbol_mv_support::run_mv::run_mv_coverage::touch_run_mv_helpers_for_coverage_gate ... ok
[INFO] [stdout] test symbol_mv_support::lex::lex_coverage::triple_string_states ... ok
[INFO] [stdout] test symbol_mv_support::reference::reference_coverage::touch_reference_helpers_for_coverage_gate ... ok
[INFO] [stdout] test symbol_mv_support::symbol_mv_support_test::basics_detect_and_parse ... ok
[INFO] [stdout] test symbol_mv_support::symbol_mv_support_test::definition_span_contains ... ok
[INFO] [stdout] test symbol_mv_support::symbol_mv_support_test::find_python_definition_span_finds_method ... ok
[INFO] [stdout] test symbol_mv_support::symbol_mv_support_test::find_rust_definition_span_finds_fn ... ok
[INFO] [stdout] test test_refs::tests::test_collect_class_test_methods_extracts_test_methods ... ok
[INFO] [stdout] test symbol_mv_support::symbol_mv_support_test::collect_edits_roundtrip_smoke ... ok
[INFO] [stdout] test test_refs::tests::test_collect_all_test_file_data_imports_calls_decorators ... ok
[INFO] [stdout] test symbol_mv_support::transaction::transaction_coverage::touch_transaction_helpers_for_coverage_gate ... ok
[INFO] [stdout] test test_refs::tests::test_collect_usage_refs_in_scope_gathers_calls_and_identifiers ... ok
[INFO] [stdout] test test_refs::tests::test_collect_test_functions_with_refs_top_level_and_class ... ok
[INFO] [stdout] test symbol_mv_support::symbol_mv_support_test::apply_plan_transactional_writes ... ok
[INFO] [stdout] test symbol_mv_support::symbol_mv_support_test::build_move_edits_inserts_at_dest ... ok
[INFO] [stdout] test test_refs::tests::test_has_test_framework_import ... ok
[INFO] [stdout] test symbol_mv_support::transaction::transaction_coverage::apply_plan_transactional_success_writes_file ... ok
[INFO] [stdout] test config::tests::test_merge_and_apply ... ok
[INFO] [stdout] test rust_units::rust_units_test::extracts_struct_and_methods ... ok
[INFO] [stdout] test test_refs::tests::test_collect_definitions_skips_test_functions ... ok
[INFO] [stdout] test layout_layers::tests::test_diamond_dependency ... ok
[INFO] [stdout] test rust_test_refs::tests::test_trivial_main_skipped_in_definitions ... ok
[INFO] [stdout] test test_refs::tests::test_disambiguate_by_graph_when_refs_tie ... ok
[INFO] [stdout] test discovery::tests::test_find_source_files_with_ignore ... ok
[INFO] [stdout] test test_refs::tests::test_insert_identifier_captures_name ... ok
[INFO] [stdout] test test_refs::tests::test_is_in_test_directory ... ok
[INFO] [stdout] test test_refs::tests::test_is_test_file_requires_naming_pattern ... ok
[INFO] [stdout] test test_refs::tests::test_is_test_file_by_name ... ok
[INFO] [stdout] test test_refs::tests::test_nested_functions_not_tracked_for_coverage ... ok
[INFO] [stdout] test test_refs::tests::test_same_name_different_files_disambiguated_by_module ... ok
[INFO] [stdout] test test_refs::tests::test_try_add_def_private_skipped ... ok
[INFO] [stdout] test test_refs::tests_2::test_coverage_map_one_function_covered_by_two_tests ... ok
[INFO] [stdout] test test_refs::tests_2::test_abstract_methods_excluded_from_coverage ... ok
[INFO] [stdout] test test_refs::tests_2::test_file_stem_collision_no_false_positive ... ok
[INFO] [stdout] test test_refs::tests_2::test_import_without_call_not_covered ... ok
[INFO] [stdout] test test_refs::tests_2::test_protocol_class_excluded_from_coverage ... ok
[INFO] [stdout] test discovery::tests::test_find_source_files ... ok
[INFO] [stdout] test test_refs::tests_2::test_class_import_without_use_not_covered ... ok
[INFO] [stdout] test test_refs::tests_3::test_collect_call_target_simple_and_attribute ... ok
[INFO] [stdout] test test_refs::tests_2::test_import_module_without_from_falls_back ... ok
[INFO] [stdout] test test_refs::tests_2::test_relative_import_falls_back_to_flat_refs ... ok
[INFO] [stdout] test test_refs::tests_2::test_import_with_call_is_covered ... ok
[INFO] [stdout] test test_refs::tests_2::test_same_stem_as_function_name_different_dirs ... ok
[INFO] [stdout] test test_refs::tests_3::test_collect_definitions_classes_and_methods ... ok
[INFO] [stdout] test symbol_mv_support::symbol_mv_support_test::run_mv_inner_errors_on_empty_plan ... ok
[INFO] [stdout] test test_refs::tests_3::test_collect_definitions_abstract_methods_excluded ... ok
[INFO] [stdout] test test_refs::tests_3::test_collect_definitions_protocol_class_excluded ... ok
[INFO] [stdout] test test_refs::tests_3::test_collect_type_refs_captures_type_annotations ... ok
[INFO] [stdout] test test_refs::tests_3::test_collect_refs_parallel_mixed_files ... ok
[INFO] [stdout] test test_refs::tests_3::test_is_covered_by_import_matching ... ok
[INFO] [stdout] test test_refs::tests_3::test_is_covered_by_import_no_usage ... ok
[INFO] [stdout] test symbol_mv_support::symbol_mv_support_test::gather_candidate_files_respects_language ... ok
[INFO] [stdout] test test_refs::tests_3::test_extract_import_from_binding_aliased ... ok
[INFO] [stdout] test test_refs::tests_3::test_extract_import_from_binding_basic ... ok
[INFO] [stdout] test test_refs::tests_3::test_extract_import_from_binding_relative_skipped ... ok
[INFO] [stdout] test test_refs::tests_3::test_is_covered_by_import_wrong_module ... ok
[INFO] [stdout] test test_refs::tests_4::test_build_py_coverage_map_per_test_tracking ... ok
[INFO] [stdout] test test_refs::tests_3::test_collect_import_names_from_import_statement ... ok
[INFO] [stdout] test test_refs::tests_4::test_build_ref_to_covered_def_indices_unique_and_class ... ok
[INFO] [stdout] test test_refs::tests_4::test_has_python_test_naming_various ... ok
[INFO] [stdout] test test_refs::tests_4::test_contains_test_module_name_import_statement ... ok
[INFO] [stdout] test test_refs::tests_4::test_has_test_function_or_class_detects_test_class ... ok
[INFO] [stdout] test test_refs::tests_4::test_has_test_function_or_class_detects_test_func ... ok
[INFO] [stdout] test test_refs::tests_4::test_is_definition_covered_unique_name ... ok
[INFO] [stdout] test test_refs::tests_4::test_is_definition_covered_by_containing_class ... ok
[INFO] [stdout] test test_refs::tests_4::test_is_definition_covered_disambiguation_winner ... ok
[INFO] [stdout] test test_refs::tests_4::test_is_python_test_file_regular_file ... ok
[INFO] [stdout] test test_refs::tests_4::test_is_python_test_file_by_content ... ok
[INFO] [stdout] test test_refs::tests_4::test_is_test_framework_import_from_node ... ok
[INFO] [stdout] test test_refs::tests_4::test_is_python_test_file_in_tests_dir ... ok
[INFO] [stdout] test test_refs::tests_5::test_disambiguate_files_both_match_returns_none ... ok
[INFO] [stdout] test test_refs::tests_4::test_is_test_framework_known_names ... ok
[INFO] [stdout] test test_refs::tests_4::test_is_python_test_file_by_name ... ok
[INFO] [stdout] test test_refs::tests_5::test_analyze_test_refs_inner_with_graph ... ok
[INFO] [stdout] test test_refs::tests_5::test_collect_test_files_for_ambiguous_names_via_build ... ok
[INFO] [stdout] test test_refs::tests_5::test_disambiguate_files_no_match ... ok
[INFO] [stdout] test test_refs::tests_5::test_disambiguate_files_unique_path_segment ... ok
[INFO] [stdout] test test_refs::tests_5::test_disambiguate_files_graph_fallback_empty_test_files ... ok
[INFO] [stdout] test test_refs::tests_5::test_file_to_module_suffix_basic ... ok
[INFO] [stdout] test test_refs::tests_5::test_is_test_class_direct ... ok
[INFO] [stdout] test test_refs::tests_5::test_is_test_function_direct ... ok
[INFO] [stdout] test test_refs::tests_5::test_path_identifiers_segments ... ok
[INFO] [stdout] test test_refs::tests_5::test_is_protocol_class_direct ... ok
[INFO] [stdout] test test_refs::tests_5::test_module_suffix_matches_exact_and_suffix ... ok
[INFO] [stdout] test test_refs::tests_5::test_analyze_test_refs_quick_no_coverage_map ... ok
[INFO] [stdout] test units::tests::test_code_unit_kind_as_str ... ok
[INFO] [stdout] test units::tests::test_code_unit_kind_all_variants ... ok
[INFO] [stdout] test units::tests::static_coverage_touch_count_from_node ... ok
[INFO] [stdout] test test_refs::tests_5::test_is_abstract_method_direct ... ok
[INFO] [stdout] test test_refs::tests_5::test_test_ref_analysis_struct_fields ... ok
[INFO] [stdout] test units::tests::test_code_unit_struct ... ok
[INFO] [stdout] test test_refs::tests_5::test_path_identifiers_flat_file ... ok
[INFO] [stdout] test units::tests::test_code_unit_positions ... ok
[INFO] [stdout] test test_refs::tests_5::test_resolve_ambiguous_name_ref_based ... ok
[INFO] [stdout] test units::tests::test_count_matches_extract_len ... ok
[INFO] [stdout] test units::tests::test_extract_async_function ... ok
[INFO] [stdout] test units::tests::test_extract_class ... ok
[INFO] [stdout] test units::tests::test_extract_from_node_direct ... ok
[INFO] [stdout] test units::tests::test_code_unit_kind_eq ... ok
[INFO] [stdout] test units::tests::test_extract_from_node_recursion ... ok
[INFO] [stdout] test discovery::tests::test_find_files_by_extension ... ok
[INFO] [stdout] test units::tests::test_extract_method ... ok
[INFO] [stdout] test violation::tests::test_violation_builder ... ok
[INFO] [stdout] test units::tests::test_extract_module ... ok
[INFO] [stdout] test violation::tests::test_violation_builder_default_line ... ok
[INFO] [stdout] test violation::tests::test_violation_has_all_required_fields ... ok
[INFO] [stdout] test violation::tests::test_violation_suggestion_is_actionable ... ok
[INFO] [stdout] test units::tests::test_get_child_by_field ... ok
[INFO] [stdout] test units::tests::test_nested_function_is_function ... ok
[INFO] [stdout] test units::tests::test_extract_function ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/kiss-69af8076302a0595)
[INFO] [stdout] test test_refs::tests_3::test_collect_refs_parallel_no_coverage_map ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 444 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 136 tests
[INFO] [stdout] test analyze::coverage::coverage_touch::struct_sizes_for_gate ... ok
[INFO] [stdout] test analyze::dry::dry_helpers_test::test_dry_run_params_struct ... ok
[INFO] [stdout] test analyze::entry::entry_touch::empty_repo_matches_default_metrics ... ok
[INFO] [stdout] test analyze::coverage::coverage_touch::test_build_viols_after_merge_empty ... ok
[INFO] [stdout] test analyze::dry::dry_helpers_test::empty_inputs_smoke ... ok
[INFO] [stdout] test analyze::coverage_gate::coverage_gate_tests::test_analysis_tuples_empty ... ok
[INFO] [stdout] test analyze::finalize::finalize_touch::finalize_functions_exist ... ok
[INFO] [stdout] test analyze::entry::entry_touch::test_try_cache_hit_returns_none_when_not_bypass ... ok
[INFO] [stdout] test analyze::finalize::finalize_touch::struct_size_for_gate ... ok
[INFO] [stdout] test analyze::entry::entry_touch::test_focus_set_for_opts_universe_path ... ok
[INFO] [stdout] test analyze::finalize::finalize_touch::test_build_metrics_counts_files ... ok
[INFO] [stdout] test analyze::coverage::coverage_touch::test_build_viols_after_merge_with_unreferenced ... ok
[INFO] [stdout] test analyze::finalize::finalize_touch::test_build_metrics_empty ... ok
[INFO] [stdout] test analyze::gated::gated_tests::test_gated_py_parallel_in_constructible ... ok
[INFO] [stdout] test analyze::tests_smoke::test_print_functions_and_helpers ... ok
[INFO] [stdout] test analyze::params::params_coverage_touch::touch_param_structs_for_kiss_gate ... ok
[INFO] [stdout] test analyze::graph_api::graph_api_touch::struct_sizes_for_gate ... ok
[INFO] [stdout] test analyze::tests_smoke::test_structs ... ok
[INFO] [stdout] test analyze::tests_touch::test_touch_for_static_test_coverage_part_c ... ok
[INFO] [stdout] test analyze::tests_touch::test_touch_for_static_test_coverage_part_d ... ok
[INFO] [stdout] test analyze_cache::tests::fnv1a64_properties ... ok
[INFO] [stdout] test analyze_cache::tests::cache_round_trip_and_helpers ... ok
[INFO] [stdout] test analyze_parse::tests::test_parse_all_empty ... ok
[INFO] [stdout] test analyze_parse::tests::test_parse_all_timed_params_constructible ... ok
[INFO] [stdout] test analyze_cache::tests::full_cache_inputs_and_store ... ok
[INFO] [stdout] test analyze::tests_smoke::test_print_all_results ... ok
[INFO] [stdout] test analyze_parse::tests::test_parse_and_analyze_py_timed_empty ... ok
[INFO] [stdout] test analyze::tests_touch::test_touch_for_static_test_coverage_part_b ... ok
[INFO] [stdout] test analyze::parallel::parallel_touch::struct_sizes_for_gate ... ok
[INFO] [stdout] test analyze_parse::tests::test_py_agg_empty_returns_zeros ... ok
[INFO] [stdout] test analyze::graph_api::graph_for_path_extension_tests::graph_for_path_accepts_uppercase_py_and_rs_extensions ... ok
[INFO] [stdout] test analyze::tests_touch::test_touch_for_static_test_coverage_part_a ... ok
[INFO] [stdout] test analyze::tests_coverage::test_write_gate_py_sources_creates_files ... ok
[INFO] [stdout] test analyze_parse::tests::test_py_agg_merge_combines ... ok
[INFO] [stdout] test bin_cli::config_session::tests::test_run_init_command_nonexistent_path ... ok
[INFO] [stdout] test bin_cli::dispatch::dispatch_coverage::touch_dispatch_entrypoints_for_coverage_gate ... ok
[INFO] [stdout] test bin_cli::dispatch::dispatch_coverage::touch_dispatch_option_structs_for_coverage_gate ... ok
[INFO] [stdout] test bin_cli::config_session::tests::test_run_init_command_file_not_dir ... ok
[INFO] [stdout] test bin_cli::gates_core::test_cli_and_commands ... ok
[INFO] [stdout] test analyze::tests_smoke::test_detect_duplicates ... ok
[INFO] [stdout] test analyze::tests_coverage::test_gate_helpers_and_empty_analysis ... ok
[INFO] [stdout] test analyze::gated::gated_tests::test_gated_py_parallel_empty ... ok
[INFO] [stdout] test analyze_parse::tests::test_py_file_agg_smoke ... ok
[INFO] [stdout] test analyze_parse::tests::test_py_parsed_or_log_ok ... ok
[INFO] [stdout] test analyze_parse::tests::test_parse_all_timed_with_timing ... ok
[INFO] [stdout] test bin_cli::config_session::tests::test_run_init_command_existing_config ... ok
[INFO] [stdout] test analyze_parse::tests::test_structural_thresholds_apply_to_python_test_files ... ok
[INFO] [stdout] test analyze::tests_coverage::test_coverage_gate_per_file_fails_when_one_file_below_threshold ... ok
[INFO] [stdout] test analyze::tests_coverage::test_parse_gate_py_returns_three_files ... ok
[INFO] [stdout] test analyze_parse::tests::test_parse_all_with_files ... ok
[INFO] [stdout] test analyze::entry::entry_touch::test_run_analyze_empty_dir ... ok
[INFO] [stdout] test bin_cli::gates_shrink::static_coverage_touch_main_entrypoints ... ok
[INFO] [stdout] test bin_cli::shrink_analysis_types::shrink_analysis_types_coverage::touch_analysis_arg_types ... ok
[INFO] [stdout] test bin_cli::gates_shrink::test_shrink_commands_parse ... ok
[INFO] [stdout] test bin_cli::gates_shrink::test_shrink_check_without_state ... ok
[INFO] [stdout] test bin_cli::shrink_types::shrink_types_coverage::touch_shrink_context_types ... ok
[INFO] [stdout] test bin_cli::gates_core::test_language_and_config ... ok
[INFO] [stdout] test bin_cli::gates_shrink::test_config_provenance ... ok
[INFO] [stdout] test bin_cli::gates_shrink::test_show_tests_cli_parse ... ok
[INFO] [stdout] test bin_cli::stats::top::exhaustiveness_tests::allowlist_entries_exist_in_registry ... ok
[INFO] [stdout] test bin_cli::gates_shrink::test_shrink_helper_functions ... ok
[INFO] [stdout] test bin_cli::gates_core::test_run_entrypoint_exists ... ok
[INFO] [stdout] test analyze::tests_smoke::test_run_analyze_no_files ... ok
[INFO] [stdout] test bin_cli::gates_core::test_stats_top_helpers ... ok
[INFO] [stdout] test bin_cli::stats::top::exhaustiveness_tests::allowlist_entries_have_no_extractor ... ok
[INFO] [stdout] test bin_cli::stats::top::exhaustiveness_tests::extractor_or_allowlist_covers_every_registry_metric ... ok
[INFO] [stdout] test bin_cli::tests_touch::test_touch_for_static_test_coverage ... ok
[INFO] [stdout] test layout::tests::static_coverage_touch_derive_project_name ... ok
[INFO] [stdout] test layout::tests::test_analyze_layout_project_name_custom ... ok
[INFO] [stdout] test layout::tests::test_analyze_layout_project_name_default ... ok
[INFO] [stdout] test layout::tests::test_clone_graph_without_edges_removes_specified ... ok
[INFO] [stdout] test layout::tests::test_analyze_layout_with_python_files ... ok
[INFO] [stdout] test layout::tests::test_build_py_graph_empty ... ok
[INFO] [stdout] test layout::tests::test_build_rs_graph_empty ... ok
[INFO] [stdout] test layout::tests::test_analyze_layout_with_rust_files ... ok
[INFO] [stdout] test layout::tests::test_compute_what_if_overlapping_cycles ... ok
[INFO] [stdout] test layout::tests::test_compute_what_if_shows_improvement ... ok
[INFO] [stdout] test layout::tests::test_clone_graph_without_edges_handles_empty_skip ... ok
[INFO] [stdout] test layout::tests::test_count_cross_directory_deps_all_same_dir ... ok
[INFO] [stdout] test layout::tests::test_count_cross_directory_deps_missing_path ... ok
[INFO] [stdout] test layout::tests::test_count_layering_violations_dag_no_violations ... ok
[INFO] [stdout] test layout::tests::test_merge_graph_adds_prefixed_nodes ... ok
[INFO] [stdout] test layout::tests::test_project_name_from_paths ... ok
[INFO] [stdout] test layout::tests::test_count_cross_directory_deps ... ok
[INFO] [stdout] test layout::tests::test_count_layering_violations_with_cycle ... ok
[INFO] [stdout] test layout::tests::test_count_layering_violations_missing_layer_info ... ok
[INFO] [stdout] test layout::tests::test_count_layering_violations_with_manual_layers ... ok
[INFO] [stdout] test layout::tests::test_layout_options_struct_fields ... ok
[INFO] [stdout] test layout::tests::test_merge_graph_adds_prefixed_edges ... ok
[INFO] [stdout] test layout::tests::test_project_name_from_cwd ... ok
[INFO] [stdout] test rules::tests::static_coverage_touch_rule_spec_type ... ok
[INFO] [stdout] test rules::tests::test_rule_spec_fields ... ok
[INFO] [stdout] test rules::tests::test_run_config_and_print_config ... ok
[INFO] [stdout] test rules::tests::test_rules_functions_no_panic ... ok
[INFO] [stdout] test show_tests::tests::test_defs_from_analysis_rows_direct ... ok
[INFO] [stdout] test rules::tests::test_print_rules ... ok
[INFO] [stdout] test show_tests::tests::test_format_covering_tests_empty ... ok
[INFO] [stdout] test show_tests::tests::test_helper_coverage ... ok
[INFO] [stdout] test rules::tests::test_threshold_value_format ... ok
[INFO] [stdout] test layout::tests::test_run_layout_no_files_error ... ok
[INFO] [stdout] test viz::tests::test_build_rs_graph_empty ... ok
[INFO] [stdout] test viz::tests::test_clamp_zoom ... ok
[INFO] [stdout] test viz::tests::test_collect_graph_nodes_and_edges ... ok
[INFO] [stdout] test viz::tests::test_build_py_graph_empty ... ok
[INFO] [stdout] test viz::tests::test_dot_escape_escapes_backslashes_and_quotes ... ok
[INFO] [stdout] test viz::tests::test_combined_node_key ... ok
[INFO] [stdout] test analyze::tests_smoke::test_gather_parse_and_graphs ... ok
[INFO] [stdout] test viz::tests::test_mermaid_escape_label ... ok
[INFO] [stdout] test viz::tests::test_mermaid_node_id ... ok
[INFO] [stdout] test viz::tests::test_node_label_includes_path_when_present ... ok
[INFO] [stdout] test viz::tests::test_run_viz_errors_on_no_source_files ... ok
[INFO] [stdout] test viz::tests::test_touch_coarsened_helpers_for_static_coverage ... ok
[INFO] [stdout] test viz::tests::test_viz_format_for_path ... ok
[INFO] [stdout] test viz::tests::test_write_coarsened_for_format ... ok
[INFO] [stdout] test viz::tests::test_write_graph_dot_writes_stable_nodes_and_edges ... ok
[INFO] [stdout] test viz::tests::test_write_graph_for_format ... ok
[INFO] [stdout] test viz::tests::test_write_format_header_footer ... ok
[INFO] [stdout] test viz::tests::test_write_graph_mermaid_writes_nodes_and_edges ... ok
[INFO] [stdout] test show_tests::tests::test_show_tests_python_with_untested ... ok
[INFO] [stdout] test show_tests::tests::test_show_tests_python ... ok
[INFO] [stdout] test viz_coarsen::tests::test_fast_communities_assigns_all_nodes ... ok
[INFO] [stdout] test viz_coarsen::tests::test_choose_prefix_depth_and_group_nodes ... ok
[INFO] [stdout] test viz_coarsen::tests::test_should_use_fast_coarsen_regressions ... ok
[INFO] [stdout] test show_tests::tests::test_show_tests_path_outside_universe ... ok
[INFO] [stdout] test layout::tests::test_run_layout_to_file ... ok
[INFO] [stdout] test show_tests::tests::test_one_function_covered_by_multiple_tests ... ok
[INFO] [stdout] test show_tests::tests::test_python_test_class_format ... ok
[INFO] [stdout] test show_tests::tests::test_show_tests_rust ... ok
[INFO] [stdout] test viz_coarsen::tests::test_touch_privates_for_static_coverage_part2 ... ok
[INFO] [stdout] test viz_coarsen::tests::test_touch_privates_for_static_coverage_part1 ... ok
[INFO] [stdout] test show_tests::tests::test_covered_by_fixture_empty_covering_list ... ok
[INFO] [stdout] test show_tests::tests::test_one_test_covers_multiple_functions ... ok
[INFO] [stdout] test show_tests::tests::test_test_line_format_stability ... ok
[INFO] [stdout] test bin_cli::gates_core::test_gather_stats_normalize_validate ... ok
[INFO] [stdout] test bin_cli::gates_shrink::test_shrink_start_and_check ... ok
[INFO] [stdout] test bin_cli::gates_core::test_run_stats_and_mimic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 136 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_suite.rs (/opt/rustwide/target/debug/deps/integration_suite-b4bfafe2e332e429)
[INFO] [stdout] 
[INFO] [stdout] running 243 tests
[INFO] [stdout] test break_c2_test_coverage::c2_cov_5_compound_cfg_test_bypasses_detection ... ok
[INFO] [stdout] test cli_integration::cli_init_does_not_overwrite_existing_config ... ok
[INFO] [stdout] test break_c2_test_coverage::c2_cov_2_framework_import_reclassifies_production_as_test ... ok
[INFO] [stdout] test break_c2_test_coverage::c2_cov_4_nested_function_definitions_excluded ... ok
[INFO] [stdout] test break_c2_orphans::c2_break_4_type_checking_only_import_makes_module_invisible ... ok
[INFO] [stdout] test cli_integration::cli_init_writes_default_config_in_current_directory ... ok
[INFO] [stdout] test break_c2_orphans::c2_break_2_ambiguous_dotted_suffix_skips_parent_fallback ... ok
[INFO] [stdout] test break_c2_orphans::c2_break_1_empty_init_py_is_falsely_orphaned ... ok
[INFO] [stdout] test break_c2_test_coverage::c2_cov_1_bare_name_collision_inflates_coverage ... ok
[INFO] [stdout] test break_c2_test_coverage::c2_cov_3_test_helper_refs_outside_test_scope_invisible ... ok
[INFO] [stdout] test cli_integration::cli_analyze_runs_on_python ... ok
[INFO] [stdout] test break_c2_orphans::c2_break_3_many_cross_package_importers_all_fail_on_ambiguous_suffix ... ok
[INFO] [stdout] test break_c2_orphans::c2_break_5_absolute_path_truncation_creates_qualified_name_collision ... ok
[INFO] [stdout] test cli_integration::cli_analyze_reports_violations_on_god_class ... ok
[INFO] [stdout] test cli_integration::cli_stats_all_uses_metric_registry_display_names ... ok
[INFO] [stdout] test cli_integration_2::cli_help_flag_works ... ok
[INFO] [stdout] test cli_integration_2::cli_mv_requires_query_shape ... ok
[INFO] [stdout] test cli_integration_2::cli_invalid_lang_reports_error ... ok
[INFO] [stdout] test cli_integration::cli_stats_all_does_not_consume_path_as_n ... ok
[INFO] [stdout] test cli_integration_2::cli_mv_json_emits_stable_schema ... ok
[INFO] [stdout] test cli_integration_2::cli_on_empty_directory ... ok
[INFO] [stdout] test cli_integration::cli_viz_rejects_unknown_output_extension ... ok
[INFO] [stdout] test config_tests::default_config_has_reasonable_values ... ok
[INFO] [stdout] test config_tests::default_config_toml_matches_requested_defaults ... ok
[INFO] [stdout] test config_tests::test_gate_config_defaults ... ok
[INFO] [stdout] test config_tests::test_gate_config_load ... ok
[INFO] [stdout] test config_tests::test_is_similar ... ok
[INFO] [stdout] test config_tests::test_load_from_content ... ok
[INFO] [stdout] test config_tests::test_load_from_nonexistent ... ok
[INFO] [stdout] test fix_h1_error_nodes::error_functions_excluded_from_violation_counts ... ok
[INFO] [stdout] test cli_integration::cli_viz_writes_markdown_file ... ok
[INFO] [stdout] test cli_integration_2::cli_version_flag_works ... ok
[INFO] [stdout] test cli_integration::cli_viz_writes_dot_file ... ok
[INFO] [stdout] test fix_h1_error_nodes::function_with_syntax_error_sets_has_error_flag ... ok
[INFO] [stdout] test fix_h5_phantom_orphans::different_paths_still_flags_real_orphan ... ok
[INFO] [stdout] test fix_h5_phantom_orphans::same_path_two_module_names_no_phantom_orphan ... ok
[INFO] [stdout] test journal_hypotheses::hypothesis_01_import_not_a_statement ... ok
[INFO] [stdout] test cache_integration::check_all_cache_hit_replays_without_reading_sources ... ok
[INFO] [stdout] test cli_integration::cli_stats_command_runs ... ok
[INFO] [stdout] test fix_h1_error_nodes::function_without_syntax_error_has_no_error_flag ... ok
[INFO] [stdout] test journal_hypotheses::hypothesis_05_typed_boolean_defaults_counted ... ok
[INFO] [stdout] test journal_hypotheses::hypothesis_08_try_block_statements_are_try_body_only ... ok
[INFO] [stdout] test journal_hypotheses::hypothesis_10_parenthesized_tuple_return_counts_elements ... ok
[INFO] [stdout] test journal_hypotheses::hypothesis_02_type_checking_imports_excluded_from_file_metrics ... ok
[INFO] [stdout] test journal_hypotheses::hypothesis_09_interface_type_detection_protocol_in_args ... ok
[INFO] [stdout] test journal_hypotheses::hypothesis_06_decorator_counting ... ok
[INFO] [stdout] test journal_hypotheses::hypothesis_07_elif_counts_as_branch ... ok
[INFO] [stdout] test kpop_definitions::bug_graph_edge_dotted_import_should_create_internal_edge ... ok
[INFO] [stdout] test kpop_definitions::bug_lazy_import_should_create_graph_edge_and_prevent_orphan ... ok
[INFO] [stdout] test kpop_definitions::bug_graph_node_definition_should_exclude_external_imports ... ok
[INFO] [stdout] test cli_integration_2::cli_mv_dry_run_emits_human_plan_lines ... ok
[INFO] [stdout] test journal_hypotheses::hypothesis_03_return_expression_list_counts_values ... ok
[INFO] [stdout] test cli_integration::cli_viz_zoom_zero_collapses_to_one_node ... ok
[INFO] [stdout] test journal_hypotheses::hypothesis_04_from_import_counts_imported_symbols ... ok
[INFO] [stdout] test kpop_definitions_2::kpop_orphan_module_dynamic_import_importlib_import_module_string_literal ... ok
[INFO] [stdout] test kpop_definitions::bug_statement_definition_should_exclude_nested_function_bodies ... ok
[INFO] [stdout] test kpop_definitions::kpop_code_unit_definition_no_bug_found_in_10_hypotheses ... ok
[INFO] [stdout] test cli_integration_2::cli_with_lang_filter_rust ... ok
[INFO] [stdout] test cli_integration_2::cli_with_lang_filter_python ... ok
[INFO] [stdout] test cli_integration::cli_viz_writes_mermaid_file ... ok
[INFO] [stdout] test cli_integration_2::cli_mimic_command_runs ... ok
[INFO] [stdout] test cli_integration::cli_stats_summary_includes_lines_per_file ... ok
[INFO] [stdout] test kpop_definitions_2::kpop_orphan_module_ambiguous_bare_name_relative_import_should_resolve_to_same_package ... ok
[INFO] [stdout] test kpop_python_function_metrics::bug_methods_per_class_counts_both_sync_and_async ... ok
[INFO] [stdout] test kpop_python_function_metrics::bug_methods_per_class_should_count_async_methods ... ok
[INFO] [stdout] test cli_integration::cli_viz_zoom_near_one_is_not_collapsed ... ok
[INFO] [stdout] test kpop_python_function_metrics::bug_positional_args_should_count_varargs_parameter ... ok
[INFO] [stdout] test kpop_definitions_2::kpop_orphan_module_relative_import_two_dots_should_resolve_parent_package ... ok
[INFO] [stdout] test kpop_definitions_2::kpop_orphan_module_lazy_imports_try_to_break_it_in_10_ways ... ok
[INFO] [stdout] test kpop_python_none::kpop_python_none_decorators_per_function ... ok
[INFO] [stdout] test kpop_python_graph_metrics::bug_indirect_dependencies_should_not_count_external_modules ... ok
[INFO] [stdout] test kpop_python_none::kpop_python_none_boolean_parameters ... ok
[INFO] [stdout] test kpop_python_none::kpop_python_none_functions_per_file ... ok
[INFO] [stdout] test kpop_python_none::kpop_python_none_imported_names_per_file ... ok
[INFO] [stdout] test kpop_python_none::kpop_python_none_interface_and_concrete_types_per_file ... ok
[INFO] [stdout] test kpop_python_none::kpop_python_none_keyword_only_args ... ok
[INFO] [stdout] test kpop_python_none::kpop_python_none_statements_per_file ... ok
[INFO] [stdout] test kpop_python_none_graph_and_gates::kpop_python_none_cycle_size ... ok
[INFO] [stdout] test kpop_python_function_metrics::bug_return_values_per_function_parenthesized_tuple_counts_elements ... ok
[INFO] [stdout] test kpop_python_function_metrics::bug_python_function_metrics_should_not_count_nested_function_bodies ... ok
[INFO] [stdout] test kpop_python_none::kpop_python_none_methods_per_class ... ok
[INFO] [stdout] test kpop_python_none::kpop_python_none_statements_per_try_block ... ok
[INFO] [stdout] test kpop_rust_graph_metrics::bug_orphan_module_should_not_flag_crate_use_imports_in_rust ... ok
[INFO] [stdout] test kpop_python_none_graph_and_gates::kpop_python_none_dependency_depth ... ok
[INFO] [stdout] test kpop_python_none::kpop_python_none_nested_function_depth ... ok
[INFO] [stdout] test kpop_python_none_graph_and_gates::kpop_python_none_test_coverage_threshold ... ok
[INFO] [stdout] test kpop_rust_counts_metrics::bug_rust_methods_per_class_violation_metric_id_mismatch ... ok
[INFO] [stdout] test kpop_python_none_graph_and_gates::kpop_python_none_min_similarity ... ok
[INFO] [stdout] test kpop_rust_function_metrics::bug_rust_local_variables_should_count_typed_tuple_pattern_bindings ... ok
[INFO] [stdout] test kpop_rust_file_metrics_plan::kpop_plan_cfg_test_mod_skipped_in_file_metrics ... ok
[INFO] [stdout] test kpop_rust_file_metrics_plan::kpop_plan_nested_mod_file_metrics_matches_collect_rust ... ok
[INFO] [stdout] test kpop_rust_none::kpop_rust_none_max_indentation_depth_and_branches ... ok
[INFO] [stdout] test kpop_rust_graph_metrics::bug_rust_indirect_dependencies_should_not_count_external_imports ... ok
[INFO] [stdout] test kpop_rust_none::kpop_rust_none_nested_function_depth ... ok
[INFO] [stdout] test kpop_rust_none_graph_and_gates::kpop_rust_none_cycle_size ... ok
[INFO] [stdout] test kpop_rust_none_graph_and_gates::kpop_rust_none_dependency_depth ... ok
[INFO] [stdout] test kpop_rust_none::kpop_rust_none_arguments_per_function ... ok
[INFO] [stdout] test kpop_rust_none::kpop_rust_none_returns_per_function ... ok
[INFO] [stdout] test kpop_rust_none::kpop_rust_none_attributes_per_function ... ok
[INFO] [stdout] test kpop_rust_none::kpop_rust_none_boolean_parameters ... ok
[INFO] [stdout] test kpop_rust_none::kpop_rust_none_statements_per_function ... ok
[INFO] [stdout] test lib_integration::analyze_empty_python_file_no_violations ... ok
[INFO] [stdout] test kpop_rust_none_graph_and_gates::kpop_rust_none_test_coverage_threshold ... ok
[INFO] [stdout] test kpop_rust_graph_metrics::bug_orphan_module_should_not_flag_include_macro_in_rust ... ok
[INFO] [stdout] test kpop_rust_none::kpop_rust_none_calls_per_function ... ok
[INFO] [stdout] test lib_integration::analyze_empty_rust_file_no_violations ... ok
[INFO] [stdout] test kpop_rust_none_graph_and_gates::kpop_rust_none_min_similarity ... ok
[INFO] [stdout] test kpop_rust_none::kpop_rust_none_file_metrics_counts ... ok
[INFO] [stdout] test lib_integration::computes_function_metrics ... ok
[INFO] [stdout] test lib_integration::extracts_code_units_from_clean_utils ... ok
[INFO] [stdout] test lib_integration::handles_empty_python_file ... ok
[INFO] [stdout] test lib_integration::handles_empty_rust_file ... ok
[INFO] [stdout] test lib_integration::repro_orphan_module_with_dotted_import_and_ambiguous_bare_name ... ok
[INFO] [stdout] test lib_integration::returns_empty_for_nonexistent_directory ... ok
[INFO] [stdout] test lib_integration::parses_python_file_successfully ... ok
[INFO] [stdout] test main_integration::test_build_graphs_empty ... ok
[INFO] [stdout] test lib_integration::computes_cyclomatic_complexity ... ok
[INFO] [stdout] test lib_integration::detects_duplicate_code ... ok
[INFO] [stdout] test main_integration::test_analyze_graph_empty ... ok
[INFO] [stdout] test main_integration::test_detect_duplicates_empty ... ok
[INFO] [stdout] test main_integration::test_config_merge ... ok
[INFO] [stdout] test main_integration::test_is_focus_file ... ok
[INFO] [stdout] test lib_integration::extracts_many_methods_from_god_class ... ok
[INFO] [stdout] test kpop_show_tests_bug::kpop_show_tests_path_outside_universe_produces_output ... ok
[INFO] [stdout] test main_integration::test_print_functions_no_panic ... ok
[INFO] [stdout] test main_integration::test_parse_and_analyze_empty ... ok
[INFO] [stdout] test main_integration::test_print_helpers_no_panic ... ok
[INFO] [stdout] test py_metrics_tests::test_class_metrics ... ok
[INFO] [stdout] test py_metrics_tests::test_boolean_parameters ... ok
[INFO] [stdout] test py_metrics_tests::test_class_metrics_struct ... ok
[INFO] [stdout] test py_metrics_tests::test_decorators ... ok
[INFO] [stdout] test main_integration::test_write_mimic_config ... ok
[INFO] [stdout] test lib_integration::computes_class_metrics_for_god_class ... ok
[INFO] [stdout] test lib_integration::computes_file_metrics_for_god_class ... ok
[INFO] [stdout] test py_metrics_tests::test_from_import_counts ... ok
[INFO] [stdout] test py_metrics_tests::test_file_metrics ... ok
[INFO] [stdout] test py_metrics_tests::test_class_metrics_two_methods ... ok
[INFO] [stdout] test lib_integration::builds_dependency_graph ... ok
[INFO] [stdout] test py_metrics_tests::test_count_node_kind ... ok
[INFO] [stdout] test py_metrics_tests::test_lazy_imports ... ok
[INFO] [stdout] test py_metrics_tests::test_function_metrics ... ok
[INFO] [stdout] test lib_integration::finds_python_files_in_test_directory ... ok
[INFO] [stdout] test py_metrics_tests::test_keyword_only_args ... ok
[INFO] [stdout] test py_metrics_tests::test_try_block_statements ... ok
[INFO] [stdout] test py_metrics_tests::test_nested_try_blocks ... ok
[INFO] [stdout] test python_counts_violations::test_boolean_parameters_violation ... ok
[INFO] [stdout] test python_counts_violations::test_methods_per_class_violation ... ok
[INFO] [stdout] test main_integration::test_coverage_gate_blocks_untested_code ... ok
[INFO] [stdout] test python_counts_violations::test_statements_per_try_block_violation ... ok
[INFO] [stdout] test python_counts_violations::test_lines_per_file_violation ... ok
[INFO] [stdout] test main_integration::test_coverage_gate_passes_with_tests ... ok
[INFO] [stdout] test main_integration::test_collect_stats_empty ... ok
[INFO] [stdout] test lib_integration::parses_all_test_files_without_errors ... ok
[INFO] [stdout] test main_integration::test_gather_files_all_and_filtered ... ok
[INFO] [stdout] test main_integration::test_build_focus_set ... ok
[INFO] [stdout] test rules_config_integration::cli_config_with_custom_file ... ok
[INFO] [stdout] test rules_config_integration::cli_config_command_runs ... ok
[INFO] [stdout] test regression_stats_all_metric_registry::regression_stats_all_emits_only_canonical_metric_ids_from_registry ... ok
[INFO] [stdout] test regression_stats_summary_headers_and_coverage::cli_stats_summary_emits_analyzed_header_with_five_global_metrics ... ok
[INFO] [stdout] test rules_config_integration::cli_config_shows_gate_settings ... ok
[INFO] [stdout] test rules_config_integration::cli_config_shows_effective_configuration ... ok
[INFO] [stdout] test kpop_definitions::kpop_file_definition_no_bug_found_in_10_hypotheses ... ok
[INFO] [stdout] test regression_stats_summary_headers_and_coverage::cli_stats_summary_table_includes_inv_test_coverage_row ... ok
[INFO] [stdout] test rules_config_integration::cli_config_shows_python_specific_settings ... ok
[INFO] [stdout] test rules_config_integration::cli_config_shows_rust_specific_settings ... ok
[INFO] [stdout] test rust_counts_violations::test_arguments_per_function_violation ... ok
[INFO] [stdout] test rules_config_integration::cli_config_nonexistent_file_warns ... ok
[INFO] [stdout] test rules_config_integration::cli_config_with_defaults_flag ... ok
[INFO] [stdout] test rules_config_integration::cli_rules_shows_key_thresholds ... ok
[INFO] [stdout] test rules_config_integration::cli_rules_with_custom_config_file ... ok
[INFO] [stdout] test rules_config_integration::cli_rules_shows_both_languages_by_default ... ok
[INFO] [stdout] test rust_counts_violations::test_max_indentation_depth_violation ... ok
[INFO] [stdout] test rules_config_integration::cli_rules_with_defaults_flag ... ok
[INFO] [stdout] test rust_counts_violations::test_nested_closure_depth_violation ... ok
[INFO] [stdout] test rust_counts_violations::test_types_per_file_violation ... ok
[INFO] [stdout] test rust_counts_violations::test_returns_per_function_violation ... ok
[INFO] [stdout] test rules_config_integration::cli_rules_filter_rust_only ... ok
[INFO] [stdout] test rust_counts_violations::test_statements_per_file_violation ... ok
[INFO] [stdout] test regression_stats_summary_headers_and_coverage::cli_stats_summary_emits_violations_header_with_duplicate_and_orphan_counts ... ok
[INFO] [stdout] test stress_break_kiss::h1_error_node_in_return_corrupts_return_value_count ... ok
[INFO] [stdout] test rust_counts_violations::test_statements_per_function_violation ... ok
[INFO] [stdout] test stress_break_kiss::h2_numeric_normalization_creates_false_duplicates ... ok
[INFO] [stdout] test stress_break_kiss::h2_single_variable_rename_drops_similarity ... ok
[INFO] [stdout] test rules_config_integration::cli_rules_filter_python_only ... ok
[INFO] [stdout] test rules_config_integration::cli_rules_command_runs ... ok
[INFO] [stdout] test stress_break_kiss::h1_unclosed_string_corrupts_entire_function ... ok
[INFO] [stdout] test rust_counts_violations::test_imported_names_per_file_violation ... ok
[INFO] [stdout] test stress_break_kiss::h1_syntax_error_in_function_body_still_produces_metrics ... ok
[INFO] [stdout] test rust_counts_violations::test_lines_per_file_violation ... ok
[INFO] [stdout] test stress_break_kiss::h3_deeply_nested_indentation ... ok
[INFO] [stdout] test rust_counts_violations::test_branches_per_function_violation ... ok
[INFO] [stdout] test rust_counts_violations::test_local_variables_per_function_violation ... ok
[INFO] [stdout] test regression_stats_all_metric_registry::regression_stats_all_emits_every_file_scope_metric_with_data ... ok
[INFO] [stdout] test stress_break_kiss_2::h5_same_file_two_paths_in_graph ... ok
[INFO] [stdout] test symbol_mv_regressions::mv_rejects_mismatched_lang_filter ... ok
[INFO] [stdout] test symbol_mv_regressions::overlap_fails ... ok
[INFO] [stdout] test symbol_mv_regressions::applies_rename ... ok
[INFO] [stdout] test stress_break_kiss_2::h6_factory_closure_not_self_duplicate ... ok
[INFO] [stdout] test stress_break_kiss_2::h4_long_chain_graph_200_deep ... ok
[INFO] [stdout] test symbol_mv_regressions::mv_json_mode_is_valid_json ... ok
[INFO] [stdout] test stress_break_kiss_2::h2_duplication_pipeline_with_near_identical_functions ... ok
[INFO] [stdout] test stress_break_kiss::h3_function_with_100_return_statements ... ok
[INFO] [stdout] test regression_stats_all_metric_registry::regression_stats_all_emits_concrete_types_per_file_when_corpus_has_classes ... ok
[INFO] [stdout] test symbol_mv_regressions::parse_python_function_query ... ok
[INFO] [stdout] test symbol_mv_regressions::parse_rust_method_query ... ok
[INFO] [stdout] test symbol_mv_regressions::reject_bad_queries ... ok
[INFO] [stdout] test symbol_mv_regressions::validate_new_name_rules ... ok
[INFO] [stdout] test symbol_mv_regressions_2::regression_method_move_should_be_rejected ... ok
[INFO] [stdout] test stress_break_kiss::h3_file_with_500_functions ... ok
[INFO] [stdout] test stress_break_kiss::h3_function_with_1000_statements ... ok
[INFO] [stdout] test symbol_mv_regressions::plan_edits_builds_request_from_public_types ... ok
[INFO] [stdout] test symbol_mv_regressions::regression_mv_json_without_dry_run_applies_edits ... ok
[INFO] [stdout] test symbol_mv_regressions_2::regression_python_method_should_not_rename_other_types_in_other_files ... ok
[INFO] [stdout] test symbol_mv_regressions_3::regression_move_rename_should_move_python_decorators_and_preserve_literals ... ok
[INFO] [stdout] test stress_break_kiss_2::h4_fully_connected_graph_100_nodes ... ok
[INFO] [stdout] test symbol_mv_regressions_3::regression_move_rename_should_update_recursive_calls ... ok
[INFO] [stdout] test symbol_mv_regressions_2::regression_class_scoping_should_use_exact_match ... ok
[INFO] [stdout] test symbol_mv_regressions::regression_rust_method_query_should_not_rename_other_types ... ok
[INFO] [stdout] test symbol_mv_regressions_2::regression_move_to_destination_should_not_move_unrelated_source_statements ... ok
[INFO] [stdout] test symbol_mv_regressions_2::regression_python_method_should_scope_to_class ... ok
[INFO] [stdout] test symbol_mv_regressions_2::regression_move_to_destination_should_relocate_definition ... ok
[INFO] [stdout] test symbol_mv_regressions_2::regression_python_method_rename_should_respect_owner ... ok
[INFO] [stdout] test symbol_mv_regressions_2::regression_should_rename_references_in_other_files_within_paths ... ok
[INFO] [stdout] test symbol_mv_regressions_2::regression_toplevel_rename_should_not_touch_method_calls ... ok
[INFO] [stdout] test symbol_mv_regressions_3::regression_move_rename_should_not_touch_comments_or_strings ... ok
[INFO] [stdout] test symbol_mv_regressions_3::regression_rename_await_expression ... ok
[INFO] [stdout] test symbol_mv_regressions_3::regression_rename_nonlocal_binding ... ok
[INFO] [stdout] test symbol_mv_regressions_3::regression_rename_del_statement ... ok
[INFO] [stdout] test symbol_mv_regressions_3::regression_rename_updates_parenthesized_from_import ... ok
[INFO] [stdout] test symbol_mv_regressions_4::regression_rust_move_should_not_break_on_brace_inside_string_literal ... ok
[INFO] [stdout] test symbol_mv_regressions_4::regression_rust_char_literal_with_double_quote_should_not_break_lexer ... ok
[INFO] [stdout] test symbol_mv_regressions_4::regression_rename_updates_multiline_parenthesized_from_import ... ok
[INFO] [stdout] test symbol_mv_regressions_4::regression_rust_method_owner_scoping_should_use_exact_impl_match ... ok
[INFO] [stdout] test symbol_mv_regressions_4::regression_python_triple_quoted_string_with_embedded_quote_should_not_rename ... ok
[INFO] [stdout] test symbol_mv_regressions_3::regression_rename_global_binding_in_same_file ... ok
[INFO] [stdout] test symbol_mv_regressions_3::regression_rename_raise_from_exception_cause ... ok
[INFO] [stdout] test symbol_mv_regressions_3::regression_rename_updates_backslash_inside_parenthesized_from_import ... ok
[INFO] [stdout] test sync_stats_check::stats_and_check_agree_on_shared_metrics ... ok
[INFO] [stdout] test symbol_mv_regressions_4::regression_move_rename_should_keep_rust_attributes_visibility_and_comments ... ok
[INFO] [stdout] test symbol_mv_regressions_3::regression_rename_updates_backslash_continued_from_import ... ok
[INFO] [stdout] test symbol_mv_regressions_4::regression_rust_raw_string_with_embedded_quotes_should_not_rename ... ok
[INFO] [stdout] test cache_integration::check_all_cache_invalidates_on_mtime_or_size_change ... FAILED
[INFO] [stdout] test regression_check_perf::check_path_skips_coverage_map_and_stays_fast ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- cache_integration::check_all_cache_invalidates_on_mtime_or_size_change stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'cache_integration::check_all_cache_invalidates_on_mtime_or_size_change' (1398) panicked at tests/cases/cache_integration.rs:141:5:
[INFO] [stdout] assertion `left != right` failed: after source change, cached output must not be replayed.
[INFO] [stdout] --stdout1--
[INFO] [stdout] Analyzed: 1 files, 2 code_units, 1 statements, 1 graph_nodes, 0 graph_edges
[INFO] [stdout] VIOLATION:test_coverage:/tmp/.tmpBYQl39/simple.py:1:foo: 0% covered. Add test coverage for this code unit. No test module imports this module. Add an import in a test file, or remove if dead.
[INFO] [stdout] 
[INFO] [stdout] --stdout2--
[INFO] [stdout] Analyzed: 1 files, 2 code_units, 1 statements, 1 graph_nodes, 0 graph_edges
[INFO] [stdout] VIOLATION:test_coverage:/tmp/.tmpBYQl39/simple.py:1:foo: 0% covered. Add test coverage for this code unit. No test module imports this module. Add an import in a test file, or remove if dead.
[INFO] [stdout] 
[INFO] [stdout]   left: "Analyzed: 1 files, 2 code_units, 1 statements, 1 graph_nodes, 0 graph_edges\nVIOLATION:test_coverage:/tmp/.tmpBYQl39/simple.py:1:foo: 0% covered. Add test coverage for this code unit. No test module imports this module. Add an import in a test file, or remove if dead.\n"
[INFO] [stdout]  right: "Analyzed: 1 files, 2 code_units, 1 statements, 1 graph_nodes, 0 graph_edges\nVIOLATION:test_coverage:/tmp/.tmpBYQl39/simple.py:1:foo: 0% covered. Add test coverage for this code unit. No test module imports this module. Add an import in a test file, or remove if dead.\n"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x58d4d5145afa - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x58d4d5145afa - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x58d4d5145afa - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x58d4d5145afa - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x58d4d515ba9a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x58d4d515ba9a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x58d4d514a762 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x58d4d514a762 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x58d4d51219af - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x58d4d51219af - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x58d4d513cc79 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x58d4d4cf5b2c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x58d4d4cf5b2c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x58d4d513cef2 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x58d4d513cef2 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x58d4d5121a68 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x58d4d5119119 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x58d4d512280d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x58d4d515c29c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x58d4d515c1b3 - core[35159d6ffb30e017]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:434:23
[INFO] [stdout]   20:     0x58d4d4ce8880 - core[35159d6ffb30e017]::panicking::assert_failed::<alloc[a8a7aba520129d98]::string::String, alloc[a8a7aba520129d98]::string::String>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x58d4d4ca3f8a - integration_suite[acdb8af89b62ba2e]::cache_integration::check_all_cache_invalidates_on_mtime_or_size_change
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cases/cache_integration.rs:141:5
[INFO] [stdout]   22:     0x58d4d4cda6f9 - integration_suite[acdb8af89b62ba2e]::cache_integration::check_all_cache_invalidates_on_mtime_or_size_change::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cases/cache_integration.rs:102:57
[INFO] [stdout]   23:     0x58d4d4cda6f9 - <integration_suite[acdb8af89b62ba2e]::cache_integration::check_all_cache_invalidates_on_mtime_or_size_change::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x58d4d4ce8e0b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x58d4d4ce8e0b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x58d4d4cf65fb - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x58d4d4cf65fb - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x58d4d4cf65fb - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x58d4d4cf65fb - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x58d4d4cf65fb - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x58d4d4cf65fb - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x58d4d4cf65fb - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x58d4d4cf0fd4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x58d4d4cf0fd4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x58d4d4cf9202 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x58d4d4cf9202 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x58d4d4cf9202 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x58d4d4cf9202 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x58d4d4cf9202 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x58d4d4cf9202 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x58d4d4cf9202 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x58d4d5144edf - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   43:     0x58d4d5144edf - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7cc561b69aa4 - <unknown>
[INFO] [stdout]   45:     0x7cc561bf6a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     cache_integration::check_all_cache_invalidates_on_mtime_or_size_change
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 242 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.76s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test integration_suite`
[INFO] running `Command { std: "docker" "inspect" "8e218881813352719471f20483571ce8c6739003d5d8734a3a6730c2d6d977d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e218881813352719471f20483571ce8c6739003d5d8734a3a6730c2d6d977d5", kill_on_drop: false }`
[INFO] [stdout] 8e218881813352719471f20483571ce8c6739003d5d8734a3a6730c2d6d977d5
