[INFO] cloning repository https://github.com/astroicers/CyTrace [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/astroicers/CyTrace" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fastroicers%2FCyTrace", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fastroicers%2FCyTrace'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 23a862b122d235aef8f74e970aed947422d6b81a [INFO] testing astroicers/CyTrace against 1.99.0-beta.8 for beta-1.100-4 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fastroicers%2FCyTrace" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-6-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/astroicers/CyTrace [INFO] finished tweaking git repo https://github.com/astroicers/CyTrace [INFO] tweaked toml for git repo https://github.com/astroicers/CyTrace written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/astroicers/CyTrace on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/astroicers/CyTrace 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rpassword v7.5.4 [INFO] [stderr] Downloaded serde_json v1.0.150 [INFO] [stderr] Downloaded quote v1.0.46 [INFO] [stderr] Downloaded rust-embed-utils v8.11.0 [INFO] [stderr] Downloaded futures-core v0.3.32 [INFO] [stderr] Downloaded futures-sink v0.3.32 [INFO] [stderr] Downloaded clap_lex v1.1.0 [INFO] [stderr] Downloaded rtoolbox v0.0.5 [INFO] [stderr] Downloaded rust-embed-impl v8.11.0 [INFO] [stderr] Downloaded derive_arbitrary v1.4.2 [INFO] [stderr] Downloaded tokio-macros v2.7.0 [INFO] [stderr] Downloaded futures-task v0.3.32 [INFO] [stderr] Downloaded unicase v2.9.0 [INFO] [stderr] Downloaded autocfg v1.5.1 [INFO] [stderr] Downloaded either v1.18.0 [INFO] [stderr] Downloaded multer v3.1.0 [INFO] [stderr] Downloaded axum-core v0.5.6 [INFO] [stderr] Downloaded argon2 v0.5.3 [INFO] [stderr] Downloaded base64ct v1.8.3 [INFO] [stderr] Downloaded displaydoc v0.2.6 [INFO] [stderr] Downloaded fs-err v3.3.0 [INFO] [stderr] Downloaded spin v0.9.9 [INFO] [stderr] Downloaded matchit v0.8.4 [INFO] [stderr] Downloaded memchr v2.8.2 [INFO] [stderr] Downloaded simd-adler32 v0.3.9 [INFO] [stderr] Downloaded rustls-pki-types v1.15.0 [INFO] [stderr] Downloaded mime_guess v2.0.5 [INFO] [stderr] Downloaded axum-server v0.8.0 [INFO] [stderr] Downloaded blake2 v0.10.6 [INFO] [stderr] Downloaded anyhow v1.0.103 [INFO] [stderr] Downloaded clap_derive v4.6.1 [INFO] [stderr] Downloaded zopfli v0.8.3 [INFO] [stderr] Downloaded arbitrary v1.4.2 [INFO] [stderr] Downloaded bitflags v2.13.0 [INFO] [stderr] Downloaded futures-channel v0.3.32 [INFO] [stderr] Downloaded arc-swap v1.9.2 [INFO] [stderr] Downloaded clap v4.6.1 [INFO] [stderr] Downloaded socket2 v0.6.4 [INFO] [stderr] Downloaded bytes v1.12.0 [INFO] [stderr] Downloaded cc v1.2.65 [INFO] [stderr] Downloaded flate2 v1.1.9 [INFO] [stderr] Downloaded mio v1.2.1 [INFO] [stderr] Downloaded http v1.4.2 [INFO] [stderr] Downloaded zip v2.4.2 [INFO] [stderr] Downloaded futures-util v0.3.32 [INFO] [stderr] Downloaded axum v0.8.9 [INFO] [stderr] Downloaded clap_builder v4.6.0 [INFO] [stderr] Downloaded hyper v1.10.1 [INFO] [stderr] Downloaded h2 v0.4.16 [INFO] [stderr] Downloaded syn v2.0.118 [INFO] [stderr] Downloaded libc v0.2.186 [INFO] [stderr] Downloaded rust-embed v8.11.0 [INFO] [stderr] Downloaded tokio v1.52.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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] 3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056 [INFO] running `Command { std: "docker" "start" "3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056", 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" "3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056", 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" "3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.46 [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling bytes v1.12.0 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling typenum v1.20.1 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling shlex v2.0.1 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling cc v1.2.65 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling http v1.4.2 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling memchr v2.8.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling syn v2.0.118 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.2.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling socket2 v0.6.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling zeroize v1.9.0 [INFO] [stderr] Compiling log v0.4.33 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling rustls-pki-types v1.15.0 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling autocfg v1.5.1 [INFO] [stderr] Compiling rustls v0.23.45 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling smallvec v1.15.2 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Compiling fs-err v3.3.0 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling bitflags v2.13.0 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling cytrace-core v0.6.0 (/opt/rustwide/workdir/crates/cytrace-core) [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling rust-embed-utils v8.11.0 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling spin v0.9.9 [INFO] [stderr] Compiling base64ct v1.8.3 [INFO] [stderr] Compiling anyhow v1.0.103 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling bumpalo v3.20.3 [INFO] [stderr] Compiling zip v2.4.2 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling zopfli v0.8.3 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling xattr v1.6.1 [INFO] [stderr] Compiling rust-embed-impl v8.11.0 [INFO] [stderr] Compiling rustls-webpki v0.103.15 [INFO] [stderr] Compiling displaydoc v0.2.6 [INFO] [stderr] Compiling cytrace-i18n v0.6.0 (/opt/rustwide/workdir/crates/cytrace-i18n) [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling arc-swap v1.9.2 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling filetime v0.2.29 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling either v1.18.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling tar v0.4.46 [INFO] [stderr] Compiling argon2 v0.5.3 [INFO] [stderr] Compiling rust-embed v8.11.0 [INFO] [stderr] Compiling rtoolbox v0.0.5 [INFO] [stderr] Compiling cytrace-types v0.6.0 (/opt/rustwide/workdir/crates/cytrace-types) [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling rpassword v7.5.4 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling cytrace-report v0.6.0 (/opt/rustwide/workdir/crates/cytrace-report) [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling h2 v0.4.16 [INFO] [stderr] Compiling hyper v1.10.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum-server v0.8.0 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling cytrace-server v0.6.0 (/opt/rustwide/workdir/crates/cytrace-server) [INFO] [stderr] Compiling cytrace-cli v0.6.0 (/opt/rustwide/workdir/crates/cytrace-cli) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 55s [INFO] running `Command { std: "docker" "inspect" "3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056", 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" "3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.46 [INFO] [stderr] Compiling cytrace-i18n v0.6.0 (/opt/rustwide/workdir/crates/cytrace-i18n) [INFO] [stderr] Compiling syn v2.0.118 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling rust-embed-impl v8.11.0 [INFO] [stderr] Compiling displaydoc v0.2.6 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling rust-embed v8.11.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling zip v2.4.2 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling cytrace-types v0.6.0 (/opt/rustwide/workdir/crates/cytrace-types) [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling cytrace-core v0.6.0 (/opt/rustwide/workdir/crates/cytrace-core) [INFO] [stderr] Compiling cytrace-report v0.6.0 (/opt/rustwide/workdir/crates/cytrace-report) [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling fs-err v3.3.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling h2 v0.4.16 [INFO] [stderr] Compiling hyper v1.10.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum-server v0.8.0 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling cytrace-server v0.6.0 (/opt/rustwide/workdir/crates/cytrace-server) [INFO] [stderr] Compiling cytrace-cli v0.6.0 (/opt/rustwide/workdir/crates/cytrace-cli) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 22s [INFO] running `Command { std: "docker" "inspect" "3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056", 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" "3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/cytrace-96cc033d59bea66b) [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stdout] test tests::default_report_path_uses_stem ... ok [INFO] [stdout] test tests::batch_exit_is_ok_when_all_ok ... ok [INFO] [stdout] test tests::batch_exit_prefers_error_over_failon ... ok [INFO] [stdout] test tests::batch_exit_reports_failon_when_no_error ... ok [INFO] [stdout] test tests::core_errors_render_in_the_operator_language ... ok [INFO] [stdout] test tests::cbom_error_rendering_is_language_aware ... ok [INFO] [stdout] test tests::cbom_error_rendering_fills_placeholders ... ok [INFO] [stdout] test tests::no_gate_triggered_is_ok ... ok [INFO] [stdout] test tests::parses_batch_multiple_targets ... ok [INFO] [stdout] test tests::fail_on_accepts_known_levels_in_any_case_and_rejects_typos ... ok [INFO] [stdout] test tests::failon_alone_is_exit_failon ... ok [INFO] [stdout] test tests::lang_is_prescanned_before_parsing ... ok [INFO] [stdout] test tests::parses_report_subcommand ... ok [INFO] [stdout] test tests::quantum_no_result_alone_is_exit_err ... ok [INFO] [stdout] test tests::quantum_no_result_outranks_failon_within_one_target ... ok [INFO] [stdout] test tests::parses_run_with_fail_on_and_lang ... ok [INFO] [stdout] test tests::quantum_vulnerable_alone_is_exit_failon ... ok [INFO] [stdout] test tests::resolve_lang_precedence_and_fallback ... ok [INFO] [stdout] test tests::scan_cbom_fallback_never_prints_the_display ... ok [INFO] [stdout] test tests::password_input_error_renders_with_its_detail ... ok [INFO] [stdout] test tests::every_subcommand_and_arg_has_localized_help ... ok [INFO] [stderr] Running tests/gates.rs (/opt/rustwide/target/debug/deps/gates-6be986f2f98d08a2) [INFO] [stdout] test tests::every_severity_label_renders_without_variables ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test failon_alone_exits_two ... ok [INFO] [stdout] test quantum_gate_without_result_exits_one ... ok [INFO] [stdout] test batch_propagates_exit_one_over_two ... ok [INFO] [stdout] test db_snapshot_is_sentinel_when_grype_cannot_report_status ... ok [INFO] [stdout] test quantum_no_result_is_not_masked_by_failon ... ok [INFO] [stdout] test run_links_findings_to_component_locations ... ok [INFO] [stdout] test report_rebuilds_v1_and_v2_scanresults ... ok [INFO] [stdout] test clean_scan_exits_zero ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.80s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 20 tests [INFO] [stderr] Running tests/operator_lang.rs (/opt/rustwide/target/debug/deps/operator_lang-7debdf64afdc4e2b) [INFO] [stdout] test engine_failure_uses_the_error_kind_key ... ok [INFO] [stdout] test report_on_a_newer_schema_names_both_versions ... ok [INFO] [stdout] test self_check_detectors ... ok [INFO] [stdout] test report_read_and_parse_failures_name_the_path ... ok [INFO] [stdout] test fail_on_typo_is_a_usage_error_not_a_threshold ... ok [INFO] [stdout] test serve::hash_password_without_a_terminal_is_localized ... ok [INFO] [stdout] test scan_cbom_non_cbom_error_is_localized ... ok [INFO] [stdout] test serve::health_ok_is_localized ... ok [INFO] [stdout] test language_source_precedence ... ok [INFO] [stdout] test serve::health_invalid_address_is_localized ... ok [INFO] [stdout] test help_follows_operator_language ... ok [INFO] [stdout] test successful_run_reports_in_operator_language ... ok [INFO] [stdout] test unsupported_language_warns_in_both_languages_then_uses_zh_tw ... ok [INFO] [stdout] test scan_spdx_writes_both_formats_or_fails_closed ... ok [INFO] [stdout] test usage_errors_exit_one_in_the_operator_language ... ok [INFO] [stdout] test report_opens_in_generation_language ... ok [INFO] [stdout] test serve::quarantine_notice_and_tls_error_use_operator_language ... ok [INFO] [stdout] test serve::startup_errors_are_localized ... ok [INFO] [stdout] test serve::running_server_messages_follow_operator_language ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cytrace_core-e02463067eb2f091) [INFO] [stdout] test serve::non_utf8_environment_is_tolerated_or_named ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.30s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 64 tests [INFO] [stdout] test engine::tests::directory_target_is_also_absolute ... ok [INFO] [stdout] test engine::tests::dead_reader_thread_is_a_failure ... ok [INFO] [stdout] test engine::tests::drain_returns_the_buffer_when_the_reader_finishes ... ok [INFO] [stdout] test engine::tests::genuinely_empty_stderr_is_not_an_error ... ok [INFO] [stdout] test engine::tests::existing_directory_maps_to_dir_mode ... ok [INFO] [stdout] test engine::tests::fake_engine_usable_through_trait_object ... ok [INFO] [stdout] test engine::tests::db_status_failure_is_an_explicit_sentinel_not_a_fake_value ... ok [INFO] [stdout] test engine::tests::db_status_is_parsed_from_the_real_grype_output ... ok [INFO] [stdout] test engine::tests::non_archive_file_is_rejected_instead_of_guessed_as_image ... ok [INFO] [stdout] test engine::tests::oci_layout_directory_maps_to_image_mode ... ok [INFO] [stdout] test engine::tests::nonexistent_path_is_rejected ... ok [INFO] [stdout] test engine::tests::oci_layout_marker_must_be_valid_before_image_mode ... ok [INFO] [stdout] test engine::tests::polluted_stdout_is_rejected_as_failure ... ok [INFO] [stdout] test engine::tests::spdx_temp_paths_are_unique_per_call ... ok [INFO] [stdout] test engine::tests::syft_scan_sets_source_name_and_disables_file_metadata ... ok [INFO] [stdout] test engine::tests::gzip_archive_maps_to_image_mode ... ok [INFO] [stdout] test engine::tests::timeout_accepts_positive_values ... ok [INFO] [stdout] test engine::tests::timeout_falls_back_to_default_for_invalid_values ... ok [INFO] [stdout] test engine::tests::target_path_is_always_absolute ... ok [INFO] [stdout] test engine::tests::bare_name_is_rejected_even_if_a_file_with_that_name_exists_in_cwd ... ok [INFO] [stdout] test engine::tests::unreadable_input_is_rejected_before_spawning_engine ... ok [INFO] [stdout] test engine::tests::valid_oci_layout_directory_is_image_mode ... ok [INFO] [stdout] test engine::tests::empty_stdout_is_rejected_not_treated_as_zero_assets ... ok [INFO] [stdout] test engine::tests::timeout_rejects_values_that_would_panic_on_instant_add ... ok [INFO] [stdout] test engine::tests::valid_cbom_json_passes_through ... ok [INFO] [stdout] test failon::tests::incomplete_scan_does_not_mask_detected_vulnerabilities ... ok [INFO] [stdout] test failon::tests::incomplete_scan_without_findings_is_no_result ... ok [INFO] [stdout] test engine::tests::valid_tar_maps_to_image_mode ... ok [INFO] [stdout] test engine::tests::validate_spdx_accepts_spdx_documents_only ... ok [INFO] [stdout] test failon::tests::quantum_gate_flags_vulnerable_assets ... ok [INFO] [stdout] test failon::tests::quantum_gate_ignores_not_applicable ... ok [INFO] [stdout] test failon::tests::quantum_gate_is_fail_closed_when_no_result ... ok [INFO] [stdout] test failon::tests::does_not_trigger_when_all_below_threshold ... ok [INFO] [stdout] test failon::tests::quantum_gate_passes_on_completed_scan_with_zero_assets ... ok [INFO] [stdout] test failon::tests::no_findings_never_triggers ... ok [INFO] [stdout] test failon::tests::quantum_gate_passes_when_all_assets_are_safe ... ok [INFO] [stdout] test failon::tests::quantum_gate_flags_unscanned_items_as_no_result ... ok [INFO] [stdout] test failon::tests::threshold_is_inclusive ... ok [INFO] [stdout] test parse::tests::cyclonedx_provenance_is_read_and_locations_are_ordered_by_index ... ok [INFO] [stdout] test parse::tests::empty_grype_location_paths_are_ignored ... ok [INFO] [stdout] test failon::tests::quantum_gate_treats_unknown_as_not_passing ... ok [INFO] [stdout] test failon::tests::triggers_when_a_finding_meets_threshold ... ok [INFO] [stdout] test parse::tests::link_by_bom_ref_is_exact ... ok [INFO] [stdout] test parse::tests::link_by_purl_unions_all_instances ... ok [INFO] [stdout] test parse::tests::link_leaves_locations_empty_when_nothing_matches ... ok [INFO] [stdout] test parse::tests::exact_bom_ref_hit_without_locations_stays_empty ... ok [INFO] [stdout] test parse::tests::link_prefers_grype_artifact_locations ... ok [INFO] [stdout] test parse::tests::malformed_grype_json_is_parse_error ... ok [INFO] [stdout] test parse::tests::link_by_name_and_version_when_no_purl ... ok [INFO] [stdout] test parse::tests::parses_cyclonedx_components_with_licenses ... ok [INFO] [stdout] test parse::tests::purl_match_ignores_percent_encoding ... ok [INFO] [stdout] test parse::tests::parses_grype_matches_into_vulnerabilities ... ok [INFO] [stdout] test parse::tests::purl_mismatch_does_not_fall_back_to_name_and_version ... ok [INFO] [stdout] test parse::tests::purl_key_decodes_valid_escapes_and_keeps_the_rest ... ok [INFO] [stdout] test parse::tests::syft_file_components_are_excluded ... ok [INFO] [stdout] test severity::tests::counts_list_all_six_levels_even_when_zero ... ok [INFO] [stdout] test severity::tests::overall_risk_is_highest_present_severity ... ok [INFO] [stdout] test severity::tests::overall_risk_none_when_no_findings ... ok [INFO] [stdout] test timefmt::tests::epoch_to_iso_formats_utc ... ok [INFO] [stdout] test severity::tests::real_severity_outranks_unknown ... ok [INFO] [stdout] test severity::tests::summarize_empty_is_negligible ... ok [INFO] [stdout] test engine::tests::drain_timeout_is_an_error_not_an_empty_buffer ... ok [INFO] [stdout] test parse::tests::grype_artifact_version_and_purl_are_kept ... ok [INFO] [stdout] test parse::tests::grype_empty_matches_yields_empty ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/cbom.rs (/opt/rustwide/target/debug/deps/cbom-36fc98a2e5f18aab) [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test classical_ecc_curves_are_quantum_vulnerable ... ok [INFO] [stdout] test certificate_count_is_parsed_from_the_real_logrus_field ... ok [INFO] [stdout] test admitted_counts_are_parsed_per_category ... ok [INFO] [stdout] test captures_certificate_expiry_and_location ... ok [INFO] [stdout] test certificate_quantum_resolves_via_signature_algorithm_ref ... ok [INFO] [stdout] test malformed_json_is_parse_error ... ok [INFO] [stdout] test composite_signature_names_are_judged_by_the_public_key_part ... ok [INFO] [stdout] test ed25519_is_not_weak_despite_255_bits ... ok [INFO] [stdout] test empty_components_yields_empty_list ... ok [INFO] [stdout] test modelled_counts_are_per_category ... ok [INFO] [stdout] test clean_stderr_counts_zero_skipped ... ok [INFO] [stdout] test certificate_count_is_never_double_counted ... ok [INFO] [stdout] test captures_private_key_size_and_flags_weak ... ok [INFO] [stdout] test non_cyclonedx_json_is_rejected ... ok [INFO] [stdout] test parses_only_cryptographic_assets ... ok [INFO] [stdout] test skipped_count_never_undercounts_regardless_of_filename ... ok [INFO] [stdout] test pqc_asset_is_classified_safe ... ok [INFO] [stdout] test parsed_assets_never_contain_key_material ... ok [INFO] [stdout] test rsa_below_2048_is_weak_key ... ok [INFO] [stdout] test rsa_is_quantum_vulnerable_regardless_of_size ... ok [INFO] [stdout] test null_components_is_zero_assets_not_a_parse_failure ... ok [INFO] [stdout] test pqc_algorithms_are_quantum_safe ... ok [INFO] [stdout] test skipped_large_files_are_counted_from_stderr ... ok [INFO] [stdout] test unknown_curve_is_unknown_not_guessed ... ok [INFO] [stderr] Running tests/collect_cbom.rs (/opt/rustwide/target/debug/deps/collect_cbom-3369c05c8215b7ae) [INFO] [stdout] test symmetric_and_hash_are_not_applicable ... ok [INFO] [stdout] test unknown_curve_is_not_reported_as_weak ... ok [INFO] [stdout] test undetermined_subtracts_within_one_category ... ok [INFO] [stdout] test unrecognised_algorithm_is_unknown ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test absent_engine_degrades_to_engine_absent ... ok [INFO] [stdout] test collect_cbom_reports_unscanned_items_for_dir_targets ... ok [INFO] [stdout] test engine_failure_is_recorded_not_propagated ... ok [INFO] [stdout] test empty_but_valid_cbom_is_completed_with_zero_assets ... ok [INFO] [stdout] test future_schema_version_is_detected ... ok [INFO] [stdout] test engine_skipped_files_are_counted_as_unscanned ... ok [INFO] [stdout] test real_engine_end_to_end_against_temp_fixture ... ignored, 需要 cbomkit-theia binary;air-gapped CI 預設略過 [INFO] [stdout] test concurrent_collect_cbom_does_not_cross_contaminate_unscanned ... ok [INFO] [stdout] test quantum_gate_does_not_pass_when_engine_skipped_files ... ok [INFO] [stdout] test scan_identity_reports_the_effective_uid ... ok [INFO] [stdout] test reason_detail_never_carries_chinese_prose_for_any_variant ... ok [INFO] [stdout] test failed_status_carries_a_pure_i18n_key_not_prose ... ok [INFO] [stdout] test successful_scan_yields_completed_with_assets ... ok [INFO] [stdout] test unparseable_output_is_failed_not_zero_assets ... ok [INFO] [stdout] test fully_readable_dir_counts_zero_unreadable ... ok [INFO] [stdout] test version_output_is_parsed_from_engine_banner ... ok [INFO] [stdout] test unreadable_symlink_target_is_counted ... ok [INFO] [stdout] test vuln_temp_paths_are_unique_per_call ... ok [INFO] [stdout] test unreadable_files_in_dir_target_are_counted ... ok [INFO] [stdout] test absent_engine_must_not_stamp_a_theia_version ... ok [INFO] [stdout] test symlink_loops_do_not_hang_the_count ... ok [INFO] [stdout] test engine_leaves_no_temp_home_behind ... ok [INFO] [stdout] test scan_identity_is_concurrency_safe ... ok [INFO] [stdout] test fifo_in_target_does_not_hang_the_scan ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 23 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/golden.rs (/opt/rustwide/target/debug/deps/golden-fb7d421ab59cfdc0) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stderr] Running tests/real_engine.rs (/opt/rustwide/target/debug/deps/real_engine-02f882eb5e0c019f) [INFO] [stdout] test scanresult_matches_golden_baseline ... ok [INFO] [stdout] test scanresult_with_crypto_matches_golden_baseline ... 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] [stdout] [INFO] [stdout] running 20 tests [INFO] [stdout] test certificate_admitted_count_tracks_the_real_engine ... ignored, 需要 cbomkit-theia 與 openssl [INFO] [stdout] test certificate_and_key_are_detected_without_leaking_material ... ignored, 需要 cbomkit-theia [INFO] [stdout] test clean_target_is_completed_with_zero_assets ... ignored, 需要 cbomkit-theia [INFO] [stdout] test engine_admitted_findings_are_not_silently_dropped ... ignored, 需要 cbomkit-theia [INFO] [stdout] test fifo_target_returns_within_timeout ... ignored, 需要 cbomkit-theia [INFO] [stdout] test gzip_remnant_named_after_an_image_does_not_load_foreign_assets ... ignored, 需要 cbomkit-theia [INFO] [stdout] test large_output_does_not_deadlock_the_pipe ... ignored, 需要 cbomkit-theia 與 openssl [INFO] [stdout] test mixed_target_still_reports_unmodelled_findings ... ignored, 需要 cbomkit-theia、openssl 與 ssh-keygen [INFO] [stdout] test oversize_file_is_reported_as_unscanned ... ignored, 需要 cbomkit-theia [INFO] [stdout] test pinned_syft_components_carry_purl_and_locations ... ignored, 需要 syft 在 PATH(make test-real-engine) [INFO] [stdout] test pinned_syft_default_file_components_are_excluded_by_parse ... ignored, 需要 syft 在 PATH(make test-real-engine) [INFO] [stdout] test pinned_syft_oci_dir_reads_flat_layout_and_fails_loudly_on_nested_index ... ignored, 需要 syft 在 PATH(make test-real-engine) [INFO] [stdout] test pinned_syft_reads_docker_archive_but_not_its_extracted_dir ... ignored, 需要 syft 在 PATH(make test-real-engine) [INFO] [stdout] test pinned_syft_source_name_keeps_host_paths_out_of_raw_sboms ... ignored, 需要 syft 在 PATH(make test-real-engine) [INFO] [stdout] test plain_file_target_is_rejected_before_spawning ... ignored, 需要 cbomkit-theia [INFO] [stdout] test raw_cbom_json_never_carries_private_key_material ... ignored, 需要 cbomkit-theia 與 openssl [INFO] [stdout] test spdx_and_cyclonedx_describe_the_same_packages ... ignored, 需要 syft 在 PATH(make test-real-engine) [INFO] [stdout] test stderr_is_actually_drained_on_the_normal_path ... ignored, 需要 cbomkit-theia 與 openssl [INFO] [stdout] test symlink_loop_does_not_hang ... ignored, 需要 cbomkit-theia [INFO] [stdout] test unreadable_symlink_makes_the_gate_withhold_pass ... ignored, 需要 cbomkit-theia [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 20 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/real_engine_windows.rs (/opt/rustwide/target/debug/deps/real_engine_windows-6860cce5cc7f2270) [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] [stderr] Running tests/theia_version.rs (/opt/rustwide/target/debug/deps/theia_version-0f36f9a9a2f9445d) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test completed_scan_stamps_the_pinned_theia_version ... ok [INFO] [stdout] test rust_and_shell_readers_agree_on_every_sample ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.19s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cytrace_i18n-a82d40f64977daba) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test tests::interpolation_does_not_re_expand_substituted_values ... ok [INFO] [stdout] test tests::english_catalog_selected ... ok [INFO] [stdout] test tests::missing_key_returns_key_itself ... ok [INFO] [stdout] test tests::nested_key_lookup_works ... ok [INFO] [stdout] test tests::render_cbom_keeps_detail_even_when_it_matches_the_message_text ... ok [INFO] [stdout] test tests::render_cbom_handles_empty_detail_without_dangling_separator ... ok [INFO] [stdout] test tests::render_cbom_falls_back_to_parentheses_when_the_key_has_no_placeholder ... ok [INFO] [stdout] test tests::interpolation_keeps_unknown_and_unclosed_placeholders ... ok [INFO] [stdout] test tests::english_messages_never_use_fullwidth_punctuation ... ok [INFO] [stdout] test tests::interpolation_substitutes_vars ... ok [INFO] [stdout] test tests::render_cbom_uses_secs_for_timeout_and_target_otherwise ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/cbom_keys.rs (/opt/rustwide/target/debug/deps/cbom_keys-c3e15da2641eb4ec) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test frontend_cbom_key_list_matches_this_one ... ok [INFO] [stdout] test key_lists_are_derived_from_the_catalog_not_hand_copied ... ok [INFO] [stdout] test keys_requiring_vars_actually_use_them ... ok [INFO] [stdout] test every_message_uses_the_placeholder_its_rule_assigns ... ok [INFO] [stdout] test every_cbom_error_key_exists_in_both_locales ... ok [INFO] [stdout] test unknown_keys_fall_back_instead_of_printing_the_raw_key ... ok [INFO] [stdout] test frontend_secs_key_table_matches_this_one ... ok [INFO] [stdout] test none_detail_never_leaks_placeholders ... ok [INFO] [stdout] test rendered_messages_leave_no_placeholder ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/placeholders.rs (/opt/rustwide/target/debug/deps/placeholders-48cb6d1aad33ee6a) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test placeholder_extractor_sees_what_it_should ... ok [INFO] [stdout] test every_key_has_the_same_placeholders_in_both_languages ... ok [INFO] [stdout] test placeholder_names_are_plain_identifiers ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cytrace_report-54f0eef5eba4a1ad) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test tests::missing_sentinel_is_config_error ... ok [INFO] [stdout] test tests::lang_marker_must_appear_exactly_once ... ok [INFO] [stdout] test tests::escapes_closing_script_to_prevent_breakout ... ok [INFO] [stdout] test tests::marker_inside_scan_data_does_not_break_rendering ... ok [INFO] [stdout] test tests::injects_data_at_sentinel ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cytrace_server-d0df3f993a489e79) [INFO] [stdout] test tests::root_lang_follows_generation_language ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 70 tests [INFO] [stdout] test archive::tests::detect_by_magic_bytes ... ok [INFO] [stdout] test archive::tests::targz_roundtrip ... ok [INFO] [stdout] test archive::tests::tar_traversal_rejected_and_symlink_skipped ... ok [INFO] [stdout] test archive::tests::zip_slip_rejected_whole_archive ... ok [INFO] [stdout] test archive::tests::zip_normal_extracts ... ok [INFO] [stdout] test archive::tests::total_size_budget_enforced_on_actual_bytes ... ok [INFO] [stdout] test auth::tests::throttle_blocks_after_per_ip_limit ... ok [INFO] [stdout] test auth::tests::throttle_global_limit_covers_distributed_sources ... ok [INFO] [stdout] test config::tests::admin_hash_required_and_validated ... ok [INFO] [stdout] test auth::tests::invalid_phc_rejected ... ok [INFO] [stdout] test auth::tests::throttle_window_expires ... ok [INFO] [stdout] test archive::tests::every_archive_error_message_renders_without_variables ... ok [INFO] [stdout] test error::tests::cbom_error_detail_follows_request_language ... ok [INFO] [stdout] test error::tests::cbom_error_detail_is_translated_not_a_bare_key ... ok [INFO] [stdout] test error::tests::core_error_maps_to_kind ... ok [INFO] [stdout] test error::tests::every_kind_message_renders_without_variables ... ok [INFO] [stdout] test error::tests::negotiate_prefers_query_over_header ... ok [INFO] [stdout] test extract::tests::clippy_config_disallows_raw_extractors ... ok [INFO] [stdout] test extract::tests::closure_handler_matcher_detects_known_violations ... ok [INFO] [stdout] test extract::tests::no_closure_handlers_in_server ... ok [INFO] [stdout] test extract::tests::server_error_rejection_maps_to_internal_not_400 ... ok [INFO] [stdout] test jobs::registry::tests::cancel_only_when_queued ... ok [INFO] [stdout] test jobs::registry::tests::corrupt_job_json_is_quarantined ... ok [INFO] [stdout] test jobs::registry::tests::failed_quarantine_is_not_reported_as_quarantined ... ok [INFO] [stdout] test jobs::registry::tests::insert_persist_reload_roundtrip ... ok [INFO] [stdout] test jobs::registry::tests::interrupted_persist_failure_is_reported ... ok [INFO] [stdout] test jobs::registry::tests::list_orders_newest_first_and_paginates ... ok [INFO] [stdout] test jobs::registry::tests::purge_inputs_also_clears_quarantined_dirs ... ok [INFO] [stdout] test jobs::registry::tests::quarantine_notices_distinguish_missing_from_corrupt ... ok [INFO] [stdout] test jobs::registry::tests::remove_input_at_ignores_missing_and_surfaces_real_failures ... ok [INFO] [stdout] test jobs::registry::tests::restart_marks_non_terminal_as_interrupted ... ok [INFO] [stdout] test jobs::registry::tests::start_and_cancel_are_mutually_exclusive ... ok [INFO] [stdout] test jobs::registry::tests::unwritable_data_dir_is_a_startup_error ... ok [INFO] [stdout] test jobs::runner::tests::cbom_job_error_keeps_the_specific_cause_key ... ok [INFO] [stdout] test jobs::runner::tests::display_name_never_falls_back_to_empty ... ok [INFO] [stdout] test jobs::runner::tests::job_error_detail_never_carries_prose_or_bare_keys ... ok [INFO] [stdout] test jobs::runner::tests::redact_replaces_every_form_of_the_internal_target ... ok [INFO] [stdout] test jobs::tests::job_id_is_sortable_epoch_prefixed ... ok [INFO] [stdout] test jobs::tests::record_serializes_without_null_noise ... ok [INFO] [stdout] test jobs::tests::terminal_states ... ok [INFO] [stdout] test session::tests::cookie_helpers ... ok [INFO] [stdout] test session::tests::create_validate_revoke_roundtrip ... ok [INFO] [stdout] test session::tests::unknown_or_tampered_token_rejected ... ok [INFO] [stdout] test session::tests::zero_ttl_expires_immediately ... ok [INFO] [stdout] test static_files::tests::console_html_is_embedded ... ok [INFO] [stdout] test targets::tests::lexical_violations_rejected_before_fs ... ok [INFO] [stdout] test targets::tests::parse_roots_validates_format ... ok [INFO] [stdout] test targets::tests::symlink_escape_blocked ... ok [INFO] [stdout] test targets::tests::unknown_root_and_missing_path ... ok [INFO] [stdout] test targets::tests::valid_paths_resolve ... ok [INFO] [stdout] test upload::tests::docker_save_tar_is_scanned_as_docker_archive_of_the_original ... ok [INFO] [stdout] test upload::tests::empty_manifest_array_is_not_an_image ... ok [INFO] [stdout] test upload::tests::gzipped_docker_save_is_decompressed_then_scanned_as_docker_archive ... ok [INFO] [stdout] test upload::tests::gzipped_image_with_content_at_the_limit_is_accepted ... ok [INFO] [stdout] test upload::tests::gzipped_image_with_trailing_padding_beyond_budget_is_rejected ... ok [INFO] [stdout] test upload::tests::manifest_array_without_layers_is_not_an_image ... ok [INFO] [stdout] test upload::tests::multi_image_docker_save_is_still_docker_archive ... ok [INFO] [stdout] test upload::tests::oci_layout_without_docker_manifest_is_scanned_as_oci_dir ... ok [INFO] [stdout] test upload::tests::ordinary_source_tar_stays_dir ... ok [INFO] [stdout] test upload::tests::plain_file_scans_directly ... ok [INFO] [stdout] test upload::tests::pwa_manifest_json_object_is_not_mistaken_for_an_image ... ok [INFO] [stdout] test upload::tests::sanitize_strips_path_and_unsafe_chars ... ok [INFO] [stdout] test upload::tests::zipped_image_is_not_turned_into_docker_archive ... ok [INFO] [stdout] test config::tests::db_absent_when_env_unset_or_dir_missing ... ok [INFO] [stdout] test config::tests::non_utf8_env_errors_only_when_read ... ok [INFO] [stdout] test config::tests::flag_overrides_env_overrides_default ... ok [INFO] [stdout] test config::tests::invalid_bind_is_config_error ... ok [INFO] [stdout] test config::tests::integer_and_scan_root_errors_name_the_variable ... ok [INFO] [stdout] test config::tests::tls_must_be_paired ... ok [INFO] [stdout] test auth::tests::hash_then_verify_roundtrip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 70 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.15s [INFO] [stdout] [INFO] [stderr] Running tests/api.rs (/opt/rustwide/target/debug/deps/api-a4c3966e784d7171) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test hash_route_path_falls_back_to_spa ... ok [INFO] [stdout] test healthz_is_public ... ok [INFO] [stdout] test console_html_served_at_root ... ok [INFO] [stdout] test get_requests_do_not_need_csrf_header ... ok [INFO] [stdout] test console_response_has_hardened_csp ... ok [INFO] [stdout] test lang_negotiation_switches_error_language ... ok [INFO] [stdout] test unknown_route_returns_404_error_shape ... ok [INFO] [stdout] test mutating_request_without_csrf_header_is_403 ... ok [INFO] [stdout] test unknown_api_route_still_json_404_not_spa ... ok [INFO] [stdout] test version_requires_auth ... ok [INFO] [stdout] test login_wrong_password_returns_401_uniform ... ok [INFO] [stdout] test session_ttl_zero_expires_immediately ... ok [INFO] [stdout] test whoami_and_logout_lifecycle ... ok [INFO] [stdout] test cookie_attributes_hardened ... ok [INFO] [stdout] test login_throttled_after_five_failures_per_ip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.35s [INFO] [stdout] [INFO] [stderr] Running tests/i18n_call_vars.rs (/opt/rustwide/target/debug/deps/i18n_call_vars-b99f0125ec032dc7) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test finder_sees_every_supported_shape ... ok [INFO] [stdout] test code_vars_match_catalog_placeholders ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s [INFO] [stdout] [INFO] [stderr] Running tests/i18n_ratchet.rs (/opt/rustwide/target/debug/deps/i18n_ratchet-356059c8805b728e) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test extractor_sees_past_test_only_items ... ok [INFO] [stdout] test production_code_has_no_out_of_tree_modules ... ok [INFO] [stdout] test cjk_literals_only_in_exempt_places ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.67s [INFO] [stdout] [INFO] [stderr] Running tests/job_state_transitions.rs (/opt/rustwide/target/debug/deps/job_state_transitions-cca92ef43c18ab10) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test detector_flags_indirect_ways_to_produce_running ... ok [INFO] [stdout] test only_start_if_queued_produces_running ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.47s [INFO] [stdout] [INFO] [stderr] Running tests/jobs.rs (/opt/rustwide/target/debug/deps/jobs-91689ab1efedfacc) [INFO] [stdout] [INFO] [stdout] running 44 tests [INFO] [stdout] test artifact_kinds_match_the_console_type ... ok [INFO] [stdout] test cbom_artifact_is_served_when_scan_succeeds ... ok [INFO] [stdout] test db_missing_returns_503_degraded ... ok [INFO] [stdout] test cbom_engine_failure_does_not_fail_the_job ... ok [INFO] [stdout] test conflict_message_says_a_running_job_cannot_be_canceled ... ok [INFO] [stdout] test artifact_endpoint_rejects_path_traversal_id ... ok [INFO] [stdout] test concurrent_uploads_do_not_cross_contaminate ... ok [INFO] [stdout] test canceling_queued_upload_keeps_input_when_keep_input_is_set ... ok [INFO] [stdout] test canceling_queued_upload_removes_its_input ... ok [INFO] [stdout] test delete_conflicts_when_runner_starts_before_the_cancel ... ok [INFO] [stdout] test recipe_matcher_scopes_to_the_effective_target ... ok [INFO] [stdout] test restart_keeps_upload_inputs_when_keep_input_is_set ... ok [INFO] [stdout] test mounted_file_target_is_not_forced_to_dir ... ok [INFO] [stdout] test job_error_message_follows_shared_fallback_fixture ... ok [INFO] [stdout] test engine_failure_detail_does_not_carry_host_paths ... ok [INFO] [stdout] test t909_console_requests_send_ui_language ... ok [INFO] [stdout] test full_job_lifecycle_with_fake_engine ... ok [INFO] [stdout] test invalid_fail_on_rejected ... ok [INFO] [stdout] test file_components_stay_in_raw_sbom_but_not_in_scan_result ... ok [INFO] [stdout] test mounted_oci_layout_dir_is_scanned_as_oci_dir ... ok [INFO] [stdout] test restart_purges_leftover_upload_inputs ... ok [INFO] [stdout] test t909_login_malformed_json_returns_json_contract ... ok [INFO] [stdout] test t909_failed_job_message_follows_query_language ... ok [INFO] [stdout] test t909_extract_too_large_uses_archive_specific_key ... ok [INFO] [stdout] test t909_oversized_login_body_keeps_413 ... ok [INFO] [stdout] test t909_extractor_rejections_return_json_contract ... ok [INFO] [stdout] test scan_result_links_findings_to_component_locations ... ok [INFO] [stdout] test running_delete_conflicts_and_queued_cancels ... ok [INFO] [stdout] test t909_invalid_status_filter_is_localized ... ok [INFO] [stdout] test t909_invalid_fail_on_is_localized ... ok [INFO] [stdout] test t909_method_not_allowed_is_json_and_auth_first ... ok [INFO] [stdout] test t909_path_rejection_on_every_path_route ... ok [INFO] [stdout] test t909_rejections_on_report_query_and_delete_path ... ok [INFO] [stdout] test t909_missing_file_field_is_localized ... ok [INFO] [stdout] test t909_upload_too_large_is_localized ... ok [INFO] [stdout] test targets_endpoint_lists_root_names_only ... ok [INFO] [stdout] test t918_report_opens_in_submitting_request_language ... ok [INFO] [stdout] test traversal_and_unknown_paths_forbidden ... ok [INFO] [stdout] test upload_zip_slip_rejected ... ok [INFO] [stdout] test upload_over_size_limit_rejected ... ok [INFO] [stdout] test upload_zip_scans_and_produces_report ... ok [INFO] [stdout] test t919_spdx_artifact_is_listed_and_downloadable ... ok [INFO] [stdout] test uploaded_docker_save_is_scanned_as_docker_archive ... ok [INFO] [stdout] test web_outputs_name_the_job_instead_of_host_paths ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 35.70s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cytrace_types-e9a9c5d58e571870) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test tests::cbom_status_distinguishes_not_requested_from_completed_with_zero_assets ... ok [INFO] [stdout] test tests::i18n_keys_are_stable ... ok [INFO] [stdout] test tests::crypto_asset_omits_optional_fields_when_none ... ok [INFO] [stdout] test tests::schema_version_is_3 ... ok [INFO] [stdout] test tests::empty_provenance_fields_are_omitted ... ok [INFO] [stdout] test tests::severity_orders_critical_highest_unknown_lowest ... ok [INFO] [stdout] test tests::unrecognized_severity_is_unknown ... ok [INFO] [stdout] test tests::v1_scanresult_without_crypto_still_deserializes ... ok [INFO] [stdout] test tests::v2_component_and_finding_without_provenance_still_deserialize ... ok [INFO] [stdout] test tests::v1_scanresult_tool_versions_without_theia_still_deserializes ... ok [INFO] [stdout] test tests::provenance_fields_roundtrip_with_frontend_names ... ok [INFO] [stdout] test tests::grype_strings_map_to_severity_case_insensitively ... ok [INFO] [stdout] test tests::quantum_status_i18n_keys_are_stable ... ok [INFO] [stdout] test tests::unscanned_count_defaults_to_zero_and_survives_roundtrip ... ok [INFO] [stdout] test tests::cbom_status_serialization_matches_the_frontend_contract ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Doc-tests cytrace_core [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] [stderr] Doc-tests cytrace_i18n [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] [stderr] Doc-tests cytrace_report [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] [stderr] Doc-tests cytrace_server [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] [stderr] Doc-tests cytrace_types [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] running `Command { std: "docker" "inspect" "3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056", kill_on_drop: false }` [INFO] [stdout] 3b77607f3b2507fe5eaa53e16f664854c376627581c23e5e00cc6a2f50430056