[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