[INFO] cloning repository https://github.com/burritothief/tkstat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/burritothief/tkstat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fburritothief%2Ftkstat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fburritothief%2Ftkstat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e357602f994489a7b00d666e1dcbd7596bb16a67
[INFO] testing burritothief/tkstat against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fburritothief%2Ftkstat" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/burritothief/tkstat
[INFO] finished tweaking git repo https://github.com/burritothief/tkstat
[INFO] tweaked toml for git repo https://github.com/burritothief/tkstat written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/burritothief/tkstat on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/burritothief/tkstat 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429
[INFO] running `Command { std: "docker" "start" "5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling rgb v0.8.53
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling drawille v0.3.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.37.0
[INFO] [stderr]    Compiling textplots v0.8.7
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling rusqlite v0.39.0
[INFO] [stderr]    Compiling tkstat v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.75s
[INFO] running `Command { std: "docker" "inspect" "5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tkstat v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.77s
[INFO] running `Command { std: "docker" "inspect" "5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", 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/tkstat-f604e64dcf72ca7f)
[INFO] [stdout] 
[INFO] [stdout] running 295 tests
[INFO] [stdout] test budget::tests::test_budget_exactly_at_threshold_warns ... ok
[INFO] [stdout] test budget::tests::test_budget_message_includes_period_cost_threshold_and_filters ... ok
[INFO] [stdout] test budget::tests::test_budget_no_threshold_or_no_cost_data_has_no_warning ... ok
[INFO] [stdout] test budget::tests::test_budget_over_threshold_warns ... ok
[INFO] [stdout] test budget::tests::test_budget_below_threshold_has_no_warning ... ok
[INFO] [stdout] test budget::tests::test_budget_report_row_calculates_percent_and_remaining ... ok
[INFO] [stdout] test budget::tests::test_budget_report_row_handles_missing_and_zero_budget ... ok
[INFO] [stdout] test cli::tests::test_by_provider_flag_selects_provider_report ... ok
[INFO] [stdout] test cli::tests::test_by_project_flag_selects_project_report ... ok
[INFO] [stdout] test cli::tests::test_cost_explain_flag_selects_cost_explain_report ... ok
[INFO] [stdout] test cli::tests::test_by_model_flag_selects_model_report ... ok
[INFO] [stdout] test config::tests::test_resolve_db_path_override ... ok
[INFO] [stdout] test cli::tests::test_provider_flag_parses_codex ... ok
[INFO] [stdout] test cli::tests::test_model_and_model_family_flags_populate_filter ... ok
[INFO] [stdout] test cli::tests::test_budget_flag_selects_budget_report ... ok
[INFO] [stdout] test cli::tests::test_report_timezone_defaults_local_and_utc_flag_overrides ... ok
[INFO] [stdout] test cli::tests::test_provider_flag_canonicalizes_claude_code_and_alias ... ok
[INFO] [stdout] test config::tests::test_resolve_db_path_default ... ok
[INFO] [stdout] test config::tests::test_resolve_data_dir_missing_override_errors ... ok
[INFO] [stdout] test cli::tests::test_csv_remains_available_for_table_modes ... ok
[INFO] [stdout] test cli::tests::test_help_mentions_model_report_flags ... ok
[INFO] [stdout] test cli::tests::test_csv_conflicts_with_non_table_modes ... ok
[INFO] [stdout] test cli::tests::test_csv_conflicts_with_json_and_oneline ... ok
[INFO] [stdout] test db::pricing::tests::test_bundled_pricing_catalog_schema_is_valid ... ok
[INFO] [stdout] test db::ingest::tests::test_batch_insert_empty ... ok
[INFO] [stdout] test db::ingest::tests::test_batch_insert_dedup_ignores_existing ... ok
[INFO] [stdout] test db::ingest::tests::test_inserted_billing_components_match_claude_display_record ... ok
[INFO] [stdout] test db::ingest::tests::test_insert_rejects_empty_required_identity_fields_except_typed_provider ... ok
[INFO] [stdout] test db::ingest::tests::test_insert_allows_i64_max_token_value ... ok
[INFO] [stdout] test db::ingest::tests::test_batch_insert_basic ... ok
[INFO] [stdout] test db::ingest::tests::test_inserted_billing_components_match_codex_non_overlapping_billing ... ok
[INFO] [stdout] test db::ingest::tests::test_same_request_id_from_different_providers_do_not_collide ... ok
[INFO] [stdout] test db::ingest::tests::test_inserted_values_correct ... ok
[INFO] [stdout] test db::pricing::tests::test_calculate_claude_cost_requires_unsupported_speed_specific_price ... ok
[INFO] [stdout] test db::pricing::tests::test_calculate_codex_cost_uses_non_overlapping_billable_categories ... ok
[INFO] [stdout] test db::pricing::tests::test_calculate_codex_cost_uses_processing_mode_specific_price ... ok
[INFO] [stdout] test db::pricing::tests::test_calculate_claude_cost_requires_cache_creation_source_detail_prices ... ok
[INFO] [stdout] test db::pricing::tests::test_calculate_record_cost_uses_all_nonzero_categories ... ok
[INFO] [stdout] test db::pricing::tests::test_import_pricing_catalog_closes_changed_open_interval ... ok
[INFO] [stdout] test db::pricing::tests::test_claude_unsupported_speed_still_requires_specialized_pricing ... ok
[INFO] [stdout] test db::pricing::tests::test_claude_standard_modifiers_use_default_pricing_dimensions ... ok
[INFO] [stdout] test db::pricing::tests::test_insert_interval_canonicalizes_utc_timestamp_storage ... ok
[INFO] [stdout] test db::pricing::tests::test_insert_and_select_applicable_price ... ok
[INFO] [stdout] test db::pricing::tests::test_bundled_pricing_catalog_intervals_insert_and_audit_cleanly ... ok
[INFO] [stdout] test db::pricing::tests::test_offline_fallback_uses_cached_prices_when_refresh_fails ... ok
[INFO] [stdout] test db::pricing::tests::test_bundled_pricing_covers_claude_cache_creation_ttl_dimensions ... ok
[INFO] [stdout] test db::pricing::tests::test_overlapping_intervals_return_explicit_error ... ok
[INFO] [stdout] test db::pricing::tests::test_lookup_selects_matching_pricing_dimensions_and_default_only_matches_default ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_detects_duplicate_open_intervals ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_accepts_same_effective_date_replacement ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_detects_gap_between_intervals ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_detects_usage_before_first_price_interval ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_detects_overlapping_intervals ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_detects_unsupported_currency ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_detects_missing_cached_token_pricing_for_usage ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_reports_malformed_catalog_rows ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_reports_malformed_usage_timestamps_without_aborting ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_does_not_require_separate_codex_reasoning_price ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_reports_noncanonical_catalog_timestamps ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_reports_unsupported_usage_provider_without_aborting ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_catalog_docs_explain_snapshot_sources ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_clean_seed_has_no_findings ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_reports_missing_source_metadata_for_used_prices ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_reports_billing_component_integrity_findings ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_reports_observed_modifiers_without_specialized_prices ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_reports_stale_source_metadata_for_used_prices ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_treats_modifier_timelines_independently ... ok
[INFO] [stdout] test db::ingest::tests::test_insert_rejects_token_values_above_i64_max ... ok
[INFO] [stdout] test db::pricing::tests::test_refresh_pricing_rejects_stale_effective_interval_and_preserves_existing ... ok
[INFO] [stdout] test db::pricing::tests::test_refresh_pricing_noops_when_prices_unchanged ... ok
[INFO] [stdout] test db::pricing::tests::test_refresh_pricing_closes_previous_open_interval_when_price_changes ... ok
[INFO] [stdout] test db::ingest::tests::test_inserted_claude_standard_modifiers_use_default_pricing_dimensions ... ok
[INFO] [stdout] test db::pricing::tests::test_refresh_pricing_updates_only_matching_pricing_dimensions ... ok
[INFO] [stdout] test db::pricing::tests::test_refresh_pricing_replaces_same_effective_date_interval_in_place ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_reports_bundled_fallback_usage ... ok
[INFO] [stdout] test db::pricing::tests::test_refresh_pricing_rolls_back_when_later_interval_is_invalid ... ok
[INFO] [stdout] test db::ingest::tests::test_inserted_claude_billing_components_preserve_cache_ttl_and_real_region_modifiers ... ok
[INFO] [stdout] test db::pricing::tests::test_seed_pricing_intervals_prevalidates_and_leaves_catalog_unchanged_on_error ... ok
[INFO] [stdout] test db::query::tests::test_gap_fill_5min_labels ... ok
[INFO] [stdout] test db::query::tests::test_gap_fill_daily_labels ... ok
[INFO] [stdout] test db::query::tests::test_gap_fill_hourly_labels ... ok
[INFO] [stdout] test db::query::tests::test_gap_fill_inserts_zero_rows ... ok
[INFO] [stdout] test db::query::tests::test_gap_fill_monthly_labels ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_reports_unknown_observed_model_ids ... ok
[INFO] [stdout] test db::ingest::tests::test_insert_canonicalizes_utc_timestamp_storage ... ok
[INFO] [stdout] test db::pricing::tests::test_uncovered_interval_returns_explicit_error ... ok
[INFO] [stdout] test db::pricing::tests::test_unknown_model_returns_explicit_error ... ok
[INFO] [stdout] test db::pricing::tests::test_selects_effective_interval_by_timestamp ... ok
[INFO] [stdout] test db::query::tests::test_cost_query_fails_when_billing_component_is_orphaned ... ok
[INFO] [stdout] test db::query::tests::test_explain_cost_reports_assumed_standard_processing_mode ... ok
[INFO] [stdout] test db::pricing::tests::test_seed_pricing_inserts_bundled_fallback_once ... ok
[INFO] [stdout] test db::pricing::tests::test_seed_pricing_covers_observed_claude_opus_20251101_categories ... ok
[INFO] [stdout] test db::query::tests::test_explain_cost_high_confidence_when_modifiers_and_reviewed_source_are_explicit ... ok
[INFO] [stdout] test db::pricing::tests::test_pricing_audit_stale_source_boundary_uses_reference_date ... ok
[INFO] [stdout] test db::query::tests::test_cost_query_fails_when_billable_usage_has_partial_components ... ok
[INFO] [stdout] test db::query::tests::test_cost_query_fails_when_billable_usage_has_no_components ... ok
[INFO] [stdout] test db::query::tests::test_hourly_grouping_can_use_utc_across_dst_spring_boundary ... ok
[INFO] [stdout] test db::query::tests::test_hourly_grouping_can_use_utc_across_dst_fall_boundary ... ok
[INFO] [stdout] test db::query::tests::test_explain_cost_reports_bundled_pricing_source ... ok
[INFO] [stdout] test db::query::tests::test_query_allows_zero_cost_only_when_price_is_truly_zero ... ok
[INFO] [stdout] test db::query::tests::test_limit_applied_after_gap_fill ... ok
[INFO] [stdout] test db::query::tests::test_local_hourly_gap_fill_skips_spring_forward_nonexistent_hour ... ok
[INFO] [stdout] test db::query::tests::test_hourly_grouping_defaults_to_local_time ... ok
[INFO] [stdout] test db::query::tests::test_query_cost_joins_component_pricing_dimensions ... ok
[INFO] [stdout] test db::query::tests::test_query_by_model_groups_provider_and_exact_model_id ... ok
[INFO] [stdout] test db::query::tests::test_query_codex_cost_uses_non_overlapping_billing_and_display_total ... ok
[INFO] [stdout] test db::query::tests::test_query_by_project_groups_totals_and_unknown_project ... ok
[INFO] [stdout] test db::query::tests::test_query_coverage_ignores_unobserved_price_gaps ... ok
[INFO] [stdout] test db::query::tests::test_query_cost_uses_usage_timestamp_across_price_change ... ok
[INFO] [stdout] test db::query::tests::test_query_by_provider_groups_totals_and_respects_provider_filter ... ok
[INFO] [stdout] test db::query::tests::test_query_by_provider_respects_project_and_model_filters ... ok
[INFO] [stdout] test db::query::tests::test_query_empty_db ... ok
[INFO] [stdout] test db::query::tests::test_explain_cost_stale_source_boundary_uses_reference_date ... ok
[INFO] [stdout] test db::query::tests::test_query_coverage_fails_for_observed_price_gap ... ok
[INFO] [stdout] test db::query::tests::test_query_coverage_detects_dimension_specific_overlap ... ok
[INFO] [stdout] test db::query::tests::test_local_hourly_gap_fill_combines_fall_back_repeated_hour ... FAILED
[INFO] [stdout] test db::query::tests::test_query_by_project_respects_project_provider_and_model_filters ... ok
[INFO] [stdout] test db::query::tests::test_query_fails_when_component_pricing_modifier_is_missing ... ok
[INFO] [stdout] test db::query::tests::test_query_daily_and_date_filters_default_to_local_boundaries ... ok
[INFO] [stdout] test db::query::tests::test_query_fails_when_pricing_interval_missing ... ok
[INFO] [stdout] test db::query::tests::test_query_fails_when_pricing_intervals_overlap ... ok
[INFO] [stdout] test db::query::tests::test_query_date_range ... ok
[INFO] [stdout] test db::query::tests::test_query_daily ... ok
[INFO] [stdout] test db::query::tests::test_query_daily_totals ... ok
[INFO] [stdout] test db::query::tests::test_query_daily_and_date_filters_can_use_utc_boundaries ... ok
[INFO] [stdout] test db::query::tests::test_query_preserves_fail_closed_for_real_claude_region_modifier ... ok
[INFO] [stdout] test db::query::tests::test_query_summary ... ok
[INFO] [stdout] test db::schema::tests::test_file_state_schema_is_provider_aware ... ok
[INFO] [stdout] test db::query::tests::test_query_top ... ok
[INFO] [stdout] test db::schema::tests::test_generated_column_works ... ok
[INFO] [stdout] test db::query::tests::test_query_uses_default_pricing_for_claude_placeholder_regions ... ok
[INFO] [stdout] test db::query::tests::test_query_preserves_fail_closed_for_unsupported_claude_speed_modifier ... ok
[INFO] [stdout] test db::schema::tests::test_new_schema_rejects_unsupported_provider_ids ... ok
[INFO] [stdout] test db::query::tests::test_query_with_model_family_filter_keeps_alias_behavior ... ok
[INFO] [stdout] test db::query::tests::test_query_uses_default_pricing_for_claude_standard_modifiers ... ok
[INFO] [stdout] test db::schema::tests::test_migrations_idempotent ... ok
[INFO] [stdout] test db::schema::tests::test_old_claude_pricing_provider_id_migrates_to_claude_code ... ok
[INFO] [stdout] test db::query::tests::test_query_with_exact_model_id_filter ... ok
[INFO] [stdout] test db::query::tests::test_seed_pricing_covers_observed_claude_opus_cache_creation_usage ... ok
[INFO] [stdout] test db::schema::tests::test_migration_rolls_back_table_rebuild_and_provider_rewrite_on_failure ... ok
[INFO] [stdout] test db::query::tests::test_query_provider_filter_and_combined_provider_aggregation ... ok
[INFO] [stdout] test db::schema::tests::test_old_schema_version_rebuilds_usage_cache_and_adds_pricing ... ok
[INFO] [stdout] test db::schema::tests::test_pricing_sources_schema_present ... ok
[INFO] [stdout] test db::schema::tests::test_pricing_intervals_schema_present_and_indexed ... ok
[INFO] [stdout] test db::query::tests::test_query_with_model_filter ... ok
[INFO] [stdout] test db::schema::tests::test_provider_and_exact_model_schema_present_and_indexed ... ok
[INFO] [stdout] test db::schema::tests::test_schema_v11_normalizes_default_claude_billing_component_modifiers ... ok
[INFO] [stdout] test db::schema::tests::test_schema_version_set ... ok
[INFO] [stdout] test db::schema::tests::test_usage_billing_components_schema_present_and_indexed ... ok
[INFO] [stdout] test db::schema::tests::test_schema_v8_backfills_billing_components_without_losing_display_totals ... ok
[INFO] [stdout] test db::schema::tests::test_schema_v9_adds_pricing_dimension_columns_without_losing_intervals ... ok
[INFO] [stdout] test db::tests::test_file_state_rejects_values_above_sqlite_integer_range ... ok
[INFO] [stdout] test domain::period::tests::test_default_limits ... ok
[INFO] [stdout] test domain::period::tests::test_display ... ok
[INFO] [stdout] test domain::period::tests::test_sql_group_expr_requires_explicit_timezone_policy ... ok
[INFO] [stdout] test domain::pricing::tests::test_billable_components_are_cost_source_while_wide_columns_remain_display_source ... ok
[INFO] [stdout] test domain::pricing::tests::test_claude_cache_creation_components_preserve_ttl_and_real_region_modifiers ... ok
[INFO] [stdout] test domain::pricing::tests::test_claude_placeholder_regions_normalize_to_default_dimensions ... ok
[INFO] [stdout] test domain::pricing::tests::test_claude_standard_service_tier_and_speed_normalize_to_default_dimensions ... ok
[INFO] [stdout] test domain::pricing::tests::test_nonzero_token_categories_uses_non_overlapping_codex_billing ... ok
[INFO] [stdout] test domain::pricing::tests::test_pricing_architecture_doc_defines_table_roles ... ok
[INFO] [stdout] test domain::pricing::tests::test_pricing_interval_cost_for_tokens ... ok
[INFO] [stdout] test domain::pricing::tests::test_token_category_roundtrip ... ok
[INFO] [stdout] test domain::provider::tests::test_canonical_provider_id_accepts_aliases ... ok
[INFO] [stdout] test domain::provider::tests::test_provider_id_comparison_style_is_typed_until_serialization ... ok
[INFO] [stdout] test db::tests::test_open_in_memory ... ok
[INFO] [stdout] test diagnostics::tests::test_inventory_tolerates_old_schema_without_creating_tables ... ok
[INFO] [stdout] test db::query::tests::test_query_with_project_filter ... ok
[INFO] [stdout] test db::tests::test_file_state_update ... ok
[INFO] [stdout] test domain::provider::tests::test_provider_id_from_canonical_rejects_input_alias ... ok
[INFO] [stdout] test domain::provider::tests::test_provider_id_parses_aliases_to_canonical_display ... ok
[INFO] [stdout] test domain::usage::tests::test_aggregated_row_sum_empty ... ok
[INFO] [stdout] test domain::usage::tests::test_aggregated_row_sum ... ok
[INFO] [stdout] test domain::usage::tests::test_format_cost ... ok
[INFO] [stdout] test domain::usage::tests::test_format_cost_edge_cases ... ok
[INFO] [stdout] test domain::usage::tests::test_format_tokens_all_ranges ... ok
[INFO] [stdout] test domain::usage::tests::test_format_tokens ... ok
[INFO] [stdout] test domain::usage::tests::test_model_family_display ... ok
[INFO] [stdout] test domain::usage::tests::test_model_family_from_str_trait ... ok
[INFO] [stdout] test domain::usage::tests::test_model_family_classify_case_insensitive ... ok
[INFO] [stdout] test ingest::claude::tests::test_accepts_assistant_type_after_message ... ok
[INFO] [stdout] test db::tests::test_file_state_provider_paths_do_not_collide ... ok
[INFO] [stdout] test domain::usage::tests::test_model_family_classify ... ok
[INFO] [stdout] test ingest::claude::tests::test_dedup_keeps_max_output_tokens ... ok
[INFO] [stdout] test ingest::claude::tests::test_handles_malformed_json_gracefully ... ok
[INFO] [stdout] test domain::timestamp::tests::test_format_utc_rfc3339_uses_single_storage_form ... ok
[INFO] [stdout] test ingest::claude::tests::test_accepts_assistant_type_with_whitespace ... ok
[INFO] [stdout] test ingest::claude::tests::test_incremental_parse_accepts_valid_final_line_without_newline ... ok
[INFO] [stdout] test domain::timestamp::tests::test_parse_canonical_utc_rfc3339_rejects_noncanonical_storage ... ok
[INFO] [stdout] test ingest::claude::tests::test_incremental_parse_preserves_trailing_fragment ... ok
[INFO] [stdout] test db::tests::test_file_state_roundtrip ... ok
[INFO] [stdout] test ingest::claude::tests::test_mixed_file_keeps_all_valid_assistant_json_formats ... ok
[INFO] [stdout] test ingest::claude::tests::test_parse_claude_cache_creation_total_from_split_when_aggregate_missing ... ok
[INFO] [stdout] test ingest::claude::tests::test_multiple_requests_kept_separately ... ok
[INFO] [stdout] test ingest::claude::tests::test_parse_claude_pricing_modifiers_and_cache_creation_ttls ... ok
[INFO] [stdout] test ingest::claude::tests::test_parse_single_assistant_entry ... ok
[INFO] [stdout] test ingest::claude::tests::test_skips_empty_request_id ... ok
[INFO] [stdout] test ingest::claude::tests::test_preserves_exact_model_id_separately_from_family ... ok
[INFO] [stdout] test ingest::claude::tests::test_skips_missing_request_id ... ok
[INFO] [stdout] test ingest::claude::tests::test_skips_non_assistant_lines ... ok
[INFO] [stdout] test ingest::claude::tests::test_skips_synthetic_model ... ok
[INFO] [stdout] test ingest::codex::tests::test_parse_codex_deduplicates_duplicate_source_events ... ok
[INFO] [stdout] test diagnostics::tests::test_inventory_reports_missing_provider_paths_without_panicking ... ok
[INFO] [stdout] test ingest::claude::tests::test_source_file_info_propagated ... ok
[INFO] [stdout] test db::query::tests::test_sql_cost_matches_record_cost_billing_policy_for_mixed_providers ... ok
[INFO] [stdout] test db::query::tests::test_report_timezone_does_not_change_cost_totals ... ok
[INFO] [stdout] test ingest::codex::tests::test_parse_codex_incremental_preserves_trailing_fragment ... ok
[INFO] [stdout] test ingest::codex::tests::test_parse_codex_incremental_accepts_valid_final_line_without_newline ... ok
[INFO] [stdout] test db::tests::test_reset_clears_data ... ok
[INFO] [stdout] test diagnostics::tests::test_inventory_empty_setup_reports_explicit_empty_statuses ... ok
[INFO] [stdout] test ingest::codex::tests::test_parse_codex_replays_context_before_emit_offset ... ok
[INFO] [stdout] test ingest::codex::tests::test_parse_codex_missing_optional_session_meta_uses_file_stem_session ... ok
[INFO] [stdout] test ingest::codex::tests::test_parse_codex_response_usage_and_explicit_processing_mode ... ok
[INFO] [stdout] test diagnostics::tests::test_inventory_reports_multi_provider_usage_and_model_counts ... ok
[INFO] [stdout] test ingest::codex::tests::test_parse_codex_skips_token_count_without_model ... ok
[INFO] [stdout] test ingest::codex::tests::test_parse_codex_token_count_preserves_openai_token_categories ... ok
[INFO] [stdout] test ingest::walker::tests::test_extract_project_name_deep_path ... ok
[INFO] [stdout] test ingest::walker::tests::test_extract_project_name_nested_src ... ok
[INFO] [stdout] test ingest::walker::tests::test_extract_project_name_no_projects ... ok
[INFO] [stdout] test ingest::walker::tests::test_extract_project_name_no_src ... ok
[INFO] [stdout] test ingest::walker::tests::test_extract_project_name_src_path ... ok
[INFO] [stdout] test render::budget::tests::test_render_budget_report_includes_cost_budget_and_top ... ok
[INFO] [stdout] test ingest::tests::test_claude_code_adapter_discovers_and_parses_jsonl ... ok
[INFO] [stdout] test render::chart::tests::test_chart_cost_metric ... ok
[INFO] [stdout] test render::chart::tests::test_chart_empty ... ok
[INFO] [stdout] test render::chart::tests::test_chart_no_numeric_x_axis ... ok
[INFO] [stdout] test render::chart::tests::test_chart_renders_visible_dots ... ok
[INFO] [stdout] test render::chart::tests::test_chart_all_zeros ... ok
[INFO] [stdout] test render::chart::tests::test_chart_single_point ... ok
[INFO] [stdout] test render::chart::tests::test_chart_y_axis_cost_formatting ... ok
[INFO] [stdout] test render::chart::tests::test_chart_has_labels ... ok
[INFO] [stdout] test render::chart::tests::test_date_axis_intermediate_dates ... ok
[INFO] [stdout] test render::columns::tests::test_column_format_value ... ok
[INFO] [stdout] test render::columns::tests::test_parse_columns_aliases ... ok
[INFO] [stdout] test render::columns::tests::test_default_columns ... ok
[INFO] [stdout] test render::columns::tests::test_parse_columns_basic ... ok
[INFO] [stdout] test render::columns::tests::test_parse_columns_empty ... ok
[INFO] [stdout] test render::columns::tests::test_parse_columns_case_insensitive ... ok
[INFO] [stdout] test render::columns::tests::test_parse_columns_unknown ... ok
[INFO] [stdout] test render::columns::tests::test_parse_columns_with_spaces ... ok
[INFO] [stdout] test render::columns::tests::test_parse_via_fromstr_trait ... ok
[INFO] [stdout] test render::cost_explain::tests::test_render_cost_explain_includes_confidence_and_assumptions ... ok
[INFO] [stdout] test render::csv::tests::test_csv_empty_rows_still_emit_header ... ok
[INFO] [stdout] test render::csv::tests::test_csv_escapes_commas_quotes_and_newlines ... ok
[INFO] [stdout] test render::csv::tests::test_csv_includes_group_metadata ... ok
[INFO] [stdout] test render::csv::tests::test_csv_uses_raw_numeric_values ... ok
[INFO] [stdout] test render::doctor::tests::test_render_doctor_includes_sections_and_warnings ... ok
[INFO] [stdout] test render::heatmap::tests::test_heatmap_empty ... ok
[INFO] [stdout] test render::heatmap::tests::test_heatmap_multiple_days ... ok
[INFO] [stdout] test render::heatmap::tests::test_heatmap_range_can_use_report_timezone_today ... ok
[INFO] [stdout] test render::heatmap::tests::test_heatmap_shows_mon_wed_fri_labels ... ok
[INFO] [stdout] test render::heatmap::tests::test_heatmap_has_7_data_rows ... ok
[INFO] [stdout] test render::heatmap::tests::test_interpolate_color_midpoint ... ok
[INFO] [stdout] test render::json::tests::test_json_empty ... ok
[INFO] [stdout] test render::heatmap::tests::test_heatmap_single_day ... ok
[INFO] [stdout] test render::json::tests::test_json_includes_project_group_metadata_when_present ... ok
[INFO] [stdout] test render::json::tests::test_json_includes_model_group_metadata_when_present ... ok
[INFO] [stdout] test render::heatmap::tests::test_heatmap_sunday_first_saturday_last ... ok
[INFO] [stdout] test render::heatmap::tests::test_interpolate_color_clamps ... ok
[INFO] [stdout] test render::json::tests::test_json_includes_provider_group_metadata_when_present ... ok
[INFO] [stdout] test render::heatmap::tests::test_interpolate_color_endpoints ... ok
[INFO] [stdout] test render::json::tests::test_json_output_valid ... ok
[INFO] [stdout] test render::oneline::tests::test_oneline_format ... ok
[INFO] [stdout] test render::pricing_audit::tests::test_render_pricing_audit_empty ... ok
[INFO] [stdout] test render::summary::tests::test_summary_rendering ... ok
[INFO] [stdout] test render::pricing_audit::tests::test_render_pricing_audit_includes_finding_details ... ok
[INFO] [stdout] test render::table::tests::test_all_lines_same_width ... ok
[INFO] [stdout] test render::table::tests::test_custom_columns ... ok
[INFO] [stdout] test render::table::tests::test_columns_no_wider_than_needed ... ok
[INFO] [stdout] test render::table::tests::test_hourly_groups_by_date ... ok
[INFO] [stdout] test diagnostics::tests::test_inventory_reports_pricing_source_quality_findings ... ok
[INFO] [stdout] test render::table::tests::test_empty_rows_show_dash ... ok
[INFO] [stdout] test render::table::tests::test_long_model_labels_fit_first_column ... ok
[INFO] [stdout] test render::table::tests::test_hourly_total_aligns_with_time_labels ... ok
[INFO] [stdout] test render::table::tests::test_render_table_empty ... ok
[INFO] [stdout] test render::table::tests::test_provider_label_is_rendered ... ok
[INFO] [stdout] test render::table::tests::test_render_table_has_columns ... ok
[INFO] [stdout] test render::table::tests::test_render_table_has_header ... ok
[INFO] [stdout] test render::table::tests::test_provider_specific_token_columns_render ... ok
[INFO] [stdout] test render::table::tests::test_split_period_label ... ok
[INFO] [stdout] test render::tests::test_filter_description_combined ... ok
[INFO] [stdout] test render::tests::test_filter_description_empty ... ok
[INFO] [stdout] test render::tests::test_filter_description_provider ... ok
[INFO] [stdout] test render::tests::test_filter_description_model ... ok
[INFO] [stdout] test render::tests::test_filter_description_model_family ... ok
[INFO] [stdout] test ingest::tests::test_sync_provider_report_preserves_file_level_errors ... ok
[INFO] [stdout] test ingest::tests::test_sync_provider_uses_provider_aware_file_state ... ok
[INFO] [stdout] test db::tests::test_reset_preserves_pricing_intervals ... ok
[INFO] [stdout] test ingest::tests::test_sync_provider_preserves_partial_trailing_jsonl_until_complete ... ok
[INFO] [stdout] test ingest::tests::test_sync_provider_ingests_valid_final_line_without_trailing_newline ... ok
[INFO] [stdout] test ingest::tests::test_sync_provider_restarts_when_tracked_file_shrinks ... ok
[INFO] [stdout] test ingest::tests::test_sync_provider_retries_unconsumed_trailing_bytes_with_same_size_and_mtime ... ok
[INFO] [stdout] test ingest::tests::test_sync_provider_report_tracks_parse_errors_and_freshness ... ok
[INFO] [stdout] test diagnostics::tests::test_inventory_reports_claude_source_usage_file_state_and_pricing ... ok
[INFO] [stdout] test ingest::tests::test_sync_all_ingests_claude_and_codex_then_queries_by_provider ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- db::query::tests::test_local_hourly_gap_fill_combines_fall_back_repeated_hour stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'db::query::tests::test_local_hourly_gap_fill_combines_fall_back_repeated_hour' (1187) panicked at src/db/query.rs:2322:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "2026-11-01 08:00"
[INFO] [stdout]  right: "2026-11-01 09:00"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c8103bbc0f1 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c8103bbc0f1 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c8103bbc0f1 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c8103bbc0f1 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c8103bd428a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c8103bd428a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5c8103bc1a5c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5c8103bc1a5c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5c8103b97be6 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c8103b97be6 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c8103bb2f49 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c8103838dc0 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5c8103838dc0 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5c8103bb3102 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5c8103bb3102 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5c8103b97c92 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5c8103b8ed09 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c8103b9899d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5c8103bd4a8c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c8103bd4943 - core[6883ba1bc0fe4ed1]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5c8103608ba0 - core[6883ba1bc0fe4ed1]::panicking::assert_failed::<alloc[55a36b64bcbf2c0d]::string::String, alloc[55a36b64bcbf2c0d]::string::String>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5c810372d65a - tkstat[e208be7c2f324b28]::db::query::tests::test_local_hourly_gap_fill_combines_fall_back_repeated_hour
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db/query.rs:2322:9
[INFO] [stdout]   22:     0x5c8103712237 - tkstat[e208be7c2f324b28]::db::query::tests::test_local_hourly_gap_fill_combines_fall_back_repeated_hour::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db/query.rs:2301:69
[INFO] [stdout]   23:     0x5c81036e3456 - <tkstat[e208be7c2f324b28]::db::query::tests::test_local_hourly_gap_fill_combines_fall_back_repeated_hour::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c810382c0fb - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5c810382c0fb - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5c8103839745 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5c8103839745 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5c8103839745 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   29:     0x5c8103839745 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5c8103839745 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5c8103839745 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5c8103839745 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5c81038341f4 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5c81038341f4 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5c810383c892 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5c810383c892 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5c810383c892 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   38:     0x5c810383c892 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5c810383c892 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5c810383c892 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5c810383c892 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5c8103bbb0df - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   43:     0x5c8103bbb0df - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   44:     0x74f750930aa4 - <unknown>
[INFO] [stdout]   45:     0x74f7509bda64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     db::query::tests::test_local_hourly_gap_fill_combines_fall_back_repeated_hour
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 294 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.73s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429", kill_on_drop: false }`
[INFO] [stdout] 5eba0ed7ac8a5146e98e2fc4c364cc10054b82eeb18eac4712fcddc6ac63e429
