[INFO] fetching crate uv-sbom 1.2.0...
[INFO] testing uv-sbom-1.2.0 against 1.94.0 for beta-1.95-1
[INFO] extracting crate uv-sbom 1.2.0 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate uv-sbom 1.2.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate uv-sbom 1.2.0
[INFO] tweaked toml for crates.io crate uv-sbom 1.2.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate uv-sbom 1.2.0 on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate uv-sbom 1.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded assert_cmd v2.1.2
[INFO] [stderr]   Downloaded serde_yaml_ng v0.10.0
[INFO] [stderr]   Downloaded indicatif v0.18.4
[INFO] [stderr]   Downloaded aws-lc-rs v1.15.3
[INFO] [stderr]   Downloaded aws-lc-sys v0.36.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0d9ffba0c476f4d17fc286790632940d6fff7e6c2cbd97b3eaeb781607fbe5d9
[INFO] running `Command { std: "docker" "start" "-a" "0d9ffba0c476f4d17fc286790632940d6fff7e6c2cbd97b3eaeb781607fbe5d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0d9ffba0c476f4d17fc286790632940d6fff7e6c2cbd97b3eaeb781607fbe5d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0d9ffba0c476f4d17fc286790632940d6fff7e6c2cbd97b3eaeb781607fbe5d9", kill_on_drop: false }`
[INFO] [stdout] 0d9ffba0c476f4d17fc286790632940d6fff7e6c2cbd97b3eaeb781607fbe5d9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 69816c1d913db86b5ae8401d7c3e5d85b674c45f238b7b6db09b4cf27e1013cc
[INFO] running `Command { std: "docker" "start" "-a" "69816c1d913db86b5ae8401d7c3e5d85b674c45f238b7b6db09b4cf27e1013cc", kill_on_drop: false }`
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling aws-lc-rs v1.15.3
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]    Compiling zmij v1.0.6
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]    Compiling openssl-probe v0.2.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.112
[INFO] [stderr]    Compiling toml v1.0.3+spec-1.1.0
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling aws-lc-sys v0.36.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling rustls-webpki v0.103.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling uv-sbom v1.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "69816c1d913db86b5ae8401d7c3e5d85b674c45f238b7b6db09b4cf27e1013cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69816c1d913db86b5ae8401d7c3e5d85b674c45f238b7b6db09b4cf27e1013cc", kill_on_drop: false }`
[INFO] [stdout] 69816c1d913db86b5ae8401d7c3e5d85b674c45f238b7b6db09b4cf27e1013cc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3655b03b1eb874d89f3f54704d79608725b014c3744bb5dad79a03dccfe31255
[INFO] running `Command { std: "docker" "start" "-a" "3655b03b1eb874d89f3f54704d79608725b014c3744bb5dad79a03dccfe31255", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling assert_cmd v2.1.2
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling uv-sbom v1.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 28.15s
[INFO] running `Command { std: "docker" "inspect" "3655b03b1eb874d89f3f54704d79608725b014c3744bb5dad79a03dccfe31255", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3655b03b1eb874d89f3f54704d79608725b014c3744bb5dad79a03dccfe31255", kill_on_drop: false }`
[INFO] [stdout] 3655b03b1eb874d89f3f54704d79608725b014c3744bb5dad79a03dccfe31255
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5a92abce6dab88cc24e200e85755d1216b8fa228724977630ab5e3034e28f435
[INFO] running `Command { std: "docker" "start" "-a" "5a92abce6dab88cc24e200e85755d1216b8fa228724977630ab5e3034e28f435", kill_on_drop: false }`
[INFO] [stdout] 
[INFO] [stdout] running 389 tests
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_lockfile_not_found ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_writer::tests::test_file_writer_parent_directory_not_found ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_project_name_success ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_project_name_missing_name_field ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_lockfile_success ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_writer::tests::test_file_writer_success ... ok
[INFO] [stdout] test adapters::outbound::console::progress_reporter::tests::test_progress_reporter_default ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_project_name_file_not_found ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_group_field ... ok
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/uv_sbom-d2b2f510cb6d80a9)
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_metadata_component ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_basic ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_resolution_guide_properties ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_hashes ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_dependencies ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_vulnerability_no_resolution_guide ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_license_fallback_to_name ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_bom_ref_field ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_vulnerabilities ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_license_spdx_id ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_without_hashes_omits_field ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_without_metadata_component ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_resolution_guide_multiple_introduced_by ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_project_name_invalid_toml ... ok
[INFO] [stdout] test adapters::outbound::console::progress_reporter::tests::test_progress_reporter_creation ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_count_unique_packages ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_basic_contains_pypi_links ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_package_name_with_none_verified ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_package_name_with_verified_absent ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_package_name_with_verified_present ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_vulnerability_section_ordering ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_informational_vulnerabilities ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_normalize_for_pypi_already_normalized ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_package_to_pypi_link_with_underscore ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_verified_packages_only_verified_get_links ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_package_to_pypi_link_with_uppercase ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_basic ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_normalize_for_pypi_underscore ... ok
[INFO] [stdout] test output
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_output_section_ordering ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_vulnerability_with_verified_packages ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_writer::tests::test_stdout_presenter_success ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_package_to_pypi_link_simple ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_informational_vulnerabilities ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_resolution_guide_multiple_introduced_by ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_dependencies_contains_pypi_links ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_vulnerabilities ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_without_verified_packages_all_get_links ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_empty_verified_set_no_links ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_actionable_vulnerabilities ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_dependencies ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_resolution_guide_with_entries ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_actionable_vulnerabilities_multiple_packages ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_vulnerability_id_to_link_ghsa ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_vulnerability_id_to_link_rustsec ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_vulnerability_table_contains_pypi_links ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_vulnerability_id_to_link_pysec ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_resolution_guide_ghsa_link ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_resolution_guide_omitted_when_none ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_vulnerability_id_to_link_cve ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_result_deserialize_empty ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_vulnerability_summary ... ok
[INFO] [stdout] test adapters::outbound::network::caching_pypi_client::tests::test_caching_repository_different_packages_cached_separately ... ok
[INFO] [stdout] test adapters::outbound::network::caching_pypi_client::tests::test_cache_key_equality ... ok
[INFO] [stdout] test adapters::outbound::network::caching_pypi_client::tests::test_caching_repository_returns_cached_value ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_result_deserialize_with_vulns ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_vulnerability_with_database_specific ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_vulnerability_without_database_specific ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_critical ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_invalid ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_low ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_none ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_batch_query_serialize ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_vulnerability_summary_singular ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_resolution_guide_omitted_when_empty ... ok
[INFO] [stdout] test adapters::outbound::network::caching_pypi_client::tests::test_caching_repository_different_versions_cached_separately ... ok
[INFO] [stdout] test adapters::outbound::network::pypi_client::tests::test_pypi_url_deserialization_without_urls ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_display ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_equality ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_json_case_insensitive ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_markdown ... ok
[INFO] [stdout] test adapters::outbound::network::pypi_client::tests::test_pypi_url_deserialization_with_digests ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_markdown_case_insensitive ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_md ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_builder_with_all_options ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_clone ... ok
[INFO] [stdout] test adapters::outbound::network::pypi_client::tests::test_pypi_url_deserialization_empty_digests ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_builder_default_trait ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_empty ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_add_exclude_pattern_accumulates ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_normalize_for_pypi_uppercase ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_builder_with_only_project_path ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_builder_without_project_path_fails ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_severity_threshold_opt_with_some ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_cvss_threshold_opt_with_none ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_project_path_accepts_string ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_default ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_cvss_threshold_opt_with_some ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_with_enriched_packages ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_fails_without_metadata ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_enriched_packages_bulk ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_with_vulnerability_flags ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_create_json_formatter ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_create_json_ignores_verified_packages ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_with_metadata_only ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_create_markdown_formatter ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_create_with_verified_packages ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_progress_message_json ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_progress_message_markdown ... ok
[INFO] [stdout] test application::factories::presenter_factory::tests::test_create_file_presenter ... ok
[INFO] [stdout] test application::factories::presenter_factory::tests::test_create_stdout_presenter ... ok
[INFO] [stdout] test application::factories::presenter_factory::tests::test_presenter_type_clone ... ok
[INFO] [stdout] test application::factories::presenter_factory::tests::test_presenter_type_equality ... ok
[INFO] [stdout] test application::read_models::resolution_guide_view::tests::test_introduced_by_view_creation ... ok
[INFO] [stdout] test application::read_models::resolution_guide_view::tests::test_resolution_entry_view_creation ... ok
[INFO] [stdout] test application::read_models::resolution_guide_view::tests::test_resolution_entry_view_without_fixed_version ... ok
[INFO] [stdout] test application::read_models::resolution_guide_view::tests::test_resolution_guide_view_default ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_generates_purl ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_is_direct_dependency_with_graph ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_is_direct_dependency_without_graph ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_with_description ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_with_license ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_without_license ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_without_sha256_hash ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_with_sha256_hash ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_dependencies_builds_transitive_map ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_dependencies_empty_graph ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_dependencies_filters_unknown_packages ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_dependencies_maps_direct_to_bom_refs ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_model_resolution_guide_none_when_no_transitive_vulns ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_generates_bom_ref ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_model_resolution_guide_when_both_graph_and_vulns ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_read_model ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_model_resolution_guide_none_without_graph ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_model_resolution_guide_none_without_vulns ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_metadata_without_project_component ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_resolution_guide_converts_entries ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_read_model_with_vulnerabilities ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_resolution_guide_multiple_introduced_by ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_resolution_guide_without_fixed_version ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerabilities_actionable_and_informational ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerabilities_empty_result ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerabilities_summary_statistics ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerability_view_basic ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_metadata_with_project_component ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerability_view_component_not_found ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerability_view_with_fixed_version ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_metadata ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerability_view_without_cvss ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_with_empty_packages ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_with_project_includes_metadata_component ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_map_severity_all_levels ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerabilities_multiple_vulns_per_package ... ok
[INFO] [stdout] test application::read_models::vulnerability_view::tests::test_severity_view_as_str ... ok
[INFO] [stdout] test application::read_models::vulnerability_view::tests::test_severity_view_is_actionable ... ok
[INFO] [stdout] test application::read_models::vulnerability_view::tests::test_severity_view_default ... ok
[INFO] [stdout] test application::read_models::vulnerability_view::tests::test_severity_view_ordering ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_check_with_progress_multiple_packages ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_summarize_multiple_packages ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_check_with_progress_no_vulnerabilities ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_summarize_single_package_multiple_vulns ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_check_with_progress_with_vulnerabilities ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_analyze_dependencies_enabled ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_apply_exclusion_filters_all_excluded_error ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_apply_exclusion_filters_empty_patterns ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_apply_exclusion_filters_with_patterns ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_response ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_response_with_threshold_exceeded ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_response_with_threshold_not_exceeded ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_threshold_config_cvss ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_threshold_config_none ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_threshold_config_severity ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_check_vulnerabilities_if_requested_disabled ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_summarize_single_package_single_vuln ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_summarize_empty ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_project_path_accepts_pathbuf ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_exclude_patterns_replaces_previous ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_escape_markdown_table_cell ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_high ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_medium ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_severity_string ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_invalid ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_json ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_severity_threshold_opt_with_none ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_analyze_dependencies_disabled ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_cve_check_in_dry_run_mode ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_cve_check_but_no_repository ... ok
[INFO] [stdout] test config::tests::test_empty_cve_id_validation_error ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_check_vulnerabilities_if_requested_enabled ... ok
[INFO] [stdout] test config::tests::test_generate_config_template_creates_file ... ok
[INFO] [stdout] test config::tests::test_discover_config_not_found ... ok
[INFO] [stdout] test config::tests::test_generate_config_template_fails_if_exists ... ok
[INFO] [stdout] test config::tests::test_load_config_parse_error ... ok
[INFO] [stdout] test config::tests::test_load_valid_config ... ok
[INFO] [stdout] test config::tests::test_load_config_missing_file ... ok
[INFO] [stdout] test config::tests::test_template_is_valid_yaml_when_uncommented ... ok
[INFO] [stdout] test sbom_generation::domain::dependency_graph::tests::test_dependency_graph_empty ... ok
[INFO] [stdout] test config::tests::test_whitespace_only_cve_id_validation_error ... ok
[INFO] [stdout] test sbom_generation::domain::dependency_graph::tests::test_dependency_graph_new ... ok
[INFO] [stdout] test config::tests::test_unknown_fields_warning ... ok
[INFO] [stdout] test config::tests::test_discover_config_found ... ok
[INFO] [stdout] test sbom_generation::domain::license_info::tests::test_license_info_empty ... ok
[INFO] [stdout] test sbom_generation::domain::license_info::tests::test_license_info_new ... ok
[INFO] [stdout] test sbom_generation::domain::license_info::tests::test_license_info_no_license ... ok
[INFO] [stdout] test sbom_generation::domain::license_info::tests::test_license_info_with_sha256_hash ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_contains_match ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_exact_match_case_insensitive ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_empty_pattern_rejected ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_multiple_wildcards ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_violation_reason_as_str ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_policy_skips_invalid_patterns ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_equality ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_name_display ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_name_new_empty ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_name_new_valid ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_new_empty_name ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_new_empty_version ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_new_valid ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_version_display ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_version_new_empty ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_version_new_valid ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_prefix_match ... ok
[INFO] [stdout] test sbom_generation::domain::license_info::tests::test_license_info_without_sha256_hash ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_suffix_match ... ok
[INFO] [stdout] test sbom_generation::domain::resolution_guide::tests::test_introduced_by_new ... ok
[INFO] [stdout] test sbom_generation::domain::resolution_guide::tests::test_resolution_entry_new ... ok
[INFO] [stdout] test sbom_generation::domain::resolution_guide::tests::test_resolution_entry_empty_introduced_by ... ok
[INFO] [stdout] test sbom_generation::domain::resolution_guide::tests::test_resolution_entry_without_fixed_version ... ok
[INFO] [stdout] test sbom_generation::domain::sbom_metadata::tests::test_sbom_metadata_new ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_allow_only ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_case_insensitive_matching ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_deny_only ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_deny_overrides_allow ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_empty_policy_no_violations ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_multiple_violations ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_unknown_license_allow ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_unknown_license_deny ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_unknown_license_warn ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_wildcard_deny_pattern ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_direct_dependency_vulnerability_is_skipped ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_wildcard_only_rejected ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_empty_dependency_graph_returns_empty ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_empty_vulnerabilities_returns_empty ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_multiple_direct_deps_introduce_same_vulnerable_package ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_multiple_vulnerabilities_in_same_package ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_package_not_found_in_transitive_list_is_omitted ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_transitive_vulnerability_produces_entry ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_unknown_version_when_package_not_in_enriched_list ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_actionable_package_count ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_actionable_count_empty ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_actionable_count_multiple_packages ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_actionable_package_count_empty ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_empty_input ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_has_actionable_vulnerabilities_true ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_has_informational_vulnerabilities_false ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_all_cves_in_package_removes_package ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_has_informational_vulnerabilities_true ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cve_across_multiple_packages ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cve_does_not_trigger_threshold ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cve_case_sensitive ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_actionable_count_single_package ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_has_actionable_vulnerabilities_false ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cve_with_reason ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cves_empty_list ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cve_no_match ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_single_cve ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_informational_count_multiple_packages ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_multiple_packages ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_no_vulnerabilities_above_threshold ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_semantic_methods_with_mixed_result ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_empty_input ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_handles_cvss_display ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_handles_fixed_version ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_informational_count_single_package ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_multiple_packages ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_includes_none_severity ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_orders_critical_first ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_cvss ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_cvss_boundary ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_cvss_na_excluded ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_none_all_above ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_severity_critical_only ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_severity_high ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_cvss_score_invalid_nan ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_cvss_score_invalid_negative ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_cvss_score_invalid_too_high ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_preserves_package_info ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_package_vulnerabilities_new ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_severity_emoji ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_severity_from_cvss_score ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_severity_ordering ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_vulnerability_empty_id ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_vulnerability_new_valid ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_vulnerability_without_optional_fields ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_create_license_info ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_create_license_info_no_license ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_extract_license_from_classifiers ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_extract_license_from_classifiers_empty ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_extract_license_from_classifiers_not_found ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_complex_priority ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_falls_back_to_classifiers ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_falls_back_to_expression ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_ignores_empty_string ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_ignores_unknown ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_no_license_found ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_prefers_license_field ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_apache_license_variants ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_bsd_license_variants ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_case_insensitive_matching ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_cvss_score_new_valid ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_gpl_license_variants ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_mit_license_variants ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_informational_package_count ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_unknown_license_returns_none ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_other_licenses ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_analyze_empty_project ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_analyze_multiple_direct_dependencies ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_analyze_no_transitive_dependencies ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_collect_transitive_deps_cycle_detection ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_case_sensitive_matching ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_contains_wildcard ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_empty_pattern_list ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_exact_match ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_filter_dependency_map ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_filter_packages ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_filter_packages_multiple_patterns ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_filter_packages_with_wildcard ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_multiple_wildcards ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_count_boundary_63_patterns ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_count_boundary_64_patterns ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_count_boundary_65_patterns ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_length_boundary_254_chars ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_collect_transitive_deps_excludes_direct_deps ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_length_boundary_255_chars ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_validation_empty ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_validation_invalid_chars ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_validation_only_wildcards ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_validation_too_long ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_validation_too_many_patterns ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_with_brackets ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_with_dots ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_analyze_simple_dependency_tree ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_prefix_wildcard ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_unmatched_patterns_all_matched ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_unmatched_patterns_none_matched ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_unmatched_patterns_partial_match ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_unmatched_patterns_wildcard ... ok
[INFO] [stdout] test sbom_generation::services::sbom_generator::tests::test_generate_default_metadata ... ok
[INFO] [stdout] test sbom_generation::services::sbom_generator::tests::test_generate_metadata ... ok
[INFO] [stdout] test sbom_generation::services::sbom_generator::tests::test_generate_metadata_timestamp_format ... ok
[INFO] [stdout] test sbom_generation::services::sbom_generator::tests::test_generate_metadata_unique_serial_numbers ... ok
[INFO] [stdout] test sbom_generation::services::sbom_generator::tests::test_generate_metadata_uuid_format ... ok
[INFO] [stdout] test shared::error::tests::test_exit_code_clone ... ok
[INFO] [stdout] test shared::error::tests::test_exit_code_display ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_length_boundary_256_chars ... ok
[INFO] [stdout] test shared::error::tests::test_exit_code_equality ... ok
[INFO] [stdout] test shared::error::tests::test_exit_code_values ... ok
[INFO] [stdout] test shared::error::tests::test_file_read_error_display ... ok
[INFO] [stdout] test shared::error::tests::test_file_write_error_display ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_suffix_wildcard ... ok
[INFO] [stdout] test shared::error::tests::test_invalid_project_path_display ... ok
[INFO] [stdout] test shared::error::tests::test_lockfile_parse_error_display ... ok
[INFO] [stdout] test shared::error::tests::test_lockfile_not_found_display ... ok
[INFO] [stdout] test shared::error::tests::test_security_error_display ... ok
[INFO] [stdout] test shared::security::tests::test_max_file_size_constant ... ok
[INFO] [stdout] test shared::security::tests::test_read_file_with_security_directory ... ok
[INFO] [stdout] test shared::security::tests::test_read_file_with_security_success ... ok
[INFO] [stdout] test shared::security::tests::test_read_file_with_security_file_not_found ... ok
[INFO] [stdout] test shared::security::tests::test_validate_and_get_metadata_directory ... ok
[INFO] [stdout] test shared::security::tests::test_validate_and_get_metadata_file_too_large ... ok
[INFO] [stdout] test shared::security::tests::test_validate_and_get_metadata_nonexistent ... ok
[INFO] [stdout] test shared::security::tests::test_validate_and_get_metadata_success ... ok
[INFO] [stdout] test shared::security::tests::test_validate_directory_path_is_file ... ok
[INFO] [stdout] test shared::security::tests::test_validate_directory_path_nonexistent ... ok
[INFO] [stdout] test shared::security::tests::test_validate_not_symlink_nonexistent ... ok
[INFO] [stdout] test shared::security::tests::test_validate_directory_path_success ... ok
[INFO] [stdout] test shared::security::tests::test_validate_not_symlink_regular_file ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_multiple_cves ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_whitespace_trimming ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_cve_check_disabled ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_cve_check_enabled ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_fetch_license_info ... ok
[INFO] [stdout] test adapters::outbound::network::pypi_client::tests::test_verify_packages_empty_list ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_client_creation ... ok
[INFO] [stdout] test adapters::outbound::network::pypi_client::tests::test_pypi_client_creation ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_without_dependencies ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_exclude_non_root_preserves_dependency_classification ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_dependencies ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_without_root_excluded_baseline ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/uv_sbom-b37f84a56c7d47df)
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_root_excluded_preserves_dependency_classification ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 389 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 406 tests
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_lockfile_success ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_writer::tests::test_file_writer_success ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_project_name_invalid_toml ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_project_name_missing_name_field ... ok
[INFO] [stdout] test adapters::outbound::console::progress_reporter::tests::test_progress_reporter_creation ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_project_name_file_not_found ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_project_name_success ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_reader::tests::test_read_lockfile_not_found ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_writer::tests::test_file_writer_parent_directory_not_found ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_bom_ref_field ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_basic ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_vulnerability_no_resolution_guide ... ok
[INFO] [stdout] test output
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_hashes ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_license_fallback_to_name ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_license_spdx_id ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_dependencies ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_without_hashes_omits_field ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_vulnerabilities ... ok
[INFO] [stdout] test adapters::outbound::filesystem::file_writer::tests::test_stdout_presenter_success ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_without_metadata_component ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_metadata_component ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_resolution_guide_multiple_introduced_by ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_package_name_with_none_verified ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_basic_contains_pypi_links ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_package_name_with_verified_present ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_output_section_ordering ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_vulnerability_section_ordering ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_group_field ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_count_unique_packages ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_escape_markdown_table_cell ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_basic ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_package_name_with_verified_absent ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_vulnerability_with_verified_packages ... ok
[INFO] [stdout] test adapters::outbound::formatters::cyclonedx_formatter::tests::test_format_with_resolution_guide_properties ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_dependencies ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_dependencies_contains_pypi_links ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_verified_packages_only_verified_get_links ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_informational_vulnerabilities ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_vulnerabilities ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_without_verified_packages_all_get_links ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_normalize_for_pypi_already_normalized ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_normalize_for_pypi_underscore ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_normalize_for_pypi_uppercase ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_package_to_pypi_link_simple ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_package_to_pypi_link_with_underscore ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_package_to_pypi_link_with_uppercase ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_actionable_vulnerabilities_multiple_packages ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_resolution_guide_multiple_introduced_by ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_vulnerability_summary_singular ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_resolution_guide_with_entries ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_vulnerability_summary ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_render_actionable_vulnerabilities ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_resolution_guide_omitted_when_none ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_vulnerability_id_to_link_ghsa ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_vulnerability_id_to_link_pysec ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_vulnerability_table_contains_pypi_links ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_result_deserialize_empty ... ok
[INFO] [stdout] test adapters::outbound::network::caching_pypi_client::tests::test_cache_key_equality ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_vulnerability_with_database_specific ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_batch_query_serialize ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_resolution_guide_omitted_when_empty ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_vulnerability_without_database_specific ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_empty_verified_set_no_links ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_resolution_guide_ghsa_link ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_result_deserialize_with_vulns ... ok
[INFO] [stdout] test adapters::outbound::network::caching_pypi_client::tests::test_caching_repository_different_versions_cached_separately ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_vulnerability_id_to_link_cve ... ok
[INFO] [stdout] test adapters::outbound::network::caching_pypi_client::tests::test_caching_repository_different_packages_cached_separately ... ok
[INFO] [stdout] test adapters::outbound::network::caching_pypi_client::tests::test_caching_repository_returns_cached_value ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_critical ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_high ... ok
[INFO] [stdout] test adapters::outbound::console::progress_reporter::tests::test_progress_reporter_default ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_format_with_informational_vulnerabilities ... ok
[INFO] [stdout] test adapters::outbound::formatters::markdown_formatter::tests::test_vulnerability_id_to_link_rustsec ... ok
[INFO] [stdout] test adapters::outbound::network::pypi_client::tests::test_pypi_url_deserialization_without_urls ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_clone ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_empty ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_invalid ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_none ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_display ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_low ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_equality ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_add_exclude_pattern_accumulates ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_markdown ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_markdown_case_insensitive ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_md ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_builder_with_only_project_path ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_json ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_severity_string ... ok
[INFO] [stdout] test application::dto::output_format::tests::test_output_format_from_str_json_case_insensitive ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_medium ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_builder_with_all_options ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_builder_default_trait ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_exclude_patterns_replaces_previous ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_project_path_accepts_string ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_project_path_accepts_pathbuf ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_severity_threshold_opt_with_none ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_builder_without_project_path_fails ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_cvss_threshold_opt_with_none ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_cvss_threshold_opt_with_some ... ok
[INFO] [stdout] test application::dto::sbom_request::tests::test_severity_threshold_opt_with_some ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_create_json_formatter ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_create_json_ignores_verified_packages ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_enriched_packages_bulk ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_fails_without_metadata ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_with_metadata_only ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_with_vulnerability_flags ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_create_with_verified_packages ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_progress_message_json ... ok
[INFO] [stdout] test application::factories::presenter_factory::tests::test_presenter_type_clone ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_progress_message_markdown ... ok
[INFO] [stdout] test application::factories::presenter_factory::tests::test_create_file_presenter ... ok
[INFO] [stdout] test application::factories::presenter_factory::tests::test_create_stdout_presenter ... ok
[INFO] [stdout] test application::read_models::resolution_guide_view::tests::test_introduced_by_view_creation ... ok
[INFO] [stdout] test application::factories::presenter_factory::tests::test_presenter_type_equality ... ok
[INFO] [stdout] test application::read_models::resolution_guide_view::tests::test_resolution_entry_view_creation ... ok
[INFO] [stdout] test application::read_models::resolution_guide_view::tests::test_resolution_entry_view_without_fixed_version ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_default ... ok
[INFO] [stdout] test application::factories::formatter_factory::tests::test_create_markdown_formatter ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_generates_bom_ref ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_is_direct_dependency_with_graph ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_is_direct_dependency_without_graph ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_without_license ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_without_sha256_hash ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_with_description ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_with_license ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_dependencies_filters_unknown_packages ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_dependencies_empty_graph ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_dependencies_maps_direct_to_bom_refs ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_model_resolution_guide_none_when_no_transitive_vulns ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_model_resolution_guide_none_without_graph ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_dependencies_builds_transitive_map ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_parse_cvss_score_invalid ... ok
[INFO] [stdout] test adapters::outbound::network::pypi_client::tests::test_pypi_url_deserialization_with_digests ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_with_sha256_hash ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_model_resolution_guide_none_without_vulns ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_model_resolution_guide_when_both_graph_and_vulns ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_read_model ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_full_read_model_with_vulnerabilities ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerabilities_actionable_and_informational ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerabilities_empty_result ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerabilities_multiple_vulns_per_package ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerabilities_summary_statistics ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerability_view_basic ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerability_view_component_not_found ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerability_view_with_fixed_version ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_vulnerability_view_without_cvss ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_with_empty_packages ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_with_project_includes_metadata_component ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_map_severity_all_levels ... ok
[INFO] [stdout] test application::read_models::vulnerability_view::tests::test_severity_view_as_str ... ok
[INFO] [stdout] test application::read_models::vulnerability_view::tests::test_severity_view_default ... ok
[INFO] [stdout] test application::read_models::vulnerability_view::tests::test_severity_view_is_actionable ... ok
[INFO] [stdout] test application::read_models::vulnerability_view::tests::test_severity_view_ordering ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_check_with_progress_multiple_packages ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_check_with_progress_no_vulnerabilities ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_summarize_multiple_packages ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_summarize_single_package_multiple_vulns ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_summarize_single_package_single_vuln ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_analyze_dependencies_disabled ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_analyze_dependencies_enabled ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_apply_exclusion_filters_all_excluded_error ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_apply_exclusion_filters_empty_patterns ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_apply_exclusion_filters_with_patterns ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_response ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_response_with_threshold_exceeded ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_metadata ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_threshold_config_cvss ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_threshold_config_none ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_threshold_config_severity ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_check_vulnerabilities_if_requested_disabled ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_check_vulnerabilities_if_requested_enabled ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_metadata_without_project_component ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_resolution_guide_converts_entries ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_resolution_guide_multiple_introduced_by ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_cve_check_but_no_repository ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_cve_check_disabled ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_summarize_empty ... ok
[INFO] [stdout] test application::dto::sbom_response::tests::test_builder_with_enriched_packages ... ok
[INFO] [stdout] test application::read_models::resolution_guide_view::tests::test_resolution_guide_view_default ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_components_generates_purl ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_build_response_with_threshold_not_exceeded ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_cve_check_in_dry_run_mode ... ok
[INFO] [stdout] test cli::tests::test_parse_cvss_threshold_invalid_format ... ok
[INFO] [stdout] test cli::tests::test_parse_cvss_threshold_valid ... ok
[INFO] [stdout] test cli::tests::test_parse_severity_threshold_case_insensitive ... ok
[INFO] [stdout] test cli::tests::test_parse_cvss_threshold_invalid_range ... ok
[INFO] [stdout] test cli::tests::test_parse_severity_threshold_valid ... ok
[INFO] [stdout] test sbom_generation::domain::dependency_graph::tests::test_dependency_graph_empty ... ok
[INFO] [stdout] test sbom_generation::domain::dependency_graph::tests::test_dependency_graph_new ... ok
[INFO] [stdout] test sbom_generation::domain::license_info::tests::test_license_info_empty ... ok
[INFO] [stdout] test sbom_generation::domain::license_info::tests::test_license_info_new ... ok
[INFO] [stdout] test sbom_generation::domain::license_info::tests::test_license_info_no_license ... ok
[INFO] [stdout] test application::use_cases::check_vulnerabilities::tests::test_check_with_progress_with_vulnerabilities ... ok
[INFO] [stdout] test sbom_generation::domain::license_info::tests::test_license_info_with_sha256_hash ... ok
[INFO] [stdout] test sbom_generation::domain::license_info::tests::test_license_info_without_sha256_hash ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_empty_pattern_rejected ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_exact_match_case_insensitive ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_metadata_with_project_component ... ok
[INFO] [stdout] test application::read_models::sbom_read_model_builder::tests::test_build_resolution_guide_without_fixed_version ... ok
[INFO] [stdout] test cli::tests::test_parse_severity_threshold_invalid ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_contains_match ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_policy_skips_invalid_patterns ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_prefix_match ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_violation_reason_as_str ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_equality ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_name_display ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_name_new_empty ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_name_new_valid ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_new_empty_name ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_new_empty_version ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_package_new_valid ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_version_display ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_version_new_empty ... ok
[INFO] [stdout] test sbom_generation::domain::package::tests::test_version_new_valid ... ok
[INFO] [stdout] test sbom_generation::domain::resolution_guide::tests::test_introduced_by_new ... ok
[INFO] [stdout] test sbom_generation::domain::resolution_guide::tests::test_resolution_entry_empty_introduced_by ... ok
[INFO] [stdout] test sbom_generation::domain::resolution_guide::tests::test_resolution_entry_new ... ok
[INFO] [stdout] test sbom_generation::domain::resolution_guide::tests::test_resolution_entry_without_fixed_version ... ok
[INFO] [stdout] test sbom_generation::domain::sbom_metadata::tests::test_sbom_metadata_new ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_allow_only ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_case_insensitive_matching ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_deny_only ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_deny_overrides_allow ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_empty_policy_no_violations ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_multiple_violations ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_unknown_license_allow ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_unknown_license_deny ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_unknown_license_warn ... ok
[INFO] [stdout] test sbom_generation::domain::services::license_compliance_checker::tests::test_wildcard_deny_pattern ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_direct_dependency_vulnerability_is_skipped ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_empty_dependency_graph_returns_empty ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_empty_vulnerabilities_returns_empty ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_multiple_direct_deps_introduce_same_vulnerable_package ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_multiple_vulnerabilities_in_same_package ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_package_not_found_in_transitive_list_is_omitted ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_transitive_vulnerability_produces_entry ... ok
[INFO] [stdout] test sbom_generation::domain::services::resolution_analyzer::tests::test_unknown_version_when_package_not_in_enriched_list ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_actionable_count_empty ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_actionable_count_multiple_packages ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_actionable_count_single_package ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_actionable_package_count ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_actionable_package_count_empty ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_empty_input ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_has_actionable_vulnerabilities_false ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_has_actionable_vulnerabilities_true ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_has_informational_vulnerabilities_false ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_has_informational_vulnerabilities_true ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_all_cves_in_package_removes_package ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cve_across_multiple_packages ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cve_case_sensitive ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cve_does_not_trigger_threshold ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cve_no_match ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cve_with_reason ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_cves_empty_list ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_multiple_cves ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_ignore_single_cve ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_informational_count_multiple_packages ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_informational_count_single_package ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_informational_package_count ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_multiple_packages ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_no_vulnerabilities_above_threshold ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_semantic_methods_with_mixed_result ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_empty_input ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_handles_cvss_display ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_handles_fixed_version ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_includes_none_severity ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_multiple_packages ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_orders_critical_first ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_sort_by_severity_preserves_package_info ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_cvss ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_cvss_boundary ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_cvss_na_excluded ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_none_all_above ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_severity_critical_only ... ok
[INFO] [stdout] test sbom_generation::domain::services::vulnerability_checker::tests::test_threshold_severity_high ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_cvss_score_invalid_nan ... ok
[INFO] [stdout] test adapters::outbound::network::pypi_client::tests::test_pypi_url_deserialization_empty_digests ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_suffix_match ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_cvss_score_invalid_negative ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_cvss_score_invalid_too_high ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_package_vulnerabilities_new ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_cvss_score_new_valid ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_severity_emoji ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_severity_ordering ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_severity_from_cvss_score ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_vulnerability_without_optional_fields ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_vulnerability_empty_id ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_create_license_info ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_create_license_info_no_license ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_extract_license_from_classifiers_empty ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_extract_license_from_classifiers_not_found ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_complex_priority ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_falls_back_to_classifiers ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_falls_back_to_expression ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_ignores_empty_string ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_ignores_unknown ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_no_license_found ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_select_license_prefers_license_field ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_apache_license_variants ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_bsd_license_variants ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_case_insensitive_matching ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_gpl_license_variants ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_mit_license_variants ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_other_licenses ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_unknown_license_returns_none ... ok
[INFO] [stdout] test sbom_generation::policies::spdx_license_map::tests::test_whitespace_trimming ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_analyze_empty_project ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_analyze_multiple_direct_dependencies ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_analyze_no_transitive_dependencies ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_analyze_simple_dependency_tree ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_collect_transitive_deps_cycle_detection ... ok
[INFO] [stdout] test sbom_generation::services::dependency_analyzer::tests::test_collect_transitive_deps_excludes_direct_deps ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_case_sensitive_matching ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_contains_wildcard ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_empty_pattern_list ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_exact_match ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_filter_dependency_map ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_filter_packages ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_filter_packages_multiple_patterns ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_filter_packages_with_wildcard ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_multiple_wildcards ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_count_boundary_63_patterns ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_count_boundary_64_patterns ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_count_boundary_65_patterns ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_length_boundary_254_chars ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_length_boundary_255_chars ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_length_boundary_256_chars ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_validation_empty ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_validation_invalid_chars ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_validation_only_wildcards ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_validation_too_long ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_validation_too_many_patterns ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_with_brackets ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_pattern_with_dots ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_prefix_wildcard ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_suffix_wildcard ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_unmatched_patterns_all_matched ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_unmatched_patterns_none_matched ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_unmatched_patterns_partial_match ... ok
[INFO] [stdout] test sbom_generation::services::package_filter::tests::test_unmatched_patterns_wildcard ... ok
[INFO] [stdout] test sbom_generation::services::sbom_generator::tests::test_generate_default_metadata ... ok
[INFO] [stdout] test sbom_generation::services::sbom_generator::tests::test_generate_metadata ... ok
[INFO] [stdout] test sbom_generation::services::sbom_generator::tests::test_generate_metadata_timestamp_format ... ok
[INFO] [stdout] test sbom_generation::services::sbom_generator::tests::test_generate_metadata_unique_serial_numbers ... ok
[INFO] [stdout] test sbom_generation::services::sbom_generator::tests::test_generate_metadata_uuid_format ... ok
[INFO] [stdout] test shared::error::tests::test_exit_code_clone ... ok
[INFO] [stdout] test shared::error::tests::test_exit_code_display ... ok
[INFO] [stdout] test shared::error::tests::test_exit_code_equality ... ok
[INFO] [stdout] test shared::error::tests::test_exit_code_values ... ok
[INFO] [stdout] test shared::error::tests::test_file_read_error_display ... ok
[INFO] [stdout] test shared::error::tests::test_file_write_error_display ... ok
[INFO] [stdout] test shared::error::tests::test_invalid_project_path_display ... ok
[INFO] [stdout] test shared::error::tests::test_lockfile_not_found_display ... ok
[INFO] [stdout] test shared::error::tests::test_lockfile_parse_error_display ... ok
[INFO] [stdout] test shared::error::tests::test_security_error_display ... ok
[INFO] [stdout] test shared::security::tests::test_max_file_size_constant ... ok
[INFO] [stdout] test shared::security::tests::test_read_file_with_security_directory ... ok
[INFO] [stdout] test shared::security::tests::test_read_file_with_security_file_not_found ... ok
[INFO] [stdout] test shared::security::tests::test_read_file_with_security_success ... ok
[INFO] [stdout] test sbom_generation::policies::license_priority::tests::test_extract_license_from_classifiers ... ok
[INFO] [stdout] test shared::security::tests::test_validate_and_get_metadata_directory ... ok
[INFO] [stdout] test shared::security::tests::test_validate_and_get_metadata_file_too_large ... ok
[INFO] [stdout] test shared::security::tests::test_validate_and_get_metadata_nonexistent ... ok
[INFO] [stdout] test shared::security::tests::test_validate_and_get_metadata_success ... ok
[INFO] [stdout] test shared::security::tests::test_validate_directory_path_nonexistent ... ok
[INFO] [stdout] test shared::security::tests::test_validate_not_symlink_nonexistent ... ok
[INFO] [stdout] test shared::security::tests::test_validate_directory_path_success ... ok
[INFO] [stdout] test shared::security::tests::test_validate_not_symlink_regular_file ... ok
[INFO] [stdout] test shared::security::tests::test_validate_directory_path_is_file ... ok
[INFO] [stdout] test tests::test_merge_config_check_cve_cli_flag ... ok
[INFO] [stdout] test tests::test_merge_config_check_cve_from_config ... ok
[INFO] [stdout] test tests::test_merge_config_cli_overrides_format ... ok
[INFO] [stdout] test tests::test_merge_config_config_provides_defaults ... ok
[INFO] [stdout] test tests::test_merge_config_exclude_patterns_merged ... ok
[INFO] [stdout] test tests::test_merge_config_cvss_threshold_cli_wins ... ok
[INFO] [stdout] test tests::test_merge_config_cvss_threshold_from_config ... ok
[INFO] [stdout] test tests::test_merge_config_ignore_cves_merged ... ok
[INFO] [stdout] test tests::test_merge_config_no_config_file ... ok
[INFO] [stdout] test tests::test_merge_config_severity_threshold_cli_wins ... ok
[INFO] [stdout] test tests::test_merge_config_severity_threshold_from_config ... ok
[INFO] [stdout] test tests::test_merge_ignore_cves_config_only ... ok
[INFO] [stdout] test tests::test_merge_ignore_cves_deduplication_cli_wins ... ok
[INFO] [stdout] test tests::test_merge_string_lists_both_empty ... ok
[INFO] [stdout] test tests::test_merge_string_lists_cli_only ... ok
[INFO] [stdout] test tests::test_merge_ignore_cves_both_empty ... ok
[INFO] [stdout] test tests::test_merge_ignore_cves_cli_only ... ok
[INFO] [stdout] test tests::test_merge_string_lists_config_only ... ok
[INFO] [stdout] test tests::test_merge_string_lists_deduplication ... ok
[INFO] [stdout] test tests::test_validate_project_path_file_not_directory ... ok
[INFO] [stdout] test tests::test_validate_project_path_valid_directory ... ok
[INFO] [stdout] test sbom_generation::domain::vulnerability::tests::test_vulnerability_new_valid ... ok
[INFO] [stdout] test tests::test_validate_project_path_nonexistent ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_wildcard_only_rejected ... ok
[INFO] [stdout] test sbom_generation::domain::license_policy::tests::test_multiple_wildcards ... ok
[INFO] [stdout] test tests::test_validate_project_path_current_directory ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_fetch_license_info ... ok
[INFO] [stdout] test adapters::outbound::network::osv_client::tests::test_osv_client_creation ... ok
[INFO] [stdout] test adapters::outbound::network::pypi_client::tests::test_verify_packages_empty_list ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_cve_check_enabled ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_without_dependencies ... ok
[INFO] [stdout] test adapters::outbound::network::pypi_client::tests::test_pypi_client_creation ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_dependencies ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_without_root_excluded_baseline ... ok
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_exclude_non_root_preserves_dependency_classification ... ok
[INFO] [stderr]      Running tests/e2e_config_file.rs (/opt/rustwide/target/debug/deps/e2e_config_file-2c490e4b2c0a5155)
[INFO] [stdout] test application::use_cases::generate_sbom::tests::test_execute_with_root_excluded_preserves_dependency_classification ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 406 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test cve_ignore_cli_tests::test_ignore_cve_cli_and_config_merged ... ignored, requires network access to OSV API
[INFO] [stdout] test cve_ignore_cli_tests::test_ignore_cve_via_cli_flag ... ignored, requires network access to OSV API
[INFO] [stdout] test cve_ignore_cli_tests::test_without_ignore_cve_detects_vulnerability ... ignored, requires network access to OSV API
[INFO] [stdout] test cve_ignore_config_tests::test_ignore_cve_via_config_file ... ignored, requires network access to OSV API
[INFO] [stdout] test cve_ignore_config_tests::test_ignore_cve_via_config_with_check_cve_flag ... ignored, requires network access to OSV API
[INFO] [stdout] test explicit_config_tests::test_explicit_config_nonexistent_file_error ... ok
[INFO] [stdout] test error_tests::test_explicit_config_not_found_error ... ok
[INFO] [stdout] test error_tests::test_invalid_yaml_via_explicit_config_error ... ok
[INFO] [stdout] test error_tests::test_empty_cve_id_validation_error ... ok
[INFO] [stdout] test error_tests::test_whitespace_only_cve_id_error ... ok
[INFO] [stdout] test error_tests::test_invalid_yaml_syntax_error ... ok
[INFO] [stdout] test merge_tests::test_cli_and_config_exclude_patterns_merged ... FAILED
[INFO] [stdout] test auto_discovery_tests::test_auto_discovery_applies_exclude_packages ... ok
[INFO] [stdout] test explicit_config_tests::test_explicit_config_path_loads_successfully ... ok
[INFO] [stdout] test auto_discovery_tests::test_no_config_file_runs_normally ... ok
[INFO] [stdout] test merge_tests::test_cli_format_overrides_config ... ok
[INFO] [stdout] test auto_discovery_tests::test_auto_discovery_applies_format ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- merge_tests::test_cli_and_config_exclude_patterns_merged stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'merge_tests::test_cli_and_config_exclude_patterns_merged' (1013) panicked at tests/e2e_config_file.rs:209:78:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d8575322ad2 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d8575322ad2 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d8575322ad2 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5d8575322ad2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5d857533352a - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5d857533352a - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stdout]    6:     0x5d85752ee666 - std::io::default_write_fmt::h2f696ff5b8bbaa4b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d85752ee666 - std::io::Write::write_fmt::h5e66814db8a9cfce
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5d8575300719 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5d8575300719 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5d85753005b1 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5d857527c01e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5d857527c01e - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d8575300992 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5d8575300992 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5d85753007d8 - std::panicking::panic_handler::{{closure}}::hde00dd15f5637fe2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5d85752fb959 - std::sys::backtrace::__rust_end_short_backtrace::hb72197fa777c1785
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5d85752e29ad - __rustc[4425a7e20b4c8619]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5d857533adfc - core::panicking::panic_fmt::ha59b517dd231f4da
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d857533a602 - core::result::unwrap_failed::hf2d1f30a3ac850fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5d8575254942 - core::result::Result<T,E>::unwrap::hef6bc2e3717ab75e
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x5d8575254942 - e2e_config_file::merge_tests::test_cli_and_config_exclude_patterns_merged::h34440b3ab80a0026
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/e2e_config_file.rs:209:78
[INFO] [stdout]   22:     0x5d85752551d7 - e2e_config_file::merge_tests::test_cli_and_config_exclude_patterns_merged::{{closure}}::hbe01c53d997b0fc7
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/e2e_config_file.rs:204:53
[INFO] [stdout]   23:     0x5d857525aec6 - core::ops::function::FnOnce::call_once::h47f7c059aa26c264
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5d857527bddb - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5d857527bddb - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5d857528f7ea - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5d857528f7ea - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5d857528f7ea - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5d857528f7ea - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5d857528f7ea - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5d857528f7ea - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5d857528f7ea - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5d8575269c44 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5d8575269c44 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5d857526d5e2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5d857526d5e2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5d857526d5e2 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5d857526d5e2 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5d857526d5e2 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5d857526d5e2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5d857526d5e2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5d85752f6a1f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x5d85752f6a1f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   44:     0x76602bd90aa4 - <unknown>
[INFO] [stdout]   45:     0x76602be1da64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     merge_tests::test_cli_and_config_exclude_patterns_merged
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 11 passed; 1 failed; 5 ignored; 0 measured; 0 filtered out; finished in 1.25s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test e2e_config_file`
[INFO] running `Command { std: "docker" "inspect" "5a92abce6dab88cc24e200e85755d1216b8fa228724977630ab5e3034e28f435", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a92abce6dab88cc24e200e85755d1216b8fa228724977630ab5e3034e28f435", kill_on_drop: false }`
[INFO] [stdout] 5a92abce6dab88cc24e200e85755d1216b8fa228724977630ab5e3034e28f435
