[INFO] fetching crate pysentry 0.5.0...
[INFO] testing pysentry-0.5.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate pysentry 0.5.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate pysentry 0.5.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate pysentry 0.5.0
[INFO] tweaked toml for crates.io crate pysentry 0.5.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate pysentry 0.5.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate pysentry 0.5.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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd
[INFO] running `Command { std: "docker" "start" "0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling vte v0.14.1
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling uriparse v0.6.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling is_ci v1.2.0
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling fs-err v3.3.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling ansitok v0.3.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling owo-colors v4.2.3
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling ansi-str v0.9.0
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling zlib-rs v0.6.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling supports-color v2.1.0
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling papergrid v0.17.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling testing_table v0.3.0
[INFO] [stderr]    Compiling supports-color v3.0.2
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling unscanny v0.1.0
[INFO] [stderr]    Compiling toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling polycvss v0.3.3
[INFO] [stderr]    Compiling enable-ansi-support v0.2.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[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 serde_derive v1.0.228
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tokio v1.51.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling typed-builder-macro v0.21.2
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tabled_derive v0.11.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling typed-builder v0.21.2
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling tabled v0.20.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling zip v5.1.1
[INFO] [stderr]    Compiling clap-verbosity-flag v3.0.4
[INFO] [stderr]    Compiling async-trait v0.1.89
[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 v1.0.228
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling schemafy_core v0.6.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling pep440_rs v0.7.3
[INFO] [stderr]    Compiling schemafy_lib v0.6.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling serde-sarif v0.8.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling pysentry v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 35s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] running `Command { std: "docker" "inspect" "0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling pysentry v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 42s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] running `Command { std: "docker" "inspect" "0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.44s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/pysentry/dd5c1c0899693f17/out/pysentry-dd5c1c0899693f17)
[INFO] [stdout] 
[INFO] [stdout] running 483 tests
[INFO] [stdout] test audit::merge::tests::test_display_config_overrides_default ... ok
[INFO] [stdout] test audit::merge::tests::test_fail_on_partial_strict_by_default ... ok
[INFO] [stdout] test audit::merge::tests::test_config_both_compact_and_detailed_resolves_to_detailed ... ok
[INFO] [stdout] test audit::merge::tests::test_config_quiet_applied_when_no_cli_verbosity ... ok
[INFO] [stdout] test audit::merge::tests::test_display_cli_text_overrides_config_table ... ok
[INFO] [stdout] test audit::merge::tests::test_display_cli_table_overrides_config_text ... ok
[INFO] [stdout] test audit::merge::tests::test_cli_compact_overrides_config_detailed ... ok
[INFO] [stdout] test audit::merge::tests::test_group_from_cli_does_not_force_direct_only ... ok
[INFO] [stdout] test audit::merge::tests::test_empty_groups_does_not_force_direct_only ... ok
[INFO] [stdout] test audit::merge::tests::test_group_from_config_does_not_force_direct_only ... ok
[INFO] [stdout] test audit::merge::tests::test_group_plus_explicit_direct_only_idempotent ... ok
[INFO] [stdout] test audit::merge::tests::test_cli_no_fail_on_partial_overrides_config_strict ... ok
[INFO] [stdout] test audit::merge::tests::test_fail_on_partial_config_relaxes_default ... ok
[INFO] [stdout] test audit::merge::tests::test_merge_groups_config_fallback ... ok
[INFO] [stdout] test audit::merge::tests::test_cli_detailed_overrides_config_compact ... ok
[INFO] [stdout] test audit::merge::tests::test_config_quiet_not_applied_by_default ... ok
[INFO] [stdout] test audit::merge::tests::test_compact_detailed_mutually_exclusive_post_merge ... ok
[INFO] [stdout] test audit::merge::tests::test_ignore_packages_merged_from_config ... ok
[INFO] [stdout] test audit::merge::tests::test_service_url_cli_overrides_config ... ok
[INFO] [stdout] test audit::merge::tests::test_merge_groups_both_empty_is_none ... ok
[INFO] [stdout] test audit::merge::tests::test_merge_groups_cli_overrides_config ... ok
[INFO] [stdout] test audit::pipeline::tests::test_fail_condition_below_threshold ... ok
[INFO] [stdout] test audit::merge::tests::test_no_resolver_config_merge ... ok
[INFO] [stdout] test audit::merge::tests::test_sources_merge_from_config ... ok
[INFO] [stdout] test audit::pipeline::tests::test_package_ignore_suppresses_without_dropping ... ok
[INFO] [stdout] test audit::merge::tests::test_no_resolver_cli_overrides_config ... ok
[INFO] [stdout] test audit::pipeline::tests::test_fail_summary_names_tripped_group_threshold ... ok
[INFO] [stdout] test audit::pipeline::tests::test_fail_summary_unknown_only_falls_back_to_global ... ok
[INFO] [stdout] test audit::merge::tests::test_service_url_merge_from_config ... ok
[INFO] [stdout] test audit::merge::tests::test_verbose_flag_overrides_config_quiet ... ok
[INFO] [stdout] test audit::merge::tests::test_sources_cli_overrides_config ... ok
[INFO] [stdout] test audit::pipeline::tests::test_fail_condition_unknown_vuln ... ok
[INFO] [stdout] test audit::pipeline::tests::test_fail_condition_meets_threshold ... ok
[INFO] [stdout] test audit::pipeline::tests::test_fail_on_never_filters_matcher ... ok
[INFO] [stdout] test audit::pipeline::tests::test_policy_unpoliced_group_uses_global ... ok
[INFO] [stdout] test audit::pipeline::tests::test_policy_never_filters_matcher ... ok
[INFO] [stdout] test audit::pipeline::tests::test_policy_main_reachable_keeps_global_floor ... ok
[INFO] [stdout] test audit::pipeline::tests::test_partial_scan_strict_fails_and_lenient_continues ... ok
[INFO] [stdout] test audit::pipeline::tests::test_policy_group_only_loosens_below_global ... ok
[INFO] [stdout] test audit::pipeline::tests::test_group_accepts_named_pylock_variant ... ok
[INFO] [stdout] test audit::pipeline::tests::test_policy_strictest_group_wins_across_groups ... ok
[INFO] [stdout] test audit::pipeline::tests::test_policy_group_threshold_tightens_below_global ... ok
[INFO] [stdout] test audit::pipeline::tests::test_group_with_explicit_requirements_files_errors_clearly ... ok
[INFO] [stdout] test audit::pipeline::tests::test_policy_unknown_ignores_group_thresholds ... ok
[INFO] [stdout] test audit::pipeline::tests::test_group_with_exclude_extra_errors_clearly ... ok
[INFO] [stdout] test audit::pipeline::tests::test_requirements_txt_with_group_errors_clearly ... ok
[INFO] [stdout] test audit::pipeline::tests::test_group_rejects_ambiguous_normalized_groups ... ok
[INFO] [stdout] test audit::pipeline::tests::test_include_scripts_scans_pep723_files_beside_project_files ... ok
[INFO] [stdout] test audit::pipeline::tests::test_service_url_requires_osv_only_source ... ok
[INFO] [stdout] test audit::pipeline::tests::test_write_github_step_summary_appends_markdown ... ok
[INFO] [stdout] test cache::audit::tests::test_normalize_package_name ... ok
[INFO] [stdout] test cache::audit::tests::test_resolution_cache_key_generation ... ok
[INFO] [stdout] test ci::tests::test_ci_environment_is_ci ... ok
[INFO] [stdout] test ci::tests::test_ci_environment_is_github_actions ... ok
[INFO] [stdout] test cli::tests::test_detail_level_compact ... ok
[INFO] [stdout] test cli::tests::test_detail_level_defaults_to_compact ... ok
[INFO] [stdout] test cli::tests::test_display_defaults_to_table ... ok
[INFO] [stdout] test cli::tests::test_display_text_flag ... ok
[INFO] [stdout] test cli::tests::test_group_conflicts_with_exclude_extra ... ok
[INFO] [stdout] test cli::tests::test_detail_level_detailed ... ok
[INFO] [stdout] test cache::storage::tests::test_atomic_write_basic ... ok
[INFO] [stdout] test cache::audit::tests::test_corrupt_resolution_cache_is_a_miss_not_an_error ... ok
[INFO] [stdout] test cache::audit::tests::test_resolution_cache_freshness ... ok
[INFO] [stdout] test cli::tests::test_group_flag_comma_separated ... ok
[INFO] [stdout] test cli::tests::test_no_resolver_default_is_false ... ok
[INFO] [stdout] test cli::tests::test_group_flag_empty ... ok
[INFO] [stdout] test cli::tests::test_group_flag_repeat ... ok
[INFO] [stdout] test cli::tests::test_no_resolver_flag_parsed ... ok
[INFO] [stdout] test cli::tests::test_no_resolver_with_requirements_files ... ok
[INFO] [stdout] test cli::tests::test_no_resolver_without_requirements_files_has_empty_requirements_files ... ok
[INFO] [stdout] test config::tests::test_config_display_validation ... ok
[INFO] [stdout] test config::tests::test_config_default_values ... ok
[INFO] [stdout] test config::tests::test_config_loader_with_no_config ... ok
[INFO] [stdout] test cache::audit::tests::test_resolution_cache_ignores_unversioned_entry ... ok
[INFO] [stdout] test config::tests::test_ambiguous_group_names_rejected ... ok
[INFO] [stdout] test config::tests::test_config_load_from_file ... ok
[INFO] [stdout] test config::tests::test_config_path_display_shows_tool_section ... ok
[INFO] [stdout] test config::tests::test_config_source_default ... ok
[INFO] [stdout] test config::tests::test_config_validation ... ok
[INFO] [stdout] test config::tests::test_fail_on_partial_defaults_true ... ok
[INFO] [stdout] test config::tests::test_config_parses_groups_field ... ok
[INFO] [stdout] test cli::tests::test_group_flag_single ... ok
[INFO] [stdout] test config::tests::test_config_path_display_pysentry_toml ... ok
[INFO] [stdout] test config::tests::test_discover_pyproject_with_subtables_only ... ok
[INFO] [stdout] test config::tests::test_env_var_with_pyproject_toml ... ok
[INFO] [stdout] test cache::audit::tests::test_resolution_cache_write_read ... ok
[INFO] [stdout] test cache::storage::tests::test_delete_nonexistent_file_succeeds ... ok
[INFO] [stdout] test config::tests::test_policy_config_round_trips ... ok
[INFO] [stdout] test config::tests::test_load_config_from_pyproject_toml ... ok
[INFO] [stdout] test config::tests::test_pyproject_subtables_without_bare_header ... ok
[INFO] [stdout] test config::tests::test_pyproject_no_pysentry_subtables_returns_none ... ok
[INFO] [stdout] test config::tests::test_pyproject_full_config ... ok
[INFO] [stdout] test cli::tests::test_include_scripts_flag_parsed ... ok
[INFO] [stdout] test config::tests::test_pysentry_toml_sets_correct_source ... ok
[INFO] [stdout] test dependency::resolvers::pip_tools::tests::test_pip_tools_resolver_creation ... ok
[INFO] [stdout] test dependency::resolvers::pip_tools::tests::test_pip_tools_resolver_args ... ok
[INFO] [stdout] test dependency::resolvers::pip_tools::tests::test_pip_tools_resolver_features ... ok
[INFO] [stdout] test config::tests::test_pyproject_toml_partial_config_uses_defaults ... ok
[INFO] [stdout] test config::tests::test_pyproject_used_when_no_pysentry_toml ... ok
[INFO] [stdout] test config::tests::test_pyproject_without_tool_pysentry_section ... ok
[INFO] [stdout] test config::tests::test_invalid_group_fail_on_level_rejected ... ok
[INFO] [stdout] test dependency::resolvers::uv::tests::test_uv_resolver_args ... ok
[INFO] [stdout] test dependency::resolvers::tests::test_resolver_type_from_str ... ok
[INFO] [stdout] test dependency::resolvers::uv::tests::test_uv_resolver_creation ... ok
[INFO] [stdout] test config::tests::test_pysentry_toml_takes_priority_over_pyproject ... ok
[INFO] [stdout] test dependency::resolvers::uv::tests::test_uv_resolver_features ... ok
[INFO] [stdout] test config::tests::test_invalid_config_in_pyproject_toml ... ok
[INFO] [stdout] test dependency::scanner::tests::test_dependency_scanner_creation ... ok
[INFO] [stdout] test dependency::resolvers::tests::test_resolver_registry ... ok
[INFO] [stdout] test dependency::resolvers::tests::test_resolver_type_display ... ok
[INFO] [stdout] test dependency::resolvers::pip_tools::tests::test_pip_tools_resolver_availability ... ok
[INFO] [stdout] test dependency::scanner::tests::test_dependency_stats_calculation ... ok
[INFO] [stdout] test dependency::scanner::tests::test_direct_names_keeps_only_direct ... ok
[INFO] [stdout] test dependency::scanner::tests::test_scan_project_rejects_groups_without_optional ... ok
[INFO] [stdout] test dependency::resolvers::pip_tools::tests::test_pip_tools_resolver_empty_requirements ... ok
[INFO] [stdout] test dependency::scanner::tests::test_scan_project_rejects_groups_without_lock_file ... ok
[INFO] [stdout] test dependency::scanner::tests::test_validation_empty_dependencies ... ok
[INFO] [stdout] test dependency::resolvers::pip_tools::tests::test_pip_tools_resolver_resolution_basic ... ok
[INFO] [stdout] test dependency::scanner::tests::test_validation_placeholder_versions ... ok
[INFO] [stdout] test dependency::scanner::tests::test_validation_with_skipped_packages ... ok
[INFO] [stdout] test logging::tests::test_default_verbosity_is_error_level ... ok
[INFO] [stdout] test cache::audit::tests::test_resolution_cache_stats ... ok
[INFO] [stdout] test dependency::scanner::tests::test_dependency_source_conversion ... ok
[INFO] [stdout] test maintenance::types::tests::test_issue_type_should_fail ... ok
[INFO] [stdout] test cache::storage::tests::test_delete_existing_file ... ok
[INFO] [stdout] test maintenance::client::tests::test_select_deps_to_check_filters_source_and_direct ... ok
[INFO] [stdout] test dependency::resolvers::uv::tests::test_uv_resolver_availability ... ok
[INFO] [stdout] test dependency::resolvers::uv::tests::test_uv_resolver_resolution_basic ... ok
[INFO] [stdout] test cache::storage::tests::test_concurrent_deletes_no_error ... ok
[INFO] [stdout] test maintenance::types::tests::test_package_index_parsing_quarantined ... ok
[INFO] [stdout] test dependency::resolvers::uv::tests::test_uv_resolver_empty_requirements ... ok
[INFO] [stdout] test maintenance::types::tests::test_project_state_default ... ok
[INFO] [stdout] test maintenance::types::tests::test_project_state_deserialization ... ok
[INFO] [stdout] test maintenance::types::tests::test_project_state_display ... ok
[INFO] [stdout] test maintenance::types::tests::test_project_state_serialization ... ok
[INFO] [stdout] test maintenance::types::tests::test_package_index_parsing_without_status ... ok
[INFO] [stdout] test cache::audit::tests::test_resolution_cache_clear ... ok
[INFO] [stdout] test maintenance::types::tests::test_maintenance_issue_type_display ... ok
[INFO] [stdout] test maintenance::types::tests::test_maintenance_summary_from_issues ... ok
[INFO] [stdout] test maintenance::types::tests::test_maintenance_check_config_default ... ok
[INFO] [stdout] test maintenance::types::tests::test_maintenance_summary_should_fail ... ok
[INFO] [stdout] test maintenance::types::tests::test_package_index_parsing_with_status ... ok
[INFO] [stdout] test notifications::types::tests::test_deserialize_notifications_file ... ok
[INFO] [stdout] test notifications::types::tests::test_notification_is_not_active_after_expiry ... ok
[INFO] [stdout] test notifications::types::tests::test_notification_is_not_active_before_start ... ok
[INFO] [stdout] test cache::audit::tests::test_database_entry_versioned_key_ignores_old_name ... ok
[INFO] [stdout] test output::human::tests::rounded_table_overhead_matches_formula ... ok
[INFO] [stdout] test output::human::tests::table_stays_within_width_with_long_via ... ok
[INFO] [stdout] test notifications::types::tests::test_shown_notifications_state ... ok
[INFO] [stdout] test output::human::tests::test_compact_fix_suggestions_table ... ok
[INFO] [stdout] test output::human::tests::test_compact_report_condensed_vulns ... ok
[INFO] [stdout] test notifications::types::tests::test_deserialize_notification_without_optional_fields ... ok
[INFO] [stdout] test notifications::types::tests::test_notification_is_active_within_window ... ok
[INFO] [stdout] test output::human::tests::test_compact_maintenance_table ... ok
[INFO] [stdout] test output::human::tests::test_compact_report_contains_summary ... ok
[INFO] [stdout] test output::human::tests::test_compact_report_hint_line ... ok
[INFO] [stdout] test output::human::tests::test_compact_report_no_header_no_footer ... ok
[INFO] [stdout] test output::human::tests::test_compact_report_no_fix_suggestions_when_empty ... ok
[INFO] [stdout] test output::human::tests::test_compact_report_transitive_tag ... ok
[INFO] [stdout] test output::human::tests::test_compact_table_display_has_borders ... ok
[INFO] [stdout] test output::human::tests::test_compact_report_maintenance_summary ... ok
[INFO] [stdout] test output::human::tests::test_compact_text_display_no_table_borders ... ok
[INFO] [stdout] test output::human::tests::test_compact_report_withdrawn_tag ... ok
[INFO] [stdout] test output::human::tests::test_detailed_fix_line_recommends_minimal_safe_upgrade ... ok
[INFO] [stdout] test output::human::tests::test_detailed_report_cvss_version_tag ... ok
[INFO] [stdout] test output::human::tests::test_compact_table_has_headers ... ok
[INFO] [stdout] test output::human::tests::test_compact_report_marks_script_source ... ok
[INFO] [stdout] test output::human::tests::test_compact_report_fix_suggestions ... ok
[INFO] [stdout] test output::human::tests::test_empty_report ... ok
[INFO] [stdout] test output::human::tests::test_compact_report_no_hint_when_clean ... ok
[INFO] [stdout] test output::human::tests::test_detailed_report_shows_full_description ... ok
[INFO] [stdout] test output::human::tests::test_human_report_generation ... ok
[INFO] [stdout] test output::human::tests::test_detailed_report_transitive_tag ... ok
[INFO] [stdout] test output::human::tests::test_suppressed_summary_line_pluralizes ... ok
[INFO] [stdout] test output::human::tests::test_suppressed_finding_tagged_in_all_arms ... ok
[INFO] [stdout] test output::human::tests::test_fix_suggestions_multi_cve_shows_max_version ... ok
[INFO] [stdout] test output::human::tests::test_table_display_ignored_in_detailed_mode ... ok
[INFO] [stdout] test output::human::tests::test_partial_scan_renders_failed_sources ... ok
[INFO] [stdout] test output::human::tests::test_why_it_failed_line ... ok
[INFO] [stdout] test output::human::tests::test_transitive_finding_shows_via_root ... ok
[INFO] [stdout] test output::human::tests::truncate_cell_adds_ellipsis_only_when_needed ... ok
[INFO] [stdout] test output::json::tests::test_json_maintenance_issue_type_lowercase ... ok
[INFO] [stdout] test output::json::tests::test_json_cvss_version_serialized ... ok
[INFO] [stdout] test output::json::tests::test_json_partial_defaults_present_on_clean_scan ... ok
[INFO] [stdout] test output::json::tests::test_json_report_generation ... ok
[INFO] [stdout] test output::json::tests::test_json_failing_reason_surfaced ... ok
[INFO] [stdout] test output::human::tests::type_column_budget_fits_terminal_and_floors ... ok
[INFO] [stdout] test output::human::tests::test_minimal_safe_upgrade_picks_smallest_forward_branch ... ok
[INFO] [stdout] test output::json::tests::test_json_scan_time_is_rfc3339 ... ok
[INFO] [stdout] test output::markdown::tests::test_markdown_report_generation ... ok
[INFO] [stdout] test output::json::tests::test_json_severity_lowercase ... ok
[INFO] [stdout] test output::markdown::tests::test_markdown_report_surfaces_failing_and_suppressed ... ok
[INFO] [stdout] test output::markdown::tests::test_markdown_summary_is_compact_table_no_descriptions ... ok
[INFO] [stdout] test output::json::tests::test_json_suppression_and_partial_surfaced ... ok
[INFO] [stdout] test output::markdown::tests::test_markdown_maintenance_section ... ok
[INFO] [stdout] test output::markdown::tests::test_markdown_fix_suggestions_table ... ok
[INFO] [stdout] test output::json::tests::test_json_transitive_dependency ... ok
[INFO] [stdout] test output::markdown::tests::test_markdown_summary_surfaces_failing_and_suppressed_state ... ok
[INFO] [stdout] test output::markdown::tests::test_markdown_suppression_and_partial ... ok
[INFO] [stdout] test output::model::via_suffix_tests::empty_or_none_is_blank ... ok
[INFO] [stdout] test output::markdown::tests::test_markdown_transitive_and_cvss_version ... ok
[INFO] [stdout] test output::model::tests::test_audit_summary ... ok
[INFO] [stdout] test output::model::via_suffix_tests::lists_up_to_three_names ... ok
[INFO] [stdout] test output::model::via_suffix_tests::names_first_three_then_counts_the_rest ... ok
[INFO] [stdout] test output::sarif::tests::test_extract_primary_reference ... ok
[INFO] [stdout] test output::sarif::tests::test_generate_sarif_report ... ok
[INFO] [stdout] test output::sarif::tests::test_help_text_vs_markdown_differ ... ok
[INFO] [stdout] test output::sarif::tests::test_cvss_score_precision ... ok
[INFO] [stdout] test output::sarif::tests::test_actual_cvss_in_security_severity ... ok
[INFO] [stdout] test output::sarif::tests::test_location_parsing_with_pyproject ... ok
[INFO] [stdout] test output::sarif::tests::test_full_sarif_generation ... ok
[INFO] [stdout] test output::sarif::tests::test_maintenance_rule_indexing ... ok
[INFO] [stdout] test output::sarif::tests::test_original_uri_base_ids ... ok
[INFO] [stdout] test output::sarif::tests::test_maintenance_sarif_results_creation ... ok
[INFO] [stdout] test output::sarif::tests::test_pipfile_lock_locations ... ok
[INFO] [stdout] test output::sarif::tests::test_partial_fingerprints_present ... ok
[INFO] [stdout] test output::sarif::tests::test_multi_file_requirements_uri_and_region ... ok
[INFO] [stdout] test output::sarif::tests::test_poetry_lock_locations ... ok
[INFO] [stdout] test output::sarif::tests::test_requirements_locations_no_substring_match ... ok
[INFO] [stdout] test output::sarif::tests::test_pyproject_locations_cover_groups_and_extras ... ok
[INFO] [stdout] test output::sarif::tests::test_no_fixes_in_sarif_results ... ok
[INFO] [stdout] test output::sarif::tests::test_sarif_clean_scan_execution_successful ... ok
[INFO] [stdout] test output::sarif::tests::test_sarif_generator_creation ... ok
[INFO] [stdout] test output::sarif::tests::test_rule_generation ... ok
[INFO] [stdout] test output::sarif::tests::test_srcroot_uri_format ... ok
[INFO] [stdout] test output::sarif::tests::test_script_source_match_reports_script_not_pyproject ... ok
[INFO] [stdout] test output::styles::tests::test_colorized_styles_produce_ansi ... ok
[INFO] [stdout] test output::sarif::tests::test_sarif_suppression_and_partial_surfaced ... ok
[INFO] [stdout] test output::sarif::tests::test_security_severity_score ... ok
[INFO] [stdout] test output::sarif::tests::test_timestamp_format ... ok
[INFO] [stdout] test output::sarif::tests::test_severity_to_result_level ... ok
[INFO] [stdout] test output::styles::tests::test_default_styles_produce_no_ansi ... ok
[INFO] [stdout] test output::sarif::tests::test_severity_to_sarif_level ... ok
[INFO] [stdout] test output::styles::tests::test_severity_style_mapping ... ok
[INFO] [stdout] test parsers::graph::tests::build_group_attribution_unknown_format_is_empty ... ok
[INFO] [stdout] test output::styles::tests::test_maintenance_style_mapping ... ok
[INFO] [stdout] test parsers::graph::tests::build_group_attribution_shared_transitive_and_dev_only ... ok
[INFO] [stdout] test output::styles::tests::test_severity_icon ... ok
[INFO] [stdout] test output::tests::test_generate_report_all_formats ... ok
[INFO] [stdout] test parsers::graph::tests::build_main_reachable_unknown_format_is_empty ... ok
[INFO] [stdout] test parsers::graph::tests::build_transitive_roots_empty_direct_short_circuits ... ok
[INFO] [stdout] test parsers::graph::tests::build_transitive_roots_unknown_format_is_empty ... ok
[INFO] [stdout] test parsers::graph::tests::build_transitive_roots_dispatches_poetry_by_parser_name ... ok
[INFO] [stdout] test parsers::graph::tests::cycle_terminates ... ok
[INFO] [stdout] test parsers::graph::tests::build_group_attribution_no_declared_groups_is_empty ... ok
[INFO] [stdout] test parsers::graph::tests::diamond_lists_both_roots_and_skips_self ... ok
[INFO] [stdout] test parsers::lock::tests::test_is_virtual_package ... ok
[INFO] [stdout] test parsers::lock::tests::test_skipped_packages_are_not_processed ... ok
[INFO] [stdout] test parsers::lock::tests::test_parse_virtual_package_without_version ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_edges_include_main_and_optional ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_direct_only_filters_transitive ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_edges_missing_file_is_empty ... ok
[INFO] [stdout] test parsers::lock::tests::test_parse_editable_package_without_version ... ok
[INFO] [stdout] test parsers::lock::tests::test_parse_mixed_packages_with_and_without_versions ... ok
[INFO] [stdout] test parsers::graph::tests::build_transitive_roots_attributes_through_uv_lock ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_extras_activate_optional_deps ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_empty_group_stays_empty ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_extras_normalized_separator_mismatch ... ok
[INFO] [stdout] test parsers::graph::tests::build_main_reachable_covers_main_closure_only ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_inference_fallback_no_companion ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_groups_none_unchanged_behavior ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_is_direct_with_companion ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_reachability_closure_drops_unreachable ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_reachability_handles_cycle ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_file_exists_no_recognized_sections_returns_some_empty ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_reachability_includes_transitive ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_extras_normalized_pep685 ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_group_name_normalized ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_include_group_recursion ... ok
[INFO] [stdout] test parsers::lock::tests::test_uv_lock_library_root_shared_transitive_kept ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_include_multiple_groups ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_legacy_poetry_dev_dependencies_excluded ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_include_single_group ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_legacy_uv_dev_dependencies_excluded ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_poetry_optional_main_dep_excluded ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_project_deps_always_included ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_include_group_reference_normalized ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_with_extras_poetry_optional_main_dep_excluded ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_include_group_unknown_reference_errors ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_none_still_includes_legacy_dev_dependencies ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_pep621_optional_respected ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_poetry_group_respected ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_list_groups_pep735 ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_filter_none_flattens_all ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_list_group_names_rejects_normalized_duplicates ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_list_group_names_same_name_across_sections_ok ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_list_groups_pep621_optional ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_list_groups_combined ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_list_groups_poetry ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_missing_file_returns_none ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_normalize_group_name_pep503 ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_pep621_dependencies ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_pep735_cycle_detection_returns_err ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_pep735_dependency_groups ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_pep735_include_group_resolution ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_poetry_and_pep621_union ... ok
[INFO] [stdout] test maintenance::client::tests::test_create_issue_for_quarantined ... ok
[INFO] [stdout] test maintenance::client::tests::test_client_with_custom_ttl ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_pipfile_table_value_uses_key_as_name ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_poetry_legacy_dev_dependencies ... ok
[INFO] [stdout] test notifications::client::tests::test_notification_client_configured_by_default ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_poetry_main_deps_filters_python_key ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_pep621_optional_dependencies ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_poetry_optional_main_dep_included_without_filter ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_read_group_only_deps_missing_file_is_empty ... ok
[INFO] [stdout] test notifications::client::tests::test_notification_client_empty_url_not_configured ... ok
[INFO] [stdout] test parsers::pep723::tests::test_mixed_script_pins_audited_unpinned_skipped ... ok
[INFO] [stdout] test parsers::pep723::tests::test_non_py_extension_cannot_parse ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_read_group_only_deps_missing_group_is_empty ... ok
[INFO] [stdout] test parsers::pep723::tests::test_pinned_script_exact_deps ... ok
[INFO] [stdout] test parsers::pep723::tests::test_unclosed_block_is_not_detected ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_pipfile_missing_file_returns_none ... ok
[INFO] [stdout] test parsers::pep723::tests::test_py_file_without_block_cannot_parse ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_poetry_modern_group_dependencies ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_pipfile_dev_packages_section ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_read_group_only_deps_keeps_shared_main_dependency ... ok
[INFO] [stdout] test parsers::pep723::tests::test_unpinned_script_skipped_without_resolver ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_unknown_group_name_error_lists_available ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_uv_dev_dependencies ... ok
[INFO] [stdout] test parsers::pipfile_lock::tests::test_pipfile_lock_direct_only_filters_transitive ... ok
[INFO] [stdout] test maintenance::client::tests::test_create_issue_for_archived ... ok
[INFO] [stdout] test maintenance::client::tests::test_no_issue_for_active ... ok
[INFO] [stdout] test maintenance::client::tests::test_client_creation ... ok
[INFO] [stdout] test parsers::pipfile_lock::tests::test_pipfile_lock_rejects_group_flag ... ok
[INFO] [stdout] test parsers::pipfile_lock::tests::test_pipfile_lock_is_direct_with_companion ... ok
[INFO] [stdout] test parsers::poetry_lock::tests::test_poetry_lock_reachability_closure_drops_unreachable ... ok
[INFO] [stdout] test parsers::poetry_lock::tests::test_poetry_lock_extras_activate_optional_deps ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_poetry_extras_normalized_pep685 ... ok
[INFO] [stdout] test parsers::poetry_lock::tests::test_poetry_lock_groups_none_unchanged_behavior ... ok
[INFO] [stdout] test parsers::pylock::tests::test_directory_source_detection ... ok
[INFO] [stdout] test parsers::poetry_lock::tests::test_poetry_lock_direct_only_filters_transitive ... ok
[INFO] [stdout] test parsers::poetry_lock::tests::test_poetry_lock_inference_fallback_no_companion ... ok
[INFO] [stdout] test parsers::poetry_lock::tests::test_poetry_lock_reachability_includes_transitive ... ok
[INFO] [stdout] test cache::storage::tests::test_write_during_read_no_corruption ... ok
[INFO] [stdout] test parsers::poetry_lock::tests::test_poetry_lock_edges_from_dependency_table_keys ... ok
[INFO] [stdout] test notifications::client::tests::test_shown_state_persistence ... ok
[INFO] [stdout] test parsers::manifest_reader::tests::test_pipfile_packages_section ... ok
[INFO] [stdout] test parsers::pylock::tests::test_is_pylock_file ... ok
[INFO] [stdout] test parsers::pylock::tests::test_pylock_edges_from_dependencies_array ... ok
[INFO] [stdout] test parsers::pylock::tests::test_pylock_direct_only_filters_transitive ... ok
[INFO] [stdout] test parsers::pylock::tests::test_pylock_inference_fallback_no_companion ... ok
[INFO] [stdout] test parsers::pylock::tests::test_empty_packages_list ... ok
[INFO] [stdout] test parsers::pylock::tests::test_pylock_reachability_includes_transitive ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_convert_to_requirements_format ... ok
[INFO] [stdout] test parsers::pylock::tests::test_pylock_is_direct_with_companion ... ok
[INFO] [stdout] test parsers::pylock::tests::test_multiple_pylock_files_preference ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_dependency_group_entry_deserialization ... ok
[INFO] [stdout] test parsers::pylock::tests::test_parse_named_pylock_file ... ok
[INFO] [stdout] test parsers::poetry_lock::tests::test_poetry_lock_is_direct_with_companion ... ok
[INFO] [stdout] test parsers::pylock::tests::test_version_validation ... ok
[INFO] [stdout] test parsers::pylock::tests::test_package_without_version ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_parse_resolved_content ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_extract_version_from_spec ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_has_resolver ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_parse_resolved_content_direct_only ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_resolve_dependency_group_entries_nested_includes ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_pyproject_toml_with_include_groups ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_resolve_dependency_group_entries_cycle_detection ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_resolve_dependency_group_entries_missing_group ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_resolve_dependency_group_entries_simple ... ok
[INFO] [stdout] test parsers::pylock::tests::test_vcs_source_detection ... ok
[INFO] [stdout] test parsers::pylock::tests::test_pylock_reachability_closure_drops_unreachable ... ok
[INFO] [stdout] test parsers::pylock::tests::test_pylock_groups_none_unchanged_behavior ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_convert_dependency_spec_to_requirement ... ok
[INFO] [stdout] test parsers::pylock::tests::test_parse_basic_pylock ... ok
[INFO] [stdout] test parsers::reachability::tests::test_reachability_diamond ... ok
[INFO] [stdout] test parsers::reachability::tests::test_reachability_linear_chain ... ok
[INFO] [stdout] test parsers::reachability::tests::test_reachability_cycle_does_not_loop ... ok
[INFO] [stdout] test parsers::reachability::tests::test_reachability_no_edges_returns_just_seeds ... ok
[INFO] [stdout] test parsers::requirements::tests::test_find_requirements_files ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_content_no_resolve_comments_and_blanks ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_content_no_resolve_editable_long_form ... ok
[INFO] [stdout] test parsers::reachability::tests::test_reachability_self_loop ... ok
[INFO] [stdout] test parsers::reachability::tests::test_reachability_multiple_seeds_union ... ok
[INFO] [stdout] test parsers::reachability::tests::test_reachability_disjoint_components ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_content_no_resolve_editable_with_egg ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_content_no_resolve_include_directives_tracked_as_skipped ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_content_no_resolve_pinned ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_content_no_resolve_extras_and_markers ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_content_no_resolve_mixed ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_include_directive ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_content_no_resolve_all_unpinned ... ok
[INFO] [stdout] test parsers::pyproject::tests::test_resolve_dependency_group_entries_with_includes ... ok
[INFO] [stdout] test parsers::reachability::tests::test_reachability_empty_seeds_returns_empty ... ok
[INFO] [stdout] test parsers::requirements::tests::test_resolve_requirements_includes_multiple_directives ... ok
[INFO] [stdout] test providers::osv::tests::test_convert_osv_multi_package_advisory_filters_by_package ... ok
[INFO] [stdout] test parsers::requirements::tests::test_resolve_requirements_includes_constraint_files ... ok
[INFO] [stdout] test providers::osv::tests::test_convert_osv_vulnerability_normalizes_package_name ... ok
[INFO] [stdout] test parsers::requirements::tests::test_extract_direct_dependencies ... ok
[INFO] [stdout] test providers::osv::tests::test_cvss_v3_high_severity_parsing ... ok
[INFO] [stdout] test providers::osv::tests::test_cvss_v3_vector_parsing ... ok
[INFO] [stdout] test providers::osv::tests::test_cvss_v4_vector_parsing ... ok
[INFO] [stdout] test providers::osv::tests::test_explicit_versions_matched_when_ranges_empty ... ok
[INFO] [stdout] test parsers::requirements::tests::test_resolve_requirements_includes_preserves_regular_lines ... ok
[INFO] [stdout] test providers::osv::tests::test_explicit_versions_supplement_incomplete_ranges ... ok
[INFO] [stdout] test parsers::pylock::tests::test_wheel_source_detection ... ok
[INFO] [stdout] test parsers::requirements::tests::test_requirements_parser_creation ... ok
[INFO] [stdout] test providers::osv::tests::test_cvss_fallback_to_numeric_score ... ok
[INFO] [stdout] test providers::osv::tests::test_fixed_takes_precedence_over_last_affected ... ok
[INFO] [stdout] test providers::osv::tests::test_cvss_severity_uses_max_score ... ok
[INFO] [stdout] test providers::osv::tests::test_last_affected_creates_inclusive_range ... ok
[INFO] [stdout] test providers::osv::tests::test_osv_advisory_parsing ... ok
[INFO] [stdout] test providers::osv::tests::test_convert_osv_vulnerability_populates_cvss_score ... ok
[INFO] [stdout] test providers::osv::tests::test_pagination_follows_next_page_token_across_pages ... ok
[INFO] [stdout] test providers::osv::tests::test_severity_default_to_unknown ... ok
[INFO] [stdout] test providers::osv::tests::test_severity_unknown_when_database_specific_only ... ok
[INFO] [stdout] test providers::osv::tests::test_severity_unknown_when_keywords_only ... ok
[INFO] [stdout] test providers::osv::tests::test_should_cache_empty_db_with_expected_vulns ... ok
[INFO] [stdout] test providers::osv::tests::test_should_cache_respects_no_cache ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_content_no_resolve_skips_url_deps ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_content_no_resolve_skips_pip_flags ... ok
[INFO] [stdout] test parsers::requirements::tests::test_parse_content_no_resolve_editable_equals_form ... ok
[INFO] [stdout] test parsers::pipfile_lock::tests::test_pipfile_lock_no_companion_all_marked_direct ... ok
[INFO] [stdout] test parsers::requirements::tests::test_extract_package_name ... ok
[INFO] [stdout] test providers::pypa::tests::test_explicit_version_range_does_not_match_adjacent ... ok
[INFO] [stdout] test providers::pypa::tests::test_explicit_version_range_matches_exact_version ... ok
[INFO] [stdout] test providers::osv::tests::test_should_cache_nonempty_db ... ok
[INFO] [stdout] test providers::pypa::tests::test_pypa_last_affected_range ... ok
[INFO] [stdout] test providers::tests::test_cvss_max_within_same_version ... ok
[INFO] [stdout] test providers::pypi::tests::test_no_fixed_in_trusts_server_with_wildcard ... ok
[INFO] [stdout] test providers::pypi::tests::test_multiple_fixed_versions_cover_all_branches ... ok
[INFO] [stdout] test providers::pypi::tests::test_unparseable_fixed_in_falls_back_to_wildcard ... ok
[INFO] [stdout] test providers::tests::test_cvss_empty_entries ... ok
[INFO] [stdout] test providers::osv::tests::test_should_cache_empty_db_no_expected_vulns ... ok
[INFO] [stdout] test providers::tests::test_cvss_prefers_v4_over_v3 ... ok
[INFO] [stdout] test providers::tests::test_cvss_prefers_v3_over_v2 ... ok
[INFO] [stdout] test providers::tests::test_cvss_unparseable_entries ... ok
[INFO] [stdout] test providers::tests::test_cvss_vector_with_version_detection ... ok
[INFO] [stdout] test providers::tests::test_cvss_version_detection ... ok
[INFO] [stdout] test providers::tests::test_severity_from_cvss_score_thresholds ... ok
[INFO] [stdout] test tests::test_audit_engine_creation ... ok
[INFO] [stdout] test parsers::requirements::tests::test_resolve_requirements_includes ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_aliases_are_collected ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_cross_package_shared_alias_stays_separate ... ok
[INFO] [stdout] test tests::test_audit_engine_with_cache ... ok
[INFO] [stdout] test types::tests::pep503_concrete_examples ... ok
[INFO] [stdout] test types::tests::pep503_matches_reference ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_deduplicates_across_databases_via_shared_cve ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_duplicate_vulnerability_ids ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_keeps_cvss_when_other_is_none ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_known_severity_overrides_unknown ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_no_aliases_stays_separate ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_prefers_higher_cvss_score ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_different_vulnerabilities ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_prefers_higher_cvss_version ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_prefers_higher_severity ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_deduplicates_by_alias_pysec_and_ghsa ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_fills_cvss_from_none ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_empty_databases ... ok
[INFO] [stdout] test providers::pypa::tests::test_pypa_advisory_parsing ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_preserves_package_associations ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_rederives_severity_from_cvss ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_single_source_preserves_collapsed_id_as_alias ... ok
[INFO] [stdout] test types::tests::pep503_equivalent_spellings_are_equal ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_source_deduplication ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_single_database ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_three_way_alias_dedup ... ok
[INFO] [stdout] test vulnerability::database::tests::test_severity_display ... ok
[INFO] [stdout] test vulnerability::database::tests::test_version_range_deserialize_without_max_inclusive ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_ignore_by_alias ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_ignore_when_no_fix ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_ignore_when_no_fix_does_not_ignore_fixable ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_fix_analysis ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_matched_ignore_id_does_not_report ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_severity_matches_always_shows_unknown ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_unmatched_ignore_id_is_reported ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_version_range_matching ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_vulnerability_matching ... ok
[INFO] [stdout] test vulnerability::database::tests::test_version_range_contains_exclusive_upper_bound ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_withdrawn_vulnerability_filtering ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_unknown_does_not_override_known ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_ignore_while_no_fix_by_alias ... ok
[INFO] [stdout] test vulnerability::database::tests::test_version_range_contains_inclusive_upper_bound ... ok
[INFO] [stdout] test vulnerability::matcher::tests::test_matcher_config ... ok
[INFO] [stdout] test vulnerability::database::tests::test_merge_same_package_shared_alias_still_merges ... ok
[INFO] [stdout] test providers::pypa::tests::test_package_name_extraction_with_invalid_names ... ok
[INFO] [stdout] test providers::pypa::tests::test_package_name_extraction_filters_non_pypi ... ok
[INFO] [stdout] test providers::pypa::tests::test_to_vulnerability_conversion ... ok
[INFO] [stdout] test providers::pypa::tests::test_package_name_extraction ... ok
[INFO] [stdout] test providers::pypi::tests::test_cache_entry_versioned_key_ignores_old_name ... ok
[INFO] [stdout] test providers::osv::tests::test_cache_entry_versioned_key_ignores_old_name ... ok
[INFO] [stdout] test providers::pypa::tests::test_withdrawn_vulnerability_parsing ... ok
[INFO] [stdout] test cache::storage::tests::test_concurrent_writes_no_corruption ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 483 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/pysentry/d6eda4203f8f27e3/out/pysentry-d6eda4203f8f27e3)
[INFO] [stderr]      Running tests/config_wiring.rs (/opt/rustwide/target/release/build/pysentry/41519c67c650859f/out/config_wiring-41519c67c650859f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test unknown_config_key_is_rejected ... ok
[INFO] [stdout] test every_config_field_reaches_effective_settings ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/pep723_integration.rs (/opt/rustwide/target/release/build/pysentry/44a181ec11a87939/out/pep723_integration-44a181ec11a87939)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_pep723_script_fixture_scans_directly ... ok
[INFO] [stdout] test test_directory_with_pep723_script_keeps_lock_file_priority ... ok
[INFO] [stderr]      Running tests/per_group_integration.rs (/opt/rustwide/target/release/build/pysentry/79dcccac5ae220ef/out/per_group_integration-79dcccac5ae220ef)
[INFO] [stdout] test test_explicit_pep723_script_wins_over_sibling_project_files ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test test_group_prod_closure_includes_transitive_excludes_dev ... ok
[INFO] [stdout] test test_exclude_extra_regression ... ok
[INFO] [stdout] test test_group_attribution_tags_prod_and_dev_from_real_fixture ... ok
[INFO] [stdout] test test_no_group_flag_reports_all ... ok
[INFO] [stdout] test test_unknown_group_errors ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/regression_findings.rs (/opt/rustwide/target/release/build/pysentry/6ae027954f82e9cf/out/regression_findings-6ae027954f82e9cf)
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test false_negative_fixes_still_produce_every_finding ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests pysentry
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/providers/retry.rs - providers::retry::retry_with_backoff (line 22) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd", kill_on_drop: false }`
[INFO] [stdout] 0c848f99ca9c5283b70ddc80509c41f9da56a8bca1c2f6618507d23d27ed5dcd
