[INFO] fetching crate tiny-counter 0.1.0...
[INFO] testing tiny-counter-0.1.0 against 1.93.0 for beta-1.94-1
[INFO] extracting crate tiny-counter 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate tiny-counter 0.1.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate tiny-counter 0.1.0
[INFO] tweaked toml for crates.io crate tiny-counter 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tiny-counter 0.1.0 on toolchain 1.93.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.93.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tiny-counter 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.93.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zmij v1.0.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 04203fca5d4a54dbd7e4db2bb0e17856298e808465519f53a7393c31a8d4ee25
[INFO] running `Command { std: "docker" "start" "-a" "04203fca5d4a54dbd7e4db2bb0e17856298e808465519f53a7393c31a8d4ee25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "04203fca5d4a54dbd7e4db2bb0e17856298e808465519f53a7393c31a8d4ee25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04203fca5d4a54dbd7e4db2bb0e17856298e808465519f53a7393c31a8d4ee25", kill_on_drop: false }`
[INFO] [stdout] 04203fca5d4a54dbd7e4db2bb0e17856298e808465519f53a7393c31a8d4ee25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 23b65436803b9da686f8aaea8a6651e02e625b4b3913420faee52c5fa1920a1f
[INFO] running `Command { std: "docker" "start" "-a" "23b65436803b9da686f8aaea8a6651e02e625b4b3913420faee52c5fa1920a1f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling tiny-counter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.31s
[INFO] running `Command { std: "docker" "inspect" "23b65436803b9da686f8aaea8a6651e02e625b4b3913420faee52c5fa1920a1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23b65436803b9da686f8aaea8a6651e02e625b4b3913420faee52c5fa1920a1f", kill_on_drop: false }`
[INFO] [stdout] 23b65436803b9da686f8aaea8a6651e02e625b4b3913420faee52c5fa1920a1f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 06be07d7f2ab9295b594db830e029d1032d13d6ff317290ed338984011d40a9f
[INFO] running `Command { std: "docker" "start" "-a" "06be07d7f2ab9295b594db830e029d1032d13d6ff317290ed338984011d40a9f", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling syn v2.0.112
[INFO] [stderr]    Compiling zmij v1.0.7
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling tiny-counter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 58.15s
[INFO] running `Command { std: "docker" "inspect" "06be07d7f2ab9295b594db830e029d1032d13d6ff317290ed338984011d40a9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "06be07d7f2ab9295b594db830e029d1032d13d6ff317290ed338984011d40a9f", kill_on_drop: false }`
[INFO] [stdout] 06be07d7f2ab9295b594db830e029d1032d13d6ff317290ed338984011d40a9f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+1.93.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c3ead08fc8e2b1c43b46e25bc9a2da90fdc121cb5492c3dc0c145813f78ba688
[INFO] running `Command { std: "docker" "start" "-a" "c3ead08fc8e2b1c43b46e25bc9a2da90fdc121cb5492c3dc0c145813f78ba688", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tiny_counter-6fa13d0b93b52915)
[INFO] [stdout] 
[INFO] [stdout] running 419 tests
[INFO] [stdout] test clock::tests::test_test_clock_advance ... ok
[INFO] [stdout] test clock::tests::test_system_clock_new ... ok
[INFO] [stdout] test clock::tests::test_system_clock_returns_real_time ... ok
[INFO] [stdout] test clock::tests::test_arc_dyn_clock_pattern ... ok
[INFO] [stdout] test clock::tests::test_system_clock_is_send_sync ... ok
[INFO] [stdout] test clock::tests::test_test_clock_advance_is_additive ... ok
[INFO] [stdout] test clock::tests::test_test_clock_is_clone ... ok
[INFO] [stdout] test clock::tests::test_test_clock_new_at ... ok
[INFO] [stdout] test clock::tests::test_test_clock_concurrent_access ... ok
[INFO] [stdout] test clock::tests::test_test_clock_new ... ok
[INFO] [stdout] test clock::tests::test_test_clock_set ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_handles_gaps_offset ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_empty_counter ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_adds_missing_time_units ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_disjoint_bucket_intervals ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_overlapping_bucket_intervals ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_removes_extra_time_units ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_touching_bucket_intervals ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_skips_events_too_old_for_target ... ok
[INFO] [stdout] test count_ring::tests::test_buckets_reference ... ok
[INFO] [stdout] test count_ring::tests::test_complex_workflow ... ok
[INFO] [stdout] test count_ring::tests::test_get_out_of_bounds ... ok
[INFO] [stdout] test count_ring::tests::test_increment_bucket_0 ... ok
[INFO] [stdout] test count_ring::tests::test_increment_multiple_times ... ok
[INFO] [stdout] test count_ring::tests::test_increment_overflow_saturates ... ok
[INFO] [stdout] test count_ring::tests::test_increment_past_buckets ... ok
[INFO] [stdout] test count_ring::tests::test_invariant_bucket_count ... ok
[INFO] [stdout] test count_ring::tests::test_new_creates_ring_with_zero_buckets ... ok
[INFO] [stdout] test count_ring::tests::test_property_sum_range_additive ... ok
[INFO] [stdout] test count_ring::tests::test_rotate_at_bucket_count ... ok
[INFO] [stdout] test count_ring::tests::test_rotate_beyond_bucket_count ... ok
[INFO] [stdout] test count_ring::tests::test_rotate_multiple ... ok
[INFO] [stdout] test count_ring::tests::test_rotate_single ... ok
[INFO] [stdout] test count_ring::tests::test_sum_range_empty ... ok
[INFO] [stdout] test count_ring::tests::test_sum_range_full ... ok
[INFO] [stdout] test count_ring::tests::test_sum_range_out_of_bounds ... ok
[INFO] [stdout] test count_ring::tests::test_sum_range_partial ... ok
[INFO] [stdout] test count_ring::tests::test_truncate_maintains_invariant ... ok
[INFO] [stdout] test counter::config::tests::test_as_vec_clones_internal_vec ... ok
[INFO] [stdout] test counter::config::tests::test_default_config_has_six_intervals ... ok
[INFO] [stdout] test counter::config::tests::test_empty_config_as_vec_is_empty ... ok
[INFO] [stdout] test counter::config::tests::test_empty_creates_config_with_no_intervals ... ok
[INFO] [stdout] test counter::config::tests::test_from_intervals_creates_config_from_slice ... ok
[INFO] [stdout] test counter::config::tests::test_from_intervals_empty_slice ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_handles_gaps ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_handles_future_events_gracefully ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_preserves_count_with_disjoint_intervals ... ok
[INFO] [stdout] test config_converter::tests::test_conversion_preserves_starting_instant ... ok
[INFO] [stdout] test counter::config::tests::test_partial_eq_different_bucket_counts ... ok
[INFO] [stdout] test counter::config::tests::test_partial_eq_different_lengths ... ok
[INFO] [stdout] test counter::config::tests::test_partial_eq_different_time_units ... ok
[INFO] [stdout] test counter::config::tests::test_partial_eq_empty_configs ... ok
[INFO] [stdout] test counter::config::tests::test_partial_eq_same_configs_different_order ... ok
[INFO] [stdout] test counter::config::tests::test_partial_eq_same_configs_same_order ... ok
[INFO] [stdout] test counter::config::tests::test_time_units_iterator ... ok
[INFO] [stdout] test counter::tests::test_different_bucket_counts_per_interval ... ok
[INFO] [stdout] test count_ring::tests::test_increment_beyond_bucket_count ... ok
[INFO] [stdout] test count_ring::tests::test_sum_range_saturates_at_u32_max ... ok
[INFO] [stdout] test counter::config::tests::test_get_finds_by_time_unit ... ok
[INFO] [stdout] test counter::tests::test_first_seen_finds_oldest_nonzero_bucket ... ok
[INFO] [stdout] test counter::config::tests::test_new_stores_configs_in_vec ... ok
[INFO] [stdout] test counter::config::tests::test_partial_eq_default_configs ... ok
[INFO] [stdout] test counter::tests::test_first_last_seen_in_worked_example ... ok
[INFO] [stdout] test counter::tests::test_first_seen_returns_none_for_untracked_time_unit ... ok
[INFO] [stdout] test counter::tests::test_first_seen_returns_none_if_all_buckets_zero ... ok
[INFO] [stdout] test counter::tests::test_first_seen_with_current_bucket ... ok
[INFO] [stdout] test counter::tests::test_first_seen_with_single_event ... ok
[INFO] [stdout] test counter::tests::test_last_seen_returns_none_for_untracked_time_unit ... ok
[INFO] [stdout] test counter::tests::test_integration_record_once_query_at_different_granularities ... ok
[INFO] [stdout] test counter::tests::test_last_seen_finds_first_nonzero_bucket ... ok
[INFO] [stdout] test counter::tests::test_merge_combines_counts ... ok
[INFO] [stdout] test counter::tests::test_merge_is_associative ... ok
[INFO] [stdout] test counter::tests::test_merge_converts_different_bucket_counts ... ok
[INFO] [stdout] test counter::tests::test_last_seen_returns_none_if_all_buckets_zero ... ok
[INFO] [stdout] test counter::tests::test_merge_is_commutative ... ok
[INFO] [stdout] test counter::tests::test_merge_preserves_most_recent_starting_instant ... ok
[INFO] [stdout] test counter::tests::test_merge_with_same_time_units_but_different_bucket_counts ... ok
[INFO] [stdout] test counter::tests::test_merge_with_subset_configs_converts ... ok
[INFO] [stdout] test counter::tests::test_merge_with_different_time_units_converts_config ... ok
[INFO] [stdout] test counter::tests::test_merge_handles_alignment_when_starting_instant_differs ... ok
[INFO] [stdout] test counter::tests::test_query_with_untracked_time_unit_returns_none ... ok
[INFO] [stdout] test counter::tests::test_new_creates_counter_with_multiple_intervals ... ok
[INFO] [stdout] test counter::tests::test_query_with_minutes_returns_some ... ok
[INFO] [stdout] test counter::tests::test_record_at_propagates_errors ... ok
[INFO] [stdout] test counter::tests::test_record_at_updates_all_intervals_simultaneously ... ok
[INFO] [stdout] test counter::tests::test_merge_with_multiple_time_units_and_different_bucket_counts ... ok
[INFO] [stdout] test error::tests::test_error_is_send_sync ... ok
[INFO] [stdout] test error::tests::test_event_not_found_error_display ... ok
[INFO] [stdout] test error::tests::test_config_mismatch_error_display ... ok
[INFO] [stdout] test counter::tests::test_record_updates_all_intervals_simultaneously ... ok
[INFO] [stdout] test error::tests::test_invalid_bucket_count_error_display ... ok
[INFO] [stdout] test error::tests::test_invalid_hour_error_display ... ok
[INFO] [stdout] test error::tests::test_invalid_range_error_display ... ok
[INFO] [stdout] test error::tests::test_invalid_time_unit_ever_error_display ... ok
[INFO] [stdout] test formatter::bincode::tests::test_bincode_extension ... ok
[INFO] [stdout] test formatter::bincode::tests::test_bincode_roundtrip ... ok
[INFO] [stdout] test interval::config::tests::test_interval_config_accessors ... ok
[INFO] [stdout] test interval::config::tests::test_interval_config_creation ... ok
[INFO] [stdout] test interval::config::tests::test_interval_config_debug ... ok
[INFO] [stdout] test interval::config::tests::test_interval_config_ever_error_message ... ok
[INFO] [stdout] test interval::config::tests::test_interval_config_is_clone ... ok
[INFO] [stdout] test interval::config::tests::test_interval_config_rejects_ever ... ok
[INFO] [stdout] test interval::config::tests::test_interval_config_zero_buckets_rejected ... ok
[INFO] [stdout] test interval::tests::test_advance_if_needed_with_large_time_jump ... ok
[INFO] [stdout] test error::tests::test_serialization_error_display ... ok
[INFO] [stdout] test error::tests::test_storage_error_display ... ok
[INFO] [stdout] test error::tests::test_future_event_error_display ... ok
[INFO] [stdout] test interval::tests::test_advance_if_needed_with_no_time_jump ... ok
[INFO] [stdout] test interval::tests::test_advance_if_needed_with_small_time_jump ... ok
[INFO] [stdout] test error::tests::test_invalid_auto_persist_interval_error_display ... ok
[INFO] [stdout] test interval::tests::test_complex_workflow_with_time_advancement ... ok
[INFO] [stdout] test interval::tests::test_increment_at_same_interval_before_starting_instant ... ok
[INFO] [stdout] test interval::tests::test_increment_adds_to_bucket_0 ... ok
[INFO] [stdout] test interval::tests::test_increment_at_with_future_event_returns_error ... ok
[INFO] [stdout] test interval::tests::test_increment_at_with_past_event_2_days_ago ... ok
[INFO] [stdout] test interval::tests::test_increment_at_with_past_event_1_hour_ago ... ok
[INFO] [stdout] test interval::tests::test_new_creates_counter_with_zero_buckets ... ok
[INFO] [stdout] test interval::tests::test_increment_at_same_interval_after_starting_instant ... ok
[INFO] [stdout] test interval::tests::test_property_increment_at_then_query ... ok
[INFO] [stdout] test interval::tests::test_query_range_delegates_correctly ... ok
[INFO] [stdout] test interval::tests::test_property_advance_idempotent ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_encode_decode_roundtrip ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_encode_key_with_colon ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_encode_key_with_slash ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_encode_simple_key ... ok
[INFO] [stdout] test interval::tests::test_property_starting_instant_monotonic ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_encode_unicode_roundtrip ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_delete_with_invalid_key ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_atomic_write_overwrites_existing ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_delete_removes_file ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_key_with_forward_slash ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_atomic_write_no_temp_files_left ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_extension_in_filename ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_legitimate_key_simple ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_legitimate_key_with_special_chars ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_keys_with_special_characters ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_legitimate_key_with_colon ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_legitimate_key_with_spaces ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_new_creates_directory_if_missing ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_list_keys_returns_all_keys ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_load_nonexistent_returns_none ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_key_with_backslash ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_path_traversal_absolute_path ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_path_traversal_current_directory ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_load_with_invalid_key ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_overwrite_existing_key ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_path_traversal_embedded_slash ... ok
[INFO] [stdout] test counter::config::tests::test_from_intervals_panics_on_duplicates - should panic ... ok
[INFO] [stdout] test counter::config::tests::test_new_panics_on_duplicate_time_units - should panic ... ok
[INFO] [stdout] test storage::memory::tests::test_default_trait ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_path_traversal_parent_reference ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_save_and_load_roundtrip ... ok
[INFO] [stdout] test storage::memory::tests::test_delete_removes_data ... ok
[INFO] [stdout] test storage::memory::tests::test_load_nonexistent_key_returns_none ... ok
[INFO] [stdout] test storage::memory::tests::test_save_then_load_returns_same_data ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_persistence_across_instances ... ok
[INFO] [stdout] test storage::memory::tests::test_save_overwrites_existing_key ... ok
[INFO] [stdout] test store::builder::tests::test_build_default ... ok
[INFO] [stdout] test store::builder::tests::test_build_with_all_options ... ok
[INFO] [stdout] test store::builder::tests::test_build_with_analytics_preset ... ok
[INFO] [stdout] test store::builder::tests::test_build_with_custom_config ... ok
[INFO] [stdout] test store::builder::tests::test_build_with_rate_limiting_preset ... ok
[INFO] [stdout] test store::builder::tests::test_custom_config_after_preset ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_path_traversal_relative_parent ... ok
[INFO] [stdout] test store::builder::tests::test_default_builder ... ok
[INFO] [stdout] test store::builder::tests::test_event_store_builder_method ... ok
[INFO] [stdout] test store::builder::tests::test_for_analytics_preset ... ok
[INFO] [stdout] test store::builder::tests::test_default_formatter_is_bincode ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_path_traversal_url_encoded_backslash ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_path_traversal_url_encoded_slash ... ok
[INFO] [stdout] test store::builder::tests::test_build_with_storage ... ok
[INFO] [stdout] test store::builder::tests::test_formatter_used_in_persistence ... ok
[INFO] [stdout] test storage::file_per_event::tests::test_path_traversal_windows_style ... ok
[INFO] [stdout] test store::builder::tests::test_new_builder ... ok
[INFO] [stdout] test store::builder::tests::test_for_rate_limiting_preset ... ok
[INFO] [stdout] test store::builder::tests::test_preset_overwrites_previous_config ... ok
[INFO] [stdout] test store::builder::tests::test_track_days ... ok
[INFO] [stdout] test store::builder::tests::test_track_days_rejects_too_large ... ok
[INFO] [stdout] test store::builder::tests::test_track_hours ... ok
[INFO] [stdout] test store::builder::tests::test_track_hours_rejects_zero ... ok
[INFO] [stdout] test store::builder::tests::test_track_hours_accepts_valid_values ... ok
[INFO] [stdout] test store::builder::tests::test_track_minutes ... ok
[INFO] [stdout] test store::builder::tests::test_track_hours_rejects_too_large ... ok
[INFO] [stdout] test store::builder::tests::test_track_minutes_rejects_zero ... ok
[INFO] [stdout] test store::builder::tests::test_track_minutes_accepts_valid_values ... ok
[INFO] [stdout] test store::builder::tests::test_track_months ... ok
[INFO] [stdout] test store::builder::tests::test_track_minutes_rejects_too_large ... ok
[INFO] [stdout] test store::builder::tests::test_track_months_rejects_zero ... ok
[INFO] [stdout] test store::builder::tests::test_track_weeks ... ok
[INFO] [stdout] test store::builder::tests::test_track_months_rejects_too_large ... ok
[INFO] [stdout] test store::builder::tests::test_track_weeks_rejects_too_large ... ok
[INFO] [stdout] test store::builder::tests::test_track_years ... ok
[INFO] [stdout] test store::builder::tests::test_track_weeks_rejects_zero ... ok
[INFO] [stdout] test store::builder::tests::test_with_clock ... ok
[INFO] [stdout] test store::builder::tests::test_track_years_rejects_zero ... ok
[INFO] [stdout] test store::builder::tests::test_with_storage ... ok
[INFO] [stdout] test store::builder::tests::test_with_format_bincode ... ok
[INFO] [stdout] test store::concurrency_tests::test_concurrent_query_delta_while_recording ... ok
[INFO] [stdout] test store::concurrency_tests::test_concurrent_query_ratio_from_multiple_threads ... ok
[INFO] [stdout] test store::builder::tests::test_track_days_rejects_zero ... ok
[INFO] [stdout] test store::builder::tests::test_builder_fluent_api ... ok
[INFO] [stdout] test store::builder::tests::test_build_with_clock ... ok
[INFO] [stdout] test store::concurrency_tests::test_concurrent_query_ratio_while_recording ... ok
[INFO] [stdout] test store::limiter::tests::test_allowed_convenience_method ... ok
[INFO] [stdout] test store::builder::tests::test_track_years_rejects_too_large ... ok
[INFO] [stdout] test store::concurrency_tests::test_concurrent_query_delta_from_multiple_threads ... ok
[INFO] [stdout] test store::limiter::tests::test_at_least_with_flexible_windows ... ok
[INFO] [stdout] test store::limiter::tests::test_at_most_constraint_fails ... ok
[INFO] [stdout] test store::limiter::tests::test_at_most_constraint_passes ... ok
[INFO] [stdout] test store::limiter::tests::test_business_hours_schedule_during_hours ... ok
[INFO] [stdout] test store::limiter::tests::test_check_and_record_failure_does_not_record ... ok
[INFO] [stdout] test store::limiter::tests::test_check_and_record_success ... ok
[INFO] [stdout] test store::limiter::tests::test_cooldown_constraint_fails ... ok
[INFO] [stdout] test store::limiter::tests::test_cooldown_constraint_passes ... ok
[INFO] [stdout] test store::limiter::tests::test_cooldown_never_seen_passes ... ok
[INFO] [stdout] test store::limiter::tests::test_custom_schedule ... ok
[INFO] [stdout] test store::limiter::tests::test_duration_conversion_to_time_window ... ok
[INFO] [stdout] test store::limiter::tests::test_flexible_time_windows_30_minutes ... ok
[INFO] [stdout] test store::limiter::tests::test_flexible_time_windows_backward_compatible ... ok
[INFO] [stdout] test store::limiter::tests::test_flexible_time_windows_with_duration ... ok
[INFO] [stdout] test store::limiter::tests::test_flexible_time_windows_with_tuple ... ok
[INFO] [stdout] test store::limiter::tests::test_multiple_constraints_all_pass ... ok
[INFO] [stdout] test store::limiter::tests::test_multiple_constraints_first_fails ... ok
[INFO] [stdout] test store::limiter::tests::test_reservation_auto_cancel_on_drop ... ok
[INFO] [stdout] test store::limiter::tests::test_reservation_commit_records_event ... ok
[INFO] [stdout] test store::limiter::tests::test_at_least_constraint_fails ... ok
[INFO] [stdout] test store::limiter::tests::test_reservation_explicit_cancel ... ok
[INFO] [stdout] test store::limiter::tests::test_at_least_constraint_passes ... ok
[INFO] [stdout] test store::limiter::tests::test_reservation_prevents_race_condition ... ok
[INFO] [stdout] test store::limiter::tests::test_reservation_transactional_pattern ... ok
[INFO] [stdout] test store::limiter::tests::test_reservation_with_multiple_constraints ... ok
[INFO] [stdout] test store::limiter::tests::test_retry_after_calculation_for_at_most ... ok
[INFO] [stdout] test store::limiter::tests::test_schedule_hours_accepts_valid_boundary_cases ... ok
[INFO] [stdout] test store::limiter::tests::test_schedule_hours_constructor ... ok
[INFO] [stdout] test store::limiter::tests::test_schedule_hours_rejects_equal_hours ... ok
[INFO] [stdout] test store::limiter::tests::test_schedule_hours_validates_end_hour ... ok
[INFO] [stdout] test store::limiter::tests::test_schedule_hours_validates_range ... ok
[INFO] [stdout] test store::limiter::tests::test_schedule_hours_validates_start_hour ... ok
[INFO] [stdout] test store::limiter::tests::test_usage_returns_correct_counts ... ok
[INFO] [stdout] test store::limiter::tests::test_weekdays_schedule ... ok
[INFO] [stdout] test store::limiter::tests::test_within_constraint_fails_never_seen ... ok
[INFO] [stdout] test store::limiter::tests::test_within_constraint_fails_too_long_ago ... ok
[INFO] [stdout] test store::limiter::tests::test_within_constraint_passes ... ok
[INFO] [stdout] test store::query::tests::test_average_nonzero_handles_large_values ... ok
[INFO] [stdout] test store::query::tests::test_average_nonzero ... ok
[INFO] [stdout] test store::query::tests::test_count_nonzero ... ok
[INFO] [stdout] test store::query::tests::test_delta_query_ever ... ok
[INFO] [stdout] test store::query::tests::test_delta_query_negative ... ok
[INFO] [stdout] test store::query::tests::test_delta_query_positive ... ok
[INFO] [stdout] test store::query::tests::test_delta_query_zero ... ok
[INFO] [stdout] test store::query::tests::test_ever_into_buckets_does_not_hang ... ok
[INFO] [stdout] test store::query::tests::test_ever_uses_longest_time_unit ... ok
[INFO] [stdout] test store::query::tests::test_ever_uses_time_unit_ever_variant ... ok
[INFO] [stdout] test store::query::tests::test_ever_with_nonexistent_event ... ok
[INFO] [stdout] test store::query::tests::test_first_seen_consistency_with_last_seen ... ok
[INFO] [stdout] test store::concurrency_tests::test_concurrent_query_many_from_multiple_threads ... ok
[INFO] [stdout] test store::concurrency_tests::test_concurrent_record_from_multiple_threads ... ok
[INFO] [stdout] test store::query::tests::test_first_seen_returns_oldest_event_disjoint_buckets ... ok
[INFO] [stdout] test store::query::tests::test_first_seen_in_specific_time_unit ... ok
[INFO] [stdout] test store::query::tests::test_first_seen_returns_oldest_event_disjoint_muilti_buckets_over ... ok
[INFO] [stdout] test store::query::tests::test_first_seen_returns_oldest_event_disjoint_muilti_buckets_under ... ok
[INFO] [stdout] test store::query::tests::test_first_seen_returns_oldest_event_touching_buckets ... ok
[INFO] [stdout] test store::query::tests::test_first_seen_with_no_events ... ok
[INFO] [stdout] test store::limiter::tests::test_reservation_concurrent_limits ... ok
[INFO] [stdout] test store::query::tests::test_first_seen_returns_oldest_event_overlapping_buckets ... ok
[INFO] [stdout] test store::query::tests::test_first_seen_with_single_event_disjoint_intervals ... ok
[INFO] [stdout] test store::query::tests::test_first_seen_with_single_event_touching_intervals ... ok
[INFO] [stdout] test store::query::tests::test_last_seen_event_in_gap_multiple_intervals ... ok
[INFO] [stdout] test store::query::tests::test_last_seen_gap_event_disjoint_intervals ... ok
[INFO] [stdout] test store::query::tests::test_last_seen_recent_event_in_smallest_bucket ... ok
[INFO] [stdout] test store::query::tests::test_last_seen_with_bucket_midway_ago ... ok
[INFO] [stdout] test store::query::tests::test_last_seen_returns_recent_event_touching_intervals ... ok
[INFO] [stdout] test store::query::tests::test_multi_query_ever ... ok
[INFO] [stdout] test store::query::tests::test_last_seen_returns_recent_event_overlapping_intervals ... ok
[INFO] [stdout] test store::query::tests::test_multi_query_sum ... ok
[INFO] [stdout] test store::query::tests::test_query_last_days_sum ... ok
[INFO] [stdout] test store::query::tests::test_query_nonexistent_event ... ok
[INFO] [stdout] test store::query::tests::test_multi_range_query_handles_large_values ... ok
[INFO] [stdout] test store::query::tests::test_range_query_average ... ok
[INFO] [stdout] test store::query::tests::test_range_query_take ... ok
[INFO] [stdout] test store::query::tests::test_ratio_query ... ok
[INFO] [stdout] test store::query::tests::test_range_query_first_seen ... ok
[INFO] [stdout] test store::query::tests::test_ratio_query_ever ... ok
[INFO] [stdout] test store::tests::test_balance_delta_negative ... ok
[INFO] [stdout] test store::tests::test_balance_delta_zero ... ok
[INFO] [stdout] test store::query::tests::test_ratio_query_division_by_zero ... ok
[INFO] [stdout] test store::tests::test_compact_advances_and_saves ... ok
[INFO] [stdout] test store::tests::test_balance_delta_positive ... ok
[INFO] [stdout] test store::tests::test_close_persists_and_consumes ... ok
[INFO] [stdout] test store::tests::test_close_returns_error_on_persist_failure ... ok
[INFO] [stdout] test store::tests::test_default_configs_have_256_buckets_total ... ok
[INFO] [stdout] test store::tests::test_default_trait ... ok
[INFO] [stdout] test store::tests::test_default_config_includes_all_six_time_units ... ok
[INFO] [stdout] test store::tests::test_compact_without_storage_returns_error ... ok
[INFO] [stdout] test store::tests::test_dirty_tracking_starts_clean ... ok
[INFO] [stdout] test store::tests::test_export_all_returns_all_counters ... ok
[INFO] [stdout] test store::tests::test_export_all_returns_empty_map_for_empty_store ... ok
[INFO] [stdout] test store::tests::test_export_all_includes_disk_only_counters ... ok
[INFO] [stdout] test store::tests::test_export_dirty_returns_empty_map_when_nothing_dirty ... ok
[INFO] [stdout] test store::tests::test_export_dirty_returns_only_dirty_counters ... ok
[INFO] [stdout] test store::tests::test_dirty_tracking_becomes_dirty_after_record ... ok
[INFO] [stdout] test store::tests::test_import_all_batch_imports ... ok
[INFO] [stdout] test store::tests::test_integration_record_multiple_events_query_each ... ok
[INFO] [stdout] test store::tests::test_import_event_creates_new_counter ... ok
[INFO] [stdout] test store::concurrency_tests::test_query_while_recording ... ok
[INFO] [stdout] test store::tests::test_memory_usage_empty_store ... ok
[INFO] [stdout] test store::tests::test_memory_usage_with_events ... ok
[INFO] [stdout] test store::tests::test_import_event_overwrites_existing ... ok
[INFO] [stdout] test store::tests::test_memory_usage_calculation ... ok
[INFO] [stdout] test store::tests::test_merge_all_combines_multiple_events ... ok
[INFO] [stdout] test store::tests::test_merge_event_combines_counts ... ok
[INFO] [stdout] test store::tests::test_merge_event_creates_counter_if_not_exists ... ok
[INFO] [stdout] test store::tests::test_new_creates_empty_store_with_default_intervals ... ok
[INFO] [stdout] test store::tests::test_merge_is_commutative_at_store_level ... ok
[INFO] [stdout] test store::tests::test_merge_is_associative_at_store_level ... ok
[INFO] [stdout] test store::tests::test_persist_all_without_storage_returns_error ... ok
[INFO] [stdout] test store::tests::test_multiple_records_to_same_event ... ok
[INFO] [stdout] test store::tests::test_persist_all ... ok
[INFO] [stdout] test store::tests::test_persist_without_storage_returns_error ... ok
[INFO] [stdout] test store::tests::test_query_delta ... ok
[INFO] [stdout] test store::tests::test_persist_only_dirty_events ... ok
[INFO] [stdout] test store::tests::test_persist_with_storage ... ok
[INFO] [stdout] test store::concurrency_tests::test_concurrent_query_many_while_recording ... ok
[INFO] [stdout] test store::tests::test_persist_clears_dirty_events ... ok
[INFO] [stdout] test store::tests::test_query_returns_none_for_nonexistent_event ... ok
[INFO] [stdout] test store::tests::test_query_many ... ok
[INFO] [stdout] test store::tests::test_query_ratio ... ok
[INFO] [stdout] test store::tests::test_query_nonexistent_event_returns_none ... ok
[INFO] [stdout] test store::tests::test_query_returns_query_builder ... ok
[INFO] [stdout] test store::tests::test_record_ago_with_duration ... ok
[INFO] [stdout] test store::tests::test_record_ago_outside_tracking_window_silently_drops ... ok
[INFO] [stdout] test store::tests::test_record_at_with_past_time ... ok
[INFO] [stdout] test store::tests::test_record_at_with_time_before_creation ... ok
[INFO] [stdout] test store::tests::test_record_count_ago_outside_tracking_window_silently_drops ... ok
[INFO] [stdout] test store::tests::test_record_count_ago ... ok
[INFO] [stdout] test store::tests::test_record_count_with_count_5 ... ok
[INFO] [stdout] test store::tests::test_record_creates_counter_with_default_config ... ok
[INFO] [stdout] test store::tests::test_record_creates_counter_on_demand ... ok
[INFO] [stdout] test store::tests::test_reset_dirty ... ok
[INFO] [stdout] test store::tests::test_serialization_roundtrip ... ok
[INFO] [stdout] test store::tests::test_tracked_intervals_returns_default_config ... ok
[INFO] [stdout] test sync_time::tests::test_synchronized_start_is_idempotent ... ok
[INFO] [stdout] test sync_time::tests::test_synchronized_start_returns_current_year ... ok
[INFO] [stdout] test sync_time::tests::test_synchronized_start_returns_jan_1 ... ok
[INFO] [stdout] test sync_time::tests::test_synchronized_start_returns_midnight ... ok
[INFO] [stdout] test time_unit::tests::test_bucket_end_days_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_bucket_end_months_calendar ... ok
[INFO] [stdout] test sync_time::tests::test_synchronized_start_is_in_past_or_now ... ok
[INFO] [stdout] test time_unit::tests::test_bucket_end_weeks_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_bucket_midway_days_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_bucket_end_years_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_bucket_midway_months_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_bucket_midway_weeks_calendar ... ok
[INFO] [stdout] test store::concurrency_tests::test_persist_while_recording ... ok
[INFO] [stdout] test time_unit::tests::test_bucket_start_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_bucket_start_months_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_duration_minutes ... ok
[INFO] [stdout] test time_unit::tests::test_duration_days ... ok
[INFO] [stdout] test time_unit::tests::test_duration_months ... ok
[INFO] [stdout] test time_unit::tests::test_duration_weeks ... ok
[INFO] [stdout] test time_unit::tests::test_first_moment_ever_days_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_bucket_midway_years_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_duration_hours ... ok
[INFO] [stdout] test time_unit::tests::test_duration_years ... ok
[INFO] [stdout] test time_unit::tests::test_bucket_time_days_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_large_time_jump ... ok
[INFO] [stdout] test time_unit::tests::test_month_bucket_end_crossing_year_backward ... ok
[INFO] [stdout] test time_unit::tests::test_first_moment_ever_months_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_days_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_first_moment_ever_weeks_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_first_moment_ever_years_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_minutes ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_future_time ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_hours ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_days_crossing_year ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_months_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_partial_unit ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_months_calendar_multi_year_span ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_months_calendar_year_boundary ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_same_time ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_past_time ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_seconds ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_months_crossing_year ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_transitive ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_weeks ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_years_multiple ... ok
[INFO] [stdout] test time_unit::tests::test_rotate_start_interval_days_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_weeks_calendar_year_boundary ... ok
[INFO] [stdout] test time_unit::tests::test_rotate_start_interval_weeks_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_rotate_start_interval_months_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_years ... ok
[INFO] [stdout] test time_unit::tests::test_rotate_start_interval_years_calendar ... ok
[INFO] [stdout] test time_unit::tests::test_time_unit_is_hash ... ok
[INFO] [stdout] test time_unit::tests::test_time_unit_is_copy ... ok
[INFO] [stdout] test time_unit::tests::test_time_unit_ord ... ok
[INFO] [stdout] test time_unit::tests::test_time_unit_is_eq ... ok
[INFO] [stdout] test time_unit::tests::test_time_unit_ord_transitive ... ok
[INFO] [stdout] test time_unit::tests::test_time_unit_ord_reflexive ... ok
[INFO] [stdout] test time_unit::tests::test_time_window_from_duration_hours ... ok
[INFO] [stdout] test time_unit::tests::test_time_window_from_duration_days ... ok
[INFO] [stdout] test time_unit::tests::test_time_window_from_duration_minutes ... ok
[INFO] [stdout] test time_unit::tests::test_time_window_from_negative_duration_hours ... ok
[INFO] [stdout] test time_unit::tests::test_time_window_from_duration_seconds ... ok
[INFO] [stdout] test time_unit::tests::test_time_window_from_negative_duration_seconds ... ok
[INFO] [stdout] test time_unit::tests::test_time_window_from_negative_duration_days ... ok
[INFO] [stdout] test time_unit::tests::test_time_unit_ever_is_largest ... ok
[INFO] [stdout] test time_unit::tests::test_time_unit_ever_duration_panics - should panic ... ok
[INFO] [stdout] test time_unit::tests::test_time_window_from_negative_duration_minutes ... ok
[INFO] [stdout] test time_unit::tests::test_time_window_from_time_unit ... ok
[INFO] [stdout] test time_unit::tests::test_time_window_from_tuple ... ok
[INFO] [stdout] test traits::tests::test_storage_is_send_sync ... ok
[INFO] [stdout] test traits::tests::test_clock_is_send_sync ... ok
[INFO] [stdout] test traits::tests::test_storage_load_nonexistent ... ok
[INFO] [stdout] test time_unit::tests::test_num_rotations_weeks_calendar_multi_year_span ... ok
[INFO] [stdout] test time_unit::tests::test_week_spanning_year_boundary ... ok
[INFO] [stdout] test traits::tests::test_storage_delete ... ok
[INFO] [stdout] test traits::tests::test_clock_trait_works ... ok
[INFO] [stdout] test traits::tests::test_storage_save_and_load ... ok
[INFO] [stdout] test store::tests::test_compact_while_recording ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 419 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/concurrency/mod.rs (/opt/rustwide/target/debug/deps/concurrency-9b4badd241eecbf3)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test basic::concurrent_query_while_recording ... ok
[INFO] [stdout] test basic::stress_mixed_workload ... ok
[INFO] [stdout] test basic::concurrent_record_from_multiple_threads ... ok
[INFO] [stdout] test basic::stress_concurrent_record_and_query ... ok
[INFO] [stdout] test basic::stress_reservation_commit_cancel ... ok
[INFO] [stdout] test basic::stress_reservation_respects_limits ... ok
[INFO] [stdout] test basic::test_get_counter_race_with_concurrent_record ... ok
[INFO] [stdout] test basic::stress_persistence_under_load ... ok
[INFO] [stdout] test basic::stress_concurrent_query_delta ... ok
[INFO] [stdout] test basic::stress_concurrent_query_ratio ... ok
[INFO] [stdout] test storage_concurrency::test_file_per_event_concurrent_reads_while_writing ... ok
[INFO] [stdout] test basic::stress_concurrent_query_many ... ok
[INFO] [stdout] test storage_concurrency::test_file_per_event_concurrent_writes_same_key ... ok
[INFO] [stdout] test storage_concurrency::test_file_per_event_concurrent_mixed_operations ... ok
[INFO] [stdout] test basic::stress_high_contention_single_event ... ok
[INFO] [stdout] test storage_concurrency::test_file_per_event_concurrent_writes_different_keys ... ok
[INFO] [stdout] test storage_concurrency::test_file_per_event_high_contention_stress ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.61s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/config/mod.rs (/opt/rustwide/target/debug/deps/config-cff19cf2872cdcfd)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test builder::builder_preset_for_rate_limiting ... ok
[INFO] [stdout] test builder::builder_rejects_zero_bucket_count ... ok
[INFO] [stdout] test builder::builder_preset_for_analytics ... ok
[INFO] [stdout] test builder::builder_with_custom_clock ... ok
[INFO] [stdout] test builder::create_store_with_defaults ... ok
[INFO] [stdout] test builder::create_store_with_builder ... ok
[INFO] [stdout] test builder::builder_rejects_all_zero_buckets ... ok
[INFO] [stdout] test builder::builder_custom_configuration ... ok
[INFO] [stdout] test builder::tracked_intervals_returns_configuration ... ok
[INFO] [stdout] test builder::memory_usage_is_reasonable ... ok
[INFO] [stdout] test builder::mix_of_valid_and_zero_buckets_rejected ... ok
[INFO] [stdout] test builder::query_with_seconds ... ok
[INFO] [stdout] test conversion::conversion_preserves_first_seen ... ok
[INFO] [stdout] test conversion::convert_hours_to_days ... ok
[INFO] [stdout] test conversion::convert_days_to_hours_after_midnight ... ok
[INFO] [stdout] test conversion::convert_with_bucket_count_increase ... ok
[INFO] [stdout] test conversion::convert_days_to_hours_before_midnight ... ok
[INFO] [stdout] test conversion::convert_with_bucket_count_decrease ... ok
[INFO] [stdout] test conversion::round_trip_hours_to_days_to_hours ... ok
[INFO] [stdout] test conversion::convert_days_to_hours ... ok
[INFO] [stdout] test conversion::round_trip_hours_to_days_to_hours_after_midnight ... ok
[INFO] [stdout] test conversion::convert_empty_store ... ok
[INFO] [stdout] test conversion::convert_with_data_loss_outside_window ... ok
[INFO] [stdout] test conversion::round_trip_hours_to_days_to_hours_before_midnight ... ok
[INFO] [stdout] test conversion::round_trip_with_different_bucket_counts ... ok
[INFO] [stdout] test conversion::conversion_is_deterministic ... ok
[INFO] [stdout] test conversion::conversion_round_trip_preserves_counts ... ok
[INFO] [stdout] test conversion::conversion_preserves_or_loses_old_data ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/limits/mod.rs (/opt/rustwide/target/debug/deps/limits-f3d61019e7c48418)
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test at_least::at_least_requires_minimum_count ... ok
[INFO] [stdout] test at_least::at_least_requires_prerequisite ... ok
[INFO] [stdout] test at_most::at_most_at_exact_limit ... ok
[INFO] [stdout] test allowed::allowed_returns_false_when_check_fails ... ok
[INFO] [stdout] test allowed::allowed_returns_true_when_check_passes ... ok
[INFO] [stdout] test at_most::at_most_allows_within_limit ... ok
[INFO] [stdout] test at_most::at_most_with_duration ... ok
[INFO] [stdout] test at_most::at_most_multiple_time_windows ... ok
[INFO] [stdout] test check::check_and_record_does_not_record_on_failure ... ok
[INFO] [stdout] test check::check_and_record_records_on_success ... ok
[INFO] [stdout] test at_most::at_most_rejects_over_limit ... ok
[INFO] [stdout] test check::check_does_not_record ... ok
[INFO] [stdout] test combining::multiple_constraints_any_failure_rejects ... ok
[INFO] [stdout] test cooldown::cooldown_allows_after_duration ... ok
[INFO] [stdout] test cooldown::cooldown_enforces_wait_period ... ok
[INFO] [stdout] test reservations::reservation_auto_cancels_on_drop ... ok
[INFO] [stdout] test reservations::reservation_cancel_does_not_record ... ok
[INFO] [stdout] test reservations::reservation_commit_records_event ... ok
[INFO] [stdout] test combining::multiple_constraints_all_must_pass ... ok
[INFO] [stdout] test schedule::during_weekends ... ok
[INFO] [stdout] test schedule::invalid_schedule_hours_rejected ... ok
[INFO] [stdout] test reservations::reservation_prevents_over_limit ... ok
[INFO] [stdout] test schedule::outside_business_hours_rejects ... ok
[INFO] [stdout] test schedule::during_business_hours ... ok
[INFO] [stdout] test schedule::during_weekdays ... ok
[INFO] [stdout] test schedule::outside_of_schedule_allows_after_hours ... ok
[INFO] [stdout] test schedule::weekdays_rejects_weekend ... ok
[INFO] [stdout] test usage::usage_at_limit ... ok
[INFO] [stdout] test usage::usage_returns_limit_info ... ok
[INFO] [stdout] test within::within_requires_recent_prerequisite ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/performance/mod.rs (/opt/rustwide/target/debug/deps/performance-64ad517031e0bf5e)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test basic::record_large_counts_performance ... ok
[INFO] [stdout] test basic::record_multiple_events_performance ... ok
[INFO] [stdout] test basic::record_performance_baseline ... FAILED
[INFO] [stdout] test basic::query_many_performance ... ok
[INFO] [stdout] test basic::aggregation_performance ... ok
[INFO] [stdout] test basic::ratio_query_performance ... ok
[INFO] [stdout] test basic::query_performance_baseline ... ok
[INFO] [stdout] test basic::delta_query_performance ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- basic::record_performance_baseline stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'basic::record_performance_baseline' (1074) panicked at tests/performance/basic.rs:22:5:
[INFO] [stdout] Recording 10k events took 206.751096ms, expected < 100ms
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5fa205e12102 - std::backtrace_rs::backtrace::libunwind::trace::h90e89fac33585832
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5fa205e12102 - std::backtrace_rs::backtrace::trace_unsynchronized::heebcf2380a8e7359
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5fa205e12102 - std::sys::backtrace::_print_fmt::hdf3e2a22d2f810db
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:68:9
[INFO] [stdout]    3:     0x5fa205e12102 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hac1d885928ba8582
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:38:26
[INFO] [stdout]    4:     0x5fa205e222d7 - core::fmt::rt::Argument::fmt::h6901eb7c19abebe8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5fa205e222d7 - core::fmt::write::h83ebb4d32483be9e
[INFO] [stdout]    6:     0x5fa205de08b6 - std::io::default_write_fmt::h751a79cdae495f10
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5fa205de08b6 - std::io::Write::write_fmt::h9ef514f8700ff7b2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5fa205df1399 - std::sys::backtrace::BacktraceLock::print::hcc2e1a3ac996c911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:41:9
[INFO] [stdout]    9:     0x5fa205df1399 - std::panicking::default_hook::{{closure}}::h8e9c4d1276f0925f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5fa205df1231 - std::panicking::default_hook::h2b2078d38b534dfb
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5fa205d45dae - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h39d051e7dedac6a7
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5fa205d45dae - test::test_main_with_exit_callback::{{closure}}::h4b005fe75814c302
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5fa205df1612 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd426070722c13cbf
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5fa205df1612 - std::panicking::panic_with_hook::h39b739724e701bfd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5fa205df1458 - std::panicking::panic_handler::{{closure}}::he540c4833054e458
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5fa205dec749 - std::sys::backtrace::__rust_end_short_backtrace::hfa179d89deec8aed
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:176:18
[INFO] [stdout]   17:     0x5fa205dd4b9d - __rustc[d131491b17107b07]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5fa205e29b1c - core::panicking::panic_fmt::ha564519d657d9c46
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5fa205d23ae3 - performance::basic::record_performance_baseline::h49ae2472af34c874
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/performance/basic.rs:22:5
[INFO] [stdout]   20:     0x5fa205d23b17 - performance::basic::record_performance_baseline::{{closure}}::h09680d451f443a1e
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/performance/basic.rs:13:33
[INFO] [stdout]   21:     0x5fa205d25536 - core::ops::function::FnOnce::call_once::h2463262f5cef7c3d
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5fa205d45bdb - core::ops::function::FnOnce::call_once::h0217b30cfdee2e67
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5fa205d45bdb - test::__rust_begin_short_backtrace::h6d98714a1e28f556
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5fa205d5956a - test::run_test_in_process::{{closure}}::he2c70d2634d3a3cc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5fa205d5956a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h40a0a825bcf17fdd
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x5fa205d5956a - std::panicking::catch_unwind::do_call::h6c8eb5dd6e7b5975
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5fa205d5956a - std::panicking::catch_unwind::h55455eac2972ad1e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5fa205d5956a - std::panic::catch_unwind::h0025465150a5e558
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5fa205d5956a - test::run_test_in_process::hb61e682f9b630fbc
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5fa205d5956a - test::run_test::{{closure}}::hc2c2a7a38ab176e2
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5fa205d33804 - test::run_test::{{closure}}::ha91867b85cd2a911
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5fa205d33804 - std::sys::backtrace::__rust_begin_short_backtrace::ha00a9fe02049c339
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/backtrace.rs:160:18
[INFO] [stdout]   33:     0x5fa205d37132 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd629fba9153dfb55
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:92:13
[INFO] [stdout]   34:     0x5fa205d37132 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4189018816a5c5d9
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x5fa205d37132 - std::panicking::catch_unwind::do_call::hf9fcdbca3c2e9877
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5fa205d37132 - std::panicking::catch_unwind::h97b92d88631c7c64
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5fa205d37132 - std::panic::catch_unwind::ha77cdbb68e725e5e
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5fa205d37132 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h511f05bc1a132253
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/thread/lifecycle.rs:90:26
[INFO] [stdout]   39:     0x5fa205d37132 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6b68b31e9b685cb8
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5fa205de7ddf - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h22a27d165e4e871d
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x5fa205de7ddf - std::sys::thread::unix::Thread::new::thread_start::h45cc87bb053add0f
[INFO] [stdout]                                at /rustc/254b59607d4417e9dffbc307138ae5c86280fe4c/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x72040b5a4aa4 - <unknown>
[INFO] [stdout]   43:     0x72040b631a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     basic::record_performance_baseline
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 7 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.20s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test performance`
[INFO] running `Command { std: "docker" "inspect" "c3ead08fc8e2b1c43b46e25bc9a2da90fdc121cb5492c3dc0c145813f78ba688", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c3ead08fc8e2b1c43b46e25bc9a2da90fdc121cb5492c3dc0c145813f78ba688", kill_on_drop: false }`
[INFO] [stdout] c3ead08fc8e2b1c43b46e25bc9a2da90fdc121cb5492c3dc0c145813f78ba688
