[INFO] fetching crate sonda-core 1.0.1...
[INFO] testing sonda-core-1.0.1 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate sonda-core 1.0.1 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate sonda-core 1.0.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate sonda-core 1.0.1
[INFO] tweaked toml for crates.io crate sonda-core 1.0.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sonda-core 1.0.1 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate sonda-core 1.0.1 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ea1b7e99a4a2d7796bb2f004cfa13f90b7aa84e9c25944b61794e06b717917ac
[INFO] running `Command { std: "docker" "start" "-a" "ea1b7e99a4a2d7796bb2f004cfa13f90b7aa84e9c25944b61794e06b717917ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ea1b7e99a4a2d7796bb2f004cfa13f90b7aa84e9c25944b61794e06b717917ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea1b7e99a4a2d7796bb2f004cfa13f90b7aa84e9c25944b61794e06b717917ac", kill_on_drop: false }`
[INFO] [stdout] ea1b7e99a4a2d7796bb2f004cfa13f90b7aa84e9c25944b61794e06b717917ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fc21736d07f1db512dc73749228d534cc2c5a4398270ce9fa89b9b9f1fdf11ff
[INFO] running `Command { std: "docker" "start" "-a" "fc21736d07f1db512dc73749228d534cc2c5a4398270ce9fa89b9b9f1fdf11ff", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling sonda-core v1.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.83s
[INFO] running `Command { std: "docker" "inspect" "fc21736d07f1db512dc73749228d534cc2c5a4398270ce9fa89b9b9f1fdf11ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc21736d07f1db512dc73749228d534cc2c5a4398270ce9fa89b9b9f1fdf11ff", kill_on_drop: false }`
[INFO] [stdout] fc21736d07f1db512dc73749228d534cc2c5a4398270ce9fa89b9b9f1fdf11ff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2ac4cad97ed167bf5b625b8c65cffc72be11e35657f0f1de1d4b172112ccc43b
[INFO] running `Command { std: "docker" "start" "-a" "2ac4cad97ed167bf5b625b8c65cffc72be11e35657f0f1de1d4b172112ccc43b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rstest_macros v0.26.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling sonda-core v1.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling insta v1.47.2
[INFO] [stderr]    Compiling rstest v0.26.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 06s
[INFO] running `Command { std: "docker" "inspect" "2ac4cad97ed167bf5b625b8c65cffc72be11e35657f0f1de1d4b172112ccc43b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ac4cad97ed167bf5b625b8c65cffc72be11e35657f0f1de1d4b172112ccc43b", kill_on_drop: false }`
[INFO] [stdout] 2ac4cad97ed167bf5b625b8c65cffc72be11e35657f0f1de1d4b172112ccc43b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e9a6b076ef05f00fcfe2bcaf1d64a14b1496d30e96ab2bd85ffdc14d343f2173
[INFO] running `Command { std: "docker" "start" "-a" "e9a6b076ef05f00fcfe2bcaf1d64a14b1496d30e96ab2bd85ffdc14d343f2173", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sonda_core-4e735cf822dd84f9)
[INFO] [stdout] 
[INFO] [stdout] running 1510 tests
[INFO] [stdout] test compile::tests::compile_after_failure_surfaces_as_compile_after_variant ... ok
[INFO] [stdout] test compile::tests::normalize_failure_surfaces_as_normalize_variant ... ok
[INFO] [stdout] test compile::tests::compile_error_is_send_and_sync ... ok
[INFO] [stdout] test compile::tests::expand_failure_surfaces_as_expand_variant ... ok
[INFO] [stdout] test compile::tests::parse_failure_surfaces_as_parse_variant ... ok
[INFO] [stdout] test compiler::compile_after::tests::ambiguous_bare_pack_ref_is_rejected ... ok
[INFO] [stdout] test compiler::compile_after::tests::clock_group_whitespace_variants_conflict ... ok
[INFO] [stdout] test compiler::compile_after::tests::clock_group_empty_string_mixed_with_some_x_uses_x ... ok
[INFO] [stdout] test compiler::compile_after::tests::dotted_pack_ref_resolves ... ok
[INFO] [stdout] test compiler::compile_after::tests::clock_group_auto_assigned_as_chain_plus_lowest_id ... ok
[INFO] [stdout] test compiler::compile_after::tests::conflicting_clock_groups_are_rejected ... ok
[INFO] [stdout] test compile::tests::one_shot_compiles_minimal_inline_scenario ... ok
[INFO] [stdout] test compiler::compile_after::tests::explicit_phase_offset_is_added ... ok
[INFO] [stdout] test compiler::compile_after::tests::explicit_clock_group_propagates_to_chain_members ... ok
[INFO] [stdout] test compiler::compile_after::tests::delay_is_added_to_crossing_time ... ok
[INFO] [stdout] test compiler::compile_after::tests::follower_phase_offset_matches_expected_crossing::case_1_flap_less_than ... ok
[INFO] [stdout] test compiler::compile_after::tests::flap_alias_produces_expected_up_duration_offset ... ok
[INFO] [stdout] test compiler::compile_after::tests::follower_phase_offset_matches_expected_crossing::case_4_sequence_less_than ... ok
[INFO] [stdout] test compiler::compile_after::tests::follower_phase_offset_matches_expected_crossing::case_3_step_greater_than ... ok
[INFO] [stdout] test compiler::compile_after::tests::format_duration_whole_units::case_2_whole_minutes ... ok
[INFO] [stdout] test compiler::compile_after::tests::format_duration_whole_units::case_4_zero ... ok
[INFO] [stdout] test compiler::compile_after::tests::format_duration_whole_units::case_3_whole_hours ... ok
[INFO] [stdout] test compiler::compile_after::tests::format_duration_whole_units::case_5_negative_zero ... ok
[INFO] [stdout] test compiler::compile_after::tests::format_duration_fractional_seconds_round_trip ... ok
[INFO] [stdout] test compiler::compile_after::tests::log_signal_can_depend_on_metrics_target ... ok
[INFO] [stdout] test compiler::compile_after::tests::follower_phase_offset_matches_expected_crossing::case_2_spike_event_less_than ... ok
[INFO] [stdout] test compiler::compile_after::tests::independent_signals_keep_no_clock_group ... ok
[INFO] [stdout] test compiler::compile_after::tests::format_duration_whole_units::case_1_whole_seconds ... ok
[INFO] [stdout] test compiler::compile_after::tests::invalid_duration_surfaces_invalid_duration::case_1_after_delay ... ok
[INFO] [stdout] test compiler::compile_after::tests::invalid_duration_surfaces_invalid_duration::case_2_phase_offset_zero ... ok
[INFO] [stdout] test compiler::compile_after::tests::invalid_duration_surfaces_invalid_duration::case_3_alias_flap_up_duration ... ok
[INFO] [stdout] test compiler::compile_after::tests::step_less_than_is_unsupported ... ok
[INFO] [stdout] test compiler::compile_after::tests::saturation_greater_than_sets_offset ... ok
[INFO] [stdout] test compiler::compile_after::tests::phase_offset_delay_and_crossing_sum ... ok
[INFO] [stdout] test compiler::compile_after::tests::self_reference_is_rejected ... ok
[INFO] [stdout] test compiler::compile_after::tests::metrics_entry_cannot_depend_on_logs_target ... ok
[INFO] [stdout] test compiler::compile_after::tests::three_entry_cycle_path_is_returned ... ok
[INFO] [stdout] test compiler::compile_after::tests::transitive_chain_accumulates ... ok
[INFO] [stdout] test compiler::compile_after::tests::two_entry_cycle_is_detected ... ok
[INFO] [stdout] test compiler::compile_after::tests::unresolvable_target_generator_is_rejected::case_1_constant ... ok
[INFO] [stdout] test compiler::compile_after::tests::unresolvable_target_generator_is_rejected::case_4_uniform ... ok
[INFO] [stdout] test compiler::expand::tests::classify_pack_reference_distinguishes_name_and_file_path::case_1_plain_name ... ok
[INFO] [stdout] test compiler::expand::tests::classify_pack_reference_distinguishes_name_and_file_path::case_2_dot_relative ... ok
[INFO] [stdout] test compiler::compile_after::tests::unresolvable_target_generator_is_rejected::case_2_sine ... ok
[INFO] [stdout] test compiler::expand::tests::classify_pack_reference_distinguishes_name_and_file_path::case_3_absolute_path ... ok
[INFO] [stdout] test compiler::compile_after::tests::unknown_ref_surfaces_available_ids ... ok
[INFO] [stdout] test compiler::compile_after::tests::unresolvable_target_generator_is_rejected::case_3_steady ... ok
[INFO] [stdout] test compiler::expand::tests::classify_pack_reference_distinguishes_name_and_file_path::case_4_plain_relative ... ok
[INFO] [stdout] test compiler::expand::tests::defaults_labels_flow_into_pack_metric_labels ... ok
[INFO] [stdout] test compiler::expand::tests::empty_pack_is_an_error ... ok
[INFO] [stdout] test compiler::expand::tests::duplicate_entry_id_detected_regardless_of_source_order::case_1_inline_first_then_auto ... ok
[INFO] [stdout] test compiler::expand::tests::duplicate_entry_id_error_preserves_both_sources ... ok
[INFO] [stdout] test compiler::expand::tests::expanded_file_is_send_and_sync ... ok
[INFO] [stdout] test compiler::expand::tests::expand_produces_one_entry_per_pack_metric ... ok
[INFO] [stdout] test compiler::expand::tests::duplicate_entry_id_detected_regardless_of_source_order::case_2_auto_first_then_inline ... ok
[INFO] [stdout] test compiler::expand::tests::expanded_entries_have_no_pack_field ... ok
[INFO] [stdout] test compiler::expand::tests::entry_level_after_propagates_to_every_metric ... ok
[INFO] [stdout] test compiler::expand::tests::in_memory_resolver_classifies_file_paths ... ok
[INFO] [stdout] test compiler::expand::tests::expanded_signal_type_is_metrics ... ok
[INFO] [stdout] test compiler::expand::tests::in_memory_resolver_errors_on_missing_reference ... ok
[INFO] [stdout] test compiler::expand::tests::in_memory_resolver_returns_registered_pack ... ok
[INFO] [stdout] test compiler::expand::tests::label_precedence_chain_applied_in_order ... ok
[INFO] [stdout] test compiler::expand::tests::mixed_inline_and_pack_entries_interleave_correctly ... ok
[INFO] [stdout] test compiler::expand::tests::inline_entries_pass_through_untouched ... ok
[INFO] [stdout] test compiler::expand::tests::override_after_replaces_entry_after_for_that_metric ... ok
[INFO] [stdout] test compiler::expand::tests::missing_generator_falls_back_to_constant_zero ... ok
[INFO] [stdout] test compiler::expand::tests::pack_shared_labels_override_defaults_labels ... ok
[INFO] [stdout] test compiler::expand::tests::inline_entry_labels_pass_through_unchanged ... ok
[INFO] [stdout] test compiler::expand::tests::repeated_metric_names_produce_one_entry_per_spec_instance ... ok
[INFO] [stdout] test compiler::expand::tests::schedule_delivery_fields_propagate_to_every_metric ... ok
[INFO] [stdout] test compiler::expand::tests::repeated_metric_names_produce_unique_sub_signal_ids ... ok
[INFO] [stdout] test compiler::expand::tests::override_generator_replaces_pack_generator ... ok
[INFO] [stdout] test compiler::expand::tests::pack_by_file_path_is_resolved_through_trait ... ok
[INFO] [stdout] test compiler::expand::tests::unique_metric_names_keep_clean_sub_signal_ids ... ok
[INFO] [stdout] test compiler::expand::tests::two_anonymous_pack_entries_disambiguate_by_index ... ok
[INFO] [stdout] test compiler::expand::tests::unresolvable_pack_is_an_error ... ok
[INFO] [stdout] test compiler::expand::tests::unknown_override_key_is_an_error ... ok
[INFO] [stdout] test compiler::expand::tests::sub_signal_ids_follow_effective_entry_id::case_1_user_supplied_entry_id ... ok
[INFO] [stdout] test compiler::expand::tests::sub_signal_ids_follow_effective_entry_id::case_2_auto_generated_entry_id ... ok
[INFO] [stdout] test compiler::normalize::tests::default_encoder_per_signal_type::case_1_metrics ... ok
[INFO] [stdout] test compiler::normalize::tests::default_encoder_per_signal_type::case_4_logs ... ok
[INFO] [stdout] test compiler::normalize::tests::default_sink_is_stdout ... ok
[INFO] [stdout] test compiler::normalize::tests::after_clause_and_timing_fields_preserved ... ok
[INFO] [stdout] test compiler::normalize::tests::default_encoder_per_signal_type::case_2_histogram ... ok
[INFO] [stdout] test compiler::normalize::tests::default_encoder_per_signal_type::case_3_summary ... ok
[INFO] [stdout] test compiler::normalize::tests::entry_inherits_encoder_and_sink_from_defaults ... ok
[INFO] [stdout] test compiler::normalize::tests::entry_encoder_overrides_defaults_encoder ... ok
[INFO] [stdout] test compiler::normalize::tests::entry_inherits_rate_and_duration_from_defaults ... ok
[INFO] [stdout] test compiler::normalize::tests::entry_duration_overrides_defaults_duration ... ok
[INFO] [stdout] test compiler::normalize::tests::empty_scenarios_list_normalizes_to_empty_entries ... ok
[INFO] [stdout] test compiler::normalize::tests::entry_rate_overrides_defaults_rate ... ok
[INFO] [stdout] test compiler::normalize::tests::merge_labels_both_none_returns_none ... ok
[INFO] [stdout] test compiler::normalize::tests::histogram_fields_preserved ... ok
[INFO] [stdout] test compiler::normalize::tests::labels_merge_entry_wins_on_conflict ... ok
[INFO] [stdout] test compiler::normalize::tests::entry_labels_preserved_when_defaults_has_no_labels ... ok
[INFO] [stdout] test compiler::normalize::tests::labels_from_defaults_alone_are_preserved ... ok
[INFO] [stdout] test compiler::normalize::tests::merge_labels_entry_overrides_defaults_on_conflict ... ok
[INFO] [stdout] test compiler::normalize::tests::merge_labels_only_entry_returns_entry ... ok
[INFO] [stdout] test compiler::normalize::tests::merge_labels_only_defaults_returns_defaults_clone ... ok
[INFO] [stdout] test compiler::normalize::tests::normalize_error_is_send_and_sync ... ok
[INFO] [stdout] test compiler::normalize::tests::missing_rate_error_label_follows_priority_chain::case_3_pack_falls_back_to_pack_name ... ok
[INFO] [stdout] test compiler::normalize::tests::missing_rate_error_label_follows_priority_chain::case_1_inline_uses_name ... ok
[INFO] [stdout] test compiler::normalize::tests::missing_rate_message_mentions_entry_and_hint ... ok
[INFO] [stdout] test compiler::normalize::tests::no_labels_anywhere_produces_none ... ok
[INFO] [stdout] test compiler::normalize::tests::normalized_types_are_send_and_sync ... ok
[INFO] [stdout] test compiler::normalize::tests::signal_type_picks_built_in_encoder_and_stdout_sink::case_1_metrics ... ok
[INFO] [stdout] test compiler::normalize::tests::shorthand_logs_signal_picks_json_lines_default ... ok
[INFO] [stdout] test compiler::normalize::tests::normalized_file_defaults_labels_matches_source ... ok
[INFO] [stdout] test compiler::normalize::tests::multi_scenario_mixed_entries_all_normalize ... ok
[INFO] [stdout] test compiler::normalize::tests::signal_type_picks_built_in_encoder_and_stdout_sink::case_2_histogram ... ok
[INFO] [stdout] test compiler::normalize::tests::pack_entry_inherits_defaults_but_defers_label_merge ... ok
[INFO] [stdout] test compiler::normalize::tests::shorthand_single_signal_normalizes_through_wrapped_form ... ok
[INFO] [stdout] test compiler::parse::tests::both_generator_and_pack_returns_error ... ok
[INFO] [stdout] test compiler::normalize::tests::inline_and_pack_entries_compose_defaults_labels_asymmetrically ... ok
[INFO] [stdout] test compiler::normalize::tests::signal_type_picks_built_in_encoder_and_stdout_sink::case_3_summary ... ok
[INFO] [stdout] test compiler::normalize::tests::missing_rate_error_label_follows_priority_chain::case_2_pack_prefers_id ... ok
[INFO] [stdout] test compiler::parse::tests::deny_unknown_fields_rejects_typo ... ok
[INFO] [stdout] test compiler::parse::tests::detect_version_cases::case_3_absent ... ok
[INFO] [stdout] test compiler::parse::tests::detect_version_cases::case_4_unparseable ... ok
[INFO] [stdout] test compiler::parse::tests::detect_version_cases::case_1_v2 ... ok
[INFO] [stdout] test compiler::parse::tests::empty_scenarios_list_parses_successfully ... ok
[INFO] [stdout] test compiler::normalize::tests::signal_type_picks_built_in_encoder_and_stdout_sink::case_4_logs ... ok
[INFO] [stdout] test compiler::parse::tests::entry_with_after_clause ... ok
[INFO] [stdout] test compiler::parse::tests::duplicate_ids_returns_error ... ok
[INFO] [stdout] test compiler::parse::tests::detect_version_cases::case_2_v1_explicit ... ok
[INFO] [stdout] test compiler::parse::tests::entry_with_after_clause_and_delay ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_01_simple_snake ... ok
[INFO] [stdout] test compiler::parse::tests::histogram_without_distribution_fails ... ok
[INFO] [stdout] test compiler::parse::tests::error_display_messages ... ok
[INFO] [stdout] test compiler::parse::tests::file_with_defaults_block ... ok
[INFO] [stdout] test compiler::parse::tests::entry_with_all_optional_fields ... ok
[INFO] [stdout] test compiler::parse::tests::histogram_entry_with_distribution_and_buckets ... ok
[INFO] [stdout] test compiler::parse::tests::error_type_is_send_and_sync ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_02_leading_underscore ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_07_starts_with_digit ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_03_single_upper ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_04_alphanumeric ... ok
[INFO] [stdout] test compiler::parse::tests::inline_without_name_returns_error ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_08_contains_dot ... ok
[INFO] [stdout] test compiler::parse::tests::invalid_id_returns_invalid_id_error::case_1_starts_with_digit ... ok
[INFO] [stdout] test compiler::parse::tests::invalid_after_op_returns_yaml_error ... ok
[INFO] [stdout] test compiler::parse::tests::invalid_id_returns_invalid_id_error::case_3_empty_string ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_05_double_underscore ... ok
[INFO] [stdout] test compiler::parse::tests::invalid_signal_type_returns_error ... ok
[INFO] [stdout] test compiler::parse::tests::logs_without_log_generator_returns_error ... ok
[INFO] [stdout] test compiler::parse::tests::malformed_canonical_file_does_not_produce_misleading_error ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_absent_leaves_fields_none ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_partial_roundtrip::case_1_only_scenario_name ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_all_fields_present_roundtrip ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_on_entry_is_rejected ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_09_contains_hyphen ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_10_contains_space ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_11_single_digit ... ok
[INFO] [stdout] test compiler::parse::tests::invalid_id_returns_invalid_id_error::case_2_contains_dot ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_partial_roundtrip::case_2_only_category ... ok
[INFO] [stdout] test compiler::parse::tests::mismatched_generator_family_returns_unexpected_field::case_1_metrics_with_log_generator ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_unknown_field_is_rejected_by_deny_unknown_fields ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_partial_roundtrip::case_3_only_description ... ok
[INFO] [stdout] test compiler::parse::tests::mismatched_generator_family_returns_unexpected_field::case_2_metrics_with_distribution ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_partial_roundtrip::case_4_name_and_category ... ok
[INFO] [stdout] test compiler::parse::tests::missing_version_returns_yaml_error ... ok
[INFO] [stdout] test compiler::parse::tests::mismatched_generator_family_returns_unexpected_field::case_5_histogram_with_generator ... ok
[INFO] [stdout] test compiler::parse::tests::mismatched_generator_family_returns_unexpected_field::case_7_summary_with_generator ... ok
[INFO] [stdout] test compiler::parse::tests::multi_scenario_with_three_entries ... ok
[INFO] [stdout] test compiler::parse::tests::neither_generator_nor_pack_returns_error ... ok
[INFO] [stdout] test compiler::parse::tests::shorthand_infers_histogram_from_distribution_and_buckets ... ok
[INFO] [stdout] test compiler::parse::tests::pack_entry_with_overrides ... ok
[INFO] [stdout] test compiler::parse::tests::pack_with_logs_signal_type_returns_error ... ok
[INFO] [stdout] test compiler::parse::tests::shorthand_infers_logs_from_log_generator ... ok
[INFO] [stdout] test compiler::parse::tests::shorthand_with_defaults_key_is_rejected ... ok
[INFO] [stdout] test compiler::parse::tests::shorthand_infers_summary_from_distribution_and_quantiles ... ok
[INFO] [stdout] test compiler::parse::tests::unexpected_field_error_display_message ... ok
[INFO] [stdout] test compiler::parse::tests::summary_entry_with_distribution_and_quantiles ... ok
[INFO] [stdout] test compiler::parse::tests::unsupported_version_returns_invalid_version::case_1_version_1 ... ok
[INFO] [stdout] test compiler::parse::tests::unsupported_version_returns_invalid_version::case_2_version_0 ... ok
[INFO] [stdout] test compiler::parse::tests::v2_scenario_file_is_send_and_sync ... ok
[INFO] [stdout] test compiler::prepare::tests::clock_group_is_passed_through_on_all_variants ... ok
[INFO] [stdout] test compiler::prepare::tests::histogram_entry_translates_with_distribution_and_buckets ... ok
[INFO] [stdout] test compiler::prepare::tests::histogram_observations_per_tick_widens_u32_max_correctly ... ok
[INFO] [stdout] test compiler::parse::tests::mismatched_generator_family_returns_unexpected_field::case_3_logs_with_generator ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_06_empty ... ok
[INFO] [stdout] test compiler::parse::tests::mismatched_generator_family_returns_unexpected_field::case_4_logs_with_distribution ... ok
[INFO] [stdout] test compiler::prepare::tests::histogram_observations_per_tick_widens_zero_correctly ... ok
[INFO] [stdout] test compiler::prepare::tests::histogram_without_distribution_produces_missing_distribution_error ... ok
[INFO] [stdout] test compiler::prepare::tests::labels_btree_to_hash_preserves_all_pairs ... ok
[INFO] [stdout] test compiler::parse::tests::mismatched_generator_family_returns_unexpected_field::case_6_histogram_with_log_generator ... ok
[INFO] [stdout] test compiler::parse::tests::single_signal_shorthand_inline ... ok
[INFO] [stdout] test compiler::parse::tests::single_signal_shorthand_pack ... ok
[INFO] [stdout] test compiler::prepare::tests::labels_none_stays_none ... ok
[INFO] [stdout] test compiler::prepare::tests::labels_empty_btree_maps_to_empty_hash ... ok
[INFO] [stdout] test compiler::prepare::tests::logs_without_log_generator_produces_missing_log_generator_error ... ok
[INFO] [stdout] test compiler::prepare::tests::missing_required_field_fails_per_signal_type::case_1_metrics ... ok
[INFO] [stdout] test compiler::prepare::tests::missing_required_field_fails_per_signal_type::case_2_logs ... ok
[INFO] [stdout] test compiler::prepare::tests::metrics_without_generator_produces_missing_generator_error ... ok
[INFO] [stdout] test compiler::prepare::tests::metrics_entry_translates_to_scenario_entry_metrics ... ok
[INFO] [stdout] test compiler::prepare::tests::missing_required_field_fails_per_signal_type::case_3_histogram ... ok
[INFO] [stdout] test compiler::prepare::tests::phase_offset_string_is_passed_through_verbatim ... ok
[INFO] [stdout] test compiler::prepare::tests::prepare_empty_file_returns_empty_vec ... ok
[INFO] [stdout] test compiler::prepare::tests::missing_required_field_fails_per_signal_type::case_4_summary ... ok
[INFO] [stdout] test compiler::prepare::tests::prepare_error_is_send_and_sync ... ok
[INFO] [stdout] test compiler::prepare::tests::prepare_fails_fast_on_first_bad_entry ... ok
[INFO] [stdout] test compiler::prepare::tests::prepare_rejects_non_v2_version ... ok
[INFO] [stdout] test compiler::prepare::tests::summary_entry_translates_with_distribution_and_quantiles ... ok
[INFO] [stdout] test compiler::prepare::tests::summary_observations_per_tick_widens_u32_max_correctly ... ok
[INFO] [stdout] test compiler::prepare::tests::prepare_version_check_precedes_entry_translation ... ok
[INFO] [stdout] test compiler::prepare::tests::summary_without_distribution_produces_missing_distribution_error ... ok
[INFO] [stdout] test compiler::prepare::tests::prepare_preserves_entry_order ... ok
[INFO] [stdout] test compiler::prepare::tests::unknown_signal_type_falls_back_to_name_when_id_absent ... ok
[INFO] [stdout] test compiler::timing::tests::always_unsupported::case_2_sine ... ok
[INFO] [stdout] test compiler::prepare::tests::unknown_signal_type_produces_unknown_signal_type_error ... ok
[INFO] [stdout] test compiler::timing::tests::always_unsupported::case_3_uniform ... ok
[INFO] [stdout] test compiler::timing::tests::always_unsupported::case_4_csv_replay ... ok
[INFO] [stdout] test compiler::prepare::tests::logs_entry_translates_to_scenario_entry_logs ... ok
[INFO] [stdout] test compiler::timing::tests::always_unsupported::case_1_steady ... ok
[INFO] [stdout] test compiler::timing::tests::constant_crossing::case_1_greater_than_satisfied_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::constant_crossing::case_4_less_than_not_satisfied_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::flap_crossing::case_1_less_than_one_returns_up_duration ... ok
[INFO] [stdout] test compiler::timing::tests::constant_crossing::case_2_greater_than_not_satisfied_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::flap_crossing::case_4_less_than_zero_is_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::flap_crossing::case_3_greater_than_zero_is_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::flap_crossing::case_6_threshold_above_up_value_greater_than_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::constant_crossing::case_3_less_than_satisfied_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::flap_crossing::case_7_custom_values ... ok
[INFO] [stdout] test compiler::timing::tests::flap_crossing::case_5_threshold_above_up_value_less_than_is_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::sawtooth_crossing::case_4_greater_than_below_baseline_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::sawtooth_crossing::case_1_greater_than_at_midpoint ... ok
[INFO] [stdout] test compiler::timing::tests::sawtooth_crossing::case_3_greater_than_at_ceiling_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::sawtooth_crossing::case_6_less_than_at_baseline_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::sawtooth_crossing::case_2_greater_than_near_ceiling ... ok
[INFO] [stdout] test compiler::timing::tests::sequence_crossing::case_2_less_than_finds_first_crossing ... ok
[INFO] [stdout] test compiler::timing::tests::sawtooth_crossing::case_8_equal_baseline_ceiling_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::sequence_crossing::case_1_greater_than_finds_first_crossing ... ok
[INFO] [stdout] test compiler::timing::tests::sequence_crossing::case_3_first_value_matches_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::sequence_crossing::case_4_no_crossing_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::sequence_crossing::case_5_empty_values_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::spike_crossing::case_1_less_than_returns_spike_duration ... ok
[INFO] [stdout] test compiler::timing::tests::spike_crossing::case_3_less_than_at_baseline_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::spike_crossing::case_5_less_than_above_peak_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::spike_crossing::case_2_greater_than_ambiguous_at_t0 ... ok
[INFO] [stdout] test compiler::timing::tests::spike_crossing::case_4_greater_than_at_peak_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_02_non_divisible_uses_ceil ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_01_divides_evenly_advances_one_tick ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_03_high_rate_divides_ticks_by_rate ... ok
[INFO] [stdout] test compiler::timing::tests::spike_crossing::case_6_greater_than_below_baseline_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_04_less_than_unsupported ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_06_zero_step_size_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_07_negative_step_size_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::sawtooth_crossing::case_7_less_than_midpoint_ambiguous_at_t0 ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_10_inactive_max ... ok
[INFO] [stdout] test compiler::timing::tests::flap_crossing::case_2_less_than_half_returns_up_duration ... ok
[INFO] [stdout] test compiler::timing::tests::sawtooth_crossing::case_5_less_than_above_ceiling_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_08_wrap_below_threshold_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_05_start_above_threshold_ambiguous ... ok
[INFO] [stdout] test config::aliases::tests::create_generator_rejects_undesugared_alias ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_09_wrap_above_threshold_succeeds ... ok
[INFO] [stdout] test config::aliases::tests::flap_custom_values_and_durations ... ok
[INFO] [stdout] test config::aliases::tests::degradation_defaults_produce_sawtooth_with_jitter ... ok
[INFO] [stdout] test config::aliases::tests::degradation_preserves_user_jitter ... ok
[INFO] [stdout] test config::aliases::tests::desugar_entry_passes_non_alias_metrics_unchanged ... ok
[INFO] [stdout] test config::aliases::tests::desugar_entry_passes_logs_unchanged ... ok
[INFO] [stdout] test config::aliases::tests::flap_defaults_produce_correct_sequence ... ok
[INFO] [stdout] test config::aliases::tests::degradation_custom_params_with_noise ... ok
[INFO] [stdout] test config::aliases::tests::is_alias_returns_true_for_aliases ... ok
[INFO] [stdout] test config::aliases::tests::flap_with_invalid_duration_returns_error ... ok
[INFO] [stdout] test config::aliases::tests::is_alias_returns_false_for_concrete_generators ... ok
[INFO] [stdout] test config::aliases::tests::flap_low_rate_inflates_zero_ticks_to_one ... ok
[INFO] [stdout] test config::aliases::tests::leak_custom_params ... ok
[INFO] [stdout] test config::aliases::tests::leak_accepts_when_no_duration_set ... ok
[INFO] [stdout] test config::aliases::tests::leak_defaults_produce_sawtooth ... ok
[INFO] [stdout] test config::aliases::tests::non_alias_generator_passes_through_unchanged ... ok
[INFO] [stdout] test config::aliases::tests::leak_rejects_time_to_ceiling_shorter_than_duration ... ok
[INFO] [stdout] test config::aliases::tests::saturation_defaults_produce_sawtooth ... ok
[INFO] [stdout] test config::aliases::tests::leak_accepts_time_to_ceiling_equal_to_duration ... ok
[INFO] [stdout] test config::aliases::tests::spike_event_defaults_produce_spike ... ok
[INFO] [stdout] test config::aliases::tests::steady_defaults_produce_sine_with_jitter ... ok
[INFO] [stdout] test config::aliases::tests::spike_event_with_invalid_interval_returns_error ... ok
[INFO] [stdout] test config::aliases::tests::spike_event_custom_params ... ok
[INFO] [stdout] test config::aliases::tests::steady_preserves_user_jitter ... ok
[INFO] [stdout] test config::aliases::tests::saturation_custom_params ... ok
[INFO] [stdout] test config::aliases::tests::steady_custom_params ... ok
[INFO] [stdout] test config::expand_tests::columns_without_labels_preserve_scenario_labels ... ok
[INFO] [stdout] test config::expand_tests::deserialize_per_column_labels_from_yaml ... ok
[INFO] [stdout] test config::expand_tests::duplicate_column_index_not_first_returns_error ... ok
[INFO] [stdout] test config::expand_tests::duplicate_column_index_returns_error ... ok
[INFO] [stdout] test config::expand_tests::duplicate_column_name_not_first_returns_error ... ok
[INFO] [stdout] test config::expand_tests::duplicate_column_name_returns_error ... ok
[INFO] [stdout] test config::expand_tests::empty_columns_list_returns_error ... ok
[INFO] [stdout] test config::expand_tests::auto_discovery_missing_file_returns_generator_error ... ok
[INFO] [stdout] test config::expand_tests::auto_discover_from_header_when_no_columns ... ok
[INFO] [stdout] test config::expand_tests::expand_entry_metrics_two_columns ... ok
[INFO] [stdout] test config::expand_tests::expand_entry_passes_through_histogram ... ok
[INFO] [stdout] test config::expand_tests::auto_discovery_expands_from_csv_header ... ok
[INFO] [stdout] test config::expand_tests::expanded_configs_inherit_parent_fields ... ok
[INFO] [stdout] test config::expand_tests::expand_entry_passes_through_summary ... ok
[INFO] [stdout] test config::expand_tests::expanded_configs_inherit_non_none_gaps_and_bursts ... ok
[INFO] [stdout] test config::expand_tests::histogram_config_normal_distribution ... ok
[INFO] [stdout] test config::expand_tests::histogram_config_uniform_distribution ... ok
[INFO] [stdout] test config::expand_tests::histogram_config_defaults_when_omitted ... ok
[INFO] [stdout] test config::expand_tests::histogram_config_deserializes_from_yaml ... ok
[INFO] [stdout] test config::expand_tests::no_columns_no_header_returns_error ... ok
[INFO] [stdout] test config::expand_tests::non_csv_replay_passes_through ... ok
[INFO] [stdout] test config::expand_tests::per_column_labels_override_scenario_level_on_conflict ... ok
[INFO] [stdout] test config::expand_tests::per_column_labels_merge_into_child ... ok
[INFO] [stdout] test config::expand_tests::summary_config_defaults_when_omitted ... ok
[INFO] [stdout] test config::expand_tests::summary_config_deserializes_from_yaml ... ok
[INFO] [stdout] test config::expand_tests::three_column_expansion ... ok
[INFO] [stdout] test config::expand_tests::scenario_entry_base_works_for_histogram ... ok
[INFO] [stdout] test config::expand_tests::two_column_expansion ... ok
[INFO] [stdout] test config::expand_tests::scenario_entry_base_works_for_summary ... ok
[INFO] [stdout] test config::expand_tests::expand_entry_logs_passes_through ... ok
[INFO] [stdout] test config::expand_tests::auto_discovery_single_data_column_no_time_yields_no_data_columns ... ok
[INFO] [stdout] test config::expand_tests::auto_discovery_all_numeric_returns_error ... ok
[INFO] [stdout] test config::expand_tests::auto_discovery_single_column_file_returns_error ... ok
[INFO] [stdout] test config::expand_tests::auto_discovery_grafana_style_extracts_labels ... ok
[INFO] [stdout] test config::tests::csv_replay_without_columns_field_has_none ... ok
[INFO] [stdout] test config::tests::dynamic_labels_and_static_labels_coexist ... ok
[INFO] [stdout] test config::tests::dynamic_labels_counter_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::dynamic_labels_counter_no_prefix_deserializes ... ok
[INFO] [stdout] test config::tests::dynamic_labels_defaults_to_none ... ok
[INFO] [stdout] test config::tests::dynamic_labels_on_log_config_deserializes ... ok
[INFO] [stdout] test config::tests::dynamic_labels_multiple_entries_deserialize ... ok
[INFO] [stdout] test config::tests::dynamic_labels_values_list_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::log_scenario_config_clock_group_defaults_to_none ... ok
[INFO] [stdout] test config::tests::log_scenario_config_deref_accesses_base_fields ... ok
[INFO] [stdout] test config::tests::log_scenario_config_clock_group_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::log_scenario_config_cardinality_spikes_deserializes ... ok
[INFO] [stdout] test config::tests::log_scenario_config_empty_labels_deserializes_as_some_empty_map ... ok
[INFO] [stdout] test config::tests::log_scenario_config_flatten_deserializes_all_fields ... ok
[INFO] [stdout] test config::tests::log_scenario_config_encoder_defaults_to_json_lines ... ok
[INFO] [stdout] test config::tests::log_scenario_config_jitter_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::log_scenario_config_labels_default_to_none ... ok
[INFO] [stdout] test config::tests::log_scenario_config_labels_deserialize_from_yaml ... ok
[INFO] [stdout] test config::tests::log_scenario_config_phase_offset_defaults_to_none ... ok
[INFO] [stdout] test config::tests::log_scenario_config_phase_offset_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::scenario_config_both_phase_offset_and_clock_group ... ok
[INFO] [stdout] test config::tests::phase_offset_values_are_parseable_as_durations ... ok
[INFO] [stdout] test config::tests::scenario_config_cardinality_spikes_defaults_to_none ... ok
[INFO] [stdout] test config::tests::base_schedule_config_is_clone_and_debug ... ok
[INFO] [stdout] test config::tests::scenario_config_cardinality_spikes_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::csv_replay_columns_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::scenario_config_deref_accesses_base_fields ... ok
[INFO] [stdout] test config::tests::scenario_config_deref_mut_allows_base_field_mutation ... ok
[INFO] [stdout] test config::tests::backward_compatible_yaml_without_spikes ... ok
[INFO] [stdout] test config::tests::scenario_config_clock_group_defaults_to_none ... ok
[INFO] [stdout] test config::tests::scenario_config_clock_group_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::scenario_config_flatten_deserializes_all_fields ... ok
[INFO] [stdout] test config::tests::scenario_config_jitter_defaults_to_none ... ok
[INFO] [stdout] test config::tests::scenario_config_encoder_defaults_to_prometheus_text ... ok
[INFO] [stdout] test config::tests::scenario_config_jitter_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::scenario_config_jitter_without_seed ... ok
[INFO] [stdout] test config::tests::scenario_config_phase_offset_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::scenario_entry_base_returns_shared_config_for_metrics ... ok
[INFO] [stdout] test config::tests::scenario_entry_base_returns_shared_config_for_logs ... ok
[INFO] [stdout] test config::tests::scenario_config_labels_deserialize_from_yaml ... ok
[INFO] [stdout] test config::tests::scenario_config_phase_offset_defaults_to_none ... ok
[INFO] [stdout] test config::tests::scenario_entry_clock_group_returns_none_when_absent ... ok
[INFO] [stdout] test config::tests::scenario_entry_phase_offset_returns_none_for_metrics_without_offset ... ok
[INFO] [stdout] test config::tests::scenario_config_phase_offset_minutes ... ok
[INFO] [stdout] test config::tests::scenario_entry_clock_group_returns_value_for_metrics ... ok
[INFO] [stdout] test config::tests::scenario_entry_phase_offset_returns_value_for_metrics ... ok
[INFO] [stdout] test config::validate::tests::burst_config_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test config::tests::scenario_config_phase_offset_milliseconds ... ok
[INFO] [stdout] test config::tests::spike_strategy_defaults_to_counter ... ok
[INFO] [stdout] test config::tests::scenario_entry_phase_offset_returns_value_for_logs ... ok
[INFO] [stdout] test config::validate::tests::deserialize_config_with_burst ... ok
[INFO] [stdout] test config::validate::tests::deserialize_config_with_gap ... ok
[INFO] [stdout] test config::validate::tests::deserialize_config_with_labels ... ok
[INFO] [stdout] test config::validate::tests::deserialize_config_without_burst_has_none_bursts ... ok
[INFO] [stdout] test config::validate::tests::deserialize_minimal_config_encoder_defaults_to_prometheus_text ... ok
[INFO] [stdout] test config::validate::tests::deserialize_full_scenario_config_from_architecture_example ... ok
[INFO] [stdout] test config::validate::tests::deserialize_minimal_config_sink_defaults_to_stdout ... ok
[INFO] [stdout] test config::validate::tests::dynamic_label_counter_zero_cardinality_returns_error ... ok
[INFO] [stdout] test config::validate::tests::dynamic_label_empty_key_returns_error ... ok
[INFO] [stdout] test config::validate::tests::gap_config_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_empty_string_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_fractional_hours ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_fractional_minutes ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_fractional_preserves_sub_millisecond_precision ... ok
[INFO] [stdout] test config::validate::tests::dynamic_label_invalid_key_returns_error ... ok
[INFO] [stdout] test config::validate::tests::dynamic_label_values_list_empty_returns_error ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_fractional_milliseconds ... ok
[INFO] [stdout] test config::validate::tests::deserialize_minimal_scenario_config ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_infinity_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_fractional_seconds ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_hours ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_integer_values_still_work_after_f64_switch ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_large_value ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_negative_milliseconds_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_negative_seconds_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_no_unit_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_numeric_only_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_one_second ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_unit_only_no_number_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_zero_fractional_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_milliseconds ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_seconds ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_unknown_unit_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_zero_seconds_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_zero_minutes_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_minutes ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_one_millisecond ... ok
[INFO] [stdout] test config::validate::tests::precision_17_accepted ... ok
[INFO] [stdout] test config::validate::tests::precision_18_rejected ... ok
[INFO] [stdout] test config::validate::tests::precision_influx_18_rejected ... ok
[INFO] [stdout] test config::validate::tests::precision_none_accepted ... ok
[INFO] [stdout] test config::validate::tests::scenario_config_is_cloneable ... ok
[INFO] [stdout] test config::validate::tests::precision_0_accepted ... ok
[INFO] [stdout] test config::validate::tests::round_trip_uniform_generator_values_in_range ... ok
[INFO] [stdout] test config::validate::tests::precision_255_rejected ... ok
[INFO] [stdout] test config::validate::tests::spike_config_invalid_label_returns_error ... ok
[INFO] [stdout] test config::validate::tests::spike_config_empty_label_returns_error ... ok
[INFO] [stdout] test config::validate::tests::spike_config_for_equal_to_every_returns_error ... ok
[INFO] [stdout] test config::validate::tests::spike_config_unparseable_every_returns_error ... ok
[INFO] [stdout] test config::validate::tests::spike_config_for_not_less_than_every_returns_error ... ok
[INFO] [stdout] test config::validate::tests::scenario_config_is_debuggable ... ok
[INFO] [stdout] test config::validate::tests::spike_config_unparseable_for_returns_error ... ok
[INFO] [stdout] test config::validate::tests::round_trip_constant_generator_produces_expected_value ... ok
[INFO] [stdout] test config::validate::tests::round_trip_creates_generator_encoder_sink_successfully ... ok
[INFO] [stdout] test config::validate::tests::valid_dynamic_label_values_list_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::valid_spike_config_random_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::spike_config_zero_cardinality_returns_error ... ok
[INFO] [stdout] test config::validate::tests::valid_dynamic_label_counter_no_prefix_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::valid_dynamic_label_counter_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::valid_spike_config_counter_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_infinity ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_negative_value ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_zero_value ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_accepts_sorted_positive_values ... ok
[INFO] [stdout] test config::validate::tests::validate_burst_config_burst_for_equal_to_every_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_architecture_example_config_passes ... ok
[INFO] [stdout] test config::validate::tests::validate_burst_config_burst_for_greater_than_every_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_burst_config_fractional_multiplier_passes ... ok
[INFO] [stdout] test config::validate::tests::validate_burst_config_invalid_every_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_burst_config_invalid_for_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_burst_config_multiplier_nan_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_burst_config_multiplier_negative_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_burst_config_multiplier_zero_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_burst_config_valid_values_pass ... ok
[INFO] [stdout] test config::validate::tests::validate_config_burst_for_greater_than_every_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_burst_multiplier_zero_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_error_messages_are_descriptive ... ok
[INFO] [stdout] test config::validate::tests::validate_config_gap_for_equal_to_every_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_gap_invalid_every_error_has_no_double_prefix ... ok
[INFO] [stdout] test config::validate::tests::validate_config_gap_for_greater_than_every_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_gap_for_less_than_every_is_valid ... ok
[INFO] [stdout] test config::validate::tests::validate_config_gap_invalid_for_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_gap_invalid_every_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_invalid_duration_error_has_no_double_prefix ... ok
[INFO] [stdout] test config::validate::tests::validate_config_gap_invalid_for_error_has_no_double_prefix ... ok
[INFO] [stdout] test config::validate::tests::validate_config_invalid_metric_name_empty_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_invalid_metric_name_contains_hyphen_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_invalid_duration_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_invalid_metric_name_starts_with_digit_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_jitter_nan_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_jitter_negative_infinity_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_jitter_positive_infinity_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_jitter_none_is_accepted ... ok
[INFO] [stdout] test config::validate::tests::validate_config_jitter_negative_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_jitter_positive_is_accepted ... ok
[INFO] [stdout] test config::validate::tests::validate_config_none_duration_is_accepted ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_unsorted ... ok
[INFO] [stdout] test config::validate::tests::validate_config_rate_negative_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_jitter_zero_is_accepted ... ok
[INFO] [stdout] test config::validate::tests::validate_config_rate_fractional_positive_is_valid ... ok
[INFO] [stdout] test config::validate::tests::validate_config_rate_positive_is_valid ... ok
[INFO] [stdout] test config::validate::tests::validate_config_rate_zero_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_rate_nan_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_valid_metric_name_colon_separator ... ok
[INFO] [stdout] test config::validate::tests::validate_config_valid_metric_name_double_underscore_prefix ... ok
[INFO] [stdout] test config::validate::tests::validate_config_valid_metric_name_with_underscores ... ok
[INFO] [stdout] test config::validate::tests::validate_config_with_invalid_dynamic_label_key_returns_error ... ok
[INFO] [stdout] test config::validate::tests::validate_config_valid_duration_is_accepted ... ok
[INFO] [stdout] test config::validate::tests::validate_config_valid_metric_name_up ... ok
[INFO] [stdout] test config::validate::tests::validate_config_with_invalid_spike_returns_error ... ok
[INFO] [stdout] test config::validate::tests::validate_config_with_valid_burst_passes ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_duplicates ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_normal_negative_stddev ... ok
[INFO] [stdout] test config::validate::tests::validate_config_with_valid_dynamic_labels_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::validate_config_with_valid_spike_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_exponential_negative_rate ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_exponential_zero_rate ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_normal_positive_stddev ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_nan ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_exponential_positive_rate ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_normal_zero_stddev ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_uniform_min_greater_than_max ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_uniform_valid ... ok
[INFO] [stdout] test config::validate::tests::validate_histogram_config_accepts_valid ... ok
[INFO] [stdout] test config::validate::tests::validate_histogram_config_rejects_zero_rate ... ok
[INFO] [stdout] test config::validate::tests::validate_histogram_config_rejects_unsorted_buckets ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_empty ... ok
[INFO] [stdout] test config::validate::tests::validate_histogram_config_rejects_invalid_metric_name ... ok
[INFO] [stdout] test config::validate::tests::validate_log_config_jitter_negative_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_log_config_with_invalid_dynamic_label_returns_error ... ok
[INFO] [stdout] test config::validate::tests::validate_log_config_jitter_nan_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_histogram_config_rejects_zero_observations ... ok
[INFO] [stdout] test config::validate::tests::validate_log_config_with_valid_dynamic_labels_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_accepts_valid_targets ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_empty ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_greater_than_one ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_negative ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_one ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_nan ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_unsorted ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_zero ... ok
[INFO] [stdout] test config::validate::tests::validate_summary_config_rejects_out_of_range_quantiles ... ok
[INFO] [stdout] test config::validate::tests::validate_summary_config_rejects_invalid_metric_name ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_uniform_nan_min ... ok
[INFO] [stdout] test config::validate::tests::validate_summary_config_rejects_zero_observations ... ok
[INFO] [stdout] test config::validate::tests::validate_summary_config_rejects_zero_rate ... ok
[INFO] [stdout] test encoder::influx::tests::custom_field_key_appears_in_output ... ok
[INFO] [stdout] test encoder::influx::tests::encode_appends_to_existing_buffer_content ... ok
[INFO] [stdout] test config::validate::tests::validate_summary_config_accepts_valid ... ok
[INFO] [stdout] test encoder::influx::tests::encoder_config_deserialization_influx_lp_no_field_key ... ok
[INFO] [stdout] test encoder::influx::tests::create_encoder_returns_working_influx_encoder_with_default_field_key ... ok
[INFO] [stdout] test encoder::influx::tests::encoder_config_deserialization_influx_lp_with_field_key ... ok
[INFO] [stdout] test encoder::influx::tests::no_labels_output_has_no_comma_after_measurement ... ok
[INFO] [stdout] test encoder::influx::tests::influx_line_protocol_is_send_and_sync ... ok
[INFO] [stdout] test encoder::influx::tests::no_labels_produces_measurement_space_field_space_timestamp ... ok
[INFO] [stdout] test encoder::influx::tests::measurement_with_space_is_escaped ... ok
[INFO] [stdout] test encoder::influx::tests::multiple_encodes_accumulate_in_buffer ... ok
[INFO] [stdout] test encoder::influx::tests::pre_epoch_timestamp_returns_encoder_error ... ok
[INFO] [stdout] test encoder::influx::tests::precision_none_preserves_full_output_influx ... ok
[INFO] [stdout] test encoder::influx::tests::none_field_key_defaults_to_value ... ok
[INFO] [stdout] test encoder::influx::tests::output_ends_with_newline ... ok
[INFO] [stdout] test encoder::influx::tests::precision_two_limits_decimals_influx ... ok
[INFO] [stdout] test encoder::influx::tests::precision_zero_influx ... ok
[INFO] [stdout] test encoder::influx::tests::regression_anchor_two_labels_exact_bytes ... ok
[INFO] [stdout] test encoder::influx::tests::tag_value_with_all_special_chars_is_escaped ... ok
[INFO] [stdout] test encoder::influx::tests::regression_anchor_custom_field_key_exact_bytes ... ok
[INFO] [stdout] test encoder::influx::tests::tag_value_with_comma_is_escaped ... ok
[INFO] [stdout] test encoder::influx::tests::regression_anchor_no_labels_exact_bytes ... ok
[INFO] [stdout] test encoder::influx::tests::three_labels_sorted_alphabetically ... ok
[INFO] [stdout] test encoder::influx::tests::tag_value_with_equals_is_escaped ... ok
[INFO] [stdout] test encoder::influx::tests::timestamp_is_nanoseconds_at_least_13_digits ... ok
[INFO] [stdout] test encoder::influx::tests::timestamp_is_not_milliseconds ... ok
[INFO] [stdout] test encoder::influx::tests::tag_value_with_space_is_escaped ... ok
[INFO] [stdout] test encoder::json::tests::each_encoded_line_ends_with_newline ... ok
[INFO] [stdout] test encoder::influx::tests::two_labels_sorted_by_key_in_tag_set ... ok
[INFO] [stdout] test encoder::influx::tests::timestamp_does_not_contain_decimal_point ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_empty_fields_produces_empty_json_object ... ok
[INFO] [stdout] test encoder::json::tests::empty_labels_produces_empty_json_object ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_includes_message_field ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_includes_severity_field ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_includes_fields_field ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_includes_timestamp_field ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_fields_appear_in_spec_order ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_line_ends_with_newline ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_labels_are_sorted_by_key ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_many_fields_produces_sorted_json_object ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_produces_valid_json ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_regression_anchor_simple_info_event ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_regression_anchor_with_labels_exact_output ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_roundtrip_message_matches_original ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_roundtrip_fields_match_original ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_regression_anchor_with_fields ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_roundtrip_timestamp_matches_original ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_severity_debug_is_lowercase ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_severity_error_is_lowercase ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_severity_trace_is_lowercase ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_severity_warn_is_lowercase ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_severity_info_is_lowercase ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_with_empty_labels_produces_empty_labels_object ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_with_labels_includes_labels_in_json ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_severity_fatal_is_lowercase ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_with_labels_and_fields_both_present ... ok
[INFO] [stdout] test encoder::json::tests::encode_metric_many_labels_produces_sorted_json_object ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_array_length_is_24 ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_array_is_valid_utf8 ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_end_of_year_dec_31 ... ok
[INFO] [stdout] test encoder::json::tests::encoder_config_json_lines_creates_encoder_via_factory ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_epoch_returns_correct_string ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_array_matches_buffer_output ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_leap_year_feb_29 ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_start_of_day_plus_one_second ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_midnight_boundary ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_preserves_milliseconds ... ok
[INFO] [stdout] test encoder::json::tests::labels_ref_handles_values_with_special_json_characters ... ok
[INFO] [stdout] test encoder::json::tests::labels_ref_serializes_empty_labels_as_empty_object ... ok
[INFO] [stdout] test encoder::json::tests::json_fields_appear_in_consistent_order ... ok
[INFO] [stdout] test encoder::json::tests::json_lines_encoder_is_send_and_sync ... ok
[INFO] [stdout] test encoder::json::tests::labels_ref_serializes_multiple_labels_in_sorted_order ... ok
[INFO] [stdout] test encoder::json::tests::multiple_encodes_accumulate_in_same_buffer ... ok
[INFO] [stdout] test encoder::json::tests::labels_ref_serializes_single_label ... ok
[INFO] [stdout] test encoder::json::tests::multiple_events_each_end_with_newline ... ok
[INFO] [stdout] test encoder::json::tests::output_is_valid_json_parseable_by_serde_json ... ok
[INFO] [stdout] test encoder::json::tests::precision_none_preserves_full_value_in_json ... ok
[INFO] [stdout] test encoder::json::tests::precision_two_rounds_json_value ... ok
[INFO] [stdout] test encoder::json::tests::regression_anchor_no_labels_exact_output ... ok
[INFO] [stdout] test encoder::json::tests::precision_zero_rounds_to_whole_number_in_json ... ok
[INFO] [stdout] test encoder::json::tests::prometheus_encoder_encode_log_still_returns_not_supported_after_slice_2_3 ... ok
[INFO] [stdout] test encoder::json::tests::regression_anchor_single_label_exact_output ... ok
[INFO] [stdout] test encoder::json::tests::regression_anchor_multiple_labels_sorted_in_output ... ok
[INFO] [stdout] test encoder::json::tests::roundtrip_labels_match_original_event ... ok
[INFO] [stdout] test encoder::json::tests::roundtrip_value_matches_original_event ... ok
[INFO] [stdout] test encoder::json::tests::string_map_ref_serializes_empty_map_as_empty_object ... ok
[INFO] [stdout] test encoder::json::tests::string_map_ref_serializes_entries_in_sorted_order ... ok
[INFO] [stdout] test encoder::json::tests::timestamp_at_unix_epoch_formats_correctly ... ok
[INFO] [stdout] test encoder::json::tests::timestamp_with_zero_milliseconds_shows_dot_zero_zero_zero ... ok
[INFO] [stdout] test encoder::json::tests::timestamp_uses_rfc3339_format_with_millisecond_precision ... ok
[INFO] [stdout] test encoder::prometheus::tests::create_encoder_returns_working_encoder_for_prometheus_text ... ok
[INFO] [stdout] test encoder::prometheus::tests::encode_appends_to_existing_buffer_content ... ok
[INFO] [stdout] test encoder::prometheus::tests::encode_does_not_reallocate_when_buffer_pre_sized ... ok
[INFO] [stdout] test encoder::prometheus::tests::encoder_config_deserialization_prometheus_text ... ok
[INFO] [stdout] test encoder::prometheus::tests::label_value_with_all_three_escape_sequences ... ok
[INFO] [stdout] test encoder::prometheus::tests::label_value_with_backslash_is_escaped ... ok
[INFO] [stdout] test encoder::prometheus::tests::label_value_with_double_quote_is_escaped ... ok
[INFO] [stdout] test encoder::prometheus::tests::label_value_with_newline_is_escaped ... ok
[INFO] [stdout] test encoder::prometheus::tests::label_value_with_no_special_chars_is_not_escaped ... ok
[INFO] [stdout] test encoder::prometheus::tests::labels_are_always_sorted_by_key ... ok
[INFO] [stdout] test encoder::prometheus::tests::no_labels_omits_braces ... ok
[INFO] [stdout] test encoder::prometheus::tests::no_labels_format_has_no_curly_braces ... ok
[INFO] [stdout] test encoder::prometheus::tests::pre_epoch_timestamp_returns_encoder_error ... ok
[INFO] [stdout] test encoder::prometheus::tests::precision_none_preserves_full_output ... ok
[INFO] [stdout] test encoder::prometheus::tests::precision_two_limits_decimals ... ok
[INFO] [stdout] test encoder::prometheus::tests::precision_two_preserves_trailing_zeros ... ok
[INFO] [stdout] test encoder::prometheus::tests::precision_zero_rounds_to_integer ... ok
[INFO] [stdout] test encoder::prometheus::tests::output_ends_with_newline ... ok
[INFO] [stdout] test encoder::prometheus::tests::prometheus_text_encoder_is_send_and_sync ... ok
[INFO] [stdout] test encoder::prometheus::tests::regression_anchor_exact_byte_output_no_labels ... ok
[INFO] [stdout] test encoder::prometheus::tests::regression_anchor_exact_byte_output_with_labels ... ok
[INFO] [stdout] test encoder::prometheus::tests::single_label_produces_correct_format ... ok
[INFO] [stdout] test encoder::prometheus::tests::timestamp_at_epoch_zero_is_zero ... ok
[INFO] [stdout] test encoder::prometheus::tests::timestamp_does_not_include_decimal_point ... ok
[INFO] [stdout] test encoder::prometheus::tests::timestamp_is_integer_milliseconds_since_epoch ... ok
[INFO] [stdout] test encoder::prometheus::tests::two_labels_sorted_by_key_comma_separated ... ok
[INFO] [stdout] test encoder::syslog::tests::create_encoder_syslog_via_factory_encodes_log_event ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_contains_app_name_in_output ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_contains_hostname_in_output ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_contains_message_in_output ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_contains_nil_values_for_procid_msgid_and_sd ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_contains_version_one ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_default_hostname_and_app_name_are_sonda ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_message_with_angle_brackets ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_message_with_spaces_is_included_verbatim ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_message_with_unicode_characters ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_produces_line_ending_with_newline ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_starts_with_priority_marker ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_timestamp_is_rfc3339_with_millisecond_precision ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_with_labels_escapes_all_special_characters_combined ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_with_labels_escapes_backslash_in_value ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_with_labels_escapes_closing_bracket_in_value ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_with_labels_escapes_double_quote_in_value ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_with_labels_includes_structured_data ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_with_multiple_labels_includes_all_in_structured_data ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_duplicates ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_without_labels_uses_nil_structured_data ... ok
[INFO] [stdout] test encoder::influx::tests::create_encoder_returns_working_influx_encoder_with_custom_field_key ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_metric_does_not_write_to_buffer ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_metric_returns_not_supported_error ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_known_timestamp_2026_03_20_returns_correct_string ... ok
[INFO] [stdout] test encoder::json::tests::roundtrip_name_matches_original_event ... ok
[INFO] [stdout] test encoder::json::tests::roundtrip_timestamp_matches_original_event ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_uniform_min_equal_to_max ... ok
[INFO] [stdout] test encoder::syslog::tests::encoder_config_syslog_deserializes_with_both_hostname_and_app_name ... ok
[INFO] [stdout] test encoder::syslog::tests::encoder_config_syslog_deserializes_without_optional_fields ... ok
[INFO] [stdout] test encoder::syslog::tests::priority_for_fatal_is_facility_user_plus_emergency_syslog_severity ... ok
[INFO] [stdout] test encoder::syslog::tests::encoder_config_syslog_deserializes_with_hostname ... ok
[INFO] [stdout] test encoder::syslog::tests::priority_for_debug_is_facility_user_plus_debug_syslog_severity ... ok
[INFO] [stdout] test encoder::syslog::tests::priority_for_error_is_facility_user_plus_error_syslog_severity ... ok
[INFO] [stdout] test encoder::syslog::tests::priority_for_info_is_facility_user_plus_informational_syslog_severity ... ok
[INFO] [stdout] test encoder::syslog::tests::regression_anchor_error_severity_exact_output ... ok
[INFO] [stdout] test encoder::syslog::tests::regression_anchor_fatal_severity_exact_output ... ok
[INFO] [stdout] test encoder::syslog::tests::regression_anchor_info_severity_exact_output ... ok
[INFO] [stdout] test encoder::tests::create_encoder_json_lines_succeeds ... ok
[INFO] [stdout] test encoder::syslog::tests::priority_for_trace_is_facility_user_plus_debug_syslog_severity ... ok
[INFO] [stdout] test encoder::syslog::tests::priority_for_warn_is_facility_user_plus_warning_syslog_severity ... ok
[INFO] [stdout] test encoder::syslog::tests::syslog_encoder_is_send_and_sync ... ok
[INFO] [stdout] test encoder::tests::create_encoder_otlp_disabled_returns_feature_hint_error ... ok
[INFO] [stdout] test encoder::tests::create_encoder_influx_lp_no_field_key_succeeds ... ok
[INFO] [stdout] test encoder::tests::create_encoder_influx_lp_with_field_key_succeeds ... ok
[INFO] [stdout] test encoder::syslog::tests::regression_anchor_info_severity_with_labels_exact_output ... ok
[INFO] [stdout] test encoder::tests::encoder_config_influx_lp_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test encoder::tests::encoder_config_influx_lp_without_field_key_deserializes_with_type_field ... ok
[INFO] [stdout] test encoder::tests::create_encoder_prometheus_text_succeeds ... ok
[INFO] [stdout] test encoder::tests::encoder_config_influx_lp_with_field_key_deserializes_with_type_field ... ok
[INFO] [stdout] test encoder::tests::encoder_config_is_send_and_sync ... ok
[INFO] [stdout] test encoder::tests::create_encoder_remote_write_disabled_returns_feature_hint_error ... ok
[INFO] [stdout] test encoder::tests::encode_log_error_is_encoder_variant ... ok
[INFO] [stdout] test encoder::tests::encoder_config_json_lines_deserializes_with_type_field ... ok
[INFO] [stdout] test encoder::tests::encode_log_default_does_not_write_to_buffer ... ok
[INFO] [stdout] test encoder::tests::encoder_config_old_external_tag_format_is_rejected ... ok
[INFO] [stdout] test encoder::tests::encoder_config_prometheus_text_deserializes_with_type_field ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_appends_to_existing_buffer ... ok
[INFO] [stdout] test encoder::tests::encoder_config_json_lines_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test encoder::tests::encoder_config_missing_type_field_returns_error ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_array_before_epoch_returns_error ... ok
[INFO] [stdout] test encoder::tests::encoder_config_prometheus_text_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_array_and_buf_produce_identical_output ... ok
[INFO] [stdout] test encoder::tests::encoder_config_unknown_type_returns_error ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_century_leap_year_2000_feb_29 ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_century_non_leap_year_2100_feb_28 ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_array_epoch ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_array_preserves_milliseconds ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_array_returns_correct_bytes ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_before_epoch_returns_error ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_century_non_leap_year_2100_mar_1 ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_dec_31_to_jan_1_transition ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_epoch_writes_correct_bytes ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_non_leap_year_mar_1_2023 ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_writes_to_buffer ... ok
[INFO] [stdout] test encoder::tests::json_lines_encoder_encode_log_succeeds ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_jan_1_midnight ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_leap_year_dec_31_to_jan_1 ... ok
[INFO] [stdout] test encoder::tests::json_lines_with_precision_deserializes ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_leap_year_feb_29_2024 ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_mid_day_with_millis ... ok
[INFO] [stdout] test encoder::tests::influx_encoder_encode_log_returns_not_supported_error ... ok
[INFO] [stdout] test encoder::tests::influx_with_precision_and_field_key_deserializes ... ok
[INFO] [stdout] test encoder::tests::prometheus_text_without_precision_defaults_to_none ... ok
[INFO] [stdout] test encoder::tests::remote_write_yaml_deserializes_into_disabled_variant_when_feature_is_off ... ok
[INFO] [stdout] test encoder::tests::json_lines_without_precision_defaults_to_none ... ok
[INFO] [stdout] test encoder::tests::otlp_yaml_deserializes_into_disabled_variant_when_feature_is_off ... ok
[INFO] [stdout] test encoder::tests::prometheus_encoder_encode_log_returns_not_supported_error ... ok
[INFO] [stdout] test encoder::tests::prometheus_text_with_precision_deserializes ... ok
[INFO] [stdout] test encoder::tests::rfc3339_millis_len_constant_matches_output_size ... ok
[INFO] [stdout] test encoder::tests::write_value_none_uses_default_display ... ok
[INFO] [stdout] test encoder::tests::write_value_precision_0 ... ok
[INFO] [stdout] test generator::csv_header::tests::determinism_same_header_twice ... ok
[INFO] [stdout] test encoder::tests::write_value_precision_2 ... ok
[INFO] [stdout] test encoder::tests::write_value_precision_4 ... ok
[INFO] [stdout] test generator::csv_header::tests::empty_braces ... ok
[INFO] [stdout] test generator::constant::tests::returns_constant_value ... ok
[INFO] [stdout] test generator::csv_header::tests::empty_header_returns_no_name_no_labels ... ok
[INFO] [stdout] test generator::csv_header::tests::empty_key_returns_error ... ok
[INFO] [stdout] test encoder::tests::write_value_precision_with_negative ... ok
[INFO] [stdout] test generator::csv_header::tests::format1_name_from_dunder_name_label ... ok
[INFO] [stdout] test generator::csv_header::tests::format1_name_only_in_dunder ... ok
[INFO] [stdout] test generator::csv_header::tests::format2_name_before_brace ... ok
[INFO] [stdout] test generator::csv_header::tests::format2_name_with_empty_labels ... ok
[INFO] [stdout] test generator::csv_header::tests::format2_name_with_single_label ... ok
[INFO] [stdout] test generator::csv_header::tests::format3_labels_only_no_name ... ok
[INFO] [stdout] test generator::csv_header::tests::format4_plain_name ... ok
[INFO] [stdout] test generator::csv_header::tests::format5_simple_word ... ok
[INFO] [stdout] test generator::csv_header::tests::is_header_line_detects_text_header ... ok
[INFO] [stdout] test generator::csv_header::tests::is_header_line_empty_string_is_non_numeric ... ok
[INFO] [stdout] test generator::csv_header::tests::is_header_line_first_col_numeric_second_text ... ok
[INFO] [stdout] test generator::csv_header::tests::is_header_line_rejects_all_numeric ... ok
[INFO] [stdout] test generator::csv_header::tests::is_header_line_single_column_numeric ... ok
[INFO] [stdout] test generator::csv_header::tests::is_header_line_single_column_text ... ok
[INFO] [stdout] test generator::csv_header::tests::label_value_with_comma_inside_quotes ... ok
[INFO] [stdout] test generator::csv_header::tests::label_value_with_escaped_quote ... ok
[INFO] [stdout] test generator::csv_header::tests::missing_equals_returns_error ... ok
[INFO] [stdout] test generator::csv_header::tests::multiple_labels_three ... ok
[INFO] [stdout] test generator::csv_header::tests::parse_header_row_format2_mixed ... ok
[INFO] [stdout] test generator::csv_header::tests::parse_header_row_grafana_export ... ok
[INFO] [stdout] test generator::csv_header::tests::parse_header_row_plain_columns ... ok
[INFO] [stdout] test generator::csv_header::tests::parsed_column_header_is_send_and_sync ... ok
[INFO] [stdout] test generator::csv_header::tests::plain_name_with_whitespace ... ok
[INFO] [stdout] test generator::csv_header::tests::spaces_around_label_pairs ... ok
[INFO] [stdout] test generator::csv_header::tests::split_empty_line ... ok
[INFO] [stdout] test generator::csv_header::tests::split_grafana_style_header ... ok
[INFO] [stdout] test generator::csv_header::tests::split_mixed_quoted_and_unquoted ... ok
[INFO] [stdout] test generator::csv_header::tests::split_quoted_fields_strip_outer_quotes ... ok
[INFO] [stdout] test generator::csv_header::tests::split_rfc4180_escaped_quotes ... ok
[INFO] [stdout] test generator::csv_header::tests::split_simple_unquoted_fields ... ok
[INFO] [stdout] test generator::csv_header::tests::split_single_field ... ok
[INFO] [stdout] test generator::csv_header::tests::unmatched_open_brace_returns_error ... ok
[INFO] [stdout] test generator::csv_header::tests::unquoted_label_value ... ok
[INFO] [stdout] test generator::csv_header::tests::unterminated_quoted_value_returns_error ... ok
[INFO] [stdout] test generator::csv_header::tests::whitespace_only_header ... ok
[INFO] [stdout] test generator::csv_replay::tests::auto_detect_header_after_comments_and_empty_lines ... ok
[INFO] [stdout] test generator::csv_replay::tests::auto_detect_includes_all_numeric_first_row ... ok
[INFO] [stdout] test generator::csv_replay::tests::auto_detect_multi_column_all_numeric_no_skip ... ok
[INFO] [stdout] test generator::csv_replay::tests::auto_detect_skips_non_numeric_header ... ok
[INFO] [stdout] test generator::csv_replay::tests::column_index_out_of_bounds_on_disk ... ok
[INFO] [stdout] test generator::csv_replay::tests::column_index_out_of_bounds_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::comment_lines_are_skipped ... ok
[INFO] [stdout] test generator::csv_replay::tests::comment_with_leading_whitespace_is_skipped ... ok
[INFO] [stdout] test generator::csv_replay::tests::correct_number_of_values_loaded ... ok
[INFO] [stdout] test generator::csv_replay::tests::csv_replay_generator_is_send_and_sync ... ok
[INFO] [stdout] test generator::csv_replay::tests::deserialize_csv_replay_config_from_yaml ... ok
[INFO] [stdout] test generator::csv_replay::tests::deserialize_csv_replay_config_minimal ... ok
[INFO] [stdout] test generator::csv_replay::tests::determinism_same_tick_returns_same_value ... ok
[INFO] [stdout] test generator::csv_replay::tests::determinism_separate_instances_same_content ... ok
[INFO] [stdout] test generator::csv_replay::tests::empty_content_from_str_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::empty_file_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::empty_lines_are_skipped ... ok
[INFO] [stdout] test generator::csv_replay::tests::example_yaml_scenario_file_deserializes ... ok
[INFO] [stdout] test generator::csv_replay::tests::factory_csv_replay_creates_working_generator ... ok
[INFO] [stdout] test generator::csv_replay::tests::factory_csv_replay_defaults ... ok
[INFO] [stdout] test generator::csv_replay::tests::file_not_found_returns_generator_file_read_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::file_with_no_parseable_numbers_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::handles_negative_values ... ok
[INFO] [stdout] test generator::csv_replay::tests::factory_csv_replay_missing_file_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::mixed_content_loads_correctly ... ok
[INFO] [stdout] test generator::csv_replay::tests::fields_with_whitespace_are_trimmed ... ok
[INFO] [stdout] test generator::csv_replay::tests::file_with_header_and_unparseable_body_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::file_with_only_comments_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::file_with_only_header_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::handles_integer_values ... ok
[INFO] [stdout] test generator::csv_replay::tests::multi_column_csv_reads_last_column ... ok
[INFO] [stdout] test generator::csv_replay::tests::multi_column_csv_reads_correct_column ... ok
[INFO] [stdout] test generator::csv_replay::tests::multi_column_csv_reads_first_column ... ok
[INFO] [stdout] test generator::csv_replay::tests::no_repeat_large_tick_does_not_panic ... ok
[INFO] [stdout] test generator::csv_replay::tests::no_repeat_tick_above_u32_max_clamps_correctly ... ok
[INFO] [stdout] test generator::csv_replay::tests::one_column_file_from_disk ... ok
[INFO] [stdout] test generator::csv_replay::tests::repeat_false_clamps_to_last_value ... ok
[INFO] [stdout] test generator::csv_replay::tests::no_repeat_tick_at_u64_max_clamps_correctly ... ok
[INFO] [stdout] test generator::csv_replay::tests::one_column_file_loads_all_values ... ok
[INFO] [stdout] test generator::csv_replay::tests::repeat_defaults_to_true_via_factory ... ok
[INFO] [stdout] test generator::csv_replay::tests::repeat_large_tick_does_not_panic ... ok
[INFO] [stdout] test generator::csv_replay::tests::repeat_tick_above_u32_max_uses_u64_modulo ... ok
[INFO] [stdout] test generator::csv_replay::tests::repeat_tick_at_u64_max_does_not_panic ... ok
[INFO] [stdout] test generator::csv_replay::tests::repeat_true_cycles_at_boundary ... ok
[INFO] [stdout] test generator::csv_replay::tests::sample_cpu_values_csv_from_disk ... ok
[INFO] [stdout] test generator::csv_replay::tests::repeat_true_multiple_full_cycles ... ok
[INFO] [stdout] test generator::csv_replay::tests::single_value_repeat_true ... ok
[INFO] [stdout] test generator::csv_replay::tests::repeat_false_at_exact_boundary_returns_last ... ok
[INFO] [stdout] test generator::csv_replay::tests::single_value_repeat_false ... ok
[INFO] [stdout] test generator::csv_replay::tests::unparseable_rows_are_skipped ... ok
[INFO] [stdout] test generator::histogram::tests::default_buckets_are_sorted_and_positive ... ok
[INFO] [stdout] test generator::csv_replay::tests::whitespace_only_lines_are_skipped ... ok
[INFO] [stdout] test generator::histogram::tests::default_buckets_have_expected_count ... ok
[INFO] [stdout] test generator::histogram::tests::histogram_generator_is_send ... ok
[INFO] [stdout] test generator::histogram::tests::histogram_sample_is_send_and_sync ... ok
[INFO] [stdout] test generator::histogram::tests::count_equals_observations_times_ticks ... ok
[INFO] [stdout] test generator::histogram::tests::exponential_values_are_non_negative ... ok
[INFO] [stdout] test generator::histogram::tests::different_seeds_produce_different_output ... ok
[INFO] [stdout] test generator::histogram::tests::normal_distribution_centers_around_mean ... ok
[INFO] [stdout] test generator::histogram::tests::single_bucket_works ... ok
[INFO] [stdout] test generator::histogram::tests::sum_accumulates_across_ticks ... ok
[INFO] [stdout] test generator::histogram::tests::uniform_01_in_range ... ok
[INFO] [stdout] test generator::histogram::tests::same_seed_produces_identical_output ... ok
[INFO] [stdout] test generator::histogram::tests::bucket_counts_never_decrease_across_ticks ... ok
[INFO] [stdout] test generator::histogram::tests::largest_bucket_captures_most_observations ... ok
[INFO] [stdout] test generator::jitter::tests::all_values_within_bounds_for_10000_ticks ... ok
[INFO] [stdout] test generator::jitter::tests::at_least_some_values_differ_from_inner ... ok
[INFO] [stdout] test generator::histogram::tests::uniform_distribution_within_range ... ok
[INFO] [stdout] test generator::jitter::tests::determinism_across_instances ... ok
[INFO] [stdout] test generator::histogram::tests::mean_shift_increases_values_over_time ... ok
[INFO] [stdout] test generator::jitter::tests::different_seeds_produce_different_sequences ... ok
[INFO] [stdout] test generator::jitter::tests::jitter_noise_differs_from_uniform_random_with_same_seed_and_tick ... ok
[INFO] [stdout] test generator::jitter::tests::jitter_wrapping_sine_stays_within_bounds ... ok
[INFO] [stdout] test generator::jitter::tests::regression_anchor_known_output ... ok
[INFO] [stdout] test generator::jitter::tests::same_seed_and_tick_returns_same_value ... ok
[INFO] [stdout] test generator::log_replay::tests::from_file_missing_file_returns_generator_error ... ok
[INFO] [stdout] test generator::log_replay::tests::from_lines_empty_returns_error ... ok
[INFO] [stdout] test generator::jitter::tests::zero_half_range_returns_inner_value_exactly ... ok
[INFO] [stdout] test generator::log_replay::tests::fields_are_always_empty ... ok
[INFO] [stdout] test generator::log_replay::tests::large_tick_does_not_panic ... ok
[INFO] [stdout] test generator::log_replay::tests::from_file_only_empty_lines_returns_error ... ok
[INFO] [stdout] test generator::log_replay::tests::from_file_five_lines_cycles_correctly ... ok
[INFO] [stdout] test generator::log_replay::tests::from_file_truly_empty_file_returns_error ... ok
[INFO] [stdout] test generator::log_replay::tests::from_file_skips_blank_lines ... ok
[INFO] [stdout] test generator::log_replay::tests::log_replay_generator_is_send_and_sync ... ok
[INFO] [stdout] test generator::log_replay::tests::same_tick_always_returns_same_message ... ok
[INFO] [stdout] test generator::log_replay::tests::severity_is_always_info ... ok
[INFO] [stdout] test generator::log_replay::tests::tick_above_u32_max_uses_u64_modulo ... ok
[INFO] [stdout] test generator::log_replay::tests::tick_five_wraps_to_line_zero ... ok
[INFO] [stdout] test generator::log_replay::tests::tick_six_wraps_to_line_one ... ok
[INFO] [stdout] test generator::log_replay::tests::tick_ten_wraps_to_line_zero_again ... ok
[INFO] [stdout] test generator::log_replay::tests::tick_zero_returns_first_line ... ok
[INFO] [stdout] test generator::log_replay::tests::tick_at_u64_max_wraps_correctly ... ok
[INFO] [stdout] test generator::log_template::tests::empty_severity_weights_defaults_to_info ... ok
[INFO] [stdout] test generator::log_replay::tests::tick_four_returns_fifth_line ... ok
[INFO] [stdout] test generator::log_template::tests::empty_templates_returns_empty_info_event ... ok
[INFO] [stdout] test generator::log_template::tests::different_seeds_produce_different_output_for_same_tick ... ok
[INFO] [stdout] test generator::log_template::tests::fields_map_populated_even_if_placeholder_not_in_message ... ok
[INFO] [stdout] test generator::log_template::tests::large_tick_does_not_panic ... ok
[INFO] [stdout] test generator::log_template::tests::same_seed_and_tick_produce_identical_fields ... ok
[INFO] [stdout] test generator::log_template::tests::resolved_message_contains_selected_field_value ... ok
[INFO] [stdout] test generator::log_template::tests::log_template_generator_is_send_and_sync ... ok
[INFO] [stdout] test generator::log_template::tests::same_seed_and_tick_produce_identical_message ... ok
[INFO] [stdout] test generator::log_template::tests::resolved_message_contains_no_unresolved_placeholders ... ok
[INFO] [stdout] test generator::log_template::tests::same_seed_and_tick_produce_identical_severity ... ok
[INFO] [stdout] test generator::log_template::tests::template_only_placeholder_no_literal_text ... ok
[INFO] [stdout] test generator::log_template::tests::resolved_ip_value_comes_from_pool ... ok
[INFO] [stdout] test generator::log_template::tests::resolved_endpoint_value_comes_from_pool ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_adjacent_placeholders_resolves_both ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_no_placeholders_returns_literal ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_placeholder_at_start_and_end ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_empty_placeholder_name_preserved ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_repeated_placeholder_resolves_all_occurrences ... ok
[INFO] [stdout] test generator::log_template::tests::template_empty_message_returns_empty_string ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_unclosed_brace_copies_brace_literally ... ok
[INFO] [stdout] test generator::log_template::tests::tick_at_u64_max_selects_correct_template ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_unknown_placeholder_preserves_literal_braces ... ok
[INFO] [stdout] test generator::log_template::tests::template_mixed_known_and_unknown_placeholders ... ok
[INFO] [stdout] test generator::log_template::tests::tick_above_u32_max_selects_correct_template ... ok
[INFO] [stdout] test generator::log_template::tests::two_templates_selected_round_robin ... ok
[INFO] [stdout] test generator::sawtooth::tests::sawtooth_at_tick_zero_returns_min ... ok
[INFO] [stdout] test generator::sawtooth::tests::sawtooth_linear_ramp_between_ticks ... ok
[INFO] [stdout] test generator::sawtooth::tests::sawtooth_period_ticks_pre_computed_from_rate ... ok
[INFO] [stdout] test generator::sequence::tests::cpu_spike_pattern_produces_expected_values ... ok
[INFO] [stdout] test generator::sawtooth::tests::sawtooth_approaches_max_near_period_end ... ok
[INFO] [stdout] test generator::sawtooth::tests::sawtooth_at_period_boundary_resets_to_min ... ok
[INFO] [stdout] test generator::sawtooth::tests::sawtooth_resets_at_second_period ... ok
[INFO] [stdout] test generator::sequence::tests::determinism_same_tick_returns_same_value ... ok
[INFO] [stdout] test generator::sequence::tests::determinism_separate_instances_same_config ... ok
[INFO] [stdout] test generator::sequence::tests::handles_negative_values ... ok
[INFO] [stdout] test generator::sequence::tests::handles_special_float_values ... ok
[INFO] [stdout] test generator::sequence::tests::new_with_multiple_values_succeeds ... ok
[INFO] [stdout] test generator::sequence::tests::new_with_empty_values_returns_config_error ... ok
[INFO] [stdout] test generator::sequence::tests::new_with_single_value_succeeds ... ok
[INFO] [stdout] test generator::sequence::tests::no_repeat_at_exact_boundary_clamps_to_last ... ok
[INFO] [stdout] test generator::sequence::tests::new_with_empty_values_repeat_false_returns_config_error ... ok
[INFO] [stdout] test generator::sequence::tests::no_repeat_tick_at_u64_max_clamps_correctly ... ok
[INFO] [stdout] test generator::sequence::tests::no_repeat_tick_above_u32_max_clamps_correctly ... ok
[INFO] [stdout] test generator::sequence::tests::no_repeat_beyond_length_clamps_to_last ... ok
[INFO] [stdout] test generator::sequence::tests::no_repeat_tick_one_returns_second_value ... ok
[INFO] [stdout] test generator::sequence::tests::no_repeat_large_tick_does_not_panic ... ok
[INFO] [stdout] test generator::sequence::tests::no_repeat_single_value_always_returns_that_value ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_multiple_full_cycles ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_tick_one_returns_second_value ... ok
[INFO] [stdout] test generator::log_template::tests::severity_distribution_matches_weights_within_five_percent ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_wraps_at_sequence_boundary ... ok
[INFO] [stdout] test generator::sequence::tests::no_repeat_tick_zero_returns_first_value ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_wraps_correctly_at_tick_5 ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_large_tick_does_not_panic ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_tick_two_returns_third_value ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_tick_above_u32_max_uses_u64_modulo ... ok
[INFO] [stdout] test generator::sequence::tests::sequence_generator_is_send_and_sync ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_tick_at_u64_max_does_not_panic ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_single_value_always_returns_that_value ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_tick_zero_returns_first_value ... ok
[INFO] [stdout] test generator::sine::tests::sine_at_tick_zero_returns_offset ... ok
[INFO] [stdout] test generator::sine::tests::sine_at_half_period_returns_offset ... ok
[INFO] [stdout] test generator::sine::tests::sine_at_full_period_returns_offset ... ok
[INFO] [stdout] test generator::sine::tests::sine_at_quarter_period_returns_offset_plus_amplitude ... ok
[INFO] [stdout] test generator::sine::tests::sine_symmetry_around_offset ... ok
[INFO] [stdout] test generator::spike::tests::duration_ge_interval_always_spikes ... ok
[INFO] [stdout] test generator::spike::tests::duration_zero_always_baseline ... ok
[INFO] [stdout] test generator::spike::tests::duration_greater_than_interval_always_spikes ... ok
[INFO] [stdout] test generator::sine::tests::sine_period_ticks_pre_computed_from_rate ... ok
[INFO] [stdout] test generator::spike::tests::determinism_same_tick_same_value ... ok
[INFO] [stdout] test generator::spike::tests::exact_boundary_at_spike_end ... ok
[INFO] [stdout] test generator::spike::tests::different_rate_values_produce_different_tick_boundaries ... ok
[INFO] [stdout] test generator::spike::tests::exact_boundary_at_second_interval ... ok
[INFO] [stdout] test generator::spike::tests::large_tick_values_do_not_panic ... ok
[INFO] [stdout] test generator::spike::tests::negative_magnitude_dips_below_baseline ... ok
[INFO] [stdout] test generator::spike::tests::rate_adjusts_period_ticks ... ok
[INFO] [stdout] test generator::spike::tests::exact_boundary_at_spike_start ... ok
[INFO] [stdout] test generator::step::tests::fractional_step_size ... ok
[INFO] [stdout] test generator::step::tests::fractional_step_with_wrap ... ok
[INFO] [stdout] test generator::step::tests::large_tick_unbounded_does_not_panic ... ok
[INFO] [stdout] test generator::step::tests::linear_increase_with_nonzero_start ... ok
[INFO] [stdout] test generator::step::tests::large_tick_values_do_not_panic ... ok
[INFO] [stdout] test generator::step::tests::max_equal_to_start_acts_as_no_wrap ... ok
[INFO] [stdout] test generator::step::tests::linear_increase_without_max ... ok
[INFO] [stdout] test generator::step::tests::determinism_same_tick_same_value ... ok
[INFO] [stdout] test generator::step::tests::max_none_is_unbounded ... ok
[INFO] [stdout] test generator::spike::tests::tick_during_baseline_period_returns_baseline ... ok
[INFO] [stdout] test generator::step::tests::max_less_than_start_acts_as_no_wrap ... ok
[INFO] [stdout] test generator::step::tests::wrap_around_with_nonzero_start ... ok
[INFO] [stdout] test generator::step::tests::zero_step_size_returns_start ... ok
[INFO] [stdout] test generator::summary::tests::count_and_sum_never_decrease ... ok
[INFO] [stdout] test generator::summary::tests::count_equals_observations_times_ticks ... ok
[INFO] [stdout] test generator::step::tests::tick_zero_returns_start ... ok
[INFO] [stdout] test generator::step::tests::tick_zero_returns_start_with_max ... ok
[INFO] [stdout] test generator::summary::tests::default_quantiles_are_valid ... ok
[INFO] [stdout] test generator::step::tests::wrap_around_at_max_boundary ... ok
[INFO] [stdout] test generator::summary::tests::default_quantiles_have_expected_count ... ok
[INFO] [stdout] test generator::step::tests::negative_step_with_wrap_stays_in_range ... ok
[INFO] [stdout] test generator::spike::tests::tick_during_spike_period_returns_baseline_plus_magnitude ... ok
[INFO] [stdout] test generator::step::tests::negative_step_size ... ok
[INFO] [stdout] test generator::summary::tests::summary_generator_is_send ... ok
[INFO] [stdout] test generator::summary::tests::different_seeds_produce_different_output ... ok
[INFO] [stdout] test generator::summary::tests::quantile_values_are_non_decreasing ... ok
[INFO] [stdout] test generator::summary::tests::same_seed_produces_identical_output ... ok
[INFO] [stdout] test generator::tests::deserialize_log_replay_config ... ok
[INFO] [stdout] test generator::tests::deserialize_sawtooth_config ... ok
[INFO] [stdout] test generator::tests::deserialize_sequence_config_repeat_false ... ok
[INFO] [stdout] test generator::tests::deserialize_log_template_config_minimal ... ok
[INFO] [stdout] test generator::tests::deserialize_sequence_config_integer_values ... ok
[INFO] [stdout] test generator::summary::tests::summary_sample_is_send_and_sync ... ok
[INFO] [stdout] test generator::tests::deserialize_sine_config ... ok
[INFO] [stdout] test generator::tests::deserialize_example_yaml_scenario_file ... ok
[INFO] [stdout] test generator::tests::deserialize_spike_config ... ok
[INFO] [stdout] test generator::tests::deserialize_step_config_integer_values ... ok
[INFO] [stdout] test generator::tests::deserialize_log_template_config_with_weights_and_seed ... ok
[INFO] [stdout] test generator::tests::deserialize_constant_config ... ok
[INFO] [stdout] test generator::tests::deserialize_step_config_minimal ... ok
[INFO] [stdout] test generator::tests::deserialize_uniform_config_with_seed ... ok
[INFO] [stdout] test generator::tests::deserialize_step_config_full ... ok
[INFO] [stdout] test generator::tests::factory_constant_returns_configured_value ... ok
[INFO] [stdout] test generator::tests::deserialize_uniform_config_without_seed ... ok
[INFO] [stdout] test generator::tests::factory_sawtooth_value_at_zero_equals_min ... ok
[INFO] [stdout] test generator::tests::factory_replay_config_creates_working_generator ... ok
[INFO] [stdout] test generator::tests::factory_sequence_empty_values_returns_error ... ok
[INFO] [stdout] test generator::tests::factory_sequence_repeat_false_creates_working_generator ... ok
[INFO] [stdout] test generator::tests::factory_sequence_repeat_none_defaults_to_true ... ok
[INFO] [stdout] test generator::tests::factory_sequence_repeat_true_creates_working_generator ... ok
[INFO] [stdout] test generator::tests::factory_sine_value_at_zero_equals_offset ... ok
[INFO] [stdout] test generator::tests::factory_spike_negative_duration_returns_error ... ok
[INFO] [stdout] test generator::tests::factory_spike_negative_interval_returns_error ... ok
[INFO] [stdout] test generator::tests::factory_spike_returns_baseline_outside_window ... ok
[INFO] [stdout] test generator::tests::factory_spike_returns_spike_inside_window ... ok
[INFO] [stdout] test generator::tests::factory_spike_zero_duration_succeeds ... ok
[INFO] [stdout] test generator::tests::factory_spike_zero_interval_returns_error ... ok
[INFO] [stdout] test generator::tests::factory_step_linear_growth ... ok
[INFO] [stdout] test generator::tests::factory_step_start_none_defaults_to_zero ... ok
[INFO] [stdout] test generator::tests::factory_step_with_start ... ok
[INFO] [stdout] test generator::tests::factory_step_with_wrap ... ok
[INFO] [stdout] test generator::tests::deserialize_sequence_config_with_repeat ... ok
[INFO] [stdout] test generator::tests::factory_template_invalid_severity_key_returns_error ... ok
[INFO] [stdout] test generator::tests::deserialize_sequence_config_without_repeat ... ok
[INFO] [stdout] test generator::tests::deserialize_spike_config_negative_magnitude ... ok
[INFO] [stdout] test generator::tests::factory_csv_replay_with_columns_returns_error ... ok
[INFO] [stdout] test generator::tests::factory_replay_config_missing_file_returns_error ... ok
[INFO] [stdout] test generator::tests::log_generators_are_send_and_sync ... ok
[INFO] [stdout] test generator::tests::generators_are_send_and_sync ... ok
[INFO] [stdout] test generator::tests::wrap_with_jitter_none_returns_unchanged ... ok
[INFO] [stdout] test generator::tests::wrap_with_jitter_seed_none_defaults_to_zero ... ok
[INFO] [stdout] test generator::tests::wrap_with_jitter_zero_returns_unchanged ... ok
[INFO] [stdout] test generator::uniform::tests::all_values_within_range_for_10000_ticks ... ok
[INFO] [stdout] test generator::tests::wrap_with_jitter_positive_produces_values_in_range ... ok
[INFO] [stdout] test generator::uniform::tests::determinism_across_instances ... ok
[INFO] [stdout] test generator::uniform::tests::different_ticks_produce_different_values ... ok
[INFO] [stdout] test generator::uniform::tests::same_seed_and_tick_returns_same_value ... ok
[INFO] [stdout] test generator::tests::factory_template_config_creates_working_generator ... ok
[INFO] [stdout] test generator::uniform::tests::zero_range_returns_min ... ok
[INFO] [stdout] test generator::summary::tests::normal_distribution_p50_near_mean ... ok
[INFO] [stdout] test generator::tests::factory_template_config_seed_none_defaults_correctly ... ok
[INFO] [stdout] test generator::uniform::tests::different_seeds_produce_different_sequences ... ok
[INFO] [stdout] test model::log::tests::fields_are_sorted_by_key ... ok
[INFO] [stdout] test generator::tests::factory_uniform_returns_values_in_range ... ok
[INFO] [stdout] test generator::tests::factory_uniform_seed_none_defaults_to_zero_seed ... ok
[INFO] [stdout] test model::log::tests::log_event_clone_preserves_labels ... ok
[INFO] [stdout] test model::log::tests::log_event_clone_is_independent ... ok
[INFO] [stdout] test model::log::tests::new_stores_severity_message_and_fields ... ok
[INFO] [stdout] test model::log::tests::log_event_is_send_and_sync ... ok
[INFO] [stdout] test model::log::tests::new_stores_labels_correctly ... ok
[INFO] [stdout] test model::log::tests::new_uses_current_timestamp ... ok
[INFO] [stdout] test model::log::tests::new_with_empty_fields_succeeds ... ok
[INFO] [stdout] test model::log::tests::new_with_empty_labels_has_no_labels ... ok
[INFO] [stdout] test model::log::tests::severity_debug_serializes_to_lowercase_json ... ok
[INFO] [stdout] test model::log::tests::severity_deserializes_from_lowercase_debug ... ok
[INFO] [stdout] test model::log::tests::severity_deserializes_from_lowercase_error ... ok
[INFO] [stdout] test model::log::tests::severity_deserializes_from_lowercase_fatal ... ok
[INFO] [stdout] test model::log::tests::severity_equal_variants_compare_as_equal ... ok
[INFO] [stdout] test model::log::tests::severity_deserializes_from_lowercase_trace ... ok
[INFO] [stdout] test model::log::tests::severity_deserializes_from_lowercase_warn ... ok
[INFO] [stdout] test model::log::tests::severity_error_serializes_to_lowercase_json ... ok
[INFO] [stdout] test model::log::tests::severity_error_serializes_to_lowercase_yaml ... ok
[INFO] [stdout] test model::log::tests::severity_deserializes_from_lowercase_info ... ok
[INFO] [stdout] test model::log::tests::severity_fatal_serializes_to_lowercase_json ... ok
[INFO] [stdout] test model::log::tests::severity_info_serializes_to_lowercase_json ... ok
[INFO] [stdout] test model::log::tests::severity_ordering_follows_severity_ladder ... ok
[INFO] [stdout] test model::log::tests::severity_info_serializes_to_lowercase_yaml ... ok
[INFO] [stdout] test model::log::tests::severity_is_send_and_sync ... ok
[INFO] [stdout] test model::log::tests::severity_rejects_uppercase_deserialization ... ok
[INFO] [stdout] test model::log::tests::severity_sort_produces_ascending_order ... ok
[INFO] [stdout] test model::log::tests::with_timestamp_at_unix_epoch_is_valid ... ok
[INFO] [stdout] test model::log::tests::severity_trace_serializes_to_lowercase_json ... ok
[INFO] [stdout] test model::log::tests::severity_warn_serializes_to_lowercase_json ... ok
[INFO] [stdout] test model::log::tests::with_timestamp_stores_all_fields_correctly ... ok
[INFO] [stdout] test model::log::tests::with_timestamp_uses_exact_provided_timestamp ... ok
[INFO] [stdout] test model::log::tests::severity_partial_ord_consistent_with_ord ... ok
[INFO] [stdout] test model::log::tests::severity_rejects_unknown_variant ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_with_digit_leading_key_returns_config_error ... ok
[INFO] [stdout] test model::log::tests::with_timestamp_stores_labels_correctly ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_error_message_includes_invalid_key ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_stores_correct_values ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_duplicate_key_last_write_wins ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_with_empty_key_returns_config_error ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_with_hyphen_in_key_returns_config_error ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_with_mixed_alphanumeric_key_returns_ok ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_with_multiple_valid_pairs_returns_ok ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_with_single_valid_pair_returns_ok ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_with_space_in_key_returns_config_error ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_with_underscore_leading_key_returns_ok ... ok
[INFO] [stdout] test model::metric::tests::from_parts_constructs_event_with_given_fields ... ok
[INFO] [stdout] test model::metric::tests::from_parts_preserves_exact_timestamp ... ok
[INFO] [stdout] test model::metric::tests::from_parts_requires_validated_name ... ok
[INFO] [stdout] test model::metric::tests::insert_adds_new_key ... ok
[INFO] [stdout] test model::metric::tests::insert_into_empty_labels ... ok
[INFO] [stdout] test model::metric::tests::insert_maintains_sorted_order ... ok
[INFO] [stdout] test model::metric::tests::insert_overwrites_existing_key ... ok
[INFO] [stdout] test model::metric::tests::is_empty_returns_false_for_nonempty_label_set ... ok
[INFO] [stdout] test model::metric::tests::is_empty_returns_true_for_empty_label_set ... ok
[INFO] [stdout] test model::metric::tests::labels_arc_is_shared_across_cloned_events ... ok
[INFO] [stdout] test model::metric::tests::labels_arc_is_shared_between_from_parts_and_source ... ok
[INFO] [stdout] test model::metric::tests::labels_is_send_and_sync ... ok
[INFO] [stdout] test model::metric::tests::labels_iter_yields_keys_in_sorted_order ... ok
[INFO] [stdout] test model::metric::tests::len_returns_count_of_unique_keys ... ok
[INFO] [stdout] test model::metric::tests::metric_event_is_send_and_sync ... ok
[INFO] [stdout] test model::metric::tests::metric_event_new_error_message_includes_invalid_name ... ok
[INFO] [stdout] test model::metric::tests::metric_event_new_timestamp_is_after_unix_epoch ... ok
[INFO] [stdout] test model::metric::tests::metric_event_new_with_colon_in_name_returns_ok ... ok
[INFO] [stdout] test model::metric::tests::metric_event_new_with_colon_leading_name_returns_ok ... ok
[INFO] [stdout] test model::metric::tests::metric_event_new_with_dash_in_name_returns_config_error ... ok
[INFO] [stdout] test model::metric::tests::metric_event_new_with_digit_leading_name_returns_config_error ... ok
[INFO] [stdout] test model::metric::tests::metric_event_new_with_double_underscore_prefix_returns_ok ... ok
[INFO] [stdout] test model::metric::tests::metric_event_new_with_empty_name_returns_config_error ... ok
[INFO] [stdout] test model::metric::tests::metric_event_new_with_underscored_name_returns_ok ... ok
[INFO] [stdout] test model::metric::tests::metric_event_new_with_valid_name_returns_ok ... ok
[INFO] [stdout] test model::metric::tests::multiple_events_from_same_validated_name_share_allocation ... ok
[INFO] [stdout] test model::metric::tests::name_arc_is_shared_across_cloned_events ... ok
[INFO] [stdout] test model::metric::tests::name_arc_is_shared_between_from_parts_and_source ... ok
[INFO] [stdout] test model::metric::tests::new_wraps_labels_in_arc ... ok
[INFO] [stdout] test model::metric::tests::new_wraps_name_in_validated_metric_name ... ok
[INFO] [stdout] test model::metric::tests::validated_name_accepts_colon_prefix ... ok
[INFO] [stdout] test model::metric::tests::validated_name_accepts_name_with_colons ... ok
[INFO] [stdout] test model::metric::tests::validated_name_accepts_simple_name ... ok
[INFO] [stdout] test model::metric::tests::validated_name_accepts_underscored_name ... ok
[INFO] [stdout] test model::metric::tests::validated_name_as_bytes_works_via_deref ... ok
[INFO] [stdout] test model::metric::tests::validated_name_as_ref_returns_str ... ok
[INFO] [stdout] test model::metric::tests::validated_name_clone_shares_arc_allocation ... ok
[INFO] [stdout] test model::metric::tests::validated_name_is_send_and_sync ... ok
[INFO] [stdout] test model::metric::tests::validated_name_deref_returns_str ... ok
[INFO] [stdout] test model::metric::tests::validated_name_display_shows_name ... ok
[INFO] [stdout] test model::metric::tests::validated_name_eq_compares_by_value ... ok
[INFO] [stdout] test model::metric::tests::validated_name_ne_for_different_values ... ok
[INFO] [stdout] test model::metric::tests::validated_name_rejects_dash_in_name ... ok
[INFO] [stdout] test model::metric::tests::validated_name_rejects_digit_leading ... ok
[INFO] [stdout] test model::metric::tests::validated_name_rejects_empty_string ... ok
[INFO] [stdout] test model::metric::tests::with_timestamp_stores_epoch_zero_timestamp ... ok
[INFO] [stdout] test model::metric::tests::with_timestamp_stores_exact_provided_timestamp ... ok
[INFO] [stdout] test model::metric::tests::with_timestamp_stores_name_and_value_correctly ... ok
[INFO] [stdout] test model::metric::tests::with_timestamp_validates_name_same_as_new ... ok
[INFO] [stdout] test model::metric::tests::with_timestamp_wraps_labels_in_arc ... ok
[INFO] [stdout] test model::metric::tests::with_timestamp_wraps_name_in_validated_metric_name ... ok
[INFO] [stdout] test packs::tests::expand_pack_applies_generator_override ... ok
[INFO] [stdout] test packs::tests::expand_pack_errors_on_empty_metrics ... ok
[INFO] [stdout] test packs::tests::expand_pack_errors_on_unknown_override_key ... ok
[INFO] [stdout] test packs::tests::expand_pack_merges_labels_in_correct_order ... ok
[INFO] [stdout] test packs::tests::expand_pack_override_labels_merge_on_top ... ok
[INFO] [stdout] test packs::tests::expand_pack_produces_one_entry_per_metric ... ok
[INFO] [stdout] test packs::tests::expand_pack_propagates_rate_and_duration ... ok
[INFO] [stdout] test packs::tests::expand_pack_propagates_sink_and_encoder ... ok
[INFO] [stdout] test packs::tests::expand_pack_uses_default_generator_when_none ... ok
[INFO] [stdout] test packs::tests::metric_pack_def_is_send_and_sync ... ok
[INFO] [stdout] test packs::tests::pack_scenario_config_deserializes_from_yaml ... ok
[INFO] [stdout] test packs::tests::pack_scenario_config_with_overrides_deserializes ... ok
[INFO] [stdout] test scenarios::tests::builtin_scenario_clone_produces_equal_value ... ok
[INFO] [stdout] test scenarios::tests::builtin_scenario_debug_output_is_non_empty ... ok
[INFO] [stdout] test scenarios::tests::builtin_scenario_is_send_and_sync ... ok
[INFO] [stdout] test schedule::core_loop::tests::loop_propagates_tick_error ... ok
[INFO] [stdout] test schedule::core_loop::tests::tick_result_carries_all_fields ... ok
[INFO] [stdout] test schedule::core_loop::tests::loop_passes_spike_windows_to_tick_fn ... ok
[INFO] [stdout] test schedule::handle::tests::elapsed_returns_positive_duration ... ok
[INFO] [stdout] test schedule::handle::tests::elapsed_grows_monotonically_after_sleep ... ok
[INFO] [stdout] test schedule::handle::tests::is_running_returns_false_after_stop_and_join ... ok
[INFO] [stdout] test schedule::handle::tests::is_running_returns_true_for_live_thread ... ok
[INFO] [stdout] test schedule::handle::tests::join_is_idempotent_after_first_call ... ok
[INFO] [stdout] test schedule::handle::tests::join_none_timeout_waits_for_thread_and_returns_ok ... ok
[INFO] [stdout] test schedule::handle::tests::is_running_returns_false_when_thread_is_none ... ok
[INFO] [stdout] test schedule::handle::tests::recent_metrics_clears_buffer_after_drain ... ok
[INFO] [stdout] test schedule::handle::tests::recent_metrics_drains_pushed_events ... ok
[INFO] [stdout] test schedule::handle::tests::recent_metrics_on_fresh_handle_returns_empty ... ok
[INFO] [stdout] test schedule::handle::tests::recent_metrics_recovers_from_poisoned_lock ... ok
[INFO] [stdout] test schedule::handle::tests::scenario_handle_is_send ... ok
[INFO] [stdout] test schedule::handle::tests::stats_snapshot_on_fresh_handle_returns_zeros ... ok
[INFO] [stdout] test schedule::handle::tests::stats_snapshot_recovers_from_poisoned_lock ... ok
[INFO] [stdout] test schedule::core_loop::tests::loop_pushes_metric_events_to_stats_buffer ... ok
[INFO] [stdout] test schedule::core_loop::tests::loop_stops_on_shutdown_flag ... ok
[INFO] [stdout] test schedule::core_loop::tests::loop_updates_stats ... ok
[INFO] [stdout] test schedule::handle::tests::stop_sets_shutdown_flag_to_false ... ok
[INFO] [stdout] test schedule::handle::tests::join_with_short_timeout_returns_ok_without_consuming_thread ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::format_le_fractional_value ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::format_le_integer_value ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::bucket_events_have_le_label ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::config_labels_appear_in_output ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::custom_buckets_appear_in_output ... ok
[INFO] [stdout] test schedule::launch::tests::elapsed_is_positive_after_launch ... ok
[INFO] [stdout] test schedule::handle::tests::stats_snapshot_returns_nonzero_total_events_after_running ... ok
[INFO] [stdout] test schedule::core_loop::tests::loop_emits_events_for_duration ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::run_completes_for_short_duration ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::output_contains_bucket_count_sum_series ... ok
[INFO] [stdout] natural_exit 1 1777253812545
[INFO] [stdout] natural_exit 1 1777253812565
[INFO] [stdout] natural_exit 1 1777253812585
[INFO] [stdout] natural_exit 1 1777253812605
[INFO] [stdout] natural_exit 1 1777253812625
[INFO] [stdout] natural_exit 1 1777253812645
[INFO] [stdout] natural_exit 1 1777253812665
[INFO] [stdout] natural_exit 1 1777253812685
[INFO] [stdout] natural_exit 1 1777253812705
[INFO] [stdout] natural_exit 1 1777253812725
[INFO] [stdout] natural_exit 1 1777253812745
[INFO] [stdout] test schedule::launch::tests::finite_duration_scenario_exits_naturally_and_join_returns_ok ... ok
[INFO] [stdout] test schedule::launch::tests::launch_scenario_logs_returns_running_handle ... ok
[INFO] [stdout] test schedule::launch::tests::launch_scenario_metrics_returns_running_handle ... ok
[INFO] [stdout] test schedule::launch::tests::launch_scenario_resets_shutdown_flag_to_true ... ok
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 2 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 5 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 9 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 18 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 30 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 45 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 50 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="1"} 50 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 50 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="5"} 50 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="10"} 50 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 50 1777253812649
[INFO] [stdout] launch_histogram_count 50 1777253812649
[INFO] [stdout] launch_histogram_sum 5.1933677371398215 1777253812649
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 4 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 9 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 20 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 37 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 56 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 89 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 100 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="1"} 100 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 100 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="5"} 100 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="10"} 100 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 100 1777253812669
[INFO] [stdout] launch_histogram_count 100 1777253812669
[INFO] [stdout] launch_histogram_sum 10.801200722807684 1777253812669
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 6 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 17 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 32 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 56 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 86 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 133 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 150 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="1"} 150 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 150 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="5"} 150 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="10"} 150 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 150 1777253812689
[INFO] [stdout] launch_histogram_count 150 1777253812689
[INFO] [stdout] launch_histogram_sum 16.23392453676642 1777253812689
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 10 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 23 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 44 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 72 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 118 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 179 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 199 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="1"} 200 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 200 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="5"} 200 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="10"} 200 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 200 1777253812709
[INFO] [stdout] launch_histogram_count 200 1777253812709
[INFO] [stdout] launch_histogram_sum 21.585516015112656 1777253812709
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 11 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 27 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 51 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 88 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 153 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 224 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 249 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="1"} 250 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 250 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="5"} 250 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="10"} 250 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 250 1777253812729
[INFO] [stdout] launch_histogram_count 250 1777253812729
[INFO] [stdout] launch_histogram_sum 26.588298225290494 1777253812729
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 12 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 33 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 62 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 108 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 186 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 268 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 299 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="1"} 300 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 300 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="5"} 300 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="10"} 300 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 300 1777253812749
[INFO] [stdout] launch_histogram_count 300 1777253812749
[INFO] [stdout] launch_histogram_sum 31.72928527314738 1777253812749
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 18 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 41 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 76 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 129 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 220 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 317 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 349 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="1"} 350 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 350 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="5"} 350 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="10"} 350 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 350 1777253812769
[INFO] [stdout] launch_histogram_count 350 1777253812769
[INFO] [stdout] launch_histogram_sum 35.67054956209154 1777253812769
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 19 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 45 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 84 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 142 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 246 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 365 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 399 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="1"} 400 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 400 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="5"} 400 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="10"} 400 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 400 1777253812789
[INFO] [stdout] launch_histogram_count 400 1777253812789
[INFO] [stdout] launch_histogram_sum 40.933766940406336 1777253812789
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 21 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 48 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 91 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 161 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 276 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 412 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 449 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="1"} 450 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 450 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="5"} 450 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="10"} 450 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 450 1777253812809
[INFO] [stdout] launch_histogram_count 450 1777253812809
[INFO] [stdout] launch_histogram_sum 45.611123634938906 1777253812809
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 25 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 57 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 104 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 181 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 308 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 457 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 499 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="1"} 500 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 500 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="5"} 500 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="10"} 500 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 500 1777253812829
[INFO] [stdout] launch_histogram_count 500 1777253812829
[INFO] [stdout] launch_histogram_sum 50.47970137799065 1777253812829
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 26 1777253812849
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 60 1777253812849
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 110 1777253812849
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 195 1777253812849
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 341 1777253812849
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 506 1777253812849
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 549 1777253812849
[INFO] [stdout] launch_histogram_bucket{le="1"} 550 1777253812849
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 550 1777253812849
[INFO] [stdout] launch_histogram_bucket{le="5"} 550 1777253812849
[INFO] [stdout] launch_histogram_bucket{le="10"} 550 1777253812849
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 550 1777253812849
[INFO] [stdout] launch_histogram_count 550 1777253812849
[INFO] [stdout] launch_histogram_sum 55.12208728489055 1777253812849
[INFO] [stdout] test schedule::launch::tests::launch_histogram_scenario_runs_to_completion ... ok
[INFO] [stdout] test schedule::launch::tests::prepare_entries_empty_list_returns_empty ... ok
[INFO] [stdout] test schedule::launch::tests::prepare_entries_error_index_refers_to_original_input_index ... ok
[INFO] [stdout] test schedule::launch::tests::prepare_entries_mixed_signal_types ... ok
[INFO] [stdout] test schedule::launch::tests::prepare_entries_phase_offset_error_references_original_index ... ok
[INFO] [stdout] test schedule::launch::tests::prepare_entries_rejects_invalid_entry ... ok
[INFO] [stdout] test schedule::launch::tests::prepare_entries_rejects_invalid_phase_offset ... ok
[INFO] [stdout] test schedule::launch::tests::prepare_entries_resolves_phase_offset ... ok
[INFO] [stdout] test schedule::launch::tests::prepare_entries_single_valid_entry ... ok
[INFO] [stdout] test schedule::launch::tests::prepare_entries_zero_phase_offset_is_none ... ok
[INFO] [stdout] test schedule::launch::tests::prepared_entry_is_debuggable ... ok
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09841175164242912 1777253812755
[INFO] [stdout] launch_summary{quantile="0.9"} 0.11710086165412449 1777253812755
[INFO] [stdout] launch_summary{quantile="0.95"} 0.13667066120461982 1777253812755
[INFO] [stdout] launch_summary{quantile="0.99"} 0.1484522785729533 1777253812755
[INFO] [stdout] launch_summary_count 50 1777253812755
[INFO] [stdout] launch_summary_sum 4.870909134566461 1777253812755
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09624363780211248 1777253812775
[INFO] [stdout] launch_summary{quantile="0.9"} 0.11159670693236098 1777253812775
[INFO] [stdout] launch_summary{quantile="0.95"} 0.12310119496624224 1777253812775
[INFO] [stdout] launch_summary{quantile="0.99"} 0.12711526003018447 1777253812775
[INFO] [stdout] launch_summary_count 100 1777253812775
[INFO] [stdout] launch_summary_sum 9.575199992825452 1777253812775
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09925048553126276 1777253812795
[INFO] [stdout] launch_summary{quantile="0.9"} 0.1277767102315812 1777253812795
[INFO] [stdout] launch_summary{quantile="0.95"} 0.13400536983183764 1777253812795
[INFO] [stdout] launch_summary{quantile="0.99"} 0.14364384985767467 1777253812795
[INFO] [stdout] launch_summary_count 150 1777253812795
[INFO] [stdout] launch_summary_sum 14.584036916824473 1777253812795
[INFO] [stdout] launch_summary{quantile="0.5"} 0.10072871506156929 1777253812816
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12084462471143154 1777253812816
[INFO] [stdout] launch_summary{quantile="0.95"} 0.12304673490302986 1777253812816
[INFO] [stdout] launch_summary{quantile="0.99"} 0.15395292211324813 1777253812816
[INFO] [stdout] launch_summary_count 200 1777253812816
[INFO] [stdout] launch_summary_sum 19.625065995975657 1777253812816
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09946360503036909 1777253812835
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12338470702142926 1777253812835
[INFO] [stdout] launch_summary{quantile="0.95"} 0.1322658418711261 1777253812835
[INFO] [stdout] launch_summary{quantile="0.99"} 0.13486638961774144 1777253812835
[INFO] [stdout] launch_summary_count 250 1777253812835
[INFO] [stdout] launch_summary_sum 24.62808021086662 1777253812835
[INFO] [stdout] launch_summary{quantile="0.5"} 0.10462471888042003 1777253812855
[INFO] [stdout] launch_summary{quantile="0.9"} 0.1279909313272704 1777253812855
[INFO] [stdout] launch_summary{quantile="0.95"} 0.1345662155145832 1777253812855
[INFO] [stdout] launch_summary{quantile="0.99"} 0.14022149530352757 1777253812855
[INFO] [stdout] launch_summary_count 300 1777253812855
[INFO] [stdout] launch_summary_sum 29.88337214657162 1777253812855
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09802189808632175 1777253812875
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12892553514080807 1777253812875
[INFO] [stdout] launch_summary{quantile="0.95"} 0.1390699818731617 1777253812875
[INFO] [stdout] launch_summary{quantile="0.99"} 0.16664182709778774 1777253812875
[INFO] [stdout] launch_summary_count 350 1777253812875
[INFO] [stdout] launch_summary_sum 34.935136947473595 1777253812875
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09656718615001322 1777253812895
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12060888737820927 1777253812895
[INFO] [stdout] launch_summary{quantile="0.95"} 0.12756269856628186 1777253812895
[INFO] [stdout] launch_summary{quantile="0.99"} 0.14054471430159418 1777253812895
[INFO] [stdout] launch_summary_count 400 1777253812895
[INFO] [stdout] launch_summary_sum 39.81371329053099 1777253812895
[INFO] [stdout] launch_summary{quantile="0.5"} 0.10566307598748581 1777253812915
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12611975192467734 1777253812915
[INFO] [stdout] launch_summary{quantile="0.95"} 0.13107211113659578 1777253812915
[INFO] [stdout] launch_summary{quantile="0.99"} 0.13155530200591778 1777253812915
[INFO] [stdout] launch_summary_count 450 1777253812915
[INFO] [stdout] launch_summary_sum 44.967870239221504 1777253812915
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09953719771472015 1777253812935
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12704228091368275 1777253812935
[INFO] [stdout] launch_summary{quantile="0.95"} 0.1290986256938146 1777253812935
[INFO] [stdout] launch_summary{quantile="0.99"} 0.1379225952468997 1777253812935
[INFO] [stdout] launch_summary_count 500 1777253812935
[INFO] [stdout] launch_summary_sum 49.97532019882878 1777253812935
[INFO] [stdout] launch_summary{quantile="0.5"} 0.10064575188756542 1777253812955
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12460264702456356 1777253812955
[INFO] [stdout] launch_summary{quantile="0.95"} 0.12679166440191006 1777253812955
[INFO] [stdout] launch_summary{quantile="0.99"} 0.13623879311347523 1777253812955
[INFO] [stdout] launch_summary_count 550 1777253812955
[INFO] [stdout] launch_summary_sum 54.99486038285484 1777253812955
[INFO] [stdout] no_delay_test 1 1777253812761
[INFO] [stdout] no_delay_test 1 1777253812763
[INFO] [stdout] no_delay_test 1 1777253812765
[INFO] [stdout] no_delay_test 1 1777253812768
[INFO] [stdout] no_delay_test 1 1777253812769
[INFO] [stdout] no_delay_test 1 1777253812771
[INFO] [stdout] no_delay_test 1 1777253812773
[INFO] [stdout] no_delay_test 1 1777253812775
[INFO] [stdout] no_delay_test 1 1777253812777
[INFO] [stdout] no_delay_test 1 1777253812779
[INFO] [stdout] no_delay_test 1 1777253812781
[INFO] [stdout] no_delay_test 1 1777253812783
[INFO] [stdout] no_delay_test 1 1777253812785
[INFO] [stdout] no_delay_test 1 1777253812787
[INFO] [stdout] no_delay_test 1 1777253812789
[INFO] [stdout] no_delay_test 1 1777253812791
[INFO] [stdout] no_delay_test 1 1777253812793
[INFO] [stdout] no_delay_test 1 1777253812796
[INFO] [stdout] no_delay_test 1 1777253812797
[INFO] [stdout] no_delay_test 1 1777253812799
[INFO] [stdout] no_delay_test 1 1777253812801
[INFO] [stdout] no_delay_test 1 1777253812803
[INFO] [stdout] no_delay_test 1 1777253812805
[INFO] [stdout] no_delay_test 1 1777253812807
[INFO] [stdout] no_delay_test 1 1777253812809
[INFO] [stdout] no_delay_test 1 1777253812811
[INFO] [stdout] no_delay_test 1 1777253812813
[INFO] [stdout] no_delay_test 1 1777253812815
[INFO] [stdout] no_delay_test 1 1777253812817
[INFO] [stdout] no_delay_test 1 1777253812819
[INFO] [stdout] no_delay_test 1 1777253812821
[INFO] [stdout] no_delay_test 1 1777253812823
[INFO] [stdout] no_delay_test 1 1777253812825
[INFO] [stdout] no_delay_test 1 1777253812827
[INFO] [stdout] no_delay_test 1 1777253812829
[INFO] [stdout] no_delay_test 1 1777253812831
[INFO] [stdout] no_delay_test 1 1777253812833
[INFO] [stdout] no_delay_test 1 1777253812835
[INFO] [stdout] no_delay_test 1 1777253812837
[INFO] [stdout] no_delay_test 1 1777253812839
[INFO] [stdout] no_delay_test 1 1777253812841
[INFO] [stdout] no_delay_test 1 1777253812843
[INFO] [stdout] no_delay_test 1 1777253812845
[INFO] [stdout] no_delay_test 1 1777253812847
[INFO] [stdout] no_delay_test 1 1777253812849
[INFO] [stdout] no_delay_test 1 1777253812851
[INFO] [stdout] no_delay_test 1 1777253812853
[INFO] [stdout] no_delay_test 1 1777253812855
[INFO] [stdout] no_delay_test 1 1777253812857
[INFO] [stdout] no_delay_test 1 1777253812859
[INFO] [stdout] no_delay_test 1 1777253812861
[INFO] [stdout] no_delay_test 1 1777253812863
[INFO] [stdout] no_delay_test 1 1777253812865
[INFO] [stdout] no_delay_test 1 1777253812867
[INFO] [stdout] no_delay_test 1 1777253812869
[INFO] [stdout] no_delay_test 1 1777253812871
[INFO] [stdout] no_delay_test 1 1777253812873
[INFO] [stdout] no_delay_test 1 1777253812876
[INFO] [stdout] no_delay_test 1 1777253812877
[INFO] [stdout] no_delay_test 1 1777253812879
[INFO] [stdout] no_delay_test 1 1777253812881
[INFO] [stdout] no_delay_test 1 1777253812883
[INFO] [stdout] no_delay_test 1 1777253812887
[INFO] [stdout] no_delay_test 1 1777253812887
[INFO] [stdout] no_delay_test 1 1777253812889
[INFO] [stdout] no_delay_test 1 1777253812891
[INFO] [stdout] no_delay_test 1 1777253812893
[INFO] [stdout] no_delay_test 1 1777253812895
[INFO] [stdout] no_delay_test 1 1777253812897
[INFO] [stdout] no_delay_test 1 1777253812899
[INFO] [stdout] no_delay_test 1 1777253812901
[INFO] [stdout] no_delay_test 1 1777253812903
[INFO] [stdout] no_delay_test 1 1777253812905
[INFO] [stdout] no_delay_test 1 1777253812907
[INFO] [stdout] no_delay_test 1 1777253812909
[INFO] [stdout] no_delay_test 1 1777253812911
[INFO] [stdout] no_delay_test 1 1777253812913
[INFO] [stdout] no_delay_test 1 1777253812915
[INFO] [stdout] no_delay_test 1 1777253812917
[INFO] [stdout] no_delay_test 1 1777253812919
[INFO] [stdout] no_delay_test 1 1777253812921
[INFO] [stdout] no_delay_test 1 1777253812923
[INFO] [stdout] no_delay_test 1 1777253812925
[INFO] [stdout] no_delay_test 1 1777253812927
[INFO] [stdout] no_delay_test 1 1777253812929
[INFO] [stdout] no_delay_test 1 1777253812931
[INFO] [stdout] no_delay_test 1 1777253812933
[INFO] [stdout] no_delay_test 1 1777253812935
[INFO] [stdout] no_delay_test 1 1777253812937
[INFO] [stdout] no_delay_test 1 1777253812939
[INFO] [stdout] no_delay_test 1 1777253812941
[INFO] [stdout] no_delay_test 1 1777253812944
[INFO] [stdout] no_delay_test 1 1777253812945
[INFO] [stdout] no_delay_test 1 1777253812947
[INFO] [stdout] no_delay_test 1 1777253812949
[INFO] [stdout] no_delay_test 1 1777253812951
[INFO] [stdout] no_delay_test 1 1777253812953
[INFO] [stdout] no_delay_test 1 1777253812955
[INFO] [stdout] no_delay_test 1 1777253812957
[INFO] [stdout] no_delay_test 1 1777253812959
[INFO] [stdout] no_delay_test 1 1777253812961
[INFO] [stdout] test schedule::launch::tests::launch_summary_scenario_runs_to_completion ... ok
[INFO] [stdout] test schedule::launch::tests::launch_with_no_start_delay_emits_events_immediately ... ok
[INFO] [stdout] test schedule::launch::tests::shutdown_during_start_delay_exits_cleanly ... ok
[INFO] [stdout] test schedule::launch::tests::stop_then_join_logs_scenario_returns_ok ... ok
[INFO] [stdout] test schedule::launch::tests::stop_then_join_metrics_scenario_returns_ok ... ok
[INFO] [stdout] test schedule::launch::tests::validate_entry_accepts_valid_histogram_entry ... ok
[INFO] [stdout] test schedule::launch::tests::validate_entry_accepts_valid_logs_entry ... ok
[INFO] [stdout] test schedule::launch::tests::validate_entry_accepts_valid_metrics_entry ... ok
[INFO] [stdout] test schedule::launch::tests::validate_entry_accepts_valid_summary_entry ... ok
[INFO] [stdout] test schedule::launch::tests::validate_entry_rejects_logs_entry_with_zero_rate ... ok
[INFO] [stdout] test schedule::launch::tests::validate_entry_rejects_metrics_entry_with_bad_duration ... ok
[INFO] [stdout] test schedule::launch::tests::validate_entry_rejects_metrics_entry_with_negative_rate ... ok
[INFO] [stdout] test schedule::launch::tests::validate_entry_rejects_metrics_entry_with_zero_rate ... ok
[INFO] [stdout] test schedule::log_runner::tests::log_scenario_config_default_encoder_is_json_lines ... ok
[INFO] [stdout] test schedule::log_runner::tests::log_scenario_config_default_sink_is_stdout ... ok
[INFO] [stdout] test schedule::log_runner::tests::log_scenario_config_deserializes_replay_yaml ... ok
[INFO] [stdout] test schedule::log_runner::tests::log_scenario_config_deserializes_template_yaml ... ok
[INFO] [stdout] test schedule::log_runner::tests::log_scenario_config_is_clone_and_debug ... ok
[INFO] [stdout] test schedule::log_runner::tests::log_scenario_config_with_gaps_and_bursts_deserializes ... ok
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.971Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.973Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.975Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.977Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.979Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.981Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.983Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.985Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.987Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.989Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.991Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.993Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.995Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.997Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:52.999Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.002Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.003Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.005Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.007Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.009Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.011Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.013Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.015Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.017Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.019Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.021Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.023Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.025Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.027Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.029Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.031Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.033Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.035Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.037Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.039Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.041Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.044Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.045Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.047Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.049Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.052Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.053Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.055Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.057Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.060Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.061Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.063Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.065Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.067Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.070Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.071Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.073Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.075Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.077Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.079Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.081Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.083Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.085Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.087Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.089Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.091Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.093Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.095Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.097Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.099Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.101Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.103Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.105Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.107Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.109Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.111Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.113Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] stats_test 1 1777253812965
[INFO] [stdout] stats_test 1 1777253812967
[INFO] [stdout] stats_test 1 1777253812969
[INFO] [stdout] stats_test 1 1777253812971
[INFO] [stdout] stats_test 1 1777253812973
[INFO] [stdout] stats_test 1 1777253812975
[INFO] [stdout] stats_test 1 1777253812977
[INFO] [stdout] stats_test 1 1777253812979
[INFO] [stdout] stats_test 1 1777253812981
[INFO] [stdout] stats_test 1 1777253812983
[INFO] [stdout] stats_test 1 1777253812985
[INFO] [stdout] stats_test 1 1777253812987
[INFO] [stdout] stats_test 1 1777253812989
[INFO] [stdout] stats_test 1 1777253812991
[INFO] [stdout] stats_test 1 1777253812993
[INFO] [stdout] stats_test 1 1777253812995
[INFO] [stdout] stats_test 1 1777253812997
[INFO] [stdout] stats_test 1 1777253812999
[INFO] [stdout] stats_test 1 1777253813001
[INFO] [stdout] stats_test 1 1777253813003
[INFO] [stdout] stats_test 1 1777253813005
[INFO] [stdout] stats_test 1 1777253813007
[INFO] [stdout] stats_test 1 1777253813009
[INFO] [stdout] stats_test 1 1777253813011
[INFO] [stdout] stats_test 1 1777253813013
[INFO] [stdout] stats_test 1 1777253813015
[INFO] [stdout] stats_test 1 1777253813017
[INFO] [stdout] stats_test 1 1777253813019
[INFO] [stdout] stats_test 1 1777253813021
[INFO] [stdout] stats_test 1 1777253813023
[INFO] [stdout] stats_test 1 1777253813025
[INFO] [stdout] stats_test 1 1777253813027
[INFO] [stdout] stats_test 1 1777253813029
[INFO] [stdout] stats_test 1 1777253813031
[INFO] [stdout] stats_test 1 1777253813033
[INFO] [stdout] stats_test 1 1777253813035
[INFO] [stdout] stats_test 1 1777253813037
[INFO] [stdout] stats_test 1 1777253813039
[INFO] [stdout] stats_test 1 1777253813041
[INFO] [stdout] stats_test 1 1777253813043
[INFO] [stdout] stats_test 1 1777253813045
[INFO] [stdout] stats_test 1 1777253813047
[INFO] [stdout] stats_test 1 1777253813049
[INFO] [stdout] stats_test 1 1777253813051
[INFO] [stdout] stats_test 1 1777253813053
[INFO] [stdout] stats_test 1 1777253813055
[INFO] [stdout] stats_test 1 1777253813057
[INFO] [stdout] stats_test 1 1777253813059
[INFO] [stdout] stats_test 1 1777253813061
[INFO] [stdout] stats_test 1 1777253813063
[INFO] [stdout] stats_test 1 1777253813065
[INFO] [stdout] stats_test 1 1777253813067
[INFO] [stdout] stats_test 1 1777253813069
[INFO] [stdout] stats_test 1 1777253813071
[INFO] [stdout] stats_test 1 1777253813073
[INFO] [stdout] stats_test 1 1777253813075
[INFO] [stdout] stats_test 1 1777253813077
[INFO] [stdout] stats_test 1 1777253813079
[INFO] [stdout] stats_test 1 1777253813081
[INFO] [stdout] stats_test 1 1777253813083
[INFO] [stdout] stats_test 1 1777253813085
[INFO] [stdout] stats_test 1 1777253813087
[INFO] [stdout] stats_test 1 1777253813089
[INFO] [stdout] stats_test 1 1777253813091
[INFO] [stdout] stats_test 1 1777253813093
[INFO] [stdout] stats_test 1 1777253813095
[INFO] [stdout] stats_test 1 1777253813097
[INFO] [stdout] stats_test 1 1777253813100
[INFO] [stdout] stats_test 1 1777253813101
[INFO] [stdout] stats_test 1 1777253813103
[INFO] [stdout] stats_test 1 1777253813105
[INFO] [stdout] stats_test 1 1777253813107
[INFO] [stdout] stats_test 1 1777253813109
[INFO] [stdout] stats_test 1 1777253813111
[INFO] [stdout] stats_test 1 1777253813116
[INFO] [stdout] stats_test 1 1777253813116
[INFO] [stdout] stats_test 1 1777253813117
[INFO] [stdout] stats_test 1 1777253813119
[INFO] [stdout] stats_test 1 1777253813121
[INFO] [stdout] stats_test 1 1777253813123
[INFO] [stdout] stats_test 1 1777253813125
[INFO] [stdout] stats_test 1 1777253813127
[INFO] [stdout] stats_test 1 1777253813129
[INFO] [stdout] stats_test 1 1777253813131
[INFO] [stdout] stats_test 1 1777253813133
[INFO] [stdout] stats_test 1 1777253813135
[INFO] [stdout] stats_test 1 1777253813137
[INFO] [stdout] stats_test 1 1777253813139
[INFO] [stdout] stats_test 1 1777253813141
[INFO] [stdout] stats_test 1 1777253813143
[INFO] [stdout] stats_test 1 1777253813145
[INFO] [stdout] stats_test 1 1777253813147
[INFO] [stdout] stats_test 1 1777253813149
[INFO] [stdout] stats_test 1 1777253813151
[INFO] [stdout] stats_test 1 1777253813153
[INFO] [stdout] stats_test 1 1777253813155
[INFO] [stdout] stats_test 1 1777253813157
[INFO] [stdout] stats_test 1 1777253813159
[INFO] [stdout] stats_test 1 1777253813161
[INFO] [stdout] stats_test 1 1777253813163
[INFO] [stdout] stats_test 1 1777253813165
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.115Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.117Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.119Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.121Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.123Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.125Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.127Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.129Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.131Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.133Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.135Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.137Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.139Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.142Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.143Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.145Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.147Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.149Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.151Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.153Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.156Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.157Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.159Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.161Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.163Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.165Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.167Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.169Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.171Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] test schedule::launch::tests::stats_snapshot_shows_nonzero_events_after_brief_run ... ok
[INFO] [stdout] test schedule::launch::tests::stats_snapshot_shows_nonzero_events_for_logs_scenario ... ok
[INFO] [stdout] test schedule::core_loop::tests::loop_increases_rate_during_burst ... ok
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.244Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.246Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.248Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.250Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.252Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.254Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.256Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.258Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.260Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.262Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.264Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.267Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.268Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.270Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.272Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.274Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.276Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.278Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.280Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.282Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.284Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.286Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.288Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.290Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.292Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.294Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.296Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.298Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.300Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.302Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.304Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.306Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.308Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.310Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.312Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.314Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.316Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.318Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.320Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.322Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.324Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.327Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.328Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.331Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.333Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.334Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.336Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.338Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.340Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.342Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.344Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.346Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.348Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.350Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.352Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.354Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.356Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.358Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.360Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.362Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.364Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.366Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.368Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.370Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.372Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.374Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.376Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.378Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.380Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.382Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.384Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.386Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.388Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.390Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.392Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.394Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.396Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.398Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.400Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.402Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.404Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.406Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.408Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.410Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.412Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.414Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.416Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.418Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.420Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.422Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.424Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.426Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.428Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.430Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.432Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.434Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.436Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.438Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.440Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.442Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:53.447Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] test schedule::launch::tests::launch_logs_with_start_delay_does_not_emit_during_delay ... ok
[INFO] [stdout] delay_test 1 1777253813261
[INFO] [stdout] delay_test 1 1777253813264
[INFO] [stdout] delay_test 1 1777253813267
[INFO] [stdout] delay_test 1 1777253813268
[INFO] [stdout] delay_test 1 1777253813270
[INFO] [stdout] delay_test 1 1777253813272
[INFO] [stdout] delay_test 1 1777253813274
[INFO] [stdout] delay_test 1 1777253813276
[INFO] [stdout] delay_test 1 1777253813278
[INFO] [stdout] delay_test 1 1777253813280
[INFO] [stdout] delay_test 1 1777253813282
[INFO] [stdout] delay_test 1 1777253813284
[INFO] [stdout] delay_test 1 1777253813286
[INFO] [stdout] delay_test 1 1777253813288
[INFO] [stdout] delay_test 1 1777253813290
[INFO] [stdout] delay_test 1 1777253813292
[INFO] [stdout] delay_test 1 1777253813294
[INFO] [stdout] delay_test 1 1777253813296
[INFO] [stdout] delay_test 1 1777253813298
[INFO] [stdout] delay_test 1 1777253813300
[INFO] [stdout] delay_test 1 1777253813302
[INFO] [stdout] delay_test 1 1777253813304
[INFO] [stdout] delay_test 1 1777253813306
[INFO] [stdout] delay_test 1 1777253813308
[INFO] [stdout] delay_test 1 1777253813310
[INFO] [stdout] delay_test 1 1777253813312
[INFO] [stdout] delay_test 1 1777253813314
[INFO] [stdout] delay_test 1 1777253813316
[INFO] [stdout] delay_test 1 1777253813318
[INFO] [stdout] delay_test 1 1777253813320
[INFO] [stdout] delay_test 1 1777253813322
[INFO] [stdout] delay_test 1 1777253813324
[INFO] [stdout] delay_test 1 1777253813326
[INFO] [stdout] delay_test 1 1777253813328
[INFO] [stdout] delay_test 1 1777253813331
[INFO] [stdout] delay_test 1 1777253813333
[INFO] [stdout] delay_test 1 1777253813334
[INFO] [stdout] delay_test 1 1777253813336
[INFO] [stdout] delay_test 1 1777253813338
[INFO] [stdout] delay_test 1 1777253813340
[INFO] [stdout] delay_test 1 1777253813342
[INFO] [stdout] delay_test 1 1777253813344
[INFO] [stdout] delay_test 1 1777253813346
[INFO] [stdout] delay_test 1 1777253813348
[INFO] [stdout] delay_test 1 1777253813350
[INFO] [stdout] delay_test 1 1777253813352
[INFO] [stdout] delay_test 1 1777253813354
[INFO] [stdout] delay_test 1 1777253813356
[INFO] [stdout] delay_test 1 1777253813358
[INFO] [stdout] delay_test 1 1777253813360
[INFO] [stdout] delay_test 1 1777253813362
[INFO] [stdout] delay_test 1 1777253813364
[INFO] [stdout] delay_test 1 1777253813366
[INFO] [stdout] delay_test 1 1777253813368
[INFO] [stdout] delay_test 1 1777253813370
[INFO] [stdout] delay_test 1 1777253813372
[INFO] [stdout] delay_test 1 1777253813374
[INFO] [stdout] delay_test 1 1777253813376
[INFO] [stdout] delay_test 1 1777253813378
[INFO] [stdout] delay_test 1 1777253813380
[INFO] [stdout] delay_test 1 1777253813382
[INFO] [stdout] delay_test 1 1777253813384
[INFO] [stdout] delay_test 1 1777253813386
[INFO] [stdout] delay_test 1 1777253813388
[INFO] [stdout] delay_test 1 1777253813390
[INFO] [stdout] delay_test 1 1777253813392
[INFO] [stdout] delay_test 1 1777253813394
[INFO] [stdout] delay_test 1 1777253813396
[INFO] [stdout] delay_test 1 1777253813398
[INFO] [stdout] delay_test 1 1777253813400
[INFO] [stdout] delay_test 1 1777253813402
[INFO] [stdout] delay_test 1 1777253813404
[INFO] [stdout] delay_test 1 1777253813406
[INFO] [stdout] delay_test 1 1777253813408
[INFO] [stdout] delay_test 1 1777253813410
[INFO] [stdout] delay_test 1 1777253813412
[INFO] [stdout] delay_test 1 1777253813414
[INFO] [stdout] delay_test 1 1777253813416
[INFO] [stdout] delay_test 1 1777253813418
[INFO] [stdout] delay_test 1 1777253813420
[INFO] [stdout] delay_test 1 1777253813422
[INFO] [stdout] delay_test 1 1777253813424
[INFO] [stdout] delay_test 1 1777253813426
[INFO] [stdout] delay_test 1 1777253813428
[INFO] [stdout] delay_test 1 1777253813430
[INFO] [stdout] delay_test 1 1777253813432
[INFO] [stdout] delay_test 1 1777253813434
[INFO] [stdout] delay_test 1 1777253813436
[INFO] [stdout] delay_test 1 1777253813438
[INFO] [stdout] delay_test 1 1777253813440
[INFO] [stdout] delay_test 1 1777253813442
[INFO] [stdout] delay_test 1 1777253813447
[INFO] [stdout] delay_test 1 1777253813447
[INFO] [stdout] delay_test 1 1777253813448
[INFO] [stdout] delay_test 1 1777253813450
[INFO] [stdout] delay_test 1 1777253813452
[INFO] [stdout] delay_test 1 1777253813454
[INFO] [stdout] delay_test 1 1777253813456
[INFO] [stdout] delay_test 1 1777253813458
[INFO] [stdout] delay_test 1 1777253813460
[INFO] [stdout] delay_test 1 1777253813462
[INFO] [stdout] test schedule::launch::tests::launch_with_start_delay_does_not_emit_during_delay ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_dynamic_label_wins_on_key_collision ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_with_sink_duration_500ms_exits_promptly ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_dynamic_labels_and_static_labels_coexist ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_dynamic_labels_counter_appear_in_output ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_dynamic_labels_respects_cardinality_ceiling ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::gap_suppresses_histogram_output ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_dynamic_labels_values_list_cycle_in_output ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_with_sink_each_line_is_valid_json ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_with_sink_labels_appear_in_syslog_output ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_with_sink_no_labels_produces_empty_labels_object ... ok
[INFO] [stdout] zero_offset 1 1777253814748
[INFO] [stdout] zero_offset 1 1777253814848
[INFO] [stdout] zero_offset 1 1777253814948
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_accepts_zero_phase_offset ... ok
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_collects_all_thread_errors ... ok
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_rejects_invalid_phase_offset ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_with_sink_no_spike_config_produces_no_spike_labels ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_with_sink_shutdown_flag_stops_runner ... ok
[INFO] [stdout] immediate_indef 1 1777253814957
[INFO] [stdout] immediate_indef 1 1777253815057
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_shutdown_during_phase_offset_exits_cleanly ... ok
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_thread_errors_produce_runtime_not_config_variant ... ok
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:55.011Z","severity":"info","message":"shutdown test","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:55.111Z","severity":"info","message":"shutdown test","labels":{},"fields":{}}
[INFO] [stdout] shutdown_test_metric 1 1777253815011
[INFO] [stdout] shutdown_test_metric 1 1777253815111
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_shutdown_flag_stops_all_threads_within_two_seconds ... ok
[INFO] [stdout] first_immediate 1 1777253815023
[INFO] [stdout] first_immediate 1 1777253815123
[INFO] [stdout] m2 1 1777253815058
[INFO] [stdout] m2 1 1777253815158
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:55.058Z","severity":"info","message":"test log event","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:55.158Z","severity":"info","message":"test log event","labels":{},"fields":{}}
[INFO] [stdout] m1 1 1777253815058
[INFO] [stdout] m1 1 1777253815158
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_three_concurrent_scenarios_all_complete ... ok
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_empty_scenarios_returns_ok ... ok
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_invalid_sink_config_returns_err ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_with_sink_labels_appear_in_json_output ... ok
[INFO] [stdout] grouped_a 1 1777253815112
[INFO] [stdout] grouped_a 1 1777253815212
[INFO] [stdout] concurrent_metrics 1 1777253815161
[INFO] [stdout] concurrent_metrics 1 1777253815261
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:55.161Z","severity":"info","message":"test log event","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:55.261Z","severity":"info","message":"test log event","labels":{},"fields":{}}
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_metrics_and_logs_both_complete ... ok
[INFO] [stdout] no_offset 1 1777253815262
[INFO] [stdout] no_offset 1 1777253815363
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_no_phase_offset_preserves_behavior ... ok
[INFO] [stdout] minimal_offset 1 1777253815179
[INFO] [stdout] minimal_offset 1 1777253815279
[INFO] [stdout] minimal_offset 1 1777253815379
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_minimal_phase_offset_emits_almost_immediately ... ok
[INFO] [stdout] grouped_b 2 1777253815314
[INFO] [stdout] grouped_b 2 1777253815414
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_clock_group_and_offsets ... ok
[INFO] [stdout] test schedule::multi_runner::tests::signal_shutdown_stores_false_with_seqcst_ordering ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_with_sink_rate_10_duration_1s_produces_approx_10_lines ... ok
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:55.363Z","severity":"info","message":"test log event","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:36:55.463Z","severity":"info","message":"test log event","labels":{},"fields":{}}
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_single_logs_scenario_returns_ok ... ok
[INFO] [stdout] single_metric 1 1777253815380
[INFO] [stdout] single_metric 1 1777253815481
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_single_metrics_scenario_returns_ok ... ok
[INFO] [stdout] test schedule::runner::tests::buffered_events_share_labels_arc_when_no_spikes ... ok
[INFO] [stdout] test schedule::runner::tests::buffered_events_share_name_arc_allocation ... ok
[INFO] [stdout] second_delayed 2 1777253815516
[INFO] [stdout] second_delayed 2 1777253815616
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_respects_phase_offset_between_scenarios ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_with_sink_spike_labels_appear_during_spike_window ... ok
[INFO] [stdout] test schedule::runner::tests::dynamic_label_wins_on_key_collision_with_static ... ok
[INFO] [stdout] test schedule::runner::tests::dynamic_labels_and_static_labels_coexist_in_output ... ok
[INFO] [stdout] test schedule::runner::tests::dynamic_labels_counter_appear_in_metric_output ... ok
[INFO] [stdout] test schedule::runner::tests::dynamic_labels_counter_respects_cardinality_ceiling_in_output ... ok
[INFO] [stdout] test schedule::runner::tests::dynamic_labels_values_list_cycle_in_metric_output ... ok
[INFO] [stdout] test schedule::runner::tests::integration_burst_increases_event_count ... ok
[INFO] [stdout] test schedule::runner::tests::integration_labels_appear_in_output ... ok
[INFO] [stdout] test schedule::runner::tests::integration_no_spike_config_produces_no_spike_labels ... ok
[INFO] [stdout] test schedule::runner::tests::integration_output_ends_with_newline ... ok
[INFO] [stdout] test schedule::runner::tests::integration_output_lines_start_with_metric_name ... ok
[INFO] [stdout] test schedule::runner::tests::integration_spike_counter_strategy_produces_bounded_values ... ok
[INFO] [stdout] test schedule::runner::tests::integration_rate_100_duration_1s_emits_approximately_100_events ... ok
[INFO] [stdout] test schedule::runner::tests::integration_burst_then_normal_produces_mixed_rate ... ok
[INFO] [stdout] test schedule::runner::tests::invalid_metric_name_returns_config_error_before_loop ... ok
[INFO] [stdout] test schedule::runner::tests::integration_gap_covering_full_window_produces_zero_events_even_with_burst ... ok
[INFO] [stdout] test schedule::runner::tests::run_with_invalid_duration_returns_err ... ok
[INFO] [stdout] test schedule::runner::tests::run_with_invalid_gap_every_returns_err ... ok
[INFO] [stdout] up 1 1777253817971
[INFO] [stdout] up 1 1777253817981
[INFO] [stdout] up 1 1777253817991
[INFO] [stdout] up 1 1777253818001
[INFO] [stdout] up 1 1777253818011
[INFO] [stdout] up 1 1777253818021
[INFO] [stdout] up 1 1777253818031
[INFO] [stdout] up 1 1777253818041
[INFO] [stdout] up 1 1777253818051
[INFO] [stdout] up 1 1777253818061
[INFO] [stdout] up 1 1777253818071
[INFO] [stdout] test schedule::runner::tests::run_completes_without_error_for_short_duration ... ok
[INFO] [stdout] test schedule::runner::tests::integration_spike_labels_appear_during_spike_window ... ok
[INFO] [stdout] test schedule::runner::tests::integration_spike_stats_reports_in_cardinality_spike ... ok
[INFO] [stdout] test schedule::runner::tests::runner_stats_buffer_events_have_correct_metric_name ... ok
[INFO] [stdout] test schedule::stats::tests::clone_produces_independent_copy ... ok
[INFO] [stdout] test schedule::stats::tests::debug_format_contains_struct_name ... ok
[INFO] [stdout] test schedule::stats::tests::default_stats_has_empty_recent_metrics_buffer ... ok
[INFO] [stdout] test schedule::stats::tests::default_stats_has_zero_counters_and_false_flags ... ok
[INFO] [stdout] test schedule::stats::tests::drain_recent_metrics_on_empty_buffer_returns_empty_vec ... ok
[INFO] [stdout] test schedule::stats::tests::drain_recent_metrics_returns_all_events_and_empties_buffer ... ok
[INFO] [stdout] test schedule::stats::tests::drain_recent_metrics_returns_oldest_first_order ... ok
[INFO] [stdout] test schedule::stats::tests::drain_then_push_starts_fresh_buffer ... ok
[INFO] [stdout] test schedule::stats::tests::drain_twice_returns_empty_on_second_call ... ok
[INFO] [stdout] test schedule::stats::tests::push_metric_adds_event_to_buffer ... ok
[INFO] [stdout] test schedule::stats::tests::push_metric_evicts_oldest_when_full ... ok
[INFO] [stdout] test schedule::stats::tests::push_metric_fills_buffer_to_max_capacity ... ok
[INFO] [stdout] test schedule::runner::tests::runner_without_stats_does_not_push_metrics ... ok
[INFO] [stdout] test schedule::stats::tests::push_metric_multiple_evictions_discard_oldest ... ok
[INFO] [stdout] test schedule::stats::tests::push_metric_preserves_insertion_order ... ok
[INFO] [stdout] test schedule::stats::tests::recent_metrics_buffer_is_not_serialized_to_json ... ok
[INFO] [stdout] test schedule::stats::tests::scenario_stats_is_send_and_sync ... ok
[INFO] [stdout] test schedule::stats::tests::serializes_to_json_with_all_fields_present ... ok
[INFO] [stdout] test schedule::runner::tests::runner_pushes_metric_events_to_stats_buffer ... ok
[INFO] [stdout] test schedule::summary_runner::tests::config_labels_appear_in_output ... ok
[INFO] [stdout] test schedule::runner::tests::shutdown_flag_stops_run_during_burst ... ok
[INFO] [stdout] test schedule::summary_runner::tests::quantile_events_have_quantile_label ... ok
[INFO] [stdout] test schedule::tests::burst_window_is_cloneable ... ok
[INFO] [stdout] test schedule::tests::burst_window_is_debuggable ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_counter_cardinality_one ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_counter_empty_prefix ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_counter_is_deterministic ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_counter_large_tick ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_counter_respects_cardinality_ceiling ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_counter_tick_zero_returns_first_value ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_counter_wraps_at_cardinality ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_is_cloneable ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_is_debuggable ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_values_respects_cardinality_ceiling ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_values_single_element ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_values_tick_zero_returns_first_value ... ok
[INFO] [stdout] test schedule::tests::dynamic_label_values_wraps_at_list_length ... ok
[INFO] [stdout] test schedule::tests::gap_window_is_cloneable ... ok
[INFO] [stdout] test schedule::tests::gap_window_is_debuggable ... ok
[INFO] [stdout] test schedule::tests::is_in_burst_at_0_5s_returns_some_multiplier ... ok
[INFO] [stdout] test schedule::tests::is_in_burst_at_10_5s_second_cycle_is_some ... ok
[INFO] [stdout] test schedule::tests::is_in_burst_at_10s_second_cycle_start_is_some ... ok
[INFO] [stdout] test schedule::tests::is_in_burst_at_12_5s_second_cycle_is_none ... ok
[INFO] [stdout] test schedule::tests::is_in_burst_at_2_5s_returns_none ... ok
[INFO] [stdout] test schedule::tests::is_in_burst_at_5s_is_none ... ok
[INFO] [stdout] test schedule::summary_runner::tests::output_contains_quantile_count_sum_series ... ok
[INFO] [stdout] test schedule::tests::is_in_burst_at_9_5s_is_none ... ok
[INFO] [stdout] test schedule::tests::is_in_burst_at_burst_end_boundary_returns_none ... ok
[INFO] [stdout] test schedule::tests::is_in_burst_at_zero_is_some_multiplier ... ok
[INFO] [stdout] test schedule::tests::is_in_burst_returns_correct_multiplier_value ... ok
[INFO] [stdout] test schedule::tests::is_in_gap_at_10s_new_cycle_is_false ... ok
[INFO] [stdout] test schedule::tests::is_in_gap_at_18_5s_second_cycle_is_true ... ok
[INFO] [stdout] test schedule::tests::is_in_gap_at_20s_third_cycle_start_is_false ... ok
[INFO] [stdout] test schedule::tests::is_in_gap_at_5s_is_false ... ok
[INFO] [stdout] test schedule::tests::is_in_gap_at_8_5s_is_true ... ok
[INFO] [stdout] test schedule::tests::is_in_burst_with_multiplier_one_returns_some ... ok
[INFO] [stdout] test schedule::tests::is_in_gap_at_exact_gap_start_is_true ... ok
[INFO] [stdout] test schedule::tests::is_in_gap_at_zero_is_false ... ok
[INFO] [stdout] test schedule::tests::is_in_gap_minute_scale_cycle ... ok
[INFO] [stdout] test schedule::tests::is_in_gap_sub_millisecond_gap_duration ... ok
[INFO] [stdout] test schedule::tests::is_in_spike_at_0_5s_is_true ... ok
[INFO] [stdout] test schedule::tests::is_in_spike_at_10s_second_cycle_start_is_true ... ok
[INFO] [stdout] test schedule::tests::is_in_spike_at_12_5s_second_cycle_is_false ... ok
[INFO] [stdout] test schedule::tests::is_in_spike_at_5s_is_false ... ok
[INFO] [stdout] test schedule::tests::is_in_spike_at_spike_end_boundary_is_false ... ok
[INFO] [stdout] test schedule::tests::is_in_spike_at_zero_is_true ... ok
[INFO] [stdout] test schedule::tests::label_value_counter_at_tick_zero ... ok
[INFO] [stdout] test schedule::tests::label_value_counter_cardinality_one ... ok
[INFO] [stdout] test schedule::tests::label_value_counter_wraps_at_cardinality ... ok
[INFO] [stdout] test schedule::tests::label_value_random_cardinality_one ... ok
[INFO] [stdout] test schedule::tests::label_value_random_is_deterministic ... ok
[INFO] [stdout] test schedule::tests::label_value_random_differs_across_ticks ... ok
[INFO] [stdout] test schedule::tests::label_value_random_starts_with_prefix ... ok
[INFO] [stdout] test schedule::tests::label_value_random_respects_cardinality ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_counter_default_prefix ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_empty_spikes_vec ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_invalid_duration_returns_error ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_no_dynamic_labels_produces_empty_vec ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_no_optionals ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_parses_dynamic_labels_values_list ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_parses_dynamic_labels_counter ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_spike_defaults_prefix_and_seed ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_spike_custom_prefix_and_seed ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_with_bursts ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_with_duration ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_with_gaps ... ok
[INFO] [stdout] test schedule::tests::rate_0_5_yields_2s_interval ... ok
[INFO] [stdout] test schedule::tests::rate_1000_yields_1ms_interval ... ok
[INFO] [stdout] test schedule::tests::rate_1_yields_1s_interval ... ok
[INFO] [stdout] test schedule::tests::spike_window_is_debuggable ... ok
[INFO] [stdout] test schedule::tests::spike_window_is_cloneable ... ok
[INFO] [stdout] test schedule::tests::splitmix64_produces_known_output ... ok
[INFO] [stdout] test schedule::tests::time_until_burst_end_at_0_5s_returns_1_5s ... ok
[INFO] [stdout] test schedule::tests::time_until_burst_end_at_1_9s_returns_0_1s ... ok
[INFO] [stdout] test schedule::tests::time_until_burst_end_at_exact_boundary_is_non_negative ... ok
[INFO] [stdout] test schedule::tests::time_until_burst_end_at_zero_returns_burst_duration ... ok
[INFO] [stdout] test schedule::tests::time_until_burst_end_second_cycle_at_10_5s_returns_1_5s ... ok
[INFO] [stdout] test schedule::tests::time_until_gap_end_at_9s_returns_1s ... ok
[INFO] [stdout] test schedule::tests::time_until_gap_end_at_gap_start_returns_gap_duration ... ok
[INFO] [stdout] test schedule::tests::time_until_gap_end_near_cycle_boundary_is_non_negative ... ok
[INFO] [stdout] test schedule::tests::time_until_gap_end_second_cycle_at_18s ... ok
[INFO] [stdout] test sink::channel::tests::channel_sink_is_send ... ok
[INFO] [stdout] test sink::channel::tests::channel_sink_is_sync ... ok
[INFO] [stdout] test sink::channel::tests::channel_sink_usable_as_boxed_sink_trait_object ... ok
[INFO] [stdout] test sink::channel::tests::channel_sink_write_count_matches_receive_count ... ok
[INFO] [stdout] test sink::channel::tests::flush_always_returns_ok ... ok
[INFO] [stdout] test sink::channel::tests::flush_does_not_affect_channel_contents ... ok
[INFO] [stdout] test sink::channel::tests::multiple_writes_send_in_order ... ok
[INFO] [stdout] test sink::channel::tests::write_after_receiver_dropped_returns_err ... ok
[INFO] [stdout] test sink::channel::tests::write_empty_slice_sends_empty_vec ... ok
[INFO] [stdout] test sink::channel::tests::write_sends_exact_bytes_to_receiver ... ok
[INFO] [stdout] test sink::file::tests::create_sink_file_config_creates_file_at_path ... ok
[INFO] [stdout] test sink::file::tests::file_sink_is_send_and_sync ... ok
[INFO] [stdout] test sink::file::tests::flush_on_drop_data_visible_after_sink_dropped ... ok
[INFO] [stdout] test sink::file::tests::multiple_writes_accumulate_in_file ... ok
[INFO] [stdout] test sink::file::tests::parent_dir_creation_matches_spec_path_pattern ... ok
[INFO] [stdout] test sink::file::tests::parent_dirs_created_automatically_for_nested_path ... ok
[INFO] [stdout] test sink::file::tests::sink_config_file_deserializes_from_inline_yaml ... ok
[INFO] [stdout] test sink::file::tests::sink_config_file_deserializes_from_yaml ... ok
[INFO] [stdout] test sink::file::tests::sink_config_file_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test sink::file::tests::write_empty_slice_succeeds_and_file_is_empty ... ok
[INFO] [stdout] test sink::file::tests::write_to_path_under_nonexistent_root_with_no_create_perm_returns_err ... ok
[INFO] [stdout] test sink::file::tests::write_to_readonly_dir_returns_sink_error_with_path_in_message ... FAILED
[INFO] [stdout] test sink::file::tests::write_to_temp_file_and_read_back_matches ... ok
[INFO] [stdout] test sink::memory::tests::buffer_field_is_publicly_accessible ... ok
[INFO] [stdout] test sink::memory::tests::default_creates_empty_sink ... ok
[INFO] [stdout] test sink::memory::tests::flush_is_noop_and_returns_ok ... ok
[INFO] [stdout] test sink::memory::tests::flush_on_empty_sink_returns_ok ... ok
[INFO] [stdout] test sink::memory::tests::memory_sink_is_send_and_sync ... ok
[INFO] [stdout] test sink::memory::tests::memory_sink_usable_as_boxed_sink_trait_object ... ok
[INFO] [stdout] test sink::memory::tests::multiple_writes_accumulate_in_order ... ok
[INFO] [stdout] test sink::memory::tests::write_empty_slice_appends_nothing ... ok
[INFO] [stdout] test sink::memory::tests::write_stores_exact_bytes_in_buffer ... ok
[INFO] [stdout] test sink::retry::tests::execute_classifier_distinguishes_retryable_from_permanent ... ok
[INFO] [stdout] test sink::retry::tests::execute_exhausts_retries_returns_last_error ... ok
[INFO] [stdout] test sink::retry::tests::execute_non_retryable_error_returns_immediately ... ok
[INFO] [stdout] test sink::retry::tests::execute_retries_transient_error_then_succeeds ... ok
[INFO] [stdout] test sink::retry::tests::execute_succeeds_on_first_attempt ... ok
[INFO] [stdout] test sink::retry::tests::from_config_invalid_initial_backoff_returns_error ... ok
[INFO] [stdout] test sink::retry::tests::from_config_invalid_max_backoff_returns_error ... ok
[INFO] [stdout] test sink::retry::tests::from_config_max_less_than_initial_returns_error ... ok
[INFO] [stdout] test sink::retry::tests::from_config_with_equal_backoffs_succeeds ... ok
[INFO] [stdout] test sink::retry::tests::from_config_with_valid_values_succeeds ... ok
[INFO] [stdout] test sink::retry::tests::from_config_zero_attempts_returns_error ... ok
[INFO] [stdout] test sink::retry::tests::jittered_backoff_capped_at_max_backoff ... ok
[INFO] [stdout] test sink::retry::tests::jittered_backoff_is_at_most_initial_for_attempt_zero ... ok
[INFO] [stdout] test sink::retry::tests::jittered_backoff_with_zero_duration_returns_zero ... ok
[INFO] [stdout] test sink::retry::tests::retry_config_deserializes_from_yaml ... ok
[INFO] [stdout] test sink::retry::tests::retry_config_is_cloneable ... ok
[INFO] [stdout] test sink::retry::tests::retry_config_is_send_and_sync ... ok
[INFO] [stdout] test sink::retry::tests::retry_config_round_trip_through_policy ... ok
[INFO] [stdout] test sink::retry::tests::retry_policy_is_debuggable ... ok
[INFO] [stdout] test sink::retry::tests::retry_policy_is_send_and_sync ... ok
[INFO] [stdout] test sink::stdout::tests::stdout_sink_constructs_without_panicking ... ok
[INFO] [stdout] test sink::stdout::tests::stdout_sink_default_constructs_without_panicking ... ok
[INFO] [stdout] test sink::stdout::tests::stdout_sink_is_send_and_sync ... ok
[INFO] [stdout] test sink::stdout::tests::write_and_flush_do_not_error ... ok
[INFO] [stdout] up{} 1 1700000000000
[INFO] [stdout] test sink::stdout::tests::write_non_empty_data_does_not_error ... ok
[INFO] [stdout] test sink::tcp::tests::create_sink_tcp_config_connects_and_delivers_data ... ok
[INFO] [stdout] test sink::tcp::tests::sink_config_tcp_deserializes_from_yaml ... ok
[INFO] [stdout] test sink::tcp::tests::sink_config_tcp_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test sink::tcp::tests::tcp_connect_refused_error_message_contains_address ... ok
[INFO] [stdout] test sink::tcp::tests::tcp_connect_to_unused_port_returns_sink_error ... ok
[INFO] [stdout] test sink::tcp::tests::tcp_invalid_address_string_returns_sink_error ... ok
[INFO] [stdout] test sink::tcp::tests::tcp_multiple_writes_arrive_in_order ... ok
[INFO] [stdout] test sink::tcp::tests::tcp_sink_is_send_and_sync ... ok
[INFO] [stdout] test sink::tcp::tests::tcp_valid_address_connects_successfully ... ok
[INFO] [stdout] test sink::tcp::tests::tcp_write_and_flush_data_arrives_at_listener ... ok
[INFO] [stdout] test sink::tcp::tests::tcp_write_empty_slice_succeeds ... ok
[INFO] [stdout] test sink::tests::create_sink_http_push_disabled_returns_feature_hint_error ... ok
[INFO] [stdout] test sink::tests::create_sink_kafka_disabled_returns_feature_hint_error ... ok
[INFO] [stdout] test sink::tests::create_sink_loki_disabled_returns_feature_hint_error ... ok
[INFO] [stdout] test sink::tests::create_sink_otlp_grpc_disabled_returns_feature_hint_error ... ok
[INFO] [stdout] test sink::tests::create_sink_remote_write_disabled_returns_feature_hint_error ... ok
[INFO] [stdout] test sink::tests::create_sink_stdout_returns_ok ... ok
[INFO] [stdout] test sink::tests::create_sink_stdout_write_and_flush_succeed ... ok
[INFO] [stdout] test sink::tests::http_push_yaml_deserializes_into_disabled_variant_when_feature_is_off ... ok
[INFO] [stdout] test sink::tests::kafka_yaml_deserializes_into_disabled_variant_when_feature_is_off ... ok
[INFO] [stdout] test sink::tests::loki_yaml_deserializes_into_disabled_variant_when_feature_is_off ... ok
[INFO] [stdout] test sink::tests::non_http_sinks_available_without_http_feature ... ok
[INFO] [stdout] test sink::tests::otlp_grpc_yaml_deserializes_into_disabled_variant_when_feature_is_off ... ok
[INFO] [stdout] test sink::tests::remote_write_yaml_deserializes_into_disabled_variant_when_feature_is_off ... ok
[INFO] [stdout] test sink::tests::scenario_yaml_with_file_sink_and_json_encoder_deserializes_correctly ... ok
[INFO] [stdout] test sink::tests::scenario_yaml_with_tcp_sink_deserializes_correctly ... ok
[INFO] [stdout] test sink::tests::scenario_yaml_with_udp_sink_and_influx_encoder_deserializes_correctly ... ok
[INFO] [stdout] test sink::tests::sink_config_file_deserializes_with_type_field ... ok
[INFO] [stdout] test sink::tests::sink_config_file_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test sink::tests::sink_config_file_requires_path_field ... ok
[INFO] [stdout] test sink::tests::sink_config_is_cloneable ... ok
[INFO] [stdout] test sink::tests::sink_config_is_debuggable ... ok
[INFO] [stdout] test sink::tests::sink_config_is_send_and_sync ... ok
[INFO] [stdout] test sink::tests::sink_config_missing_type_field_returns_error ... ok
[INFO] [stdout] test sink::tests::sink_config_old_external_tag_format_is_rejected ... ok
[INFO] [stdout] test sink::tests::sink_config_stdout_deserializes_from_yaml ... ok
[INFO] [stdout] test sink::tests::sink_config_tcp_deserializes_with_type_field ... ok
[INFO] [stdout] test sink::tests::sink_config_tcp_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test sink::tests::sink_config_tcp_requires_address_field ... ok
[INFO] [stdout] test sink::tests::sink_config_tcp_with_retry_deserializes ... ok
[INFO] [stdout] test sink::tests::sink_config_tcp_without_retry_has_none ... ok
[INFO] [stdout] test sink::tests::sink_config_udp_deserializes_with_type_field ... ok
[INFO] [stdout] test sink::tests::sink_config_udp_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test sink::tests::sink_config_udp_requires_address_field ... ok
[INFO] [stdout] test sink::channel::tests::bounded_channel_provides_backpressure_without_oom ... ok
[INFO] [stdout] test sink::tests::sink_config_unknown_type_returns_error ... ok
[INFO] [stdout] test sink::udp::tests::create_sink_udp_config_delivers_datagram ... ok
[INFO] [stdout] test sink::udp::tests::sink_config_udp_deserializes_from_yaml ... ok
[INFO] [stdout] test sink::udp::tests::sink_config_udp_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test sink::udp::tests::udp_flush_is_noop_and_always_succeeds ... ok
[INFO] [stdout] test sink::udp::tests::udp_invalid_address_error_message_contains_address ... ok
[INFO] [stdout] test sink::udp::tests::udp_exactly_max_payload_succeeds ... ok
[INFO] [stdout] test sink::udp::tests::udp_invalid_address_string_returns_sink_error ... ok
[INFO] [stdout] test sink::udp::tests::udp_multiple_writes_each_arrive_as_separate_datagram ... ok
[INFO] [stdout] test sink::udp::tests::udp_oversized_payload_returns_sink_error ... ok
[INFO] [stdout] test sink::udp::tests::udp_sink_is_send_and_sync ... ok
[INFO] [stdout] test sink::udp::tests::udp_valid_address_creates_sink_successfully ... ok
[INFO] [stdout] test sink::udp::tests::udp_write_datagram_arrives_at_receiver ... ok
[INFO] [stdout] test sink::udp::tests::udp_write_empty_datagram_succeeds ... ok
[INFO] [stdout] test tests::config_error_converts_to_sonda_error_via_from ... ok
[INFO] [stdout] test tests::config_feature_enables_yaml_deserialization ... ok
[INFO] [stdout] test sink::udp::tests::udp_oversized_payload_error_message_mentions_sizes ... ok
[INFO] [stdout] test tests::encoder_error_converts_to_sonda_error_via_from ... ok
[INFO] [stdout] test tests::encoder_serialization_preserves_serde_json_source ... ok
[INFO] [stdout] test tests::config_types_constructible_without_yaml_parsing ... ok
[INFO] [stdout] test tests::encoder_timestamp_preserves_system_time_source ... ok
[INFO] [stdout] test tests::error_types_are_send_and_sync ... ok
[INFO] [stdout] test tests::generator_error_converts_to_sonda_error_via_from ... ok
[INFO] [stdout] test tests::factory_functions_work_without_deserialization ... ok
[INFO] [stdout] test tests::generator_file_read_io_error_kind_is_inspectable ... ok
[INFO] [stdout] test tests::generator_file_read_preserves_io_error_source ... ok
[INFO] [stdout] test tests::io_error_does_not_auto_convert_to_sonda_error ... ok
[INFO] [stdout] test tests::log_replay_factory_missing_file_produces_generator_error ... ok
[INFO] [stdout] test tests::missing_csv_file_produces_generator_error_not_sink ... ok
[INFO] [stdout] test tests::runtime_error_converts_to_sonda_error_via_from ... ok
[INFO] [stdout] test tests::runtime_error_display_is_descriptive ... ok
[INFO] [stdout] test tests::scenarios_failed_converts_to_sonda_error_via_from ... ok
[INFO] [stdout] test tests::scenarios_failed_is_runtime_not_config ... ok
[INFO] [stdout] test tests::missing_replay_file_produces_generator_error_not_sink ... ok
[INFO] [stdout] test tests::sonda_error_display_includes_context ... ok
[INFO] [stdout] test tests::sink_file_error_produces_sink_variant ... FAILED
[INFO] [stdout] test tests::sonda_error_sink_display_includes_io_context ... ok
[INFO] [stdout] test tests::spawn_failed_is_runtime_not_config ... ok
[INFO] [stdout] test tests::spawn_failed_preserves_io_error_source ... ok
[INFO] [stdout] test tests::spawn_failed_source_chain_traverses_through_sonda_error ... ok
[INFO] [stdout] test tests::thread_panicked_is_runtime_not_config ... ok
[INFO] [stdout] test util::tests::different_inputs_produce_different_outputs ... ok
[INFO] [stdout] test util::tests::known_output_regression_anchor ... ok
[INFO] [stdout] test util::tests::max_input_does_not_panic ... ok
[INFO] [stdout] test util::tests::output_covers_full_bit_width ... ok
[INFO] [stdout] test util::tests::same_input_produces_same_output ... ok
[INFO] [stdout] test util::tests::zero_input_does_not_produce_zero ... ok
[INFO] [stdout] test schedule::summary_runner::tests::run_completes_for_short_duration ... ok
[INFO] [stdout] test schedule::runner::tests::integration_gap_wins_over_burst_suppresses_events ... ok
[INFO] [stdout] test schedule::summary_runner::tests::gap_suppresses_summary_output ... ok
[INFO] [stdout] test schedule::runner::tests::integration_gap_suppresses_events ... ok
[INFO] [stdout] test schedule::core_loop::tests::loop_suppresses_events_during_gap ... ok
[INFO] [stdout] test schedule::log_runner::tests::run_logs_with_sink_gap_suppresses_output ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- sink::file::tests::write_to_readonly_dir_returns_sink_error_with_path_in_message stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'sink::file::tests::write_to_readonly_dir_returns_sink_error_with_path_in_message' (1459) panicked at src/sink/file.rs:211:9:
[INFO] [stdout] should fail on read-only dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x601b5ce4654a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x601b5ce4654a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x601b5ce4654a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x601b5ce4654a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x601b5ce5e13a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x601b5ce5e13a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x601b5ce4b5e2 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x601b5ce4b5e2 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x601b5ce2278f - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x601b5ce2278f - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x601b5ce3d349 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x601b5cdbb01c - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x601b5cdbb01c - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x601b5ce3d502 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x601b5ce3d502 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x601b5ce2287a - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x601b5ce17779 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x601b5ce237ad - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x601b5ce5e8cc - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x601b5ca09b54 - sonda_core::sink::file::tests::write_to_readonly_dir_returns_sink_error_with_path_in_message::hdc01cd88f86a16b9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/sink/file.rs:211:9
[INFO] [stdout]   20:     0x601b5ca09f57 - sonda_core::sink::file::tests::write_to_readonly_dir_returns_sink_error_with_path_in_message::{{closure}}::hec477fd2aceed83a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/sink/file.rs:201:71
[INFO] [stdout]   21:     0x601b5ccf6b36 - core::ops::function::FnOnce::call_once::h7c1e5d82cf60d80b
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x601b5cdaf11b - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x601b5cdaf11b - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x601b5cdbbaeb - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x601b5cdbbaeb - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x601b5cdbbaeb - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x601b5cdbbaeb - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x601b5cdbbaeb - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x601b5cdbbaeb - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x601b5cdbbaeb - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x601b5cdb5f44 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x601b5cdb5f44 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x601b5cdbe6f2 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x601b5cdbe6f2 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x601b5cdbe6f2 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x601b5cdbe6f2 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x601b5cdbe6f2 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x601b5cdbe6f2 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x601b5cdbe6f2 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x601b5ce4509f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   41:     0x601b5ce4509f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x78e35b79caa4 - <unknown>
[INFO] [stdout]   43:     0x78e35b829a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::sink_file_error_produces_sink_variant stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::sink_file_error_produces_sink_variant' (1578) panicked at src/lib.rs:319:22:
[INFO] [stdout] invalid file path must return Err
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x601b5ce4654a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x601b5ce4654a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x601b5ce4654a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x601b5ce4654a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x601b5ce5e13a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x601b5ce5e13a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x601b5ce4b5e2 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x601b5ce4b5e2 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x601b5ce2278f - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x601b5ce2278f - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x601b5ce3d349 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x601b5cdbb01c - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x601b5cdbb01c - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x601b5ce3d502 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x601b5ce3d502 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x601b5ce2287a - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x601b5ce17779 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x601b5ce237ad - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x601b5ce5e8cc - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x601b5cb5cef1 - sonda_core::tests::sink_file_error_produces_sink_variant::h9a6c915c886a1832
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:319:22
[INFO] [stdout]   20:     0x601b5cb5cfa7 - sonda_core::tests::sink_file_error_produces_sink_variant::{{closure}}::h0730862b7da94ada
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:307:47
[INFO] [stdout]   21:     0x601b5ccff826 - core::ops::function::FnOnce::call_once::hcf40c4b8d6ad181b
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x601b5cdaf11b - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x601b5cdaf11b - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x601b5cdbbaeb - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x601b5cdbbaeb - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x601b5cdbbaeb - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x601b5cdbbaeb - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x601b5cdbbaeb - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x601b5cdbbaeb - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x601b5cdbbaeb - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x601b5cdb5f44 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x601b5cdb5f44 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x601b5cdbe6f2 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x601b5cdbe6f2 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x601b5cdbe6f2 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x601b5cdbe6f2 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x601b5cdbe6f2 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x601b5cdbe6f2 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x601b5cdbe6f2 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x601b5ce4509f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   41:     0x601b5ce4509f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x78e35b79caa4 - <unknown>
[INFO] [stdout]   43:     0x78e35b829a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     sink::file::tests::write_to_readonly_dir_returns_sink_error_with_path_in_message
[INFO] [stdout]     tests::sink_file_error_produces_sink_variant
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1508 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 12.15s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "e9a6b076ef05f00fcfe2bcaf1d64a14b1496d30e96ab2bd85ffdc14d343f2173", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e9a6b076ef05f00fcfe2bcaf1d64a14b1496d30e96ab2bd85ffdc14d343f2173", kill_on_drop: false }`
[INFO] [stdout] e9a6b076ef05f00fcfe2bcaf1d64a14b1496d30e96ab2bd85ffdc14d343f2173
