[INFO] fetching crate sonda-core 1.0.1...
[INFO] testing sonda-core-1.0.1 against 1.95.0 for beta-1.96-2
[INFO] extracting crate sonda-core 1.0.1 into /workspace/builds/worker-4-tc1/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-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate sonda-core 1.0.1 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded integer-encoding v4.1.0
[INFO] [stderr]   Downloaded rskafka v0.6.0
[INFO] [stderr]   Downloaded rsasl v2.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f123af161e53dbb2c503b5a2d5892bb9832ee4ce8e9a8f88abf94fd76afcddb1
[INFO] running `Command { std: "docker" "start" "-a" "f123af161e53dbb2c503b5a2d5892bb9832ee4ce8e9a8f88abf94fd76afcddb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f123af161e53dbb2c503b5a2d5892bb9832ee4ce8e9a8f88abf94fd76afcddb1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f123af161e53dbb2c503b5a2d5892bb9832ee4ce8e9a8f88abf94fd76afcddb1", kill_on_drop: false }`
[INFO] [stdout] f123af161e53dbb2c503b5a2d5892bb9832ee4ce8e9a8f88abf94fd76afcddb1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4350cc639f631de07c5b917ca7bdce423900745b291f59d609a57a22d1721200
[INFO] running `Command { std: "docker" "start" "-a" "4350cc639f631de07c5b917ca7bdce423900745b291f59d609a57a22d1721200", 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 18.64s
[INFO] running `Command { std: "docker" "inspect" "4350cc639f631de07c5b917ca7bdce423900745b291f59d609a57a22d1721200", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4350cc639f631de07c5b917ca7bdce423900745b291f59d609a57a22d1721200", kill_on_drop: false }`
[INFO] [stdout] 4350cc639f631de07c5b917ca7bdce423900745b291f59d609a57a22d1721200
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c7db35000fde6c0e48f17b2eed6db49b02fa3a5b529131bf80064ad1396495b7
[INFO] running `Command { std: "docker" "start" "-a" "c7db35000fde6c0e48f17b2eed6db49b02fa3a5b529131bf80064ad1396495b7", 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 futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]    Compiling sonda-core v1.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[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 09s
[INFO] running `Command { std: "docker" "inspect" "c7db35000fde6c0e48f17b2eed6db49b02fa3a5b529131bf80064ad1396495b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7db35000fde6c0e48f17b2eed6db49b02fa3a5b529131bf80064ad1396495b7", kill_on_drop: false }`
[INFO] [stdout] c7db35000fde6c0e48f17b2eed6db49b02fa3a5b529131bf80064ad1396495b7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8ef953bf5121579c190b5cfcdfc72ca572eb07ec45d4fd63feb442ed96571eab
[INFO] running `Command { std: "docker" "start" "-a" "8ef953bf5121579c190b5cfcdfc72ca572eb07ec45d4fd63feb442ed96571eab", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sonda_core-754013226c1eb217)
[INFO] [stdout] 
[INFO] [stdout] running 1510 tests
[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::compile_after_failure_surfaces_as_compile_after_variant ... ok
[INFO] [stdout] test compiler::compile_after::tests::ambiguous_bare_pack_ref_is_rejected ... ok
[INFO] [stdout] test compile::tests::normalize_failure_surfaces_as_normalize_variant ... ok
[INFO] [stdout] test compile::tests::parse_failure_surfaces_as_parse_variant ... ok
[INFO] [stdout] test compiler::compile_after::tests::explicit_clock_group_propagates_to_chain_members ... ok
[INFO] [stdout] test compiler::compile_after::tests::clock_group_empty_string_mixed_with_some_x_uses_x ... ok
[INFO] [stdout] test compile::tests::one_shot_compiles_minimal_inline_scenario ... ok
[INFO] [stdout] test compiler::compile_after::tests::clock_group_whitespace_variants_conflict ... ok
[INFO] [stdout] test compiler::compile_after::tests::dotted_pack_ref_resolves ... ok
[INFO] [stdout] test compiler::compile_after::tests::flap_alias_produces_expected_up_duration_offset ... 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::explicit_phase_offset_is_added ... 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::follower_phase_offset_matches_expected_crossing::case_1_flap_less_than ... 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::format_duration_whole_units::case_1_whole_seconds ... 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::format_duration_fractional_seconds_round_trip ... 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_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::independent_signals_keep_no_clock_group ... 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::metrics_entry_cannot_depend_on_logs_target ... ok
[INFO] [stdout] test compiler::compile_after::tests::log_signal_can_depend_on_metrics_target ... ok
[INFO] [stdout] test compiler::compile_after::tests::phase_offset_delay_and_crossing_sum ... ok
[INFO] [stdout] test compiler::compile_after::tests::delay_is_added_to_crossing_time ... ok
[INFO] [stdout] test compiler::compile_after::tests::format_duration_whole_units::case_3_whole_hours ... ok
[INFO] [stdout] test compiler::compile_after::tests::step_less_than_is_unsupported ... ok
[INFO] [stdout] test compiler::compile_after::tests::self_reference_is_rejected ... ok
[INFO] [stdout] test compiler::compile_after::tests::saturation_greater_than_sets_offset ... ok
[INFO] [stdout] test compiler::compile_after::tests::three_entry_cycle_path_is_returned ... 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_2_sine ... ok
[INFO] [stdout] test compiler::compile_after::tests::invalid_duration_surfaces_invalid_duration::case_3_alias_flap_up_duration ... ok
[INFO] [stdout] test compiler::expand::tests::classify_pack_reference_distinguishes_name_and_file_path::case_2_dot_relative ... 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_3_absolute_path ... 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::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::duplicate_entry_id_detected_regardless_of_source_order::case_2_auto_first_then_inline ... 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_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::empty_pack_is_an_error ... ok
[INFO] [stdout] test compiler::expand::tests::expanded_entries_have_no_pack_field ... ok
[INFO] [stdout] test compiler::expand::tests::in_memory_resolver_errors_on_missing_reference ... ok
[INFO] [stdout] test compiler::expand::tests::entry_level_after_propagates_to_every_metric ... ok
[INFO] [stdout] test compiler::expand::tests::in_memory_resolver_returns_registered_pack ... ok
[INFO] [stdout] test compiler::expand::tests::expanded_file_is_send_and_sync ... ok
[INFO] [stdout] test compiler::expand::tests::expanded_signal_type_is_metrics ... ok
[INFO] [stdout] test compiler::expand::tests::label_precedence_chain_applied_in_order ... ok
[INFO] [stdout] test compiler::expand::tests::inline_entries_pass_through_untouched ... ok
[INFO] [stdout] test compiler::expand::tests::in_memory_resolver_classifies_file_paths ... ok
[INFO] [stdout] test compiler::expand::tests::missing_generator_falls_back_to_constant_zero ... 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::mixed_inline_and_pack_entries_interleave_correctly ... ok
[INFO] [stdout] test compiler::expand::tests::pack_shared_labels_override_defaults_labels ... 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::override_after_replaces_entry_after_for_that_metric ... 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::expand::tests::pack_by_file_path_is_resolved_through_trait ... 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::two_anonymous_pack_entries_disambiguate_by_index ... ok
[INFO] [stdout] test compiler::expand::tests::schedule_delivery_fields_propagate_to_every_metric ... ok
[INFO] [stdout] test compiler::expand::tests::unique_metric_names_keep_clean_sub_signal_ids ... ok
[INFO] [stdout] test compiler::compile_after::tests::transitive_chain_accumulates ... ok
[INFO] [stdout] test compiler::expand::tests::unknown_override_key_is_an_error ... ok
[INFO] [stdout] test compiler::expand::tests::unresolvable_pack_is_an_error ... 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_duration_overrides_defaults_duration ... ok
[INFO] [stdout] test compiler::normalize::tests::entry_encoder_overrides_defaults_encoder ... ok
[INFO] [stdout] test compiler::normalize::tests::empty_scenarios_list_normalizes_to_empty_entries ... 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_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::entry_rate_overrides_defaults_rate ... ok
[INFO] [stdout] test compiler::normalize::tests::entry_inherits_encoder_and_sink_from_defaults ... ok
[INFO] [stdout] test compiler::normalize::tests::entry_inherits_rate_and_duration_from_defaults ... ok
[INFO] [stdout] test compiler::normalize::tests::histogram_fields_preserved ... ok
[INFO] [stdout] test compiler::normalize::tests::labels_from_defaults_alone_are_preserved ... ok
[INFO] [stdout] test compiler::normalize::tests::entry_labels_preserved_when_defaults_has_no_labels ... ok
[INFO] [stdout] test compiler::normalize::tests::inline_and_pack_entries_compose_defaults_labels_asymmetrically ... ok
[INFO] [stdout] test compiler::normalize::tests::merge_labels_entry_overrides_defaults_on_conflict ... ok
[INFO] [stdout] test compiler::normalize::tests::merge_labels_only_defaults_returns_defaults_clone ... 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_2_pack_prefers_id ... ok
[INFO] [stdout] test compiler::normalize::tests::missing_rate_message_mentions_entry_and_hint ... ok
[INFO] [stdout] test compiler::normalize::tests::labels_merge_entry_wins_on_conflict ... 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::merge_labels_both_none_returns_none ... ok
[INFO] [stdout] test compiler::normalize::tests::merge_labels_only_entry_returns_entry ... ok
[INFO] [stdout] test compiler::normalize::tests::multi_scenario_mixed_entries_all_normalize ... ok
[INFO] [stdout] test compiler::normalize::tests::normalize_error_is_send_and_sync ... ok
[INFO] [stdout] test compiler::normalize::tests::normalized_file_defaults_labels_matches_source ... ok
[INFO] [stdout] test compiler::normalize::tests::no_labels_anywhere_produces_none ... ok
[INFO] [stdout] test compiler::normalize::tests::shorthand_single_signal_normalizes_through_wrapped_form ... ok
[INFO] [stdout] test compiler::normalize::tests::pack_entry_inherits_defaults_but_defers_label_merge ... 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::parse::tests::deny_unknown_fields_rejects_typo ... 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::both_generator_and_pack_returns_error ... ok
[INFO] [stdout] test compiler::parse::tests::detect_version_cases::case_1_v2 ... ok
[INFO] [stdout] test compiler::parse::tests::detect_version_cases::case_3_absent ... ok
[INFO] [stdout] test compiler::parse::tests::detect_version_cases::case_2_v1_explicit ... ok
[INFO] [stdout] test compiler::parse::tests::detect_version_cases::case_4_unparseable ... ok
[INFO] [stdout] test compiler::parse::tests::duplicate_ids_returns_error ... ok
[INFO] [stdout] test compiler::normalize::tests::signal_type_picks_built_in_encoder_and_stdout_sink::case_2_histogram ... ok
[INFO] [stdout] test compiler::parse::tests::empty_scenarios_list_parses_successfully ... ok
[INFO] [stdout] test compiler::parse::tests::entry_with_after_clause ... ok
[INFO] [stdout] test compiler::normalize::tests::signal_type_picks_built_in_encoder_and_stdout_sink::case_3_summary ... ok
[INFO] [stdout] test compiler::parse::tests::entry_with_after_clause_and_delay ... ok
[INFO] [stdout] test compiler::parse::tests::error_type_is_send_and_sync ... ok
[INFO] [stdout] test compiler::parse::tests::histogram_entry_with_distribution_and_buckets ... ok
[INFO] [stdout] test compiler::parse::tests::file_with_defaults_block ... ok
[INFO] [stdout] test compiler::parse::tests::histogram_without_distribution_fails ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_01_simple_snake ... ok
[INFO] [stdout] test compiler::parse::tests::entry_with_all_optional_fields ... ok
[INFO] [stdout] test compiler::parse::tests::error_display_messages ... 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_03_single_upper ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_04_alphanumeric ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_05_double_underscore ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_06_empty ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_08_contains_dot ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_11_single_digit ... 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_09_contains_hyphen ... ok
[INFO] [stdout] test compiler::parse::tests::invalid_id_returns_invalid_id_error::case_2_contains_dot ... ok
[INFO] [stdout] test compiler::parse::tests::id_validation_cases::case_10_contains_space ... ok
[INFO] [stdout] test compiler::parse::tests::invalid_after_op_returns_yaml_error ... ok
[INFO] [stdout] test compiler::parse::tests::invalid_signal_type_returns_error ... ok
[INFO] [stdout] test compiler::parse::tests::malformed_canonical_file_does_not_produce_misleading_error ... ok
[INFO] [stdout] test compiler::parse::tests::logs_without_log_generator_returns_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::inline_without_name_returns_error ... 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::metadata_partial_roundtrip::case_1_only_scenario_name ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_partial_roundtrip::case_3_only_description ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_all_fields_present_roundtrip ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_absent_leaves_fields_none ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_partial_roundtrip::case_2_only_category ... ok
[INFO] [stdout] test compiler::parse::tests::metadata_on_entry_is_rejected ... 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_4_name_and_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::mismatched_generator_family_returns_unexpected_field::case_2_metrics_with_distribution ... 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_3_logs_with_generator ... ok
[INFO] [stdout] test compiler::parse::tests::missing_version_returns_yaml_error ... ok
[INFO] [stdout] test compiler::parse::tests::pack_entry_with_overrides ... ok
[INFO] [stdout] test compiler::parse::tests::neither_generator_nor_pack_returns_error ... ok
[INFO] [stdout] test compiler::parse::tests::multi_scenario_with_three_entries ... ok
[INFO] [stdout] test compiler::parse::tests::mismatched_generator_family_returns_unexpected_field::case_4_logs_with_distribution ... ok
[INFO] [stdout] test compiler::parse::tests::shorthand_infers_histogram_from_distribution_and_buckets ... 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::mismatched_generator_family_returns_unexpected_field::case_6_histogram_with_log_generator ... ok
[INFO] [stdout] test compiler::parse::tests::shorthand_infers_summary_from_distribution_and_quantiles ... ok
[INFO] [stdout] test compiler::parse::tests::summary_entry_with_distribution_and_quantiles ... ok
[INFO] [stdout] test compiler::parse::tests::unexpected_field_error_display_message ... 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::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::prepare::tests::labels_empty_btree_maps_to_empty_hash ... ok
[INFO] [stdout] test compiler::prepare::tests::labels_none_stays_none ... ok
[INFO] [stdout] test compiler::prepare::tests::logs_entry_translates_to_scenario_entry_logs ... ok
[INFO] [stdout] test compiler::prepare::tests::logs_without_log_generator_produces_missing_log_generator_error ... ok
[INFO] [stdout] test compiler::prepare::tests::metrics_entry_translates_to_scenario_entry_metrics ... ok
[INFO] [stdout] test compiler::prepare::tests::metrics_without_generator_produces_missing_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::missing_required_field_fails_per_signal_type::case_3_histogram ... ok
[INFO] [stdout] test compiler::prepare::tests::missing_required_field_fails_per_signal_type::case_4_summary ... 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::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_preserves_entry_order ... ok
[INFO] [stdout] test compiler::prepare::tests::prepare_rejects_non_v2_version ... ok
[INFO] [stdout] test compiler::prepare::tests::prepare_version_check_precedes_entry_translation ... 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::summary_without_distribution_produces_missing_distribution_error ... ok
[INFO] [stdout] test compiler::parse::tests::single_signal_shorthand_inline ... ok
[INFO] [stdout] test compiler::prepare::tests::unknown_signal_type_falls_back_to_name_when_id_absent ... 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_1_steady ... ok
[INFO] [stdout] test compiler::timing::tests::always_unsupported::case_3_uniform ... ok
[INFO] [stdout] test compiler::timing::tests::always_unsupported::case_2_sine ... ok
[INFO] [stdout] test compiler::timing::tests::always_unsupported::case_4_csv_replay ... 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_2_greater_than_not_satisfied_out_of_range ... 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_2_less_than_half_returns_up_duration ... 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_4_less_than_zero_is_out_of_range ... 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::flap_crossing::case_6_threshold_above_up_value_greater_than_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::flap_crossing::case_7_custom_values ... 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_2_greater_than_near_ceiling ... 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_4_greater_than_below_baseline_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::sawtooth_crossing::case_5_less_than_above_ceiling_ambiguous ... 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::constant_crossing::case_3_less_than_satisfied_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::flap_crossing::case_1_less_than_one_returns_up_duration ... 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_2_less_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_4_greater_than_at_peak_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_6_greater_than_below_baseline_ambiguous ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_01_divides_evenly_advances_one_tick ... 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_02_non_divisible_uses_ceil ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_03_high_rate_divides_ticks_by_rate ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_04_less_than_unsupported ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_05_start_above_threshold_ambiguous ... 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::step_crossing::case_08_wrap_below_threshold_out_of_range ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_09_wrap_above_threshold_succeeds ... ok
[INFO] [stdout] test compiler::timing::tests::step_crossing::case_10_inactive_max ... ok
[INFO] [stdout] test config::aliases::tests::create_generator_rejects_undesugared_alias ... ok
[INFO] [stdout] test config::aliases::tests::degradation_custom_params_with_noise ... ok
[INFO] [stdout] test config::aliases::tests::degradation_defaults_produce_sawtooth_with_jitter ... ok
[INFO] [stdout] test compiler::parse::tests::mismatched_generator_family_returns_unexpected_field::case_7_summary_with_generator ... ok
[INFO] [stdout] test config::aliases::tests::degradation_preserves_user_jitter ... ok
[INFO] [stdout] test compiler::parse::tests::shorthand_with_defaults_key_is_rejected ... ok
[INFO] [stdout] test config::aliases::tests::flap_custom_values_and_durations ... ok
[INFO] [stdout] test config::aliases::tests::desugar_entry_passes_logs_unchanged ... ok
[INFO] [stdout] test compiler::parse::tests::single_signal_shorthand_pack ... ok
[INFO] [stdout] test config::aliases::tests::desugar_entry_passes_non_alias_metrics_unchanged ... 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_defaults_produce_correct_sequence ... 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_time_to_ceiling_equal_to_duration ... ok
[INFO] [stdout] test config::aliases::tests::leak_rejects_time_to_ceiling_shorter_than_duration ... ok
[INFO] [stdout] test config::aliases::tests::non_alias_generator_passes_through_unchanged ... ok
[INFO] [stdout] test config::aliases::tests::leak_accepts_when_no_duration_set ... ok
[INFO] [stdout] test config::aliases::tests::saturation_defaults_produce_sawtooth ... ok
[INFO] [stdout] test config::aliases::tests::leak_defaults_produce_sawtooth ... ok
[INFO] [stdout] test config::aliases::tests::saturation_custom_params ... ok
[INFO] [stdout] test config::aliases::tests::spike_event_defaults_produce_spike ... ok
[INFO] [stdout] test config::aliases::tests::spike_event_custom_params ... ok
[INFO] [stdout] test config::aliases::tests::steady_custom_params ... ok
[INFO] [stdout] test config::aliases::tests::spike_event_with_invalid_interval_returns_error ... ok
[INFO] [stdout] test config::aliases::tests::steady_defaults_produce_sine_with_jitter ... ok
[INFO] [stdout] test config::aliases::tests::steady_preserves_user_jitter ... ok
[INFO] [stdout] test config::expand_tests::auto_discovery_missing_file_returns_generator_error ... 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::columns_without_labels_preserve_scenario_labels ... ok
[INFO] [stdout] test config::expand_tests::auto_discover_from_header_when_no_columns ... 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_grafana_style_extracts_labels ... ok
[INFO] [stdout] test config::expand_tests::auto_discovery_expands_from_csv_header ... 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::empty_columns_list_returns_error ... ok
[INFO] [stdout] test config::expand_tests::expand_entry_logs_passes_through ... ok
[INFO] [stdout] test config::expand_tests::expand_entry_metrics_two_columns ... ok
[INFO] [stdout] test config::expand_tests::deserialize_per_column_labels_from_yaml ... ok
[INFO] [stdout] test config::expand_tests::duplicate_column_name_not_first_returns_error ... ok
[INFO] [stdout] test config::expand_tests::expanded_configs_inherit_parent_fields ... ok
[INFO] [stdout] test config::expand_tests::histogram_config_defaults_when_omitted ... ok
[INFO] [stdout] test config::expand_tests::duplicate_column_name_returns_error ... ok
[INFO] [stdout] test config::expand_tests::expand_entry_passes_through_histogram ... 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::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::histogram_config_deserializes_from_yaml ... ok
[INFO] [stdout] test config::expand_tests::per_column_labels_merge_into_child ... ok
[INFO] [stdout] test config::expand_tests::per_column_labels_override_scenario_level_on_conflict ... ok
[INFO] [stdout] test config::expand_tests::summary_config_defaults_when_omitted ... ok
[INFO] [stdout] test config::expand_tests::scenario_entry_base_works_for_summary ... ok
[INFO] [stdout] test config::expand_tests::scenario_entry_base_works_for_histogram ... ok
[INFO] [stdout] test config::expand_tests::summary_config_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::base_schedule_config_is_clone_and_debug ... ok
[INFO] [stdout] test config::expand_tests::three_column_expansion ... ok
[INFO] [stdout] test config::expand_tests::two_column_expansion ... ok
[INFO] [stdout] test config::tests::backward_compatible_yaml_without_spikes ... ok
[INFO] [stdout] test config::tests::csv_replay_columns_deserializes_from_yaml ... 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_multiple_entries_deserialize ... ok
[INFO] [stdout] test config::tests::dynamic_labels_defaults_to_none ... ok
[INFO] [stdout] test config::tests::dynamic_labels_values_list_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::dynamic_labels_on_log_config_deserializes ... 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_clock_group_defaults_to_none ... 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_jitter_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::log_scenario_config_labels_deserialize_from_yaml ... ok
[INFO] [stdout] test config::tests::log_scenario_config_labels_default_to_none ... 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::log_scenario_config_encoder_defaults_to_json_lines ... ok
[INFO] [stdout] test config::tests::phase_offset_values_are_parseable_as_durations ... ok
[INFO] [stdout] test config::tests::scenario_config_both_phase_offset_and_clock_group ... ok
[INFO] [stdout] test config::tests::log_scenario_config_flatten_deserializes_all_fields ... ok
[INFO] [stdout] test config::tests::scenario_config_cardinality_spikes_defaults_to_none ... ok
[INFO] [stdout] test config::tests::scenario_config_cardinality_spikes_deserializes_from_yaml ... 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_deref_accesses_base_fields ... ok
[INFO] [stdout] test config::tests::scenario_config_deref_mut_allows_base_field_mutation ... ok
[INFO] [stdout] test config::tests::scenario_config_encoder_defaults_to_prometheus_text ... ok
[INFO] [stdout] test config::tests::scenario_config_flatten_deserializes_all_fields ... ok
[INFO] [stdout] test config::tests::scenario_config_jitter_without_seed ... ok
[INFO] [stdout] test config::tests::scenario_config_jitter_defaults_to_none ... 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_config_jitter_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::scenario_config_phase_offset_deserializes_from_yaml ... ok
[INFO] [stdout] test config::tests::scenario_config_phase_offset_milliseconds ... ok
[INFO] [stdout] test config::tests::scenario_entry_base_returns_shared_config_for_logs ... ok
[INFO] [stdout] test config::tests::scenario_config_phase_offset_minutes ... ok
[INFO] [stdout] test config::tests::scenario_entry_base_returns_shared_config_for_metrics ... ok
[INFO] [stdout] test config::tests::scenario_entry_phase_offset_returns_value_for_logs ... ok
[INFO] [stdout] test config::tests::scenario_entry_clock_group_returns_none_when_absent ... 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::deserialize_config_with_burst ... ok
[INFO] [stdout] test config::tests::spike_strategy_defaults_to_counter ... 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::burst_config_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test compiler::normalize::tests::normalized_types_are_send_and_sync ... ok
[INFO] [stdout] test compiler::timing::tests::spike_crossing::case_2_greater_than_ambiguous_at_t0 ... ok
[INFO] [stdout] test config::tests::scenario_entry_phase_offset_returns_none_for_metrics_without_offset ... ok
[INFO] [stdout] test compiler::compile_after::tests::conflicting_clock_groups_are_rejected ... ok
[INFO] [stdout] test config::validate::tests::deserialize_full_scenario_config_from_architecture_example ... ok
[INFO] [stdout] test config::validate::tests::dynamic_label_counter_zero_cardinality_returns_error ... ok
[INFO] [stdout] test config::validate::tests::deserialize_minimal_config_sink_defaults_to_stdout ... ok
[INFO] [stdout] test config::validate::tests::dynamic_label_empty_key_returns_error ... ok
[INFO] [stdout] test config::validate::tests::dynamic_label_invalid_key_returns_error ... ok
[INFO] [stdout] test config::validate::tests::deserialize_minimal_scenario_config ... ok
[INFO] [stdout] test config::validate::tests::deserialize_minimal_config_encoder_defaults_to_prometheus_text ... ok
[INFO] [stdout] test config::validate::tests::dynamic_label_values_list_empty_returns_error ... ok
[INFO] [stdout] test config::validate::tests::gap_config_is_cloneable_and_debuggable ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_fractional_minutes ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_infinity_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_fractional_preserves_sub_millisecond_precision ... 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_empty_string_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_minutes ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_large_value ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_fractional_milliseconds ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_milliseconds ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_negative_milliseconds_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_fractional_hours ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_negative_seconds_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_millisecond ... 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_unknown_unit_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_zero_minutes_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_zero_seconds_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_no_unit_returns_err ... ok
[INFO] [stdout] test config::validate::tests::precision_0_accepted ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_zero_fractional_returns_err ... ok
[INFO] [stdout] test config::validate::tests::parse_duration_seconds ... ok
[INFO] [stdout] test config::validate::tests::precision_17_accepted ... ok
[INFO] [stdout] test config::validate::tests::precision_none_accepted ... ok
[INFO] [stdout] test config::validate::tests::precision_18_rejected ... ok
[INFO] [stdout] test config::validate::tests::precision_255_rejected ... ok
[INFO] [stdout] test config::validate::tests::precision_influx_18_rejected ... ok
[INFO] [stdout] test config::validate::tests::round_trip_constant_generator_produces_expected_value ... ok
[INFO] [stdout] test config::validate::tests::round_trip_uniform_generator_values_in_range ... ok
[INFO] [stdout] test config::validate::tests::scenario_config_is_cloneable ... ok
[INFO] [stdout] test config::validate::tests::spike_config_empty_label_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_equal_to_every_returns_error ... ok
[INFO] [stdout] test config::validate::tests::scenario_config_is_debuggable ... ok
[INFO] [stdout] test config::validate::tests::spike_config_zero_cardinality_returns_error ... ok
[INFO] [stdout] test config::validate::tests::spike_config_unparseable_for_returns_error ... ok
[INFO] [stdout] test config::validate::tests::valid_dynamic_label_counter_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::valid_dynamic_label_counter_no_prefix_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::spike_config_for_not_less_than_every_returns_error ... ok
[INFO] [stdout] test config::validate::tests::spike_config_invalid_label_returns_error ... ok
[INFO] [stdout] test config::validate::tests::valid_spike_config_counter_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_accepts_sorted_positive_values ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_duplicates ... ok
[INFO] [stdout] test config::validate::tests::validate_architecture_example_config_passes ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_empty ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_infinity ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_nan ... ok
[INFO] [stdout] test config::validate::tests::valid_dynamic_label_values_list_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_unsorted ... 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_buckets_rejects_negative_value ... 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_burst_for_equal_to_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_gap_for_equal_to_every_returns_err ... 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_error_messages_are_descriptive ... 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_every_error_has_no_double_prefix ... ok
[INFO] [stdout] test config::validate::tests::validate_config_gap_invalid_every_returns_err ... 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_duration_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_metric_name_empty_returns_err ... ok
[INFO] [stdout] test config::validate::tests::valid_spike_config_random_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::validate_buckets_rejects_zero_value ... ok
[INFO] [stdout] test config::validate::tests::validate_config_burst_multiplier_zero_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_gap_invalid_for_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_jitter_negative_returns_err ... ok
[INFO] [stdout] test config::validate::tests::round_trip_creates_generator_encoder_sink_successfully ... ok
[INFO] [stdout] test config::validate::tests::validate_config_jitter_none_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_negative_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_rate_nan_returns_err ... ok
[INFO] [stdout] test config::validate::tests::validate_config_jitter_zero_is_accepted ... ok
[INFO] [stdout] test config::validate::tests::validate_config_none_duration_is_accepted ... ok
[INFO] [stdout] test config::validate::tests::validate_config_jitter_positive_infinity_returns_err ... 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_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_valid_metric_name_double_underscore_prefix ... ok
[INFO] [stdout] test config::validate::tests::validate_config_valid_metric_name_colon_separator ... 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_config_valid_metric_name_with_underscores ... ok
[INFO] [stdout] test config::validate::tests::validate_config_with_valid_spike_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::validate_config_with_valid_dynamic_labels_returns_ok ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_exponential_negative_rate ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_exponential_positive_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_distribution_normal_zero_stddev ... ok
[INFO] [stdout] test config::validate::tests::validate_config_with_invalid_dynamic_label_key_returns_error ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_uniform_min_equal_to_max ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_uniform_min_greater_than_max ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_uniform_nan_min ... ok
[INFO] [stdout] test config::validate::tests::validate_histogram_config_rejects_invalid_metric_name ... ok
[INFO] [stdout] test config::validate::tests::validate_histogram_config_accepts_valid ... ok
[INFO] [stdout] test config::validate::tests::validate_histogram_config_rejects_unsorted_buckets ... ok
[INFO] [stdout] test config::validate::tests::validate_histogram_config_rejects_zero_observations ... ok
[INFO] [stdout] test config::validate::tests::validate_histogram_config_rejects_zero_rate ... ok
[INFO] [stdout] test config::validate::tests::validate_log_config_jitter_nan_returns_err ... 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_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_duplicates ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_empty ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_nan ... 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_unsorted ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_one ... ok
[INFO] [stdout] test config::validate::tests::validate_quantiles_rejects_zero ... ok
[INFO] [stdout] test config::validate::tests::validate_summary_config_accepts_valid ... ok
[INFO] [stdout] test config::validate::tests::validate_summary_config_rejects_invalid_metric_name ... 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_zero_observations ... ok
[INFO] [stdout] test config::validate::tests::validate_summary_config_rejects_zero_rate ... ok
[INFO] [stdout] test encoder::influx::tests::create_encoder_returns_working_influx_encoder_with_custom_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::custom_field_key_appears_in_output ... ok
[INFO] [stdout] test encoder::influx::tests::encode_appends_to_existing_buffer_content ... ok
[INFO] [stdout] test encoder::influx::tests::encoder_config_deserialization_influx_lp_no_field_key ... ok
[INFO] [stdout] test encoder::influx::tests::encoder_config_deserialization_influx_lp_with_field_key ... ok
[INFO] [stdout] test encoder::influx::tests::influx_line_protocol_is_send_and_sync ... 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::no_labels_output_has_no_comma_after_measurement ... ok
[INFO] [stdout] test encoder::influx::tests::no_labels_produces_measurement_space_field_space_timestamp ... 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::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::precision_two_limits_decimals_influx ... ok
[INFO] [stdout] test encoder::influx::tests::precision_zero_influx ... ok
[INFO] [stdout] test encoder::influx::tests::regression_anchor_custom_field_key_exact_bytes ... ok
[INFO] [stdout] test encoder::influx::tests::regression_anchor_no_labels_exact_bytes ... 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::tag_value_with_comma_is_escaped ... ok
[INFO] [stdout] test encoder::influx::tests::tag_value_with_equals_is_escaped ... ok
[INFO] [stdout] test encoder::influx::tests::tag_value_with_space_is_escaped ... ok
[INFO] [stdout] test encoder::influx::tests::three_labels_sorted_alphabetically ... ok
[INFO] [stdout] test encoder::influx::tests::timestamp_does_not_contain_decimal_point ... 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::two_labels_sorted_by_key_in_tag_set ... ok
[INFO] [stdout] test encoder::json::tests::each_encoded_line_ends_with_newline ... ok
[INFO] [stdout] test encoder::json::tests::empty_labels_produces_empty_json_object ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_empty_fields_produces_empty_json_object ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_fields_appear_in_spec_order ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_includes_fields_field ... 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_timestamp_field ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_labels_are_sorted_by_key ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_line_ends_with_newline ... 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_fields ... 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_fields_match_original ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_roundtrip_message_matches_original ... 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_info_is_lowercase ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_severity_fatal_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_with_empty_labels_produces_empty_labels_object ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_with_labels_and_fields_both_present ... ok
[INFO] [stdout] test encoder::json::tests::encode_log_with_labels_includes_labels_in_json ... ok
[INFO] [stdout] test encoder::json::tests::encode_metric_many_labels_produces_sorted_json_object ... 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_array_is_valid_utf8 ... 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_matches_buffer_output ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_end_of_year_dec_31 ... ok
[INFO] [stdout] test encoder::json::tests::format_rfc3339_millis_epoch_returns_correct_string ... 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::format_rfc3339_millis_leap_year_feb_29 ... 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::format_rfc3339_millis_start_of_day_plus_one_second ... 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_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::labels_ref_serializes_multiple_labels_in_sorted_order ... ok
[INFO] [stdout] test encoder::json::tests::labels_ref_serializes_single_label ... ok
[INFO] [stdout] test encoder::json::tests::multiple_encodes_accumulate_in_same_buffer ... 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_multiple_labels_sorted_in_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_no_labels_exact_output ... ok
[INFO] [stdout] test encoder::json::tests::roundtrip_labels_match_original_event ... ok
[INFO] [stdout] test encoder::json::tests::regression_anchor_single_label_exact_output ... ok
[INFO] [stdout] test encoder::json::tests::roundtrip_name_matches_original_event ... ok
[INFO] [stdout] test encoder::json::tests::roundtrip_value_matches_original_event ... ok
[INFO] [stdout] test encoder::json::tests::roundtrip_timestamp_matches_original_event ... ok
[INFO] [stdout] test encoder::json::tests::string_map_ref_serializes_entries_in_sorted_order ... ok
[INFO] [stdout] test encoder::json::tests::string_map_ref_serializes_empty_map_as_empty_object ... ok
[INFO] [stdout] test encoder::json::tests::timestamp_at_unix_epoch_formats_correctly ... ok
[INFO] [stdout] test encoder::json::tests::timestamp_uses_rfc3339_format_with_millisecond_precision ... ok
[INFO] [stdout] test encoder::json::tests::timestamp_with_zero_milliseconds_shows_dot_zero_zero_zero ... 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_format_has_no_curly_braces ... ok
[INFO] [stdout] test encoder::prometheus::tests::no_labels_omits_braces ... ok
[INFO] [stdout] test encoder::prometheus::tests::output_ends_with_newline ... 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 config::validate::tests::validate_config_jitter_nan_returns_err ... 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::prometheus_text_encoder_is_send_and_sync ... ok
[INFO] [stdout] test config::validate::tests::validate_config_invalid_metric_name_starts_with_digit_returns_err ... 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::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_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_timestamp_is_rfc3339_with_millisecond_precision ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_starts_with_priority_marker ... 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_double_quote_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_includes_structured_data ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_with_multiple_labels_includes_all_in_structured_data ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_metric_does_not_write_to_buffer ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_log_without_labels_uses_nil_structured_data ... ok
[INFO] [stdout] test encoder::syslog::tests::encode_metric_returns_not_supported_error ... ok
[INFO] [stdout] test encoder::syslog::tests::encoder_config_syslog_deserializes_with_hostname ... ok
[INFO] [stdout] test encoder::syslog::tests::encoder_config_syslog_deserializes_without_optional_fields ... 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_fatal_is_facility_user_plus_emergency_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::priority_for_trace_is_facility_user_plus_debug_syslog_severity ... ok
[INFO] [stdout] test encoder::syslog::tests::encoder_config_syslog_deserializes_with_both_hostname_and_app_name ... ok
[INFO] [stdout] test encoder::syslog::tests::priority_for_warn_is_facility_user_plus_warning_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::syslog::tests::regression_anchor_info_severity_with_labels_exact_output ... ok
[INFO] [stdout] test encoder::syslog::tests::syslog_encoder_is_send_and_sync ... 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::tests::create_encoder_json_lines_succeeds ... ok
[INFO] [stdout] test encoder::tests::create_encoder_otlp_disabled_returns_feature_hint_error ... ok
[INFO] [stdout] test encoder::tests::create_encoder_prometheus_text_succeeds ... ok
[INFO] [stdout] test encoder::tests::create_encoder_remote_write_disabled_returns_feature_hint_error ... ok
[INFO] [stdout] test encoder::tests::encode_log_default_does_not_write_to_buffer ... ok
[INFO] [stdout] test encoder::tests::encode_log_error_is_encoder_variant ... ok
[INFO] [stdout] test encoder::tests::encoder_config_influx_lp_is_cloneable_and_debuggable ... 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_influx_lp_without_field_key_deserializes_with_type_field ... ok
[INFO] [stdout] test encoder::tests::encoder_config_is_send_and_sync ... ok
[INFO] [stdout] test encoder::tests::encoder_config_json_lines_deserializes_with_type_field ... 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::encoder_config_old_external_tag_format_is_rejected ... ok
[INFO] [stdout] test encoder::tests::encoder_config_prometheus_text_is_cloneable_and_debuggable ... 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::format_rfc3339_millis_array_and_buf_produce_identical_output ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_array_before_epoch_returns_error ... 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_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_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 config::validate::tests::validate_config_jitter_positive_is_accepted ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_normal_negative_stddev ... ok
[INFO] [stdout] test config::validate::tests::validate_distribution_uniform_valid ... 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::syslog::tests::encode_log_contains_hostname_in_output ... ok
[INFO] [stdout] test encoder::tests::encoder_config_unknown_type_returns_error ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_jan_1_midnight ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_leap_year_feb_29_2024 ... 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::influx_encoder_encode_log_returns_not_supported_error ... ok
[INFO] [stdout] test encoder::tests::json_lines_encoder_encode_log_succeeds ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_leap_year_dec_31_to_jan_1 ... ok
[INFO] [stdout] test encoder::tests::otlp_yaml_deserializes_into_disabled_variant_when_feature_is_off ... ok
[INFO] [stdout] test encoder::tests::format_rfc3339_millis_mid_day_with_millis ... ok
[INFO] [stdout] test encoder::tests::prometheus_text_with_precision_deserializes ... ok
[INFO] [stdout] test encoder::tests::prometheus_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::json_lines_with_precision_deserializes ... ok
[INFO] [stdout] test encoder::tests::json_lines_without_precision_defaults_to_none ... ok
[INFO] [stdout] test encoder::tests::rfc3339_millis_len_constant_matches_output_size ... ok
[INFO] [stdout] test encoder::tests::remote_write_yaml_deserializes_into_disabled_variant_when_feature_is_off ... ok
[INFO] [stdout] test encoder::tests::write_value_none_uses_default_display ... ok
[INFO] [stdout] test encoder::tests::write_value_precision_2 ... ok
[INFO] [stdout] test encoder::tests::write_value_precision_4 ... ok
[INFO] [stdout] test encoder::tests::write_value_precision_0 ... ok
[INFO] [stdout] test encoder::tests::prometheus_text_without_precision_defaults_to_none ... ok
[INFO] [stdout] test generator::csv_header::tests::determinism_same_header_twice ... 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 generator::csv_header::tests::format1_name_from_dunder_name_label ... ok
[INFO] [stdout] test generator::csv_header::tests::empty_braces ... ok
[INFO] [stdout] test encoder::tests::write_value_precision_with_negative ... ok
[INFO] [stdout] test generator::constant::tests::returns_constant_value ... 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::is_header_line_detects_text_header ... ok
[INFO] [stdout] test generator::csv_header::tests::format3_labels_only_no_name ... 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_first_col_numeric_second_text ... 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::is_header_line_empty_string_is_non_numeric ... ok
[INFO] [stdout] test generator::csv_header::tests::is_header_line_rejects_all_numeric ... ok
[INFO] [stdout] test generator::csv_header::tests::format4_plain_name ... ok
[INFO] [stdout] test generator::csv_header::tests::missing_equals_returns_error ... ok
[INFO] [stdout] test generator::csv_header::tests::parse_header_row_format2_mixed ... ok
[INFO] [stdout] test generator::csv_header::tests::parse_header_row_plain_columns ... ok
[INFO] [stdout] test generator::csv_header::tests::parse_header_row_grafana_export ... ok
[INFO] [stdout] test generator::csv_header::tests::multiple_labels_three ... 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_grafana_style_header ... ok
[INFO] [stdout] test generator::csv_header::tests::format5_simple_word ... 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::split_mixed_quoted_and_unquoted ... ok
[INFO] [stdout] test generator::csv_header::tests::whitespace_only_header ... ok
[INFO] [stdout] test generator::csv_header::tests::split_quoted_fields_strip_outer_quotes ... ok
[INFO] [stdout] test generator::csv_header::tests::unmatched_open_brace_returns_error ... ok
[INFO] [stdout] test generator::csv_header::tests::unterminated_quoted_value_returns_error ... 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_skips_non_numeric_header ... 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::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::determinism_same_tick_returns_same_value ... ok
[INFO] [stdout] test generator::csv_replay::tests::csv_replay_generator_is_send_and_sync ... ok
[INFO] [stdout] test generator::csv_replay::tests::determinism_separate_instances_same_content ... ok
[INFO] [stdout] test generator::csv_replay::tests::correct_number_of_values_loaded ... 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::empty_content_from_str_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::factory_csv_replay_creates_working_generator ... ok
[INFO] [stdout] test generator::csv_replay::tests::empty_file_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::fields_with_whitespace_are_trimmed ... ok
[INFO] [stdout] test generator::csv_replay::tests::factory_csv_replay_missing_file_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::empty_lines_are_skipped ... ok
[INFO] [stdout] test generator::csv_replay::tests::factory_csv_replay_defaults ... ok
[INFO] [stdout] test generator::csv_replay::tests::example_yaml_scenario_file_deserializes ... 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_header_and_unparseable_body_returns_error ... ok
[INFO] [stdout] test generator::csv_replay::tests::file_with_no_parseable_numbers_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::handles_negative_values ... ok
[INFO] [stdout] test generator::csv_replay::tests::mixed_content_loads_correctly ... 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::multi_column_csv_reads_last_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::no_repeat_tick_at_u64_max_clamps_correctly ... ok
[INFO] [stdout] test generator::csv_replay::tests::one_column_file_from_disk ... 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_false_at_exact_boundary_returns_last ... ok
[INFO] [stdout] test generator::csv_replay::tests::repeat_false_clamps_to_last_value ... 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::single_value_repeat_false ... ok
[INFO] [stdout] test generator::csv_replay::tests::repeat_true_cycles_at_boundary ... 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::sample_cpu_values_csv_from_disk ... ok
[INFO] [stdout] test generator::csv_replay::tests::unparseable_rows_are_skipped ... ok
[INFO] [stdout] test generator::csv_replay::tests::whitespace_only_lines_are_skipped ... ok
[INFO] [stdout] test generator::csv_header::tests::split_empty_line ... ok
[INFO] [stdout] test generator::histogram::tests::default_buckets_have_expected_count ... ok
[INFO] [stdout] test generator::csv_header::tests::unquoted_label_value ... ok
[INFO] [stdout] test generator::histogram::tests::default_buckets_are_sorted_and_positive ... 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::largest_bucket_captures_most_observations ... ok
[INFO] [stdout] test generator::histogram::tests::count_equals_observations_times_ticks ... ok
[INFO] [stdout] test generator::histogram::tests::different_seeds_produce_different_output ... ok
[INFO] [stdout] test generator::histogram::tests::exponential_values_are_non_negative ... ok
[INFO] [stdout] test generator::histogram::tests::same_seed_produces_identical_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::uniform_distribution_within_range ... 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::jitter::tests::determinism_across_instances ... ok
[INFO] [stdout] test generator::histogram::tests::bucket_counts_never_decrease_across_ticks ... 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::regression_anchor_known_output ... ok
[INFO] [stdout] test generator::jitter::tests::same_seed_and_tick_returns_same_value ... 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::from_file_five_lines_cycles_correctly ... ok
[INFO] [stdout] test generator::jitter::tests::jitter_wrapping_sine_stays_within_bounds ... ok
[INFO] [stdout] test generator::log_replay::tests::from_file_missing_file_returns_generator_error ... 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_skips_blank_lines ... ok
[INFO] [stdout] test generator::log_replay::tests::from_file_truly_empty_file_returns_error ... ok
[INFO] [stdout] test generator::log_replay::tests::from_lines_empty_returns_error ... ok
[INFO] [stdout] test generator::log_replay::tests::large_tick_does_not_panic ... ok
[INFO] [stdout] test generator::log_replay::tests::tick_five_wraps_to_line_zero ... 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_at_u64_max_wraps_correctly ... ok
[INFO] [stdout] test generator::log_replay::tests::tick_four_returns_fifth_line ... 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_template::tests::different_seeds_produce_different_output_for_same_tick ... ok
[INFO] [stdout] test generator::log_template::tests::empty_severity_weights_defaults_to_info ... ok
[INFO] [stdout] test generator::log_template::tests::empty_templates_returns_empty_info_event ... 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::log_template_generator_is_send_and_sync ... ok
[INFO] [stdout] test generator::log_template::tests::resolved_endpoint_value_comes_from_pool ... ok
[INFO] [stdout] test generator::log_template::tests::resolved_ip_value_comes_from_pool ... ok
[INFO] [stdout] test generator::log_template::tests::resolved_message_contains_no_unresolved_placeholders ... ok
[INFO] [stdout] test generator::log_template::tests::resolved_message_contains_selected_field_value ... ok
[INFO] [stdout] test generator::log_template::tests::same_seed_and_tick_produce_identical_fields ... ok
[INFO] [stdout] test generator::log_template::tests::same_seed_and_tick_produce_identical_message ... ok
[INFO] [stdout] test generator::log_template::tests::same_seed_and_tick_produce_identical_severity ... ok
[INFO] [stdout] test generator::log_template::tests::template_empty_message_returns_empty_string ... ok
[INFO] [stdout] test generator::log_template::tests::template_mixed_known_and_unknown_placeholders ... ok
[INFO] [stdout] test generator::log_template::tests::template_only_placeholder_no_literal_text ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_repeated_placeholder_resolves_all_occurrences ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_adjacent_placeholders_resolves_both ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_unclosed_brace_copies_brace_literally ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_empty_placeholder_name_preserved ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_no_placeholders_returns_literal ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_unknown_placeholder_preserves_literal_braces ... ok
[INFO] [stdout] test generator::log_template::tests::template_with_placeholder_at_start_and_end ... ok
[INFO] [stdout] test generator::log_template::tests::two_templates_selected_round_robin ... 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_linear_ramp_between_ticks ... ok
[INFO] [stdout] test generator::log_template::tests::tick_above_u32_max_selects_correct_template ... ok
[INFO] [stdout] test generator::log_template::tests::tick_at_u64_max_selects_correct_template ... ok
[INFO] [stdout] test generator::sawtooth::tests::sawtooth_at_tick_zero_returns_min ... ok
[INFO] [stdout] test generator::sawtooth::tests::sawtooth_resets_at_second_period ... 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::cpu_spike_pattern_produces_expected_values ... ok
[INFO] [stdout] test generator::sequence::tests::determinism_same_tick_returns_same_value ... ok
[INFO] [stdout] test generator::sequence::tests::new_with_empty_values_repeat_false_returns_config_error ... ok
[INFO] [stdout] test generator::sequence::tests::handles_special_float_values ... 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::no_repeat_large_tick_does_not_panic ... ok
[INFO] [stdout] test generator::sequence::tests::new_with_empty_values_returns_config_error ... ok
[INFO] [stdout] test generator::sequence::tests::no_repeat_single_value_always_returns_that_value ... ok
[INFO] [stdout] test generator::sequence::tests::new_with_multiple_values_succeeds ... 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_tick_zero_returns_first_value ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_multiple_full_cycles ... ok
[INFO] [stdout] test generator::sequence::tests::no_repeat_tick_above_u32_max_clamps_correctly ... ok
[INFO] [stdout] test generator::sawtooth::tests::sawtooth_period_ticks_pre_computed_from_rate ... ok
[INFO] [stdout] test generator::histogram::tests::mean_shift_increases_values_over_time ... ok
[INFO] [stdout] test generator::sequence::tests::no_repeat_tick_at_u64_max_clamps_correctly ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_tick_at_u64_max_does_not_panic ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_tick_one_returns_second_value ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_large_tick_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_two_returns_third_value ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_wraps_correctly_at_tick_5 ... ok
[INFO] [stdout] test generator::sine::tests::sine_at_full_period_returns_offset ... ok
[INFO] [stdout] test generator::sine::tests::sine_at_half_period_returns_offset ... ok
[INFO] [stdout] test generator::sine::tests::sine_at_quarter_period_returns_offset_plus_amplitude ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_tick_zero_returns_first_value ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_wraps_at_sequence_boundary ... ok
[INFO] [stdout] test generator::sequence::tests::sequence_generator_is_send_and_sync ... ok
[INFO] [stdout] test generator::sequence::tests::repeat_tick_above_u32_max_uses_u64_modulo ... ok
[INFO] [stdout] test generator::sine::tests::sine_at_tick_zero_returns_offset ... ok
[INFO] [stdout] test generator::spike::tests::duration_zero_always_baseline ... ok
[INFO] [stdout] test generator::spike::tests::duration_ge_interval_always_spikes ... ok
[INFO] [stdout] test generator::spike::tests::duration_greater_than_interval_always_spikes ... ok
[INFO] [stdout] test generator::spike::tests::determinism_same_tick_same_value ... ok
[INFO] [stdout] test generator::sine::tests::sine_symmetry_around_offset ... ok
[INFO] [stdout] test generator::sine::tests::sine_period_ticks_pre_computed_from_rate ... ok
[INFO] [stdout] test generator::spike::tests::different_rate_values_produce_different_tick_boundaries ... ok
[INFO] [stdout] test generator::spike::tests::exact_boundary_at_spike_end ... ok
[INFO] [stdout] test generator::spike::tests::exact_boundary_at_spike_start ... 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::tick_during_baseline_period_returns_baseline ... ok
[INFO] [stdout] test generator::spike::tests::tick_during_spike_period_returns_baseline_plus_magnitude ... ok
[INFO] [stdout] test generator::step::tests::fractional_step_size ... ok
[INFO] [stdout] test generator::step::tests::large_tick_unbounded_does_not_panic ... ok
[INFO] [stdout] test generator::spike::tests::exact_boundary_at_second_interval ... ok
[INFO] [stdout] test generator::step::tests::fractional_step_with_wrap ... ok
[INFO] [stdout] test generator::spike::tests::large_tick_values_do_not_panic ... ok
[INFO] [stdout] test generator::step::tests::determinism_same_tick_same_value ... ok
[INFO] [stdout] test generator::step::tests::large_tick_values_do_not_panic ... ok
[INFO] [stdout] test generator::step::tests::linear_increase_with_nonzero_start ... ok
[INFO] [stdout] test generator::step::tests::max_less_than_start_acts_as_no_wrap ... ok
[INFO] [stdout] test generator::step::tests::max_none_is_unbounded ... ok
[INFO] [stdout] test generator::step::tests::negative_step_with_wrap_stays_in_range ... 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::step::tests::wrap_around_at_max_boundary ... ok
[INFO] [stdout] test generator::step::tests::negative_step_size ... ok
[INFO] [stdout] test generator::step::tests::linear_increase_without_max ... 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::step::tests::max_equal_to_start_acts_as_no_wrap ... ok
[INFO] [stdout] test generator::summary::tests::quantile_values_are_non_decreasing ... ok
[INFO] [stdout] test generator::summary::tests::count_equals_observations_times_ticks ... ok
[INFO] [stdout] test generator::summary::tests::default_quantiles_are_valid ... ok
[INFO] [stdout] test generator::summary::tests::default_quantiles_have_expected_count ... ok
[INFO] [stdout] test generator::summary::tests::different_seeds_produce_different_output ... ok
[INFO] [stdout] test generator::summary::tests::count_and_sum_never_decrease ... ok
[INFO] [stdout] test generator::summary::tests::summary_generator_is_send ... ok
[INFO] [stdout] test generator::summary::tests::summary_sample_is_send_and_sync ... ok
[INFO] [stdout] test generator::tests::deserialize_log_replay_config ... ok
[INFO] [stdout] test generator::tests::deserialize_log_template_config_minimal ... ok
[INFO] [stdout] test generator::tests::deserialize_example_yaml_scenario_file ... ok
[INFO] [stdout] test generator::tests::deserialize_sawtooth_config ... ok
[INFO] [stdout] test generator::tests::deserialize_log_template_config_with_weights_and_seed ... ok
[INFO] [stdout] test generator::tests::deserialize_sequence_config_with_repeat ... ok
[INFO] [stdout] test generator::tests::deserialize_sequence_config_integer_values ... ok
[INFO] [stdout] test generator::tests::deserialize_sequence_config_repeat_false ... ok
[INFO] [stdout] test generator::tests::deserialize_sequence_config_without_repeat ... ok
[INFO] [stdout] test generator::log_template::tests::severity_distribution_matches_weights_within_five_percent ... ok
[INFO] [stdout] test generator::tests::deserialize_sine_config ... ok
[INFO] [stdout] test generator::summary::tests::same_seed_produces_identical_output ... ok
[INFO] [stdout] test generator::tests::deserialize_constant_config ... ok
[INFO] [stdout] test generator::tests::deserialize_step_config_full ... 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_spike_config_negative_magnitude ... ok
[INFO] [stdout] test generator::tests::deserialize_uniform_config_with_seed ... ok
[INFO] [stdout] test generator::tests::deserialize_step_config_minimal ... ok
[INFO] [stdout] test generator::tests::deserialize_uniform_config_without_seed ... ok
[INFO] [stdout] test generator::tests::factory_sequence_repeat_false_creates_working_generator ... ok
[INFO] [stdout] test generator::tests::factory_csv_replay_with_columns_returns_error ... 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_repeat_none_defaults_to_true ... ok
[INFO] [stdout] test generator::tests::factory_sine_value_at_zero_equals_offset ... ok
[INFO] [stdout] test generator::tests::factory_sequence_repeat_true_creates_working_generator ... ok
[INFO] [stdout] test generator::tests::factory_spike_negative_duration_returns_error ... ok
[INFO] [stdout] test generator::tests::factory_spike_returns_spike_inside_window ... ok
[INFO] [stdout] test generator::tests::factory_spike_negative_interval_returns_error ... ok
[INFO] [stdout] test generator::tests::factory_spike_zero_duration_succeeds ... ok
[INFO] [stdout] test generator::tests::factory_spike_returns_baseline_outside_window ... ok
[INFO] [stdout] test generator::tests::factory_step_linear_growth ... ok
[INFO] [stdout] test generator::tests::factory_constant_returns_configured_value ... ok
[INFO] [stdout] test generator::tests::factory_sequence_empty_values_returns_error ... ok
[INFO] [stdout] test generator::tests::factory_spike_zero_interval_returns_error ... ok
[INFO] [stdout] test generator::tests::factory_step_with_start ... ok
[INFO] [stdout] test generator::tests::factory_step_start_none_defaults_to_zero ... ok
[INFO] [stdout] test generator::tests::factory_template_config_seed_none_defaults_correctly ... ok
[INFO] [stdout] test generator::tests::factory_step_with_wrap ... ok
[INFO] [stdout] test generator::tests::factory_uniform_returns_values_in_range ... ok
[INFO] [stdout] test generator::tests::factory_template_invalid_severity_key_returns_error ... ok
[INFO] [stdout] test generator::tests::factory_replay_config_missing_file_returns_error ... ok
[INFO] [stdout] test generator::tests::factory_uniform_seed_none_defaults_to_zero_seed ... ok
[INFO] [stdout] test generator::tests::factory_template_config_creates_working_generator ... ok
[INFO] [stdout] test generator::tests::generators_are_send_and_sync ... ok
[INFO] [stdout] test generator::tests::log_generators_are_send_and_sync ... 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::tests::wrap_with_jitter_none_returns_unchanged ... ok
[INFO] [stdout] test generator::uniform::tests::different_ticks_produce_different_values ... ok
[INFO] [stdout] test generator::uniform::tests::all_values_within_range_for_10000_ticks ... ok
[INFO] [stdout] test generator::uniform::tests::determinism_across_instances ... ok
[INFO] [stdout] test generator::uniform::tests::same_seed_and_tick_returns_same_value ... ok
[INFO] [stdout] test generator::tests::wrap_with_jitter_positive_produces_values_in_range ... ok
[INFO] [stdout] test generator::uniform::tests::different_seeds_produce_different_sequences ... ok
[INFO] [stdout] test generator::uniform::tests::zero_range_returns_min ... ok
[INFO] [stdout] test model::log::tests::fields_are_sorted_by_key ... ok
[INFO] [stdout] test model::log::tests::log_event_clone_is_independent ... ok
[INFO] [stdout] test model::log::tests::log_event_is_send_and_sync ... ok
[INFO] [stdout] test model::log::tests::new_stores_severity_message_and_fields ... 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_error ... ok
[INFO] [stdout] test model::log::tests::severity_deserializes_from_lowercase_debug ... ok
[INFO] [stdout] test model::log::tests::severity_deserializes_from_lowercase_fatal ... ok
[INFO] [stdout] test model::log::tests::severity_deserializes_from_lowercase_info ... 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_equal_variants_compare_as_equal ... ok
[INFO] [stdout] test model::log::tests::severity_error_serializes_to_lowercase_yaml ... ok
[INFO] [stdout] test model::log::tests::severity_fatal_serializes_to_lowercase_json ... ok
[INFO] [stdout] test model::log::tests::log_event_clone_preserves_labels ... ok
[INFO] [stdout] test model::log::tests::severity_info_serializes_to_lowercase_json ... ok
[INFO] [stdout] test model::log::tests::new_stores_labels_correctly ... ok
[INFO] [stdout] test model::log::tests::severity_is_send_and_sync ... ok
[INFO] [stdout] test model::log::tests::severity_ordering_follows_severity_ladder ... ok
[INFO] [stdout] test model::log::tests::severity_rejects_uppercase_deserialization ... ok
[INFO] [stdout] test model::log::tests::severity_partial_ord_consistent_with_ord ... ok
[INFO] [stdout] test model::log::tests::severity_sort_produces_ascending_order ... ok
[INFO] [stdout] test model::log::tests::severity_rejects_unknown_variant ... ok
[INFO] [stdout] test model::log::tests::severity_trace_serializes_to_lowercase_json ... ok
[INFO] [stdout] test model::log::tests::with_timestamp_at_unix_epoch_is_valid ... ok
[INFO] [stdout] test model::log::tests::with_timestamp_stores_all_fields_correctly ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_duplicate_key_last_write_wins ... ok
[INFO] [stdout] test model::log::tests::severity_warn_serializes_to_lowercase_json ... 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::log::tests::with_timestamp_uses_exact_provided_timestamp ... 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_stores_correct_values ... 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_mixed_alphanumeric_key_returns_ok ... ok
[INFO] [stdout] test model::metric::tests::from_pairs_with_digit_leading_key_returns_config_error ... 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_requires_validated_name ... 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::from_parts_preserves_exact_timestamp ... ok
[INFO] [stdout] test model::metric::tests::insert_adds_new_key ... ok
[INFO] [stdout] test model::metric::tests::is_empty_returns_false_for_nonempty_label_set ... ok
[INFO] [stdout] test model::log::tests::severity_error_serializes_to_lowercase_json ... ok
[INFO] [stdout] test model::log::tests::severity_info_serializes_to_lowercase_yaml ... 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_iter_yields_keys_in_sorted_order ... ok
[INFO] [stdout] test model::metric::tests::is_empty_returns_true_for_empty_label_set ... ok
[INFO] [stdout] test model::metric::tests::labels_is_send_and_sync ... 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_error_message_includes_invalid_name ... 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_colon_in_name_returns_ok ... 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_dash_in_name_returns_config_error ... 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_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_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_is_send_and_sync ... 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 generator::summary::tests::normal_distribution_p50_near_mean ... 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::is_running_returns_false_when_thread_is_none ... ok
[INFO] [stdout] test schedule::handle::tests::join_none_timeout_waits_for_thread_and_returns_ok ... 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::core_loop::tests::loop_pushes_metric_events_to_stats_buffer ... ok
[INFO] [stdout] test schedule::core_loop::tests::loop_updates_stats ... 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::join_with_short_timeout_returns_ok_without_consuming_thread ... ok
[INFO] [stdout] test schedule::handle::tests::stop_sets_shutdown_flag_to_false ... ok
[INFO] [stdout] test schedule::core_loop::tests::loop_stops_on_shutdown_flag ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::bucket_events_have_le_label ... ok
[INFO] [stdout] test schedule::handle::tests::recent_metrics_recovers_from_poisoned_lock ... 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::handle::tests::stats_snapshot_recovers_from_poisoned_lock ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::config_labels_appear_in_output ... ok
[INFO] [stdout] test schedule::handle::tests::stats_snapshot_returns_nonzero_total_events_after_running ... ok
[INFO] [stdout] test schedule::launch::tests::elapsed_is_positive_after_launch ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::custom_buckets_appear_in_output ... ok
[INFO] [stdout] test schedule::core_loop::tests::loop_emits_events_for_duration ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::output_contains_bucket_count_sum_series ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::run_completes_for_short_duration ... ok
[INFO] [stdout] test schedule::launch::tests::launch_scenario_logs_returns_running_handle ... ok
[INFO] [stdout] test schedule::launch::tests::launch_scenario_resets_shutdown_flag_to_true ... ok
[INFO] [stdout] test schedule::launch::tests::launch_scenario_metrics_returns_running_handle ... ok
[INFO] [stdout] natural_exit 1 1777253710328
[INFO] [stdout] natural_exit 1 1777253710348
[INFO] [stdout] natural_exit 1 1777253710368
[INFO] [stdout] natural_exit 1 1777253710388
[INFO] [stdout] natural_exit 1 1777253710408
[INFO] [stdout] natural_exit 1 1777253710428
[INFO] [stdout] natural_exit 1 1777253710448
[INFO] [stdout] natural_exit 1 1777253710468
[INFO] [stdout] natural_exit 1 1777253710488
[INFO] [stdout] natural_exit 1 1777253710508
[INFO] [stdout] natural_exit 1 1777253710528
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 2 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 5 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 9 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 18 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 30 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 45 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 50 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="1"} 50 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 50 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="5"} 50 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="10"} 50 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 50 1777253710333
[INFO] [stdout] launch_histogram_count 50 1777253710333
[INFO] [stdout] launch_histogram_sum 5.1933677371398215 1777253710333
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 4 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 9 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 20 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 37 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 56 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 89 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 100 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="1"} 100 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 100 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="5"} 100 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="10"} 100 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 100 1777253710353
[INFO] [stdout] launch_histogram_count 100 1777253710353
[INFO] [stdout] launch_histogram_sum 10.801200722807684 1777253710353
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 6 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 17 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 32 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 56 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 86 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 133 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 150 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="1"} 150 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 150 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="5"} 150 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="10"} 150 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 150 1777253710373
[INFO] [stdout] launch_histogram_count 150 1777253710373
[INFO] [stdout] launch_histogram_sum 16.23392453676642 1777253710373
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 10 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 23 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 44 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 72 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 118 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 179 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 199 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="1"} 200 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 200 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="5"} 200 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="10"} 200 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 200 1777253710393
[INFO] [stdout] launch_histogram_count 200 1777253710393
[INFO] [stdout] launch_histogram_sum 21.585516015112656 1777253710393
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 11 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 27 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 51 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 88 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 153 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 224 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 249 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="1"} 250 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 250 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="5"} 250 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="10"} 250 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 250 1777253710413
[INFO] [stdout] launch_histogram_count 250 1777253710413
[INFO] [stdout] launch_histogram_sum 26.588298225290494 1777253710413
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 12 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 33 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 62 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 108 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 186 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 268 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 299 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="1"} 300 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 300 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="5"} 300 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="10"} 300 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 300 1777253710433
[INFO] [stdout] launch_histogram_count 300 1777253710433
[INFO] [stdout] launch_histogram_sum 31.72928527314738 1777253710433
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 18 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 41 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 76 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 129 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 220 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 317 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 349 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="1"} 350 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 350 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="5"} 350 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="10"} 350 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 350 1777253710453
[INFO] [stdout] launch_histogram_count 350 1777253710453
[INFO] [stdout] launch_histogram_sum 35.67054956209154 1777253710453
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 19 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 45 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 84 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 142 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 246 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 365 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 399 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="1"} 400 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 400 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="5"} 400 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="10"} 400 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 400 1777253710473
[INFO] [stdout] launch_histogram_count 400 1777253710473
[INFO] [stdout] launch_histogram_sum 40.933766940406336 1777253710473
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 21 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 48 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 91 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 161 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 276 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 412 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 449 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="1"} 450 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 450 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="5"} 450 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="10"} 450 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 450 1777253710493
[INFO] [stdout] launch_histogram_count 450 1777253710493
[INFO] [stdout] launch_histogram_sum 45.611123634938906 1777253710493
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 25 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 57 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 104 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 181 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 308 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 457 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 499 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="1"} 500 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 500 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="5"} 500 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="10"} 500 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 500 1777253710513
[INFO] [stdout] launch_histogram_count 500 1777253710513
[INFO] [stdout] launch_histogram_sum 50.47970137799065 1777253710513
[INFO] [stdout] launch_histogram_bucket{le="0.005"} 26 1777253710533
[INFO] [stdout] launch_histogram_bucket{le="0.01"} 60 1777253710533
[INFO] [stdout] launch_histogram_bucket{le="0.025"} 110 1777253710533
[INFO] [stdout] launch_histogram_bucket{le="0.05"} 195 1777253710533
[INFO] [stdout] launch_histogram_bucket{le="0.1"} 341 1777253710533
[INFO] [stdout] launch_histogram_bucket{le="0.25"} 506 1777253710533
[INFO] [stdout] launch_histogram_bucket{le="0.5"} 549 1777253710533
[INFO] [stdout] launch_histogram_bucket{le="1"} 550 1777253710533
[INFO] [stdout] launch_histogram_bucket{le="2.5"} 550 1777253710533
[INFO] [stdout] launch_histogram_bucket{le="5"} 550 1777253710533
[INFO] [stdout] launch_histogram_bucket{le="10"} 550 1777253710533
[INFO] [stdout] launch_histogram_bucket{le="+Inf"} 550 1777253710533
[INFO] [stdout] launch_histogram_count 550 1777253710533
[INFO] [stdout] launch_histogram_sum 55.12208728489055 1777253710533
[INFO] [stdout] test schedule::launch::tests::launch_histogram_scenario_runs_to_completion ... ok
[INFO] [stdout] test schedule::launch::tests::finite_duration_scenario_exits_naturally_and_join_returns_ok ... 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 1777253710455
[INFO] [stdout] launch_summary{quantile="0.9"} 0.11710086165412449 1777253710455
[INFO] [stdout] launch_summary{quantile="0.95"} 0.13667066120461982 1777253710455
[INFO] [stdout] launch_summary{quantile="0.99"} 0.1484522785729533 1777253710455
[INFO] [stdout] launch_summary_count 50 1777253710455
[INFO] [stdout] launch_summary_sum 4.870909134566461 1777253710455
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09624363780211248 1777253710475
[INFO] [stdout] launch_summary{quantile="0.9"} 0.11159670693236098 1777253710475
[INFO] [stdout] launch_summary{quantile="0.95"} 0.12310119496624224 1777253710475
[INFO] [stdout] launch_summary{quantile="0.99"} 0.12711526003018447 1777253710475
[INFO] [stdout] launch_summary_count 100 1777253710475
[INFO] [stdout] launch_summary_sum 9.575199992825452 1777253710475
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09925048553126276 1777253710495
[INFO] [stdout] launch_summary{quantile="0.9"} 0.1277767102315812 1777253710495
[INFO] [stdout] launch_summary{quantile="0.95"} 0.13400536983183764 1777253710495
[INFO] [stdout] launch_summary{quantile="0.99"} 0.14364384985767467 1777253710495
[INFO] [stdout] launch_summary_count 150 1777253710495
[INFO] [stdout] launch_summary_sum 14.584036916824473 1777253710495
[INFO] [stdout] launch_summary{quantile="0.5"} 0.10072871506156929 1777253710515
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12084462471143154 1777253710515
[INFO] [stdout] launch_summary{quantile="0.95"} 0.12304673490302986 1777253710515
[INFO] [stdout] launch_summary{quantile="0.99"} 0.15395292211324813 1777253710515
[INFO] [stdout] launch_summary_count 200 1777253710515
[INFO] [stdout] launch_summary_sum 19.625065995975657 1777253710515
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09946360503036909 1777253710535
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12338470702142926 1777253710535
[INFO] [stdout] launch_summary{quantile="0.95"} 0.1322658418711261 1777253710535
[INFO] [stdout] launch_summary{quantile="0.99"} 0.13486638961774144 1777253710535
[INFO] [stdout] launch_summary_count 250 1777253710535
[INFO] [stdout] launch_summary_sum 24.62808021086662 1777253710535
[INFO] [stdout] launch_summary{quantile="0.5"} 0.10462471888042003 1777253710555
[INFO] [stdout] launch_summary{quantile="0.9"} 0.1279909313272704 1777253710555
[INFO] [stdout] launch_summary{quantile="0.95"} 0.1345662155145832 1777253710555
[INFO] [stdout] launch_summary{quantile="0.99"} 0.14022149530352757 1777253710555
[INFO] [stdout] launch_summary_count 300 1777253710555
[INFO] [stdout] launch_summary_sum 29.88337214657162 1777253710555
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09802189808632175 1777253710575
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12892553514080807 1777253710575
[INFO] [stdout] launch_summary{quantile="0.95"} 0.1390699818731617 1777253710575
[INFO] [stdout] launch_summary{quantile="0.99"} 0.16664182709778774 1777253710575
[INFO] [stdout] launch_summary_count 350 1777253710575
[INFO] [stdout] launch_summary_sum 34.935136947473595 1777253710575
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09656718615001322 1777253710595
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12060888737820927 1777253710595
[INFO] [stdout] launch_summary{quantile="0.95"} 0.12756269856628186 1777253710595
[INFO] [stdout] launch_summary{quantile="0.99"} 0.14054471430159418 1777253710595
[INFO] [stdout] launch_summary_count 400 1777253710595
[INFO] [stdout] launch_summary_sum 39.81371329053099 1777253710595
[INFO] [stdout] launch_summary{quantile="0.5"} 0.10566307598748581 1777253710615
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12611975192467734 1777253710615
[INFO] [stdout] launch_summary{quantile="0.95"} 0.13107211113659578 1777253710615
[INFO] [stdout] launch_summary{quantile="0.99"} 0.13155530200591778 1777253710615
[INFO] [stdout] launch_summary_count 450 1777253710615
[INFO] [stdout] launch_summary_sum 44.967870239221504 1777253710615
[INFO] [stdout] launch_summary{quantile="0.5"} 0.09953719771472015 1777253710635
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12704228091368275 1777253710635
[INFO] [stdout] launch_summary{quantile="0.95"} 0.1290986256938146 1777253710635
[INFO] [stdout] launch_summary{quantile="0.99"} 0.1379225952468997 1777253710635
[INFO] [stdout] launch_summary_count 500 1777253710635
[INFO] [stdout] launch_summary_sum 49.97532019882878 1777253710635
[INFO] [stdout] launch_summary{quantile="0.5"} 0.10064575188756542 1777253710655
[INFO] [stdout] launch_summary{quantile="0.9"} 0.12460264702456356 1777253710655
[INFO] [stdout] launch_summary{quantile="0.95"} 0.12679166440191006 1777253710655
[INFO] [stdout] launch_summary{quantile="0.99"} 0.13623879311347523 1777253710655
[INFO] [stdout] launch_summary_count 550 1777253710655
[INFO] [stdout] launch_summary_sum 54.99486038285484 1777253710655
[INFO] [stdout] no_delay_test 1 1777253710459
[INFO] [stdout] no_delay_test 1 1777253710461
[INFO] [stdout] no_delay_test 1 1777253710463
[INFO] [stdout] no_delay_test 1 1777253710465
[INFO] [stdout] no_delay_test 1 1777253710467
[INFO] [stdout] no_delay_test 1 1777253710469
[INFO] [stdout] no_delay_test 1 1777253710471
[INFO] [stdout] no_delay_test 1 1777253710473
[INFO] [stdout] no_delay_test 1 1777253710475
[INFO] [stdout] no_delay_test 1 1777253710477
[INFO] [stdout] no_delay_test 1 1777253710479
[INFO] [stdout] no_delay_test 1 1777253710481
[INFO] [stdout] no_delay_test 1 1777253710483
[INFO] [stdout] no_delay_test 1 1777253710485
[INFO] [stdout] no_delay_test 1 1777253710487
[INFO] [stdout] no_delay_test 1 1777253710489
[INFO] [stdout] no_delay_test 1 1777253710491
[INFO] [stdout] no_delay_test 1 1777253710493
[INFO] [stdout] no_delay_test 1 1777253710495
[INFO] [stdout] no_delay_test 1 1777253710497
[INFO] [stdout] no_delay_test 1 1777253710499
[INFO] [stdout] no_delay_test 1 1777253710501
[INFO] [stdout] no_delay_test 1 1777253710503
[INFO] [stdout] no_delay_test 1 1777253710505
[INFO] [stdout] no_delay_test 1 1777253710507
[INFO] [stdout] no_delay_test 1 1777253710509
[INFO] [stdout] no_delay_test 1 1777253710511
[INFO] [stdout] no_delay_test 1 1777253710513
[INFO] [stdout] no_delay_test 1 1777253710515
[INFO] [stdout] no_delay_test 1 1777253710517
[INFO] [stdout] no_delay_test 1 1777253710519
[INFO] [stdout] no_delay_test 1 1777253710521
[INFO] [stdout] no_delay_test 1 1777253710523
[INFO] [stdout] no_delay_test 1 1777253710525
[INFO] [stdout] no_delay_test 1 1777253710527
[INFO] [stdout] no_delay_test 1 1777253710529
[INFO] [stdout] no_delay_test 1 1777253710531
[INFO] [stdout] no_delay_test 1 1777253710533
[INFO] [stdout] no_delay_test 1 1777253710536
[INFO] [stdout] no_delay_test 1 1777253710537
[INFO] [stdout] no_delay_test 1 1777253710539
[INFO] [stdout] no_delay_test 1 1777253710541
[INFO] [stdout] no_delay_test 1 1777253710543
[INFO] [stdout] no_delay_test 1 1777253710545
[INFO] [stdout] no_delay_test 1 1777253710547
[INFO] [stdout] no_delay_test 1 1777253710549
[INFO] [stdout] no_delay_test 1 1777253710551
[INFO] [stdout] no_delay_test 1 1777253710553
[INFO] [stdout] no_delay_test 1 1777253710555
[INFO] [stdout] no_delay_test 1 1777253710557
[INFO] [stdout] no_delay_test 1 1777253710559
[INFO] [stdout] no_delay_test 1 1777253710561
[INFO] [stdout] no_delay_test 1 1777253710563
[INFO] [stdout] no_delay_test 1 1777253710565
[INFO] [stdout] no_delay_test 1 1777253710567
[INFO] [stdout] no_delay_test 1 1777253710569
[INFO] [stdout] no_delay_test 1 1777253710571
[INFO] [stdout] no_delay_test 1 1777253710573
[INFO] [stdout] no_delay_test 1 1777253710575
[INFO] [stdout] no_delay_test 1 1777253710577
[INFO] [stdout] no_delay_test 1 1777253710579
[INFO] [stdout] no_delay_test 1 1777253710581
[INFO] [stdout] no_delay_test 1 1777253710583
[INFO] [stdout] no_delay_test 1 1777253710585
[INFO] [stdout] no_delay_test 1 1777253710587
[INFO] [stdout] no_delay_test 1 1777253710589
[INFO] [stdout] no_delay_test 1 1777253710591
[INFO] [stdout] no_delay_test 1 1777253710593
[INFO] [stdout] no_delay_test 1 1777253710595
[INFO] [stdout] no_delay_test 1 1777253710597
[INFO] [stdout] no_delay_test 1 1777253710599
[INFO] [stdout] no_delay_test 1 1777253710601
[INFO] [stdout] no_delay_test 1 1777253710603
[INFO] [stdout] no_delay_test 1 1777253710605
[INFO] [stdout] no_delay_test 1 1777253710607
[INFO] [stdout] no_delay_test 1 1777253710609
[INFO] [stdout] no_delay_test 1 1777253710611
[INFO] [stdout] no_delay_test 1 1777253710613
[INFO] [stdout] no_delay_test 1 1777253710615
[INFO] [stdout] no_delay_test 1 1777253710617
[INFO] [stdout] no_delay_test 1 1777253710619
[INFO] [stdout] no_delay_test 1 1777253710621
[INFO] [stdout] no_delay_test 1 1777253710623
[INFO] [stdout] no_delay_test 1 1777253710626
[INFO] [stdout] no_delay_test 1 1777253710627
[INFO] [stdout] no_delay_test 1 1777253710629
[INFO] [stdout] no_delay_test 1 1777253710631
[INFO] [stdout] no_delay_test 1 1777253710633
[INFO] [stdout] no_delay_test 1 1777253710635
[INFO] [stdout] no_delay_test 1 1777253710637
[INFO] [stdout] no_delay_test 1 1777253710639
[INFO] [stdout] no_delay_test 1 1777253710641
[INFO] [stdout] no_delay_test 1 1777253710643
[INFO] [stdout] no_delay_test 1 1777253710645
[INFO] [stdout] no_delay_test 1 1777253710647
[INFO] [stdout] no_delay_test 1 1777253710649
[INFO] [stdout] no_delay_test 1 1777253710651
[INFO] [stdout] no_delay_test 1 1777253710653
[INFO] [stdout] no_delay_test 1 1777253710656
[INFO] [stdout] no_delay_test 1 1777253710657
[INFO] [stdout] no_delay_test 1 1777253710659
[INFO] [stdout] test schedule::launch::tests::shutdown_during_start_delay_exits_cleanly ... ok
[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::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:35:10.663Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.667Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.667Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.669Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.671Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.678Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.678Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.678Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.679Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.681Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.683Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.685Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.687Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.690Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.696Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.696Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.696Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.697Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.700Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.701Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.705Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.705Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.707Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.709Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.715Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.715Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.715Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.717Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.719Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.721Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.723Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.725Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.727Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.729Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.731Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.733Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.735Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.737Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.739Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.744Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.744Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.745Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.747Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.749Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.751Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.753Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.755Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.757Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.759Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.761Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.763Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.765Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.767Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.769Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.771Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.773Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.775Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.777Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.779Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.781Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.784Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.785Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.787Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.789Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.791Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.793Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.795Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.797Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.799Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.801Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.803Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.805Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] stats_test 1 1777253710660
[INFO] [stdout] stats_test 1 1777253710662
[INFO] [stdout] stats_test 1 1777253710664
[INFO] [stdout] stats_test 1 1777253710666
[INFO] [stdout] stats_test 1 1777253710668
[INFO] [stdout] stats_test 1 1777253710670
[INFO] [stdout] stats_test 1 1777253710672
[INFO] [stdout] stats_test 1 1777253710675
[INFO] [stdout] stats_test 1 1777253710676
[INFO] [stdout] stats_test 1 1777253710678
[INFO] [stdout] stats_test 1 1777253710680
[INFO] [stdout] stats_test 1 1777253710682
[INFO] [stdout] stats_test 1 1777253710684
[INFO] [stdout] stats_test 1 1777253710686
[INFO] [stdout] stats_test 1 1777253710688
[INFO] [stdout] stats_test 1 1777253710690
[INFO] [stdout] stats_test 1 1777253710692
[INFO] [stdout] stats_test 1 1777253710696
[INFO] [stdout] stats_test 1 1777253710696
[INFO] [stdout] stats_test 1 1777253710698
[INFO] [stdout] stats_test 1 1777253710700
[INFO] [stdout] stats_test 1 1777253710702
[INFO] [stdout] stats_test 1 1777253710704
[INFO] [stdout] stats_test 1 1777253710706
[INFO] [stdout] stats_test 1 1777253710708
[INFO] [stdout] stats_test 1 1777253710710
[INFO] [stdout] stats_test 1 1777253710712
[INFO] [stdout] stats_test 1 1777253710714
[INFO] [stdout] stats_test 1 1777253710716
[INFO] [stdout] stats_test 1 1777253710718
[INFO] [stdout] stats_test 1 1777253710720
[INFO] [stdout] stats_test 1 1777253710722
[INFO] [stdout] stats_test 1 1777253710724
[INFO] [stdout] stats_test 1 1777253710726
[INFO] [stdout] stats_test 1 1777253710728
[INFO] [stdout] stats_test 1 1777253710730
[INFO] [stdout] stats_test 1 1777253710732
[INFO] [stdout] stats_test 1 1777253710734
[INFO] [stdout] stats_test 1 1777253710736
[INFO] [stdout] stats_test 1 1777253710738
[INFO] [stdout] stats_test 1 1777253710740
[INFO] [stdout] stats_test 1 1777253710742
[INFO] [stdout] stats_test 1 1777253710744
[INFO] [stdout] stats_test 1 1777253710746
[INFO] [stdout] stats_test 1 1777253710748
[INFO] [stdout] stats_test 1 1777253710750
[INFO] [stdout] stats_test 1 1777253710752
[INFO] [stdout] stats_test 1 1777253710754
[INFO] [stdout] stats_test 1 1777253710756
[INFO] [stdout] stats_test 1 1777253710758
[INFO] [stdout] stats_test 1 1777253710760
[INFO] [stdout] stats_test 1 1777253710762
[INFO] [stdout] stats_test 1 1777253710764
[INFO] [stdout] stats_test 1 1777253710766
[INFO] [stdout] stats_test 1 1777253710768
[INFO] [stdout] stats_test 1 1777253710770
[INFO] [stdout] stats_test 1 1777253710772
[INFO] [stdout] stats_test 1 1777253710774
[INFO] [stdout] stats_test 1 1777253710776
[INFO] [stdout] stats_test 1 1777253710778
[INFO] [stdout] stats_test 1 1777253710780
[INFO] [stdout] stats_test 1 1777253710782
[INFO] [stdout] stats_test 1 1777253710784
[INFO] [stdout] stats_test 1 1777253710786
[INFO] [stdout] stats_test 1 1777253710788
[INFO] [stdout] stats_test 1 1777253710790
[INFO] [stdout] stats_test 1 1777253710792
[INFO] [stdout] stats_test 1 1777253710794
[INFO] [stdout] stats_test 1 1777253710796
[INFO] [stdout] stats_test 1 1777253710798
[INFO] [stdout] stats_test 1 1777253710800
[INFO] [stdout] stats_test 1 1777253710802
[INFO] [stdout] stats_test 1 1777253710804
[INFO] [stdout] stats_test 1 1777253710806
[INFO] [stdout] stats_test 1 1777253710808
[INFO] [stdout] stats_test 1 1777253710810
[INFO] [stdout] stats_test 1 1777253710812
[INFO] [stdout] stats_test 1 1777253710814
[INFO] [stdout] stats_test 1 1777253710816
[INFO] [stdout] stats_test 1 1777253710818
[INFO] [stdout] stats_test 1 1777253710820
[INFO] [stdout] stats_test 1 1777253710822
[INFO] [stdout] stats_test 1 1777253710824
[INFO] [stdout] stats_test 1 1777253710826
[INFO] [stdout] stats_test 1 1777253710828
[INFO] [stdout] stats_test 1 1777253710830
[INFO] [stdout] stats_test 1 1777253710832
[INFO] [stdout] stats_test 1 1777253710834
[INFO] [stdout] stats_test 1 1777253710836
[INFO] [stdout] stats_test 1 1777253710838
[INFO] [stdout] stats_test 1 1777253710840
[INFO] [stdout] stats_test 1 1777253710842
[INFO] [stdout] stats_test 1 1777253710844
[INFO] [stdout] stats_test 1 1777253710846
[INFO] [stdout] stats_test 1 1777253710848
[INFO] [stdout] stats_test 1 1777253710850
[INFO] [stdout] stats_test 1 1777253710852
[INFO] [stdout] stats_test 1 1777253710854
[INFO] [stdout] stats_test 1 1777253710856
[INFO] [stdout] stats_test 1 1777253710858
[INFO] [stdout] stats_test 1 1777253710860
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.807Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.809Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.811Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.813Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.815Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.817Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.819Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.821Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.823Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.825Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.827Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.829Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.831Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.833Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.835Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.837Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.839Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.841Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.843Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.845Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.847Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.849Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.851Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.853Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.855Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.857Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.859Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.861Z","severity":"info","message":"stat tracking log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.863Z","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:35:10.928Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.932Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.933Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.936Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.936Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.940Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.942Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.942Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.944Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.946Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.948Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.951Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.952Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.954Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.956Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.958Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.960Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.964Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.964Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.966Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.970Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.970Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.972Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.974Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.976Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.978Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.980Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.983Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.984Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.986Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.988Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.990Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.992Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.994Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.997Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:10.998Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.001Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.002Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.004Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.006Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.009Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.010Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.012Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.014Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.018Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.018Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.020Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.022Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.024Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.026Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.028Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.032Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.033Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.034Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.036Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.038Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.041Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.042Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.044Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.047Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.049Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.051Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.053Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.054Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.056Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.059Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.060Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.063Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.064Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.067Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.068Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.070Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.072Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.074Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.076Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.078Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.081Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.083Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.084Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.086Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.088Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.091Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.093Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.094Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.097Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.098Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.101Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.102Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.105Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.106Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.109Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.110Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.112Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.114Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.116Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.118Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.121Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.122Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.124Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.127Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.128Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.130Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.133Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.135Z","severity":"info","message":"delayed log","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:11.136Z","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] test schedule::log_runner::tests::run_logs_dynamic_label_wins_on_key_collision ... ok
[INFO] [stdout] delay_test 1 1777253711036
[INFO] [stdout] delay_test 1 1777253711039
[INFO] [stdout] delay_test 1 1777253711040
[INFO] [stdout] delay_test 1 1777253711042
[INFO] [stdout] delay_test 1 1777253711045
[INFO] [stdout] delay_test 1 1777253711046
[INFO] [stdout] delay_test 1 1777253711048
[INFO] [stdout] delay_test 1 1777253711051
[INFO] [stdout] delay_test 1 1777253711052
[INFO] [stdout] delay_test 1 1777253711054
[INFO] [stdout] delay_test 1 1777253711056
[INFO] [stdout] delay_test 1 1777253711058
[INFO] [stdout] delay_test 1 1777253711060
[INFO] [stdout] delay_test 1 1777253711062
[INFO] [stdout] delay_test 1 1777253711065
[INFO] [stdout] delay_test 1 1777253711066
[INFO] [stdout] delay_test 1 1777253711068
[INFO] [stdout] delay_test 1 1777253711071
[INFO] [stdout] delay_test 1 1777253711072
[INFO] [stdout] delay_test 1 1777253711074
[INFO] [stdout] delay_test 1 1777253711077
[INFO] [stdout] delay_test 1 1777253711078
[INFO] [stdout] delay_test 1 1777253711080
[INFO] [stdout] delay_test 1 1777253711083
[INFO] [stdout] delay_test 1 1777253711084
[INFO] [stdout] delay_test 1 1777253711086
[INFO] [stdout] delay_test 1 1777253711089
[INFO] [stdout] delay_test 1 1777253711090
[INFO] [stdout] delay_test 1 1777253711092
[INFO] [stdout] delay_test 1 1777253711095
[INFO] [stdout] delay_test 1 1777253711097
[INFO] [stdout] delay_test 1 1777253711098
[INFO] [stdout] delay_test 1 1777253711101
[INFO] [stdout] delay_test 1 1777253711102
[INFO] [stdout] delay_test 1 1777253711104
[INFO] [stdout] delay_test 1 1777253711107
[INFO] [stdout] delay_test 1 1777253711108
[INFO] [stdout] delay_test 1 1777253711110
[INFO] [stdout] delay_test 1 1777253711113
[INFO] [stdout] delay_test 1 1777253711114
[INFO] [stdout] delay_test 1 1777253711116
[INFO] [stdout] delay_test 1 1777253711119
[INFO] [stdout] delay_test 1 1777253711120
[INFO] [stdout] delay_test 1 1777253711122
[INFO] [stdout] delay_test 1 1777253711125
[INFO] [stdout] delay_test 1 1777253711126
[INFO] [stdout] delay_test 1 1777253711128
[INFO] [stdout] delay_test 1 1777253711131
[INFO] [stdout] delay_test 1 1777253711133
[INFO] [stdout] delay_test 1 1777253711134
[INFO] [stdout] delay_test 1 1777253711137
[INFO] [stdout] delay_test 1 1777253711139
[INFO] [stdout] delay_test 1 1777253711141
[INFO] [stdout] delay_test 1 1777253711143
[INFO] [stdout] delay_test 1 1777253711145
[INFO] [stdout] delay_test 1 1777253711147
[INFO] [stdout] delay_test 1 1777253711149
[INFO] [stdout] delay_test 1 1777253711151
[INFO] [stdout] delay_test 1 1777253711153
[INFO] [stdout] delay_test 1 1777253711155
[INFO] [stdout] delay_test 1 1777253711157
[INFO] [stdout] delay_test 1 1777253711159
[INFO] [stdout] delay_test 1 1777253711162
[INFO] [stdout] delay_test 1 1777253711163
[INFO] [stdout] delay_test 1 1777253711165
[INFO] [stdout] delay_test 1 1777253711167
[INFO] [stdout] delay_test 1 1777253711170
[INFO] [stdout] delay_test 1 1777253711171
[INFO] [stdout] delay_test 1 1777253711173
[INFO] [stdout] delay_test 1 1777253711175
[INFO] [stdout] delay_test 1 1777253711177
[INFO] [stdout] delay_test 1 1777253711179
[INFO] [stdout] delay_test 1 1777253711181
[INFO] [stdout] delay_test 1 1777253711183
[INFO] [stdout] delay_test 1 1777253711185
[INFO] [stdout] delay_test 1 1777253711187
[INFO] [stdout] delay_test 1 1777253711189
[INFO] [stdout] delay_test 1 1777253711191
[INFO] [stdout] delay_test 1 1777253711193
[INFO] [stdout] delay_test 1 1777253711195
[INFO] [stdout] delay_test 1 1777253711197
[INFO] [stdout] delay_test 1 1777253711199
[INFO] [stdout] delay_test 1 1777253711201
[INFO] [stdout] delay_test 1 1777253711203
[INFO] [stdout] delay_test 1 1777253711205
[INFO] [stdout] delay_test 1 1777253711207
[INFO] [stdout] delay_test 1 1777253711209
[INFO] [stdout] delay_test 1 1777253711211
[INFO] [stdout] delay_test 1 1777253711213
[INFO] [stdout] delay_test 1 1777253711215
[INFO] [stdout] delay_test 1 1777253711217
[INFO] [stdout] delay_test 1 1777253711219
[INFO] [stdout] delay_test 1 1777253711221
[INFO] [stdout] delay_test 1 1777253711223
[INFO] [stdout] delay_test 1 1777253711225
[INFO] [stdout] delay_test 1 1777253711227
[INFO] [stdout] delay_test 1 1777253711229
[INFO] [stdout] delay_test 1 1777253711231
[INFO] [stdout] delay_test 1 1777253711233
[INFO] [stdout] delay_test 1 1777253711235
[INFO] [stdout] delay_test 1 1777253711237
[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_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::log_runner::tests::run_logs_dynamic_labels_values_list_cycle_in_output ... ok
[INFO] [stdout] test schedule::histogram_runner::tests::gap_suppresses_histogram_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 1777253712432
[INFO] [stdout] zero_offset 1 1777253712532
[INFO] [stdout] zero_offset 1 1777253712632
[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] first_immediate 1 1777253712637
[INFO] [stdout] first_immediate 1 1777253712737
[INFO] [stdout] shutdown_test_metric 1 1777253712652
[INFO] [stdout] shutdown_test_metric 1 1777253712752
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:12.652Z","severity":"info","message":"shutdown test","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:12.752Z","severity":"info","message":"shutdown test","labels":{},"fields":{}}
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_shutdown_flag_stops_all_threads_within_two_seconds ... ok
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_thread_errors_produce_runtime_not_config_variant ... ok
[INFO] [stdout] m2 1 1777253712753
[INFO] [stdout] m2 1 1777253712853
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:12.753Z","severity":"info","message":"test log event","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:12.853Z","severity":"info","message":"test log event","labels":{},"fields":{}}
[INFO] [stdout] test schedule::log_runner::tests::run_logs_with_sink_labels_appear_in_json_output ... ok
[INFO] [stdout] m1 1 1777253712753
[INFO] [stdout] m1 1 1777253712876
[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] immediate_indef 1 1777253712648
[INFO] [stdout] immediate_indef 1 1777253712748
[INFO] [stdout] immediate_indef 1 1777253712890
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_shutdown_during_phase_offset_exits_cleanly ... ok
[INFO] [stdout] grouped_a 1 1777253712872
[INFO] [stdout] grouped_a 1 1777253712972
[INFO] [stdout] concurrent_metrics 1 1777253712881
[INFO] [stdout] concurrent_metrics 1 1777253712981
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:12.881Z","severity":"info","message":"test log event","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:12.981Z","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 1777253712987
[INFO] [stdout] no_offset 1 1777253713087
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_no_phase_offset_preserves_behavior ... ok
[INFO] [stdout] minimal_offset 1 1777253712892
[INFO] [stdout] minimal_offset 1 1777253712994
[INFO] [stdout] minimal_offset 1 1777253713092
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_minimal_phase_offset_emits_almost_immediately ... ok
[INFO] [stdout] grouped_b 2 1777253713072
[INFO] [stdout] grouped_b 2 1777253713172
[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] {"timestamp":"2026-04-27T01:35:13.088Z","severity":"info","message":"test log event","labels":{},"fields":{}}
[INFO] [stdout] {"timestamp":"2026-04-27T01:35:13.189Z","severity":"info","message":"test log event","labels":{},"fields":{}}
[INFO] [stdout] single_metric 1 1777253713093
[INFO] [stdout] single_metric 1 1777253713193
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_single_metrics_scenario_returns_ok ... ok
[INFO] [stdout] test schedule::multi_runner::tests::run_multi_with_single_logs_scenario_returns_ok ... ok
[INFO] [stdout] second_delayed 2 1777253713137
[INFO] [stdout] second_delayed 2 1777253713237
[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_rate_10_duration_1s_produces_approx_10_lines ... 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] 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_values_list_cycle_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::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_gap_covering_full_window_produces_zero_events_even_with_burst ... ok
[INFO] [stdout] test schedule::runner::tests::invalid_metric_name_returns_config_error_before_loop ... ok
[INFO] [stdout] test schedule::runner::tests::integration_burst_then_normal_produces_mixed_rate ... 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] 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] up 1 1777253715745
[INFO] [stdout] up 1 1777253715755
[INFO] [stdout] up 1 1777253715766
[INFO] [stdout] up 1 1777253715775
[INFO] [stdout] up 1 1777253715785
[INFO] [stdout] up 1 1777253715797
[INFO] [stdout] up 1 1777253715805
[INFO] [stdout] up 1 1777253715815
[INFO] [stdout] up 1 1777253715826
[INFO] [stdout] up 1 1777253715835
[INFO] [stdout] up 1 1777253715848
[INFO] [stdout] test schedule::runner::tests::run_completes_without_error_for_short_duration ... 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::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::runner::tests::runner_without_stats_does_not_push_metrics ... 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::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_burst_with_multiplier_one_returns_some ... 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_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_differs_across_ticks ... ok
[INFO] [stdout] test schedule::tests::label_value_random_is_deterministic ... ok
[INFO] [stdout] test schedule::tests::label_value_random_respects_cardinality ... ok
[INFO] [stdout] test schedule::tests::label_value_random_starts_with_prefix ... 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_counter ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_parses_dynamic_labels_values_list ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_spike_custom_prefix_and_seed ... ok
[INFO] [stdout] test schedule::tests::parsed_schedule_spike_defaults_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_cloneable ... ok
[INFO] [stdout] test schedule::tests::spike_window_is_debuggable ... 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 schedule::summary_runner::tests::output_contains_quantile_count_sum_series ... 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::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_exactly_max_payload_succeeds ... 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_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_error_message_mentions_sizes ... 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 tests::config_types_constructible_without_yaml_parsing ... 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::encoder_timestamp_preserves_system_time_source ... ok
[INFO] [stdout] test tests::error_types_are_send_and_sync ... ok
[INFO] [stdout] test tests::factory_functions_work_without_deserialization ... ok
[INFO] [stdout] test tests::generator_error_converts_to_sonda_error_via_from ... 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::missing_replay_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::sink_file_error_produces_sink_variant ... FAILED
[INFO] [stdout] test tests::sonda_error_display_includes_context ... ok
[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 sink::channel::tests::bounded_channel_provides_backpressure_without_oom ... 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] [stderr] error: test failed, to rerun pass `--lib`
[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:     0x60b54bac05ea - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x60b54bac05ea - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::trace_unsynchronized::<std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x60b54bac05ea - std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x60b54bac05ea - <<std[e28293b1aa0f68bd]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c1f1a4ba060b9bfa]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x60b54bad808a - <core[c1f1a4ba060b9bfa]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x60b54bad808a - core[c1f1a4ba060b9bfa]::fmt::write
[INFO] [stdout]    6:     0x60b54bac5572 - std[e28293b1aa0f68bd]::io::default_write_fmt::<alloc[fdfd2bd8633a6659]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x60b54bac5572 - <alloc[fdfd2bd8633a6659]::vec::Vec<u8> as std[e28293b1aa0f68bd]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x60b54ba9c7cf - <std[e28293b1aa0f68bd]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x60b54ba9c7cf - std[e28293b1aa0f68bd]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x60b54bab7419 - std[e28293b1aa0f68bd]::panicking::default_hook
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x60b54ba35bcc - <alloc[fdfd2bd8633a6659]::boxed::Box<dyn for<'a, 'b> core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x60b54ba35bcc - test[273d7611820c9051]::test_main_with_exit_callback::<test[273d7611820c9051]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x60b54bab75d2 - <alloc[fdfd2bd8633a6659]::boxed::Box<dyn for<'a, 'b> core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x60b54bab75d2 - std[e28293b1aa0f68bd]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x60b54ba9c8ba - std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x60b54ba93f49 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_end_short_backtrace::<std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x60b54ba9d7ed - __rustc[b7974e8690430dd9]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x60b54bad893c - core[c1f1a4ba060b9bfa]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x60b54b8f5ad4 - sonda_core::sink::file::tests::write_to_readonly_dir_returns_sink_error_with_path_in_message::h07ae1147693915b6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/sink/file.rs:211:9
[INFO] [stdout]   20:     0x60b54b8f5ed7 - sonda_core::sink::file::tests::write_to_readonly_dir_returns_sink_error_with_path_in_message::{{closure}}::hdb359b5a81aa507a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/sink/file.rs:201:71
[INFO] [stdout]   21:     0x60b54b8aee36 - core::ops::function::FnOnce::call_once::ha054d339b06fc1f8
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x60b54ba29cab - <fn() -> core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x60b54ba29cab - test[273d7611820c9051]::__rust_begin_short_backtrace::<core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>, fn() -> core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x60b54ba3669b - test[273d7611820c9051]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x60b54ba3669b - <core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x60b54ba3669b - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}>, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x60b54ba3669b - std[e28293b1aa0f68bd]::panicking::catch_unwind::<core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>, core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x60b54ba3669b - std[e28293b1aa0f68bd]::panic::catch_unwind::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}>, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x60b54ba3669b - test[273d7611820c9051]::run_test_in_process
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x60b54ba3669b - test[273d7611820c9051]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x60b54ba31db4 - test[273d7611820c9051]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x60b54ba31db4 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_begin_short_backtrace::<test[273d7611820c9051]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x60b54ba392a2 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x60b54ba392a2 - <core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x60b54ba392a2 - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x60b54ba392a2 - std[e28293b1aa0f68bd]::panicking::catch_unwind::<(), core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x60b54ba392a2 - std[e28293b1aa0f68bd]::panic::catch_unwind::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x60b54ba392a2 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x60b54ba392a2 - <std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1} as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x60b54babf2ff - <alloc[fdfd2bd8633a6659]::boxed::Box<dyn core[c1f1a4ba060b9bfa]::ops::function::FnOnce<(), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   41:     0x60b54babf2ff - <std[e28293b1aa0f68bd]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x7ce948623aa4 - <unknown>
[INFO] [stdout]   43:     0x7ce9486b0a64 - 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:     0x60b54bac05ea - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x60b54bac05ea - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::trace_unsynchronized::<std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x60b54bac05ea - std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x60b54bac05ea - <<std[e28293b1aa0f68bd]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c1f1a4ba060b9bfa]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x60b54bad808a - <core[c1f1a4ba060b9bfa]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x60b54bad808a - core[c1f1a4ba060b9bfa]::fmt::write
[INFO] [stdout]    6:     0x60b54bac5572 - std[e28293b1aa0f68bd]::io::default_write_fmt::<alloc[fdfd2bd8633a6659]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x60b54bac5572 - <alloc[fdfd2bd8633a6659]::vec::Vec<u8> as std[e28293b1aa0f68bd]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x60b54ba9c7cf - <std[e28293b1aa0f68bd]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x60b54ba9c7cf - std[e28293b1aa0f68bd]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x60b54bab7419 - std[e28293b1aa0f68bd]::panicking::default_hook
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x60b54ba35bcc - <alloc[fdfd2bd8633a6659]::boxed::Box<dyn for<'a, 'b> core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x60b54ba35bcc - test[273d7611820c9051]::test_main_with_exit_callback::<test[273d7611820c9051]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x60b54bab75d2 - <alloc[fdfd2bd8633a6659]::boxed::Box<dyn for<'a, 'b> core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x60b54bab75d2 - std[e28293b1aa0f68bd]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x60b54ba9c8ba - std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x60b54ba93f49 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_end_short_backtrace::<std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x60b54ba9d7ed - __rustc[b7974e8690430dd9]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x60b54bad893c - core[c1f1a4ba060b9bfa]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x60b54b72c111 - sonda_core::tests::sink_file_error_produces_sink_variant::hb4dafb75c5330993
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:319:22
[INFO] [stdout]   20:     0x60b54b72c1c7 - sonda_core::tests::sink_file_error_produces_sink_variant::{{closure}}::h72412473a607e397
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:307:47
[INFO] [stdout]   21:     0x60b54b8ab3c6 - core::ops::function::FnOnce::call_once::h7f52c6f32238a2a4
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x60b54ba29cab - <fn() -> core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x60b54ba29cab - test[273d7611820c9051]::__rust_begin_short_backtrace::<core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>, fn() -> core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x60b54ba3669b - test[273d7611820c9051]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x60b54ba3669b - <core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x60b54ba3669b - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}>, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x60b54ba3669b - std[e28293b1aa0f68bd]::panicking::catch_unwind::<core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>, core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x60b54ba3669b - std[e28293b1aa0f68bd]::panic::catch_unwind::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<test[273d7611820c9051]::run_test_in_process::{closure#0}>, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x60b54ba3669b - test[273d7611820c9051]::run_test_in_process
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x60b54ba3669b - test[273d7611820c9051]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x60b54ba31db4 - test[273d7611820c9051]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x60b54ba31db4 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_begin_short_backtrace::<test[273d7611820c9051]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x60b54ba392a2 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x60b54ba392a2 - <core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x60b54ba392a2 - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x60b54ba392a2 - std[e28293b1aa0f68bd]::panicking::catch_unwind::<(), core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x60b54ba392a2 - std[e28293b1aa0f68bd]::panic::catch_unwind::<core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe<std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x60b54ba392a2 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x60b54ba392a2 - <std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked<test[273d7611820c9051]::run_test::{closure#1}, ()>::{closure#1} as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x60b54babf2ff - <alloc[fdfd2bd8633a6659]::boxed::Box<dyn core[c1f1a4ba060b9bfa]::ops::function::FnOnce<(), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   41:     0x60b54babf2ff - <std[e28293b1aa0f68bd]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x7ce948623aa4 - <unknown>
[INFO] [stdout]   43:     0x7ce9486b0a64 - 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.10s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8ef953bf5121579c190b5cfcdfc72ca572eb07ec45d4fd63feb442ed96571eab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ef953bf5121579c190b5cfcdfc72ca572eb07ec45d4fd63feb442ed96571eab", kill_on_drop: false }`
[INFO] [stdout] 8ef953bf5121579c190b5cfcdfc72ca572eb07ec45d4fd63feb442ed96571eab
