[INFO] fetching crate perf-sentinel-core 0.5.3...
[INFO] testing perf-sentinel-core-0.5.3 against 1.95.0 for beta-1.96-2
[INFO] extracting crate perf-sentinel-core 0.5.3 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate perf-sentinel-core 0.5.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate perf-sentinel-core 0.5.3
[INFO] tweaked toml for crates.io crate perf-sentinel-core 0.5.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate perf-sentinel-core 0.5.3 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate perf-sentinel-core 0.5.3 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-macros v2.7.0
[INFO] [stderr]   Downloaded rand_xorshift v0.4.0
[INFO] [stderr]   Downloaded unarray v0.1.4
[INFO] [stderr]   Downloaded protobuf-support v3.7.2
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.117
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.117
[INFO] [stderr]   Downloaded serde_spanned v1.1.1
[INFO] [stderr]   Downloaded tonic-prost v0.14.5
[INFO] [stderr]   Downloaded pin-project-internal v1.1.11
[INFO] [stderr]   Downloaded toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]   Downloaded hyper-rustls v0.27.9
[INFO] [stderr]   Downloaded lru v0.17.0
[INFO] [stderr]   Downloaded toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]   Downloaded arc-swap v1.9.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.117
[INFO] [stderr]   Downloaded cc v1.2.60
[INFO] [stderr]   Downloaded js-sys v0.3.94
[INFO] [stderr]   Downloaded rand v0.9.3
[INFO] [stderr]   Downloaded prometheus v0.14.0
[INFO] [stderr]   Downloaded rustls-webpki v0.103.13
[INFO] [stderr]   Downloaded axum v0.8.9
[INFO] [stderr]   Downloaded hyper v1.9.0
[INFO] [stderr]   Downloaded protobuf v3.7.2
[INFO] [stderr]   Downloaded mio v1.2.0
[INFO] [stderr]   Downloaded tonic v0.14.5
[INFO] [stderr]   Downloaded proptest v1.11.0
[INFO] [stderr]   Downloaded toml v1.1.2+spec-1.1.0
[INFO] [stderr]   Downloaded const-hex v1.18.1
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.117
[INFO] [stderr]   Downloaded pin-project v1.1.11
[INFO] [stderr]   Downloaded socket2 v0.6.3
[INFO] [stderr]   Downloaded tokio v1.52.1
[INFO] [stderr]   Downloaded libc v0.2.184
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1aedacc23bf66e065050ccbb66afe521e3979f80eacfa48768ac9c3be8e92419
[INFO] running `Command { std: "docker" "start" "-a" "1aedacc23bf66e065050ccbb66afe521e3979f80eacfa48768ac9c3be8e92419", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1aedacc23bf66e065050ccbb66afe521e3979f80eacfa48768ac9c3be8e92419", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1aedacc23bf66e065050ccbb66afe521e3979f80eacfa48768ac9c3be8e92419", kill_on_drop: false }`
[INFO] [stdout] 1aedacc23bf66e065050ccbb66afe521e3979f80eacfa48768ac9c3be8e92419
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e51cc2b030e52f605fb95b1caad33e189de59f619291db7c5f2e040c990509eb
[INFO] running `Command { std: "docker" "start" "-a" "e51cc2b030e52f605fb95b1caad33e189de59f619291db7c5f2e040c990509eb", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling protobuf v3.7.2
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling prometheus v0.14.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling const-hex v1.18.1
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling lru v0.17.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling prost-derive v0.14.3
[INFO] [stderr]    Compiling rand v0.9.3
[INFO] [stderr]    Compiling protobuf-support v3.7.2
[INFO] [stderr]    Compiling opentelemetry v0.31.0
[INFO] [stderr]    Compiling prost v0.14.3
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling opentelemetry_sdk v0.31.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling hyper-timeout v0.5.2
[INFO] [stderr]    Compiling tonic v0.14.5
[INFO] [stderr]    Compiling tonic-prost v0.14.5
[INFO] [stderr]    Compiling opentelemetry-proto v0.31.0
[INFO] [stderr]    Compiling perf-sentinel-core v0.5.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 01s
[INFO] running `Command { std: "docker" "inspect" "e51cc2b030e52f605fb95b1caad33e189de59f619291db7c5f2e040c990509eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e51cc2b030e52f605fb95b1caad33e189de59f619291db7c5f2e040c990509eb", kill_on_drop: false }`
[INFO] [stdout] e51cc2b030e52f605fb95b1caad33e189de59f619291db7c5f2e040c990509eb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 545691d9aad8a60d1582c18bb33677a095760b58812770de0eaa6a8d4fcbad7b
[INFO] running `Command { std: "docker" "start" "-a" "545691d9aad8a60d1582c18bb33677a095760b58812770de0eaa6a8d4fcbad7b", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling perf-sentinel-core v0.5.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `spawn_capture_server` is never used
[INFO] [stdout]    --> src/test_helpers.rs:296:14
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub async fn spawn_capture_server(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 23.70s
[INFO] running `Command { std: "docker" "inspect" "545691d9aad8a60d1582c18bb33677a095760b58812770de0eaa6a8d4fcbad7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "545691d9aad8a60d1582c18bb33677a095760b58812770de0eaa6a8d4fcbad7b", kill_on_drop: false }`
[INFO] [stdout] 545691d9aad8a60d1582c18bb33677a095760b58812770de0eaa6a8d4fcbad7b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9b9c7fd0c8bb0b49cbeb8d6b770f8686e88d329dd7b8b5073819852b507d0971
[INFO] running `Command { std: "docker" "start" "-a" "9b9c7fd0c8bb0b49cbeb8d6b770f8686e88d329dd7b8b5073819852b507d0971", kill_on_drop: false }`
[INFO] [stderr] warning: function `spawn_capture_server` is never used
[INFO] [stderr]    --> src/test_helpers.rs:296:14
[INFO] [stderr]     |
[INFO] [stderr] 296 | pub async fn spawn_capture_server(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `perf-sentinel-core` (lib test) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sentinel_core-84762ba2962dbdd0)
[INFO] [stdout] 
[INFO] [stdout] running 942 tests
[INFO] [stdout] test calibrate::tests::calibrate_basic ... ok
[INFO] [stdout] test calibrate::tests::calibrate_multiple_services ... ok
[INFO] [stdout] test calibrate::tests::calibrate_skips_events_with_unparsable_timestamp ... ok
[INFO] [stdout] test calibrate::tests::calibrate_rejects_empty_readings ... ok
[INFO] [stdout] test calibrate::tests::calibrate_skips_zero_ops_service ... ok
[INFO] [stdout] test calibrate::tests::parse_csv_empty_data ... ok
[INFO] [stdout] test calibrate::tests::parse_csv_energy_format ... ok
[INFO] [stdout] test calibrate::tests::parse_csv_rejects_bad_header ... ok
[INFO] [stdout] test calibrate::tests::parse_csv_power_format ... ok
[INFO] [stdout] test calibrate::tests::parse_csv_rejects_malformed_row ... ok
[INFO] [stdout] test calibrate::tests::load_calibration_validates_negative_factor ... ok
[INFO] [stdout] test calibrate::tests::parse_csv_rejects_negative ... ok
[INFO] [stdout] test calibrate::tests::parse_csv_with_comments ... ok
[INFO] [stdout] test calibrate::tests::load_calibration_file_rejects_missing_file ... ok
[INFO] [stdout] test calibrate::tests::load_calibration_file_rejects_nonfinite_measured_energy ... ok
[INFO] [stdout] test calibrate::tests::load_calibration_file_rejects_malformed_toml ... ok
[INFO] [stdout] test calibrate::tests::parse_energy_csv_reports_invalid_numeric_value_with_line_number ... ok
[INFO] [stdout] test calibrate::tests::load_calibration_file_accepts_extreme_factors_with_warning ... ok
[INFO] [stdout] test calibrate::tests::load_calibration_file_rejects_negative_factor ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_accepts_1_digit_fractional_seconds ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_accepts_2_digit_fractional_seconds ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_no_fraction ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_rejects_invalid ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_rejects_missing_t_and_space ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_rejects_month_day_out_of_range ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_rejects_non_numeric_hours_minutes_seconds ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_rejects_non_numeric_year_month_day ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_rejects_non_numeric_fractional_seconds ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_rejects_non_utc ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_rejects_pre_1970_year ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_rejects_time_out_of_range ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_rejects_wrong_date_format ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_rejects_wrong_time_format ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_truncates_sub_millisecond_fractional_seconds ... ok
[INFO] [stdout] test calibrate::tests::parse_energy_csv_reports_invalid_timestamp_with_line_number ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_accepts_space_between_date_and_time ... ok
[INFO] [stdout] test calibrate::tests::parse_timestamp_basic ... ok
[INFO] [stdout] test calibrate::tests::validate_warns_extreme_factors ... ok
[INFO] [stdout] test calibrate::tests::write_toml_round_trip ... ok
[INFO] [stdout] test config::tests::accepts_known_regions ... ok
[INFO] [stdout] test config::tests::accepts_max_active_traces_above_comfort_ceiling_with_warning ... ok
[INFO] [stdout] test config::tests::accepts_max_active_traces_at_1m ... ok
[INFO] [stdout] test config::tests::accepts_max_active_traces_below_comfort_floor_with_warning ... ok
[INFO] [stdout] test config::tests::accepts_max_events_per_trace_at_100k ... ok
[INFO] [stdout] test config::tests::accepts_max_events_per_trace_outside_comfort_zone ... ok
[INFO] [stdout] test calibrate::tests::parse_energy_csv_power_watts_empty_after_conversion_returns_empty_data ... ok
[INFO] [stdout] test config::tests::accepts_max_fanout_outside_comfort_but_inside_hard_bounds ... ok
[INFO] [stdout] test config::tests::accepts_max_fanout_at_100k ... ok
[INFO] [stdout] test config::tests::accepts_max_payload_size_outside_comfort_but_inside_hard_bounds ... ok
[INFO] [stdout] test config::tests::accepts_max_retained_findings_at_10m_hard_ceiling ... ok
[INFO] [stdout] test config::tests::accepts_max_retained_findings_outside_comfort_but_inside_hard_bounds ... ok
[INFO] [stdout] test config::tests::accepts_max_payload_size_at_100mb ... ok
[INFO] [stdout] test config::tests::accepts_port_65535 ... ok
[INFO] [stdout] test config::tests::accepts_port_one ... ok
[INFO] [stdout] test config::tests::accepts_sampling_rate_one ... ok
[INFO] [stdout] test config::tests::accepts_sampling_rate_zero ... ok
[INFO] [stdout] test config::tests::accepts_trace_ttl_at_1h ... ok
[INFO] [stdout] test config::tests::accepts_trace_ttl_at_100ms ... ok
[INFO] [stdout] test config::tests::accepts_zero_embodied_carbon ... ok
[INFO] [stdout] test config::tests::accepts_zero_max_retained_findings_disables_store ... ok
[INFO] [stdout] test config::tests::accepts_trace_ttl_outside_comfort_but_inside_hard_bounds ... ok
[INFO] [stdout] test config::tests::cloud_accepts_https_endpoint ... ok
[INFO] [stdout] test config::tests::cloud_auth_header_env_var_takes_precedence_over_config_file ... ok
[INFO] [stdout] test config::tests::cloud_auth_header_falls_back_to_config_when_env_unset ... ok
[INFO] [stdout] test config::tests::cloud_rejects_invalid_provider ... ok
[INFO] [stdout] test config::tests::cloud_rejects_invalid_scrape_interval ... ok
[INFO] [stdout] test config::tests::cloud_rejects_max_watts_less_than_idle ... ok
[INFO] [stdout] test config::tests::cloud_rejects_credentials_in_endpoint ... ok
[INFO] [stdout] test config::tests::cloud_rejects_service_name_with_control_chars ... ok
[INFO] [stdout] test config::tests::accepts_service_regions_at_exactly_the_cap ... ok
[INFO] [stdout] test config::tests::cloud_section_absent_yields_none ... ok
[INFO] [stdout] test config::tests::cloud_section_endpoint_only_parses_with_defaults ... ok
[INFO] [stdout] test config::tests::cloud_section_full_config_with_both_service_types ... ok
[INFO] [stdout] test config::tests::config_defaults_sit_inside_every_comfort_zone ... ok
[INFO] [stdout] test config::tests::config_include_network_transport_default_false ... ok
[INFO] [stdout] test config::tests::config_include_network_transport_from_toml ... ok
[INFO] [stdout] test config::tests::config_network_energy_per_byte_kwh_default ... ok
[INFO] [stdout] test config::tests::config_network_energy_per_byte_kwh_rejects_nan ... ok
[INFO] [stdout] test config::tests::config_network_energy_per_byte_kwh_rejects_negative ... ok
[INFO] [stdout] test config::tests::config_per_operation_coefficients_default_true ... ok
[INFO] [stdout] test config::tests::config_per_operation_coefficients_from_toml ... ok
[INFO] [stdout] test config::tests::daemon_environment_as_str ... ok
[INFO] [stdout] test config::tests::daemon_environment_case_insensitive ... ok
[INFO] [stdout] test config::tests::daemon_environment_defaults_to_staging ... ok
[INFO] [stdout] test config::tests::daemon_environment_omitted_uses_default ... ok
[INFO] [stdout] test config::tests::daemon_environment_production ... ok
[INFO] [stdout] test config::tests::daemon_environment_rejects_dev ... ok
[INFO] [stdout] test config::tests::daemon_environment_rejects_empty ... ok
[INFO] [stdout] test config::tests::daemon_environment_rejects_unknown ... ok
[INFO] [stdout] test config::tests::daemon_environment_staging ... ok
[INFO] [stdout] test config::tests::default_config_has_safe_defaults ... ok
[INFO] [stdout] test config::tests::default_config_validates ... ok
[INFO] [stdout] test config::tests::electricity_maps_empty_api_key_returns_none ... ok
[INFO] [stdout] test config::tests::electricity_maps_env_var_takes_precedence_over_config_file ... ok
[INFO] [stdout] test config::tests::electricity_maps_warn_when_api_key_in_config_file ... ok
[INFO] [stdout] test config::tests::electricity_maps_region_map_keys_lowercased ... ok
[INFO] [stdout] test config::tests::green_use_hourly_profiles_defaults_to_true ... ok
[INFO] [stdout] test config::tests::empty_service_regions_default ... ok
[INFO] [stdout] test config::tests::find_basic_string_end_survives_very_long_backslash_run ... ok
[INFO] [stdout] test config::tests::green_use_hourly_profiles_explicit_false ... ok
[INFO] [stdout] test config::tests::hourly_profiles_file_control_chars_rejected ... ok
[INFO] [stdout] test config::tests::hourly_profiles_file_absent_by_default ... ok
[INFO] [stdout] test config::tests::green_use_hourly_profiles_explicit_true ... ok
[INFO] [stdout] test config::tests::hourly_profiles_file_nonexistent_path_rejected ... ok
[INFO] [stdout] test config::tests::green_use_hourly_profiles_omitted_uses_default ... ok
[INFO] [stdout] test config::tests::hourly_profiles_windows_path_reports_load_failure_not_parse_error ... ok
[INFO] [stdout] test config::tests::load_from_str_falls_back_when_original_error_is_unrelated_to_path ... ok
[INFO] [stdout] test config::tests::literal_string_windows_path_bypasses_normalization ... ok
[INFO] [stdout] test config::tests::new_fields_have_correct_defaults ... ok
[INFO] [stdout] test config::tests::normalization_applies_to_all_registered_path_keys ... ok
[INFO] [stdout] test config::tests::normalization_applies_to_tls_cert_and_key_paths ... ok
[INFO] [stdout] test config::tests::normalization_leaves_toml_escape_sequences_literal_in_path_keys ... ok
[INFO] [stdout] test config::tests::find_basic_string_end_handles_escaped_inner_quote ... ok
[INFO] [stdout] test config::tests::parse_escaped_windows_style_json_socket_path_stays_stable ... ok
[INFO] [stdout] test config::tests::parse_empty_toml_gives_defaults ... ok
[INFO] [stdout] test config::tests::green_disabled_parses ... ok
[INFO] [stdout] test config::tests::parse_sectioned_format ... ok
[INFO] [stdout] test config::tests::parse_partial_toml ... ok
[INFO] [stdout] test config::tests::parse_green_service_regions ... ok
[INFO] [stdout] test config::tests::parse_slow_query_config ... ok
[INFO] [stdout] test config::tests::parse_window_config ... ok
[INFO] [stdout] test config::tests::parse_green_default_region ... ok
[INFO] [stdout] test config::tests::parse_green_embodied_carbon_override ... ok
[INFO] [stdout] test config::tests::parse_windows_style_json_socket_path_in_basic_string ... ok
[INFO] [stdout] test config::tests::parse_unc_json_socket_path_preserves_double_leading_backslash ... ok
[INFO] [stdout] test config::tests::rejects_default_region_with_literal_newline ... ok
[INFO] [stdout] test config::tests::parse_windows_style_json_socket_path_with_trailing_comment ... ok
[INFO] [stdout] test config::tests::rejects_invalid_service_regions_region_value ... ok
[INFO] [stdout] test config::tests::rejects_default_region_with_newline_escape ... ok
[INFO] [stdout] test config::tests::rejects_invalid_service_regions_service_name ... ok
[INFO] [stdout] test config::tests::rejects_grpc_port_zero ... ok
[INFO] [stdout] test config::tests::rejects_max_active_traces_over_1m ... ok
[INFO] [stdout] test config::tests::rejects_invalid_default_region_characters ... ok
[INFO] [stdout] test config::tests::rejects_io_waste_ratio_max_above_one ... ok
[INFO] [stdout] test config::tests::parse_pre_escaped_unc_json_socket_path_is_stable ... ok
[INFO] [stdout] test config::tests::rejects_max_payload_size_over_100mb ... ok
[INFO] [stdout] test config::tests::rejects_max_retained_findings_above_10m ... ok
[INFO] [stdout] test config::tests::rejects_oversized_default_region ... ok
[INFO] [stdout] test config::tests::rejects_negative_sampling_rate ... ok
[INFO] [stdout] test config::tests::rejects_port_zero ... ok
[INFO] [stdout] test config::tests::rejects_zero_max_active_traces ... ok
[INFO] [stdout] test config::tests::rejects_sampling_rate_above_one ... ok
[INFO] [stdout] test config::tests::rejects_zero_max_events_per_trace ... ok
[INFO] [stdout] test config::tests::rejects_trace_ttl_above_1h ... ok
[INFO] [stdout] test config::tests::rejects_max_events_per_trace_over_100k ... ok
[INFO] [stdout] test config::tests::rejects_trace_ttl_below_100 ... ok
[INFO] [stdout] test config::tests::rejects_zero_max_payload_size ... ok
[INFO] [stdout] test config::tests::rejects_negative_embodied_carbon ... ok
[INFO] [stdout] test config::tests::rejects_zero_n_plus_one_threshold ... ok
[INFO] [stdout] test config::tests::rejects_max_fanout_over_100k ... ok
[INFO] [stdout] test config::tests::rejects_zero_max_fanout ... ok
[INFO] [stdout] test config::tests::rejects_zero_window_duration ... ok
[INFO] [stdout] test config::tests::scaphandre_accepts_https_endpoint ... ok
[INFO] [stdout] test config::tests::rejects_zero_slow_query_min_occurrences ... ok
[INFO] [stdout] test config::tests::scaphandre_absent_by_default ... ok
[INFO] [stdout] test config::tests::scaphandre_auth_header_falls_back_to_config_when_env_unset ... ok
[INFO] [stdout] test config::tests::rejects_zero_slow_query_threshold ... ok
[INFO] [stdout] test config::tests::scaphandre_auth_header_env_var_takes_precedence_over_config_file ... ok
[INFO] [stdout] test config::tests::scaphandre_accepts_interval_at_boundary_3600s ... ok
[INFO] [stdout] test config::tests::scaphandre_accepts_interval_at_boundary_1s ... ok
[INFO] [stdout] test config::tests::scaphandre_empty_section_parses_to_none ... ok
[INFO] [stdout] test config::tests::scaphandre_full_config ... ok
[INFO] [stdout] test config::tests::scaphandre_rejects_zero_interval ... ok
[INFO] [stdout] test config::tests::service_regions_keys_are_lowercased_on_load ... ok
[INFO] [stdout] test config::tests::scaphandre_rejects_empty_exe_in_process_map ... ok
[INFO] [stdout] test config::tests::section_overrides_flat_field ... ok
[INFO] [stdout] test config::tests::slow_query_defaults ... ok
[INFO] [stdout] test config::tests::validate_electricity_maps_rejects_empty_region_map ... ok
[INFO] [stdout] test config::tests::tls_config_defaults_to_none ... ok
[INFO] [stdout] test config::tests::validate_electricity_maps_rejects_empty_zone ... ok
[INFO] [stdout] test config::tests::validate_electricity_maps_rejects_invalid_poll_interval ... ok
[INFO] [stdout] test config::tests::validate_http_authority_accepts_bare_ipv6 ... ok
[INFO] [stdout] test config::tests::validate_green_rejects_hourly_profiles_file_that_fails_to_load ... ok
[INFO] [stdout] test config::tests::validate_green_rejects_nonfinite_embodied_carbon ... ok
[INFO] [stdout] test config::tests::validate_http_authority_accepts_https_scheme ... ok
[INFO] [stdout] test config::tests::scaphandre_endpoint_only ... ok
[INFO] [stdout] test config::tests::validate_http_authority_accepts_ipv6_with_port ... ok
[INFO] [stdout] test config::tests::tls_config_fields_round_trip_through_toml ... ok
[INFO] [stdout] test config::tests::validate_electricity_maps_rejects_control_char_in_token ... ok
[INFO] [stdout] test config::tests::scaphandre_rejects_huge_interval ... ok
[INFO] [stdout] test config::tests::validate_http_authority_rejects_control_char ... ok
[INFO] [stdout] test config::tests::validate_http_authority_rejects_credentials ... ok
[INFO] [stdout] test config::tests::validate_http_authority_rejects_ipv6_with_invalid_port ... ok
[INFO] [stdout] test config::tests::validate_http_authority_rejects_empty_host ... ok
[INFO] [stdout] test config::tests::validate_tls_rejects_cert_without_key ... ok
[INFO] [stdout] test config::tests::validate_http_authority_rejects_invalid_ipv4_port ... ok
[INFO] [stdout] test config::tests::validate_tls_rejects_control_chars_in_cert_path ... ok
[INFO] [stdout] test correlate::tests::empty_input_gives_empty_output ... ok
[INFO] [stdout] test config::tests::validate_tls_rejects_control_chars_in_key_path ... ok
[INFO] [stdout] test correlate::tests::groups_spans_by_trace_id ... ok
[INFO] [stdout] test config::tests::validate_tls_accepts_both_absent ... ok
[INFO] [stdout] test config::tests::validate_tls_rejects_key_without_cert ... ok
[INFO] [stdout] test config::tests::validate_tls_accepts_existing_files ... ok
[INFO] [stdout] test config::tests::validate_tls_rejects_nonexistent_cert ... ok
[INFO] [stdout] test correlate::window::tests::accumulates_events_by_trace ... ok
[INFO] [stdout] test correlate::window::tests::evict_on_empty_window ... ok
[INFO] [stdout] test correlate::window::tests::lru_eviction_chain ... ok
[INFO] [stdout] test correlate::window::tests::evict_expired_returns_traces ... ok
[INFO] [stdout] test correlate::window::tests::lru_eviction ... ok
[INFO] [stdout] test correlate::window::tests::lru_touch_prevents_eviction ... ok
[INFO] [stdout] test correlate::window::tests::push_returns_evicted_events ... ok
[INFO] [stdout] test correlate::window::tests::ttl_eviction ... ok
[INFO] [stdout] test correlate::window::tests::ring_buffer_overflow ... ok
[INFO] [stdout] test correlate::window::tests::ttl_evicts_all_expired ... ok
[INFO] [stdout] test detect::chatty::tests::distinct_params_counts_templates ... ok
[INFO] [stdout] test detect::chatty::tests::mixed_events_only_counts_http ... ok
[INFO] [stdout] test detect::chatty::tests::critical_at_3x_threshold ... ok
[INFO] [stdout] test detect::chatty::tests::sql_events_not_counted ... ok
[INFO] [stdout] test detect::chatty::tests::no_finding_at_threshold ... ok
[INFO] [stdout] test detect::chatty::tests::no_finding_below_threshold ... ok
[INFO] [stdout] test detect::correlate_cross::tests::correlation_serde_roundtrip ... ok
[INFO] [stdout] test detect::correlate_cross::tests::delay_exceeding_lag_threshold_not_counted ... ok
[INFO] [stdout] test detect::correlate_cross::tests::detects_simple_a_then_b_pattern ... ok
[INFO] [stdout] test correlate::window::tests::drain_empties_window ... ok
[INFO] [stdout] test correlate::window::tests::drain_empty_window ... ok
[INFO] [stdout] test detect::correlate_cross::tests::reservoir_continues_to_sample_after_many_observations ... ok
[INFO] [stdout] test detect::chatty::tests::detects_chatty_trace ... ok
[INFO] [stdout] test detect::correlate_cross::tests::low_confidence_filtered_out ... ok
[INFO] [stdout] test config::tests::rejects_oversized_service_regions_map ... ok
[INFO] [stdout] test detect::correlate_cross::tests::eviction_removes_stale_entries ... ok
[INFO] [stdout] test detect::correlate_cross::tests::same_service_not_correlated ... ok
[INFO] [stdout] test detect::correlate_cross::tests::sample_trace_id_truncated_to_max_bytes ... ok
[INFO] [stdout] test detect::correlate_cross::tests::source_totals_rebuilt_from_window_on_each_ingest ... ok
[INFO] [stdout] test detect::fanout::tests::detects_excessive_fanout ... ok
[INFO] [stdout] test detect::fanout::tests::no_finding_without_parent_ids ... ok
[INFO] [stdout] test detect::fanout::tests::critical_at_3x_threshold ... ok
[INFO] [stdout] test detect::n_plus_one::tests::below_threshold_no_finding ... ok
[INFO] [stdout] test detect::n_plus_one::tests::compute_window_ms_across_midnight ... ok
[INFO] [stdout] test detect::n_plus_one::tests::compute_window_ms_basic ... ok
[INFO] [stdout] test detect::n_plus_one::tests::compute_window_ms_empty ... ok
[INFO] [stdout] test detect::n_plus_one::tests::compute_window_ms_single_timestamp ... ok
[INFO] [stdout] test detect::fanout::tests::no_finding_at_threshold ... ok
[INFO] [stdout] test detect::n_plus_one::tests::detects_n_plus_one_sql ... ok
[INFO] [stdout] test detect::n_plus_one::tests::critical_severity_for_10_or_more ... ok
[INFO] [stdout] test detect::n_plus_one::tests::detects_n_plus_one_http ... ok
[INFO] [stdout] test detect::n_plus_one::tests::parse_timestamp_ms_basic ... ok
[INFO] [stdout] test detect::n_plus_one::tests::mixed_templates_no_finding ... ok
[INFO] [stdout] test detect::n_plus_one::tests::n_plus_one_timestamps_unsorted_input ... ok
[INFO] [stdout] test detect::fanout::tests::parent_not_in_trace_uses_child_metadata ... ok
[INFO] [stdout] test detect::n_plus_one::tests::parse_timestamp_ms_invalid_returns_none ... ok
[INFO] [stdout] test detect::n_plus_one::tests::parse_timestamp_ms_missing_parts ... ok
[INFO] [stdout] test detect::fanout::tests::no_finding_below_threshold ... ok
[INFO] [stdout] test detect::n_plus_one::tests::n_plus_one_finding_has_first_last_timestamps ... ok
[INFO] [stdout] test detect::n_plus_one::tests::parse_timestamp_ms_no_fractional ... ok
[INFO] [stdout] test detect::n_plus_one::tests::parse_timestamp_ms_single_frac_digit ... ok
[INFO] [stdout] test detect::n_plus_one::tests::parse_timestamp_ms_two_frac_digits ... ok
[INFO] [stdout] test detect::n_plus_one::tests::same_params_not_n_plus_one ... ok
[INFO] [stdout] test detect::n_plus_one::tests::severity_boundary_9_is_warning ... ok
[INFO] [stdout] test detect::correlate_cross::tests::max_tracked_pairs_enforced ... ok
[INFO] [stdout] test detect::n_plus_one::tests::window_zero_limit_filters_all ... ok
[INFO] [stdout] test detect::n_plus_one::tests::severity_boundary_10_is_critical ... ok
[INFO] [stdout] test detect::n_plus_one::tests::window_exceeded_no_finding ... ok
[INFO] [stdout] test detect::pool_saturation::tests::detects_concurrent_sql_spans ... ok
[INFO] [stdout] test detect::n_plus_one::tests::window_at_exact_limit_still_detected ... ok
[INFO] [stdout] test detect::pool_saturation::tests::different_services_counted_separately ... ok
[INFO] [stdout] test detect::pool_saturation::tests::no_finding_below_threshold ... ok
[INFO] [stdout] test detect::pool_saturation::tests::partial_overlap ... ok
[INFO] [stdout] test detect::pool_saturation::tests::sequential_spans_peak_one ... ok
[INFO] [stdout] test detect::redundant::tests::detects_redundant_http ... ok
[INFO] [stdout] test detect::redundant::tests::comma_in_param_no_false_positive ... ok
[INFO] [stdout] test detect::redundant::tests::detects_redundant_sql ... ok
[INFO] [stdout] test detect::redundant::tests::no_duplicates_no_finding ... ok
[INFO] [stdout] test detect::redundant::tests::exactly_four_occurrences_is_info ... ok
[INFO] [stdout] test detect::redundant::tests::exactly_two_occurrences_is_info ... ok
[INFO] [stdout] test detect::pool_saturation::tests::http_events_ignored ... ok
[INFO] [stdout] test detect::redundant::tests::redundant_finding_has_first_last_timestamps ... ok
[INFO] [stdout] test detect::serialized::tests::detects_sequential_siblings ... ok
[INFO] [stdout] test detect::serialized::tests::mixed_overlap_partial_sequence ... ok
[INFO] [stdout] test detect::redundant::tests::single_event_no_finding ... ok
[INFO] [stdout] test detect::redundant::tests::warning_severity_for_5_or_more ... ok
[INFO] [stdout] test detect::serialized::tests::dp_finds_longer_sequence_than_greedy_would ... ok
[INFO] [stdout] test detect::serialized::tests::identical_timestamps_does_not_hang ... ok
[INFO] [stdout] test detect::serialized::tests::overlapping_siblings_no_finding ... ok
[INFO] [stdout] test detect::serialized::tests::no_finding_below_threshold ... ok
[INFO] [stdout] test detect::serialized::tests::sql_and_http_mixed_siblings ... ok
[INFO] [stdout] test detect::serialized::tests::potential_time_savings_in_suggestion ... ok
[INFO] [stdout] test detect::serialized::tests::no_parent_span_id_no_finding ... ok
[INFO] [stdout] test detect::slow::tests::above_5x_threshold_is_critical ... ok
[INFO] [stdout] test detect::serialized::tests::same_template_skipped ... ok
[INFO] [stdout] test detect::slow::tests::below_min_occurrences_no_finding ... ok
[INFO] [stdout] test detect::slow::tests::cross_trace_critical_severity_5x ... ok
[INFO] [stdout] test detect::slow::tests::below_threshold_duration_no_finding ... ok
[INFO] [stdout] test detect::slow::tests::cross_trace_http_slow_uses_http_label ... ok
[INFO] [stdout] test detect::slow::tests::critical_severity_5x_threshold ... ok
[INFO] [stdout] test detect::slow::tests::cross_trace_detects_slow_across_traces ... ok
[INFO] [stdout] test detect::slow::tests::cross_trace_below_threshold_no_finding ... ok
[INFO] [stdout] test detect::slow::tests::cross_trace_p99_is_max_for_small_n ... ok
[INFO] [stdout] test detect::slow::tests::cross_trace_skipped_when_p99_below_threshold ... ok
[INFO] [stdout] test detect::slow::tests::detects_slow_http ... ok
[INFO] [stdout] test detect::slow::tests::detects_slow_sql ... ok
[INFO] [stdout] test detect::slow::tests::different_templates_separate_findings ... ok
[INFO] [stdout] test detect::slow::tests::exactly_5x_threshold_is_warning_not_critical ... ok
[INFO] [stdout] test detect::slow::tests::empty_trace_no_findings ... ok
[INFO] [stdout] test detect::slow::tests::exactly_at_threshold_not_slow ... ok
[INFO] [stdout] test detect::slow::tests::min_occurrences_one ... ok
[INFO] [stdout] test detect::slow::tests::empty_trace_no_slow_findings ... ok
[INFO] [stdout] test detect::slow::tests::one_microsecond_above_threshold_is_slow ... ok
[INFO] [stdout] test detect::slow::tests::mixed_slow_and_fast_same_template ... ok
[INFO] [stdout] test detect::slow::tests::percentile_index_small_n ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_csharp_ef_core ... ok
[INFO] [stdout] test detect::suggestions::tests::csharp_hint_requires_trailing_segment_boundary ... ok
[INFO] [stdout] test detect::slow::tests::warning_severity_above_threshold ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_csharp_ef_core_via_pomelo_provider ... ok
[INFO] [stdout] test detect::suggestions::tests::case_insensitive_java_extension ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_helidon_mp_via_microprofile_namespace ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_helidon_se_via_webclient ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_jpa_via_spring_data_jpa ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_jpa_via_hibernate ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_quarkus_non_reactive_via_generic_quarkus_namespace ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_jpa_via_jakarta_persistence ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_helidon_se_via_dbclient ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_quarkus_reactive_via_hibernate_reactive ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_quarkus_reactive_via_mutiny ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_quarkus_non_reactive_via_hibernate_orm ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_quarkus_reactive_via_panache_reactive_subpackage ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_quarkus_non_reactive_via_panache_common ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_quarkus_reactive_via_quarkus_namespace ... ok
[INFO] [stdout] test detect::suggestions::tests::enrich_leaves_suggested_fix_none_for_unsupported_language ... ok
[INFO] [stdout] test detect::suggestions::tests::enrich_populates_suggested_fix_when_match ... ok
[INFO] [stdout] test detect::suggestions::tests::enrich_leaves_suggested_fix_none_when_no_match ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_webflux_via_spring_reactive ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_rust_sea_orm ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_java_webflux_via_reactor ... ok
[INFO] [stdout] test detect::suggestions::tests::detects_rust_diesel ... ok
[INFO] [stdout] test detect::suggestions::tests::falls_back_to_csharp_generic_without_ef_hint ... ok
[INFO] [stdout] test detect::suggestions::tests::helidon_mp_wins_over_helidon_se_on_overlap ... ok
[INFO] [stdout] test detect::suggestions::tests::fix_table_reference_urls_are_https_and_on_allowed_domains ... ok
[INFO] [stdout] test detect::suggestions::tests::java_hint_requires_trailing_segment_boundary ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_misses_for_unmapped_combination ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_csharp_ef_core_fix ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_misses_for_unmapped_rust_generic_n_plus_one_sql ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_helidon_mp_sql_fix ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_helidon_mp_http_fix ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_helidon_se_sql_fix ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_jpa_fix_for_n_plus_one_sql ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_quarkus_non_reactive_sql_fix ... ok
[INFO] [stdout] test detect::suggestions::tests::falls_back_to_rust_generic_without_orm_hint ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_helidon_se_http_fix ... ok
[INFO] [stdout] test detect::suggestions::tests::falls_back_to_java_generic_without_framework_hint ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_quarkus_non_reactive_redundant_fix ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_rust_sea_orm_fix ... ok
[INFO] [stdout] test detect::suggestions::tests::quarkus_reactive_wins_over_non_reactive_on_overlap ... ok
[INFO] [stdout] test detect::suggestions::tests::returns_none_when_code_location_missing ... ok
[INFO] [stdout] test detect::suggestions::tests::returns_none_when_filepath_absent_even_if_namespace_present ... ok
[INFO] [stdout] test detect::suggestions::tests::returns_none_for_unsupported_extension ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_rust_diesel_fix ... ok
[INFO] [stdout] test detect::suggestions::tests::rust_diesel_hint_does_not_match_user_module_named_diesel ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_webflux_http_fix ... ok
[INFO] [stdout] test detect::tests::confidence_default_is_ci_batch ... ok
[INFO] [stdout] test detect::tests::confidence_deserializes_from_snake_case ... ok
[INFO] [stdout] test detect::tests::confidence_serializes_to_snake_case ... ok
[INFO] [stdout] test detect::tests::confidence_as_str_matches_serialization ... ok
[INFO] [stdout] test detect::suggestions::tests::suggested_fix_serializes_with_skip_when_url_absent ... ok
[INFO] [stdout] test detect::tests::confidence_sarif_rank_increases_with_confidence ... ok
[INFO] [stdout] test detect::tests::detect_all_three_types_on_one_trace ... ok
[INFO] [stdout] test detect::tests::detect_multiple_traces ... ok
[INFO] [stdout] test detect::tests::empty_traces_produce_no_findings ... ok
[INFO] [stdout] test detect::tests::detector_findings_default_to_ci_batch_confidence ... ok
[INFO] [stdout] test detect::tests::finding_serde_roundtrip ... ok
[INFO] [stdout] test detect::tests::finding_type_as_str ... ok
[INFO] [stdout] test detect::tests::finding_type_from_event_type_slow ... ok
[INFO] [stdout] test detect::tests::finding_type_deserializes_from_snake_case ... ok
[INFO] [stdout] test detect::tests::finding_type_from_event_type_n_plus_one ... ok
[INFO] [stdout] test detect::tests::finding_type_from_event_type_redundant ... ok
[INFO] [stdout] test detect::tests::finding_type_serializes_to_snake_case ... ok
[INFO] [stdout] test detect::tests::severity_as_str ... ok
[INFO] [stdout] test detect::tests::severity_deserializes_from_snake_case ... ok
[INFO] [stdout] test detect::tests::severity_serializes_to_snake_case ... ok
[INFO] [stdout] test diff::tests::diff_sarif_emits_one_result_per_new_finding ... ok
[INFO] [stdout] test diff::tests::duplicate_identity_collapse_sums_occurrences ... ok
[INFO] [stdout] test diff::tests::endpoint_absent_from_before_is_a_full_addition ... ok
[INFO] [stdout] test diff::tests::duplicate_identity_in_one_run_is_collapsed_to_worst_severity ... ok
[INFO] [stdout] test detect::tests::finding_with_code_location_serde_roundtrip ... ok
[INFO] [stdout] test diff::tests::endpoint_absent_from_after_is_a_full_removal ... ok
[INFO] [stdout] test diff::tests::endpoint_io_ops_increase_is_a_positive_delta ... ok
[INFO] [stdout] test diff::tests::equal_severity_in_both_runs_is_not_a_severity_change ... ok
[INFO] [stdout] test diff::tests::finding_present_only_in_after_is_new ... ok
[INFO] [stdout] test diff::tests::endpoint_deltas_sorted_regressions_first ... ok
[INFO] [stdout] test diff::tests::identical_runs_produce_empty_diff ... ok
[INFO] [stdout] test diff::tests::finding_present_only_in_before_is_resolved ... ok
[INFO] [stdout] test diff::tests::same_identity_different_trace_id_is_treated_as_one_finding ... ok
[INFO] [stdout] test diff::tests::same_identity_with_different_severity_is_severity_change ... ok
[INFO] [stdout] test diff::tests::severity_changes_sorted_regressions_first ... ok
[INFO] [stdout] test event::tests::cloud_region_omitted_when_none ... ok
[INFO] [stdout] test event::tests::code_fields_omitted_when_none ... ok
[INFO] [stdout] test detect::suggestions::tests::lookup_table_returns_quarkus_reactive_http_fix ... ok
[INFO] [stdout] test event::tests::code_location_display_string_empty_when_all_none ... ok
[INFO] [stdout] test detect::tests::detect_combines_n_plus_one_and_redundant ... ok
[INFO] [stdout] test event::tests::code_location_display_string_full ... ok
[INFO] [stdout] test event::tests::code_location_is_empty_when_all_none ... ok
[INFO] [stdout] test event::tests::code_location_not_empty_with_function ... ok
[INFO] [stdout] test event::tests::deserialize_http_event ... ok
[INFO] [stdout] test event::tests::deserialize_event_without_cloud_region_defaults_to_none ... ok
[INFO] [stdout] test event::tests::deserialize_sql_event ... ok
[INFO] [stdout] test event::tests::sanitize_id_short_unchanged ... ok
[INFO] [stdout] test event::tests::sanitize_id_exact_length_unchanged ... ok
[INFO] [stdout] test event::tests::code_location_display_string_filepath_only ... ok
[INFO] [stdout] test event::tests::sanitize_id_multibyte_no_panic ... ok
[INFO] [stdout] test event::tests::sanitize_id_truncates_long ... ok
[INFO] [stdout] test event::tests::code_location_display_string_function_only ... ok
[INFO] [stdout] test event::tests::sanitize_id_two_byte_chars_no_panic ... ok
[INFO] [stdout] test event::tests::sanitize_short_fields_unchanged ... ok
[INFO] [stdout] test event::tests::sanitize_truncates_long_method ... ok
[INFO] [stdout] test event::tests::sanitize_truncates_long_code_filepath ... ok
[INFO] [stdout] test event::tests::sanitize_multibyte_char_boundary ... ok
[INFO] [stdout] test event::tests::sanitize_truncates_long_code_function ... ok
[INFO] [stdout] test event::tests::sanitize_truncates_long_operation ... ok
[INFO] [stdout] test event::tests::sanitize_truncates_long_service ... ok
[INFO] [stdout] test event::tests::sanitize_truncates_long_endpoint ... ok
[INFO] [stdout] test event::tests::sanitize_truncates_long_target ... ok
[INFO] [stdout] test event::tests::serde_roundtrip_with_cloud_region ... ok
[INFO] [stdout] test event::tests::serde_roundtrip_with_code_fields ... ok
[INFO] [stdout] test event::tests::sql_event_omits_status_code_in_json ... ok
[INFO] [stdout] test event::tests::span_event_code_location_none_when_all_absent ... ok
[INFO] [stdout] test event::tests::serde_roundtrip_sql ... ok
[INFO] [stdout] test event::tests::serde_roundtrip_http ... ok
[INFO] [stdout] test explain::tests::build_tree_single_root ... ok
[INFO] [stdout] test event::tests::span_event_code_location_some_when_present ... ok
[INFO] [stdout] test explain::tests::build_tree_with_findings ... ok
[INFO] [stdout] test explain::tests::cyclic_parent_reference_handled ... ok
[INFO] [stdout] test explain::tests::format_tree_json_roundtrip ... ok
[INFO] [stdout] test explain::tests::explain_tree_serde_roundtrip ... ok
[INFO] [stdout] test explain::tests::findings_from_other_trace_ignored ... ok
[INFO] [stdout] test explain::tests::format_tree_text_renders_trace_level_section ... ok
[INFO] [stdout] test explain::tests::build_tree_with_children ... ok
[INFO] [stdout] test explain::tests::format_tree_text_with_color ... ok
[INFO] [stdout] test explain::tests::format_duration_microseconds ... ok
[INFO] [stdout] test explain::tests::format_tree_text_no_panic ... ok
[INFO] [stdout] test explain::tests::trace_level_finding_routed_to_header ... ok
[INFO] [stdout] test ingest::jaeger::tests::empty_spans_array_produces_no_events ... ok
[INFO] [stdout] test ingest::jaeger::tests::http_span_maps_correctly ... ok
[INFO] [stdout] test ingest::jaeger::tests::malformed_json_missing_data_key ... ok
[INFO] [stdout] test ingest::jaeger::tests::malformed_json_missing_spans ... ok
[INFO] [stdout] test ingest::jaeger::tests::numeric_tag_value_converted_to_string ... ok
[INFO] [stdout] test ingest::jaeger::tests::malformed_json_missing_trace_id ... ok
[INFO] [stdout] test ingest::jaeger::tests::rejects_oversized_payload ... ok
[INFO] [stdout] test ingest::jaeger::tests::malformed_json_missing_span_id ... ok
[INFO] [stdout] test ingest::jaeger::tests::parses_jaeger_export ... ok
[INFO] [stdout] test ingest::jaeger::tests::sql_span_maps_correctly ... ok
[INFO] [stdout] test ingest::jaeger::tests::unknown_process_id_produces_empty_service ... ok
[INFO] [stdout] test ingest::jaeger::tests::stable_semconv_tags ... ok
[INFO] [stdout] test ingest::json::tests::auto_ingest_jaeger ... ok
[INFO] [stdout] test ingest::json::tests::auto_ingest_zipkin ... ok
[INFO] [stdout] test ingest::json::tests::deeply_nested_native_payload_is_rejected_below_stack_overflow ... ok
[INFO] [stdout] test ingest::json::tests::detect_empty_array_is_native ... ok
[INFO] [stdout] test ingest::json::tests::detect_invalid_json_falls_to_native ... ok
[INFO] [stdout] test ingest::jaeger::tests::empty_data_array_produces_no_events ... ok
[INFO] [stdout] test ingest::json::tests::detect_native_format ... ok
[INFO] [stdout] test ingest::json::tests::detect_jaeger_format ... ok
[INFO] [stdout] test explain::tests::span_anchored_and_trace_level_coexist ... ok
[INFO] [stdout] test ingest::json::tests::depth_scan_ignores_brackets_inside_strings ... ok
[INFO] [stdout] test ingest::json::tests::detect_zipkin_format ... ok
[INFO] [stdout] test ingest::json::tests::parses_empty_array ... ok
[INFO] [stdout] test ingest::json::tests::native_json_cloud_region_with_dot_sanitized ... ok
[INFO] [stdout] test ingest::json::tests::native_json_cloud_region_with_space_sanitized ... ok
[INFO] [stdout] test ingest::json::tests::native_json_invalid_cloud_region_is_sanitized_to_none ... ok
[INFO] [stdout] test ingest::json::tests::native_json_oversized_cloud_region_sanitized ... ok
[INFO] [stdout] test ingest::json::tests::native_json_valid_cloud_region_preserved ... ok
[INFO] [stdout] test ingest::json::tests::rejects_oversized_payload ... ok
[INFO] [stdout] test ingest::otlp::tests::cloud_region_falls_back_to_span_attribute ... ok
[INFO] [stdout] test ingest::otlp::tests::bytes_to_hex_all_values ... ok
[INFO] [stdout] test ingest::otlp::tests::bytes_to_hex_empty ... ok
[INFO] [stdout] test ingest::otlp::tests::clock_skew_duration_is_zero ... ok
[INFO] [stdout] test ingest::otlp::tests::cloud_region_empty_string_is_sanitized_to_none ... ok
[INFO] [stdout] test ingest::otlp::tests::cloud_region_resource_wins_over_span ... ok
[INFO] [stdout] test ingest::otlp::tests::duration_calculation ... ok
[INFO] [stdout] test ingest::otlp::tests::empty_request_returns_empty ... ok
[INFO] [stdout] test ingest::otlp::tests::cloud_region_span_level_fallback_also_sanitized ... ok
[INFO] [stdout] test ingest::otlp::tests::cloud_region_with_control_char_is_sanitized_to_none ... ok
[INFO] [stdout] test ingest::otlp::tests::cloud_region_with_space_is_sanitized_to_none ... ok
[INFO] [stdout] test ingest::otlp::tests::nanos_to_iso8601_leap_year ... ok
[INFO] [stdout] test ingest::otlp::tests::http_span_maps_correctly ... ok
[INFO] [stdout] test ingest::otlp::tests::missing_parent_falls_back ... ok
[INFO] [stdout] test ingest::otlp::tests::missing_service_name_defaults_to_unknown ... ok
[INFO] [stdout] test ingest::otlp::tests::empty_trace_id_produces_empty_hex ... ok
[INFO] [stdout] test ingest::otlp::tests::no_cloud_region_yields_none ... ok
[INFO] [stdout] test ingest::otlp::tests::short_span_id_produces_short_hex ... ok
[INFO] [stdout] test ingest::otlp::tests::no_resource_defaults_to_unknown_service ... ok
[INFO] [stdout] test ingest::otlp::tests::non_io_span_skipped ... ok
[INFO] [stdout] test ingest::otlp::tests::oversized_cloud_region_is_sanitized_to_none ... ok
[INFO] [stdout] test ingest::otlp::tests::parent_span_provides_source_endpoint ... ok
[INFO] [stdout] test ingest::otlp::tests::service_name_from_resource ... ok
[INFO] [stdout] test ingest::otlp::tests::timestamp_epoch_zero ... ok
[INFO] [stdout] test ingest::otlp::tests::sql_span_maps_correctly ... ok
[INFO] [stdout] test ingest::otlp::tests::status_code_extraction ... ok
[INFO] [stdout] test ingest::otlp::tests::trace_id_hex_encoding ... ok
[INFO] [stdout] test ingest::otlp::tests::span_with_both_db_and_http_prefers_sql ... ok
[INFO] [stdout] test ingest::otlp::tests::timestamp_nanos_to_iso8601 ... ok
[INFO] [stdout] test ingest::pg_stat::tests::csv_row_simple ... ok
[INFO] [stdout] test ingest::pg_stat::tests::csv_row_with_embedded_comma ... ok
[INFO] [stdout] test ingest::otlp::tests::cloud_region_extracted_from_resource_attributes ... ok
[INFO] [stdout] test ingest::pg_stat::tests::cross_reference_marks_matching_templates ... ok
[INFO] [stdout] test ingest::pg_stat::tests::cross_reference_empty_findings ... ok
[INFO] [stdout] test ingest::pg_stat::tests::detect_format_empty_defaults_csv ... ok
[INFO] [stdout] test ingest::pg_stat::tests::csv_row_with_utf8_content ... ok
[INFO] [stdout] test ingest::pg_stat::tests::cross_reference_no_matches ... ok
[INFO] [stdout] test ingest::pg_stat::tests::detect_format_csv ... ok
[INFO] [stdout] test ingest::pg_stat::tests::detect_format_json_array ... ok
[INFO] [stdout] test ingest::pg_stat::tests::detect_format_json_with_whitespace ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_csv_basic ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_csv_empty_input ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_csv_escaped_quotes ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_csv_header_only ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_csv_invalid_number_returns_error ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_csv_missing_column ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_csv_oversized_payload ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_csv_quoted_field ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_csv_whitespace_only ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_invalid_utf8_returns_error ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_json_basic ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_json_empty_array ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_json_field_alias ... ok
[INFO] [stdout] test ingest::pg_stat::tests::rank_by_total_time ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_json_invalid ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_json_normalization_applied ... ok
[INFO] [stdout] test ingest::pg_stat::tests::rank_by_calls ... ok
[INFO] [stdout] test ingest::pg_stat::tests::rank_by_mean_time ... ok
[INFO] [stdout] test ingest::pg_stat::tests::rank_top_n_limits_output ... ok
[INFO] [stdout] test ingest::pg_stat::tests::rank_empty_entries ... ok
[INFO] [stdout] test ingest::zipkin::tests::empty_array_produces_no_events ... ok
[INFO] [stdout] test ingest::zipkin::tests::http_span_maps_correctly ... ok
[INFO] [stdout] test ingest::zipkin::tests::empty_tags_skips_span ... ok
[INFO] [stdout] test ingest::pg_stat::tests::rank_pg_stat_emits_four_rankings_in_stable_order ... ok
[INFO] [stdout] test ingest::zipkin::tests::malformed_json_missing_trace_id ... ok
[INFO] [stdout] test ingest::zipkin::tests::missing_optional_fields_handled ... ok
[INFO] [stdout] test ingest::zipkin::tests::malformed_json_missing_span_id ... ok
[INFO] [stdout] test ingest::zipkin::tests::no_tags_skips_span ... ok
[INFO] [stdout] test ingest::zipkin::tests::rejects_oversized_payload ... ok
[INFO] [stdout] test ingest::zipkin::tests::malformed_json_not_array ... ok
[INFO] [stdout] test ingest::pg_stat::tests::parse_csv_normalization_applied ... ok
[INFO] [stdout] test ingest::zipkin::tests::sql_span_maps_correctly ... ok
[INFO] [stdout] test ingest::zipkin::tests::stable_semconv_tags ... ok
[INFO] [stdout] test ingest::zipkin::tests::parses_zipkin_export ... ok
[INFO] [stdout] test ingest::zipkin::tests::zero_timestamp_and_duration ... ok
[INFO] [stdout] test normalize::http::tests::double_ampersand_in_query ... ok
[INFO] [stdout] test normalize::http::tests::double_slash_in_path_preserved ... ok
[INFO] [stdout] test normalize::http::tests::full_url_strips_origin ... ok
[INFO] [stdout] test normalize::http::tests::https_url_without_path ... ok
[INFO] [stdout] test normalize::http::tests::fragment_not_stripped_from_path ... ok
[INFO] [stdout] test normalize::http::tests::full_url_with_query ... ok
[INFO] [stdout] test normalize::http::tests::empty_path ... ok
[INFO] [stdout] test normalize::http::tests::multiple_numeric_segments ... ok
[INFO] [stdout] test normalize::http::tests::is_uuid_invalid ... ok
[INFO] [stdout] test normalize::http::tests::no_numeric_or_uuid_segments ... ok
[INFO] [stdout] test normalize::http::tests::mixed_uuid_and_numeric ... ok
[INFO] [stdout] test normalize::http::tests::empty_query_param_values ... ok
[INFO] [stdout] test normalize::http::tests::is_uuid_valid ... ok
[INFO] [stdout] test normalize::http::tests::query_params_stripped ... ok
[INFO] [stdout] test normalize::http::tests::non_uuid_36_char_segment_not_replaced ... ok
[INFO] [stdout] test normalize::http::tests::simple_path_with_numeric_id ... ok
[INFO] [stdout] test normalize::http::tests::port_in_url_not_treated_as_id ... ok
[INFO] [stdout] test normalize::http::tests::root_path ... ok
[INFO] [stdout] test normalize::http::tests::trailing_question_mark_only ... ok
[INFO] [stdout] test normalize::http::tests::single_numeric_segment ... ok
[INFO] [stdout] test normalize::http::tests::query_params_capped_at_100 ... ok
[INFO] [stdout] test normalize::http::tests::trailing_slash ... ok
[INFO] [stdout] test normalize::http::tests::url_encoded_numeric_not_detected ... ok
[INFO] [stdout] test normalize::http::tests::uuid_segment ... ok
[INFO] [stdout] test normalize::http::tests::url_without_path_returns_root ... ok
[INFO] [stdout] test normalize::sql::tests::block_comment_passes_through ... ok
[INFO] [stdout] test normalize::http::tests::uppercase_uuid_detected ... ok
[INFO] [stdout] test normalize::sql::tests::cow_borrowed_path_no_in_list ... ok
[INFO] [stdout] test normalize::sql::tests::cte_nested ... ok
[INFO] [stdout] test normalize::sql::tests::call_with_interval ... ok
[INFO] [stdout] test normalize::sql::tests::call_with_params ... ok
[INFO] [stdout] test normalize::sql::tests::digit_in_string_literal ... ok
[INFO] [stdout] test normalize::sql::tests::comment_inside_string_not_treated_as_comment ... ok
[INFO] [stdout] test normalize::sql::tests::dollar_quote_basic ... ok
[INFO] [stdout] test normalize::sql::tests::cte_basic ... ok
[INFO] [stdout] test normalize::sql::tests::dollar_quote_in_function ... ok
[INFO] [stdout] test normalize::sql::tests::dollar_quote_tagged ... ok
[INFO] [stdout] test normalize::sql::tests::double_quoted_identifier_preserved ... ok
[INFO] [stdout] test normalize::sql::tests::empty_dollar_quoted_string ... ok
[INFO] [stdout] test normalize::sql::tests::empty_query ... ok
[INFO] [stdout] test normalize::sql::tests::empty_string_literal ... ok
[INFO] [stdout] test normalize::sql::tests::float_literal ... ok
[INFO] [stdout] test normalize::sql::tests::escaped_quotes ... ok
[INFO] [stdout] test normalize::sql::tests::four_consecutive_quotes ... ok
[INFO] [stdout] test normalize::sql::tests::join_query ... ok
[INFO] [stdout] test normalize::sql::tests::line_comment_passes_through ... ok
[INFO] [stdout] test normalize::sql::tests::multi_dot_full_template ... ok
[INFO] [stdout] test normalize::sql::tests::multi_dot_number_rejected ... ok
[INFO] [stdout] test normalize::sql::tests::double_quoted_identifier_with_digits ... ok
[INFO] [stdout] test normalize::sql::tests::multiple_params ... ok
[INFO] [stdout] test normalize::sql::tests::double_quoted_with_digits_preserved ... ok
[INFO] [stdout] test normalize::sql::tests::in_list_strings_collapsed ... ok
[INFO] [stdout] test normalize::sql::tests::in_list_collapsed ... ok
[INFO] [stdout] test normalize::sql::tests::long_query_truncated_at_max ... ok
[INFO] [stdout] test normalize::sql::tests::negative_number_not_collapsed ... ok
[INFO] [stdout] test normalize::sql::tests::no_literals ... ok
[INFO] [stdout] test normalize::sql::tests::numeric_literal ... ok
[INFO] [stdout] test normalize::sql::tests::table_names_with_digits_preserved ... ok
[INFO] [stdout] test normalize::sql::tests::string_literal ... ok
[INFO] [stdout] test normalize::sql::tests::unterminated_string_flushed ... ok
[INFO] [stdout] test normalize::sql::tests::number_at_start_of_query ... ok
[INFO] [stdout] test normalize::sql::tests::unterminated_dollar_quote_flushed ... ok
[INFO] [stdout] test normalize::sql::tests::number_only_query_at_eof ... ok
[INFO] [stdout] test normalize::sql::tests::underscore_before_digit_preserved ... ok
[INFO] [stdout] test normalize::sql::tests::unterminated_double_quote_flushed ... ok
[INFO] [stdout] test normalize::sql::tests::utf8_in_dollar_quote ... ok
[INFO] [stdout] test normalize::sql::tests::utf8_emoji_in_string_literal ... ok
[INFO] [stdout] test normalize::sql::tests::whitespace_only_string_literal ... ok
[INFO] [stdout] test normalize::sql::tests::utf8_with_escaped_quotes ... ok
[INFO] [stdout] test normalize::sql::tests::uuid_in_string ... ok
[INFO] [stdout] test normalize::sql::tests::utf8_in_string_literal ... ok
[INFO] [stdout] test normalize::tests::normalize_all_processes_batch ... ok
[INFO] [stdout] test normalize::sql::tests::utf8_cjk_in_string_literal ... ok
[INFO] [stdout] test normalize::tests::normalize_dispatches_http ... ok
[INFO] [stdout] test normalize::tests::normalize_dispatches_sql ... ok
[INFO] [stdout] test normalize::tests::normalize_preserves_normal_ids ... ok
[INFO] [stdout] test pipeline::tests::clean_events_zero_waste_ratio ... ok
[INFO] [stdout] test pipeline::tests::dedup_across_traces ... ok
[INFO] [stdout] test pipeline::tests::empty_pipeline_produces_empty_report ... ok
[INFO] [stdout] test pipeline::tests::batch_analyze_stamps_ci_batch_confidence ... ok
[INFO] [stdout] test normalize::tests::normalize_truncates_oversized_trace_id ... ok
[INFO] [stdout] test pipeline::tests::pipeline_empty_traces_no_co2 ... ok
[INFO] [stdout] test pipeline::tests::green_disabled_skips_scoring ... ok
[INFO] [stdout] test pipeline::tests::pipeline_with_findings_computes_green_summary ... ok
[INFO] [stdout] test pipeline::tests::green_disabled_with_region_still_no_co2 ... ok
[INFO] [stdout] test pipeline::tests::waste_dedup_no_double_count ... ok
[INFO] [stdout] test pipeline::tests::zero_events_waste_ratio_is_zero ... ok
[INFO] [stdout] test quality_gate::tests::all_rules_pass_with_no_findings ... ok
[INFO] [stdout] test pipeline::tests::pipeline_with_green_default_region_produces_co2 ... ok
[INFO] [stdout] test pipeline::tests::sharded_detection_matches_single_instance ... ok
[INFO] [stdout] test quality_gate::tests::critical_http_counts_as_warning_plus ... ok
[INFO] [stdout] test quality_gate::tests::critical_sql_fails_gate ... ok
[INFO] [stdout] test quality_gate::tests::warning_sql_does_not_fail_sql_critical_rule ... ok
[INFO] [stdout] test quality_gate::tests::io_waste_ratio_fails_gate ... ok
[INFO] [stdout] test quality_gate::tests::warning_http_over_threshold ... ok
[INFO] [stdout] test quality_gate::tests::warning_http_under_threshold ... ok
[INFO] [stdout] test quality_gate::tests::custom_thresholds ... ok
[INFO] [stdout] test report::html::tests::embeds_correlations_when_report_carries_them ... ok
[INFO] [stdout] test report::html::tests::embeds_diff_report_when_before_provided ... ok
[INFO] [stdout] test report::html::tests::cross_nav_pgstat_link_added_only_when_pg_stat_present ... ok
[INFO] [stdout] test report::html::tests::escapes_adversarial_control_chars ... ok
[INFO] [stdout] test report::html::tests::chips_carry_aria_radio_and_pressed_states ... ok
[INFO] [stdout] test report::html::tests::embeds_pg_stat_when_provided ... ok
[INFO] [stdout] test report::html::tests::export_button_rendered_for_listable_tabs_only ... ok
[INFO] [stdout] test report::html::tests::explain_empty_helper_is_shared_across_call_sites ... ok
[INFO] [stdout] test report::html::tests::escapes_closing_script_tag_in_embedded_json ... ok
[INFO] [stdout] test report::html::tests::copy_link_button_present_on_listable_tabs_only ... ok
[INFO] [stdout] test report::html::tests::hostile_input_label_with_json_placeholder_does_not_double_substitute ... ok
[INFO] [stdout] test report::html::tests::hostile_template_containing_title_placeholder_survives_as_data ... ok
[INFO] [stdout] test report::html::tests::omits_diff_when_absent ... ok
[INFO] [stdout] test report::html::tests::omits_greenops_section_when_green_disabled ... ok
[INFO] [stdout] test report::html::tests::omits_pg_stat_when_absent ... ok
[INFO] [stdout] test report::html::tests::page_title_strips_control_characters ... ok
[INFO] [stdout] test report::html::tests::cheatsheet_shortcuts_listed_in_template ... ok
[INFO] [stdout] test report::html::tests::page_title_uses_filename_from_input_label ... ok
[INFO] [stdout] test report::html::tests::template_ships_a_strict_content_security_policy ... ok
[INFO] [stdout] test report::html::tests::sessionstorage_access_is_guarded_by_try_catch ... ok
[INFO] [stdout] test report::html::tests::title_placeholder_precedes_json_placeholder_in_template ... ok
[INFO] [stdout] test report::interpret::tests::iis_critical_at_and_above_10 ... ok
[INFO] [stdout] test report::html::tests::tabs_and_panels_carry_aria_roles ... ok
[INFO] [stdout] test report::interpret::tests::iis_critical_matches_n_plus_one_detector_threshold ... ok
[INFO] [stdout] test report::interpret::tests::iis_healthy_below_moderate ... ok
[INFO] [stdout] test report::html::tests::theme_mode_defaults_to_auto_with_tri_state_cycle ... ok
[INFO] [stdout] test report::interpret::tests::iis_high_matches_n_plus_one_threshold_default ... ok
[INFO] [stdout] test report::interpret::tests::iis_high_at_and_above_5 ... ok
[INFO] [stdout] test report::interpret::tests::iis_moderate_at_and_above_2 ... ok
[INFO] [stdout] test report::interpret::tests::nan_iis_classified_healthy ... ok
[INFO] [stdout] test report::interpret::tests::negative_infinity_iis_classified_healthy ... ok
[INFO] [stdout] test report::interpret::tests::negative_infinity_waste_ratio_classified_healthy ... ok
[INFO] [stdout] test report::interpret::tests::positive_infinity_waste_ratio_classified_critical ... ok
[INFO] [stdout] test report::interpret::tests::short_label_returns_lowercase_string ... ok
[INFO] [stdout] test report::html::tests::pg_stat_sub_switcher_exposes_all_ranking_labels ... ok
[INFO] [stdout] test report::interpret::tests::waste_ratio_critical_at_and_above_50_percent ... ok
[INFO] [stdout] test report::interpret::tests::waste_ratio_healthy_below_10_percent ... ok
[INFO] [stdout] test report::interpret::tests::waste_ratio_high_between_30_and_50_percent ... ok
[INFO] [stdout] test report::interpret::tests::waste_ratio_high_matches_default_gate_threshold ... ok
[INFO] [stdout] test report::interpret::tests::waste_ratio_moderate_between_10_and_30_percent ... ok
[INFO] [stdout] {
[INFO] [stdout]   "analysis": {
[INFO] [stdout]     "duration_ms": 0,
[INFO] [stdout]     "events_processed": 0,
[INFO] [stdout]     "traces_analyzed": 0
[INFO] [stdout]   },
[INFO] [stdout]   "findings": [],
[INFO] [stdout]   "green_summary": {
[INFO] [stdout]     "total_io_ops": 0,
[INFO] [stdout]     "avoidable_io_ops": 0,
[INFO] [stdout]     "io_waste_ratio": 0.0,
[INFO] [stdout]     "io_waste_ratio_band": "healthy",
[INFO] [stdout]     "top_offenders": []
[INFO] [stdout]   },
[INFO] [stdout]   "quality_gate": {
[INFO] [stdout]     "passed": true,
[INFO] [stdout]     "rules": []
[INFO] [stdout]   }
[INFO] [stdout] }test report::json::tests::emit_empty_report ... ok
[INFO] [stdout] test report::json::tests::error_display ... ok
[INFO] [stdout] test report::json::tests::emit_report_with_findings ... ok
[INFO] [stdout] test report::interpret::tests::nan_waste_ratio_classified_healthy ... ok
[INFO] [stdout] test report::metrics::tests::content_type_is_openmetrics_with_exemplars ... ok
[INFO] [stdout] test report::metrics::tests::default_creates_same_as_new ... ok
[INFO] [stdout] test report::metrics::tests::exemplar_with_malicious_trace_id_is_sanitized ... ok
[INFO] [stdout] test report::metrics::tests::exemplar_on_io_waste_ratio ... ok
[INFO] [stdout] test report::html::tests::no_forbidden_apis_in_template ... ok
[INFO] [stdout] test report::metrics::tests::increment_counters ... ok
[INFO] [stdout] test report::metrics::tests::metrics_state_creates_successfully ... ok
[INFO] [stdout] test report::metrics::tests::multiple_batches_update_exemplars ... ok
[INFO] [stdout] test report::metrics::tests::prometheus_output_format_matches_expected_prefixes ... ok
[INFO] [stdout] test report::metrics::tests::record_batch_tracks_worst_finding_trace ... ok
[INFO] [stdout] test report::metrics::tests::record_batch_tracks_worst_waste_trace ... ok
[INFO] [stdout] test report::metrics::tests::render_includes_exemplar_annotation ... ok
[INFO] [stdout] test report::metrics::tests::render_no_exemplar_when_no_data ... ok
[INFO] [stdout] test report::metrics::tests::sanitize_exemplar_value_strips_dangerous_chars ... ok
[INFO] [stdout] test report::metrics::tests::set_gauge_values ... ok
[INFO] [stdout] test report::interpret::tests::positive_infinity_iis_classified_critical ... ok
[INFO] [stdout] test report::metrics::tests::increment_findings_counter ... ok
[INFO] [stdout] test report::sarif::tests::finding_to_sarif_rejects_hostile_filepath ... ok
[INFO] [stdout] test report::sarif::tests::sanitize_accepts_relative_path ... ok
[INFO] [stdout] test report::sarif::tests::sanitize_rejects_absolute_paths ... ok
[INFO] [stdout] test report::metrics::tests::metrics_route_returns_openmetrics_with_exemplars ... ok
[INFO] [stdout] test report::sarif::tests::sanitize_rejects_bidi_override_characters ... ok
[INFO] [stdout] test report::sarif::tests::sanitize_rejects_control_characters ... ok
[INFO] [stdout] test report::sarif::tests::finding_to_sarif_emits_safe_filepath ... ok
[INFO] [stdout] test report::sarif::tests::sanitize_rejects_double_encoded_sequences ... ok
[INFO] [stdout] test report::sarif::tests::sanitize_rejects_any_colon ... ok
[INFO] [stdout] test report::sarif::tests::sanitize_rejects_percent_encoded_traversal ... ok
[INFO] [stdout] test report::sarif::tests::sanitize_rejects_url_schemes ... ok
[INFO] [stdout] test report::metrics::tests::metrics_route_returns_prometheus_output ... ok
[INFO] [stdout] test report::sarif::tests::sanitize_rejects_invisible_format_characters ... ok
[INFO] [stdout] test report::sarif::tests::sanitize_rejects_path_traversal ... ok
[INFO] [stdout] test report::sarif::tests::sarif_empty_findings_produces_valid_json ... ok
[INFO] [stdout] test report::sarif::tests::sarif_finding_without_green_impact ... ok
[INFO] [stdout] test report::sarif::tests::sarif_maps_severity_to_level ... ok
[INFO] [stdout] test report::sarif::tests::sarif_has_all_rule_definitions ... ok
[INFO] [stdout] test report::sarif::tests::sarif_log_round_trip_with_mixed_confidence ... ok
[INFO] [stdout] test report::sarif::tests::sarif_result_daemon_production_rank_90 ... ok
[INFO] [stdout] test report::sarif::tests::sarif_result_contains_ci_batch_confidence_by_default ... ok
[INFO] [stdout] test report::sarif::tests::sarif_result_has_logical_locations ... ok
[INFO] [stdout] test report::sarif::tests::sarif_result_daemon_staging_rank_60 ... ok
[INFO] [stdout] test report::sarif::tests::sarif_special_chars_in_service_and_endpoint ... ok
[INFO] [stdout] test report::sarif::tests::sarif_version_is_2_1_0 ... ok
[INFO] [stdout] test report::sarif::tests::sarif_results_from_report ... ok
[INFO] [stdout] test score::carbon::tests::caiso_profile_has_midday_solar_dip ... ok
[INFO] [stdout] test score::carbon::tests::carbon_estimate_from_zero_midpoint ... ok
[INFO] [stdout] test score::carbon::tests::carbon_estimate_methodology_constants_are_distinct ... ok
[INFO] [stdout] test score::carbon::tests::carbon_estimate_operational_ratio_labels ... ok
[INFO] [stdout] test score::carbon::tests::carbon_estimate_sci_numerator_labels ... ok
[INFO] [stdout] test score::carbon::tests::carbon_estimate_with_model_tags ... ok
[INFO] [stdout] test score::carbon::tests::compute_operational_gco2_matches_expected ... ok
[INFO] [stdout] test score::carbon::tests::compute_operational_gco2_zero_ops ... ok
[INFO] [stdout] test score::carbon::tests::confidence_interval_factors_are_2x_multiplicative ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_http_medium ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_http_boundary_large_threshold ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_http_boundary_small_threshold ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_http_large ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_http_small ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_sql_case_insensitive ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_http_zero_bytes ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_sql_delete ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_sql_empty_target ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_sql_insert ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_sql_other ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_sql_select ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_sql_update ... ok
[INFO] [stdout] test score::carbon::tests::extract_hostname_empty ... ok
[INFO] [stdout] test score::carbon::tests::extract_hostname_empty_host ... ok
[INFO] [stdout] test score::carbon::tests::extract_hostname_http_no_port ... ok
[INFO] [stdout] test score::carbon::tests::extract_hostname_http_with_port ... ok
[INFO] [stdout] test score::carbon::tests::extract_hostname_https ... ok
[INFO] [stdout] test score::carbon::tests::extract_hostname_no_scheme ... ok
[INFO] [stdout] test score::carbon::tests::extract_hostname_with_userinfo ... ok
[INFO] [stdout] test score::carbon::tests::high_carbon_region_vs_low ... ok
[INFO] [stdout] test score::carbon::tests::hourly_intensity_invalid_month_returns_none ... ok
[INFO] [stdout] test score::carbon::tests::hourly_intensity_lookup_returns_hour_value ... ok
[INFO] [stdout] test report::sarif::tests::sanitize_rejects_overlong_utf8_encoding ... ok
[INFO] [stdout] test score::carbon::tests::hourly_intensity_unknown_region_returns_none ... ok
[INFO] [stdout] test score::carbon::tests::hourly_profile_absent_for_unknown_region ... ok
[INFO] [stdout] test score::carbon::tests::hourly_profile_aliases_resolve ... ok
[INFO] [stdout] test score::carbon::tests::hourly_profile_de_known_divergence_from_annual ... ok
[INFO] [stdout] test score::carbon::tests::extract_hostname_with_user_only ... ok
[INFO] [stdout] test score::carbon::tests::energy_coefficient_http_no_size ... ok
[INFO] [stdout] test score::carbon::tests::hourly_intensity_invalid_hour_returns_none ... ok
[INFO] [stdout] test score::carbon::tests::hourly_profile_mean_close_to_annual_for_all_flat_year_regions ... ok
[INFO] [stdout] test score::carbon::tests::hourly_profile_mean_close_to_annual_for_all_monthly_regions ... ok
[INFO] [stdout] test score::carbon::tests::hourly_profile_original_4_are_monthly ... ok
[INFO] [stdout] test score::carbon::tests::hourly_profile_present_for_key_regions ... ok
[INFO] [stdout] test score::carbon::tests::hydro_profiles_are_nearly_flat ... ok
[INFO] [stdout] test score::carbon::tests::intensity_source_ordering_by_fidelity ... ok
[INFO] [stdout] test score::carbon::tests::io_ops_to_co2_grams_delegates_to_helper ... ok
[INFO] [stdout] test score::carbon::tests::io_ops_to_co2_known_region ... ok
[INFO] [stdout] test score::carbon::tests::io_ops_to_co2_unknown_region ... ok
[INFO] [stdout] test score::carbon::tests::hourly_profile_mean_close_to_annual_for_fr ... ok
[INFO] [stdout] test score::carbon::tests::io_ops_to_co2_zero_ops ... ok
[INFO] [stdout] test score::carbon::tests::is_valid_region_id_accepts_exact_64_chars ... ok
[INFO] [stdout] test score::carbon::tests::is_valid_region_id_accepts_valid ... ok
[INFO] [stdout] test score::carbon::tests::is_valid_region_id_rejects_invalid ... ok
[INFO] [stdout] test score::carbon::tests::load_custom_profiles_flat_year ... ok
[INFO] [stdout] test score::carbon::tests::hourly_profile_mean_close_to_annual_for_us_east ... ok
[INFO] [stdout] test score::carbon::tests::load_custom_profiles_rejects_negative ... ok
[INFO] [stdout] test score::carbon::tests::load_custom_profiles_rejects_nan ... ok
[INFO] [stdout] test score::carbon::tests::load_custom_profiles_monthly ... ok
[INFO] [stdout] test score::carbon::tests::lookup_azure_region ... ok
[INFO] [stdout] test score::carbon::tests::lookup_country_code ... ok
[INFO] [stdout] test score::carbon::tests::lookup_known_aws_region ... ok
[INFO] [stdout] test score::carbon::tests::hourly_profile_mean_close_to_annual_for_gb ... ok
[INFO] [stdout] test score::carbon::tests::hourly_profile_new_regions_are_flat_year ... ok
[INFO] [stdout] test score::carbon::tests::lookup_known_gcp_region ... ok
[INFO] [stdout] test report::html::tests::applies_max_traces_embedded_cap_via_top_waste_fallback ... ok
[INFO] [stdout] test score::carbon::tests::load_custom_profiles_rejects_wrong_dimensions ... ok
[INFO] [stdout] test score::carbon::tests::lookup_case_insensitive ... ok
[INFO] [stdout] test score::carbon::tests::monthly_profile_seasonal_variation_fr ... ok
[INFO] [stdout] test score::carbon::tests::monthly_profile_seasonal_variation_de ... ok
[INFO] [stdout] test score::carbon::tests::per_op_gco2_single_source ... ok
[INFO] [stdout] test score::carbon::tests::resolve_hourly_intensity_custom_takes_precedence ... ok
[INFO] [stdout] test score::carbon::tests::lookup_unknown_region_returns_none ... ok
[INFO] [stdout] test score::carbon::tests::resolve_hourly_intensity_monthly_embedded ... ok
[INFO] [stdout] test score::carbon::tests::resolve_hourly_intensity_rejects_invalid_month ... ok
[INFO] [stdout] test score::carbon::tests::resolve_hourly_intensity_unknown_region_returns_none ... ok
[INFO] [stdout] test score::carbon::tests::resolve_hourly_intensity_falls_through_to_embedded ... ok
[INFO] [stdout] test score::carbon::tests::resolve_region_falls_back_to_default ... ok
[INFO] [stdout] test score::carbon::tests::resolve_hourly_intensity_rejects_invalid_hour ... ok
[INFO] [stdout] test score::carbon::tests::resolve_region_prefers_event_attribute ... ok
[INFO] [stdout] test score::carbon::tests::resolve_region_service_map_does_not_shadow_event_attribute ... ok
[INFO] [stdout] test score::carbon::tests::resolve_region_returns_none_when_all_unset ... ok
[INFO] [stdout] test score::carbon::tests::resolve_region_service_map_is_case_insensitive ... ok
[INFO] [stdout] test score::carbon::tests::spain_profile_has_midday_solar_dip ... ok
[INFO] [stdout] test score::carbon_profiles::tests::all_aliases_point_to_existing_canonical_keys ... ok
[INFO] [stdout] test score::carbon_profiles::tests::all_flat_year_profiles_have_24_values ... ok
[INFO] [stdout] test score::carbon_profiles::tests::hourly_profile_flat_year_mean ... ok
[INFO] [stdout] test score::carbon_profiles::tests::hourly_profile_monthly_mean ... ok
[INFO] [stdout] test score::carbon_profiles::tests::no_duplicate_alias_keys ... ok
[INFO] [stdout] test score::carbon_profiles::tests::all_monthly_profiles_have_12x24_values ... ok
[INFO] [stdout] test score::carbon_profiles::tests::all_profile_values_are_finite_and_non_negative ... ok
[INFO] [stdout] test score::carbon_profiles::tests::profile_ref_flat_year_ignores_month ... ok
[INFO] [stdout] test score::carbon_profiles::tests::no_duplicate_keys_in_profiles ... ok
[INFO] [stdout] test score::carbon_profiles::tests::profile_ref_is_monthly ... ok
[INFO] [stdout] test score::carbon_profiles::tests::profile_ref_monthly_none_month_averages ... ok
[INFO] [stdout] test score::cloud_energy::config::tests::debug_impl_preserves_non_secret_fields ... ok
[INFO] [stdout] test score::carbon_profiles::tests::profile_ref_monthly_uses_month ... ok
[INFO] [stdout] test score::cloud_energy::config::tests::debug_impl_redacts_auth_header ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::all_entries_have_positive_values ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::basic_energy_computation ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::interpolate_at_fifty_percent ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::infinite_watts_returns_none ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::interpolate_at_hundred_percent ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::interpolate_at_zero_percent ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::interpolate_infinity_returns_idle ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::interpolate_nan_returns_idle ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::interpolate_clamps_below_zero ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::interpolate_clamps_above_hundred ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::is_known_false_for_missing_entry ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::is_known_true_for_table_entry ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::known_gcp_instance ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::nan_watts_returns_none ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::negative_watts_returns_none ... ok
[INFO] [stdout] test score::carbon::tests::resolve_region_falls_back_to_service_map ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::known_aws_instance ... ok
[INFO] [stdout] test score::carbon_profiles::tests::no_alias_shadows_canonical_key ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::unknown_provider_falls_back_to_generic ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::known_azure_instance ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::zero_ops_returns_none ... ok
[INFO] [stdout] test score::electricity_maps::config::tests::clone_preserves_all_fields ... ok
[INFO] [stdout] test score::scaphandre::config::tests::debug_impl_preserves_non_secret_fields ... ok
[INFO] [stdout] test score::electricity_maps::config::tests::debug_impl_preserves_non_secret_fields ... ok
[INFO] [stdout] test score::scaphandre::config::tests::debug_impl_redacts_auth_header ... ok
[INFO] [stdout] test score::electricity_maps::config::tests::debug_impl_redacts_auth_token ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::table_has_expected_entry_count ... ok
[INFO] [stdout] test score::cloud_energy::table::tests::unknown_instance_falls_back_to_provider_default ... ok
[INFO] [stdout] test score::tests::avoidable_excludes_embodied ... ok
[INFO] [stdout] test score::tests::clean_traces_zero_waste ... ok
[INFO] [stdout] test score::tests::avoidable_ratio_excludes_unknown_bucket_from_denominator ... ok
[INFO] [stdout] test score::tests::calibration_appends_cal_suffix_to_model_tag ... ok
[INFO] [stdout] test score::tests::calibration_factor_scales_proxy_energy ... ok
[INFO] [stdout] test score::tests::calibration_not_applied_when_scaphandre_overrides ... ok
[INFO] [stdout] test score::tests::cloud_empty_snapshot_stays_on_proxy ... ok
[INFO] [stdout] test score::tests::cloud_region_attribute_beats_service_mapping ... ok
[INFO] [stdout] test score::tests::cloud_takes_precedence_over_hourly_in_model_tag ... ok
[INFO] [stdout] test score::tests::cloud_snapshot_flips_model_to_cloud_specpower ... ok
[INFO] [stdout] test score::tests::co2_methodology_labels_set ... ok
[INFO] [stdout] test score::tests::co2_computed_when_region_set ... ok
[INFO] [stdout] test score::tests::co2_none_when_no_carbon_context ... ok
[INFO] [stdout] test score::tests::custom_profile_on_out_of_table_region_uses_generic_pue ... ok
[INFO] [stdout] test score::tests::custom_profile_overrides_embedded_in_scoring_loop ... ok
[INFO] [stdout] test score::tests::de_flat_annual_numerical_regression ... ok
[INFO] [stdout] test score::tests::confidence_interval_factors_match_constants ... ok
[INFO] [stdout] test score::tests::dedup_avoidable_across_finding_types ... ok
[INFO] [stdout] test score::tests::empty_traces_with_carbon_context_returns_no_co2 ... ok
[INFO] [stdout] test score::tests::empty_input_returns_empty_summary ... ok
[INFO] [stdout] test score::tests::hourly_profile_disabled_stays_on_v1 ... ok
[INFO] [stdout] test score::tests::co2_includes_embodied_term ... ok
[INFO] [stdout] test score::tests::hourly_profile_different_co2_night_vs_evening_fr ... ok
[INFO] [stdout] test score::tests::green_impact_populated_on_findings ... ok
[INFO] [stdout] test score::tests::hourly_row_intensity_is_time_weighted_mean ... ok
[INFO] [stdout] test score::tests::hourly_profile_fallback_to_annual_for_region_without_profile ... ok
[INFO] [stdout] test score::tests::mixed_report_flat_hourly_and_annual_tags_v2 ... ok
[INFO] [stdout] test score::tests::hourly_profile_flips_model_to_v3_for_monthly_region ... ok
[INFO] [stdout] test score::tests::mixed_report_monthly_hourly_and_annual_tags_v3_per_row ... ok
[INFO] [stdout] test score::tests::multiple_traces_same_endpoint ... ok
[INFO] [stdout] test score::tests::per_op_coefficients_measured_energy_ignores_coefficient ... ok
[INFO] [stdout] test score::tests::per_op_coefficients_select_lower_than_insert ... ok
[INFO] [stdout] test score::tests::multi_region_bucketing_distinct_per_region ... ok
[INFO] [stdout] test score::tests::realtime_for_out_of_table_region_uses_generic_pue ... ok
[INFO] [stdout] test score::tests::per_op_coefficients_disabled_uses_flat ... ok
[INFO] [stdout] test score::tests::realtime_intensity_overrides_annual ... ok
[INFO] [stdout] test score::tests::realtime_with_scaphandre_uses_emaps_model ... ok
[INFO] [stdout] test score::tests::region_breakdown_distinguishes_out_of_table_from_unresolved ... ok
[INFO] [stdout] test score::tests::realtime_intensity_overrides_hourly_profile ... ok
[INFO] [stdout] test score::tests::region_resolution_chain_priority ... ok
[INFO] [stdout] test score::tests::region_breakdown_status_known_for_in_table_region ... ok
[INFO] [stdout] test score::tests::regions_output_deterministic_under_permutation ... ok
[INFO] [stdout] test score::tests::region_cardinality_cap_folds_overflow_into_unknown ... ok
[INFO] [stdout] test score::tests::regions_sorted_by_co2_desc ... ok
[INFO] [stdout] test score::tests::same_endpoint_across_services_stays_distinct_and_consistent ... ok
[INFO] [stdout] test score::tests::single_trace_computes_iis ... ok
[INFO] [stdout] test score::tests::scaphandre_empty_snapshot_stays_on_proxy ... ok
[INFO] [stdout] test score::tests::scaphandre_snapshot_flips_model_and_replaces_coefficient ... ok
[INFO] [stdout] test score::tests::slow_and_n_plus_one_waste_separate ... ok
[INFO] [stdout] test score::tests::scaphandre_takes_precedence_over_cloud_in_model_tag ... ok
[INFO] [stdout] test score::tests::slow_findings_do_not_inflate_waste_ratio ... ok
[INFO] [stdout] test score::tests::top_offender_co2_some_in_single_region_mode ... ok
[INFO] [stdout] test score::tests::top_offenders_sorted_by_iis_desc ... ok
[INFO] [stdout] test score::tests::top_offender_co2_none_when_multi_region_via_service_regions ... ok
[INFO] [stdout] test score::tests::transport_co2_disabled_by_default ... ok
[INFO] [stdout] test score::tests::transport_co2_cross_region_http ... ok
[INFO] [stdout] test score::tests::transport_co2_numerical_value ... ok
[INFO] [stdout] test score::tests::transport_co2_no_response_size ... ok
[INFO] [stdout] test score::tests::transport_co2_sql_excluded ... ok
[INFO] [stdout] test score::tests::transport_co2_same_region_zero ... ok
[INFO] [stdout] test score::tests::top_offender_co2_none_when_multi_region_via_span_attribute ... ok
[INFO] [stdout] test score::tests::transport_co2_uppercase_hostname_matches ... ok
[INFO] [stdout] test score::tests::unknown_bucket_for_unresolvable_events ... ok
[INFO] [stdout] test score::tests::unknown_region_yields_zero_operational_but_keeps_embodied ... ok
[INFO] [stdout] test time::tests::parse_iso8601_epoch_zero ... ok
[INFO] [stdout] test time::tests::micros_basic ... ok
[INFO] [stdout] test time::tests::parse_iso8601_rejects_invalid_month_day ... ok
[INFO] [stdout] test time::tests::parse_iso8601_rejects_invalid_time ... ok
[INFO] [stdout] test time::tests::nanos_basic ... ok
[INFO] [stdout] test time::tests::parse_iso8601_rejects_malformed_date_field_count ... ok
[INFO] [stdout] test time::tests::parse_iso8601_rejects_non_utc ... ok
[INFO] [stdout] test time::tests::parse_iso8601_round_trips_with_nanos_to_iso8601 ... ok
[INFO] [stdout] test time::tests::parse_iso8601_without_fractional_seconds ... ok
[INFO] [stdout] test time::tests::parse_iso8601_rejects_pre_epoch ... ok
[INFO] [stdout] test time::tests::parse_utc_hour_canonical ... ok
[INFO] [stdout] test time::tests::parse_utc_hour_rejects_hour_24_or_above ... ok
[INFO] [stdout] test time::tests::parse_utc_hour_rejects_invalid_separator ... ok
[INFO] [stdout] test score::tests::scaphandre_takes_precedence_over_hourly_in_model_tag ... ok
[INFO] [stdout] test time::tests::parse_iso8601_space_separator ... ok
[INFO] [stdout] test time::tests::parse_utc_hour_no_fraction ... ok
[INFO] [stdout] test time::tests::parse_utc_hour_rejects_non_ascii ... ok
[INFO] [stdout] test time::tests::parse_utc_hour_rejects_non_numeric_hour ... ok
[INFO] [stdout] test time::tests::parse_utc_hour_rejects_missing_trailing_z ... ok
[INFO] [stdout] test time::tests::parse_utc_hour_rejects_nonutc_offset ... ok
[INFO] [stdout] test time::tests::parse_utc_month_all_months ... ok
[INFO] [stdout] test time::tests::parse_utc_hour_space_separator ... ok
[INFO] [stdout] test time::tests::parse_utc_month_canonical ... ok
[INFO] [stdout] test time::tests::parse_utc_month_rejects_missing_dash ... ok
[INFO] [stdout] test time::tests::parse_utc_month_rejects_month_00 ... ok
[INFO] [stdout] test time::tests::parse_utc_month_rejects_month_13 ... ok
[INFO] [stdout] test time::tests::parse_utc_month_rejects_non_utc ... ok
[INFO] [stdout] test time::tests::parse_utc_month_rejects_truncated ... ok
[INFO] [stdout] test time::tests::parse_utc_month_rejects_non_ascii ... ok
[INFO] [stdout] test time::tests::parse_utc_month_rejects_non_numeric ... ok
[INFO] [stdout] test time::tests::parse_utc_hour_rejects_truncated_string ... ok
[INFO] [stdout] test time::tests::zero_epoch ... ok
[INFO] [stdout] test report::html::tests::renders_minimal_report_to_valid_html ... FAILED
[INFO] [stdout] test detect::correlate_cross::tests::lags_ms_bounded_by_reservoir_cap ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- report::html::tests::renders_minimal_report_to_valid_html stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'report::html::tests::renders_minimal_report_to_valid_html' (669) panicked at src/report/html.rs:563:40:
[INFO] [stdout] fixture readable: Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5faf3cf384ca - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5faf3cf384ca - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::trace_unsynchronized::<std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5faf3cf384ca - std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5faf3cf384ca - <<std[e28293b1aa0f68bd]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c1f1a4ba060b9bfa]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5faf3cf4f86a - <core[c1f1a4ba060b9bfa]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5faf3cf4f86a - core[c1f1a4ba060b9bfa]::fmt::write
[INFO] [stdout]    6:     0x5faf3cf3cfd2 - std[e28293b1aa0f68bd]::io::default_write_fmt::<alloc[fdfd2bd8633a6659]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5faf3cf3cfd2 - <alloc[fdfd2bd8633a6659]::vec::Vec<u8> as std[e28293b1aa0f68bd]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5faf3cf1523f - <std[e28293b1aa0f68bd]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5faf3cf1523f - std[e28293b1aa0f68bd]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5faf3cf2f909 - std[e28293b1aa0f68bd]::panicking::default_hook
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5faf3cac894c - <alloc[fdfd2bd8633a6659]::boxed::Box<dyn for<'a, 'b> core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5faf3cac894c - test[273d7611820c9051]::test_main_with_exit_callback::<test[273d7611820c9051]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5faf3cf2fb82 - <alloc[fdfd2bd8633a6659]::boxed::Box<dyn for<'a, 'b> core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5faf3cf2fb82 - std[e28293b1aa0f68bd]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5faf3cf152f8 - std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5faf3cf0ca39 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_end_short_backtrace::<std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5faf3cf1600d - __rustc[b7974e8690430dd9]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5faf3cf501cc - core[c1f1a4ba060b9bfa]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5faf3cf4ff42 - core[c1f1a4ba060b9bfa]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5faf3c75b7ec - core::result::Result<T,E>::expect::h27d0bda505c524c4
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5faf3c7cb0f3 - sentinel_core::report::html::tests::renders_minimal_report_to_valid_html::h5a72eac0df566980
[INFO] [stdout]                                at /opt/rustwide/workdir/src/report/html.rs:563:40
[INFO] [stdout]   22:     0x5faf3c7cb687 - sentinel_core::report::html::tests::renders_minimal_report_to_valid_html::{{closure}}::h7a65ce21c39a4fb9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/report/html.rs:554:46
[INFO] [stdout]   23:     0x5faf3c84ebf6 - core::ops::function::FnOnce::call_once::h06676f5562fcafcb
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5faf3cabca2b - <fn() -> core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5faf3cabca2b - test[273d7611820c9051]::__rust_begin_short_backtrace::<core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>, fn() -> core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x5faf3cac941b - test[273d7611820c9051]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x5faf3cac941b - <core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x5faf3cac941b - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}>, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5faf3cac941b - std[e28293b1aa0f68bd]::panicking::catch_unwind::<core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>, core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5faf3cac941b - std[e28293b1aa0f68bd]::panic::catch_unwind::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}>, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5faf3cac941b - test[273d7611820c9051]::run_test_in_process
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x5faf3cac941b - test[273d7611820c9051]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x5faf3cac4b34 - test[273d7611820c9051]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x5faf3cac4b34 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_begin_short_backtrace::<test[273d7611820c9051]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5faf3cacc022 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x5faf3cacc022 - <core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x5faf3cacc022 - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5faf3cacc022 - std[e28293b1aa0f68bd]::panicking::catch_unwind::<(), core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5faf3cacc022 - std[e28293b1aa0f68bd]::panic::catch_unwind::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5faf3cacc022 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x5faf3cacc022 - <std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1} as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5faf3cf3757f - <alloc[fdfd2bd8633a6659]::boxed::Box<dyn core[c1f1a4ba060b9bfa]::ops::function::FnOnce<(), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x5faf3cf3757f - <std[e28293b1aa0f68bd]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x70c7942c9aa4 - <unknown>
[INFO] [stdout]   45:     0x70c794356a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     report::html::tests::renders_minimal_report_to_valid_html
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 941 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.54s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "9b9c7fd0c8bb0b49cbeb8d6b770f8686e88d329dd7b8b5073819852b507d0971", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b9c7fd0c8bb0b49cbeb8d6b770f8686e88d329dd7b8b5073819852b507d0971", kill_on_drop: false }`
[INFO] [stdout] 9b9c7fd0c8bb0b49cbeb8d6b770f8686e88d329dd7b8b5073819852b507d0971
