[INFO] cloning repository https://github.com/nwiizo/cargo-coupling
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nwiizo/cargo-coupling" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnwiizo%2Fcargo-coupling", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnwiizo%2Fcargo-coupling'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2281e866ad3e2aef7e41595226a6b91369da3b4c
[INFO] testing nwiizo/cargo-coupling against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnwiizo%2Fcargo-coupling" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nwiizo/cargo-coupling
[INFO] finished tweaking git repo https://github.com/nwiizo/cargo-coupling
[INFO] tweaked toml for git repo https://github.com/nwiizo/cargo-coupling written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nwiizo/cargo-coupling on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nwiizo/cargo-coupling already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1
[INFO] running `Command { std: "docker" "start" "0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling camino v1.2.4
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling cargo-platform v0.3.3
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling open v5.3.6
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling rust-embed-utils v8.11.0
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling rust-embed-impl v8.11.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling rust-embed v8.11.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling cargo_metadata v0.23.1
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling cargo-coupling v0.3.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.95s
[INFO] running `Command { std: "docker" "inspect" "0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.52
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling cc v1.2.66
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cargo_metadata v0.23.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling cargo-coupling v0.3.7 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 45.42s
[INFO] running `Command { std: "docker" "inspect" "0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cargo_coupling-f60429e64a6012c7)
[INFO] [stdout] 
[INFO] [stdout] running 170 tests
[INFO] [stdout] test analyzer::tests::test_analyzer_creation ... ok
[INFO] [stdout] test analyzer::tests::test_analyze_use_statements ... ok
[INFO] [stdout] test analyzer::tests::pattern_within_scope_requires_full_coverage ... ok
[INFO] [stdout] test analyzer::tests::test_analyze_trait_impl ... ok
[INFO] [stdout] test analyzer::tests::test_extract_target_module ... ok
[INFO] [stdout] test analyzer::tests::test_analyze_simple_file ... ok
[INFO] [stdout] test analyzer::tests::test_has_cfg_test_attribute_with_cfg_test ... ok
[INFO] [stdout] test analyzer::tests::test_has_cfg_test_attribute_with_other_cfg ... ok
[INFO] [stdout] test analyzer::tests::test_has_test_attribute_with_test ... ok
[INFO] [stdout] test analyzer::tests::test_has_test_attribute_without_test ... ok
[INFO] [stdout] test analyzer::tests::test_has_cfg_test_attribute_without_cfg_test ... ok
[INFO] [stdout] test analyzer::tests::test_is_test_module_named_tests ... ok
[INFO] [stdout] test analyzer::tests::test_reexported_type_name_resolves_to_defining_module ... ok
[INFO] [stdout] test analyzer::tests::test_method_call_detection ... ok
[INFO] [stdout] test analyzer::tests::test_is_test_module_with_cfg_test ... ok
[INFO] [stdout] test analyzer::tests::test_is_test_module_regular_module ... ok
[INFO] [stdout] test analyzer::tests::test_analyze_project_parallel_applies_exclude_patterns ... ok
[INFO] [stdout] test analyzer::tests::test_resolve_target_module_prefers_longest_known_module ... ok
[INFO] [stdout] test analyzer::tests::test_strength_mapping_uses_public_model_for_data_access_only ... ok
[INFO] [stdout] test analyzer::tests::test_structural_distance_cousins_are_different_module ... ok
[INFO] [stdout] test analyzer::tests::test_structural_distance_crate_syntax_does_not_make_far_module_close ... ok
[INFO] [stdout] test analyzer::tests::test_usage_context_to_strength ... ok
[INFO] [stdout] test balance::external_crates::tests::scattered_coupling_is_flagged_above_threshold ... ok
[INFO] [stdout] test balance::tests::accidental_volatility_diagnostics_do_not_lower_the_grade ... ok
[INFO] [stdout] test analyzer::tests::test_structural_distance_parent_child_is_same_module ... ok
[INFO] [stdout] test balance::tests::entrypoint_module_detection ... ok
[INFO] [stdout] test analyzer::tests::test_basic_analysis_fallback_applies_exclude_patterns_from_config_root ... ok
[INFO] [stdout] test analyzer::tests::test_structural_distance_root_level_siblings_are_different_module ... ok
[INFO] [stdout] test balance::tests::test_accidental_volatility_detected_for_stable_subdomain_churn ... ok
[INFO] [stdout] test analyzer::tests::test_structural_distance_same_file_is_same_module ... ok
[INFO] [stdout] test balance::tests::test_accidental_volatility_skips_tiny_change_samples ... ok
[INFO] [stdout] test analyzer::tests::test_item_dependencies ... ok
[INFO] [stdout] test analyzer::tests::test_structural_distance_workspace_member_and_external_crate ... ok
[INFO] [stdout] test analyzer::tests::test_type_registry_ambiguity_prefers_public_then_lexicographic_module ... ok
[INFO] [stdout] test balance::issue::tests::is_count_target_requires_digits_and_exact_unit ... ok
[INFO] [stdout] test balance::issue::tests::meets_compares_severity_floor ... ok
[INFO] [stdout] test balance::tests::crate_root_facade_detection ... ok
[INFO] [stdout] test analyzer::tests::test_structural_distance_siblings_are_same_module_when_parent_is_not_root ... ok
[INFO] [stdout] test analyzer::tests::test_unknown_reexported_type_name_keeps_external_fallback ... ok
[INFO] [stdout] test analyzer::tests::test_extract_use_paths ... ok
[INFO] [stdout] test balance::tests::test_ambiguous_item_alias_does_not_override_git_churn ... ok
[INFO] [stdout] test balance::tests::test_balance_bad_cascading ... ok
[INFO] [stdout] test balance::tests::test_balance_bad_global_complexity ... ok
[INFO] [stdout] test balance::tests::test_balance_ideal_far ... ok
[INFO] [stdout] test balance::tests::test_duplicate_issue_keys_are_deduped_in_report ... ok
[INFO] [stdout] test balance::tests::test_external_crates_are_skipped ... ok
[INFO] [stdout] test balance::tests::test_grade_rationale_names_top_issue_and_volatility_driver ... ok
[INFO] [stdout] test balance::tests::test_grade_rationale_mentions_data_limit_for_zero_and_low_couplings ... ok
[INFO] [stdout] test balance::tests::test_core_subdomain_volatility_is_authoritative_for_balance_and_risk ... ok
[INFO] [stdout] test balance::tests::test_balance_ideal_close ... ok
[INFO] [stdout] test balance::tests::test_hidden_coupling_skipped_when_code_dependency_exists ... ok
[INFO] [stdout] test balance::tests::test_hidden_coupling_detected_without_code_dependency ... ok
[INFO] [stdout] test balance::tests::test_identify_cascading_change_requires_far_distance ... ok
[INFO] [stdout] test balance::tests::test_hidden_coupling_skips_crate_root_facade ... ok
[INFO] [stdout] test balance::tests::test_identify_global_complexity ... ok
[INFO] [stdout] test balance::tests::test_no_issues_for_balanced ... ok
[INFO] [stdout] test balance::tests::test_health_grade_calculation ... ok
[INFO] [stdout] test balance::tests::test_hidden_coupling_skips_adjacent_modules_and_requires_evidence_for_high ... ok
[INFO] [stdout] test cli_output::tests::test_check_passes_on_empty ... ok
[INFO] [stdout] test balance::tests::test_identify_inappropriate_intimacy ... ok
[INFO] [stdout] test cli_output::tests::test_external_dependencies_json_output_shape ... ok
[INFO] [stdout] test balance::tests::test_unclassified_git_churn_still_drives_balance_and_cascading_risk ... ok
[INFO] [stdout] test cli_output::tests::test_describe_trend ... ok
[INFO] [stdout] test cli_output::tests::test_history_text_output_notes_when_requested_samples_are_limited ... ok
[INFO] [stdout] test cli_output::tests::test_history_json_output_is_valid ... ok
[INFO] [stdout] test cli_output::tests::test_empty_metrics_hotspots ... ok
[INFO] [stdout] test cli_output::tests::test_history_text_output_shows_trend ... ok
[INFO] [stdout] test balance::tests::test_supporting_subdomain_volatility_is_authoritative_for_balance_and_risk ... ok
[INFO] [stdout] test cli_output::tests::test_parse_severity ... ok
[INFO] [stdout] test config::tests::empty_config_has_no_dead_patterns ... ok
[INFO] [stdout] test cli_output::tests::test_json_output_includes_analysis_manifest ... ok
[INFO] [stdout] test config::tests::dead_patterns_never_reports_exclude_or_prelude ... ok
[INFO] [stdout] test cli_output::tests::test_json_output_includes_grade_rationale ... ok
[INFO] [stdout] test cli_output::tests::test_json_output_includes_module_subdomain_when_present ... ok
[INFO] [stdout] test cli_output::tests::test_parse_grade ... ok
[INFO] [stdout] test config::tests::dead_patterns_reports_only_unmatched_patterns_by_section ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test config::tests::test_compiled_config ... ok
[INFO] [stdout] test cli_output::tests::test_history_empty_output ... ok
[INFO] [stdout] test config::tests::test_get_volatility_with_fallback ... ok
[INFO] [stdout] test config::tests::test_subdomain_display ... ok
[INFO] [stdout] test analyzer::tests::test_field_access_detection ... ok
[INFO] [stdout] test config::tests::test_subdomain_expected_volatility ... ok
[INFO] [stdout] test config::tests::test_volatility_override_beats_subdomain ... ok
[INFO] [stdout] test analyzer::tests::test_struct_construction_detection ... ok
[INFO] [stdout] test diff::tests::diffs_by_stable_issue_key ... ok
[INFO] [stdout] test diff::tests::high_coupling_count_targets_do_not_create_new_issue_keys ... ok
[INFO] [stdout] test diff::tests::issue_key_normalizes_afferent_dependent_count ... ok
[INFO] [stdout] test config::tests::test_has_subdomain_config ... ok
[INFO] [stdout] test config::tests::test_has_volatility_overrides ... ok
[INFO] [stdout] test config::tests::test_ignore_patterns ... ok
[INFO] [stdout] test config::tests::test_parse_config ... ok
[INFO] [stdout] test config::tests::test_subdomain_config ... ok
[INFO] [stdout] test diff::tests::issue_key_normalizes_efferent_dependency_count ... ok
[INFO] [stdout] test diff::tests::diff_deduplicates_same_key_issues ... ok
[INFO] [stdout] test diff::tests::issue_key_preserves_non_count_fields ... ok
[INFO] [stdout] test diff::tests::ratchet_filters_by_severity ... ok
[INFO] [stdout] test discovery::tests::test_file_path_to_module_path_lib ... ok
[INFO] [stdout] test discovery::tests::test_file_path_to_module_path_main ... ok
[INFO] [stdout] test discovery::tests::test_file_path_to_module_path_mod ... ok
[INFO] [stdout] test discovery::tests::test_file_path_to_module_path_nested ... ok
[INFO] [stdout] test discovery::tests::test_file_path_to_module_path_simple ... ok
[INFO] [stdout] test discovery::tests::test_file_path_to_module_path_two_levels ... ok
[INFO] [stdout] test external::tests::aggregation_counts_breadth_per_external_crate ... ok
[INFO] [stdout] test external::tests::aggregation_filters_unresolved_type_names_when_dependency_inventory_exists ... ok
[INFO] [stdout] test external::tests::cargo_lock_versions_are_parsed ... ok
[INFO] [stdout] test discovery::tests::resolve_external_module_file_rejects_outside_workspace ... ok
[INFO] [stdout] test discovery::tests::resolve_external_module_file_uses_flat_before_nested ... ok
[INFO] [stdout] test discovery::tests::resolve_external_module_file_prefers_path_attribute ... ok
[INFO] [stdout] test history::tests::sample_edge_cases ... ok
[INFO] [stdout] test history::tests::sample_includes_endpoints ... ok
[INFO] [stdout] test history::tests::sample_is_monotonic_and_unique ... ok
[INFO] [stdout] test discovery::tests::test_file_path_to_module_path_mismatched_root ... ok
[INFO] [stdout] test history::tests::relative_subpath_strips_root ... ok
[INFO] [stdout] test discovery::tests::test_file_path_to_module_path_deeply_nested_mod ... ok
[INFO] [stdout] test discovery::tests::test_rs_files_excludes_target_directory ... ok
[INFO] [stdout] test discovery::tests::test_rs_files_excludes_hidden_dirs_in_project ... ok
[INFO] [stdout] test discovery::tests::test_rs_files_with_hidden_parent_directory ... ok
[INFO] [stdout] test discovery::tests::test_file_path_to_module_path_bin ... ok
[INFO] [stdout] test discovery::tests::resolve_external_module_file_rejects_other_package ... ok
[INFO] [stdout] test history::tests::short_hash_truncates ... ok
[INFO] [stdout] test manifest::tests::boundary_skipped_files_are_reported_with_count ... ok
[INFO] [stdout] test manifest::tests::all_degradations_accumulate ... ok
[INFO] [stdout] test manifest::tests::excluded_tests_adds_a_note ... ok
[INFO] [stdout] test manifest::tests::no_git_adds_a_note ... ok
[INFO] [stdout] test manifest::tests::parse_failures_are_reported_with_count ... ok
[INFO] [stdout] test manifest::tests::skipped_crates_are_reported_by_name ... ok
[INFO] [stdout] test manifest::tests::empty_dead_config_patterns_add_no_note ... ok
[INFO] [stdout] test history::tests::relative_subpath_errors_outside_root ... ok
[INFO] [stdout] test history::tests::sample_returns_all_when_under_limit ... ok
[INFO] [stdout] test manifest::tests::dead_config_patterns_are_reported_in_both_languages ... ok
[INFO] [stdout] test history::tests::error_display_messages ... ok
[INFO] [stdout] test manifest::tests::structural_blind_spots_are_always_present ... ok
[INFO] [stdout] test metrics::tests::test_distance_values ... ok
[INFO] [stdout] test metrics::tests::test_circular_dependency_detection ... ok
[INFO] [stdout] test metrics::tests::test_circular_dependency_summary ... ok
[INFO] [stdout] test metrics::tests::test_external_crates_excluded_from_cycles ... ok
[INFO] [stdout] test metrics::tests::test_module_metrics_average_strength ... ok
[INFO] [stdout] test metrics::tests::test_module_type_definitions ... ok
[INFO] [stdout] test metrics::tests::test_integration_strength_values ... ok
[INFO] [stdout] test metrics::tests::test_no_circular_dependencies ... ok
[INFO] [stdout] test metrics::tests::test_type_registry ... ok
[INFO] [stdout] test metrics::tests::test_effective_strength ... ok
[INFO] [stdout] test metrics::tests::test_project_metrics ... ok
[INFO] [stdout] test metrics::tests::test_visibility_intrusive_detection ... ok
[INFO] [stdout] test metrics::tests::test_visibility_penalty ... ok
[INFO] [stdout] test manifest::tests::full_context_has_no_degradation_notes ... ok
[INFO] [stdout] test metrics::tests::test_volatility_from_count ... ok
[INFO] [stdout] test metrics::tests::test_update_volatility_from_git ... ok
[INFO] [stdout] test report::tests::test_generate_report_surfaces_subdomain_when_present ... ok
[INFO] [stdout] test report::tests::test_generate_summary_includes_manifest_notes_and_pointer ... ok
[INFO] [stdout] test volatility::tests::test_high_volatility_files ... ok
[INFO] [stdout] test report::tests::test_text_report_blind_spots_are_opt_in ... ok
[INFO] [stdout] test report::tests::test_text_report_temporal_coupling_default_truncates_strong_pairs ... ok
[INFO] [stdout] test report::tests::test_generate_report_with_modules ... ok
[INFO] [stdout] test report::tests::test_generate_summary ... ok
[INFO] [stdout] test report::tests::test_report_issues_surfaced_count_matches_issue_list ... ok
[INFO] [stdout] test metrics::tests::test_volatility_with_type_targets ... ok
[INFO] [stdout] test metrics::tests::test_submodule_volatility_prefers_exact_module_file ... ok
[INFO] [stdout] test report::tests::test_generate_report ... ok
[INFO] [stdout] test metrics::tests::test_volatility_extracted_module_targets ... ok
[INFO] [stdout] test report::tests::test_generate_ai_output_includes_manifest ... ok
[INFO] [stdout] test report::tests::test_truncate_path ... ok
[INFO] [stdout] test analyzer::tests::test_analyze_workspace_applies_exclude_patterns_from_relative_src_path ... FAILED
[INFO] [stdout] test volatility::tests::test_temporal_coupling_is_strong ... ok
[INFO] [stdout] test volatility::tests::test_statistics ... ok
[INFO] [stdout] test volatility::tests::test_volatility_classification ... ok
[INFO] [stdout] test workspace::tests::test_find_cargo_toml ... ok
[INFO] [stdout] test workspace::tests::test_resolve_crate_from_path ... ok
[INFO] [stdout] test web::graph::tests::test_empty_project ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- analyzer::tests::test_analyze_workspace_applies_exclude_patterns_from_relative_src_path stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'analyzer::tests::test_analyze_workspace_applies_exclude_patterns_from_relative_src_path' (1765) panicked at src/analyzer.rs:2434:14:
[INFO] [stdout] create tempdir in target: Custom { kind: NotFound, error: PathError { path: "/opt/rustwide/workdir/target/issue39-workspace-tioYs1", err: Os { code: 2, kind: NotFound, message: "No such file or directory" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5dea3e90d231 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5dea3e90d231 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5dea3e90d231 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5dea3e90d231 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5dea3e92499a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5dea3e92499a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5dea3e911a2c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5dea3e911a2c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5dea3e8e8576 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5dea3e8e8576 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5dea3e903ee9 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5dea3e69a8a0 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5dea3e69a8a0 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5dea3e904212 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5dea3e904212 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5dea3e8e8622 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5dea3e8dfc39 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5dea3e8e921d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5dea3e92519c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5dea3e924f12 - core[6883ba1bc0fe4ed1]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:1870:5
[INFO] [stdout]   20:     0x5dea3e5c3c32 - <core[6883ba1bc0fe4ed1]::result::Result<tempfile[571355003e25208]::dir::TempDir, core[6883ba1bc0fe4ed1]::io::error::Error>>::expect
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:1183:23
[INFO] [stdout]   21:     0x5dea3e588274 - cargo_coupling[c0cfacac1b5ec1a6]::analyzer::tests::test_analyze_workspace_applies_exclude_patterns_from_relative_src_path
[INFO] [stdout]                                at /opt/rustwide/workdir/src/analyzer.rs:2434:14
[INFO] [stdout]   22:     0x5dea3e577c47 - cargo_coupling[c0cfacac1b5ec1a6]::analyzer::tests::test_analyze_workspace_applies_exclude_patterns_from_relative_src_path::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/analyzer.rs:2426:80
[INFO] [stdout]   23:     0x5dea3e54c766 - <cargo_coupling[c0cfacac1b5ec1a6]::analyzer::tests::test_analyze_workspace_applies_exclude_patterns_from_relative_src_path::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5dea3e68dbdb - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5dea3e68dbdb - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5dea3e69b225 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5dea3e69b225 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5dea3e69b225 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   29:     0x5dea3e69b225 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5dea3e69b225 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5dea3e69b225 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5dea3e69b225 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5dea3e695cd4 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5dea3e695cd4 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5dea3e69e372 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5dea3e69e372 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5dea3e69e372 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   38:     0x5dea3e69e372 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5dea3e69e372 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5dea3e69e372 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5dea3e69e372 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5dea3e90c20f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   43:     0x5dea3e90c20f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   44:     0x7c99fdb06aa4 - <unknown>
[INFO] [stdout]   45:     0x7c99fdb93a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     analyzer::tests::test_analyze_workspace_applies_exclude_patterns_from_relative_src_path
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 169 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1", kill_on_drop: false }`
[INFO] [stdout] 0f120ccd8b3fd333b587cfb1c77b984cd23bc7687c9e55a8ddb706fa531d0ab1
