horae-tests-0.1.0
checks.x86_64-linux.tests
· build #1
· raw
unpackPhase
1unpacking source archive /nix/store/9a7pqwj1psk5k3mg13wrqznc24birb8c-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 unicode-ident v1.0.2410 Compiling quote v1.0.4611 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 1m 05s24 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 25 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding26------------27 Nextest run ID 70bdc4e8-c70e-493b-92b0-7650360bc0aa with nextest profile: default28 Starting 115 tests across 1 binary29 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 30 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding31 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 32 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding33 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 34 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding35 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 36 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding37 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 38 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding39 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 40 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding41 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 42 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding43 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 44 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding45 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 46 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding47 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 48 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding49 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 50 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding51 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 52 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding53 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 54 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding55 Running [ 00:00:00] 0/115: 2 running, 0 passed, 0 skipped 56 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding57 Running [ 00:00:00] > 2/115: 48 running, 2 passed, 0 skipped 58 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget59 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band60 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values61 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows62 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached63 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once64 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets65 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget66 PASS [ 0.022s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding67 PASS [ 0.025s] horae-core duration::tests::minutes_between_is_exact_no_minimum68 Running [ 00:00:00] > 2/115: 48 running, 2 passed, 0 skipped 69 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget70 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band71 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values72 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows73 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached74 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once75 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets76 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget77 Running [ 00:00:00] > 4/115: 48 running, 4 passed, 0 skipped 78 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget79 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band80 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values81 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows82 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached83 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once84 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets85 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget86 PASS [ 0.056s] horae-core importers::harvest::convert::tests::negative_is_rejected87 PASS [ 0.068s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse88 Running [ 00:00:00] > 4/115: 48 running, 4 passed, 0 skipped 89 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget90 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band91 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values92 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows93 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached94 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once95 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets96 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget97 Running [ 00:00:00] > 5/115: 48 running, 5 passed, 0 skipped 98 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget99 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band100 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values101 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows102 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached103 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once104 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets105 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget106 PASS [ 0.102s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform107 Running [ 00:00:00] > 5/115: 48 running, 5 passed, 0 skipped 108 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget109 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band110 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values111 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows112 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached113 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once114 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets115 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget116 Running [ 00:00:00] > 5/115: 48 running, 5 passed, 0 skipped 117 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget118 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band119 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values120 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows121 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached122 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once123 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets124 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget125 Running [ 00:00:00] > 5/115: 48 running, 5 passed, 0 skipped 126 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget127 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band128 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values129 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows130 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached131 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once132 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets133 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget134 PASS [ 0.202s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band135 PASS [ 0.234s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects136 PASS [ 0.186s] horae-core budget::tests::each_crossing_is_announced_once137 PASS [ 0.209s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide138 PASS [ 0.234s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact139 Running [ 00:00:00] > 10/115: 48 running, 10 passed, 0 skipped 140 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget141 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band142 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values143 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows144 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached145 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets146 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget147 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow148 Running [ 00:00:00] > 11/115: 48 running, 11 passed, 0 skipped 149 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget150 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band151 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values152 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows153 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached154 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets155 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget156 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow157 PASS [ 0.280s] horae-core importers::harvest::convert::tests::money_common_values_are_exact158 Running [ 00:00:00] > 11/115: 48 running, 11 passed, 0 skipped 159 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget160 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band161 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values162 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows163 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached164 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets165 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget166 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow167 Running [ 00:00:00] > 13/115: 48 running, 11 passed, 0 skipped 168 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget169 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band170 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values171 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows172 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached173 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets174 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget175 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow176 PASS [ 0.290s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating177 PASS [ 0.297s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets178 PASS [ 0.056s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow179 Running [ 00:00:00] > 14/115: 48 running, 14 passed, 0 skipped 180 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget181 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band182 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values183 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows184 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached185 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget186 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow187 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero188 Running [ 00:00:00] => 19/115: 48 running, 19 passed, 0 skipped 189 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget190 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band191 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values192 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows193 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached194 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget195 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow196 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero197 PASS [ 0.324s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches198 PASS [ 0.351s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary199 PASS [ 0.343s] horae-core importers::harvest::keys::tests::time_entry_key_distinguishes_and_matches200 PASS [ 0.323s] horae-core duration::tests::format_hhmm_pads_minutes201 PASS [ 0.376s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly202 Running [ 00:00:00] => 19/115: 48 running, 19 passed, 0 skipped 203 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget204 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band205 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values206 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows207 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached208 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget209 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow210 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero211 Running [ 00:00:00] => 25/115: 48 running, 25 passed, 0 skipped 212 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget213 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band214 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values215 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows216 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached217 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget218 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero219 [ 00:00:00] horae-core duration::tests::format_round_trip220 PASS [ 0.022s] horae-core invoice::tests::line_amount_odd_minutes221 PASS [ 0.046s] horae-core invoice::tests::line_amount_half_hour222 PASS [ 0.367s] horae-core budget::tests::large_values_do_not_overflow223 PASS [ 0.046s] horae-core invoice::tests::line_amount_exact_hour224 PASS [ 0.398s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up225 PASS [ 0.022s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even226 Running [ 00:00:00] => 25/115: 48 running, 25 passed, 0 skipped 227 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget228 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band229 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values230 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows231 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached232 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget233 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero234 [ 00:00:00] horae-core duration::tests::format_round_trip235 Running [ 00:00:00] ==> 29/115: 48 running, 25 passed, 0 skipped 236 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget237 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band238 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values239 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows240 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached241 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget242 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero243 [ 00:00:00] horae-core duration::tests::format_round_trip244 Running [ 00:00:00] ==> 29/115: 48 running, 29 passed, 0 skipped 245 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget246 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band247 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values248 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows249 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached250 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget251 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero252 [ 00:00:00] horae-core duration::tests::format_round_trip253 PASS [ 0.039s] horae-core invoice::tests::line_amount_zero_rate254 PASS [ 0.039s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results255 PASS [ 0.022s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate256 PASS [ 0.451s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace257 Running [ 00:00:00] ==> 29/115: 48 running, 29 passed, 0 skipped 258 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget259 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band260 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values261 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows262 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached263 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget264 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero265 [ 00:00:00] horae-core duration::tests::format_round_trip266 Running [ 00:00:00] ===> 52/115: 48 running, 29 passed, 0 skipped 267 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget268 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band269 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values270 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows271 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached272 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget273 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero274 [ 00:00:00] horae-core duration::tests::format_round_trip275 PASS [ 0.307s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts276 PASS [ 0.502s] horae-core budget::tests::a_single_jump_announces_every_crossed_band277 PASS [ 0.549s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget278 PASS [ 0.500s] horae-core importers::harvest::convert::tests::garbage_is_rejected279 PASS [ 0.500s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it280 PASS [ 0.541s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name281 PASS [ 0.501s] horae-core duration::tests::format_clamps_negative_to_zero282 PASS [ 0.541s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds283 PASS [ 0.519s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present284 PASS [ 0.522s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform285 PASS [ 0.315s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line286 PASS [ 0.448s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors287 PASS [ 0.197s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts288 PASS [ 0.519s] horae-core budget::tests::no_band_for_zero_or_missing_budget289 PASS [ 0.049s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign290 PASS [ 0.502s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values291 PASS [ 0.545s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract292 PASS [ 0.482s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names293 PASS [ 0.501s] horae-core duration::tests::parse_decimal294 PASS [ 0.502s] horae-core duration::tests::format_round_trip295 PASS [ 0.502s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking296 PASS [ 0.519s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly297 PASS [ 0.521s] horae-core budget::tests::current_band_is_the_highest_reached298 Running [ 00:00:00] ===> 52/115: 48 running, 52 passed, 0 skipped 299 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows300 [ 00:00:00] horae-core duration::tests::parse_colon301 [ 00:00:00] horae-core rse_rejects_colon_overflow_without_panicking302 [ 00:00:00] horae-core cts_negative_non_finite_and_malformed_values303 [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator304 [ 00:00:00] horae-core high_precision_without_intermediate_overflow305 [ 00:00:00] horae-core ests::parse_round_trips_each_minute_in_a_day306 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals307 Running [ 00:00:00] ====> 71/115: 48 running, 52 passed, 0 skipped 308 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows309 [ 00:00:00] horae-core duration::tests::parse_colon310 [ 00:00:00] horae-core rse_rejects_colon_overflow_without_panicking311 [ 00:00:00] horae-core cts_negative_non_finite_and_malformed_values312 [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator313 [ 00:00:00] horae-core high_precision_without_intermediate_overflow314 [ 00:00:00] horae-core ests::parse_round_trips_each_minute_in_a_day315 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals316 PASS [ 0.565s] horae-core duration::tests::parse_colon317 PASS [ 0.583s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero318 PASS [ 0.210s] horae-core invoice::tests::resolve_rate_cascade319 PASS [ 0.563s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values320 PASS [ 0.197s] horae-core invoice::tests::line_amount_zero_minutes321 PASS [ 0.563s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator322 PASS [ 0.583s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent323 PASS [ 0.563s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow324 PASS [ 0.566s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows325 PASS [ 0.374s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order326 PASS [ 0.018s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones327 PASS [ 0.603s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work328 PASS [ 0.102s] horae-core money::tests::addition_rejects_overflow_in_both_directions329 PASS [ 0.024s] horae-core project::tests::payment_terms_support_receipt_and_checked_days330 PASS [ 0.114s] horae-core money::tests::addition_retains_currency_checks_and_representable_boundaries331 PASS [ 0.299s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow332 PASS [ 0.346s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available333 PASS [ 0.031s] horae-core project::tests::monthly_fee_dates_follow_calendar_months334 PASS [ 0.036s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift335 PASS [ 0.049s] horae-core project::tests::basics_reject_blank_and_overlong_names336 PASS [ 0.030s] horae-core rounding::tests::up_and_down337 Running [ 00:00:00] =====> 73/115: 42 running, 73 passed, 0 skipped 338 [ 00:00:00] horae-core rse_rejects_colon_overflow_without_panicking339 [ 00:00:00] horae-core ests::parse_round_trips_each_minute_in_a_day340 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals341 [ 00:00:00] horae-core rsion_reports_precision_and_numerator_limits342 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error343 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal344 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes345 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up346 Running [ 00:00:00] =====> 82/115: 42 running, 73 passed, 0 skipped 347 [ 00:00:00] horae-core rse_rejects_colon_overflow_without_panicking348 [ 00:00:00] horae-core ests::parse_round_trips_each_minute_in_a_day349 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals350 [ 00:00:00] horae-core rsion_reports_precision_and_numerator_limits351 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error352 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal353 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes354 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up355 PASS [ 0.048s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total356 PASS [ 0.605s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day357 PASS [ 0.319s] horae-core invoice::tests::invoice_adjustments_round_components_half_up358 PASS [ 0.596s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error359 PASS [ 0.616s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking360 PASS [ 0.067s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials361 PASS [ 0.114s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent362 PASS [ 0.126s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs363 PASS [ 0.073s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs364 PASS [ 0.634s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits365 Running [ 00:00:00] =====> 83/115: 32 running, 83 passed, 0 skipped 366 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals367 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal368 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes369 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes370 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources371 [ 00:00:00] horae-core format_cents_plain_keeps_sign_below_one_unit372 [ 00:00:00] horae-core rse_cents_reads_whole_and_fractional_amounts373 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates374 Running [ 00:00:00] =====> 86/115: 29 running, 86 passed, 0 skipped 375 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals376 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes377 [ 00:00:00] horae-core format_cents_plain_keeps_sign_below_one_unit378 [ 00:00:00] horae-core rse_cents_reads_whole_and_fractional_amounts379 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates380 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates381 [ 00:00:00] horae-core eject_overlong_code_and_unsupported_currency382 [ 00:00:00] horae-core e_rejects_invalid_precision_range_and_syntax383 PASS [ 0.259s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources384 PASS [ 0.389s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes385 PASS [ 0.435s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal386 Running [ 00:00:00] =====> 86/115: 29 running, 86 passed, 0 skipped 387 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals388 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes389 [ 00:00:00] horae-core format_cents_plain_keeps_sign_below_one_unit390 [ 00:00:00] horae-core rse_cents_reads_whole_and_fractional_amounts391 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates392 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates393 [ 00:00:00] horae-core eject_overlong_code_and_unsupported_currency394 [ 00:00:00] horae-core e_rejects_invalid_precision_range_and_syntax395 Running [ 00:00:00] =====> 86/115: 29 running, 86 passed, 0 skipped 396 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals397 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes398 [ 00:00:00] horae-core format_cents_plain_keeps_sign_below_one_unit399 [ 00:00:00] horae-core rse_cents_reads_whole_and_fractional_amounts400 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates401 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates402 [ 00:00:00] horae-core eject_overlong_code_and_unsupported_currency403 [ 00:00:00] horae-core e_rejects_invalid_precision_range_and_syntax404 Running [ 00:00:00] ======> 100/115: 29 running, 86 passed, 0 skipped 405 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals406 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes407 [ 00:00:00] horae-core format_cents_plain_keeps_sign_below_one_unit408 [ 00:00:00] horae-core rse_cents_reads_whole_and_fractional_amounts409 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates410 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates411 [ 00:00:00] horae-core eject_overlong_code_and_unsupported_currency412 [ 00:00:00] horae-core e_rejects_invalid_precision_range_and_syntax413 PASS [ 0.440s] horae-core invoice::tests::line_amount_90_minutes414 PASS [ 0.263s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit415 PASS [ 0.188s] horae-core time_of_day::tests::format_12h_matches_harvest_style416 PASS [ 0.206s] horae-core state::tests::invoiced_is_final417 PASS [ 0.206s] horae-core project::tests::percentage_preserves_exact_hundredths418 PASS [ 0.207s] horae-core rounding::tests::nearest_ties_round_up419 PASS [ 0.208s] horae-core rounding::tests::result_is_multiple_of_inc420 PASS [ 0.210s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax421 PASS [ 0.210s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero422 PASS [ 0.235s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency423 PASS [ 0.252s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates424 PASS [ 0.262s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates425 PASS [ 0.195s] horae-core time_of_day::tests::format_round_trips426 PASS [ 0.263s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts427 PASS [ 0.214s] horae-core state::tests::member_submit_and_reopen428 PASS [ 0.210s] horae-core time_of_day::tests::snap_rounds_to_nearest_step429 PASS [ 0.210s] horae-core time_of_day::tests::parse_reads_12h_including_edges430 PASS [ 0.211s] horae-core state::tests::managers_invoice_open_and_approved_time431 PASS [ 0.207s] horae-core week::tests::configured_week_reports_an_unrepresentable_start432 PASS [ 0.213s] horae-core types::tests::budget_kind_wire_strings_match_db_enum433 Running [ 00:00:00] =======> 106/115: 9 running, 106 passed, 0 skipped 434 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals435 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero436 [ 00:00:00] horae-core state::tests::only_manager_can_approve437 [ 00:00:00] horae-core sts::clamp_to_day_prevents_crossing_midnight438 [ 00:00:00] horae-core time_of_day::tests::parse_reads_24h439 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage440 [ 00:00:00] horae-core nfigured_week_can_start_in_the_previous_year441 [ 00:00:00] horae-core k_contains_each_day_for_all_seven_start_days442 Running [ 00:00:00] =======> 113/115: 2 running, 113 passed, 0 skipped 443 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals444 [ 00:00:00] horae-core time_of_day::tests::parse_reads_24h445446447448449450451 PASS [ 0.217s] horae-core week::tests::configured_week_can_start_in_the_previous_year452 PASS [ 0.230s] horae-core rounding::tests::identity_when_inc_zero453 PASS [ 0.226s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage454 PASS [ 0.231s] horae-core week::tests::maps_any_weekday_to_its_monday455 PASS [ 0.242s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight456 PASS [ 0.247s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days457 PASS [ 0.259s] horae-core state::tests::only_manager_can_approve458 Running [ 00:00:00] =======> 113/115: 2 running, 113 passed, 0 skipped 459 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals460 [ 00:00:00] horae-core time_of_day::tests::parse_reads_24h461462463464465466467 Running [ 00:00:00] =======> 114/115: 1 running, 114 passed, 0 skipped 468 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals469470471472473474475476 PASS [ 0.267s] horae-core time_of_day::tests::parse_reads_24h477 Running [ 00:00:00] =======> 114/115: 1 running, 114 passed, 0 skipped 478 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals479480481482483484485486 Running [ 00:00:01] =======> 114/115: 1 running, 114 passed, 0 skipped 487 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals488489490491492493494495 Running [ 00:00:01] =======> 114/115: 1 running, 114 passed, 0 skipped 496 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals497498499500501502503504 Running [ 00:00:01] =======> 114/115: 1 running, 114 passed, 0 skipped 505 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals506507508509510511512513 Running [ 00:00:01] =======> 114/115: 1 running, 114 passed, 0 skipped 514 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals515516517518519520521522 PASS [ 0.993s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals523------------524 Summary [ 1.058s] 115 tests run: 115 passed, 0 skipped525 Running [ 00:00:01] ======== 115/115: 1 running, 114 passed, 0 skipped 526 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals527528529530531532533534The files belonging to this database system will be owned by user "nixbld".535This user must also own the server process.536537The database cluster will be initialized with locale "C".538The default text search configuration will be set to "english".539540Data page checksums are disabled.541542fixing permissions on existing directory /build/tmp.cbYVQr2doD ... ok543creating subdirectories ... ok544selecting dynamic shared memory implementation ... posix545selecting default "max_connections" ... 100546selecting default "shared_buffers" ... 128MB547selecting default time zone ... UTC548creating configuration files ... ok549running bootstrap script ... ok550performing post-bootstrap initialization ... ok551syncing data to disk ... ok552553initdb: warning: enabling "trust" authentication for local connections554initdb: 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.555556Success. You can now start the database server using:557558 pg_ctl -D /build/tmp.cbYVQr2doD -l logfile start559560waiting for server to start.... done561server started562 Compiling proc-macro2 v1.0.106563 Compiling unicode-ident v1.0.24564 Compiling serde v1.0.228565 Compiling serde_core v1.0.228566 Compiling cfg-if v1.0.4567 Compiling libc v0.2.186568 Compiling memchr v2.8.3569 Compiling version_check v0.9.5570 Compiling log v0.4.33571 Compiling libm v0.2.16572 Compiling itoa v1.0.18573 Compiling once_cell v1.21.4574 Compiling foldhash v0.2.0575 Compiling equivalent v1.0.2576 Compiling pin-project-lite v0.2.17577 Compiling typenum v1.20.1578 Compiling slab v0.4.12579 Compiling parking_lot_core v0.9.12580 Compiling scopeguard v1.2.0581 Compiling crossbeam-utils v0.8.22582 Compiling futures-core v0.3.32583 Compiling zeroize v1.9.0584 Compiling crossbeam-epoch v0.9.20585 Compiling crossbeam-deque v0.8.7586 Compiling rayon-core v1.13.0587 Compiling futures-io v0.3.32588 Compiling futures-task v0.3.32589 Compiling futures-sink v0.3.32590 Compiling subtle v2.6.1591 Compiling zmij v1.0.21592 Compiling allocator-api2 v0.2.21593 Compiling fnv v1.0.7594 Compiling stable_deref_trait v1.2.1595 Compiling shlex v2.0.1596 Compiling find-msvc-tools v0.1.9597 Compiling crc32fast v1.5.0598 Compiling base64 v0.22.1599 Compiling const-oid v0.9.6600 Compiling zerocopy v0.8.53601 Compiling anyhow v1.0.103602 Compiling utf8_iter v1.0.4603 Compiling cpufeatures v0.2.17604 Compiling rustc-hash v2.1.3605 Compiling percent-encoding v2.3.2606 Compiling num-traits v0.2.19607 Compiling serde_json v1.0.150608 Compiling icu_normalizer_data v2.2.0609 Compiling hashbrown v0.17.1610 Compiling simd-adler32 v0.3.9611 Compiling icu_properties_data v2.2.0612 Compiling adler2 v2.0.1613 Compiling heck v0.5.0614 Compiling writeable v0.6.3615 Compiling futures-channel v0.3.32616 Compiling zlib-rs v0.6.6617 Compiling write16 v1.0.0618 Compiling time-core v0.1.9619 Compiling utf16_iter v1.0.5620 Compiling num-conv v0.2.2621 Compiling generic-array v0.14.7622 Compiling powerfmt v0.2.0623 Compiling form_urlencoded v1.2.2624 Compiling ryu v1.0.23625 Compiling slotmap v1.1.1626 Compiling rustversion v1.0.23627 Compiling bumpalo v3.20.3628 Compiling unicode-segmentation v1.13.3629 Compiling miniz_oxide v0.8.9630 Compiling winnow v0.7.15631 Compiling unicode-xid v0.2.6632 Compiling arrayvec v0.7.8633 Compiling httparse v1.10.1634 Compiling siphasher v1.0.3635 Compiling tinyvec_macros v0.1.1636 Compiling tracing-core v0.1.36637 Compiling time-macros v0.2.31638 Compiling hashbrown v0.16.1639 Compiling getrandom v0.4.3640 Compiling fastrand v2.4.1641 Compiling spin v0.9.8642 Compiling tinyvec v1.11.0643 Compiling tower-service v0.3.3644 Compiling unicode-properties v0.1.4645 Compiling bitflags v2.13.0646 Compiling aho-corasick v1.1.4647 Compiling mime v0.3.17648 Compiling fearless_simd v0.4.1649 Compiling unicode-bidi v0.3.18650 Compiling regex-syntax v0.8.11651 Compiling wasmtime-internal-core v43.0.2652 Compiling fdeflate v0.3.7653 Compiling zune-core v0.5.1654 Compiling polycool v0.4.0655 Compiling untrusted v0.9.0656 Compiling konst_macro_rules v0.2.19657 Compiling tower-layer v0.3.3658 Compiling rustix v1.1.4659 Compiling zune-jpeg v0.5.15660 Compiling ipnet v2.12.0661 Compiling hayro-ccitt v0.3.0662 Compiling ident_case v1.0.1663 Compiling ciborium-io v0.2.2664 Compiling byteorder-lite v0.1.0665 Compiling dioxus-core-types v0.7.9666 Compiling color_quant v1.1.0667 Compiling getrandom v0.3.4668 Compiling unicode-normalization v0.1.25669 Compiling unsafe-libyaml v0.2.11670 Compiling target-lexicon v0.13.5671 Compiling semver v1.0.28672 Compiling quick-error v2.0.1673 Compiling linux-raw-sys v0.12.1674 Compiling weezl v0.1.12675 Compiling konst v0.2.20676 Compiling proc-macro-hack v0.5.20+deprecated677 Compiling phf_shared v0.13.1678 Compiling sync_wrapper v1.0.2679 Compiling libloading v0.8.9680 Compiling arrayref v0.3.9681 Compiling core_maths v0.1.1682 Compiling icu_locale_data v2.2.0683 Compiling getrandom v0.2.17684 Compiling jobserver v0.1.35685 Compiling mio v1.2.1686 Compiling socket2 v0.6.4687 Compiling errno v0.3.14688 Compiling memmap2 v0.9.11689 Compiling image-webp v0.2.4690 Compiling gif v0.14.2691 Compiling unicode-script v0.5.8692 Compiling cranelift-srcgen v0.130.2693 Compiling httpdate v1.0.3694 Compiling pxfm v0.1.30695 Compiling phf_generator v0.13.1696 Compiling encoding_rs v0.8.35697 Compiling cc v1.2.66698 Compiling flate2 v1.1.9699 Compiling block-buffer v0.10.4700 Compiling crypto-common v0.1.7701 Compiling ttf-parser v0.25.1702 Compiling try-lock v0.2.5703 Compiling signal-hook-registry v1.4.8704 Compiling unicode-ccc v0.4.0705 Compiling digest v0.10.7706 Compiling thiserror v1.0.69707 Compiling rand_core v0.6.4708 Compiling longest-increasing-subsequence v0.1.0709 Compiling base64ct v1.8.3710 Compiling roxmltree v0.20.0711 Compiling same-file v1.0.6712 Compiling unicode-bidi-mirroring v0.4.0713 Compiling want v0.3.1714 Compiling rustls-pki-types v1.15.0715 Compiling sha2 v0.10.9716 Compiling cranelift-assembler-x64-meta v0.130.2717 Compiling rand_core v0.9.5718 Compiling icu_collator_data v2.2.0719 Compiling leb128fmt v0.1.0720 Compiling wasm-bindgen-shared v0.2.126721 Compiling paste v1.0.15722 Compiling litemap v0.8.2723 Compiling quote v1.0.46724 Compiling num-integer v0.1.46725 Compiling float-cmp v0.9.0726 Compiling walkdir v2.5.0727 Compiling pem-rfc7468 v0.7.0728 Compiling xmlwriter v0.1.0729 Compiling portable-atomic v1.13.1730 Compiling imagesize v0.14.0731 Compiling bit-vec v0.8.0732 Compiling quick-xml v0.41.0733 Compiling syn v2.0.118734 Compiling roxmltree v0.21.1735 Compiling simplecss v0.2.2736 Compiling typst-utils v0.15.0737 Compiling strict-num v0.1.1738 Compiling fontconfig-parser v0.5.8739 Compiling data-url v0.3.2740 Compiling wasmparser v0.239.0741 Compiling toml_write v0.1.2742 Compiling der v0.7.10743 Compiling unicode-vo v0.1.0744 Compiling unscanny v0.1.0745 Compiling cranelift-isle v0.130.2746 Compiling linked-hash-map v0.5.6747 Compiling pico-args v0.5.0748 Compiling num-bigint v0.4.8749 Compiling regex-automata v0.4.14750 Compiling deranged v0.5.8751 Compiling indexmap v2.14.0752 Compiling serde_path_to_error v0.1.20753 Compiling const_format_proc_macros v0.2.34754 Compiling uuid v1.23.4755 Compiling bit-set v0.8.0756 Compiling sha1 v0.10.6757 Compiling hmac v0.12.1758 Compiling yaml-rust v0.4.5759 Compiling wasmi_core v1.1.0760 Compiling convert_case v0.8.0761 Compiling png v0.18.1762 Compiling moxcms v0.8.1763 Compiling chinese-variant v1.1.6764 Compiling rustls v0.23.41765 Compiling cranelift-codegen-shared v0.130.2766 Compiling thin-vec v0.2.18767 Compiling data-encoding v2.11.0768 Compiling object v0.38.1769 Compiling palette v0.7.6770 Compiling by_address v1.2.1771 Compiling rust_decimal v1.42.1772 Compiling codex v0.3.0773 Compiling roman-numerals-rs v3.1.0774 Compiling unicode-math-class v0.1.0775 Compiling approx v0.5.1776 Compiling csv-core v0.1.13777 Compiling proc-macro2-diagnostics v0.10.1778 Compiling atomic-waker v1.1.2779 Compiling fast-srgb8 v1.0.0780 Compiling wasmi_ir v1.1.0781 Compiling cpp_demangle v0.4.5782 Compiling parking v2.2.1783 Compiling wasmi_collections v1.1.0784 Compiling pkg-config v0.3.33785 Compiling foldhash v0.1.5786 Compiling const_format v0.2.36787 Compiling io-lifetimes v2.0.4788 Compiling mutate_once v0.1.2789 Compiling lazy-js-bundle v0.7.9790 Compiling csv v1.4.0791 Compiling hkdf v0.12.4792 Compiling typst-assets v0.15.0793 Compiling ring v0.17.14794 Compiling spki v0.7.3795 Compiling kamadak-exif v0.6.1796 Compiling webpki-roots v1.0.8797 Compiling wasm-bindgen v0.2.126798 Compiling hayro-jbig2 v0.3.0799 Compiling hayro-jpeg2000 v0.3.5800 Compiling winnow v1.0.3801 Compiling hashbrown v0.15.5802 Compiling byteorder v1.5.0803 Compiling termcolor v1.4.1804 Compiling crc-catalog v2.5.0805 Compiling glidesort v0.1.2806 Compiling icu_segmenter_data v2.2.0807 Compiling az v1.3.0808 Compiling pkcs8 v0.10.2809 Compiling arbitrary v1.4.2810 Compiling object v0.37.3811 Compiling typed-arena v2.0.2812 Compiling wasmtime-internal-component-util v43.0.2813 Compiling time v0.3.53814 Compiling crc v3.4.0815 Compiling lazy_static v1.5.0816 Compiling hashlink v0.10.0817 Compiling lock_api v0.4.14818 Compiling cranelift-assembler-x64 v0.130.2819 Compiling bytes v1.12.0820 Compiling dioxus-cli-config v0.7.9821 Compiling io-extras v0.18.4822 Compiling linebender_resource_handle v0.1.1823 Compiling hayro-postscript v0.1.0824 Compiling rustc-demangle v0.1.28825 Compiling concurrent-queue v2.5.0826 Compiling cookie v0.18.1827 Compiling zstd-safe v7.2.4828 Compiling zstd-sys v2.0.16+zstd.1.5.7829 Compiling leb128 v0.2.7830 Compiling ambient-authority v0.0.2831 Compiling strsim v0.11.1832 Compiling cap-primitives v3.4.5833 Compiling unicase v2.9.0834 Compiling utf-8 v0.7.6835 Compiling chrono v0.4.45836 Compiling futures-util v0.3.32837 Compiling crossbeam-queue v0.3.13838 Compiling dioxus-document v0.7.9839 Compiling cranelift-control v0.130.2840 Compiling hayro-cmap v0.1.0841 Compiling tokio v1.52.3842 Compiling wast v35.0.2843 Compiling ittapi-sys v0.4.0844 Compiling signature v2.2.0845 Compiling wasm-encoder v0.253.0846 Compiling ff v0.13.1847 Compiling stringprep v0.1.5848 Compiling bitmaps v2.1.0849 Compiling multer v3.1.0850 Compiling im-rc v15.1.0851 Compiling mime_guess v2.0.5852 Compiling event-listener v5.4.1853 Compiling hypher v0.1.7854 Compiling dotenvy v0.15.7855 Compiling unicode-width v0.2.2856 Compiling compression-core v0.4.32857 Compiling hex v0.4.3858 Compiling wasmtime-internal-unwinder v43.0.2859 Compiling rustls v0.21.12860 Compiling maybe-owned v0.3.4861 Compiling id-arena v2.3.0862 Compiling home v0.5.12863 Compiling whoami v1.6.1864 Compiling base16ct v0.2.0865 Compiling sized-chunks v0.6.5866 Compiling compression-codecs v0.4.38867 Compiling toml_parser v1.1.2+spec-1.1.0868 Compiling sec1 v0.7.3869 Compiling wast v253.0.0870 Compiling group v0.13.0871 Compiling atoi v2.0.0872 Compiling pic-scale v0.7.10873 Compiling serde_spanned v1.1.1874 Compiling toml_datetime v0.7.5+spec-1.1.0875 Compiling crypto-bigint v0.5.5876 Compiling rand_xoshiro v0.6.0877 Compiling md-5 v0.10.6878 Compiling fancy-regex v0.16.2879 Compiling regex v1.13.0880 Compiling dirs-sys-next v0.1.2881 Compiling cap-std v3.4.5882 Compiling wasmtime-internal-cache v43.0.2883 Compiling toml_writer v1.1.1+spec-1.1.0884 Compiling fixedbitset v0.4.2885 Compiling wasmtime-internal-component-macro v43.0.2886 Compiling gimli v0.33.0887 Compiling directories-next v2.0.0888 Compiling matchers v0.2.0889 Compiling cfb v0.7.3890 Compiling sharded-slab v0.1.7891 Compiling stacker v0.1.24892 Compiling debugid v0.8.0893 Compiling tracing-log v0.2.0894 Compiling rustc_version v0.4.1895 Compiling socket2 v0.5.10896 Compiling thread_local v1.1.9897 Compiling inventory v0.3.24898 Compiling litrs v1.0.0899 Compiling matchit v0.8.4900 Compiling nu-ansi-term v0.50.3901 Compiling http-range-header v0.4.2902 Compiling cbindgen v0.29.4903 Compiling wiggle-macro v43.0.2904 Compiling elliptic-curve v0.13.8905 Compiling rustix v0.38.44906 Compiling synstructure v0.13.2907 Compiling darling_core v0.21.3908 Compiling wasm-bindgen-macro-support v0.2.126909 Compiling darling_core v0.23.0910 Compiling toml_datetime v1.1.1+spec-1.1.0911 Compiling rustix-linux-procfs v0.1.1912 Compiling fs-set-times v0.20.3913 Compiling psl-types v2.0.11914 Compiling curve25519-dalek v4.1.3915 Compiling dioxus-rsx v0.7.9916 Compiling memfd v0.6.5917 Compiling tempfile v3.27.0918 Compiling toml v0.9.12+spec-1.1.0919 Compiling dioxus-interpreter-js v0.7.9920 Compiling rfc6979 v0.4.0921 Compiling pdf-writer v0.15.0922 Compiling rmp v0.8.15923 Compiling ittapi v0.4.0924 Compiling convert_case v0.10.0925 Compiling base64 v0.21.7926 Compiling num-bigint-dig v0.8.6927 Compiling infer v0.19.0928 Compiling linux-raw-sys v0.4.15929 Compiling document-features v0.2.12930 Compiling utf8parse v0.2.2931 Compiling system-interface v0.27.3932 Compiling base16 v0.2.1933 Compiling option-ext v0.2.0934 Compiling cap-fs-ext v3.4.5935 Compiling ecdsa v0.16.9936 Compiling anstyle-parse v1.0.0937 Compiling primeorder v0.13.6938 Compiling dirs-sys v0.5.0939 Compiling macro-string v0.1.4940 Compiling webpki-roots v0.26.11941 Compiling num-iter v0.1.46942 Compiling ppv-lite86 v0.2.21943 Compiling charset v0.1.5944 Compiling rustls-pemfile v1.0.4945 Compiling inout v0.1.4946 Compiling colorchoice v1.0.5947 Compiling ar_archive_writer v0.5.2948 Compiling dunce v1.0.5949 Compiling webpki-roots v0.25.4950 Compiling zip v2.4.2951 Compiling xmp-writer v0.3.3952 Compiling askama_escape v0.13.0953 Compiling anstyle-query v1.1.5954 Compiling hashbrown v0.14.5955 Compiling xxhash-rust v0.8.16956 Compiling sync_wrapper v0.1.2957 Compiling anstyle v1.0.14958 Compiling is_terminal_polyfill v1.70.2959 Compiling content_disposition v0.4.0960 Compiling cipher v0.4.4961 Compiling cap-time-ext v3.4.5962 Compiling dirs v6.0.0963 Compiling ed25519 v2.2.3964 Compiling pkcs1 v0.7.5965 Compiling universal-hash v0.5.1966 Compiling ordered-float v2.10.1967 Compiling zopfli v0.8.3968 Compiling lru v0.16.4969 Compiling rand_chacha v0.3.1970 Compiling send_wrapper v0.6.0971 Compiling utf8-zero v0.8.1972 Compiling opaque-debug v0.3.1973 Compiling const-str v0.7.1974 Compiling clap_lex v1.1.0975 Compiling base64 v0.13.1976 Compiling p256 v0.13.2977 Compiling p384 v0.13.1978 Compiling toml_edit v0.25.12+spec-1.1.0979 Compiling poly1305 v0.8.0980 Compiling rand v0.8.6981 Compiling wasmi v1.1.0982 Compiling chacha20 v0.9.1983 Compiling dioxus-config-macro v0.7.9984 Compiling aead v0.5.2985 Compiling dyn-clone v1.0.20986 Compiling glob v0.3.3987 Compiling dioxus-config-macros v0.7.9988 Compiling horae v0.1.0 (/build/source/crates/horae)989 Compiling anstream v1.0.0990 Compiling chacha20poly1305 v0.10.1991 Compiling serde_derive v1.0.228992 Compiling thiserror-impl v2.0.18993 Compiling zerofrom-derive v0.1.7994 Compiling yoke-derive v0.8.2995 Compiling zerovec-derive v0.11.3996 Compiling displaydoc v0.2.6997 Compiling futures-macro v0.3.32998 Compiling tracing-attributes v0.1.31999 Compiling zerocopy-derive v0.8.531000 Compiling tokio-macros v2.7.01001 Compiling bytemuck_derive v1.11.01002 Compiling async-trait v0.1.891003 Compiling pin-project-internal v1.1.131004 Compiling thiserror-impl v1.0.691005 Compiling phf_macros v0.13.11006 Compiling pulley-macros v43.0.21007 Compiling comemo-macros v0.5.11008 Compiling enum-ordinalize-derive v4.4.11009 Compiling strum_macros v0.27.21010 Compiling wasmtime-internal-versioned-export-macros v43.0.21011 Compiling warnings-macro v0.2.01012 Compiling palette_derive v0.7.61013 Compiling typst-macros v0.15.01014 Compiling const-serialize-macro v0.7.21015 Compiling dioxus-core-macro v0.7.91016 Compiling dioxus-html-internal-macro v0.7.91017 Compiling serde_repr v0.1.201018 Compiling const-serialize-macro v0.8.0-alpha.01019 Compiling psm v0.1.311020 Compiling axum-macros v0.5.11021 Compiling wasm-bindgen-macro v0.2.1261022 Compiling proc-macro-crate v3.5.01023 Compiling curve25519-dalek-derive v0.1.11024 Compiling async-stream-impl v0.3.61025 Compiling dioxus-router-macro v0.7.91026 Compiling derive_more-impl v2.1.11027 Compiling wasmtime-internal-fiber v43.0.21028 Compiling wasmtime-internal-jit-debug v43.0.21029 Compiling wasmtime v43.0.21030 Compiling dioxus-stores-macro v0.7.91031 Compiling dioxus-fullstack-macro v0.7.91032 Compiling clap_builder v4.6.01033 Compiling zerofrom v0.1.81034 Compiling clap_derive v4.6.11035 Compiling darling_macro v0.23.01036 Compiling serial_test_derive v3.5.01037 Compiling const-serialize v0.7.21038 Compiling pin-project v1.1.131039 Compiling enum-ordinalize v4.4.11040 Compiling async-stream v0.3.61041 Compiling phf v0.13.11042 Compiling chinese-number v0.7.81043 Compiling thiserror v2.0.181044 Compiling cobs v0.3.01045 Compiling darling v0.23.01046 Compiling serde_with_macros v3.21.01047 Compiling rustls-webpki v0.103.131048 Compiling rustls-webpki v0.101.71049 Compiling sct v0.7.11050 Compiling yoke v0.8.31051 Compiling tracing v0.1.441052 Compiling darling_macro v0.21.31053 Compiling strum v0.27.21054 Compiling wat v1.253.01055 Compiling zerovec v0.11.61056 Compiling zerotrie v0.2.41057 Compiling tokio-stream v0.1.181058 Compiling warnings v0.2.11059 Compiling tracing-futures v0.2.51060 Compiling ed25519-dalek v2.2.01061 Compiling darling v0.21.31062 Compiling serde_with v3.21.01063 Compiling enumset_derive v0.15.01064 Compiling witx v0.9.11065 Compiling bytemuck v1.25.11066 Compiling tiny-skia-path v0.12.01067 Compiling font-types v0.11.31068 Compiling image v0.25.101069 Compiling tinystr v0.8.31070 Compiling potential_utf v0.1.51071 Compiling color v0.3.31072 Compiling rgb v0.8.531073 Compiling clap v4.6.11074 Compiling icu_collections v2.2.01075 Compiling read-fonts v0.39.21076 Compiling unic-langid-impl v0.9.61077 Compiling icu_locale_core v2.2.01078 Compiling tiny-skia v0.12.01079 Compiling unic-langid-macros-impl v0.9.61080 Compiling derive_more v2.1.11081 Compiling enumset v1.1.131082 Compiling icu_provider v2.2.01083 Compiling icu_properties v2.2.01084 Compiling smallvec v1.15.21085 Compiling either v1.16.01086 Compiling wasmparser v0.245.11087 Compiling postcard v1.1.31088 Compiling const-serialize v0.8.0-alpha.01089 Compiling itertools v0.14.01090 Compiling icu_normalizer v2.2.01091 Compiling proc-macro-utils v0.10.01092 Compiling manganis-core v0.7.91093 Compiling parking_lot v0.12.51094 Compiling manyhow-macros v0.11.41095 Compiling subsecond-types v0.7.91096 Compiling euclid v0.22.141097 Compiling toml_datetime v0.6.111098 Compiling serde_spanned v0.6.91099 Compiling quick-xml v0.38.41100 Compiling bincode v1.3.31101 Compiling ecow v0.2.61102 Compiling serde_urlencoded v0.7.11103 Compiling keyboard-types v0.7.01104 Compiling futures-intrusive v0.5.01105 Compiling fxprof-processed-profile v0.8.11106 Compiling serde_qs v0.15.01107 Compiling rmp-serde v1.3.11108 Compiling serde_plain v1.0.21109 Compiling kurbo v0.13.11110 Compiling hayro-syntax v0.7.21111 Compiling subsecond v0.7.91112 Compiling rustybuzz v0.20.11113 Compiling regalloc2 v0.15.11114 Compiling futures-executor v0.3.321115 Compiling js-sys v0.3.1031116 Compiling zstd v0.13.31117 Compiling tracing-subscriber v0.3.231118 Compiling cranelift-bitset v0.130.21119 Compiling rayon v1.12.01120 Compiling fontdb v0.23.01121 Compiling idna_adapter v1.2.21122 Compiling half v2.7.11123 Compiling http v1.4.21124 Compiling generational-box v0.7.91125 Compiling rand_chacha v0.9.01126 Compiling ciborium-ll v0.2.21127 Compiling cranelift-entity v0.130.21128 Compiling comemo v0.5.11129 Compiling futures v0.3.321130 Compiling typst-timing v0.15.01131 Compiling dioxus-core v0.7.91132 Compiling pulley-interpreter v43.0.21133 Compiling idna v1.1.01134 Compiling ciborium v0.2.21135 Compiling rand v0.9.41136 Compiling http v0.2.121137 Compiling svgtypes v0.16.11138 Compiling lipsum v0.9.11139 Compiling peniko v0.6.11140 Compiling url v2.5.81141 Compiling wasmtime-internal-jit-icache-coherence v43.0.21142 Compiling manyhow v0.11.41143 Compiling prost-derive v0.14.41144 Compiling cap-rand v3.4.51145 Compiling manganis-macro v0.7.91146 Compiling dashmap v6.2.11147 Compiling itertools v0.10.51148 Compiling cranelift-bforest v0.130.21149 Compiling serde-value v0.7.01150 Compiling citationberg v0.7.01151 Compiling usvg v0.47.01152 Compiling guillotiere v0.7.01153 Compiling sqlx-core v0.8.61154 Compiling extism-manifest v1.30.01155 Compiling serial_test v3.5.01156 Compiling cranelift-codegen-meta v0.130.21157 Compiling vello_common v0.0.81158 Compiling extism-convert-macros v1.30.01159 Compiling http-body v1.0.11160 Compiling tungstenite v0.29.01161 Compiling tungstenite v0.28.01162 Compiling headers-core v0.3.01163 Compiling http-body-util v0.1.31164 Compiling tungstenite v0.27.01165 Compiling http-body v0.4.61166 Compiling headers v0.4.11167 Compiling ureq-proto v0.6.01168 Compiling axum-core v0.5.61169 Compiling dioxus-logger v0.7.91170 Compiling dioxus-signals v0.7.91171 Compiling dioxus-history v0.7.91172 Compiling dioxus-devtools-types v0.7.91173 Compiling dioxus-ssr v0.7.91174 Compiling async-tungstenite v0.31.01175 Compiling manganis v0.7.91176 Compiling prost v0.14.41177 Compiling serde_yaml v0.9.34+deprecated1178 Compiling toml_edit v0.22.271179 Compiling plist v1.10.01180 Compiling dioxus-hooks v0.7.91181 Compiling vello_cpu v0.0.81182 Compiling petgraph v0.6.51183 Compiling hayro-write v0.7.01184 Compiling resvg v0.47.01185 Compiling dioxus-devtools v0.7.91186 Compiling skrifa v0.42.11187 Compiling syntect v5.3.01188 Compiling dioxus-html v0.7.91189 Compiling write-fonts v0.48.11190 Compiling extism-convert v1.30.01191 Compiling tower-cookies v0.11.01192 Compiling dioxus-stores v0.7.91193 Compiling unic-langid-macros v0.9.61194 Compiling rsa v0.9.101195 Compiling ureq v3.3.01196 Compiling unic-langid v0.9.61197 Compiling biblatex v0.12.01198 Compiling wasm-encoder v0.245.11199 Compiling wasmprinter v0.245.11200 Compiling rust_xlsxwriter v0.80.01201 Compiling cranelift-codegen v0.130.21202 Compiling sqlx-postgres v0.8.61203 Compiling extism v1.30.01204 Compiling web-sys v0.3.1031205 Compiling wasm-bindgen-futures v0.4.761206 Compiling wit-parser v0.245.11207 Compiling wasmtime-environ v43.0.21208 Compiling icu_locale v2.2.01209 Compiling icu_provider_blob v2.2.01210 Compiling icu_segmenter v2.2.01211 Compiling hayro-interpret v0.7.01212 Compiling two-face v0.4.51213 Compiling toml v0.8.231214 Compiling icu_collator v2.2.11215 Compiling wasmtime-internal-wit-bindgen v43.0.21216 Compiling wasm-compose v0.245.11217 Compiling typst-syntax v0.15.01218 Compiling addr2line v0.26.11219 Compiling publicsuffix v2.3.01220 Compiling tokio-util v0.7.181221 Compiling tower v0.5.31222 Compiling async-compression v0.4.421223 Compiling tokio-tungstenite v0.29.01224 Compiling tokio-rustls v0.24.11225 Compiling dioxus-fullstack-core v0.7.91226 Compiling tokio-rustls v0.26.41227 Compiling tokio-tungstenite v0.28.01228 Compiling tower-sessions-core v0.14.01229 Compiling sqlx-macros-core v0.8.61230 Compiling dioxus-asset-resolver v0.7.91231 Compiling subsetter v0.2.61232 Compiling hayagriva v0.10.11233 Compiling cookie_store v0.22.11234 Compiling ureq v2.12.11235 Compiling dioxus-router v0.7.91236 Compiling tower-sessions-memory-store v0.14.01237 Compiling tower-sessions v0.14.01238 Compiling h2 v0.4.151239 Compiling h2 v0.3.271240 Compiling tower-http v0.6.111241 Compiling krilla v0.8.21242 Compiling sqlx-macros v0.8.61243 Compiling hayro-svg v0.7.01244 Compiling hayro v0.7.11245 Compiling gloo-utils v0.2.01246 Compiling gloo-net v0.6.01247 Compiling wiggle-generate v43.0.21248 Compiling typst-library v0.15.01249 Compiling wasm-streams v0.4.21250 Compiling krilla-svg v0.8.11251 Compiling hyper v1.10.11252 Compiling hyper v0.14.321253 Compiling hyper-util v0.1.201254 Compiling axum v0.8.91255 Compiling hyper-rustls v0.27.91256 Compiling hyper-rustls v0.24.21257 Compiling reqwest v0.12.281258 Compiling reqwest v0.11.271259 Compiling sqlx v0.8.61260 Compiling horae-core v0.1.0 (/build/source/crates/core)1261 Compiling tower-sessions-sqlx-store v0.15.01262 Compiling oauth2 v4.4.21263 Compiling openidconnect v3.5.01264 Compiling axum-extra v0.10.31265 Compiling dioxus-server v0.7.91266 Compiling dioxus-fullstack v0.7.9 (/build/source/vendor/dioxus-fullstack-0.7.9)1267 Compiling dioxus v0.7.91268 Compiling cranelift-frontend v0.130.21269 Compiling cranelift-native v0.130.21270 Compiling wasmtime-internal-cranelift v43.0.21271 Compiling typst-layout v0.15.01272 Compiling typst-eval v0.15.01273 Compiling typst-kit v0.15.01274 Compiling typst-svg v0.15.01275 Compiling typst-pdf v0.15.01276 Compiling typst-html v0.15.01277 Compiling typst-realize v0.15.01278 Compiling typst v0.15.01279 Compiling typst-as-lib v0.16.01280 Compiling wiggle v43.0.21281 Compiling wasi-common v43.0.21282 Finished `test` profile [unoptimized + debuginfo] target(s) in 5m 39s1283 Running unittests src/main.rs (target/debug/deps/horae-5009cc8439fd9d15)12841285running 790 tests1286test auth::oidc::tests::deactivated_subject_match_is_denied ... ok1287test auth::oidc::tests::first_login_links_subject_via_verified_email ... ok1288test auth::oidc::tests::deactivated_email_match_is_denied ... ok1289test auth::oidc::tests::extra_audiences_are_trusted_only_when_listed ... ok1290test auth::oidc::tests::no_account_is_denied_not_provisioned ... ok1291test auth::oidc::tests::subject_match_logs_in_without_relinking ... ok1292test auth::oidc::tests::unverified_email_is_not_matched ... ok1293test auth::oidc::tests::subject_match_takes_precedence_over_email ... ok1294test auth::page::tests::configured_label_is_html_escaped ... ok1295test auth::page::tests::oidc_variant_uses_the_configured_label_and_hands_off_to_start ... ok1296test auth::page::tests::dev_variant_offers_the_admin_bypass_and_no_fake_controls ... ok1297test cli::imports::tests::missing_session_is_a_structured_configuration_failure ... ok1298test cli::imports::tests::session_rejects_cookie_header_injection_without_echoing_the_value ... ok1299test cli::tests::environment_probe ... ok1300test cli::imports::tests::retry_snapshot_is_compatible_with_missing_and_future_values ... ok1301test config::tests::dev_login_is_allowed_on_loopback ... ok1302test config::tests::dev_login_is_refused_off_loopback ... ok1303test config::tests::environment::environment_probe ... ok1304test cli::tests::remote_commands_reject_conflicting_or_unbounded_options ... ok1305test config::tests::without_dev_login_any_bind_is_fine ... ok1306test harvest::pagination_tests::harvest_pagination_total_pages_does_not_overflow ... ok1307test cli::tests::remote_import_and_job_commands_accept_the_documented_arguments ... ok1308test cli::imports::tests::session_rejects_public_permissions_and_symlinks ... ok1309test db::tests::pool_connections_force_custom_plans ... ok1310test config::tests::environment::example_environment_can_configure_all_required_oidc_and_harvest_fields ... ok1311test cli::imports::tests::private_session_accepts_https_and_loopback_only ... ok1312test cli::imports::tests::report_marks_confirmed_failed_outcomes_as_incomplete ... ok1313test cli::imports::tests::cancellation_racing_completion_does_not_claim_cancellation_was_requested ... ok1314test cli::imports::tests::malformed_submission_acknowledgement_retains_its_request_identity ... ok1315test harvest::tests::page_window_defaults_and_checked_offsets ... ok1316test cli::imports::tests::redirects_are_not_followed_or_exposed_as_server_error_text ... ok1317test cli::imports::tests::session_rejects_plaintext_remote_and_credential_bearing_urls ... ok1318test cli::imports::tests::invalid_csv_files_fail_before_contacting_the_server ... ok1319test cli::imports::tests::api_submission_captures_generation_without_retrying_uncertain_acceptance ... ok1320test cli::imports::tests::csv_named_pipe_is_rejected_without_waiting_for_a_writer ... ok1321test config::tests::environment::obsolete_authentication_variables_do_not_configure_the_server ... ok1322test cli::imports::tests::missing_and_mismatched_jobs_fail_without_substitution ... ok1323test config::tests::environment::empty_environment_has_no_authentication_or_plugin_credentials ... ok1324test cli::tests::default_command_uses_the_same_defaults_and_environment_as_serve ... ok1325test config::tests::environment::partial_oidc_configuration_remains_disabled_without_a_callback ... ok1326test importers::harvest::api_source::http::tests::cancelled_backoff_does_not_wait_or_retry ... ok1327test importers::harvest::api_source::http::tests::cursor_links_are_authoritative_even_with_null_or_stale_page_numbers ... ok1328test cli::imports::tests::status_and_wait_distinguish_failed_jobs_from_failed_reads ... ok1329test cli::imports::tests::ordinary_json_is_bounded_and_invalid_replies_are_not_echoed ... ok1330test config::tests::environment::job_attempt_limit_uses_the_documented_environment_variable ... ok1331test importers::harvest::api_source::http::tests::missing_next_cursor_is_not_silently_treated_as_completed ... ok1332test config::tests::environment::mail_environment_requires_a_complete_valid_configuration ... ok1333test cli::tests::default_command_rejects_invalid_environment_ports ... ok1334test importers::harvest::api_source::http::tests::pagination_cycle_detection_survives_restarting_after_every_page ... ok1335test importers::harvest::api_source::http::tests::rejects_pagination_outside_the_authenticated_endpoint ... ok1336test importers::harvest::api_source::http::tests::rejected_page_does_not_advance_the_cursor ... ok1337test importers::harvest::api_source::http::tests::persisted_cursor_resumes_with_a_new_client_and_stays_complete_at_eof ... ok1338test importers::harvest::api_source::tests::assembled_rows_convert_to_exact_minutes ... ok1339test importers::harvest::api_source::http::tests::resumed_cursor_rejects_untrusted_destinations_and_invalid_state_before_http ... ok1340test importers::harvest::api_source::tests::hours_render_as_exact_decimals ... ok1341test importers::harvest::api_source::tests::assembles_rows_joining_parents_by_id ... ok1342test importers::harvest::api_source::tests::json_exponents_expand_exactly_with_bounded_output ... ok1343test importers::harvest::api_source::tests::http_page_preserves_decimal_values_before_integer_conversion ... ok1344test importers::harvest::credentials::tests::bad_key_length_is_rejected ... ok1345test cli::imports::tests::archived_errors_publish_without_clobbering_and_preserve_the_prior_file_on_failure ... ok1346test config::tests::environment::invalid_job_attempt_limits_reject_startup ... ok1347test config::tests::environment::secure_cookies_use_the_documented_prefixed_variable ... ok1348test importers::harvest::api_source::http::tests::http_pages_follow_cursor_and_preserve_headers_and_encoded_filter ... ok1349test importers::harvest::credentials::tests::decode_hex_rejects_bad_input ... ok1350test importers::harvest::api_source::http::tests::http_retries_429_but_never_follows_redirects_or_shortens_long_backoff ... ok1351test importers::harvest::credentials::tests::encrypt_then_decrypt_round_trips ... ok1352test importers::harvest::api_source::http::tests::http_rejects_oversized_malformed_and_cyclic_pages ... ok1353test importers::harvest::api_source::http::tests::slow_consumer_backpressures_http_and_cancellation_stops_further_pages ... ok1354test importers::harvest::credentials::tests::nonce_makes_ciphertext_nondeterministic ... ok1355test cli::imports::tests::wait_deadline_caps_a_pending_request_without_cancelling_the_job ... ok1356test auth::oidc::tests::linking::unverified_email_cannot_link_an_account ... ok1357test importers::harvest::credentials::tests::wrong_key_fails_to_decrypt ... ok1358test importers::harvest::csv_source::tests::bad_date_becomes_a_row_error_not_a_rejection ... ok1359test importers::harvest::csv_source::tests::conflicting_email_aliases_error_only_the_affected_row ... ok1360test importers::harvest::csv_source::tests::csv_records_preserve_multiline_unicode_across_single_byte_reads ... ok1361test importers::harvest::csv_source::tests::cursor_beyond_upload_is_rejected_without_parsing_rows ... ok1362test importers::harvest::csv_source::tests::cursor_resumes_after_multiline_unicode_and_preserves_error_locations ... ok1363test importers::harvest::csv_source::tests::delivers_a_row_before_reading_the_rest_of_the_file ... ok1364test importers::harvest::csv_source::tests::empty_file_is_rejected ... ok1365test importers::harvest::csv_source::tests::identity_columns_are_required_and_cannot_repeat ... ok1366test importers::harvest::csv_source::tests::invalid_utf8_errors_one_record_and_continues ... ok1367test importers::harvest::csv_source::tests::missing_required_columns_is_rejected ... ok1368test importers::harvest::csv_source::tests::names_stay_separate_from_optional_email ... ok1369test importers::harvest::csv_source::tests::parse_bool_accepts_yes_variants ... ok1370test importers::harvest::csv_source::tests::parses_rows_case_insensitively ... ok1371test harvest::tests::a_member_sees_only_their_own_time_entries ... ok1372test harvest::tests::a_member_cannot_list_users ... ok1373test harvest::tests::a_manager_lists_users_with_their_rates ... ok1374test auth::oidc::tests::linking::simultaneous_logins_with_the_same_subject_are_allowed ... ok1375test auth::oidc::tests::linking::existing_subject_wins_over_another_accounts_email ... ok1376test auth::oidc::tests::linking::different_subjects_cannot_both_claim_an_unlinked_account ... ok1377test importers::harvest::account_switch::tests::change_preserves_terminal_history_and_rejects_stale_confirmation ... ok1378test harvest::tests::a_member_cannot_filter_to_a_colleague ... ok1379test importers::harvest::credentials::tests::same_account_reconnect_rotates_encryption_without_resetting_watermarks ... ok1380test auth::oidc::tests::linking::deactivation_during_first_link_denies_login ... ok1381test harvest::tests::a_member_cannot_fetch_a_colleagues_entry ... ok1382test importers::harvest::credentials::tests::concurrent_first_connections_cannot_bind_different_accounts ... ok1383test importers::harvest::account_switch::tests::successful_change_preserves_business_rows_and_failure_rolls_back_secrets ... ok1384test importers::harvest::account_switch::tests::a_b_a_keeps_old_callbacks_requests_and_retries_fenced ... ok1385test harvest::tests::a_manager_sees_the_whole_org ... ok1386test harvest::tests::members_cannot_read_own_project_rates_or_cost_overrides ... ok1387test importers::harvest::credentials::tests::migration_binds_existing_connections_without_changing_secrets_or_markers ... ok1388test harvest::tests::harvest_entry_rates_respect_selected_project_mode ... ok1389test importers::harvest::credentials::tests::connection_changes_work_with_a_single_connection_pool ... ok1390test importers::harvest::account_switch::tests::queue_acceptance_does_not_wait_for_the_import_session_lock ... ok1391test harvest::tests::harvest_marks_unbilled_non_billable_contexts_consistently ... ok1392test importers::harvest::credentials::tests::connect_and_disconnect_share_import_exclusion_without_blocking_other_orgs ... ok1393test importers::harvest::credentials::tests::another_account_cannot_replace_credentials_or_watermarks ... ok1394test importers::harvest::credentials::tests::disconnect_preserves_identity_and_provenance_for_the_original_account ... ok1395test importers::harvest::account_switch::tests::running_jobs_block_change_and_old_execution_never_reaches_http ... ok1396test harvest::pagination_tests::harvest_pagination_catalog_links_preserve_filters_and_break_name_ties ... ok1397test harvest::tests::harvest_effective_minutes_match_sql_for_open_and_frozen_time ... ok1398test importers::harvest::account_switch::tests::queued_work_and_provenance_block_without_changing_binding ... ok1399test importers::harvest::credentials::tests::failed_credential_write_does_not_leave_an_account_binding ... ok1400test importers::harvest::account_switch::tests::competing_change_and_submission_cannot_both_succeed ... ok1401test importers::harvest::engine_tests::csv_streaming::measure_csv_durable_100k ... ignored, 100,000-row durable CSV measurement; run explicitly with --release --nocapture1402test 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 --nocapture1403test importers::harvest::engine_tests::csv_streaming::measure_csv_streaming_100k ... ignored, 100,000-row CSV measurement; run explicitly with --release --nocapture1404test 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 --nocapture1405test importers::harvest::account_switch::tests::retry_and_change_are_serialized ... ok1406test importers::harvest::credentials::tests::unidentified_legacy_provenance_requires_operator_review ... ok1407test importers::harvest::account_switch::tests::disconnect_and_reconnect_fence_callbacks_but_not_same_account_work ... ok1408test db::tests::reset_empties_the_database_and_reapplies_migrations ... ok1409test harvest::tests::harvest_entry_rates_follow_the_cascade_and_frozen_invoice_line ... ok1410test importers::harvest::account_switch::tests::competing_callbacks_and_confirmations_have_one_winner ... ok1411test importers::harvest::engine_tests::api_and_csv_share_the_lock_but_other_organizations_can_import ... ok1412test importers::harvest::engine_tests::api_connection_checks_work_with_a_single_connection_pool ... ok1413test importers::harvest::engine_tests::bad_records_are_reported_and_run_continues ... ok1414test importers::harvest::engine_tests::lookup_cache::cold_query_callsite_on_untraced_thread_is_still_captured ... ok1415test importers::harvest::engine_tests::csv_streaming::cancelling_a_csv_waiting_for_more_bytes_releases_its_session ... ok1416test importers::harvest::engine_tests::csv_import_populates_and_is_idempotent ... ok1417test importers::harvest::engine_tests::cancelled_http_waiter_keeps_the_lock_until_its_worker_exits ... ok1418test importers::harvest::engine_tests::csv_name_only_matches_one_org_user_and_reimports_without_duplicates ... ok1419test importers::harvest::engine_tests::distinct_harvest_ids_with_identical_fields_import_as_two ... ok1420test harvest::pagination_tests::harvest_pagination_malformed_filters_are_client_errors ... ok1421test importers::harvest::engine_tests::cancellation_rolls_back_rows_and_releases_the_import_session ... ok1422test importers::harvest::engine_tests::csv_malformed_file_is_rejected_with_no_writes ... ok1423test importers::harvest::engine_tests::csv_streaming::csv_applies_before_eof_but_transport_failure_rolls_back_everything ... ok1424test importers::harvest::engine_tests::csv_ambiguous_names_include_inactive_users_but_unique_email_disambiguates ... ok1425test importers::harvest::engine_tests::failed_source_releases_the_session_and_rolls_back_partial_rows ... ok1426test importers::harvest::engine_tests::api_sync_adopts_entries_from_a_prior_csv_import ... ok1427test importers::harvest::oauth::tests::authorize_url_carries_state_and_encoded_redirect ... ok1428test importers::harvest::oauth::tests::authorize_url_preserves_query_values_without_injecting_parameters ... ok1429test importers::harvest::oauth_callback_tests::account_policy_failures_return_safe_actionable_conflicts ... ok1430test importers::harvest::oauth_callback_tests::mismatched_state_is_rejected_without_a_code ... ok1431test importers::harvest::oauth_callback_tests::missing_returned_state_is_rejected ... ok1432test importers::harvest::oauth_callback_tests::missing_stored_state_is_rejected ... ok1433test importers::harvest::oauth_callback_tests::provider_error_is_rejected_before_exchange ... ok1434test importers::harvest::oauth_callback_tests::valid_matching_state_yields_the_code ... ok1435test importers::harvest::oauth_callback_tests::valid_state_but_missing_code_is_rejected ... ok1436test importers::harvest::report::tests::archive_metadata_cannot_masquerade_as_a_legacy_or_inconsistent_report ... ok1437test importers::harvest::report::tests::archived_report_round_trips_without_losing_error_accounting ... ok1438test importers::harvest::engine_tests::csv_name_only_dry_run_and_duplicate_occurrences_preserve_history ... ok1439test importers::harvest::report::tests::legacy_report_preserves_its_counts_and_error_details ... ok1440test importers::harvest::report::tests::serialized_report_has_a_supported_schema_version ... ok1441test importers::harvest::report::tests::report_rejects_unsupported_and_invalid_versions ... ok1442test importers::harvest::resolve::checkpoint_tests::run_cache_round_trip_preserves_identity_namespaces_and_occurrences ... ok1443test importers::harvest::engine_tests::full_import_creates_all_levels_with_exact_minutes ... ok1444test importers::harvest::engine_tests::csv_streaming::csv_preview_errors_and_repeated_rows_match_commit_and_reimport ... ok1445test importers::harvest::engine_tests::csv_name_fallback_requires_a_full_unique_name_and_never_overrides_email ... ok1446test importers::harvest::engine_tests::edited_entry_still_matched_by_provenance ... ok1447test importers::harvest::engine_tests::concurrent_imports_reject_overlap_without_collapsing_repeated_entries ... ok1448test importers::harvest::engine_tests::dry_run_writes_nothing_and_matches_commit ... ok1449test importers::harvest::engine_tests::import_rejects_ambiguous_normalized_email_without_partial_writes ... ok1450test importers::harvest::engine_tests::csv_streaming::durable_csv_stale_commit_is_fenced_without_a_heartbeat ... ok1451test importers::harvest::engine_tests::lookup_cache::cached_email_and_full_name_do_not_share_a_namespace ... ok1452test importers::harvest::engine_tests::csv_streaming::durable_csv_report_metadata_is_bounded_after_recovery ... ok1453test importers::harvest::engine_tests::lookup_cache::cached_project_task_still_validates_each_rows_rate ... ok1454test importers::harvest::engine_tests::lookup_cache::lookup_index_migration_preserves_existing_ambiguous_identities ... ok1455test importers::harvest::credentials::tests::completed_credential_changes_allow_immediate_retries ... ok1456test importers::harvest::engine_tests::completed_imports_allow_immediate_retries ... ok1457test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_crosses_batch_boundaries_without_committing_domain_data ... ok1458test importers::harvest::streaming::tests::api_planning_policy_ends_with_the_transaction ... ok1459test importers::harvest::engine_tests::overflowing_decimals_fail_only_their_rows ... ok1460test importers::harvest::engine_tests::lookup_cache::project_task_cache_distinguishes_both_sides_of_the_link ... ok1461test importers::harvest::engine_tests::lookup_cache::new_run_rechecks_previously_cached_user_for_ambiguity ... ok1462test importers::harvest::resolve::preview::tests::checkpoint_restores_known_task_currency_and_keeps_old_currency_unknown ... ok1463test importers::harvest::resolve::preview::tests::rejects_foreign_parent_snapshots_before_restoring_any_rows ... ok1464test importers::harvest::engine_tests::lookup_cache::rolled_back_row_does_not_cache_user_or_project_task ... ok1465test importers::harvest::engine_tests::natural_key_reimport_normalizes_whitespace_and_ascii_case ... ok1466test importers::harvest::engine_tests::reimporting_identical_csv_rows_is_idempotent ... ok1467test importers::harvest::engine_tests::second_identical_run_creates_nothing ... ok1468test importers::harvest::engine_tests::two_identical_csv_rows_import_as_two_entries ... ok1469test importers::harvest::engine_tests::submission_barrier_blocks_imported_time_entries ... ok1470test importers::harvest::engine_tests::watermark_advances_only_on_commit ... ok1471test importers::harvest::sync_tests::api_rejects_ambiguous_email_without_advancing_watermark ... ok1472test importers::harvest::sync_tests::api_requires_email_even_when_full_name_matches ... ok1473test importers::harvest::streaming::durable::preview::tests::restoration_omits_unneeded_virtual_entries ... ok1474test harvest::pagination_tests::harvest_pagination_empty_and_out_of_range_pages_keep_the_contract ... ok1475test importers::harvest::engine_tests::csv_streaming::csv_sql_backpressure_stops_reading_later_input_rows ... ok1476test importers::harvest::sync_tests::empty_sync_does_not_invent_a_watermark ... ok1477test importers::harvest::sync_tests::dry_run_leaves_data_provenance_and_watermark_unchanged ... ok1478test importers::harvest::sync_tests::disconnect_and_reconnect_preserves_imported_records_and_exact_identity ... ok1479test importers::harvest::sync_tests::exact_api_decimals_survive_preview_commit_and_reimport ... ok1480test importers::harvest::sync_tests::failed_rows_are_available_to_the_next_incremental_retry ... ok1481test importers::harvest::sync_tests::failed_client_propagates_to_project_and_entry_without_placeholder_records ... ok1482test importers::harvest::sync_tests::missing_client_fallback_and_failed_project_savepoints_do_not_poison_cache ... ok1483test importers::harvest::sync_tests::invalid_parent_blocks_dependent_time_but_other_catalog_records_survive ... ok1484test importers::harvest::sync_tests::missing_source_timestamp_keeps_the_previous_watermark ... ok1485test importers::harvest::sync_tests::scale::api_100k_commit_and_reimport ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture1486test importers::harvest::sync_tests::scale::api_100k_dry_run ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture1487test importers::harvest::sync_tests::scale::api_durable_100k_commit_and_reimport ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture1488test importers::harvest::sync_tests::scale::api_durable_100k_dry_run ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture1489test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_resumes_after_a_crash_without_recounting_rows ... ok1490test importers::harvest::engine_tests::csv_streaming::durable_csv_resumes_committed_batches_without_recounting_duplicate_rows ... ok1491test importers::harvest::sync_tests::paging::cancelled_page_consumer_retains_lock_until_worker_exits_and_rolls_back ... ok1492test importers::harvest::sync_tests::out_of_range_api_decimals_error_per_row_and_leave_retry_watermark ... ok1493test harvest::pagination_tests::harvest_project_cost_overrides_require_admin_without_fabricated_fallback ... ok1494test importers::harvest::engine_tests::lookup_cache::repeated_rows_resolve_each_user_and_project_task_once ... ok1495test importers::harvest::sync_tests::checkpoints::durable_api_finalization_retry_does_not_repeat_completed_downloads ... ok1496test importers::harvest::sync_tests::checkpoints::durable_api_cancellation_preserves_confirmed_pages_for_manual_retry ... ok1497test importers::harvest::sync_tests::parent_only_dry_run_previews_without_persisting_catalog ... ok1498test importers::harvest::sync_tests::checkpoints::durable_api_preview_cancellation_preserves_confirmed_pages_for_manual_retry ... ok1499test importers::harvest::sync_tests::checkpoints::durable_api_preview_finalization_retry_does_not_repeat_completed_downloads ... ok1500test importers::harvest::sync_tests::paging::durable_api_stale_commit_cannot_advance_data_or_watermark ... ok1501test importers::harvest::sync_tests::parent_catalog_preserves_metadata_and_counts_each_entity_once ... ok1502test importers::harvest::sync_tests::parent_only_api_import_creates_catalog_and_reimport_skips_it ... ok1503test importers::harvest::sync_tests::paging::later_download_failure_rolls_back_parents_rows_and_watermark ... ok1504test importers::harvest::sync_tests::refreshed_tokens_survive_a_dry_run_rollback_in_the_same_import_session ... ok1505test importers::harvest::sync_tests::checkpoints::durable_api_preview_resume_preserves_row_errors ... ok1506test importers::harvest::sync_tests::checkpoints::durable_api_preview_reclaimed_worker_cannot_checkpoint_its_next_page ... ok1507test importers::harvest::sync_tests::watermark_never_passes_the_start_of_capture ... ok1508test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_rejects_a_stale_next_batch ... ok1509test importers::harvest::sync_tests::watermark_write_failure_rolls_back_imported_data ... ok1510test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_catalog_download ... ok1511test importers::harvest::sync_tests::successful_sync_only_marks_the_incrementally_fetched_entity ... ok1512test init::tests::init_creates_one_org_and_one_admin_and_nothing_else ... ok1513test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_joins_parser_and_preserves_committed_rows ... ok1514test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_pages_without_publishing_domain_data ... ok1515test importers::harvest::sync_tests::checkpoints::failed_api_commit_publishes_its_last_confirmed_page_report ... ok1516test harvest::pagination_tests::harvest_project_progress_permissions_cover_counts_pages_and_details ... ok1517test importers::harvest::sync_tests::checkpoints::durable_api_resumes_committed_pages_and_preserves_the_high_watermark ... ok1518test importers::harvest::sync_tests::checkpoints::durable_api_resume_keeps_earlier_errors_and_does_not_advance_watermark ... ok1519test importers::harvest::sync_tests::checkpoints::durable_api_resumes_a_partially_downloaded_catalog ... ok1520test importers::harvest::sync_tests::checkpoints::durable_api_reclaimed_worker_cannot_commit_its_next_page ... ok1521test importers::harvest::sync_tests::checkpoints::durable_api_resume_remembers_an_earlier_missing_timestamp ... ok1522test importers::harvest::sync_tests::checkpoints::failed_api_preview_publishes_its_last_confirmed_page_report ... ok1523test jobs::tests::cancellation_and_retry_are_scoped_and_idempotent ... ok1524test init::tests::init_refuses_when_an_organization_exists ... ok1525test importers::harvest::engine_tests::csv_streaming::durable_csv_reclaimed_lease_cannot_commit_the_next_batch ... ok1526test jobs::tests::claims_are_atomic_and_expired_leases_recover ... ok1527test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_cancel_preserves_simulation_for_manual_retry ... ok1528test jobs::tests::history_paginates_tied_timestamps_and_rejects_foreign_cursors ... ok1529test jobs::tests::outbox_delivery_is_idempotent ... ok1530test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_after_a_confirmed_parent_batch ... ok1531test jobs::tests::payload_kind_is_stable_and_round_trips ... ok1532test jobs::tests::payload_versions_preserve_legacy_jobs_and_reject_unknown_versions ... ok1533test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_preserves_its_completed_batches_for_manual_retry ... ok1534test jobs::tests::retry_snapshot_does_not_guess_unknown_payloads_or_sources ... ok1535test importers::harvest::sync_tests::checkpoints::durable_api_resumes_after_a_confirmed_parent_batch ... ok1536test jobs::tests::shutdown_deadline_drops_and_joins_in_flight_work ... ok1537test jobs::tests::shutdown_waits_for_in_flight_work ... ok1538test jobs::tests::failed_csv_commit_retains_confirmed_report_through_history_and_retry ... ok1539test jobs::tests::retry_snapshot_matches_status_and_list_without_exposing_payload ... ok1540test importers::harvest::engine_tests::large_run_reuses_parents_and_reconciles_totals ... ok1541test importers::harvest::sync_tests::paging::invalid_and_missing_timestamp_rows_cross_page_boundaries_without_advancing ... ok1542test jobs::tests::synthetic_job_uses_the_same_registered_envelope ... ok1543test jobs::tests::expired_final_attempt_fails_without_claiming_again ... ok1544test models::project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok1545test models::project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok1546test models::project_creation::tests::unknown_draft_fields_are_rejected ... ok1547test importers::harvest::sync_tests::paging::durable_api_cancel_waits_for_the_producer_before_acknowledging ... ok1548test notifications::tests::cancelling_delivery_kills_the_active_sender ... ok1549test jobs::tests::upload_organization_must_match_its_job ... ok1550test harvest::pagination_tests::harvest_pagination_rejects_invalid_windows_on_every_collection ... ok1551test notifications::tests::acknowledged_email_is_never_claimed_again ... ok1552test notifications::tests::mail_configuration_is_disabled_by_default_and_rejects_partial_values ... ok1553test notifications::tests::mail_configuration_requires_an_executable_file_and_safe_sender ... ok1554test notifications::tests::disabled_mail_worker_does_not_claim_pending_notifications ... ok1555test notifications::tests::recipient_injection_is_rejected_before_starting_a_process ... ok1556test notifications::tests::rendered_mail_bounds_body_lines_for_long_unicode_and_control_names ... ok1557test notifications::tests::failed_email_retries_same_identity_and_eventually_stops ... ok1558test notifications::tests::mail_worker_delivers_only_its_kind_and_drains_cleanly ... ok1559test notifications::tests::foreign_notification_payload_is_terminal_and_never_sent ... ok1560test notifications::tests::sendmail_failure_does_not_expose_program_output ... ok1561test notifications::tests::sendmail_receives_fixed_arguments_and_stable_message_identity ... ok1562test importers::harvest::sync_tests::checkpoints::durable_api_preview_preserves_adoptions_and_repeated_ids_across_recovery ... ok1563test notifications::tests::retry_can_recover_without_changing_message_identity ... ok1564test pages::importers::presentation::tests::interrupted_report_is_partial_regardless_of_retry_prerequisites ... ok1565test pages::importers::presentation::tests::no_selection_does_not_claim_no_import_history ... ok1566test pages::importers::presentation::tests::source_labels_do_not_guess_unknown_importers ... ok1567test pages::importers::presentation::tests::states_and_phases_have_readable_unknown_fallbacks ... ok1568test pages::importers::presentation::tests::summaries_distinguish_zero_skipped_and_mixed_outcomes ... ok1569test pages::invoices::defaults_form::tests::invoice_fields_bound_metadata_by_characters_and_reject_nul ... ok1570test pages::invoices::defaults_form::tests::invoice_fields_preserve_exact_percentages_and_custom_terms ... ok1571test pages::invoices::defaults_form::tests::invoice_fields_preserve_receipt_terms_and_empty_optional_percentages ... ok1572test pages::invoices::defaults_form::tests::invoice_fields_reject_invalid_percentages_terms_and_second_tax ... ok1573test pages::invoices::preparation::fees::tests::fee_inputs_require_exact_amounts_and_an_explicit_positive_charge ... ok1574test pages::invoices::preparation::fees::tests::refresh_keeps_raw_edits_and_does_not_select_new_sources ... ok1575test pages::invoices::preparation::fees::tests::refresh_preserves_missing_or_relabelled_edits_until_explicit_removal ... ok1576test pages::invoices::preparation::tests::invoice_review_requires_matching_sources_and_valid_values ... ok1577test pages::new_project::basics::tests::a_batch_that_would_exceed_the_tag_limit_is_rejected ... ok1578test pages::new_project::basics::tests::a_full_tag_list_still_accepts_a_duplicate ... ok1579test pages::new_project::basics::tests::overlong_tags_are_rejected_without_truncation ... ok1580test pages::new_project::basics::tests::tag_length_counts_characters_instead_of_bytes ... ok1581test pages::new_project::basics::tests::tags_trim_and_deduplicate_without_changing_existing_spelling ... ok1582test pages::new_project::billing::tests::budget_errors_target_a_control_that_can_be_corrected ... ok1583test pages::new_project::draft::tests::a_mismatched_acknowledgement_does_not_lose_pending_input ... ok1584test pages::new_project::draft::tests::a_retry_keeps_the_unacknowledged_payload_and_revision ... ok1585test pages::new_project::draft::tests::a_validation_rejection_allows_corrected_input_at_the_same_revision ... ok1586test pages::new_project::draft::tests::an_empty_form_is_not_reported_as_saved ... ok1587test pages::new_project::draft::tests::resuming_preserves_the_server_identity_and_incomplete_fields ... ok1588test pages::new_project::team::tests::adding_everyone_deduplicates_without_replacing_project_overrides ... ok1589test pages::new_project::team::tests::exceeding_the_team_limit_does_not_partially_add_people ... ok1590test pages::new_project::team::tests::removing_a_member_keeps_an_empty_restricted_task_restricted ... ok1591test pages::new_project::tests::a_rejected_creation_can_be_edited_but_an_uncertain_commit_must_be_retried ... ok1592test pages::new_project::tests::only_known_validation_fields_can_target_a_control ... ok1593test pages::projects::budget_display_tests::configured_scopes_sum_without_hiding_an_individual_overrun ... ok1594test pages::projects::budget_display_tests::display_preserves_units_sign_and_large_integer_values ... ok1595test pages::projects::budget_display_tests::tag_filter_matches_identity_without_duplicates_or_name_collisions ... ok1596test pages::projects::budget_display_tests::unallocated_zero_and_overflow_budgets_are_not_conflated ... ok1597test pages::reports::tests::cost_total_uses_organization_currency_across_billing_currencies ... ok1598test pages::reports::tests::mixed_currencies_are_not_added_even_when_the_numbers_would_overflow ... ok1599test pages::reports::tests::monetary_total_overflow_is_visible_instead_of_panicking ... ok1600test pages::reports::tests::redacted_costs_do_not_become_zero_or_partial_totals ... ok1601test pages::reports::tests::single_currency_totals_are_formatted_and_empty_reports_have_no_amount ... ok1602test pages::timesheet::tests::cal_span_day_shows_only_the_anchor_column ... ok1603test pages::timesheet::tests::cal_span_defaults_to_week ... ok1604test pages::timesheet::tests::cal_span_unknown_falls_back_to_week ... ok1605test pages::timesheet::tests::cal_span_url_roundtrips ... ok1606test pages::timesheet::tests::cal_span_week_shows_all_seven_days ... ok1607test pages::timesheet::tests::cal_span_work_week_preserves_date_order_across_weekends ... ok1608test pages::timesheet::tests::cal_span_work_week_shows_monday_to_friday ... ok1609test pages::timesheet::tests::cal_span_work_week_skips_sunday_when_it_is_the_first_column ... ok1610test pages::timesheet::tests::day_col_class_marks_today ... ok1611test pages::timesheet::tests::day_col_class_marks_weekend ... ok1612test pages::timesheet::tests::day_col_class_plain_weekday ... ok1613test pages::timesheet::tests::day_col_class_today_wins_over_weekend ... ok1614test pages::timesheet::tests::invalid_duration_cannot_start_a_timer_save_or_clear_a_cell ... ok1615test pages::timesheet::tests::only_a_blank_duration_can_start_an_eligible_timer ... ok1616test pages::timesheet::tests::timed_lanes_still_widens_overlapping_entries ... ok1617test pages::timesheet::tests::timed_lanes_terminates_on_a_zero_length_entry ... ok1618test pages::timesheet::tests::today_offset_is_none_after_the_week ... ok1619test pages::timesheet::tests::today_offset_is_none_before_the_week ... ok1620test pages::timesheet::tests::today_offset_is_six_on_the_sunday ... ok1621test pages::timesheet::tests::today_offset_is_zero_on_the_monday ... ok1622test pages::timesheet::tests::value_cell_class_empty_wins_over_today ... ok1623test pages::timesheet::tests::value_cell_class_marks_today_when_nonzero ... ok1624test pages::timesheet::tests::weekend_style_follows_the_date_not_the_column_offset ... ok1625test pages::timesheet::tests::weekly_duration_edit_preserves_nine_am_start_notes_and_billability ... ok1626test pages::timesheet::tests::weekly_new_entries_are_untimed_and_explicit_clears_still_work ... ok1627test notifications::tests::verbose_sender_output_is_discarded_without_blocking_delivery ... ok1628test jobs::report::stream_tests::download_keeps_its_snapshot_when_later_progress_archives_the_inline_tail ... ok1629test importers::harvest::engine_tests::csv_streaming::csv_measurement_recovers_a_complete_batch_without_recounting ... ok1630test notifications::tests::revoked_recipient_does_not_receive_a_pending_email ... ok1631test notifications::tests::stale_email_lease_cannot_start_delivery ... ok1632test plugin::database::tests::application_database_owner_is_not_a_plugin_identity ... ok1633test jobs::tests::stopped_worker_leaves_queued_jobs_unclaimed ... ok1634test plugin::database::tests::dedicated_reader_is_accepted_but_new_write_grants_are_rejected ... ok1635test plugin::event::tests::active_transition_fires_only_on_a_real_flip ... ok1636test plugin::event::tests::budget_and_timer_events_serialize ... ok1637test plugin::event::tests::new_events_have_stable_hook_names ... ok1638test plugin::event::tests::project_membership_payload_excludes_private_configuration ... ok1639test plugin::event::tests::role_change_event_carries_previous_role ... ok1640test plugin::event::tests::submission_event_serializes_payload ... ok1641test plugin::event::tests::us2_events_have_stable_hook_names ... ok1642test plugin::database::tests::reader_accepts_optional_first_party_rounding_helper ... ok1643test plugin::host::tests::config_lookup::a_set_key_is_returned ... ok1644test plugin::host::tests::config_lookup::an_unset_key_is_none ... ok1645test plugin::database::tests::project_configuration_is_private_even_when_plugin_grants_are_misconfigured ... ok1646test plugin::database::tests::reader_cannot_execute_security_definer_functions ... ok1647test plugin::database::tests::reader_cannot_have_access_to_credentials ... ok1648test plugin::database::tests::reader_cannot_switch_into_another_role ... ok1649test plugin::host::tests::database_tests::unconfigured_sql_never_falls_back_to_application_state ... ok1650test jobs::tests::synthetic_job_executes_through_claim_and_completion ... ok1651test plugin::host::tests::response_shaping::error_json_wraps_the_message ... ok1652test plugin::database::tests::reader_rejects_unapproved_invoker_functions ... ok1653test plugin::host::tests::response_shaping::http_body_accepts_the_size_limit_and_rejects_larger_responses ... ok1654test plugin::host::tests::response_shaping::http_response_carries_status_and_body ... ok1655test plugin::host::tests::response_shaping::invalid_http_utf8_is_an_error_not_an_empty_success ... ok1656test plugin::host::tests::statement_is_read_only::a_cte_select_is_allowed ... ok1657test plugin::host::tests::statement_is_read_only::a_second_statement_is_rejected ... ok1658test plugin::host::tests::statement_is_read_only::a_single_trailing_semicolon_is_allowed ... ok1659test plugin::host::tests::statement_is_read_only::a_write_hidden_behind_a_comment_is_rejected ... ok1660test plugin::host::tests::statement_is_read_only::plain_select_is_allowed ... ok1661test plugin::host::tests::statement_is_read_only::writes_are_rejected ... ok1662test plugin::host::tests::wrap_select::strips_a_trailing_semicolon_before_wrapping ... ok1663test plugin::host::tests::wrap_select::wraps_as_a_bounded_row_query ... ok1664test plugin::manifest::tests::config_defaults_to_empty_when_absent ... ok1665test plugin::manifest::tests::accepts_all_published_business_events ... ok1666test plugin::manifest::tests::parse_valid_manifest ... ok1667test plugin::manifest::tests::parses_optional_config_table ... ok1668test plugin::manifest::tests::reject_empty_hooks ... ok1669test plugin::manifest::tests::reject_unknown_hook ... ok1670test importers::harvest::sync_tests::scale::http_pages_preview_commit_and_reimport ... ok1671test plugin::host::tests::database_queries_preserve_parameters_and_rollback_session_settings ... ok1672test plugin::host::tests::database_tests::query_discards_session_advisory_locks ... ok1673test notifications::tests::sendmail_timeout_kills_and_reaps_the_child ... ok16741675running 1 test1676test plugin::host::tests::database_tests::select_cannot_write_or_gain_application_privileges ... ok1677test plugin::host::tests::database_tests::query_results_are_bounded_without_silent_truncation ... ok1678test importers::harvest::sync_tests::scale::durable_measurement_finishes_from_its_eof_checkpoint ... ok1679test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok16801681test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 789 filtered out; finished in 0.44s168216831684running 1 test1685test plugin::registry::tests::initialization::instruction_budget_is_replenished_for_each_call ... ok1686test plugin::registry::tests::isolation::cancelling_a_waiter_keeps_capacity_reserved_until_the_host_call_exits ... ok1687test plugin::registry::tests::isolation::confirmed_dispatch_returns_overload_for_retry ... ok1688test plugin::registry::tests::isolation::confirmed_dispatch_attempts_other_plugins_after_one_fails ... ok1689test plugin::registry::tests::isolation::confirmed_dispatch_returns_plugin_failure_for_retry ... ok1690test plugin::registry::tests::isolation::confirmed_dispatch_waits_for_the_plugin_to_finish ... ok1691test plugin::registry::tests::isolation::events_execute_outside_the_async_worker ... ok1692test plugin::registry::tests::isolation::different_plugins_share_the_running_call_limit ... ok1693test harvest::tests::imported_legacy_rates_survive_retry_in_harvest_list_and_detail ... ok1694test plugin::registry::tests::isolation::loaded_plugins_cannot_start_with_excessive_memory ... ok1695test plugin::registry::tests::isolation::loaded_plugins_cannot_grow_memory_past_the_limit ... ok1696test plugin::registry::tests::isolation::pending_capacity_rejects_new_work_without_spawning_tasks ... ok1697test plugin::registry::tests::isolation::widgets_execute_outside_the_async_worker ... ok1698test plugin::registry::tests::isolation::oversized_wasm_output_is_rejected_before_copying_it ... ok1699test plugin::registry::tests::load_empty_directory ... ok1700test plugin::registry::tests::load_nonexistent_directory ... ok1701test render::tests::invoice_template_formats_large_minor_units_exactly ... ok1702test reports::bounded::tests::cancelled_export_keeps_its_slot_until_the_renderer_exits ... ok1703test reports::bounded::tests::export_admission_stays_reserved_until_the_body_is_dropped ... ok1704test reports::bounded::tests::export_rendering_runs_off_the_async_worker ... ok1705test reports::bounded::tests::output_budget_checks_writes_and_seeks_without_truncation ... ok1706test reports::bounded::tests::rendered_output_limit_rejects_oversized_files_and_releases_admission ... ok1707test reports::bounded::tests::renderer_errors_and_panics_release_admission ... ok1708test plugin::host::tests::database_tests::wasm_host_uses_the_restricted_connection_on_a_current_thread_runtime ... ok1709test plugin::registry::tests::isolation::oversized_event_payloads_are_not_queued ... ok1710test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok17111712test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 789 filtered out; finished in 0.21s171317141715running 1 test1716test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_matches_existing_and_new_rows_with_one_connection ... ok1717test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok17181719test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 789 filtered out; finished in 0.29s172017211722running 1 test1723test harvest::pagination_tests::harvest_pagination_router_preserves_session_and_tenant_guards ... ok1724test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok17251726test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 789 filtered out; finished in 0.23s17271728test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok1729test plugin::registry::tests::collect_widgets_from_echo_plugin ... ok1730test plugin::registry::tests::dispatch_event_with_no_subscribers ... ok1731test plugin::registry::tests::load_test_plugins ... ok1732test jobs::tests::csv_job_persists_its_policy_with_the_upload ... ok1733test jobs::tests::invalid_policy_cannot_enqueue_a_job_or_upload ... ok1734test reports::limits::tests::measure_bounded_export_limits ... ignored, manual release export measurement; set HORAE_EXPORT_PROBE_DIR for artifacts1735test reports::bounded::tests::timed_out_export_keeps_its_slot_until_the_renderer_exits ... ok1736test reports::limits::tests::bounded_entries_enforce_the_row_limit_after_all_filters ... ok1737test reports::limits::tests::bounded_invoice_limits_include_branding_and_preserve_tenant_scope ... ok1738test jobs::tests::outbox_claims_only_the_requested_event_kind ... ok1739test harvest::pagination_tests::harvest_own_time_omits_private_project_budget_metadata ... ok1740test reports::streaming::database_tests::measure_streaming_csv_export ... ignored, Manual release measurement of a 100,000-row CSV download1741test jobs::tests::cancellation_survives_a_crash_before_the_worker_acknowledges ... ok1742test jobs::tests::concurrent_csv_resubmission_preserves_identity_after_upload_cleanup ... ok1743test plugin::registry::tests::failing_plugin_does_not_block_caller ... ok1744test plugin::registry::tests::dispatch_invoice_sent_to_echo_plugin ... ok1745test plugin::registry::tests::dispatch_to_echo_plugin_succeeds ... ok1746test jobs::tests::submission_key_cannot_change_api_mode_or_scope ... ok1747test reports::limits::tests::export_size_checks_and_reads_share_a_repeatable_read_snapshot ... ok1748test reports::streaming::tests::completed_csv_keeps_admission_until_body_drop ... ok1749test reports::streaming::tests::csv_backpressure_and_body_drop_bound_and_cancel_source_reads ... ok1750test reports::streaming::tests::csv_does_not_truncate_a_quoted_unicode_record_larger_than_a_chunk ... ok1751test reports::streaming::tests::csv_emits_a_chunk_before_the_source_finishes ... ok1752test reports::streaming::tests::csv_failure_or_panic_after_a_chunk_is_not_successful_eof ... ok1753test reports::streaming::tests::csv_startup_errors_are_http_errors_and_release_admission ... ok1754test reports::limits::tests::tag_filter_applies_before_xlsx_size_checks_and_rendering ... ok1755test reports::streaming::tests::dropping_csv_during_startup_cancels_the_producer ... ok1756test route::tests::edit_project_preserves_identity_and_highlights_only_projects ... ok1757test route::tests::new_project_is_static_and_highlights_only_projects ... ok1758test jobs::report::stream_tests::download_reads_only_when_consumed_and_releases_its_connection ... ok1759test reports::streaming::database_tests::streamed_invoice_metadata_and_lines_share_one_snapshot ... ok1760test reports::streaming::database_tests::streamed_invoice_uses_stored_exact_cents_and_tenant_scoped_metadata ... ok1761test reports::streaming::tests::csv_timeout_interrupts_an_already_started_body ... ok1762test plugin::host::tests::a_query_cannot_disable_its_own_deadline ... ok1763test reports::streaming::database_tests::streamed_timesheet_exceeds_xlsx_row_limit_without_one_large_body_chunk ... ok1764test reports::limits::tests::bounded_exports_preserve_real_workbooks_and_deterministic_pdf ... ok1765test importers::harvest::sync_tests::scale::durable_api_report_preserves_overflow_errors_after_recovery ... ok1766test plugin::registry::tests::isolation::a_wasm_timeout_releases_the_worker_and_instance ... ok1767test server_fns::approvals::submission_tests::cancelling_a_submission_releases_its_write_barrier ... ok1768test server_fns::approvals::submission_tests::submission_accepts_the_organizations_sunday_start ... ok1769test reports::limits::tests::bounded_projects_filter_archives_before_size_checks ... ok1770test server_fns::approvals::submission_tests::submission_barrier_allows_shared_writers_for_the_same_user ... ok1771test server_fns::approvals::submission_tests::submission_does_not_wait_for_another_users_writer ... ok1772test jobs::tests::outbox_stale_claims_cannot_acknowledge_or_reschedule_delivery ... ok1773test server_fns::approvals::submission_tests::submission_freezes_the_minutes_after_a_competing_edit ... ok1774test server_fns::approvals::submission_tests::submission_rejects_a_start_that_is_not_the_organizations_week_start ... ok1775test server_fns::approvals::submission_tests::submission_uses_one_pool_connection ... ok1776test seed::tests::concurrent_initializers_cannot_create_two_organizations ... ok1777test server_fns::approvals::tests::sees_a_running_timer_inside_the_week ... ok1778test server_fns::approvals::submission_tests::submission_waits_for_a_new_timer_before_checking_the_week ... ok1779test server_fns::approvals::tests::ignores_stopped_and_out_of_week_timers ... ok1780test server_fns::budget_tests::budget_notification_schema_enforces_tenants_and_no_public_access ... ok1781test jobs::tests::expired_lease_cannot_renew_or_commit_using_an_old_transaction_timestamp ... ok1782test server_fns::budget_tests::concurrent_budget_checks_have_one_band_claimant ... ok1783test server_fns::budget_tests::configured_alert_and_outbox_roll_back_together ... ok1784test server_fns::budget_tests::configured_alert_recipients_are_active_same_org_managers_and_project_leads ... ok1785test server_fns::budget_tests::configured_alerts_deduplicate_concurrent_checks_and_recrossing ... ok1786test reports::streaming::database_tests::a_real_database_error_interrupts_the_csv_body ... ok1787test server_fns::budget_tests::configured_alerts_require_enabled_active_project_and_authorized_recipient ... ok1788test server_fns::budget_tests::configured_amount_budget_uses_resolved_rates_and_explicit_zero ... ok1789test server_fns::budget_tests::configured_budget_does_not_read_foreign_or_legacy_projects ... ok1790test server_fns::budget_tests::configured_budget_sweep_recovers_missed_checks_without_duplicates ... ok1791test server_fns::budget_tests::configured_monthly_budget_excludes_other_months_and_nonbillable_time ... ok1792test server_fns::budget_tests::configured_nonbillable_projects_count_time_without_hidden_checkbox ... ok1793test server_fns::budget_tests::configured_monthly_budget_includes_leap_day_and_preserves_locked_rounding ... ok1794test reports::privacy_tests::project_downloads_follow_progress_visibility ... ok1795test server_fns::budget_tests::configured_person_budget_excludes_other_people_and_has_its_own_alert ... ok1796test server_fns::budget_tests::configured_task_and_person_budgets_do_not_share_consumption ... ok1797test server_fns::budget_tests::overview_budget_progress_batches_projects_without_mixing_scopes ... ok1798test server_fns::budget_tests::configured_task_fee_budget_respects_billability_and_alert_scope ... ok1799test server_fns::budget_tests::overview_budget_progress_includes_people_without_an_allowance ... ok1800test server_fns::clients::tests::both_activation_transitions_change_once_and_preserve_details ... ok1801test server_fns::clients::tests::client_default_rate_allows_detail_edits_and_equivalent_currency ... ok1802test server_fns::clients::tests::client_default_rate_prevents_currency_relabelling ... ok1803test server_fns::budget_tests::overview_budget_progress_is_current_period_scoped_and_authorized ... ok1804test server_fns::clients::tests::concurrent_deletion_is_not_an_unchanged_mutation ... ok1805test jobs::tests::reclaimed_attempt_rejects_stale_results_even_with_the_same_worker_name ... ok1806test server_fns::clients::tests::currency_edit_rechecks_a_concurrently_added_client_default_rate ... ok1807test server_fns::importers::authorization_tests::cli_job_endpoints_have_stable_registered_paths ... ok1808test server_fns::clients::tests::each_field_changes_once_and_preserves_inactive_status ... ok1809test 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 --nocapture1810test server_fns::importers::authorization_tests::request_bound_import_endpoints_are_not_registered ... ok1811test server_fns::importers::csv_upload::tests::csv_upload_extractor_preserves_raw_bytes ... ok1812test server_fns::importers::csv_upload::tests::csv_upload_requires_its_header_without_reading_the_body ... ok1813test server_fns::importers::tests::concurrent_api_import_returns_a_retryable_conflict ... ok1814test server_fns::importers::tests::csv_route_rejects_invalid_modes_and_headers_without_reading_uploads ... ok1815test server_fns::importers::tests::submission_identity_rejects_expired_future_and_non_v7_keys ... ok1816test server_fns::clients::tests::missing_and_foreign_clients_are_not_noops ... ok1817test server_fns::clients::tests::repeating_a_competing_deactivation_does_not_report_a_transition ... ok1818test server_fns::clients::tests::repeating_a_competing_edit_does_not_report_a_change ... ok1819test seed::tests::concurrent_seed_runs_create_only_one_demo ... ok1820test server_fns::clients::tests::restoring_values_after_a_competing_edit_reports_a_change ... ok1821test server_fns::clients::tests::restoring_a_competing_deactivation_reports_reactivation ... ok1822test server_fns::clients::tests::unchanged_activation_preserves_the_row ... ok1823test server_fns::clients::tests::unchanged_edit_preserves_the_row ... ok1824test server_fns::invoices::fee_tests::concurrent_invoices_claim_a_single_fee_once ... ok1825test reports::streaming::database_tests::streamed_timesheet_preserves_csv_escaping_frozen_zero_and_all_filters ... ok1826test server_fns::invoices::fee_tests::fee_invoice_does_not_claim_hours_or_another_clients_fee ... ok1827test server_fns::invoices::fee_tests::fee_occurrence_rejects_cross_organization_project ... ok1828test reports::limits::tests::bounded_entries_reject_large_fields_and_combined_text ... ok1829test server_fns::invoices::fee_tests::fee_total_overflow_rolls_back_occurrences_and_invoice ... ok1830test jobs::tests::api_job_keeps_its_policy_across_duplicate_enqueue_and_manual_retry ... ok1831test server_fns::invoices::fee_tests::invoice_line_sources_reject_mixed_sources_and_invented_fee_quantities ... ok1832test reports::privacy_tests::unauthorized_project_text_does_not_affect_export_size_limits ... ok1833test seed::tests::seed_refuses_an_initialized_organization_without_writes ... ok1834test server_fns::invoices::fee_tests::milestones_include_unbilled_overdue_fees_but_not_future_fees ... ok1835test jobs::tests::missing_csv_upload_records_error_and_requeues ... ok1836test server_fns::invoices::fee_tests::monthly_fees_use_calendar_dates_and_skip_already_claimed_months ... ok1837test server_fns::invoices::fee_tests::monthly_first_and_fifteenth_respect_partial_period_and_project_end ... ok1838test jobs::outbox::tests::plugin_failure_retries_with_the_same_event_identity ... ok1839test reports::streaming::database_tests::streamed_fee_invoice_has_no_fabricated_hours_or_hourly_rate ... ok1840test server_fns::invoices::fee_tests::invoice_status_rechecks_authority_after_waiting_for_the_invoice_lock ... ok1841test server_fns::invoices::fee_tests::draft_fee_edit_rejects_invalid_lines_and_current_unauthorized_actors ... ok1842test server_fns::invoices::fee_tests::fee_preview_keeps_source_identity_and_reports_discounted_draft_balances ... ok1843test server_fns::invoices::fee_tests::invoice_defaults_apply_to_selected_fees_without_claiming_other_projects ... ok1844test server_fns::invoices::fee_tests::removing_discount_and_billing_the_remainder_cannot_both_succeed ... ok1845test reports::streaming::database_tests::streamed_projects_preserve_scope_budget_and_tenant_isolation ... ok1846test server_fns::invoices::fee_tests::single_fee_can_be_invoiced_without_time ... ok1847test server_fns::invoices::fee_tests::mixed_time_and_fee_discount_conserves_cents_without_reopening_time ... ok1848test server_fns::invoices::fee_tests::void_releases_fee_identity_without_rewriting_the_original_line ... ok1849test server_fns::invoices::preview::tests::excess_rejects_an_unrepresentable_total_even_when_the_remainder_fits ... ok1850test server_fns::invoices::preview::tests::unselected_fee_currencies_do_not_relabel_or_block_selected_charges ... ok1851test reports::streaming::database_tests::dropping_streamed_timesheet_closes_its_database_connection ... ok1852test server_fns::invoices::tests::billing_cascade_agrees_across_all_four_levels_including_zero ... ok1853test server_fns::invoices::tests::configured_fixed_fee_hours_are_not_invoiced_but_legacy_fees_are_unchanged ... ok1854test server_fns::invoices::tests::configured_project_currency_and_cost_override_keep_their_denominations ... ok1855test server_fns::invoices::tests::effective_minutes_migration_preserves_historical_invoice_quantities ... ok1856test server_fns::invoices::tests::effective_minutes_sql_matches_domain_rounding ... ok1857test server_fns::importers::authorization_tests::job_endpoints_enforce_session_role_and_organization ... ok1858test server_fns::invoices::fee_tests::concurrent_discounted_invoice_retries_return_one_invoice ... ok1859test harvest::pagination_tests::harvest_task_access_filters_counts_and_preserves_rate_free_history ... ok1860test server_fns::invoices::fee_tests::fee_preview_discount_ties_follow_source_keys_not_display_dates ... ok1861test jobs::tests::outbox_rollback_does_not_publish_an_event ... ok1862test seed::tests::seed_refuses_a_second_organization_even_when_the_demo_exists ... ok1863test server_fns::invoices::tests::imported_rates::rejected_import_rate_does_not_poison_the_next_row_or_its_catalog_rate ... ok1864test server_fns::invoices::fee_tests::discounted_fee_leaves_a_balance_and_void_releases_only_its_contribution ... ok1865test server_fns::invoices::tests::invoice_defaults_validate_all_override_fields ... ok1866test server_fns::invoices::tests::invoice_line_overflow_leaves_time_unbilled ... ok1867test seed::tests::repeated_seed_preserves_every_row_and_user_edits ... ok1868test seed::tests::concurrent_init_and_seed_cannot_mix_organizations ... ok1869test server_fns::invoices::tests::invoice_defaults_edit_rechecks_status_after_waiting_for_a_concurrent_send ... ok1870test server_fns::invoices::fee_tests::settled_fee_sources_remain_reviewable_without_automatic_charges ... ok1871test server_fns::invoices::tests::invoice_total_overflow_leaves_all_time_unbilled ... ok1872test server_fns::invoices::tests::invoice_defaults_are_invoice_owned_and_only_drafts_are_editable ... ok1873test server_fns::invoices::tests::invoice_transitions_reject_invalid_states_and_foreign_organizations ... ok1874test server_fns::invoices::tests::invoice_preview_matches_generation_without_claiming_time ... ok1875test server_fns::invoices::tests::invoiced_amounts_survive_rate_changes_and_void_uses_current_rates ... ok1876test jobs::tests::cancellation_waits_for_the_claimed_execution_before_allowing_retry ... ok1877test server_fns::invoices::tests::invoicing_leaves_running_time_open ... ok1878test server_fns::invoices::tests::invoiced_billability_survives_later_project_changes ... ok1879test server_fns::invoices::tests::invoicing_uses_and_freezes_effective_minutes ... ok1880test server_fns::invoices::tests::mixed_project_currencies_cannot_partially_create_an_invoice ... ok1881test server_fns::invoices::tests::large_invoice_and_reports_agree_without_intermediate_overflow ... ok1882test server_fns::invoices::tests::non_billable_context_produces_no_unbilled_amount_on_any_report ... ok1883test server_fns::invoices::tests::invoice_preview_requires_explicit_resolution_and_scopes_selected_projects ... ok1884test server_fns::invoices::tests::only_running_time_does_not_create_an_invoice ... ok1885test server_fns::invoices::tests::project_rate_is_used_by_invoices_reports_and_spend ... ok1886test server_fns::invoices::tests::void_reopens_time_without_stale_rounding ... ok1887test server_fns::organization::tests::each_branding_field_changes_once_including_null_and_empty ... ok1888test jobs::tests::submission_key_cannot_change_csv_bytes_or_mode ... ok1889test server_fns::invoices::tests::void_waits_for_a_concurrent_payment_and_then_refuses ... ok1890test server_fns::invoices::tests::selected_project_rate_modes_agree_across_billing_consumers ... ok1891test server_fns::organization::tests::missing_organization_is_not_an_unchanged_update ... ok1892test server_fns::organization::tests::restoring_branding_after_a_competing_edit_reports_a_change ... ok1893test server_fns::organization::tests::repeating_a_competing_branding_edit_does_not_report_a_change ... ok1894test server_fns::organization::tests::unchanged_branding_preserves_the_row ... ok1895test server_fns::project_creation::assignment_tests::finalization_reuses_catalog_and_keeps_lead_overrides_local_on_retry ... ok1896test server_fns::invoices::fee_tests::zero_fee_is_invoiced_once_until_voided ... ok1897test server_fns::project_creation::editing::tests::editor_loads_legacy_values_without_fabricating_a_billing_mode_or_draft ... ok1898test server_fns::project_creation::editing::tests::editor_keeps_archived_selected_identities_and_nullable_overrides ... ok1899test server_fns::project_creation::editing::tests::concurrent_edits_have_one_winner_and_association_writes_invalidate_open_forms ... ok1900test server_fns::project_creation::assignment_tests::invalid_assignment_graphs_leave_no_partial_creation_or_draft_change ... ok1901test server_fns::project_creation::editing::tests::editor_preserves_fee_schedule_and_operational_milestone_ids ... ok1902test server_fns::project_creation::editing::tests::editing_milestones_keeps_invoice_snapshots_and_fee_identities_immutable ... ok1903test server_fns::invoices::fee_tests::project_fee_context_keeps_monthly_balances_separate ... ok1904test server_fns::project_creation::editing::tests::editor_rechecks_tenant_role_and_active_status ... ok1905test server_fns::project_creation::editing::tests::editor_recovers_full_configuration_and_redacts_private_values_after_role_change ... ok1906test server_fns::project_creation::editing::tests::editor_recovers_each_budget_scope_without_turning_absence_into_zero ... ok1907test server_fns::invoices::tests::invoice_defaults_selection_rejects_unavailable_projects_before_claiming ... ok1908test server_fns::project_creation::editing::tests::foreign_actor_cannot_save_or_retry_another_organizations_edit ... ok1909test server_fns::project_creation::editing::tests::manager_edit_preserves_private_settings_and_cannot_remove_them_indirectly ... ok1910test server_fns::project_creation::editing::tests::save_edits_the_same_legacy_project_and_never_creates_a_draft_or_configuration ... ok1911test server_fns::project_creation::editing::tests::save_preserves_recorded_time_and_rejects_removing_its_task_or_person ... ok1912test server_fns::project_creation::editing::tests::save_updates_configured_sections_atomically_and_rejects_stale_or_invalid_edits ... ok1913test server_fns::project_creation::tests::client_dialog_validates_details_and_persists_an_explicit_zero_rate ... ok1914test reports::streaming::database_tests::streamed_tag_filter_excludes_other_projects_without_duplicating_rows ... ok1915test server_fns::project_creation::editing::tests::task_catalog_and_graph_changes_roll_back_together_on_duplicate_resolution ... ok1916test server_fns::project_creation::tests::creation_actor_is_revalidated_inside_the_transaction ... ok1917test server_fns::project_creation::editing::tests::saves_recheck_current_authority_and_do_not_repeat_noops ... ok1918test server_fns::project_creation::tests::billing_schema_rejects_partial_fee_schedules ... ok1919test server_fns::project_creation::tests::creation_client_must_be_active_and_in_the_same_organization ... ok1920test server_fns::project_creation::tests::draft_validation_preserves_incomplete_input_but_bounds_its_size ... ok1921test server_fns::project_creation::tests::draft_schema_rejects_oversize_payload_and_invalid_revision ... ok1922test server_fns::project_creation::tests::draft_save_retries_do_not_overwrite_a_newer_revision ... ok1923test server_fns::project_creation::tests::draft_ownership_discard_and_role_changes_are_enforced ... ok1924test server_fns::project_creation::tests::final_validation_preserves_exact_budgets_and_rejects_unavailable_email ... ok1925test server_fns::project_creation::tests::final_validation_checks_invoice_defaults_and_scoped_budget_totals ... ok1926test server_fns::project_creation::tests::final_validation_requires_real_details_and_ignores_hidden_type_settings ... ok1927test server_fns::project_creation::tests::final_validation_requires_complete_fee_schedules_and_distinct_entities ... ok1928test server_fns::project_creation::tests::draft_schema_rejects_foreign_creator_and_completed_project ... ok1929test server_fns::project_creation::tests::draft_schema_enforces_one_current_draft_per_creator ... ok1930test server_fns::project_creation::tests::managers_cannot_store_administrator_notes_or_costs_in_a_draft ... ok1931test server_fns::project_creation::tests::creation_options_are_scoped_bounded_and_redact_manager_costs ... ok1932test server_fns::invoices::tests::imported_rates::imported_legacy_project_keeps_exact_rates_and_totals_on_retry ... ok1933test server_fns::project_creation::tests::existing_projects_have_no_implicit_new_billing_configuration ... ok1934test server_fns::project_creation::tests::missing_draft_responses_do_not_disclose_foreign_ownership ... ok1935test server_fns::project_creation::tests::selected_catalog_bounds_requests_and_excludes_inactive_people ... ok1936test server_fns::project_creation::tests::finalize_is_atomic_and_repeated_submission_returns_one_project ... ok1937test server_fns::project_creation::tests::invalid_task_rolls_back_project_and_keeps_the_draft ... ok1938test server_fns::project_creation::validation::tests::basic_rejections_identify_the_field_without_echoing_input ... ok1939test server_fns::project_creation::tests::finalization_persists_task_access_and_project_only_financial_overrides ... ok1940test server_fns::project_creation::validation::tests::assignment_rejections_identify_the_invalid_row ... ok1941test server_fns::project_creation::validation::tests::inactive_billing_inputs_remain_in_the_draft_without_blocking_creation ... ok1942test server_fns::project_creation::tests::finalization_rechecks_client_role_revision_and_rate_currency ... ok1943test server_fns::project_creation::validation::tests::non_billable_projects_ignore_hidden_invoice_inputs ... ok1944test server_fns::project_creation::validation::tests::billing_rejections_identify_the_active_control ... ok1945test server_fns::project_creation::validation::tests::invoice_rejections_identify_the_field_without_echoing_input ... ok1946test server_fns::project_creation::validation::tests::milestone_rejections_target_the_invalid_row_by_identity ... ok1947test server_fns::project_creation::validation::tests::task_name_and_access_rejections_identify_the_invalid_row ... ok1948test server_fns::projects::bulk_tests::bulk_ids_validate_before_writes_and_normalize_duplicates ... ok1949test server_fns::project_creation::tests::selected_catalog_is_scoped_deduplicated_and_redacts_manager_costs ... ok1950test server_fns::invoices::tests::imported_rates::imported_task_rates_require_matching_currency_only_for_new_configured_links ... ok1951test server_fns::project_creation::tests::selected_client_lookup_is_scoped_and_keeps_archived_identity ... ok1952test server_fns::project_creation::tests::simultaneous_draft_updates_have_one_winner ... ok1953test server_fns::projects::bulk_tests::bulk_database_failure_rolls_back_earlier_changes ... ok1954test server_fns::projects::bulk_tests::bulk_reversed_overlapping_batches_finish_without_deadlock ... ok1955test server_fns::projects::bulk_tests::bulk_missing_or_foreign_project_rolls_back_earlier_changes ... ok1956test server_fns::projects::bulk_tests::bulk_status_preserves_details_history_and_noop_versions ... ok1957test server_fns::projects::bulk_tests::bulk_accepts_one_hundred_projects_and_mixed_status_noops ... ok1958test server_fns::projects::bulk_tests::bulk_preserves_invoiced_history_assignments_and_spend ... ok1959test server_fns::invoices::tests::invoice_defaults_apply_exact_adjustments_and_payment_terms ... ok1960test server_fns::projects::mutation_tests::project::both_activation_transitions_preserve_details_and_change_once ... ok1961test server_fns::projects::mutation_tests::project::concurrent_deletion_is_rejected_by_both_mutations ... ok1962test server_fns::projects::mutation_tests::project::configured_edits_recheck_settings_after_waiting_for_the_project ... ok1963test server_fns::projects::mutation_tests::project::budgets_and_rates_distinguish_null_zero_and_normalized_values ... ok1964test server_fns::projects::mutation_tests::project::configured_edits_preserve_non_hourly_billing ... ok1965test server_fns::projects::mutation_tests::project::configured_edits_reject_incompatible_financial_changes_atomically ... ok1966test server_fns::projects::mutation_tests::project::configured_edits_preserve_compatible_changes_and_idempotence ... ok1967test server_fns::invoices::fee_tests::reviewed_generation_does_not_materialize_unselected_months ... ok1968test server_fns::projects::mutation_tests::project::inactive_project_edits_preserve_identity_and_reject_implicit_migrations ... ok1969test server_fns::projects::mutation_tests::project::invalid_project_fields_leave_the_row_unchanged ... ok1970test server_fns::projects::mutation_tests::project::missing_and_foreign_rows_are_not_noops ... ok1971test server_fns::projects::mutation_tests::project::repeating_a_competing_deactivation_reports_no_transition ... ok1972test server_fns::projects::mutation_tests::project::repeating_a_competing_edit_requires_a_fresh_revision ... ok1973test server_fns::projects::mutation_tests::project::restoring_a_competing_deactivation_reports_reactivation ... ok1974test server_fns::projects::mutation_tests::project::restoring_a_competing_edit_does_not_overwrite_the_other_session ... ok1975test server_fns::projects::mutation_tests::project::unchanged_activation_preserves_the_row ... ok1976test server_fns::projects::mutation_tests::project::unchanged_edit_preserves_the_row ... ok1977test server_fns::projects::mutation_tests::task::both_activation_transitions_preserve_details_and_change_once ... ok1978test server_fns::projects::mutation_tests::task::each_detail_field_changes_once_and_preserves_inactive_status ... ok1979test server_fns::projects::mutation_tests::task::concurrent_deletion_returns_not_found_for_both_mutations ... ok1980test server_fns::invoices::fee_tests::project_fee_context_matches_invoice_balances_and_current_authority ... ok1981test server_fns::projects::mutation_tests::task::missing_and_foreign_rows_are_not_noops ... ok1982test server_fns::projects::mutation_tests::task::rate_edits_set_currency_without_relabelling_renames_or_noops ... ok1983test server_fns::projects::mutation_tests::task::repeating_a_competing_edit_does_not_report_a_change ... ok1984test server_fns::projects::mutation_tests::task::repeating_a_competing_deactivation_reports_no_transition ... ok1985test server_fns::projects::mutation_tests::task::restoring_a_competing_deactivation_reports_reactivation ... ok1986test server_fns::projects::mutation_tests::task::unchanged_activation_preserves_the_row ... ok1987test server_fns::projects::mutation_tests::task::unchanged_edit_preserves_the_row ... ok1988test server_fns::projects::mutation_tests::task::restoring_a_competing_edit_reports_a_change ... ok1989test server_fns::projects::privacy_tests::legacy_members_retain_progress_without_new_settings ... ok1990test server_fns::projects::details_tests::project_details_and_tags_follow_current_progress_and_private_permissions ... ok1991test server_fns::projects::privacy_tests::private_progress_does_not_prevent_tracking_or_reveal_financial_fields ... ok1992test server_fns::projects::privacy_tests::project_reads_use_current_authority_and_reject_foreign_scope ... ok1993test server_fns::projects::privacy_tests::revoked_membership_preserves_only_own_historical_tracking_identity ... ok1994test server_fns::projects::privacy_tests::outsiders_and_inactive_viewers_have_no_project_reads ... ok1995test server_fns::projects::privacy_tests::project_members_and_leads_receive_progress_without_rates ... ok1996test server_fns::projects::tests::assignments_are_scoped_to_the_viewers_organization ... ok1997test server_fns::projects::tests::creating_a_project_task_enables_it_with_its_defaults ... ok1998test server_fns::projects::tests::project_rate_distinguishes_inheritance_zero_and_exact_amounts ... ok1999test server_fns::projects::tests::enabling_is_tenant_scoped_even_for_existing_links_and_preserves_overrides ... ok2000test server_fns::projects::tests::enabling_tasks_accepts_exact_project_currency_rates_and_preserves_existing_links ... ok2001test server_fns::projects::tests::enabling_tasks_only_inherits_rates_used_by_configured_projects ... ok2002test server_fns::projects::tests::managers_and_admins_can_read_assignment_rates ... ok2003test server_fns::projects::tests::members_can_list_identities_but_not_assignment_rates ... ok2004test server_fns::projects::tests::project_rate_helper_has_no_public_execute_grant ... ok2005test server_fns::projects::tests::enabling_tasks_rejects_invalid_or_wrong_currency_explicit_rates_without_linking ... ok2006test server_fns::projects::tests::failed_project_task_creation_leaves_no_orphan_task ... ok2007test harvest::pagination_tests::harvest_pagination_time_entries_keep_the_filtered_set_and_date_ties ... ok2008test server_fns::projects::tests::enabling_tasks_rejects_incompatible_catalog_currency ... ok2009test server_fns::projects::tests::enabling_tasks_rejects_explicit_rates_unused_by_the_project ... ok2010test server_fns::time_entries::tests::a_limit_bounds_a_listing_on_its_own ... ok2011test server_fns::projects::tests::project_rate_sql_matches_rust_for_missing_zero_and_present_sources ... ok2012test server_fns::projects::tests::unknown_catalog_currency_requires_explicit_configured_rates_but_preserves_legacy ... ok2013test server_fns::time_entries::tests::an_unlimited_listing_needs_both_ends_of_the_range ... ok2014test server_fns::time_entries::tests::a_running_timer_cannot_be_moved_to_another_day ... ok2015test server_fns::time_entries::tests::clamps_duration_against_the_snapped_start ... ok2016test server_fns::time_entries::tests::a_reorder_rejects_foreign_missing_timed_and_duplicate_ids ... ok2017test server_fns::time_entries::tests::admin_may_log_time_without_assignment ... ok2018test jobs::tests::cleanup_retains_retryable_uploads_and_deletes_expired_jobs ... ok2019test server_fns::time_entries::tests::an_open_entry_can_move_into_a_day_with_locked_time ... ok2020test server_fns::time_entries::tests::assigned_member_may_log_time ... ok2021test server_fns::time_entries::tests::concurrent_timer_starts_insert_exactly_one_entry ... ok2022test server_fns::time_entries::tests::edits_preserve_archived_time_but_cannot_override_non_billability ... ok2023test server_fns::time_entries::tests::rejects_out_of_range_start ... ok2024test server_fns::time_entries::tests::snaps_unaligned_start_to_the_grid ... ok2025test server_fns::time_entries::tests::inactive_project_cannot_accept_new_time_even_for_admin ... ok2026test server_fns::time_entries::tests::moving_locked_time_rejects_the_entire_reorder ... ok2027test server_fns::time_entries::tests::new_time_and_picker_reject_inactive_or_foreign_contexts ... ok2028test server_fns::time_entries::tests::untimed_start_is_left_untouched ... ok2029test server_fns::invoices::fee_tests::reviewed_generation_bills_partial_fees_and_rejects_stale_balances ... ok2030test server_fns::time_entries::tests::new_time_and_picker_require_a_project_task_link ... ok2031test server_fns::time_entries::tests::unassigned_member_is_forbidden ... ok2032test server_fns::time_entries::tests::submission_barrier_blocks_edits_and_cross_week_reorders ... ok2033test server_fns::time_entries::update_tests::competing_edit_that_restores_old_values_still_reports_a_change ... ok2034test server_fns::time_entries::tests::submission_barrier_blocks_manual_entries_and_timer_starts ... ok2035test server_fns::time_entries::tests::new_time_uses_effective_billability_for_manual_entries_and_timers ... ok2036test jobs::outbox::tests::acknowledges_confirmed_delivery_without_reclaiming_it ... ok2037test server_fns::time_entries::update_tests::competing_identical_edit_is_a_noop_after_the_first_commit ... ok2038test server_fns::time_entries::update_tests::concurrent_lock_or_delete_is_rechecked_before_editing ... ok2039test server_fns::time_entries::update_tests::each_editable_field_changes_once_including_nulls ... ok2040test server_fns::time_entries::update_tests::effective_billability_noop_preserves_the_row ... ok2041test server_fns::time_entries::update_tests::missing_foreign_and_locked_entries_are_not_noops ... ok2042test server_fns::time_entries::update_tests::normalized_noop_preserves_the_row_and_updated_at ... ok2043test server_fns::time_entries::update_tests::restricted_empty_task_rejects_changes_and_noop_edits ... ok2044test server_fns::time_entries::update_tests::restricted_empty_task_rejects_picker_manual_and_timer_starts ... ok2045test server_fns::invoices::tests::invoice_defaults_conflict_rolls_back_all_claims ... ok2046test server_fns::time_entries::update_tests::restricted_reordering_rejects_the_whole_batch ... ok2047test server_fns::time_entries::update_tests::restricted_task_rejects_reschedule_and_delete ... ok2048test server_fns::time_entries::update_tests::revoked_timer_stop_preserves_the_open_state_guard ... ok2049test server_fns::time_entries::update_tests::revoked_grant_does_not_trap_an_own_running_timer ... ok2050test server_fns::time_entries::update_tests::task_grant_revocation_committed_during_an_edit_is_rechecked ... ok2051test server_fns::time_entries::update_tests::restriction_changes_are_rechecked_before_manual_or_timer_insertion ... ok2052test server_fns::users::tests::hide_rates_clears_both_rate_fields ... ok2053test server_fns::users::tests::concurrency::concurrent_deactivations_keep_an_active_admin ... ok2054test server_fns::users::tests::concurrency::access_changes_cannot_target_another_organization ... ok2055test server_fns::users::tests::concurrency::concurrent_demotions_keep_an_active_admin ... ok2056test server_fns::time_entries::update_tests::task_grants_allow_tracking_and_archived_history_for_every_role ... ok2057test server_fns::invoices::fee_tests::invoice_preview_does_not_materialize_fees_and_preserves_released_snapshots ... ok2058test server_fns::users::tests::concurrency::deactivation_and_demotion_keep_an_active_admin ... ok2059test server_fns::users::tests::concurrency::demotion_and_deactivation_keep_an_active_admin ... ok2060test server_fns::users::tests::concurrency::unchanged_admin_access_is_allowed ... ok2061test server_fns::users::tests::concurrency::the_last_admin_cannot_be_demoted_or_deactivated ... ok2062test server_fns::project_creation::import_tests::imported_catalog_rate_cannot_be_relabelled_as_workspace_currency ... ok2063test jobs::outbox::tests::invalid_payload_is_not_delivered_and_does_not_leak_into_errors ... ok2064test seed::tests::seed_leaves_an_older_or_partial_demo_unchanged ... ok2065test server_fns::project_creation::editing::tests::editor_load_uses_current_role_across_all_billing_configurations ... ok2066test reports::limits::tests::export_queries_are_read_only_and_have_a_database_deadline ... ok2067test jobs::tests::failed_csv_preview_retains_confirmed_report_through_history_and_retry ... ok2068test server_fns::invoices::tests::invoice_preview_keeps_time_rates_and_defaults_in_one_snapshot ... ok2069test server_fns::reports::tests::filters_and_renames_keep_report_identity_and_totals ... ok2070test server_fns::invoices::fee_tests::reviewed_generation_requires_exact_excess_and_current_authority ... ok2071test server_fns::project_creation::import_tests::imports_preserve_finalized_project_configuration_and_restricted_access ... ok2072test server_fns::reports::tests::report_uses_current_active_actor_and_tenant_for_every_filter ... ok2073test seed::tests::late_seed_failure_rolls_back_all_demo_data ... ok2074test server_fns::invoices::fee_tests::draft_fee_edit_replaces_amount_and_preserves_source_and_retry_identity ... ok2075test jobs::outbox::tests::worker_delivers_available_events_and_stops_cleanly ... ok2076test jobs::report::stream_tests::download_reports_missing_fragments_after_its_buffered_page ... ok2077test server_fns::reports::tests::manager_report_omits_groups_containing_private_project_costs ... ok2078test server_fns::invoices::fee_tests::draft_fee_edit_requires_current_balance_and_exact_excess_confirmation ... ok2079test jobs::tests::final_failure_is_retained_and_manual_retry_gets_a_new_budget ... ok2080test server_fns::invoices::fee_tests::prepared_fee_selection_rejects_invalid_values_and_empty_generation ... ok2081test server_fns::invoices::tests::invoice_preview_rejects_large_results_instead_of_truncating_them ... ok2082test jobs::report::tests::legacy_upgrade_preserves_job_states_and_existing_archives ... ok2083test server_fns::invoices::tests::invoice_defaults_legacy_insert_preserves_dates_and_exact_total ... ok2084test server_fns::invoices::fee_tests::draft_fee_edit_serializes_retries_and_rejects_stale_revisions ... ok2085test reports::limits::tests::fee_exports_preserve_absent_quantities_and_render_a_real_pdf ... ok2086test jobs::report::tests::report_fragments_survive_until_the_owning_job_expires ... ok2087test server_fns::reports::tests::same_names_keep_separate_groups_for_every_dimension ... ok2088test server_fns::invoices::fee_tests::fee_balance_migration_allocates_discount_without_rewriting_invoice_snapshots ... ok2089test jobs::tests::import_adapters_reject_a_lease_from_another_organization ... ok2090test jobs::tests::outbox_same_kind_consumers_cannot_claim_the_same_lease ... ok2091test jobs::report::tests::upgrading_legacy_reports_preserves_errors_and_fences_old_attempts ... ok2092test server_fns::projects::details_tests::project_details_only_offer_task_rate_currency_to_current_managers ... ok2093test server_fns::invoices::fee_tests::reviewed_generation_rejects_changed_time_before_claiming_it ... ok2094test server_fns::reports::tests::shared_person_and_task_are_partitioned_by_currency ... ok2095test server_fns::reports::tests::tag_filters_keep_report_dimensions_and_details_in_sync ... ok2096test reports::limits::tests::invoice_exports_show_saved_adjustments_and_exact_large_amounts ... ok2097test jobs::tests::invalid_stored_payloads_reach_a_terminal_error ... ok2098test server_fns::projects::details_tests::unlinked_and_private_project_tags_do_not_leak_into_filters ... ok2099test jobs::tests::missing_configuration_records_error_and_requeues ... ok21002101test result: ok. 779 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out; finished in 49.34s21022103 Running tests/admin_shell.rs (target/debug/deps/admin_shell-ddb5423570a9e82d)21042105running 5 tests2106test pending_user_does_not_mount_admin_content ... ok2107test retry_waits_for_fresh_authorization_then_recovers ... ok2108test members_and_managers_never_mount_admin_content ... ok2109test failed_user_does_not_mount_admin_content ... ok2110test resolved_admin_mounts_the_workspace_and_outlet ... ok21112112test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s21132114 Running tests/cli_imports.rs (target/debug/deps/cli_imports-58ffc9baae5b0abd)21152116running 5 tests2117test invalid_remote_arguments_have_a_machine_readable_exit ... ok2118test remote_configuration_errors_are_json_and_do_not_load_server_configuration ... ok2119test executable_commands_use_the_documented_authenticated_wire_contract ... ok2120test interrupting_the_executable_waiter_keeps_job_identity_and_never_sends_cancel ... ok2121test executable_wait_and_failure_exit_codes_match_the_json_contract ... ok21222123test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.71s21242125 Running tests/cli_restart.rs (target/debug/deps/cli_restart-85243cc63cb76e93)21262127running 1 test2128test detached_csv_recovers_after_the_server_process_is_killed ... ok21292130test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.78s21312132 Running tests/detail_navigation.rs (target/debug/deps/detail_navigation-a03aadc1cb1f7a57)21332134running 23 tests2135test invoices::preparation::tests::invoice_review_requires_matching_sources_and_valid_values ... ok2136test projects::budget_display_tests::display_preserves_units_sign_and_large_integer_values ... ok2137test projects::budget_display_tests::unallocated_zero_and_overflow_budgets_are_not_conflated ... ok2138test projects::budget_display_tests::configured_scopes_sum_without_hiding_an_individual_overrun ... ok2139test projects::budget_display_tests::tag_filter_matches_identity_without_duplicates_or_name_collisions ... ok2140test invoices::preparation::fees::tests::refresh_keeps_raw_edits_and_does_not_select_new_sources ... ok2141test invoices::preparation::fees::tests::refresh_preserves_missing_or_relabelled_edits_until_explicit_removal ... ok2142test invoices::preparation::fees::tests::fee_inputs_require_exact_amounts_and_an_explicit_positive_charge ... ok2143test invoices::defaults_form::tests::invoice_fields_preserve_receipt_terms_and_empty_optional_percentages ... ok2144test invoices::defaults_form::tests::invoice_fields_bound_metadata_by_characters_and_reject_nul ... ok2145test invoices::defaults_form::tests::invoice_fields_reject_invalid_percentages_terms_and_second_tax ... ok2146test project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok2147test project_creation::tests::unknown_draft_fields_are_rejected ... ok2148test project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok2149test invoices::defaults_form::tests::invoice_fields_preserve_exact_percentages_and_custom_terms ... ok2150test invoice_detail_shows_saved_adjustments_and_payment_metadata ... ok2151test navigating_between_invoice_ids_loads_the_current_invoice ... ok2152test pending_or_failed_navigation_never_shows_the_previous_invoice ... ok2153test project_creation_links_use_the_static_new_project_route ... ok2154test empty_project_list_links_to_the_importer_route ... ok2155test pending_or_failed_project_details_never_show_previous_metadata ... ok2156test pending_or_failed_project_assignments_never_show_previous_assignments ... ok2157test navigating_between_project_ids_loads_current_assignments_and_tasks ... ok21582159test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s21602161 Running tests/import_jobs_ui.rs (target/debug/deps/import_jobs_ui-6abb216817613f55)21622163running 35 tests2164test importers::presentation::tests::interrupted_report_is_partial_regardless_of_retry_prerequisites ... ok2165test importers::presentation::tests::no_selection_does_not_claim_no_import_history ... ok2166test importers::presentation::tests::source_labels_do_not_guess_unknown_importers ... ok2167test importers::presentation::tests::states_and_phases_have_readable_unknown_fallbacks ... ok2168test importers::presentation::tests::summaries_distinguish_zero_skipped_and_mixed_outcomes ... ok2169test unselected_connected_importer_does_not_claim_an_empty_history ... ok2170test progress_uses_observed_counts_and_readable_phase_without_an_eta ... ok2171test history_failure_can_be_refreshed_and_restores_an_active_job ... ok2172test configured_unbound_connection_explains_read_only_access ... ok2173test missing_job_stops_polling_and_explains_that_status_is_unavailable ... ok2174test connection_picker_distinguishes_loading_unavailable_and_unconfigured ... ok2175test submission_displays_its_acknowledged_state_before_status_polling_returns ... ok2176test failed_poll_can_resume_without_replaying_its_old_error ... ok2177test reopening_importer_restores_queued_and_running_jobs_from_history ... ok2178test stale_confirmation_keeps_the_dialog_and_shows_the_error ... ok2179test account_change_explains_every_blocker ... ok2180test pending_connect_is_single_submission_and_failure_keeps_a_recovery_action ... ok2181test retry_errors_are_visible_and_success_restarts_monitoring ... ok2182test selecting_another_job_drops_the_previous_pending_status_request ... ok2183test account_change_is_busy_then_reports_recoverable_authorization_failure ... ok2184test newly_submitted_failed_preview_cannot_be_confirmed ... ok2185test cancellation_errors_are_visible_and_acceptance_does_not_acknowledge_completion ... ok2186test navigating_away_invalidates_a_pending_preview_confirmation ... ok2187test connection_actions_prevent_duplicate_submissions_and_keep_errors_local ... ok2188test historical_preview_is_read_only_and_selecting_another_job_clears_it ... ok2189test archived_report_shows_total_errors_and_a_job_scoped_download ... ok2190test history_can_page_back_and_return_to_the_latest_imports ... ok2191test replacing_a_file_during_preview_does_not_change_the_committed_source ... ok2192test account_change_confirmation_can_cancel_without_mutation_in_both_binding_states ... ok2193test api_preview_confirmation_is_bound_to_the_original_account_generation ... ok2194test history_labels_selection_and_unknown_metadata_are_readable ... ok2195test connection_management_groups_actions_and_never_promises_automatic_repair ... ok2196test blocked_retry_keeps_partial_reports_and_explains_the_missing_prerequisite ... ok2197test failed_and_cancelled_history_shows_partial_outcomes_without_success_actions ... ok2198test result_copy_distinguishes_preview_zero_skipped_and_mixed_outcomes ... ok21992200test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s22012202 Running tests/integration.rs (target/debug/deps/integration-089265c4f3eedde6)22032204running 36 tests2205test admin_creates_user_and_duplicate_rejected ... ok2206test totals_unaffected_by_start_minute ... ok2207test deactivated_user_blocked_and_history_preserved ... ok2208test void_invoice_restores_entries ... ok2209test timer_start_stop_records_minutes ... ok2210test invoicing_update_skips_already_invoiced_entries ... ok2211test submit_week_with_running_timer_is_refused ... ok2212test generate_invoice_totals_match ... ok2213test reschedule_moves_open_entry_and_rejects_locked ... ok2214test approval_workflow_approve_and_reject ... ok2215test admin_changes_user_role ... ok2216test resubmit_after_approve_is_refused ... ok2217test stop_timer_refuses_entry_that_left_open ... ok2218test approval_hours_aggregate_billable_within_period ... ok2219test the_long_timer_sweep_claims_each_timer_once ... ok2220test start_minute_round_trips_and_is_constrained ... ok2221test reorder_untimed_orders_and_moves_across_days ... ok2222test submitted_entries_cannot_be_updated ... ok2223test line_amount_cents_sql_matches_rust ... ok2224test one_timer_per_user_enforced ... ok2225test a_second_running_timer_is_refused_by_the_insert ... ok2226test line_amount_cents_sql_and_rust_reject_final_overflow ... ok2227test approved_entries_are_invoiceable ... ok2228test new_task_becomes_loggable_on_project ... ok2229test reject_after_approve_reopens_entries ... ok2230test project_spend_grouped_in_sql_matches_the_rust_fold ... ok2231test invoiced_entries_cannot_be_rebilled ... ok2232test stopping_timer_records_start_minute ... ok2233test role_gating_member_vs_manager_vs_admin ... ok2234test timer_under_a_minute_records_zero ... ok2235test last_active_admin_cannot_be_removed ... ok2236test unassigned_user_cannot_create_entry ... ok2237test rate_resolution_cascade ... ok2238test inactive_project_hidden_from_picker_but_kept_on_history ... ok2239test rounding_applied_on_submit ... ok2240test duplicate_invoice_numbers_rejected ... ok22412242test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.20s22432244 Running tests/new_project_screen.rs (target/debug/deps/new_project_screen-e3daedf125f4d4ac)22452246running 43 tests2247test new_project::tests::a_rejected_creation_can_be_edited_but_an_uncertain_commit_must_be_retried ... ok2248test new_project::draft::tests::an_empty_form_is_not_reported_as_saved ... ok2249test new_project::draft::tests::a_validation_rejection_allows_corrected_input_at_the_same_revision ... ok2250test new_project::draft::tests::resuming_preserves_the_server_identity_and_incomplete_fields ... ok2251test new_project::draft::tests::a_mismatched_acknowledgement_does_not_lose_pending_input ... ok2252test new_project::draft::tests::a_retry_keeps_the_unacknowledged_payload_and_revision ... ok2253test new_project::basics::tests::overlong_tags_are_rejected_without_truncation ... ok2254test new_project::basics::tests::a_full_tag_list_still_accepts_a_duplicate ... ok2255test new_project::basics::tests::a_batch_that_would_exceed_the_tag_limit_is_rejected ... ok2256test new_project::basics::tests::tags_trim_and_deduplicate_without_changing_existing_spelling ... ok2257test new_project::basics::tests::tag_length_counts_characters_instead_of_bytes ... ok2258test project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok2259test new_project::team::tests::adding_everyone_deduplicates_without_replacing_project_overrides ... ok2260test new_project::team::tests::removing_a_member_keeps_an_empty_restricted_task_restricted ... ok2261test new_project::tests::only_known_validation_fields_can_target_a_control ... ok2262test project_creation::tests::unknown_draft_fields_are_rejected ... ok2263test new_project::team::tests::exceeding_the_team_limit_does_not_partially_add_people ... ok2264test project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok2265test navigation_icons_keep_default_dimensions_and_allow_opt_in_sizing ... ok2266test checkbox_error_identity_is_opt_in_without_changing_its_behavior ... ok2267test compact_input_adds_utilities_and_accessible_name_without_losing_native_state ... ok2268test shared_input_without_options_keeps_its_original_class_and_external_label ... ok2269test an_input_can_link_its_validation_error_without_changing_its_value_or_class ... ok2270test textarea_and_selector_error_links_are_opt_in_and_preserve_controls ... ok2271test new_project::billing::tests::budget_errors_target_a_control_that_can_be_corrected ... ok2272test recovered_client_outside_the_catalog_page_keeps_its_currency_and_name ... ok2273test recovered_tags_use_the_shared_inline_chip_field_without_saving ... ok2274test edit_prefills_legacy_currency_and_type_without_reading_or_saving_a_draft ... ok2275test invoice_defaults_restore_custom_terms_and_named_second_tax ... ok2276test administrative_notes_only_render_for_an_authorized_editor ... ok2277test nonbillable_hides_fee_rate_and_invoice_controls_without_erasing_the_draft ... ok2278test planning_dates_restore_readable_shared_calendar_fields_without_saving ... ok2279test nonbillable_budget_picker_omits_fee_modes ... ok2280test a_real_code_suggestion_does_not_replace_recovered_input ... ok2281test billing_and_visibility_keep_native_radios_inside_designed_option_cards ... ok2282test recovered_tasks_and_people_outside_the_catalog_page_keep_their_identity ... ok2283test time_and_materials_restores_project_rate_and_budget_without_enabling_unconfigured_email ... ok2284test client_and_currency_use_labelled_form_dropdowns ... ok2285test assignment_controls_reuse_searchable_picker_and_compact_task_entry ... ok2286test empty_form_has_labelled_fields_no_demo_data_and_no_spurious_save ... ok2287test tasks_and_team_restore_scoped_settings_without_exposing_costs_to_managers ... ok2288test task_rate_placeholders_use_source_currency_not_workspace_currency ... ok2289test fixed_fee_restores_each_schedule_and_never_shows_hourly_rate_controls ... ok22902291test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s22922293 Running tests/timer_widget.rs (target/debug/deps/timer_widget-6f461a20070f335a)22942295running 1 test2296test timer_names_reuse_lookups_and_follow_resource_changes ... ok22972298test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s22992300 Running tests/trigger_utilities.rs (target/debug/deps/trigger_utilities-2d4b7940ad92a17a)23012302running 8 tests2303test compact_mixed_checkbox_keeps_an_accessible_name ... ok2304test checkbox_keeps_labelled_unchecked_defaults ... ok2305test disabled_checked_checkbox_is_natively_disabled ... ok2306test combobox_keeps_compact_defaults ... ok2307test combobox_composes_trigger_utilities ... ok2308test menu_composes_trigger_utilities ... ok2309test menu_keeps_compact_defaults ... ok2310test menu_can_disable_its_native_trigger ... ok23112312test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s23132314waiting for server to shut down.... done2315server stopped2316buildPhase completed in 8 minutes 2 seconds