horae-tests-0.1.0
checks.x86_64-linux.tests
· build #112
· raw
unpackPhase
1unpacking source archive /nix/store/kqcx8zywm5pvslh8kr1axphgd11y7j13-source2source root is source3Executing cargoSetupPostUnpackHook4Finished cargoSetupPostUnpackHookpatchPhase
5Executing cargoSetupPostPatchHook6Validating consistency between /build/source/Cargo.lock and /build/cargo-vendor-dir/Cargo.lock7Finished cargoSetupPostPatchHookbuildPhase
8 Compiling proc-macro2 v1.0.1069 Compiling quote v1.0.4610 Compiling unicode-ident v1.0.2411 Compiling serde_core v1.0.22812 Compiling autocfg v1.5.113 Compiling serde v1.0.22814 Compiling thiserror v2.0.1815 Compiling iana-time-zone v0.1.6516 Compiling num-traits v0.2.1917 Compiling syn v2.0.11818 Compiling uuid v1.23.419 Compiling serde_derive v1.0.22820 Compiling thiserror-impl v2.0.1821 Compiling chrono v0.4.4522 Compiling horae-core v0.1.0 (/build/source/crates/core)23 Finished `test` profile [unoptimized + debuginfo] target(s) in 22.66s24 Running [ 00:00:00] 0/121: 6 running, 0 passed, 0 skipped 25 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding26 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget27 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values28 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows29 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band30------------31 Nextest run ID 5b9b83ea-1649-47e6-94d3-ac9dcf5c2bb5 with nextest profile: default32 Starting 121 tests across 1 binary33 Running [ 00:00:00] 0/121: 6 running, 0 passed, 0 skipped 34 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding35 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget36 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values37 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows38 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band39 Running [ 00:00:00] 0/121: 6 running, 0 passed, 0 skipped 40 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding41 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget42 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values43 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows44 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band45 Running [ 00:00:00] > 4/121: 6 running, 0 passed, 0 skipped 46 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding47 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget48 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values49 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows50 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band51 PASS [ 0.036s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding52 PASS [ 0.044s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget53 PASS [ 0.032s] horae-core client::tests::profile_rejects_blank_overlong_and_null_names54 PASS [ 0.032s] horae-core budget::tests::current_band_is_the_highest_reached55 PASS [ 0.033s] horae-core budget::tests::a_single_jump_announces_every_crossed_band56 Running [ 00:00:00] > 5/121: 48 running, 5 passed, 0 skipped 57 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values58 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows59 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once60 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets61 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget62 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow63 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts64 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band65 Running [ 00:00:00] > 12/121: 48 running, 12 passed, 0 skipped 66 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets67 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow68 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts69 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band70 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields71 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text72 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit73 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero74 PASS [ 0.033s] horae-core budget::tests::each_crossing_is_announced_once75 PASS [ 0.052s] horae-core budget::tests::no_band_for_zero_or_missing_budget76 PASS [ 0.036s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero77 PASS [ 0.080s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows78 PASS [ 0.080s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values79 PASS [ 0.075s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating80 PASS [ 0.022s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work81 Running [ 00:00:00] > 12/121: 48 running, 12 passed, 0 skipped 82 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets83 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow84 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts85 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band86 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields87 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text88 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit89 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero90 Running [ 00:00:00] => 18/121: 48 running, 12 passed, 0 skipped 91 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets92 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow93 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts94 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band95 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields96 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text97 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit98 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero99 PASS [ 0.069s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent100 PASS [ 0.039s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches101 PASS [ 0.103s] horae-core client::tests::optional_text_normalizes_only_blank_fields102 PASS [ 0.041s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking103 PASS [ 0.083s] horae-core importers::harvest::keys::tests::time_entry_key_distinguishes_and_matches104 PASS [ 0.042s] horae-core duration::tests::parse_colon105 PASS [ 0.024s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal106 PASS [ 0.120s] horae-core client::tests::profile_accepts_supported_currencies_and_unicode_character_limit107 PASS [ 0.042s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts108 PASS [ 0.137s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract109 PASS [ 0.103s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present110 PASS [ 0.056s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary111 Running [ 00:00:00] => 24/121: 48 running, 24 passed, 0 skipped 112 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets113 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow114 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts115 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band116 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text117 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero118 [ 00:00:00] horae-core unsupported_currency_and_null_billing_fields119 [ 00:00:00] horae-core duration::tests::format_round_trip120 Running [ 00:00:00] ==> 42/121: 48 running, 42 passed, 0 skipped 121 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band122 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero123 [ 00:00:00] horae-core unsupported_currency_and_null_billing_fields124 [ 00:00:00] horae-core duration::tests::format_round_trip125 [ 00:00:00] horae-core duration::tests::format_hhmm_pads_minutes126 [ 00:00:00] horae-core ::tests::minutes_between_is_exact_no_minimum127 [ 00:00:00] horae-core s::parse_decimal_rounds_half_minutes_exactly128 [ 00:00:00] horae-core duration::tests::parse_decimal129 PASS [ 0.067s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error130 PASS [ 0.063s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it131 PASS [ 0.022s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available132 PASS [ 0.138s] horae-core budget::tests::large_values_do_not_overflow133 PASS [ 0.145s] horae-core client::tests::default_rate_rejects_negative_fractional_cent_overflow_and_invalid_text134 PASS [ 0.021s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow135 PASS [ 0.018s] horae-core invoice::tests::line_amount_90_minutes136 PASS [ 0.023s] horae-core invoice::tests::line_amount_odd_minutes137 PASS [ 0.153s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds138 PASS [ 0.101s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names139 PASS [ 0.140s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects140 PASS [ 0.171s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets141 PASS [ 0.096s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace142 PASS [ 0.097s] horae-core client::tests::default_rate_preserves_absence_zero_and_exact_large_amounts143 PASS [ 0.020s] horae-core invoice::tests::line_amount_zero_rate144 PASS [ 0.176s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform145 PASS [ 0.019s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate146 PASS [ 0.149s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name147 Running [ 00:00:00] ==> 42/121: 48 running, 42 passed, 0 skipped 148 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band149 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero150 [ 00:00:00] horae-core unsupported_currency_and_null_billing_fields151 [ 00:00:00] horae-core duration::tests::format_round_trip152 [ 00:00:00] horae-core duration::tests::format_hhmm_pads_minutes153 [ 00:00:00] horae-core ::tests::minutes_between_is_exact_no_minimum154 [ 00:00:00] horae-core s::parse_decimal_rounds_half_minutes_exactly155 [ 00:00:00] horae-core duration::tests::parse_decimal156 Running [ 00:00:00] ===> 54/121: 48 running, 42 passed, 0 skipped 157 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band158 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero159 [ 00:00:00] horae-core unsupported_currency_and_null_billing_fields160 [ 00:00:00] horae-core duration::tests::format_round_trip161 [ 00:00:00] horae-core duration::tests::format_hhmm_pads_minutes162 [ 00:00:00] horae-core ::tests::minutes_between_is_exact_no_minimum163 [ 00:00:00] horae-core s::parse_decimal_rounds_half_minutes_exactly164 [ 00:00:00] horae-core duration::tests::parse_decimal165 PASS [ 0.048s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even166 PASS [ 0.022s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent167 PASS [ 0.041s] horae-core invoice::tests::resolve_rate_cascade168 PASS [ 0.017s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates169 PASS [ 0.126s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator170 PASS [ 0.065s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results171 PASS [ 0.137s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line172 PASS [ 0.018s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency173 PASS [ 0.018s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones174 PASS [ 0.143s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors175 PASS [ 0.083s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts176 PASS [ 0.087s] horae-core invoice::tests::line_amount_exact_hour177 PASS [ 0.022s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs178 Running [ 00:00:00] ===> 55/121: 47 running, 55 passed, 0 skipped 179 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band180 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero181 [ 00:00:00] horae-core unsupported_currency_and_null_billing_fields182 [ 00:00:00] horae-core duration::tests::format_round_trip183 [ 00:00:00] horae-core duration::tests::format_hhmm_pads_minutes184 [ 00:00:00] horae-core ::tests::minutes_between_is_exact_no_minimum185 [ 00:00:00] horae-core s::parse_decimal_rounds_half_minutes_exactly186 [ 00:00:00] horae-core duration::tests::parse_decimal187 Running [ 00:00:00] =====> 80/121: 47 running, 55 passed, 0 skipped 188 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band189 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero190 [ 00:00:00] horae-core unsupported_currency_and_null_billing_fields191 [ 00:00:00] horae-core duration::tests::format_round_trip192 [ 00:00:00] horae-core duration::tests::format_hhmm_pads_minutes193 [ 00:00:00] horae-core ::tests::minutes_between_is_exact_no_minimum194 [ 00:00:00] horae-core s::parse_decimal_rounds_half_minutes_exactly195 [ 00:00:00] horae-core duration::tests::parse_decimal196 PASS [ 0.059s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts197 PASS [ 0.085s] horae-core invoice::tests::line_amount_zero_minutes198 PASS [ 0.022s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax199 PASS [ 0.025s] horae-core project::tests::payment_terms_support_receipt_and_checked_days200 PASS [ 0.050s] horae-core project::tests::basics_reject_blank_and_overlong_names201 PASS [ 0.231s] horae-core importers::harvest::convert::tests::negative_is_rejected202 PASS [ 0.142s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow203 PASS [ 0.019s] horae-core rounding::tests::result_is_multiple_of_inc204 PASS [ 0.079s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit205 PASS [ 0.049s] horae-core project::tests::monthly_fee_dates_follow_calendar_months206 PASS [ 0.118s] horae-core invoice::tests::invoice_adjustments_round_components_half_up207 PASS [ 0.039s] horae-core rounding::tests::identity_when_inc_zero208 PASS [ 0.033s] horae-core duration::tests::parse_decimal209 PASS [ 0.023s] horae-core state::tests::invoiced_is_final210 PASS [ 0.088s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates211 PASS [ 0.020s] horae-core state::tests::member_submit_and_reopen212 PASS [ 0.050s] horae-core project::tests::percentage_preserves_exact_hundredths213 PASS [ 0.039s] horae-core duration::tests::minutes_between_is_exact_no_minimum214 PASS [ 0.023s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day215 PASS [ 0.022s] horae-core state::tests::only_manager_can_approve216 PASS [ 0.012s] horae-core time_of_day::tests::parse_reads_24h217 PASS [ 0.022s] horae-core duration::tests::format_clamps_negative_to_zero218 PASS [ 0.036s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values219 PASS [ 0.029s] horae-core duration::tests::format_round_trip220 PASS [ 0.017s] horae-core types::tests::budget_kind_wire_strings_match_db_enum221 PASS [ 0.017s] horae-core week::tests::configured_week_reports_an_unrepresentable_start222 Running [ 00:00:00] =====> 81/121: 40 running, 81 passed, 0 skipped 223 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band224 [ 00:00:00] horae-core unsupported_currency_and_null_billing_fields225 [ 00:00:00] horae-core duration::tests::format_hhmm_pads_minutes226 [ 00:00:00] horae-core s::parse_decimal_rounds_half_minutes_exactly227 [ 00:00:00] horae-core rse_rejects_colon_overflow_without_panicking228 [ 00:00:00] horae-core high_precision_without_intermediate_overflow229 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals230 [ 00:00:00] horae-core rsion_reports_precision_and_numerator_limits231 Running [ 00:00:00] =====> 101/121: 20 running, 101 passed, 0 skipped 232 [ 00:00:00] horae-core unsupported_currency_and_null_billing_fields233 [ 00:00:00] horae-core duration::tests::format_hhmm_pads_minutes234 [ 00:00:00] horae-core s::parse_decimal_rounds_half_minutes_exactly235 [ 00:00:00] horae-core rse_rejects_colon_overflow_without_panicking236 [ 00:00:00] horae-core high_precision_without_intermediate_overflow237 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals238 [ 00:00:00] horae-core n_fraction_straddles_the_half_minute_exactly239 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected240 PASS [ 0.122s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources241 PASS [ 0.060s] horae-core importers::harvest::convert::tests::money_common_values_are_exact242 PASS [ 0.117s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift243 PASS [ 0.070s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero244 PASS [ 0.170s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes245 PASS [ 0.122s] horae-core money::tests::addition_retains_currency_checks_and_representable_boundaries246 PASS [ 0.057s] horae-core rounding::tests::up_and_down247 PASS [ 0.118s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs248 PASS [ 0.046s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide249 PASS [ 0.130s] horae-core money::tests::addition_rejects_overflow_in_both_directions250 PASS [ 0.058s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact251 PASS [ 0.043s] horae-core time_of_day::tests::parse_reads_12h_including_edges252 PASS [ 0.186s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order253 PASS [ 0.043s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage254 PASS [ 0.077s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits255 PASS [ 0.179s] horae-core invoice::tests::line_amount_half_hour256 PASS [ 0.144s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign257 PASS [ 0.118s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total258 PASS [ 0.318s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band259 PASS [ 0.123s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials260 Running [ 00:00:00] =====> 101/121: 20 running, 101 passed, 0 skipped 261 [ 00:00:00] horae-core unsupported_currency_and_null_billing_fields262 [ 00:00:00] horae-core duration::tests::format_hhmm_pads_minutes263 [ 00:00:00] horae-core s::parse_decimal_rounds_half_minutes_exactly264 [ 00:00:00] horae-core rse_rejects_colon_overflow_without_panicking265 [ 00:00:00] horae-core high_precision_without_intermediate_overflow266 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals267 [ 00:00:00] horae-core n_fraction_straddles_the_half_minute_exactly268 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected269 Running [ 00:00:00] =======> 115/121: 6 running, 115 passed, 0 skipped 270 [ 00:00:00] horae-core unsupported_currency_and_null_billing_fields271 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals272 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected273 [ 00:00:00] horae-core ert::tests::leading_and_trailing_forms_parse274 [ 00:00:00] horae-core t::tests::money_rounds_third_decimal_half_up275 [ 00:00:00] horae-core day::tests::format_12h_matches_harvest_style276277278 PASS [ 0.094s] horae-core state::tests::managers_invoice_open_and_approved_time279 PASS [ 0.081s] horae-core time_of_day::tests::format_round_trips280 PASS [ 0.102s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly281 PASS [ 0.121s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly282 PASS [ 0.127s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking283 PASS [ 0.103s] horae-core time_of_day::tests::snap_rounds_to_nearest_step284 PASS [ 0.116s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days285 PASS [ 0.147s] horae-core rounding::tests::nearest_ties_round_up286 PASS [ 0.119s] horae-core week::tests::configured_week_can_start_in_the_previous_year287 PASS [ 0.135s] horae-core duration::tests::format_hhmm_pads_minutes288 PASS [ 0.142s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow289 PASS [ 0.143s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform290 PASS [ 0.116s] horae-core week::tests::maps_any_weekday_to_its_monday291 PASS [ 0.135s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight292 Running [ 00:00:00] =======> 115/121: 6 running, 115 passed, 0 skipped 293 [ 00:00:00] horae-core unsupported_currency_and_null_billing_fields294 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals295 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected296 [ 00:00:00] horae-core ert::tests::leading_and_trailing_forms_parse297 [ 00:00:00] horae-core t::tests::money_rounds_third_decimal_half_up298 [ 00:00:00] horae-core day::tests::format_12h_matches_harvest_style299300301 Running [ 00:00:00] =======> 119/121: 2 running, 119 passed, 0 skipped 302 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals303 [ 00:00:00] horae-core day::tests::format_12h_matches_harvest_style304305306307308309310 PASS [ 0.160s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse311 PASS [ 0.174s] horae-core importers::harvest::convert::tests::garbage_is_rejected312 PASS [ 0.173s] horae-core client::tests::profile_rejects_unsupported_currency_and_null_billing_fields313 PASS [ 0.184s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up314 Running [ 00:00:00] =======> 119/121: 2 running, 119 passed, 0 skipped 315 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals316 [ 00:00:00] horae-core day::tests::format_12h_matches_harvest_style317318319320321322323 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 324 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals325326327328329330331332 PASS [ 0.204s] horae-core time_of_day::tests::format_12h_matches_harvest_style333 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 334 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals335336337338339340341342 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 343 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals344345346347348349350351 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 352 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals353354355356357358359360 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 361 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals362363364365366367368369 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 370 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals371372373374375376377378 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 379 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals380381382383384385386387 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 388 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals389390391392393394395396 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 397 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals398399400401402403404405 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 406 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals407408409410411412413414 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 415 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals416417418419420421422423 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 424 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals425426427428429430431432 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 433 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals434435436437438439440441 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 442 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals443444445446447448449450 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 451 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals452453454455456457458459 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 460 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals461462463464465466467468 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 469 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals470471472473474475476477 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 478 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals479480481482483484485486 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 487 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals488489490491492493494495 Running [ 00:00:00] =======> 120/121: 1 running, 120 passed, 0 skipped 496 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals497498499500501502503504 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 505 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals506507508509510511512513 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 514 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals515516517518519520521522 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 523 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals524525526527528529530531 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 532 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals533534535536537538539540 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 541 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals542543544545546547548549 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 550 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals551552553554555556557558 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 559 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals560561562563564565566567 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 568 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals569570571572573574575576 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 577 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals578579580581582583584585 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 586 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals587588589590591592593594 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 595 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals596597598599600601602603 Running [ 00:00:01] =======> 120/121: 1 running, 120 passed, 0 skipped 604 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals605606607608609610611612 PASS [ 1.185s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals613------------614 Summary [ 1.306s] 121 tests run: 121 passed, 0 skipped615 Running [ 00:00:01] ======== 121/121: 1 running, 120 passed, 0 skipped 616 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals617618619620621622623624The files belonging to this database system will be owned by user "nixbld".625This user must also own the server process.626627The database cluster will be initialized with locale "C".628The default text search configuration will be set to "english".629630Data page checksums are disabled.631632fixing permissions on existing directory /build/tmp.dAz3CsdQZK ... ok633creating subdirectories ... ok634selecting dynamic shared memory implementation ... posix635selecting default "max_connections" ... 100636selecting default "shared_buffers" ... 128MB637selecting default time zone ... UTC638creating configuration files ... ok639running bootstrap script ... ok640performing post-bootstrap initialization ... ok641syncing data to disk ... ok642643initdb: warning: enabling "trust" authentication for local connections644initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.645646Success. You can now start the database server using:647648 pg_ctl -D /build/tmp.dAz3CsdQZK -l logfile start649650waiting for server to start.... done651server started652 Compiling unicode-ident v1.0.24653 Compiling proc-macro2 v1.0.106654 Compiling serde v1.0.228655 Compiling serde_core v1.0.228656 Compiling cfg-if v1.0.4657 Compiling libc v0.2.186658 Compiling memchr v2.8.3659 Compiling version_check v0.9.5660 Compiling log v0.4.33661 Compiling libm v0.2.16662 Compiling itoa v1.0.18663 Compiling once_cell v1.21.4664 Compiling foldhash v0.2.0665 Compiling equivalent v1.0.2666 Compiling pin-project-lite v0.2.17667 Compiling typenum v1.20.1668 Compiling slab v0.4.12669 Compiling parking_lot_core v0.9.12670 Compiling scopeguard v1.2.0671 Compiling crossbeam-utils v0.8.22672 Compiling futures-core v0.3.32673 Compiling zeroize v1.9.0674 Compiling crossbeam-epoch v0.9.20675 Compiling crossbeam-deque v0.8.7676 Compiling rayon-core v1.13.0677 Compiling futures-io v0.3.32678 Compiling futures-task v0.3.32679 Compiling futures-sink v0.3.32680 Compiling zmij v1.0.21681 Compiling subtle v2.6.1682 Compiling allocator-api2 v0.2.21683 Compiling fnv v1.0.7684 Compiling shlex v2.0.1685 Compiling find-msvc-tools v0.1.9686 Compiling stable_deref_trait v1.2.1687 Compiling crc32fast v1.5.0688 Compiling const-oid v0.9.6689 Compiling base64 v0.22.1690 Compiling zerocopy v0.8.53691 Compiling anyhow v1.0.103692 Compiling utf8_iter v1.0.4693 Compiling cpufeatures v0.2.17694 Compiling rustc-hash v2.1.3695 Compiling percent-encoding v2.3.2696 Compiling num-traits v0.2.19697 Compiling serde_json v1.0.150698 Compiling icu_properties_data v2.2.0699 Compiling icu_normalizer_data v2.2.0700 Compiling simd-adler32 v0.3.9701 Compiling writeable v0.6.3702 Compiling heck v0.5.0703 Compiling adler2 v2.0.1704 Compiling zlib-rs v0.6.6705 Compiling futures-channel v0.3.32706 Compiling num-conv v0.2.2707 Compiling utf16_iter v1.0.5708 Compiling time-core v0.1.9709 Compiling write16 v1.0.0710 Compiling powerfmt v0.2.0711 Compiling ryu v1.0.23712 Compiling rustversion v1.0.23713 Compiling unicode-segmentation v1.13.3714 Compiling miniz_oxide v0.8.9715 Compiling winnow v0.7.15716 Compiling unicode-xid v0.2.6717 Compiling httparse v1.10.1718 Compiling arrayvec v0.7.8719 Compiling hashbrown v0.17.1720 Compiling siphasher v1.0.3721 Compiling tinyvec_macros v0.1.1722 Compiling spin v0.9.8723 Compiling getrandom v0.4.3724 Compiling fastrand v2.4.1725 Compiling hashbrown v0.16.1726 Compiling unicode-properties v0.1.4727 Compiling tower-service v0.3.3728 Compiling form_urlencoded v1.2.2729 Compiling tinyvec v1.11.0730 Compiling bitflags v2.13.0731 Compiling regex-syntax v0.8.11732 Compiling time-macros v0.2.31733 Compiling aho-corasick v1.1.4734 Compiling fearless_simd v0.4.1735 Compiling unicode-bidi v0.3.18736 Compiling wasmtime-internal-core v43.0.2737 Compiling tracing-core v0.1.36738 Compiling mime v0.3.17739 Compiling bumpalo v3.20.3740 Compiling fdeflate v0.3.7741 Compiling zune-core v0.5.1742 Compiling untrusted v0.9.0743 Compiling generic-array v0.14.7744 Compiling slotmap v1.1.1745 Compiling polycool v0.4.0746 Compiling zune-jpeg v0.5.15747 Compiling konst_macro_rules v0.2.19748 Compiling tower-layer v0.3.3749 Compiling hayro-ccitt v0.3.0750 Compiling ipnet v2.12.0751 Compiling ident_case v1.0.1752 Compiling rustix v1.1.4753 Compiling ciborium-io v0.2.2754 Compiling weezl v0.1.12755 Compiling semver v1.0.28756 Compiling color_quant v1.1.0757 Compiling quick-error v2.0.1758 Compiling target-lexicon v0.13.5759 Compiling linux-raw-sys v0.12.1760 Compiling unsafe-libyaml v0.2.11761 Compiling proc-macro-hack v0.5.20+deprecated762 Compiling konst v0.2.20763 Compiling byteorder-lite v0.1.0764 Compiling dioxus-core-types v0.7.9765 Compiling getrandom v0.3.4766 Compiling phf_shared v0.13.1767 Compiling sync_wrapper v1.0.2768 Compiling libloading v0.8.9769 Compiling httpdate v1.0.3770 Compiling pxfm v0.1.30771 Compiling unicode-script v0.5.8772 Compiling arrayref v0.3.9773 Compiling icu_locale_data v2.2.0774 Compiling cranelift-srcgen v0.130.2775 Compiling phf_generator v0.13.1776 Compiling block-buffer v0.10.4777 Compiling crypto-common v0.1.7778 Compiling encoding_rs v0.8.35779 Compiling image-webp v0.2.4780 Compiling gif v0.14.2781 Compiling cranelift-assembler-x64-meta v0.130.2782 Compiling unicode-ccc v0.4.0783 Compiling same-file v1.0.6784 Compiling unicode-bidi-mirroring v0.4.0785 Compiling roxmltree v0.20.0786 Compiling try-lock v0.2.5787 Compiling base64ct v1.8.3788 Compiling thiserror v1.0.69789 Compiling longest-increasing-subsequence v0.1.0790 Compiling want v0.3.1791 Compiling walkdir v2.5.0792 Compiling rustls-pki-types v1.15.0793 Compiling paste v1.0.15794 Compiling digest v0.10.7795 Compiling bit-vec v0.8.0796 Compiling wasm-bindgen-shared v0.2.126797 Compiling getrandom v0.2.17798 Compiling jobserver v0.1.35799 Compiling socket2 v0.6.4800 Compiling mio v1.2.1801 Compiling errno v0.3.14802 Compiling memmap2 v0.9.11803 Compiling imagesize v0.14.0804 Compiling leb128fmt v0.1.0805 Compiling icu_collator_data v2.2.0806 Compiling sha2 v0.10.9807 Compiling fontconfig-parser v0.5.8808 Compiling signal-hook-registry v1.4.8809 Compiling litemap v0.8.2810 Compiling xmlwriter v0.1.0811 Compiling portable-atomic v1.13.1812 Compiling quote v1.0.46813 Compiling cc v1.2.66814 Compiling rand_core v0.9.5815 Compiling bit-set v0.8.0816 Compiling roxmltree v0.21.1817 Compiling quick-xml v0.41.0818 Compiling simplecss v0.2.2819 Compiling data-url v0.3.2820 Compiling unscanny v0.1.0821 Compiling typst-utils v0.15.0822 Compiling pico-args v0.5.0823 Compiling toml_write v0.1.2824 Compiling cranelift-isle v0.130.2825 Compiling linked-hash-map v0.5.6826 Compiling syn v2.0.118827 Compiling wasmparser v0.239.0828 Compiling rand_core v0.6.4829 Compiling unicode-vo v0.1.0830 Compiling unicode-normalization v0.1.25831 Compiling convert_case v0.8.0832 Compiling thin-vec v0.2.18833 Compiling palette v0.7.6834 Compiling by_address v1.2.1835 Compiling data-encoding v2.11.0836 Compiling rust_decimal v1.42.1837 Compiling object v0.38.1838 Compiling yaml-rust v0.4.5839 Compiling codex v0.3.0840 Compiling chinese-variant v1.1.6841 Compiling roman-numerals-rs v3.1.0842 Compiling unicode-math-class v0.1.0843 Compiling const_format_proc_macros v0.2.34844 Compiling pem-rfc7468 v0.7.0845 Compiling rustls v0.23.41846 Compiling cranelift-codegen-shared v0.130.2847 Compiling proc-macro2-diagnostics v0.10.1848 Compiling csv-core v0.1.13849 Compiling mutate_once v0.1.2850 Compiling atomic-waker v1.1.2851 Compiling fast-srgb8 v1.0.0852 Compiling der v0.7.10853 Compiling pkg-config v0.3.33854 Compiling cpp_demangle v0.4.5855 Compiling foldhash v0.1.5856 Compiling io-lifetimes v2.0.4857 Compiling wasmi_collections v1.1.0858 Compiling parking v2.2.1859 Compiling lazy-js-bundle v0.7.9860 Compiling kamadak-exif v0.6.1861 Compiling wasm-bindgen v0.2.126862 Compiling termcolor v1.4.1863 Compiling typed-arena v2.0.2864 Compiling webpki-roots v1.0.8865 Compiling hashbrown v0.15.5866 Compiling wasmtime-internal-component-util v43.0.2867 Compiling sha1 v0.10.6868 Compiling core_maths v0.1.1869 Compiling wasmi_core v1.1.0870 Compiling hmac v0.12.1871 Compiling winnow v1.0.3872 Compiling icu_segmenter_data v2.2.0873 Compiling object v0.37.3874 Compiling byteorder v1.5.0875 Compiling ttf-parser v0.25.1876 Compiling az v1.3.0877 Compiling crc-catalog v2.5.0878 Compiling glidesort v0.1.2879 Compiling arbitrary v1.4.2880 Compiling const_format v0.2.36881 Compiling hkdf v0.12.4882 Compiling lazy_static v1.5.0883 Compiling lock_api v0.4.14884 Compiling flate2 v1.1.9885 Compiling crc v3.4.0886 Compiling rustc-demangle v0.1.28887 Compiling bytes v1.12.0888 Compiling linebender_resource_handle v0.1.1889 Compiling io-extras v0.18.4890 Compiling hayro-postscript v0.1.0891 Compiling dioxus-cli-config v0.7.9892 Compiling concurrent-queue v2.5.0893 Compiling cookie v0.18.1894 Compiling deranged v0.5.8895 Compiling serde_path_to_error v0.1.20896 Compiling uuid v1.23.4897 Compiling spki v0.7.3898 Compiling csv v1.4.0899 Compiling hayro-cmap v0.1.0900 Compiling ambient-authority v0.0.2901 Compiling leb128 v0.2.7902 Compiling cap-primitives v3.4.5903 Compiling png v0.18.1904 Compiling pkcs8 v0.10.2905 Compiling typst-assets v0.15.0906 Compiling indexmap v2.14.0907 Compiling hashlink v0.10.0908 Compiling unicase v2.9.0909 Compiling zstd-safe v7.2.4910 Compiling strsim v0.11.1911 Compiling num-integer v0.1.46912 Compiling float-cmp v0.9.0913 Compiling approx v0.5.1914 Compiling ring v0.17.14915 Compiling zstd-sys v2.0.16+zstd.1.5.7916 Compiling tokio v1.52.3917 Compiling utf-8 v0.7.6918 Compiling ittapi-sys v0.4.0919 Compiling strict-num v0.1.1920 Compiling wast v35.0.2921 Compiling event-listener v5.4.1922 Compiling chrono v0.4.45923 Compiling futures-util v0.3.32924 Compiling dioxus-document v0.7.9925 Compiling stringprep v0.1.5926 Compiling regex-automata v0.4.14927 Compiling cranelift-control v0.130.2928 Compiling mime_guess v2.0.5929 Compiling crossbeam-queue v0.3.13930 Compiling signature v2.2.0931 Compiling wasmi_ir v1.1.0932 Compiling ff v0.13.1933 Compiling wasm-encoder v0.253.0934 Compiling multer v3.1.0935 Compiling im-rc v15.1.0936 Compiling bitmaps v2.1.0937 Compiling home v0.5.12938 Compiling id-arena v2.3.0939 Compiling hex v0.4.3940 Compiling maybe-owned v0.3.4941 Compiling hayro-jbig2 v0.3.0942 Compiling hayro-jpeg2000 v0.3.5943 Compiling num-bigint v0.4.8944 Compiling whoami v1.6.1945 Compiling compression-core v0.4.32946 Compiling wasmtime-internal-unwinder v43.0.2947 Compiling rustls v0.21.12948 Compiling dotenvy v0.15.7949 Compiling moxcms v0.8.1950 Compiling toml_parser v1.1.2+spec-1.1.0951 Compiling hypher v0.1.7952 Compiling unicode-width v0.2.2953 Compiling base16ct v0.2.0954 Compiling compression-codecs v0.4.38955 Compiling pic-scale v0.7.10956 Compiling sec1 v0.7.3957 Compiling group v0.13.0958 Compiling time v0.3.53959 Compiling atoi v2.0.0960 Compiling serde_spanned v1.1.1961 Compiling toml_datetime v0.7.5+spec-1.1.0962 Compiling crypto-bigint v0.5.5963 Compiling rand_xoshiro v0.6.0964 Compiling md-5 v0.10.6965 Compiling dirs-sys-next v0.1.2966 Compiling toml_writer v1.1.1+spec-1.1.0967 Compiling wasmtime-internal-component-macro v43.0.2968 Compiling cap-std v3.4.5969 Compiling wasmtime-internal-cache v43.0.2970 Compiling fixedbitset v0.4.2971 Compiling gimli v0.33.0972 Compiling sized-chunks v0.6.5973 Compiling directories-next v2.0.0974 Compiling wast v253.0.0975 Compiling cfb v0.7.3976 Compiling debugid v0.8.0977 Compiling stacker v0.1.24978 Compiling sharded-slab v0.1.7979 Compiling socket2 v0.5.10980 Compiling cranelift-assembler-x64 v0.130.2981 Compiling synstructure v0.13.2982 Compiling darling_core v0.21.3983 Compiling wasm-bindgen-macro-support v0.2.126984 Compiling darling_core v0.23.0985 Compiling rustc_version v0.4.1986 Compiling tracing-log v0.2.0987 Compiling toml v0.9.12+spec-1.1.0988 Compiling dioxus-rsx v0.7.9989 Compiling ar_archive_writer v0.5.2990 Compiling thread_local v1.1.9991 Compiling inventory v0.3.24992 Compiling litrs v1.0.0993 Compiling rustix v0.38.44994 Compiling http-range-header v0.4.2995 Compiling matchit v0.8.4996 Compiling psl-types v2.0.11997 Compiling nu-ansi-term v0.50.3998 Compiling cbindgen v0.29.4999 Compiling toml_datetime v1.1.1+spec-1.1.01000 Compiling wiggle-macro v43.0.21001 Compiling curve25519-dalek v4.1.31002 Compiling ittapi v0.4.01003 Compiling toml_edit v0.25.12+spec-1.1.01004 Compiling infer v0.19.01005 Compiling rmp v0.8.151006 Compiling pdf-writer v0.15.01007 Compiling rfc6979 v0.4.01008 Compiling dioxus-interpreter-js v0.7.91009 Compiling convert_case v0.10.01010 Compiling num-bigint-dig v0.8.61011 Compiling option-ext v0.2.01012 Compiling utf8parse v0.2.21013 Compiling cap-fs-ext v3.4.51014 Compiling system-interface v0.27.31015 Compiling base16 v0.2.11016 Compiling linux-raw-sys v0.4.151017 Compiling base64 v0.21.71018 Compiling dirs-sys v0.5.01019 Compiling anstyle-parse v1.0.01020 Compiling document-features v0.2.121021 Compiling macro-string v0.1.41022 Compiling num-iter v0.1.461023 Compiling webpki-roots v0.26.111024 Compiling rustls-pemfile v1.0.41025 Compiling charset v0.1.51026 Compiling inout v0.1.41027 Compiling anstyle v1.0.141028 Compiling hashbrown v0.14.51029 Compiling anstyle-query v1.1.51030 Compiling webpki-roots v0.25.41031 Compiling xmp-writer v0.3.31032 Compiling psm v0.1.311033 Compiling askama_escape v0.13.01034 Compiling dunce v1.0.51035 Compiling zip v2.4.21036 Compiling sync_wrapper v0.1.21037 Compiling colorchoice v1.0.51038 Compiling is_terminal_polyfill v1.70.21039 Compiling xxhash-rust v0.8.161040 Compiling cipher v0.4.41041 Compiling content_disposition v0.4.01042 Compiling dirs v6.0.01043 Compiling anstream v1.0.01044 Compiling ed25519 v2.2.31045 Compiling tempfile v3.27.01046 Compiling ordered-float v2.10.11047 Compiling pkcs1 v0.7.51048 Compiling universal-hash v0.5.11049 Compiling zopfli v0.8.31050 Compiling elliptic-curve v0.13.81051 Compiling lru v0.16.41052 Compiling send_wrapper v0.6.01053 Compiling utf8-zero v0.8.11054 Compiling opaque-debug v0.3.11055 Compiling const-str v0.7.11056 Compiling clap_lex v1.1.01057 Compiling base64 v0.13.11058 Compiling poly1305 v0.8.01059 Compiling chacha20 v0.9.11060 Compiling aead v0.5.21061 Compiling clap_builder v4.6.01062 Compiling dioxus-config-macro v0.7.91063 Compiling glob v0.3.31064 Compiling dyn-clone v1.0.201065 Compiling proc-macro-crate v3.5.01066 Compiling dioxus-config-macros v0.7.91067 Compiling horae v0.1.0 (/build/source/crates/horae)1068 Compiling ppv-lite86 v0.2.211069 Compiling chacha20poly1305 v0.10.11070 Compiling ecdsa v0.16.91071 Compiling primeorder v0.13.61072 Compiling serde_derive v1.0.2281073 Compiling thiserror-impl v2.0.181074 Compiling zerofrom-derive v0.1.71075 Compiling yoke-derive v0.8.21076 Compiling zerovec-derive v0.11.31077 Compiling displaydoc v0.2.61078 Compiling futures-macro v0.3.321079 Compiling tracing-attributes v0.1.311080 Compiling zerocopy-derive v0.8.531081 Compiling tokio-macros v2.7.01082 Compiling bytemuck_derive v1.11.01083 Compiling pin-project-internal v1.1.131084 Compiling async-trait v0.1.891085 Compiling phf_macros v0.13.11086 Compiling thiserror-impl v1.0.691087 Compiling pulley-macros v43.0.21088 Compiling wasmtime-internal-versioned-export-macros v43.0.21089 Compiling comemo-macros v0.5.11090 Compiling strum_macros v0.27.21091 Compiling enum-ordinalize-derive v4.4.11092 Compiling warnings-macro v0.2.01093 Compiling palette_derive v0.7.61094 Compiling typst-macros v0.15.01095 Compiling const-serialize-macro v0.7.21096 Compiling rand_chacha v0.3.11097 Compiling serde_repr v0.1.201098 Compiling rustix-linux-procfs v0.1.11099 Compiling fs-set-times v0.20.31100 Compiling darling_macro v0.21.31101 Compiling const-serialize-macro v0.8.0-alpha.01102 Compiling dioxus-core-macro v0.7.91103 Compiling dioxus-html-internal-macro v0.7.91104 Compiling rand v0.8.61105 Compiling wasmtime-internal-jit-debug v43.0.21106 Compiling darling v0.21.31107 Compiling wasmtime-internal-fiber v43.0.21108 Compiling enumset_derive v0.15.01109 Compiling enum-ordinalize v4.4.11110 Compiling chinese-number v0.7.81111 Compiling wasmtime v43.0.21112 Compiling axum-macros v0.5.11113 Compiling memfd v0.6.51114 Compiling curve25519-dalek-derive v0.1.11115 Compiling phf v0.13.11116 Compiling dioxus-router-macro v0.7.91117 Compiling async-stream-impl v0.3.61118 Compiling derive_more-impl v2.1.11119 Compiling const-serialize v0.7.21120 Compiling cap-time-ext v3.4.51121 Compiling dioxus-stores-macro v0.7.91122 Compiling dioxus-fullstack-macro v0.7.91123 Compiling p384 v0.13.11124 Compiling pin-project v1.1.131125 Compiling p256 v0.13.21126 Compiling clap_derive v4.6.11127 Compiling serial_test_derive v3.5.01128 Compiling witx v0.9.11129 Compiling thiserror v2.0.181130 Compiling darling_macro v0.23.01131 Compiling zerofrom v0.1.81132 Compiling cobs v0.3.01133 Compiling yoke v0.8.31134 Compiling fancy-regex v0.16.21135 Compiling regex v1.13.01136 Compiling bytemuck v1.25.11137 Compiling matchers v0.2.01138 Compiling async-stream v0.3.61139 Compiling wasmi v1.1.01140 Compiling tracing v0.1.441141 Compiling zerovec v0.11.61142 Compiling zerotrie v0.2.41143 Compiling enumset v1.1.131144 Compiling tiny-skia-path v0.12.01145 Compiling font-types v0.11.31146 Compiling image v0.25.101147 Compiling color v0.3.31148 Compiling darling v0.23.01149 Compiling rgb v0.8.531150 Compiling serde_with_macros v3.21.01151 Compiling tokio-stream v0.1.181152 Compiling read-fonts v0.39.21153 Compiling warnings v0.2.11154 Compiling tracing-futures v0.2.51155 Compiling rustls-webpki v0.103.131156 Compiling rustls-webpki v0.101.71157 Compiling sct v0.7.11158 Compiling tiny-skia v0.12.01159 Compiling strum v0.27.21160 Compiling wasm-bindgen-macro v0.2.1261161 Compiling clap v4.6.11162 Compiling wat v1.253.01163 Compiling serde_with v3.21.01164 Compiling ed25519-dalek v2.2.01165 Compiling derive_more v2.1.11166 Compiling tinystr v0.8.31167 Compiling potential_utf v0.1.51168 Compiling smallvec v1.15.21169 Compiling either v1.16.01170 Compiling wasmparser v0.245.11171 Compiling postcard v1.1.31172 Compiling const-serialize v0.8.0-alpha.01173 Compiling icu_collections v2.2.01174 Compiling euclid v0.22.141175 Compiling subsecond-types v0.7.91176 Compiling serde_spanned v0.6.91177 Compiling toml_datetime v0.6.111178 Compiling quick-xml v0.38.41179 Compiling bincode v1.3.31180 Compiling ecow v0.2.61181 Compiling serde_urlencoded v0.7.11182 Compiling keyboard-types v0.7.01183 Compiling fxprof-processed-profile v0.8.11184 Compiling proc-macro-utils v0.10.01185 Compiling unic-langid-impl v0.9.61186 Compiling icu_locale_core v2.2.01187 Compiling manganis-core v0.7.91188 Compiling kurbo v0.13.11189 Compiling hayro-syntax v0.7.21190 Compiling rayon v1.12.01191 Compiling rustybuzz v0.20.11192 Compiling parking_lot v0.12.51193 Compiling cranelift-bitset v0.130.21194 Compiling http v1.4.21195 Compiling futures-executor v0.3.321196 Compiling regalloc2 v0.15.11197 Compiling http v0.2.121198 Compiling subsecond v0.7.91199 Compiling fontdb v0.23.01200 Compiling pulley-interpreter v43.0.21201 Compiling generational-box v0.7.91202 Compiling comemo v0.5.11203 Compiling typst-timing v0.15.01204 Compiling futures v0.3.321205 Compiling cranelift-entity v0.130.21206 Compiling futures-intrusive v0.5.01207 Compiling itertools v0.14.01208 Compiling tracing-subscriber v0.3.231209 Compiling unic-langid-macros-impl v0.9.61210 Compiling serde_qs v0.15.01211 Compiling rmp-serde v1.3.11212 Compiling dioxus-core v0.7.91213 Compiling svgtypes v0.16.11214 Compiling peniko v0.6.11215 Compiling js-sys v0.3.1031216 Compiling cranelift-bforest v0.130.21217 Compiling http-body v0.4.61218 Compiling manyhow-macros v0.11.41219 Compiling dashmap v6.2.11220 Compiling manganis-macro v0.7.91221 Compiling http-body v1.0.11222 Compiling unic-langid-macros v0.9.61223 Compiling unic-langid v0.9.61224 Compiling http-body-util v0.1.31225 Compiling icu_provider v2.2.01226 Compiling biblatex v0.12.01227 Compiling headers-core v0.3.01228 Compiling wasmtime-internal-jit-icache-coherence v43.0.21229 Compiling ureq-proto v0.6.01230 Compiling manyhow v0.11.41231 Compiling headers v0.4.11232 Compiling itertools v0.10.51233 Compiling serde-value v0.7.01234 Compiling axum-core v0.5.61235 Compiling usvg v0.47.01236 Compiling citationberg v0.7.01237 Compiling icu_properties v2.2.01238 Compiling icu_normalizer v2.2.01239 Compiling extism-convert-macros v1.30.01240 Compiling guillotiere v0.7.01241 Compiling hayro-write v0.7.01242 Compiling half v2.7.11243 Compiling vello_common v0.0.81244 Compiling serde_plain v1.0.21245 Compiling extism-manifest v1.30.01246 Compiling serial_test v3.5.01247 Compiling ciborium-ll v0.2.21248 Compiling dioxus-logger v0.7.91249 Compiling ureq v3.3.01250 Compiling rand_chacha v0.9.01251 Compiling ciborium v0.2.21252 Compiling cranelift-codegen-meta v0.130.21253 Compiling rand v0.9.41254 Compiling idna_adapter v1.2.21255 Compiling icu_locale v2.2.01256 Compiling idna v1.1.01257 Compiling icu_provider_blob v2.2.01258 Compiling prost-derive v0.14.41259 Compiling manganis v0.7.91260 Compiling url v2.5.81261 Compiling serde_yaml v0.9.34+deprecated1262 Compiling plist v1.10.01263 Compiling toml_edit v0.22.271264 Compiling petgraph v0.6.51265 Compiling sqlx-core v0.8.61266 Compiling vello_cpu v0.0.81267 Compiling tungstenite v0.29.01268 Compiling tungstenite v0.28.01269 Compiling tungstenite v0.27.01270 Compiling lipsum v0.9.11271 Compiling dioxus-signals v0.7.91272 Compiling icu_segmenter v2.2.01273 Compiling dioxus-history v0.7.91274 Compiling dioxus-devtools-types v0.7.91275 Compiling dioxus-ssr v0.7.91276 Compiling resvg v0.47.01277 Compiling cap-rand v3.4.51278 Compiling tower-cookies v0.11.01279 Compiling rust_xlsxwriter v0.80.01280 Compiling zstd v0.13.31281 Compiling icu_collator v2.2.11282 Compiling syntect v5.3.01283 Compiling dioxus-hooks v0.7.91284 Compiling dioxus-stores v0.7.91285 Compiling cranelift-codegen v0.130.21286 Compiling prost v0.14.41287 Compiling dioxus-html v0.7.91288 Compiling publicsuffix v2.3.01289 Compiling rsa v0.9.101290 Compiling extism-convert v1.30.01291 Compiling async-tungstenite v0.31.01292 Compiling dioxus-devtools v0.7.91293 Compiling tokio-util v0.7.181294 Compiling tower v0.5.31295 Compiling async-compression v0.4.421296 Compiling tokio-tungstenite v0.29.01297 Compiling tokio-rustls v0.24.11298 Compiling tokio-rustls v0.26.41299 Compiling tokio-tungstenite v0.28.01300 Compiling tower-sessions-core v0.14.01301 Compiling extism v1.30.01302 Compiling dioxus-asset-resolver v0.7.91303 Compiling hayagriva v0.10.11304 Compiling cookie_store v0.22.11305 Compiling ureq v2.12.11306 Compiling toml v0.8.231307 Compiling tower-sessions-memory-store v0.14.01308 Compiling typst-syntax v0.15.01309 Compiling tower-sessions v0.14.01310 Compiling web-sys v0.3.1031311 Compiling wasm-bindgen-futures v0.4.761312 Compiling two-face v0.4.51313 Compiling h2 v0.4.151314 Compiling h2 v0.3.271315 Compiling tower-http v0.6.111316 Compiling wit-parser v0.245.11317 Compiling wasmtime-environ v43.0.21318 Compiling skrifa v0.42.11319 Compiling write-fonts v0.48.11320 Compiling sqlx-postgres v0.8.61321 Compiling addr2line v0.26.11322 Compiling dioxus-fullstack-core v0.7.91323 Compiling dioxus-router v0.7.91324 Compiling wasm-encoder v0.245.11325 Compiling wasmprinter v0.245.11326 Compiling typst-library v0.15.01327 Compiling hayro-interpret v0.7.01328 Compiling wasmtime-internal-wit-bindgen v43.0.21329 Compiling wasm-compose v0.245.11330 Compiling hyper v0.14.321331 Compiling hyper v1.10.11332 Compiling sqlx-macros-core v0.8.61333 Compiling wiggle-generate v43.0.21334 Compiling hayro-svg v0.7.01335 Compiling hayro v0.7.11336 Compiling subsetter v0.2.61337 Compiling gloo-utils v0.2.01338 Compiling gloo-net v0.6.01339 Compiling hyper-util v0.1.201340 Compiling sqlx-macros v0.8.61341 Compiling wasm-streams v0.4.21342 Compiling krilla v0.8.21343 Compiling hyper-rustls v0.24.21344 Compiling reqwest v0.11.271345 Compiling axum v0.8.91346 Compiling hyper-rustls v0.27.91347 Compiling reqwest v0.12.281348 Compiling sqlx v0.8.61349 Compiling tower-sessions-sqlx-store v0.15.01350 Compiling horae-core v0.1.0 (/build/source/crates/core)1351 Compiling oauth2 v4.4.21352 Compiling krilla-svg v0.8.11353 Compiling openidconnect v3.5.01354 Compiling axum-extra v0.10.31355 Compiling dioxus-server v0.7.91356 Compiling dioxus-fullstack v0.7.9 (/build/source/vendor/dioxus-fullstack-0.7.9)1357 Compiling dioxus v0.7.91358 Compiling cranelift-native v0.130.21359 Compiling cranelift-frontend v0.130.21360 Compiling wasmtime-internal-cranelift v43.0.21361 Compiling typst-layout v0.15.01362 Compiling typst-eval v0.15.01363 Compiling typst-kit v0.15.01364 Compiling typst-svg v0.15.01365 Compiling typst-pdf v0.15.01366 Compiling typst-html v0.15.01367 Compiling typst-realize v0.15.01368 Compiling typst v0.15.01369 Compiling typst-as-lib v0.16.01370 Compiling wiggle v43.0.21371 Compiling wasi-common v43.0.21372 Finished `test` profile [unoptimized + debuginfo] target(s) in 3m 45s1373 Running unittests src/main.rs (target/debug/deps/horae-5009cc8439fd9d15)13741375running 830 tests1376test auth::oidc::tests::extra_audiences_are_trusted_only_when_listed ... ok1377test auth::oidc::tests::deactivated_email_match_is_denied ... ok1378test auth::oidc::tests::first_login_links_subject_via_verified_email ... ok1379test auth::oidc::tests::deactivated_subject_match_is_denied ... ok1380test auth::oidc::tests::no_account_is_denied_not_provisioned ... ok1381test auth::oidc::tests::subject_match_logs_in_without_relinking ... ok1382test auth::oidc::tests::subject_match_takes_precedence_over_email ... ok1383test auth::oidc::tests::unverified_email_is_not_matched ... ok1384test auth::page::tests::configured_label_is_html_escaped ... ok1385test auth::page::tests::oidc_variant_uses_the_configured_label_and_hands_off_to_start ... ok1386test auth::page::tests::dev_variant_offers_the_admin_bypass_and_no_fake_controls ... ok1387test cli::tests::environment_probe ... ok1388test config::tests::dev_login_is_allowed_on_loopback ... ok1389test config::tests::dev_login_is_refused_off_loopback ... ok1390test config::tests::environment::environment_probe ... ok1391test config::tests::without_dev_login_any_bind_is_fine ... ok1392test harvest::pagination_tests::harvest_pagination_total_pages_does_not_overflow ... ok1393test cli::imports::tests::retry_snapshot_is_compatible_with_missing_and_future_values ... ok1394test cli::tests::remote_commands_reject_conflicting_or_unbounded_options ... ok1395test cli::tests::remote_import_and_job_commands_accept_the_documented_arguments ... ok1396test cli::imports::tests::session_rejects_public_permissions_and_symlinks ... ok1397test cli::imports::tests::missing_session_is_a_structured_configuration_failure ... ok1398test cli::imports::tests::private_session_accepts_https_and_loopback_only ... ok1399test config::tests::environment::example_environment_can_configure_all_required_oidc_and_harvest_fields ... ok1400test cli::imports::tests::session_rejects_cookie_header_injection_without_echoing_the_value ... ok1401test cli::imports::tests::session_rejects_plaintext_remote_and_credential_bearing_urls ... ok1402test cli::imports::tests::csv_named_pipe_is_rejected_without_waiting_for_a_writer ... ok1403test cli::imports::tests::redirects_are_not_followed_or_exposed_as_server_error_text ... ok1404test cli::imports::tests::cancellation_racing_completion_does_not_claim_cancellation_was_requested ... ok1405test cli::imports::tests::invalid_csv_files_fail_before_contacting_the_server ... ok1406test harvest::tests::page_window_defaults_and_checked_offsets ... ok1407test cli::imports::tests::report_marks_confirmed_failed_outcomes_as_incomplete ... ok1408test cli::imports::tests::malformed_submission_acknowledgement_retains_its_request_identity ... ok1409test cli::imports::tests::api_submission_captures_generation_without_retrying_uncertain_acceptance ... ok1410test db::tests::pool_connections_force_custom_plans ... ok1411test cli::imports::tests::missing_and_mismatched_jobs_fail_without_substitution ... ok1412test config::tests::environment::partial_oidc_configuration_remains_disabled_without_a_callback ... ok1413test config::tests::environment::obsolete_authentication_variables_do_not_configure_the_server ... ok1414test config::tests::environment::empty_environment_has_no_authentication_or_plugin_credentials ... ok1415test cli::imports::tests::archived_errors_publish_without_clobbering_and_preserve_the_prior_file_on_failure ... ok1416test importers::harvest::api_source::http::tests::cancelled_backoff_does_not_wait_or_retry ... ok1417test importers::harvest::api_source::http::tests::cursor_links_are_authoritative_even_with_null_or_stale_page_numbers ... ok1418test cli::imports::tests::status_and_wait_distinguish_failed_jobs_from_failed_reads ... ok1419test cli::tests::default_command_uses_the_same_defaults_and_environment_as_serve ... ok1420test cli::imports::tests::ordinary_json_is_bounded_and_invalid_replies_are_not_echoed ... ok1421test importers::harvest::api_source::http::tests::missing_next_cursor_is_not_silently_treated_as_completed ... ok1422test importers::harvest::api_source::http::tests::pagination_cycle_detection_survives_restarting_after_every_page ... ok1423test config::tests::environment::job_attempt_limit_uses_the_documented_environment_variable ... ok1424test importers::harvest::api_source::http::tests::rejected_page_does_not_advance_the_cursor ... ok1425test importers::harvest::api_source::http::tests::rejects_pagination_outside_the_authenticated_endpoint ... ok1426test importers::harvest::api_source::http::tests::persisted_cursor_resumes_with_a_new_client_and_stays_complete_at_eof ... ok1427test cli::tests::default_command_rejects_invalid_environment_ports ... ok1428test importers::harvest::api_source::tests::assembled_rows_convert_to_exact_minutes ... ok1429test importers::harvest::api_source::http::tests::resumed_cursor_rejects_untrusted_destinations_and_invalid_state_before_http ... ok1430test importers::harvest::api_source::tests::hours_render_as_exact_decimals ... ok1431test importers::harvest::api_source::tests::assembles_rows_joining_parents_by_id ... ok1432test importers::harvest::api_source::tests::json_exponents_expand_exactly_with_bounded_output ... ok1433test importers::harvest::api_source::tests::http_page_preserves_decimal_values_before_integer_conversion ... ok1434test importers::harvest::credentials::tests::bad_key_length_is_rejected ... ok1435test config::tests::environment::mail_environment_requires_a_complete_valid_configuration ... ok1436test config::tests::environment::secure_cookies_use_the_documented_prefixed_variable ... ok1437test config::tests::environment::invalid_job_attempt_limits_reject_startup ... ok1438test importers::harvest::api_source::http::tests::http_pages_follow_cursor_and_preserve_headers_and_encoded_filter ... ok1439test importers::harvest::credentials::tests::decode_hex_rejects_bad_input ... ok1440test importers::harvest::api_source::http::tests::http_retries_429_but_never_follows_redirects_or_shortens_long_backoff ... ok1441test importers::harvest::credentials::tests::encrypt_then_decrypt_round_trips ... ok1442test importers::harvest::api_source::http::tests::http_rejects_oversized_malformed_and_cyclic_pages ... ok1443test importers::harvest::api_source::http::tests::slow_consumer_backpressures_http_and_cancellation_stops_further_pages ... ok1444test importers::harvest::credentials::tests::nonce_makes_ciphertext_nondeterministic ... ok1445test auth::oidc::tests::linking::unverified_email_cannot_link_an_account ... ok1446test auth::oidc::tests::linking::existing_subject_wins_over_another_accounts_email ... ok1447test auth::oidc::tests::linking::deactivation_during_first_link_denies_login ... ok1448test importers::harvest::account_switch::tests::change_preserves_terminal_history_and_rejects_stale_confirmation ... ok1449test importers::harvest::credentials::tests::wrong_key_fails_to_decrypt ... ok1450test importers::harvest::csv_source::tests::bad_date_becomes_a_row_error_not_a_rejection ... ok1451test importers::harvest::csv_source::tests::cursor_beyond_upload_is_rejected_without_parsing_rows ... ok1452test auth::oidc::tests::linking::simultaneous_logins_with_the_same_subject_are_allowed ... ok1453test importers::harvest::csv_source::tests::conflicting_email_aliases_error_only_the_affected_row ... ok1454test importers::harvest::csv_source::tests::csv_records_preserve_multiline_unicode_across_single_byte_reads ... ok1455test importers::harvest::csv_source::tests::delivers_a_row_before_reading_the_rest_of_the_file ... ok1456test harvest::tests::members_cannot_read_own_project_rates_or_cost_overrides ... ok1457test importers::harvest::csv_source::tests::cursor_resumes_after_multiline_unicode_and_preserves_error_locations ... ok1458test importers::harvest::csv_source::tests::invalid_utf8_errors_one_record_and_continues ... ok1459test importers::harvest::csv_source::tests::empty_file_is_rejected ... ok1460test importers::harvest::csv_source::tests::missing_required_columns_is_rejected ... ok1461test harvest::tests::a_manager_sees_the_whole_org ... ok1462test harvest::tests::a_manager_lists_users_with_their_rates ... ok1463test importers::harvest::csv_source::tests::parse_bool_accepts_yes_variants ... ok1464test harvest::tests::a_member_sees_only_their_own_time_entries ... ok1465test importers::harvest::csv_source::tests::identity_columns_are_required_and_cannot_repeat ... ok1466test importers::harvest::csv_source::tests::names_stay_separate_from_optional_email ... ok1467test importers::harvest::csv_source::tests::parses_rows_case_insensitively ... ok1468test harvest::tests::a_member_cannot_filter_to_a_colleague ... ok1469test harvest::tests::a_member_cannot_fetch_a_colleagues_entry ... ok1470test auth::oidc::tests::linking::different_subjects_cannot_both_claim_an_unlinked_account ... ok1471test harvest::tests::a_member_cannot_list_users ... ok1472test importers::harvest::account_switch::tests::successful_change_preserves_business_rows_and_failure_rolls_back_secrets ... ok1473test importers::harvest::credentials::tests::connect_and_disconnect_share_import_exclusion_without_blocking_other_orgs ... ok1474test importers::harvest::account_switch::tests::a_b_a_keeps_old_callbacks_requests_and_retries_fenced ... ok1475test importers::harvest::account_switch::tests::queued_work_and_provenance_block_without_changing_binding ... ok1476test importers::harvest::credentials::tests::connection_changes_work_with_a_single_connection_pool ... ok1477test importers::harvest::credentials::tests::concurrent_first_connections_cannot_bind_different_accounts ... ok1478test importers::harvest::account_switch::tests::queue_acceptance_does_not_wait_for_the_import_session_lock ... ok1479test importers::harvest::credentials::tests::another_account_cannot_replace_credentials_or_watermarks ... ok1480test importers::harvest::account_switch::tests::retry_and_change_are_serialized ... ok1481test importers::harvest::credentials::tests::disconnect_preserves_identity_and_provenance_for_the_original_account ... ok1482test importers::harvest::account_switch::tests::running_jobs_block_change_and_old_execution_never_reaches_http ... ok1483test importers::harvest::account_switch::tests::disconnect_and_reconnect_fence_callbacks_but_not_same_account_work ... ok1484test harvest::tests::harvest_effective_minutes_match_sql_for_open_and_frozen_time ... ok1485test harvest::pagination_tests::harvest_pagination_catalog_links_preserve_filters_and_break_name_ties ... ok1486test importers::harvest::credentials::tests::failed_credential_write_does_not_leave_an_account_binding ... ok1487test importers::harvest::credentials::tests::migration_binds_existing_connections_without_changing_secrets_or_markers ... ok1488test harvest::tests::harvest_entry_rates_respect_selected_project_mode ... ok1489test importers::harvest::account_switch::tests::competing_callbacks_and_confirmations_have_one_winner ... ok1490test db::tests::reset_empties_the_database_and_reapplies_migrations ... ok1491test importers::harvest::engine_tests::csv_streaming::measure_csv_durable_100k ... ignored, 100,000-row durable CSV measurement; run explicitly with --release --nocapture1492test importers::harvest::engine_tests::csv_streaming::measure_csv_durable_large_catalog_100k ... ignored, 100,000-row durable CSV with 5,000 parent sets; run explicitly with --release --nocapture1493test importers::harvest::engine_tests::csv_streaming::measure_csv_streaming_100k ... ignored, 100,000-row CSV measurement; run explicitly with --release --nocapture1494test importers::harvest::engine_tests::csv_streaming::measure_csv_streaming_large_catalog_100k ... ignored, 100,000-row CSV with 5,000 parent sets; run explicitly with --release --nocapture1495test harvest::tests::harvest_marks_unbilled_non_billable_contexts_consistently ... ok1496test importers::harvest::account_switch::tests::competing_change_and_submission_cannot_both_succeed ... ok1497test harvest::tests::harvest_entry_rates_follow_the_cascade_and_frozen_invoice_line ... ok1498test importers::harvest::credentials::tests::same_account_reconnect_rotates_encryption_without_resetting_watermarks ... ok1499test cli::imports::tests::wait_deadline_caps_a_pending_request_without_cancelling_the_job ... ok1500test importers::harvest::credentials::tests::unidentified_legacy_provenance_requires_operator_review ... ok1501test importers::harvest::engine_tests::bad_records_are_reported_and_run_continues ... ok1502test importers::harvest::engine_tests::csv_name_fallback_requires_a_full_unique_name_and_never_overrides_email ... ok1503test importers::harvest::engine_tests::api_connection_checks_work_with_a_single_connection_pool ... ok1504test importers::harvest::engine_tests::cancellation_rolls_back_rows_and_releases_the_import_session ... ok1505test importers::harvest::engine_tests::lookup_cache::cold_query_callsite_on_untraced_thread_is_still_captured ... ok1506test importers::harvest::engine_tests::cancelled_http_waiter_keeps_the_lock_until_its_worker_exits ... ok1507test importers::harvest::engine_tests::api_sync_adopts_entries_from_a_prior_csv_import ... ok1508test importers::harvest::engine_tests::api_and_csv_share_the_lock_but_other_organizations_can_import ... ok1509test importers::harvest::engine_tests::csv_import_populates_and_is_idempotent ... ok1510test importers::harvest::engine_tests::csv_ambiguous_names_include_inactive_users_but_unique_email_disambiguates ... ok1511test importers::harvest::engine_tests::csv_streaming::cancelling_a_csv_waiting_for_more_bytes_releases_its_session ... ok1512test importers::harvest::engine_tests::csv_streaming::csv_applies_before_eof_but_transport_failure_rolls_back_everything ... ok1513test importers::harvest::engine_tests::csv_malformed_file_is_rejected_with_no_writes ... ok1514test importers::harvest::engine_tests::csv_streaming::csv_preview_errors_and_repeated_rows_match_commit_and_reimport ... ok1515test importers::harvest::engine_tests::csv_name_only_dry_run_and_duplicate_occurrences_preserve_history ... ok1516test importers::harvest::engine_tests::csv_name_only_matches_one_org_user_and_reimports_without_duplicates ... ok1517test importers::harvest::oauth::tests::authorize_url_carries_state_and_encoded_redirect ... ok1518test importers::harvest::oauth::tests::authorize_url_preserves_query_values_without_injecting_parameters ... ok1519test importers::harvest::oauth_callback_tests::account_policy_failures_return_safe_actionable_conflicts ... ok1520test importers::harvest::oauth_callback_tests::mismatched_state_is_rejected_without_a_code ... ok1521test importers::harvest::oauth_callback_tests::missing_returned_state_is_rejected ... ok1522test importers::harvest::oauth_callback_tests::missing_stored_state_is_rejected ... ok1523test importers::harvest::oauth_callback_tests::provider_error_is_rejected_before_exchange ... ok1524test importers::harvest::oauth_callback_tests::valid_matching_state_yields_the_code ... ok1525test importers::harvest::oauth_callback_tests::valid_state_but_missing_code_is_rejected ... ok1526test importers::harvest::report::tests::archive_metadata_cannot_masquerade_as_a_legacy_or_inconsistent_report ... ok1527test importers::harvest::report::tests::archived_report_round_trips_without_losing_error_accounting ... ok1528test importers::harvest::report::tests::legacy_report_preserves_its_counts_and_error_details ... ok1529test importers::harvest::report::tests::report_rejects_unsupported_and_invalid_versions ... ok1530test importers::harvest::report::tests::serialized_report_has_a_supported_schema_version ... ok1531test importers::harvest::resolve::checkpoint_tests::run_cache_round_trip_preserves_identity_namespaces_and_occurrences ... ok1532test importers::harvest::engine_tests::failed_source_releases_the_session_and_rolls_back_partial_rows ... ok1533test harvest::pagination_tests::harvest_own_time_omits_private_project_budget_metadata ... ok1534test importers::harvest::engine_tests::concurrent_imports_reject_overlap_without_collapsing_repeated_entries ... ok1535test importers::harvest::engine_tests::edited_entry_still_matched_by_provenance ... ok1536test importers::harvest::engine_tests::dry_run_writes_nothing_and_matches_commit ... ok1537test importers::harvest::engine_tests::distinct_harvest_ids_with_identical_fields_import_as_two ... ok1538test importers::harvest::engine_tests::csv_streaming::durable_csv_stale_commit_is_fenced_without_a_heartbeat ... ok1539test importers::harvest::engine_tests::full_import_creates_all_levels_with_exact_minutes ... ok1540test importers::harvest::engine_tests::import_rejects_ambiguous_normalized_email_without_partial_writes ... ok1541test importers::harvest::engine_tests::csv_streaming::durable_csv_report_metadata_is_bounded_after_recovery ... ok1542test importers::harvest::engine_tests::completed_imports_allow_immediate_retries ... ok1543test importers::harvest::engine_tests::natural_key_reimport_normalizes_whitespace_and_ascii_case ... ok1544test importers::harvest::engine_tests::watermark_advances_only_on_commit ... ok1545test importers::harvest::engine_tests::lookup_cache::new_run_rechecks_previously_cached_user_for_ambiguity ... ok1546test importers::harvest::engine_tests::lookup_cache::project_task_cache_distinguishes_both_sides_of_the_link ... ok1547test importers::harvest::engine_tests::submission_barrier_blocks_imported_time_entries ... ok1548test importers::harvest::engine_tests::lookup_cache::cached_email_and_full_name_do_not_share_a_namespace ... ok1549test importers::harvest::engine_tests::lookup_cache::lookup_index_migration_preserves_existing_ambiguous_identities ... ok1550test importers::harvest::engine_tests::two_identical_csv_rows_import_as_two_entries ... ok1551test importers::harvest::engine_tests::lookup_cache::cached_project_task_still_validates_each_rows_rate ... ok1552test importers::harvest::engine_tests::overflowing_decimals_fail_only_their_rows ... ok1553test importers::harvest::engine_tests::second_identical_run_creates_nothing ... ok1554test importers::harvest::engine_tests::reimporting_identical_csv_rows_is_idempotent ... ok1555test importers::harvest::resolve::preview::tests::rejects_foreign_parent_snapshots_before_restoring_any_rows ... ok1556test importers::harvest::resolve::preview::tests::checkpoint_restores_known_task_currency_and_keeps_old_currency_unknown ... ok1557test importers::harvest::engine_tests::lookup_cache::rolled_back_row_does_not_cache_user_or_project_task ... ok1558test importers::harvest::streaming::tests::api_planning_policy_ends_with_the_transaction ... ok1559test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_crosses_batch_boundaries_without_committing_domain_data ... ok1560test importers::harvest::sync_tests::api_rejects_ambiguous_email_without_advancing_watermark ... ok1561test harvest::pagination_tests::harvest_pagination_malformed_filters_are_client_errors ... ok1562test importers::harvest::streaming::durable::preview::tests::restoration_omits_unneeded_virtual_entries ... ok1563test importers::harvest::credentials::tests::completed_credential_changes_allow_immediate_retries ... ok1564test importers::harvest::sync_tests::api_requires_email_even_when_full_name_matches ... ok1565test importers::harvest::sync_tests::empty_sync_does_not_invent_a_watermark ... ok1566test importers::harvest::sync_tests::failed_client_propagates_to_project_and_entry_without_placeholder_records ... ok1567test importers::harvest::engine_tests::csv_streaming::csv_sql_backpressure_stops_reading_later_input_rows ... ok1568test importers::harvest::sync_tests::failed_rows_are_available_to_the_next_incremental_retry ... ok1569test importers::harvest::sync_tests::missing_source_timestamp_keeps_the_previous_watermark ... ok1570test importers::harvest::sync_tests::invalid_parent_blocks_dependent_time_but_other_catalog_records_survive ... ok1571test importers::harvest::sync_tests::missing_client_fallback_and_failed_project_savepoints_do_not_poison_cache ... ok1572test importers::harvest::sync_tests::out_of_range_api_decimals_error_per_row_and_leave_retry_watermark ... ok1573test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_resumes_after_a_crash_without_recounting_rows ... ok1574test importers::harvest::sync_tests::dry_run_leaves_data_provenance_and_watermark_unchanged ... ok1575test importers::harvest::sync_tests::scale::api_100k_commit_and_reimport ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture1576test importers::harvest::sync_tests::scale::api_100k_dry_run ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture1577test importers::harvest::sync_tests::scale::api_durable_100k_commit_and_reimport ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture1578test importers::harvest::sync_tests::scale::api_durable_100k_dry_run ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture1579test importers::harvest::sync_tests::disconnect_and_reconnect_preserves_imported_records_and_exact_identity ... ok1580test importers::harvest::sync_tests::exact_api_decimals_survive_preview_commit_and_reimport ... ok1581test harvest::pagination_tests::harvest_project_cost_overrides_require_admin_without_fabricated_fallback ... ok1582test importers::harvest::engine_tests::csv_streaming::durable_csv_resumes_committed_batches_without_recounting_duplicate_rows ... ok1583test importers::harvest::engine_tests::lookup_cache::repeated_rows_resolve_each_user_and_project_task_once ... ok1584test importers::harvest::sync_tests::paging::cancelled_page_consumer_retains_lock_until_worker_exits_and_rolls_back ... ok1585test importers::harvest::sync_tests::parent_only_dry_run_previews_without_persisting_catalog ... ok1586test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_rejects_a_stale_next_batch ... ok1587test importers::harvest::sync_tests::paging::later_download_failure_rolls_back_parents_rows_and_watermark ... ok1588test importers::harvest::sync_tests::parent_catalog_preserves_metadata_and_counts_each_entity_once ... ok1589test importers::harvest::sync_tests::watermark_never_passes_the_start_of_capture ... ok1590test harvest::pagination_tests::harvest_pagination_rejects_invalid_windows_on_every_collection ... ok1591test importers::harvest::sync_tests::successful_sync_only_marks_the_incrementally_fetched_entity ... ok1592test importers::harvest::sync_tests::paging::durable_api_stale_commit_cannot_advance_data_or_watermark ... ok1593test importers::harvest::sync_tests::parent_only_api_import_creates_catalog_and_reimport_skips_it ... ok1594test importers::harvest::sync_tests::refreshed_tokens_survive_a_dry_run_rollback_in_the_same_import_session ... ok1595test importers::harvest::sync_tests::watermark_write_failure_rolls_back_imported_data ... ok1596test importers::harvest::sync_tests::checkpoints::durable_api_cancellation_preserves_confirmed_pages_for_manual_retry ... ok1597test importers::harvest::engine_tests::csv_streaming::durable_csv_reclaimed_lease_cannot_commit_the_next_batch ... ok1598test importers::harvest::sync_tests::checkpoints::durable_api_finalization_retry_does_not_repeat_completed_downloads ... ok1599test importers::harvest::sync_tests::checkpoints::durable_api_preview_cancellation_preserves_confirmed_pages_for_manual_retry ... ok1600test init::tests::init_refuses_when_an_organization_exists ... ok1601test init::tests::init_creates_one_org_and_one_admin_and_nothing_else ... ok1602test importers::harvest::sync_tests::checkpoints::durable_api_preview_finalization_retry_does_not_repeat_completed_downloads ... ok1603test harvest::pagination_tests::harvest_pagination_router_preserves_session_and_tenant_guards ... ok1604test jobs::tests::cancellation_and_retry_are_scoped_and_idempotent ... ok1605test importers::harvest::sync_tests::checkpoints::durable_api_preview_reclaimed_worker_cannot_checkpoint_its_next_page ... ok1606test jobs::tests::claims_are_atomic_and_expired_leases_recover ... ok1607test importers::harvest::sync_tests::checkpoints::durable_api_preview_resume_preserves_row_errors ... ok1608test importers::harvest::sync_tests::checkpoints::durable_api_reclaimed_worker_cannot_commit_its_next_page ... ok1609test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_catalog_download ... ok1610test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_pages_without_publishing_domain_data ... ok1611test importers::harvest::sync_tests::checkpoints::failed_api_preview_publishes_its_last_confirmed_page_report ... ok1612test importers::harvest::sync_tests::checkpoints::durable_api_resume_remembers_an_earlier_missing_timestamp ... ok1613test importers::harvest::sync_tests::paging::invalid_and_missing_timestamp_rows_cross_page_boundaries_without_advancing ... ok1614test importers::harvest::sync_tests::checkpoints::failed_api_commit_publishes_its_last_confirmed_page_report ... ok1615test importers::harvest::sync_tests::checkpoints::durable_api_resume_keeps_earlier_errors_and_does_not_advance_watermark ... ok1616test importers::harvest::sync_tests::checkpoints::durable_api_resumes_committed_pages_and_preserves_the_high_watermark ... ok1617test harvest::pagination_tests::harvest_pagination_time_entries_keep_the_filtered_set_and_date_ties ... ok1618test importers::harvest::sync_tests::checkpoints::durable_api_resumes_a_partially_downloaded_catalog ... ok1619test jobs::tests::history_paginates_tied_timestamps_and_rejects_foreign_cursors ... ok1620test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_joins_parser_and_preserves_committed_rows ... ok1621test jobs::tests::payload_kind_is_stable_and_round_trips ... ok1622test jobs::tests::payload_versions_preserve_legacy_jobs_and_reject_unknown_versions ... ok1623test jobs::tests::outbox_delivery_is_idempotent ... ok1624test jobs::tests::retry_snapshot_does_not_guess_unknown_payloads_or_sources ... ok1625test jobs::outbox::tests::acknowledges_confirmed_delivery_without_reclaiming_it ... ok1626test jobs::tests::shutdown_deadline_drops_and_joins_in_flight_work ... ok1627test jobs::tests::shutdown_waits_for_in_flight_work ... ok1628test importers::harvest::engine_tests::large_run_reuses_parents_and_reconciles_totals ... ok1629test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_cancel_preserves_simulation_for_manual_retry ... ok1630test importers::harvest::sync_tests::checkpoints::durable_api_resumes_after_a_confirmed_parent_batch ... ok1631test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_after_a_confirmed_parent_batch ... ok1632test jobs::tests::synthetic_job_uses_the_same_registered_envelope ... ok1633test jobs::outbox::tests::invalid_payload_is_not_delivered_and_does_not_leak_into_errors ... ok1634test models::project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok1635test models::project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok1636test models::project_creation::tests::unknown_draft_fields_are_rejected ... ok1637test jobs::tests::retry_snapshot_matches_status_and_list_without_exposing_payload ... ok1638test notifications::tests::cancelling_delivery_kills_the_active_sender ... ok1639test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_preserves_its_completed_batches_for_manual_retry ... ok1640test jobs::tests::upload_organization_must_match_its_job ... ok1641test notifications::tests::acknowledged_email_is_never_claimed_again ... ok1642test notifications::tests::disabled_mail_worker_does_not_claim_pending_notifications ... ok1643test notifications::tests::mail_configuration_is_disabled_by_default_and_rejects_partial_values ... ok1644test notifications::tests::mail_configuration_requires_an_executable_file_and_safe_sender ... ok1645test notifications::tests::recipient_injection_is_rejected_before_starting_a_process ... ok1646test notifications::tests::rendered_mail_bounds_body_lines_for_long_unicode_and_control_names ... ok1647test jobs::outbox::tests::plugin_failure_retries_with_the_same_event_identity ... ok1648test notifications::tests::failed_email_retries_same_identity_and_eventually_stops ... ok1649test notifications::tests::sendmail_failure_does_not_expose_program_output ... ok1650test notifications::tests::sendmail_receives_fixed_arguments_and_stable_message_identity ... ok1651test importers::harvest::engine_tests::csv_streaming::csv_measurement_recovers_a_complete_batch_without_recounting ... ok1652test notifications::tests::foreign_notification_payload_is_terminal_and_never_sent ... ok1653test notifications::tests::mail_worker_delivers_only_its_kind_and_drains_cleanly ... ok1654test notifications::tests::retry_can_recover_without_changing_message_identity ... ok1655test pages::clients::filters::tests::clearing_query_preserves_selected_currency_and_lifecycle ... ok1656test pages::clients::filters::tests::lifecycle_counts_share_query_and_currency_filters ... ok1657test pages::clients::filters::tests::preferred_or_visible_project_currency_matches_but_query_still_applies ... ok1658test pages::clients::filters::tests::name_search_ignores_case_and_surrounding_whitespace ... ok1659test pages::clients::form::tests::absent_billing_authority_never_produces_an_edit_payload ... ok1660test pages::clients::form::tests::ambiguous_creation_errors_require_explicit_recovery ... ok1661test pages::clients::form::tests::invalid_fields_are_not_rewritten_by_validation ... ok1662test pages::clients::form::tests::clearing_a_rate_is_explicit_and_needs_no_currency_confirmation ... ok1663test pages::clients::form::tests::rate_replacement_requires_confirmation_in_the_current_currency ... ok1664test pages::clients::form::tests::untouched_fields_keep_zero_rate_and_original_snapshot ... ok1665test pages::importers::presentation::tests::no_selection_does_not_claim_no_import_history ... ok1666test pages::importers::presentation::tests::interrupted_report_is_partial_regardless_of_retry_prerequisites ... ok1667test pages::importers::presentation::tests::source_labels_do_not_guess_unknown_importers ... ok1668test pages::importers::presentation::tests::states_and_phases_have_readable_unknown_fallbacks ... ok1669test pages::importers::presentation::tests::summaries_distinguish_zero_skipped_and_mixed_outcomes ... ok1670test pages::invoices::defaults_form::tests::invoice_fields_bound_metadata_by_characters_and_reject_nul ... ok1671test pages::invoices::defaults_form::tests::invoice_fields_preserve_exact_percentages_and_custom_terms ... ok1672test pages::invoices::defaults_form::tests::invoice_fields_reject_invalid_percentages_terms_and_second_tax ... ok1673test pages::invoices::defaults_form::tests::invoice_fields_preserve_receipt_terms_and_empty_optional_percentages ... ok1674test pages::invoices::preparation::fees::tests::fee_inputs_require_exact_amounts_and_an_explicit_positive_charge ... ok1675test pages::invoices::preparation::fees::tests::refresh_keeps_raw_edits_and_does_not_select_new_sources ... ok1676test pages::invoices::preparation::tests::invoice_context_selects_only_the_exact_available_client ... ok1677test pages::invoices::preparation::fees::tests::refresh_preserves_missing_or_relabelled_edits_until_explicit_removal ... ok1678test pages::invoices::preparation::tests::unavailable_or_malformed_invoice_context_never_uses_the_first_client ... ok1679test pages::invoices::preparation::tests::invoice_review_requires_matching_sources_and_valid_values ... ok1680test pages::new_project::basics::tests::a_batch_that_would_exceed_the_tag_limit_is_rejected ... ok1681test pages::new_project::basics::tests::a_full_tag_list_still_accepts_a_duplicate ... ok1682test pages::new_project::basics::tests::overlong_tags_are_rejected_without_truncation ... ok1683test pages::new_project::basics::tests::tag_length_counts_characters_instead_of_bytes ... ok1684test pages::new_project::basics::tests::tags_trim_and_deduplicate_without_changing_existing_spelling ... ok1685test pages::new_project::draft::tests::a_mismatched_acknowledgement_does_not_lose_pending_input ... ok1686test pages::new_project::draft::tests::a_retry_keeps_the_unacknowledged_payload_and_revision ... ok1687test pages::new_project::draft::tests::a_validation_rejection_allows_corrected_input_at_the_same_revision ... ok1688test pages::new_project::draft::tests::an_empty_form_is_not_reported_as_saved ... ok1689test pages::new_project::draft::tests::any_saved_draft_wins_over_context_including_empty_or_matching_client ... ok1690test pages::new_project::draft::tests::context_prefills_only_a_new_form_without_fixing_its_currency ... ok1691test pages::new_project::draft::tests::resuming_preserves_the_server_identity_and_incomplete_fields ... ok1692test pages::new_project::team::tests::adding_everyone_deduplicates_without_replacing_project_overrides ... ok1693test pages::new_project::team::tests::exceeding_the_team_limit_does_not_partially_add_people ... ok1694test pages::new_project::team::tests::removing_a_member_keeps_an_empty_restricted_task_restricted ... ok1695test pages::new_project::tests::a_rejected_creation_can_be_edited_but_an_uncertain_commit_must_be_retried ... ok1696test pages::new_project::tests::only_known_validation_fields_can_target_a_control ... ok1697test pages::projects::budget_display_tests::configured_scopes_sum_without_hiding_an_individual_overrun ... ok1698test pages::projects::budget_display_tests::display_preserves_units_sign_and_large_integer_values ... ok1699test pages::projects::budget_display_tests::tag_filter_matches_identity_without_duplicates_or_name_collisions ... ok1700test pages::projects::budget_display_tests::unallocated_zero_and_overflow_budgets_are_not_conflated ... ok1701test pages::reports::tests::cost_total_uses_organization_currency_across_billing_currencies ... ok1702test pages::reports::tests::mixed_currencies_are_not_added_even_when_the_numbers_would_overflow ... ok1703test pages::new_project::billing::tests::budget_errors_target_a_control_that_can_be_corrected ... ok1704test pages::reports::tests::monetary_total_overflow_is_visible_instead_of_panicking ... ok1705test pages::reports::tests::single_currency_totals_are_formatted_and_empty_reports_have_no_amount ... ok1706test pages::reports::tests::redacted_costs_do_not_become_zero_or_partial_totals ... ok1707test pages::timesheet::tests::cal_span_day_shows_only_the_anchor_column ... ok1708test pages::timesheet::tests::cal_span_defaults_to_week ... ok1709test pages::timesheet::tests::cal_span_unknown_falls_back_to_week ... ok1710test pages::timesheet::tests::cal_span_url_roundtrips ... ok1711test pages::timesheet::tests::cal_span_week_shows_all_seven_days ... ok1712test pages::timesheet::tests::cal_span_work_week_preserves_date_order_across_weekends ... ok1713test pages::timesheet::tests::cal_span_work_week_shows_monday_to_friday ... ok1714test pages::timesheet::tests::cal_span_work_week_skips_sunday_when_it_is_the_first_column ... ok1715test pages::timesheet::tests::day_col_class_marks_today ... ok1716test pages::timesheet::tests::day_col_class_marks_weekend ... ok1717test pages::timesheet::tests::day_col_class_plain_weekday ... ok1718test pages::timesheet::tests::day_col_class_today_wins_over_weekend ... ok1719test pages::timesheet::tests::invalid_duration_cannot_start_a_timer_save_or_clear_a_cell ... ok1720test pages::timesheet::tests::only_a_blank_duration_can_start_an_eligible_timer ... ok1721test pages::timesheet::tests::timed_lanes_still_widens_overlapping_entries ... ok1722test pages::timesheet::tests::timed_lanes_terminates_on_a_zero_length_entry ... ok1723test pages::timesheet::tests::today_offset_is_none_after_the_week ... ok1724test pages::timesheet::tests::today_offset_is_none_before_the_week ... ok1725test pages::timesheet::tests::today_offset_is_six_on_the_sunday ... ok1726test pages::timesheet::tests::today_offset_is_zero_on_the_monday ... ok1727test pages::timesheet::tests::value_cell_class_empty_wins_over_today ... ok1728test pages::timesheet::tests::value_cell_class_marks_today_when_nonzero ... ok1729test pages::timesheet::tests::weekend_style_follows_the_date_not_the_column_offset ... ok1730test pages::timesheet::tests::weekly_duration_edit_preserves_nine_am_start_notes_and_billability ... ok1731test pages::timesheet::tests::weekly_new_entries_are_untimed_and_explicit_clears_still_work ... ok1732test jobs::tests::cancellation_survives_a_crash_before_the_worker_acknowledges ... ok1733test notifications::tests::revoked_recipient_does_not_receive_a_pending_email ... ok1734test notifications::tests::verbose_sender_output_is_discarded_without_blocking_delivery ... ok1735test notifications::tests::stale_email_lease_cannot_start_delivery ... ok1736test plugin::database::tests::application_database_owner_is_not_a_plugin_identity ... ok1737test plugin::database::tests::dedicated_reader_is_accepted_but_new_write_grants_are_rejected ... ok1738test jobs::tests::expired_lease_cannot_renew_or_commit_using_an_old_transaction_timestamp ... ok1739test plugin::event::tests::active_transition_fires_only_on_a_real_flip ... ok1740test plugin::event::tests::budget_and_timer_events_serialize ... ok1741test plugin::event::tests::new_events_have_stable_hook_names ... ok1742test plugin::event::tests::project_membership_payload_excludes_private_configuration ... ok1743test plugin::event::tests::role_change_event_carries_previous_role ... ok1744test plugin::event::tests::submission_event_serializes_payload ... ok1745test plugin::event::tests::us2_events_have_stable_hook_names ... ok1746test plugin::database::tests::project_configuration_is_private_even_when_plugin_grants_are_misconfigured ... ok1747test plugin::host::tests::config_lookup::a_set_key_is_returned ... ok1748test plugin::host::tests::config_lookup::an_unset_key_is_none ... ok1749test plugin::database::tests::reader_accepts_optional_first_party_rounding_helper ... ok1750test plugin::database::tests::reader_cannot_execute_security_definer_functions ... ok1751test plugin::database::tests::reader_cannot_have_access_to_credentials ... ok1752test plugin::database::tests::reader_cannot_switch_into_another_role ... ok1753test plugin::host::tests::database_tests::unconfigured_sql_never_falls_back_to_application_state ... ok1754test plugin::database::tests::reader_rejects_unapproved_invoker_functions ... ok1755test plugin::host::tests::response_shaping::error_json_wraps_the_message ... ok1756test plugin::host::tests::response_shaping::http_body_accepts_the_size_limit_and_rejects_larger_responses ... ok1757test plugin::host::tests::response_shaping::http_response_carries_status_and_body ... ok1758test plugin::host::tests::response_shaping::invalid_http_utf8_is_an_error_not_an_empty_success ... ok1759test plugin::host::tests::statement_is_read_only::a_cte_select_is_allowed ... ok1760test plugin::host::tests::statement_is_read_only::a_second_statement_is_rejected ... ok1761test plugin::host::tests::statement_is_read_only::a_single_trailing_semicolon_is_allowed ... ok1762test plugin::host::tests::statement_is_read_only::a_write_hidden_behind_a_comment_is_rejected ... ok1763test plugin::host::tests::statement_is_read_only::plain_select_is_allowed ... ok1764test plugin::host::tests::statement_is_read_only::writes_are_rejected ... ok1765test plugin::host::tests::wrap_select::strips_a_trailing_semicolon_before_wrapping ... ok1766test plugin::host::tests::wrap_select::wraps_as_a_bounded_row_query ... ok1767test plugin::manifest::tests::accepts_all_published_business_events ... ok1768test plugin::manifest::tests::config_defaults_to_empty_when_absent ... ok1769test jobs::tests::missing_csv_upload_records_error_and_requeues ... ok1770test plugin::manifest::tests::parse_valid_manifest ... ok1771test plugin::manifest::tests::reject_empty_hooks ... ok1772test plugin::manifest::tests::reject_unknown_hook ... ok1773test plugin::manifest::tests::parses_optional_config_table ... ok1774test plugin::host::tests::database_queries_preserve_parameters_and_rollback_session_settings ... ok1775test plugin::host::tests::database_tests::query_discards_session_advisory_locks ... ok1776test importers::harvest::sync_tests::paging::durable_api_cancel_waits_for_the_producer_before_acknowledging ... ok1777test plugin::host::tests::database_tests::select_cannot_write_or_gain_application_privileges ... ok17781779running 1 test1780test plugin::host::tests::database_tests::query_results_are_bounded_without_silent_truncation ... ok1781test jobs::tests::submission_key_cannot_change_api_mode_or_scope ... ok1782test notifications::tests::sendmail_timeout_kills_and_reaps_the_child ... ok1783test plugin::registry::tests::isolation::cancelling_a_waiter_keeps_capacity_reserved_until_the_host_call_exits ... ok1784test plugin::registry::tests::isolation::confirmed_dispatch_attempts_other_plugins_after_one_fails ... ok1785test plugin::registry::tests::initialization::instruction_budget_is_replenished_for_each_call ... ok1786test plugin::registry::tests::isolation::confirmed_dispatch_returns_overload_for_retry ... ok1787test plugin::registry::tests::isolation::confirmed_dispatch_waits_for_the_plugin_to_finish ... ok1788test plugin::registry::tests::isolation::confirmed_dispatch_returns_plugin_failure_for_retry ... ok1789test plugin::registry::tests::isolation::events_execute_outside_the_async_worker ... ok1790test plugin::registry::tests::isolation::different_plugins_share_the_running_call_limit ... ok1791test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok17921793test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 829 filtered out; finished in 0.20s17941795test plugin::registry::tests::isolation::loaded_plugins_cannot_start_with_excessive_memory ... ok17961797running 1 test1798test plugin::registry::tests::isolation::loaded_plugins_cannot_grow_memory_past_the_limit ... ok1799test plugin::registry::tests::isolation::oversized_wasm_output_is_rejected_before_copying_it ... ok1800test plugin::registry::tests::isolation::pending_capacity_rejects_new_work_without_spawning_tasks ... ok1801test plugin::registry::tests::isolation::widgets_execute_outside_the_async_worker ... ok1802test plugin::registry::tests::load_empty_directory ... ok1803test plugin::registry::tests::load_nonexistent_directory ... ok1804test plugin::registry::tests::isolation::oversized_event_payloads_are_not_queued ... ok1805test render::tests::invoice_template_formats_large_minor_units_exactly ... ok1806test reports::bounded::tests::cancelled_export_keeps_its_slot_until_the_renderer_exits ... ok1807test reports::bounded::tests::export_admission_stays_reserved_until_the_body_is_dropped ... ok1808test reports::bounded::tests::export_rendering_runs_off_the_async_worker ... ok1809test reports::bounded::tests::output_budget_checks_writes_and_seeks_without_truncation ... ok1810test reports::bounded::tests::rendered_output_limit_rejects_oversized_files_and_releases_admission ... ok1811test reports::bounded::tests::renderer_errors_and_panics_release_admission ... ok1812test jobs::tests::cancellation_waits_for_the_claimed_execution_before_allowing_retry ... ok1813test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok18141815test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 829 filtered out; finished in 0.15s181618171818running 1 test1819test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_matches_existing_and_new_rows_with_one_connection ... ok1820test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok18211822test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 829 filtered out; finished in 0.16s182318241825running 1 test1826test plugin::host::tests::database_tests::wasm_host_uses_the_restricted_connection_on_a_current_thread_runtime ... ok1827test importers::harvest::sync_tests::checkpoints::durable_api_preview_preserves_adoptions_and_repeated_ids_across_recovery ... ok1828test importers::harvest::sync_tests::scale::http_pages_preview_commit_and_reimport ... ok1829test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok18301831test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 829 filtered out; finished in 0.32s18321833test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok1834test importers::harvest::sync_tests::scale::durable_measurement_finishes_from_its_eof_checkpoint ... ok1835test jobs::tests::failed_csv_preview_retains_confirmed_report_through_history_and_retry ... ok1836test plugin::registry::tests::dispatch_event_with_no_subscribers ... ok1837test plugin::registry::tests::load_test_plugins ... ok1838test reports::limits::tests::measure_bounded_export_limits ... ignored, manual release export measurement; set HORAE_EXPORT_PROBE_DIR for artifacts1839test plugin::registry::tests::collect_widgets_from_echo_plugin ... ok1840test jobs::tests::cleanup_retains_retryable_uploads_and_deletes_expired_jobs ... ok1841test reports::bounded::tests::timed_out_export_keeps_its_slot_until_the_renderer_exits ... ok1842test jobs::tests::csv_job_persists_its_policy_with_the_upload ... ok1843test harvest::tests::imported_legacy_rates_survive_retry_in_harvest_list_and_detail ... ok1844test reports::streaming::database_tests::measure_streaming_csv_export ... ignored, Manual release measurement of a 100,000-row CSV download1845test reports::limits::tests::bounded_exports_preserve_real_workbooks_and_deterministic_pdf ... ok1846test plugin::registry::tests::failing_plugin_does_not_block_caller ... ok1847test plugin::registry::tests::dispatch_to_echo_plugin_succeeds ... ok1848test plugin::registry::tests::dispatch_invoice_sent_to_echo_plugin ... ok1849test plugin::host::tests::a_query_cannot_disable_its_own_deadline ... ok1850test plugin::registry::tests::isolation::a_wasm_timeout_releases_the_worker_and_instance ... ok1851test importers::harvest::sync_tests::scale::durable_api_report_preserves_overflow_errors_after_recovery ... ok1852test reports::streaming::tests::completed_csv_keeps_admission_until_body_drop ... ok1853test reports::streaming::tests::csv_backpressure_and_body_drop_bound_and_cancel_source_reads ... ok1854test reports::streaming::tests::csv_does_not_truncate_a_quoted_unicode_record_larger_than_a_chunk ... ok1855test reports::streaming::tests::csv_emits_a_chunk_before_the_source_finishes ... ok1856test reports::streaming::tests::csv_failure_or_panic_after_a_chunk_is_not_successful_eof ... ok1857test reports::streaming::tests::csv_startup_errors_are_http_errors_and_release_admission ... ok1858test reports::limits::tests::export_queries_are_read_only_and_have_a_database_deadline ... ok1859test reports::streaming::tests::dropping_csv_during_startup_cancels_the_producer ... ok1860test route::tests::client_detail_preserves_identity_and_highlights_only_clients ... ok1861test route::tests::client_workflow_paths_preserve_context_and_navigation_section ... ok1862test route::tests::edit_project_preserves_identity_and_highlights_only_projects ... ok1863test route::tests::malformed_context_reaches_the_workflow_for_validation_after_recovery ... ok1864test route::tests::new_project_is_static_and_highlights_only_projects ... ok1865test jobs::tests::api_job_keeps_its_policy_across_duplicate_enqueue_and_manual_retry ... ok1866test reports::privacy_tests::unauthorized_project_text_does_not_affect_export_size_limits ... ok1867test reports::streaming::tests::csv_timeout_interrupts_an_already_started_body ... ok1868test reports::streaming::database_tests::dropping_streamed_timesheet_closes_its_database_connection ... ok1869test jobs::tests::submission_key_cannot_change_csv_bytes_or_mode ... ok1870test reports::limits::tests::bounded_projects_filter_archives_before_size_checks ... ok1871test jobs::tests::failed_csv_commit_retains_confirmed_report_through_history_and_retry ... ok1872test reports::limits::tests::bounded_invoice_limits_include_branding_and_preserve_tenant_scope ... ok1873test server_fns::approvals::submission_tests::cancelling_a_submission_releases_its_write_barrier ... ok1874test jobs::report::tests::legacy_upgrade_preserves_job_states_and_existing_archives ... ok1875test server_fns::approvals::submission_tests::submission_accepts_the_organizations_sunday_start ... ok1876test server_fns::approvals::submission_tests::submission_barrier_allows_shared_writers_for_the_same_user ... ok1877test server_fns::approvals::submission_tests::submission_does_not_wait_for_another_users_writer ... ok1878test server_fns::approvals::submission_tests::submission_freezes_the_minutes_after_a_competing_edit ... ok1879test server_fns::approvals::submission_tests::submission_rejects_a_start_that_is_not_the_organizations_week_start ... ok1880test server_fns::approvals::submission_tests::submission_uses_one_pool_connection ... ok1881test server_fns::approvals::submission_tests::submission_waits_for_a_new_timer_before_checking_the_week ... ok1882test reports::limits::tests::bounded_entries_enforce_the_row_limit_after_all_filters ... ok1883test server_fns::approvals::tests::ignores_stopped_and_out_of_week_timers ... ok1884test server_fns::approvals::tests::sees_a_running_timer_inside_the_week ... ok1885test seed::tests::concurrent_init_and_seed_cannot_mix_organizations ... ok1886test server_fns::budget_tests::budget_notification_schema_enforces_tenants_and_no_public_access ... ok1887test server_fns::budget_tests::concurrent_budget_checks_have_one_band_claimant ... ok1888test server_fns::budget_tests::configured_alert_and_outbox_roll_back_together ... ok1889test jobs::tests::expired_final_attempt_fails_without_claiming_again ... ok1890test server_fns::budget_tests::configured_alert_recipients_are_active_same_org_managers_and_project_leads ... ok1891test server_fns::budget_tests::configured_alerts_deduplicate_concurrent_checks_and_recrossing ... ok1892test server_fns::budget_tests::configured_amount_budget_uses_resolved_rates_and_explicit_zero ... ok1893test server_fns::budget_tests::configured_alerts_require_enabled_active_project_and_authorized_recipient ... ok1894test jobs::tests::invalid_policy_cannot_enqueue_a_job_or_upload ... ok1895test server_fns::budget_tests::configured_budget_does_not_read_foreign_or_legacy_projects ... ok1896test server_fns::budget_tests::configured_budget_sweep_recovers_missed_checks_without_duplicates ... ok1897test server_fns::budget_tests::configured_nonbillable_projects_count_time_without_hidden_checkbox ... ok1898test server_fns::budget_tests::configured_monthly_budget_excludes_other_months_and_nonbillable_time ... ok1899test server_fns::budget_tests::configured_monthly_budget_includes_leap_day_and_preserves_locked_rounding ... ok1900test reports::streaming::database_tests::streamed_fee_invoice_has_no_fabricated_hours_or_hourly_rate ... ok1901test server_fns::budget_tests::configured_person_budget_excludes_other_people_and_has_its_own_alert ... ok1902test server_fns::budget_tests::configured_task_and_person_budgets_do_not_share_consumption ... ok1903test server_fns::budget_tests::configured_task_fee_budget_respects_billability_and_alert_scope ... ok1904test server_fns::clients::tests::both_activation_transitions_change_once_and_preserve_details ... ok1905test jobs::tests::synthetic_job_executes_through_claim_and_completion ... ok1906test server_fns::budget_tests::overview_budget_progress_includes_people_without_an_allowance ... ok1907test server_fns::clients::tests::client_default_rate_allows_detail_edits_and_equivalent_currency ... ok1908test server_fns::budget_tests::overview_budget_progress_batches_projects_without_mixing_scopes ... ok1909test server_fns::budget_tests::overview_budget_progress_is_current_period_scoped_and_authorized ... ok1910test server_fns::clients::tests::client_default_rate_prevents_currency_relabelling ... ok1911test server_fns::clients::tests::client_details_distinguish_unset_zero_and_positive_manager_rates ... ok1912test server_fns::clients::tests::client_details_keep_catalog_identity_but_omit_member_billing ... ok1913test server_fns::clients::tests::client_details_hide_foreign_missing_and_inactive_actor_records ... ok1914test server_fns::clients::tests::client_invoices_keep_exact_client_scope_statuses_and_currencies ... ok1915test server_fns::clients::tests::client_invoices_reject_a_winning_concurrent_revocation ... ok1916test server_fns::clients::tests::client_summaries_exclude_foreign_clients_and_unreadable_project_currencies ... ok1917test server_fns::clients::tests::client_invoices_require_manager_authority_even_without_invoices ... ok1918test server_fns::clients::tests::client_invoices_hold_authority_until_the_read_finishes ... ok1919test server_fns::clients::tests::client_summaries_keep_catalog_without_projects_and_count_archived_projects ... ok1920test server_fns::clients::tests::concurrent_deletion_is_not_an_unchanged_mutation ... ok1921test server_fns::clients::tests::client_summaries_reject_a_foreign_actor_even_when_client_org_is_known ... ok1922test server_fns::clients::tests::client_summaries_follow_existing_progress_visibility_and_revoke_inactive_users ... ok1923test jobs::report::stream_tests::download_keeps_its_snapshot_when_later_progress_archives_the_inline_tail ... ok1924test server_fns::clients::tests::missing_and_foreign_clients_are_not_noops ... ok1925test server_fns::clients::tests::each_field_changes_once_and_preserves_inactive_status ... ok1926test server_fns::clients::tests::profile_create_persists_normalized_identity_and_exact_optional_rate ... ok1927test server_fns::clients::tests::currency_edit_rechecks_a_concurrently_added_client_default_rate ... ok1928test server_fns::clients::tests::profile_saves_recheck_manager_org_and_active_actor ... ok1929test server_fns::clients::tests::profile_saves_reject_invalid_input_without_partial_writes ... ok1930test server_fns::clients::tests::profile_noop_preserves_row_and_returns_no_update_event_signal ... ok1931test server_fns::clients::tests::profile_currency_change_without_a_rate_keeps_it_unset ... ok1932test seed::tests::concurrent_seed_runs_create_only_one_demo ... ok1933test server_fns::clients::tests::profile_update_preserves_historical_rows_and_inactive_status ... ok1934test server_fns::clients::tests::profile_update_rechecks_authority_after_waiting_for_a_concurrent_demotion ... ok1935test server_fns::clients::tests::profile_update_rejects_stale_rate_even_when_the_target_currency_is_unchanged ... ok1936test server_fns::importers::authorization_tests::cli_job_endpoints_have_stable_registered_paths ... ok1937test server_fns::clients::tests::profile_update_rejects_stale_currency_even_when_the_rate_is_still_unset ... ok1938test server_fns::clients::tests::profile_update_rechecks_financial_snapshot_after_waiting_for_a_concurrent_edit ... ok1939test server_fns::importers::authorization_tests::report_stress::large_report_streams_over_http_without_buffering_the_archive ... ignored, isolated Linux HTTP/memory stress; run with --release --exact --ignored --nocapture1940test server_fns::importers::authorization_tests::request_bound_import_endpoints_are_not_registered ... ok1941test server_fns::importers::csv_upload::tests::csv_upload_extractor_preserves_raw_bytes ... ok1942test server_fns::importers::csv_upload::tests::csv_upload_requires_its_header_without_reading_the_body ... ok1943test server_fns::importers::tests::concurrent_api_import_returns_a_retryable_conflict ... ok1944test server_fns::importers::tests::submission_identity_rejects_expired_future_and_non_v7_keys ... ok1945test server_fns::importers::tests::csv_route_rejects_invalid_modes_and_headers_without_reading_uploads ... ok1946test server_fns::clients::tests::repeating_a_competing_edit_does_not_report_a_change ... ok1947test server_fns::clients::tests::repeating_a_competing_deactivation_does_not_report_a_transition ... ok1948test server_fns::clients::tests::unchanged_activation_preserves_the_row ... ok1949test server_fns::clients::tests::profile_update_requires_explicit_rate_intent_for_currency_changes ... ok1950test jobs::tests::stopped_worker_leaves_queued_jobs_unclaimed ... ok1951test server_fns::clients::tests::restoring_a_competing_deactivation_reports_reactivation ... ok1952test server_fns::clients::tests::restoring_values_after_a_competing_edit_reports_a_change ... ok1953test server_fns::clients::tests::unchanged_edit_preserves_the_row ... ok1954test server_fns::invoices::fee_tests::concurrent_invoices_claim_a_single_fee_once ... ok1955test seed::tests::seed_leaves_an_older_or_partial_demo_unchanged ... ok1956test server_fns::invoices::fee_tests::fee_invoice_does_not_claim_hours_or_another_clients_fee ... ok1957test server_fns::invoices::fee_tests::fee_occurrence_rejects_cross_organization_project ... ok1958test jobs::outbox::tests::worker_delivers_available_events_and_stops_cleanly ... ok1959test server_fns::invoices::fee_tests::fee_total_overflow_rolls_back_occurrences_and_invoice ... ok1960test server_fns::invoices::fee_tests::invoice_line_sources_reject_mixed_sources_and_invented_fee_quantities ... ok1961test reports::streaming::database_tests::streamed_projects_preserve_scope_budget_and_tenant_isolation ... ok1962test server_fns::invoices::fee_tests::milestones_include_unbilled_overdue_fees_but_not_future_fees ... ok1963test harvest::pagination_tests::harvest_task_access_filters_counts_and_preserves_rate_free_history ... ok1964test jobs::tests::outbox_stale_claims_cannot_acknowledge_or_reschedule_delivery ... ok1965test server_fns::invoices::fee_tests::monthly_fees_use_calendar_dates_and_skip_already_claimed_months ... ok1966test seed::tests::late_seed_failure_rolls_back_all_demo_data ... ok1967test server_fns::invoices::fee_tests::monthly_first_and_fifteenth_respect_partial_period_and_project_end ... ok1968test server_fns::invoices::fee_tests::fee_preview_discount_ties_follow_source_keys_not_display_dates ... ok1969test reports::streaming::database_tests::streamed_timesheet_preserves_csv_escaping_frozen_zero_and_all_filters ... ok1970test harvest::pagination_tests::harvest_project_progress_permissions_cover_counts_pages_and_details ... ok1971test reports::streaming::database_tests::streamed_timesheet_exceeds_xlsx_row_limit_without_one_large_body_chunk ... ok1972test reports::limits::tests::fee_exports_preserve_absent_quantities_and_render_a_real_pdf ... ok1973test reports::limits::tests::bounded_entries_reject_large_fields_and_combined_text ... ok1974test seed::tests::seed_refuses_an_initialized_organization_without_writes ... ok1975test server_fns::invoices::fee_tests::single_fee_can_be_invoiced_without_time ... ok1976test server_fns::invoices::fee_tests::project_fee_context_keeps_monthly_balances_separate ... ok1977test server_fns::invoices::fee_tests::void_releases_fee_identity_without_rewriting_the_original_line ... ok1978test server_fns::invoices::preview::tests::excess_rejects_an_unrepresentable_total_even_when_the_remainder_fits ... ok1979test server_fns::invoices::preview::tests::unselected_fee_currencies_do_not_relabel_or_block_selected_charges ... ok1980test server_fns::invoices::fee_tests::reviewed_generation_rejects_changed_time_before_claiming_it ... ok1981test reports::streaming::database_tests::a_real_database_error_interrupts_the_csv_body ... ok1982test server_fns::invoices::tests::configured_fixed_fee_hours_are_not_invoiced_but_legacy_fees_are_unchanged ... ok1983test server_fns::invoices::tests::billing_cascade_agrees_across_all_four_levels_including_zero ... ok1984test server_fns::invoices::tests::configured_project_currency_and_cost_override_keep_their_denominations ... ok1985test server_fns::invoices::fee_tests::reviewed_generation_requires_exact_excess_and_current_authority ... ok1986test server_fns::invoices::tests::effective_minutes_migration_preserves_historical_invoice_quantities ... ok1987test server_fns::invoices::fee_tests::settled_fee_sources_remain_reviewable_without_automatic_charges ... ok1988test reports::streaming::database_tests::streamed_invoice_metadata_and_lines_share_one_snapshot ... ok1989test server_fns::invoices::tests::effective_minutes_sql_matches_domain_rounding ... ok1990test reports::limits::tests::invoice_exports_show_saved_adjustments_and_exact_large_amounts ... ok1991test jobs::tests::invalid_stored_payloads_reach_a_terminal_error ... ok1992test server_fns::invoices::tests::imported_rates::imported_legacy_project_keeps_exact_rates_and_totals_on_retry ... ok1993test server_fns::invoices::tests::invoice_defaults_apply_exact_adjustments_and_payment_terms ... ok1994test server_fns::invoices::tests::invoice_defaults_validate_all_override_fields ... ok1995test server_fns::invoices::tests::invoice_line_overflow_leaves_time_unbilled ... ok1996test server_fns::invoices::fee_tests::zero_fee_is_invoiced_once_until_voided ... ok1997test seed::tests::seed_refuses_a_second_organization_even_when_the_demo_exists ... ok1998test jobs::tests::outbox_rollback_does_not_publish_an_event ... ok1999test server_fns::invoices::tests::imported_rates::imported_task_rates_require_matching_currency_only_for_new_configured_links ... ok2000test server_fns::invoices::tests::invoice_total_overflow_leaves_all_time_unbilled ... ok2001test server_fns::invoices::fee_tests::fee_preview_keeps_source_identity_and_reports_discounted_draft_balances ... ok2002test server_fns::invoices::tests::invoice_transitions_reject_invalid_states_and_foreign_organizations ... ok2003test server_fns::invoices::tests::invoice_defaults_conflict_rolls_back_all_claims ... ok2004test server_fns::invoices::tests::invoiced_amounts_survive_rate_changes_and_void_uses_current_rates ... ok2005test server_fns::invoices::tests::invoicing_leaves_running_time_open ... ok2006test server_fns::invoices::tests::invoiced_billability_survives_later_project_changes ... ok2007test server_fns::invoices::tests::invoicing_uses_and_freezes_effective_minutes ... ok2008test harvest::pagination_tests::harvest_pagination_empty_and_out_of_range_pages_keep_the_contract ... ok2009test server_fns::invoices::tests::mixed_project_currencies_cannot_partially_create_an_invoice ... ok2010test server_fns::invoices::tests::large_invoice_and_reports_agree_without_intermediate_overflow ... ok2011test server_fns::invoices::tests::only_running_time_does_not_create_an_invoice ... ok2012test server_fns::invoices::tests::imported_rates::rejected_import_rate_does_not_poison_the_next_row_or_its_catalog_rate ... ok2013test server_fns::invoices::tests::non_billable_context_produces_no_unbilled_amount_on_any_report ... ok2014test server_fns::invoices::tests::project_rate_is_used_by_invoices_reports_and_spend ... ok2015test server_fns::invoices::tests::void_reopens_time_without_stale_rounding ... ok2016test server_fns::invoices::tests::void_waits_for_a_concurrent_payment_and_then_refuses ... ok2017test server_fns::invoices::tests::selected_project_rate_modes_agree_across_billing_consumers ... ok2018test server_fns::invoices::fee_tests::project_fee_context_matches_invoice_balances_and_current_authority ... ok2019test server_fns::organization::tests::each_branding_field_changes_once_including_null_and_empty ... ok2020test server_fns::organization::tests::missing_organization_is_not_an_unchanged_update ... ok2021test server_fns::organization::tests::repeating_a_competing_branding_edit_does_not_report_a_change ... ok2022test server_fns::organization::tests::unchanged_branding_preserves_the_row ... ok2023test server_fns::project_creation::assignment_tests::finalization_reuses_catalog_and_keeps_lead_overrides_local_on_retry ... ok2024test jobs::tests::concurrent_csv_resubmission_preserves_identity_after_upload_cleanup ... ok2025test server_fns::organization::tests::restoring_branding_after_a_competing_edit_reports_a_change ... ok2026test server_fns::project_creation::assignment_tests::invalid_assignment_graphs_leave_no_partial_creation_or_draft_change ... ok2027test server_fns::project_creation::editing::tests::concurrent_edits_have_one_winner_and_association_writes_invalidate_open_forms ... ok2028test server_fns::project_creation::editing::tests::editor_keeps_archived_selected_identities_and_nullable_overrides ... ok2029test server_fns::project_creation::editing::tests::editor_loads_legacy_values_without_fabricating_a_billing_mode_or_draft ... ok2030test server_fns::project_creation::editing::tests::editor_preserves_fee_schedule_and_operational_milestone_ids ... ok2031test server_fns::project_creation::editing::tests::editing_milestones_keeps_invoice_snapshots_and_fee_identities_immutable ... ok2032test server_fns::invoices::tests::invoice_defaults_edit_rechecks_status_after_waiting_for_a_concurrent_send ... ok2033test server_fns::project_creation::editing::tests::editor_rechecks_tenant_role_and_active_status ... ok2034test server_fns::project_creation::editing::tests::editor_recovers_each_budget_scope_without_turning_absence_into_zero ... ok2035test server_fns::project_creation::editing::tests::editor_recovers_full_configuration_and_redacts_private_values_after_role_change ... ok2036test server_fns::project_creation::editing::tests::foreign_actor_cannot_save_or_retry_another_organizations_edit ... ok2037test server_fns::project_creation::editing::tests::manager_edit_preserves_private_settings_and_cannot_remove_them_indirectly ... ok2038test server_fns::project_creation::editing::tests::save_preserves_recorded_time_and_rejects_removing_its_task_or_person ... ok2039test server_fns::project_creation::editing::tests::save_edits_the_same_legacy_project_and_never_creates_a_draft_or_configuration ... ok2040test server_fns::invoices::tests::invoice_preview_requires_explicit_resolution_and_scopes_selected_projects ... ok2041test server_fns::project_creation::editing::tests::save_updates_configured_sections_atomically_and_rejects_stale_or_invalid_edits ... ok2042test server_fns::project_creation::editing::tests::saves_recheck_current_authority_and_do_not_repeat_noops ... ok2043test server_fns::project_creation::tests::client_dialog_validates_details_and_persists_an_explicit_zero_rate ... ok2044test server_fns::project_creation::tests::creation_actor_is_revalidated_inside_the_transaction ... ok2045test server_fns::project_creation::editing::tests::task_catalog_and_graph_changes_roll_back_together_on_duplicate_resolution ... ok2046test server_fns::project_creation::tests::billing_schema_rejects_partial_fee_schedules ... ok2047test jobs::report::tests::report_fragments_survive_until_the_owning_job_expires ... ok2048test server_fns::project_creation::tests::creation_options_are_scoped_bounded_and_redact_manager_costs ... ok2049test server_fns::project_creation::tests::draft_validation_preserves_incomplete_input_but_bounds_its_size ... ok2050test server_fns::project_creation::tests::creation_client_must_be_active_and_in_the_same_organization ... ok2051test server_fns::project_creation::tests::final_validation_checks_invoice_defaults_and_scoped_budget_totals ... ok2052test server_fns::project_creation::tests::final_validation_preserves_exact_budgets_and_rejects_unavailable_email ... ok2053test server_fns::project_creation::tests::final_validation_requires_complete_fee_schedules_and_distinct_entities ... ok2054test server_fns::project_creation::tests::final_validation_requires_real_details_and_ignores_hidden_type_settings ... ok2055test server_fns::project_creation::tests::draft_schema_enforces_one_current_draft_per_creator ... ok2056test server_fns::project_creation::tests::draft_save_retries_do_not_overwrite_a_newer_revision ... ok2057test server_fns::project_creation::tests::draft_ownership_discard_and_role_changes_are_enforced ... ok2058test server_fns::project_creation::tests::draft_schema_rejects_foreign_creator_and_completed_project ... ok2059test server_fns::project_creation::tests::managers_cannot_store_administrator_notes_or_costs_in_a_draft ... ok2060test server_fns::project_creation::tests::draft_schema_rejects_oversize_payload_and_invalid_revision ... ok2061test reports::limits::tests::tag_filter_applies_before_xlsx_size_checks_and_rendering ... ok2062test server_fns::project_creation::tests::existing_projects_have_no_implicit_new_billing_configuration ... ok2063test server_fns::project_creation::tests::finalization_persists_task_access_and_project_only_financial_overrides ... ok2064test server_fns::project_creation::tests::finalize_is_atomic_and_repeated_submission_returns_one_project ... ok2065test server_fns::project_creation::tests::selected_catalog_bounds_requests_and_excludes_inactive_people ... ok2066test server_fns::project_creation::validation::tests::assignment_rejections_identify_the_invalid_row ... ok2067test server_fns::project_creation::tests::invalid_task_rolls_back_project_and_keeps_the_draft ... ok2068test server_fns::project_creation::validation::tests::basic_rejections_identify_the_field_without_echoing_input ... ok2069test server_fns::project_creation::tests::finalization_rechecks_client_role_revision_and_rate_currency ... ok2070test server_fns::project_creation::validation::tests::inactive_billing_inputs_remain_in_the_draft_without_blocking_creation ... ok2071test server_fns::project_creation::validation::tests::billing_rejections_identify_the_active_control ... ok2072test server_fns::project_creation::validation::tests::non_billable_projects_ignore_hidden_invoice_inputs ... ok2073test server_fns::project_creation::validation::tests::invoice_rejections_identify_the_field_without_echoing_input ... ok2074test server_fns::project_creation::validation::tests::task_name_and_access_rejections_identify_the_invalid_row ... ok2075test server_fns::project_creation::validation::tests::milestone_rejections_target_the_invalid_row_by_identity ... ok2076test server_fns::projects::bulk_tests::bulk_ids_validate_before_writes_and_normalize_duplicates ... ok2077test server_fns::project_creation::tests::missing_draft_responses_do_not_disclose_foreign_ownership ... ok2078test server_fns::project_creation::tests::selected_catalog_is_scoped_deduplicated_and_redacts_manager_costs ... ok2079test server_fns::invoices::fee_tests::reviewed_generation_bills_partial_fees_and_rejects_stale_balances ... ok2080test server_fns::project_creation::tests::simultaneous_draft_updates_have_one_winner ... ok2081test server_fns::projects::bulk_tests::bulk_missing_or_foreign_project_rolls_back_earlier_changes ... ok2082test server_fns::projects::bulk_tests::bulk_accepts_one_hundred_projects_and_mixed_status_noops ... ok2083test server_fns::projects::bulk_tests::bulk_preserves_invoiced_history_assignments_and_spend ... ok2084test server_fns::project_creation::tests::selected_client_lookup_is_scoped_and_keeps_archived_identity ... ok2085test server_fns::projects::bulk_tests::bulk_database_failure_rolls_back_earlier_changes ... ok2086test server_fns::projects::bulk_tests::bulk_reversed_overlapping_batches_finish_without_deadlock ... ok2087test server_fns::projects::bulk_tests::bulk_status_preserves_details_history_and_noop_versions ... ok2088test server_fns::invoices::tests::invoice_defaults_legacy_insert_preserves_dates_and_exact_total ... ok2089test server_fns::projects::mutation_tests::project::concurrent_deletion_is_rejected_by_both_mutations ... ok2090test server_fns::projects::mutation_tests::project::both_activation_transitions_preserve_details_and_change_once ... ok2091test server_fns::projects::mutation_tests::project::budgets_and_rates_distinguish_null_zero_and_normalized_values ... ok2092test server_fns::projects::mutation_tests::project::configured_edits_recheck_settings_after_waiting_for_the_project ... ok2093test server_fns::projects::mutation_tests::project::configured_edits_preserve_non_hourly_billing ... ok2094test server_fns::projects::mutation_tests::project::configured_edits_preserve_compatible_changes_and_idempotence ... ok2095test server_fns::projects::mutation_tests::project::configured_edits_reject_incompatible_financial_changes_atomically ... ok2096test server_fns::project_creation::import_tests::imported_catalog_rate_cannot_be_relabelled_as_workspace_currency ... ok2097test server_fns::projects::mutation_tests::project::inactive_project_edits_preserve_identity_and_reject_implicit_migrations ... ok2098test server_fns::projects::mutation_tests::project::invalid_project_fields_leave_the_row_unchanged ... ok2099test server_fns::projects::mutation_tests::project::repeating_a_competing_deactivation_reports_no_transition ... ok2100test server_fns::projects::mutation_tests::project::missing_and_foreign_rows_are_not_noops ... ok2101test server_fns::projects::mutation_tests::project::repeating_a_competing_edit_requires_a_fresh_revision ... ok2102test server_fns::projects::mutation_tests::project::restoring_a_competing_deactivation_reports_reactivation ... ok2103test server_fns::projects::mutation_tests::project::unchanged_activation_preserves_the_row ... ok2104test server_fns::projects::mutation_tests::project::restoring_a_competing_edit_does_not_overwrite_the_other_session ... ok2105test server_fns::invoices::tests::invoice_defaults_are_invoice_owned_and_only_drafts_are_editable ... ok2106test server_fns::projects::mutation_tests::project::unchanged_edit_preserves_the_row ... ok2107test server_fns::projects::mutation_tests::task::each_detail_field_changes_once_and_preserves_inactive_status ... ok2108test server_fns::projects::mutation_tests::task::both_activation_transitions_preserve_details_and_change_once ... ok2109test server_fns::projects::mutation_tests::task::missing_and_foreign_rows_are_not_noops ... ok2110test server_fns::projects::mutation_tests::task::concurrent_deletion_returns_not_found_for_both_mutations ... ok2111test server_fns::projects::mutation_tests::task::rate_edits_set_currency_without_relabelling_renames_or_noops ... ok2112test server_fns::projects::mutation_tests::task::repeating_a_competing_edit_does_not_report_a_change ... ok2113test server_fns::projects::mutation_tests::task::repeating_a_competing_deactivation_reports_no_transition ... ok2114test server_fns::projects::mutation_tests::task::restoring_a_competing_deactivation_reports_reactivation ... ok2115test jobs::tests::final_failure_is_retained_and_manual_retry_gets_a_new_budget ... ok2116test server_fns::projects::mutation_tests::task::restoring_a_competing_edit_reports_a_change ... ok2117test server_fns::projects::mutation_tests::task::unchanged_activation_preserves_the_row ... ok2118test server_fns::projects::mutation_tests::task::unchanged_edit_preserves_the_row ... ok2119test server_fns::projects::privacy_tests::client_project_filter_preserves_progress_access_and_rate_redaction ... ok2120test server_fns::projects::privacy_tests::legacy_members_retain_progress_without_new_settings ... ok2121test server_fns::projects::privacy_tests::outsiders_and_inactive_viewers_have_no_project_reads ... ok2122test server_fns::projects::privacy_tests::private_progress_does_not_prevent_tracking_or_reveal_financial_fields ... ok2123test jobs::tests::reclaimed_attempt_rejects_stale_results_even_with_the_same_worker_name ... ok2124test server_fns::projects::privacy_tests::project_members_and_leads_receive_progress_without_rates ... ok2125test server_fns::projects::privacy_tests::revoked_membership_preserves_only_own_historical_tracking_identity ... ok2126test server_fns::projects::tests::creating_a_project_task_enables_it_with_its_defaults ... ok2127test server_fns::projects::tests::assignments_are_scoped_to_the_viewers_organization ... ok2128test server_fns::projects::tests::project_rate_distinguishes_inheritance_zero_and_exact_amounts ... ok2129test server_fns::projects::privacy_tests::project_reads_use_current_authority_and_reject_foreign_scope ... ok2130test server_fns::projects::tests::enabling_is_tenant_scoped_even_for_existing_links_and_preserves_overrides ... ok2131test server_fns::projects::tests::enabling_tasks_accepts_exact_project_currency_rates_and_preserves_existing_links ... ok2132test server_fns::projects::tests::enabling_tasks_rejects_incompatible_catalog_currency ... ok2133test server_fns::projects::tests::enabling_tasks_only_inherits_rates_used_by_configured_projects ... ok2134test server_fns::projects::tests::enabling_tasks_rejects_invalid_or_wrong_currency_explicit_rates_without_linking ... ok2135test server_fns::projects::tests::enabling_tasks_rejects_explicit_rates_unused_by_the_project ... ok2136test server_fns::projects::tests::failed_project_task_creation_leaves_no_orphan_task ... ok2137test server_fns::projects::tests::managers_and_admins_can_read_assignment_rates ... ok2138test server_fns::time_entries::tests::a_limit_bounds_a_listing_on_its_own ... ok2139test server_fns::projects::tests::members_can_list_identities_but_not_assignment_rates ... ok2140test server_fns::projects::tests::project_rate_helper_has_no_public_execute_grant ... ok2141test server_fns::projects::tests::project_rate_sql_matches_rust_for_missing_zero_and_present_sources ... ok2142test server_fns::projects::tests::unknown_catalog_currency_requires_explicit_configured_rates_but_preserves_legacy ... ok2143test server_fns::time_entries::tests::an_unlimited_listing_needs_both_ends_of_the_range ... ok2144test server_fns::invoices::fee_tests::prepared_fee_selection_rejects_invalid_values_and_empty_generation ... ok2145test server_fns::time_entries::tests::clamps_duration_against_the_snapped_start ... ok2146test server_fns::time_entries::tests::a_running_timer_cannot_be_moved_to_another_day ... ok2147test server_fns::time_entries::tests::an_open_entry_can_move_into_a_day_with_locked_time ... ok2148test server_fns::time_entries::tests::a_reorder_rejects_foreign_missing_timed_and_duplicate_ids ... ok2149test server_fns::time_entries::tests::admin_may_log_time_without_assignment ... ok2150test server_fns::time_entries::tests::assigned_member_may_log_time ... ok2151test server_fns::time_entries::tests::concurrent_timer_starts_insert_exactly_one_entry ... ok2152test seed::tests::concurrent_initializers_cannot_create_two_organizations ... ok2153test server_fns::time_entries::tests::rejects_out_of_range_start ... ok2154test server_fns::time_entries::tests::snaps_unaligned_start_to_the_grid ... ok2155test server_fns::time_entries::tests::inactive_project_cannot_accept_new_time_even_for_admin ... ok2156test jobs::tests::import_adapters_reject_a_lease_from_another_organization ... ok2157test server_fns::time_entries::tests::moving_locked_time_rejects_the_entire_reorder ... ok2158test server_fns::time_entries::tests::new_time_and_picker_require_a_project_task_link ... ok2159test server_fns::time_entries::tests::untimed_start_is_left_untouched ... ok2160test server_fns::time_entries::tests::new_time_and_picker_reject_inactive_or_foreign_contexts ... ok2161test server_fns::time_entries::tests::edits_preserve_archived_time_but_cannot_override_non_billability ... ok2162test server_fns::time_entries::tests::submission_barrier_blocks_edits_and_cross_week_reorders ... ok2163test server_fns::time_entries::tests::new_time_uses_effective_billability_for_manual_entries_and_timers ... ok2164test jobs::tests::outbox_same_kind_consumers_cannot_claim_the_same_lease ... ok2165test server_fns::time_entries::tests::unassigned_member_is_forbidden ... ok2166test server_fns::time_entries::update_tests::competing_edit_that_restores_old_values_still_reports_a_change ... ok2167test server_fns::time_entries::tests::submission_barrier_blocks_manual_entries_and_timer_starts ... ok2168test server_fns::time_entries::update_tests::each_editable_field_changes_once_including_nulls ... ok2169test server_fns::time_entries::update_tests::concurrent_lock_or_delete_is_rechecked_before_editing ... ok2170test server_fns::time_entries::update_tests::effective_billability_noop_preserves_the_row ... ok2171test server_fns::time_entries::update_tests::competing_identical_edit_is_a_noop_after_the_first_commit ... ok2172test server_fns::time_entries::update_tests::normalized_noop_preserves_the_row_and_updated_at ... ok2173test server_fns::time_entries::update_tests::restricted_empty_task_rejects_changes_and_noop_edits ... ok2174test server_fns::projects::details_tests::unlinked_and_private_project_tags_do_not_leak_into_filters ... ok2175test server_fns::time_entries::update_tests::missing_foreign_and_locked_entries_are_not_noops ... ok2176test server_fns::time_entries::update_tests::restricted_empty_task_rejects_picker_manual_and_timer_starts ... ok2177test server_fns::time_entries::update_tests::restricted_reordering_rejects_the_whole_batch ... ok2178test server_fns::time_entries::update_tests::restricted_task_rejects_reschedule_and_delete ... ok2179test server_fns::time_entries::update_tests::restriction_changes_are_rechecked_before_manual_or_timer_insertion ... ok2180test server_fns::time_entries::update_tests::revoked_grant_does_not_trap_an_own_running_timer ... ok2181test server_fns::time_entries::update_tests::revoked_timer_stop_preserves_the_open_state_guard ... ok2182test server_fns::users::tests::hide_rates_clears_both_rate_fields ... ok2183test server_fns::users::tests::concurrency::access_changes_cannot_target_another_organization ... ok2184test server_fns::users::tests::concurrency::unchanged_admin_access_is_allowed ... ok2185test server_fns::users::tests::concurrency::concurrent_deactivations_keep_an_active_admin ... ok2186test server_fns::users::tests::concurrency::concurrent_demotions_keep_an_active_admin ... ok2187test server_fns::users::tests::concurrency::the_last_admin_cannot_be_demoted_or_deactivated ... ok2188test server_fns::time_entries::update_tests::task_grant_revocation_committed_during_an_edit_is_rechecked ... ok2189test server_fns::users::tests::concurrency::deactivation_and_demotion_keep_an_active_admin ... ok2190test server_fns::users::tests::concurrency::demotion_and_deactivation_keep_an_active_admin ... ok2191test server_fns::reports::tests::manager_report_omits_groups_containing_private_project_costs ... ok2192test server_fns::time_entries::update_tests::task_grants_allow_tracking_and_archived_history_for_every_role ... ok2193test server_fns::invoices::fee_tests::invoice_preview_does_not_materialize_fees_and_preserves_released_snapshots ... ok2194test jobs::tests::missing_configuration_records_error_and_requeues ... ok2195test server_fns::projects::details_tests::project_details_only_offer_task_rate_currency_to_current_managers ... ok2196test server_fns::project_creation::import_tests::imports_preserve_finalized_project_configuration_and_restricted_access ... ok2197test server_fns::invoices::fee_tests::draft_fee_edit_requires_current_balance_and_exact_excess_confirmation ... ok2198test reports::limits::tests::export_size_checks_and_reads_share_a_repeatable_read_snapshot ... ok2199test server_fns::invoices::tests::invoice_preview_keeps_time_rates_and_defaults_in_one_snapshot ... ok2200test jobs::tests::outbox_claims_only_the_requested_event_kind ... ok2201test server_fns::invoices::fee_tests::reviewed_generation_does_not_materialize_unselected_months ... ok2202test server_fns::invoices::tests::invoice_defaults_selection_rejects_unavailable_projects_before_claiming ... ok2203test server_fns::invoices::fee_tests::invoice_defaults_apply_to_selected_fees_without_claiming_other_projects ... ok2204test server_fns::invoices::tests::invoice_preview_matches_generation_without_claiming_time ... ok2205test server_fns::invoices::fee_tests::mixed_time_and_fee_discount_conserves_cents_without_reopening_time ... ok2206test server_fns::invoices::fee_tests::draft_fee_edit_rejects_invalid_lines_and_current_unauthorized_actors ... ok2207test jobs::report::stream_tests::download_reads_only_when_consumed_and_releases_its_connection ... ok2208test server_fns::project_creation::editing::tests::editor_load_uses_current_role_across_all_billing_configurations ... ok2209test server_fns::importers::authorization_tests::job_endpoints_enforce_session_role_and_organization ... ok2210test server_fns::projects::details_tests::project_details_and_tags_follow_current_progress_and_private_permissions ... ok2211test seed::tests::repeated_seed_preserves_every_row_and_user_edits ... ok2212test server_fns::reports::tests::report_uses_current_active_actor_and_tenant_for_every_filter ... ok2213test server_fns::invoices::fee_tests::invoice_status_rechecks_authority_after_waiting_for_the_invoice_lock ... ok2214test server_fns::invoices::tests::invoice_preview_rejects_large_results_instead_of_truncating_them ... ok2215test server_fns::invoices::fee_tests::concurrent_discounted_invoice_retries_return_one_invoice ... ok2216test server_fns::invoices::fee_tests::discounted_fee_leaves_a_balance_and_void_releases_only_its_contribution ... ok2217test server_fns::reports::tests::filters_and_renames_keep_report_identity_and_totals ... ok2218test jobs::report::tests::upgrading_legacy_reports_preserves_errors_and_fences_old_attempts ... ok2219test server_fns::invoices::fee_tests::draft_fee_edit_replaces_amount_and_preserves_source_and_retry_identity ... ok2220test jobs::report::stream_tests::download_reports_missing_fragments_after_its_buffered_page ... ok2221test server_fns::invoices::fee_tests::draft_fee_edit_serializes_retries_and_rejects_stale_revisions ... ok2222test server_fns::invoices::fee_tests::fee_balance_migration_allocates_discount_without_rewriting_invoice_snapshots ... ok2223test server_fns::reports::tests::same_names_keep_separate_groups_for_every_dimension ... ok2224test server_fns::reports::tests::shared_person_and_task_are_partitioned_by_currency ... ok2225test reports::streaming::database_tests::streamed_invoice_uses_stored_exact_cents_and_tenant_scoped_metadata ... ok2226test server_fns::reports::tests::tag_filters_keep_report_dimensions_and_details_in_sync ... ok2227test reports::privacy_tests::project_downloads_follow_progress_visibility ... ok2228test reports::streaming::database_tests::streamed_tag_filter_excludes_other_projects_without_duplicating_rows ... ok2229test server_fns::invoices::fee_tests::removing_discount_and_billing_the_remainder_cannot_both_succeed ... ok22302231test result: ok. 819 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out; finished in 45.91s22322233 Running tests/admin_shell.rs (target/debug/deps/admin_shell-ddb5423570a9e82d)22342235running 5 tests2236test failed_user_does_not_mount_admin_content ... ok2237test pending_user_does_not_mount_admin_content ... ok2238test members_and_managers_never_mount_admin_content ... ok2239test resolved_admin_mounts_the_workspace_and_outlet ... ok2240test retry_waits_for_fresh_authorization_then_recovers ... ok22412242test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s22432244 Running tests/cli_imports.rs (target/debug/deps/cli_imports-58ffc9baae5b0abd)22452246running 5 tests2247test invalid_remote_arguments_have_a_machine_readable_exit ... ok2248test remote_configuration_errors_are_json_and_do_not_load_server_configuration ... ok2249test executable_commands_use_the_documented_authenticated_wire_contract ... ok2250test interrupting_the_executable_waiter_keeps_job_identity_and_never_sends_cancel ... ok2251test executable_wait_and_failure_exit_codes_match_the_json_contract ... ok22522253test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.32s22542255 Running tests/cli_restart.rs (target/debug/deps/cli_restart-85243cc63cb76e93)22562257running 1 test2258test detached_csv_recovers_after_the_server_process_is_killed ... ok22592260test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s22612262 Running tests/detail_navigation.rs (target/debug/deps/detail_navigation-a03aadc1cb1f7a57)22632264running 44 tests2265test clients::filters::tests::clearing_query_preserves_selected_currency_and_lifecycle ... ok2266test clients::filters::tests::lifecycle_counts_share_query_and_currency_filters ... ok2267test clients::form::tests::ambiguous_creation_errors_require_explicit_recovery ... ok2268test clients::form::tests::clearing_a_rate_is_explicit_and_needs_no_currency_confirmation ... ok2269test clients::filters::tests::preferred_or_visible_project_currency_matches_but_query_still_applies ... ok2270test clients::filters::tests::name_search_ignores_case_and_surrounding_whitespace ... ok2271test clients::form::tests::invalid_fields_are_not_rewritten_by_validation ... ok2272test clients::form::tests::rate_replacement_requires_confirmation_in_the_current_currency ... ok2273test clients::form::tests::absent_billing_authority_never_produces_an_edit_payload ... ok2274test clients::form::tests::untouched_fields_keep_zero_rate_and_original_snapshot ... ok2275test invoices::defaults_form::tests::invoice_fields_preserve_receipt_terms_and_empty_optional_percentages ... ok2276test invoices::defaults_form::tests::invoice_fields_preserve_exact_percentages_and_custom_terms ... ok2277test invoices::defaults_form::tests::invoice_fields_bound_metadata_by_characters_and_reject_nul ... ok2278test invoices::preparation::fees::tests::refresh_keeps_raw_edits_and_does_not_select_new_sources ... ok2279test invoices::defaults_form::tests::invoice_fields_reject_invalid_percentages_terms_and_second_tax ... ok2280test invoices::preparation::fees::tests::fee_inputs_require_exact_amounts_and_an_explicit_positive_charge ... ok2281test invoices::preparation::tests::invoice_context_selects_only_the_exact_available_client ... ok2282test invoices::preparation::tests::invoice_review_requires_matching_sources_and_valid_values ... ok2283test invoices::preparation::fees::tests::refresh_preserves_missing_or_relabelled_edits_until_explicit_removal ... ok2284test invoices::preparation::tests::unavailable_or_malformed_invoice_context_never_uses_the_first_client ... ok2285test project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok2286test project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok2287test projects::budget_display_tests::configured_scopes_sum_without_hiding_an_individual_overrun ... ok2288test project_creation::tests::unknown_draft_fields_are_rejected ... ok2289test projects::budget_display_tests::unallocated_zero_and_overflow_budgets_are_not_conflated ... ok2290test projects::budget_display_tests::display_preserves_units_sign_and_large_integer_values ... ok2291test projects::budget_display_tests::tag_filter_matches_identity_without_duplicates_or_name_collisions ... ok2292test client_detail_distinguishes_unset_rate_from_known_zero_project_totals ... ok2293test invoice_detail_shows_saved_adjustments_and_payment_metadata ... ok2294test failed_client_invoices_keep_identity_and_projects_without_claiming_empty_results ... ok2295test client_project_failure_preserves_billing_and_invoices ... ok2296test pending_or_failed_navigation_never_shows_the_previous_invoice ... ok2297test member_client_detail_never_requests_invoices_or_displays_default_rates ... ok2298test client_project_totals_failure_does_not_invent_zero_or_hide_project_links ... ok2299test client_navigation_cancels_previous_pending_invoice_panel ... ok2300test pending_or_failed_client_navigation_never_shows_previous_identity_or_work ... ok2301test navigating_between_invoice_ids_loads_the_current_invoice ... ok2302test client_detail_links_use_current_client_and_preserve_member_boundaries ... ok2303test empty_project_list_links_to_the_importer_route ... ok2304test client_detail_navigation_loads_current_identity_billing_and_work ... ok2305test navigating_between_project_ids_loads_current_assignments_and_tasks ... ok2306test pending_or_failed_project_details_never_show_previous_metadata ... ok2307test project_creation_links_use_the_static_new_project_route ... ok2308test pending_or_failed_project_assignments_never_show_previous_assignments ... ok23092310test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s23112312 Running tests/import_jobs_ui.rs (target/debug/deps/import_jobs_ui-6abb216817613f55)23132314running 35 tests2315test importers::presentation::tests::no_selection_does_not_claim_no_import_history ... ok2316test importers::presentation::tests::interrupted_report_is_partial_regardless_of_retry_prerequisites ... ok2317test importers::presentation::tests::source_labels_do_not_guess_unknown_importers ... ok2318test importers::presentation::tests::summaries_distinguish_zero_skipped_and_mixed_outcomes ... ok2319test importers::presentation::tests::states_and_phases_have_readable_unknown_fallbacks ... ok2320test unselected_connected_importer_does_not_claim_an_empty_history ... ok2321test configured_unbound_connection_explains_read_only_access ... ok2322test stale_confirmation_keeps_the_dialog_and_shows_the_error ... ok2323test account_change_explains_every_blocker ... ok2324test connection_picker_distinguishes_loading_unavailable_and_unconfigured ... ok2325test progress_uses_observed_counts_and_readable_phase_without_an_eta ... ok2326test history_failure_can_be_refreshed_and_restores_an_active_job ... ok2327test account_change_is_busy_then_reports_recoverable_authorization_failure ... ok2328test submission_displays_its_acknowledged_state_before_status_polling_returns ... ok2329test missing_job_stops_polling_and_explains_that_status_is_unavailable ... ok2330test connection_actions_prevent_duplicate_submissions_and_keep_errors_local ... ok2331test navigating_away_invalidates_a_pending_preview_confirmation ... ok2332test pending_connect_is_single_submission_and_failure_keeps_a_recovery_action ... ok2333test replacing_a_file_during_preview_does_not_change_the_committed_source ... ok2334test history_can_page_back_and_return_to_the_latest_imports ... ok2335test reopening_importer_restores_queued_and_running_jobs_from_history ... ok2336test newly_submitted_failed_preview_cannot_be_confirmed ... ok2337test connection_management_groups_actions_and_never_promises_automatic_repair ... ok2338test historical_preview_is_read_only_and_selecting_another_job_clears_it ... ok2339test failed_poll_can_resume_without_replaying_its_old_error ... ok2340test retry_errors_are_visible_and_success_restarts_monitoring ... ok2341test account_change_confirmation_can_cancel_without_mutation_in_both_binding_states ... ok2342test archived_report_shows_total_errors_and_a_job_scoped_download ... ok2343test selecting_another_job_drops_the_previous_pending_status_request ... ok2344test cancellation_errors_are_visible_and_acceptance_does_not_acknowledge_completion ... ok2345test history_labels_selection_and_unknown_metadata_are_readable ... ok2346test api_preview_confirmation_is_bound_to_the_original_account_generation ... ok2347test blocked_retry_keeps_partial_reports_and_explains_the_missing_prerequisite ... ok2348test failed_and_cancelled_history_shows_partial_outcomes_without_success_actions ... ok2349test result_copy_distinguishes_preview_zero_skipped_and_mixed_outcomes ... ok23502351test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s23522353 Running tests/integration.rs (target/debug/deps/integration-089265c4f3eedde6)23542355running 36 tests2356test approved_entries_are_invoiceable ... ok2357test approval_workflow_approve_and_reject ... ok2358test line_amount_cents_sql_and_rust_reject_final_overflow ... ok2359test rate_resolution_cascade ... ok2360test reschedule_moves_open_entry_and_rejects_locked ... ok2361test one_timer_per_user_enforced ... ok2362test role_gating_member_vs_manager_vs_admin ... ok2363test invoiced_entries_cannot_be_rebilled ... ok2364test invoicing_update_skips_already_invoiced_entries ... ok2365test reorder_untimed_orders_and_moves_across_days ... ok2366test line_amount_cents_sql_matches_rust ... ok2367test last_active_admin_cannot_be_removed ... ok2368test rounding_applied_on_submit ... ok2369test admin_creates_user_and_duplicate_rejected ... ok2370test admin_changes_user_role ... ok2371test approval_hours_aggregate_billable_within_period ... ok2372test resubmit_after_approve_is_refused ... ok2373test duplicate_invoice_numbers_rejected ... ok2374test new_task_becomes_loggable_on_project ... ok2375test generate_invoice_totals_match ... ok2376test stopping_timer_records_start_minute ... ok2377test a_second_running_timer_is_refused_by_the_insert ... ok2378test project_spend_grouped_in_sql_matches_the_rust_fold ... ok2379test inactive_project_hidden_from_picker_but_kept_on_history ... ok2380test submitted_entries_cannot_be_updated ... ok2381test deactivated_user_blocked_and_history_preserved ... ok2382test the_long_timer_sweep_claims_each_timer_once ... ok2383test start_minute_round_trips_and_is_constrained ... ok2384test reject_after_approve_reopens_entries ... ok2385test totals_unaffected_by_start_minute ... ok2386test timer_start_stop_records_minutes ... ok2387test unassigned_user_cannot_create_entry ... ok2388test stop_timer_refuses_entry_that_left_open ... ok2389test timer_under_a_minute_records_zero ... ok2390test submit_week_with_running_timer_is_refused ... ok2391test void_invoice_restores_entries ... ok23922393test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.09s23942395 Running tests/new_project_screen.rs (target/debug/deps/new_project_screen-e3daedf125f4d4ac)23962397running 45 tests2398test new_project::tests::a_rejected_creation_can_be_edited_but_an_uncertain_commit_must_be_retried ... ok2399test new_project::draft::tests::a_validation_rejection_allows_corrected_input_at_the_same_revision ... ok2400test new_project::draft::tests::an_empty_form_is_not_reported_as_saved ... ok2401test new_project::draft::tests::context_prefills_only_a_new_form_without_fixing_its_currency ... ok2402test new_project::draft::tests::resuming_preserves_the_server_identity_and_incomplete_fields ... ok2403test new_project::basics::tests::a_full_tag_list_still_accepts_a_duplicate ... ok2404test new_project::draft::tests::a_retry_keeps_the_unacknowledged_payload_and_revision ... ok2405test new_project::basics::tests::overlong_tags_are_rejected_without_truncation ... ok2406test new_project::draft::tests::any_saved_draft_wins_over_context_including_empty_or_matching_client ... ok2407test new_project::basics::tests::a_batch_that_would_exceed_the_tag_limit_is_rejected ... ok2408test new_project::basics::tests::tag_length_counts_characters_instead_of_bytes ... ok2409test new_project::basics::tests::tags_trim_and_deduplicate_without_changing_existing_spelling ... ok2410test new_project::draft::tests::a_mismatched_acknowledgement_does_not_lose_pending_input ... ok2411test project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok2412test new_project::team::tests::adding_everyone_deduplicates_without_replacing_project_overrides ... ok2413test new_project::team::tests::removing_a_member_keeps_an_empty_restricted_task_restricted ... ok2414test new_project::tests::only_known_validation_fields_can_target_a_control ... ok2415test project_creation::tests::unknown_draft_fields_are_rejected ... ok2416test project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok2417test new_project::team::tests::exceeding_the_team_limit_does_not_partially_add_people ... ok2418test an_input_can_link_its_validation_error_without_changing_its_value_or_class ... ok2419test shared_input_without_options_keeps_its_original_class_and_external_label ... ok2420test compact_input_adds_utilities_and_accessible_name_without_losing_native_state ... ok2421test navigation_icons_keep_default_dimensions_and_allow_opt_in_sizing ... ok2422test checkbox_error_identity_is_opt_in_without_changing_its_behavior ... ok2423test textarea_and_selector_error_links_are_opt_in_and_preserve_controls ... ok2424test new_project::billing::tests::budget_errors_target_a_control_that_can_be_corrected ... ok2425test nonbillable_hides_fee_rate_and_invoice_controls_without_erasing_the_draft ... ok2426test recovered_tags_use_the_shared_inline_chip_field_without_saving ... ok2427test billing_and_visibility_keep_native_radios_inside_designed_option_cards ... ok2428test administrative_notes_only_render_for_an_authorized_editor ... ok2429test client_and_currency_use_labelled_form_dropdowns ... ok2430test empty_form_has_labelled_fields_no_demo_data_and_no_spurious_save ... ok2431test assignment_controls_reuse_searchable_picker_and_compact_task_entry ... ok2432test invoice_defaults_restore_custom_terms_and_named_second_tax ... ok2433test a_real_code_suggestion_does_not_replace_recovered_input ... ok2434test nonbillable_budget_picker_omits_fee_modes ... ok2435test edit_prefills_legacy_currency_and_type_without_reading_or_saving_a_draft ... ok2436test planning_dates_restore_readable_shared_calendar_fields_without_saving ... ok2437test recovered_client_outside_the_catalog_page_keeps_its_currency_and_name ... ok2438test recovered_tasks_and_people_outside_the_catalog_page_keep_their_identity ... ok2439test time_and_materials_restores_project_rate_and_budget_without_enabling_unconfigured_email ... ok2440test tasks_and_team_restore_scoped_settings_without_exposing_costs_to_managers ... ok2441test fixed_fee_restores_each_schedule_and_never_shows_hourly_rate_controls ... ok2442test task_rate_placeholders_use_source_currency_not_workspace_currency ... ok24432444test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s24452446 Running tests/timer_widget.rs (target/debug/deps/timer_widget-6f461a20070f335a)24472448running 1 test2449test timer_names_reuse_lookups_and_follow_resource_changes ... ok24502451test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s24522453 Running tests/trigger_utilities.rs (target/debug/deps/trigger_utilities-2d4b7940ad92a17a)24542455running 8 tests2456test checkbox_keeps_labelled_unchecked_defaults ... ok2457test disabled_checked_checkbox_is_natively_disabled ... ok2458test compact_mixed_checkbox_keeps_an_accessible_name ... ok2459test combobox_keeps_compact_defaults ... ok2460test combobox_composes_trigger_utilities ... ok2461test menu_composes_trigger_utilities ... ok2462test menu_keeps_compact_defaults ... ok2463test menu_can_disable_its_native_trigger ... ok24642465test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s24662467waiting for server to shut down.... done2468server stopped2469buildPhase completed in 5 minutes 13 seconds