nixbot

builds

succeeded horae-tests-0.1.0 checks.x86_64-linux.tests · build #2 · raw

unpackPhase
1unpacking source archive /nix/store/m3fw2wfnb59bj00sk9734si7wb790fpd-source2source root is source3Executing cargoSetupPostUnpackHook4Finished cargoSetupPostUnpackHook
patchPhase
5Executing cargoSetupPostPatchHook6Validating consistency between /build/source/Cargo.lock and /build/cargo-vendor-dir/Cargo.lock7Finished cargoSetupPostPatchHook
buildPhase
8 Compiling proc-macro2 v1.0.1069 Compiling quote v1.0.4610 Compiling unicode-ident v1.0.2411 Compiling serde_core v1.0.22812 Compiling autocfg v1.5.113 Compiling serde v1.0.22814 Compiling thiserror v2.0.1815 Compiling iana-time-zone v0.1.6516 Compiling num-traits v0.2.1917 Compiling syn v2.0.11818 Compiling uuid v1.23.419 Compiling serde_derive v1.0.22820 Compiling thiserror-impl v2.0.1821 Compiling chrono v0.4.4522 Compiling horae-core v0.1.0 (/build/source/crates/core)23 Finished `test` profile [unoptimized + debuginfo] target(s) in 38.34s24 Running [ 00:00:00] 0/121: 5 running, 0 passed, 0 skipped 25 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding26 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget27 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values28 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows29------------30 Nextest run ID 27fd1cf0-c4c9-46fa-9a3a-7733f91d019e with nextest profile: default31 Starting 121 tests across 1 binary32 Running [ 00:00:00] 0/121: 5 running, 0 passed, 0 skipped 33 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding34 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget35 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values36 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows37 Running [ 00:00:00] 0/121: 5 running, 0 passed, 0 skipped 38 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding39 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget40 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values41 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows42 Running [ 00:00:00] 0/121: 5 running, 0 passed, 0 skipped 43 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding44 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget45 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values46 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows47 Running [ 00:00:00] 0/121: 5 running, 0 passed, 0 skipped 48 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding49 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget50 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values51 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows52 Running [ 00:00:00] 0/121: 5 running, 0 passed, 0 skipped 53 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding54 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget55 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values56 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows57 Running [ 00:00:00] > 1/121: 48 running, 1 passed, 0 skipped 58 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget59 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values60 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows61 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached62 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once63 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets64 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget65 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow66 PASS [ 0.021s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding67 Running [ 00:00:00] > 1/121: 48 running, 1 passed, 0 skipped 68 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget69 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values70 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows71 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached72 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once73 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets74 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget75 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow76 Running [ 00:00:00] > 1/121: 48 running, 1 passed, 0 skipped 77 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget78 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values79 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows80 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached81 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once82 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets83 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget84 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow85 Running [ 00:00:00] > 1/121: 48 running, 1 passed, 0 skipped 86 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget87 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values88 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows89 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached90 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once91 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets92 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget93 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow94 Running [ 00:00:00] > 3/121: 48 running, 1 passed, 0 skipped 95 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget96 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values97 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows98 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached99 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once100 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets101 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget102 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow103 PASS [ 0.196s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget104 PASS [ 0.164s] horae-core importers::harvest::convert::tests::negative_is_rejected105 PASS [ 0.195s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values106 PASS [ 0.171s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary107 PASS [ 0.174s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent108 PASS [ 0.182s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows109 PASS [ 0.172s] horae-core importers::harvest::convert::tests::money_common_values_are_exact110 Running [ 00:00:00] > 8/121: 43 running, 8 passed, 0 skipped 111 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached112 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once113 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets114 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget115 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow116 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts117 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band118 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields119 Running [ 00:00:00] > 13/121: 43 running, 8 passed, 0 skipped 120 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached121 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once122 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets123 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget124 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow125 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts126 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band127 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields128 Running [ 00:00:00] > 13/121: 43 running, 8 passed, 0 skipped 129 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached130 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once131 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets132 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget133 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow134 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts135 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band136 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields137 Running [ 00:00:00] > 13/121: 43 running, 8 passed, 0 skipped 138 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached139 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once140 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets141 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget142 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow143 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts144 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band145 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields146 Running [ 00:00:00] > 13/121: 46 running, 13 passed, 0 skipped 147 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached148 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once149 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets150 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget151 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow152 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts153 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band154 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields155 PASS [ 0.189s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse156 PASS [ 0.197s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform157 PASS [ 0.191s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow158 PASS [ 0.200s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator159 PASS [ 0.025s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero160 Running [ 00:00:00] > 13/121: 46 running, 13 passed, 0 skipped 161 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached162 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once163 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets164 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget165 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow166 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts167 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band168 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields169 Running [ 00:00:00] => 20/121: 48 running, 20 passed, 0 skipped 170 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached171 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once172 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets173 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget174 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow175 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts176 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band177 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields178 PASS [ 0.212s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide179 PASS [ 0.025s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present180 PASS [ 0.013s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects181 PASS [ 0.032s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name182 PASS [ 0.152s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line183 PASS [ 0.181s] horae-core importers::harvest::keys::tests::time_entry_key_distinguishes_and_matches184 PASS [ 0.184s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work185 Running [ 00:00:00] => 20/121: 48 running, 20 passed, 0 skipped 186 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached187 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once188 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets189 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget190 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow191 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts192 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band193 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields194 Running [ 00:00:00] => 21/121: 48 running, 21 passed, 0 skipped 195 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached196 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once197 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets198 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget199 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow200 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts201 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band202 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields203 PASS [ 0.407s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace204 Running [ 00:00:00] => 21/121: 48 running, 21 passed, 0 skipped 205 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached206 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once207 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets208 [ 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 eserves_absence_zero_and_exact_large_amounts211 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band212 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields213 Running [ 00:00:00] ==> 34/121: 48 running, 21 passed, 0 skipped 214 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached215 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once216 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets217 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget218 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow219 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts220 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band221 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields222 PASS [ 0.016s] horae-core invoice::tests::line_amount_90_minutes223 PASS [ 0.428s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly224 PASS [ 0.056s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors225 PASS [ 0.055s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts226 PASS [ 0.011s] horae-core invoice::tests::line_amount_half_hour227 PASS [ 0.454s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking228 PASS [ 0.073s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order229 PASS [ 0.024s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts230 PASS [ 0.451s] horae-core duration::tests::parse_decimal231 PASS [ 0.287s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names232 PASS [ 0.290s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches233 PASS [ 0.085s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow234 PASS [ 0.452s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals235 PASS [ 0.118s] horae-core invoice::tests::invoice_adjustments_round_components_half_up236 Running [ 00:00:00] ==> 35/121: 48 running, 35 passed, 0 skipped 237 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached238 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once239 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets240 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget241 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow242 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts243 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band244 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields245 Running [ 00:00:00] ==> 44/121: 48 running, 35 passed, 0 skipped 246 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached247 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once248 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets249 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget250 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow251 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts252 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band253 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields254 PASS [ 0.102s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow255 PASS [ 0.076s] horae-core invoice::tests::line_amount_odd_minutes256 PASS [ 0.547s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up257 PASS [ 0.530s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact258 PASS [ 0.077s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking259 PASS [ 0.085s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform260 PASS [ 0.090s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly261 PASS [ 0.159s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes262 PASS [ 0.521s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating263 PASS [ 0.168s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal264 Running [ 00:00:00] ==> 45/121: 47 running, 45 passed, 0 skipped 265 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached266 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once267 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets268 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget269 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow270 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts271 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band272 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields273 Running [ 00:00:00] ===> 51/121: 48 running, 51 passed, 0 skipped 274 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached275 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once276 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets277 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget278 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow279 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts280 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band281 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields282 PASS [ 0.564s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day283 PASS [ 0.018s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent284 PASS [ 0.018s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates285 PASS [ 0.019s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates286 PASS [ 0.021s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs287 PASS [ 0.101s] horae-core money::tests::addition_retains_currency_checks_and_representable_boundaries288 Running [ 00:00:00] ===> 51/121: 48 running, 51 passed, 0 skipped 289 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached290 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once291 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets292 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget293 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow294 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts295 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band296 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields297 Running [ 00:00:00] ===> 55/121: 48 running, 55 passed, 0 skipped 298 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached299 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once300 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets301 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget302 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow303 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts304 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band305 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields306 PASS [ 0.215s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error307 PASS [ 0.215s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available308 PASS [ 0.163s] horae-core invoice::tests::line_amount_exact_hour309 PASS [ 0.170s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it310 Running [ 00:00:00] ===> 55/121: 48 running, 55 passed, 0 skipped 311 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached312 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once313 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets314 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget315 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow316 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts317 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band318 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields319 Running [ 00:00:00] ===> 57/121: 48 running, 55 passed, 0 skipped 320 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached321 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once322 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets323 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget324 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow325 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts326 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band327 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields328 PASS [ 0.215s] horae-core budget::tests::large_values_do_not_overflow329 PASS [ 0.686s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract330 PASS [ 0.248s] horae-core duration::tests::minutes_between_is_exact_no_minimum331 Running [ 00:00:00] ===> 58/121: 48 running, 58 passed, 0 skipped 332 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached333 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once334 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets335 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget336 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts337 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band338 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields339 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text340 Running [ 00:00:00] ===> 59/121: 48 running, 59 passed, 0 skipped 341 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached342 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once343 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets344 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget345 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts346 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band347 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields348 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text349 PASS [ 0.279s] horae-core budget::tests::a_single_jump_announces_every_crossed_band350 Running [ 00:00:00] ===> 59/121: 48 running, 59 passed, 0 skipped 351 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached352 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once353 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets354 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget355 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts356 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band357 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields358 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text359 Running [ 00:00:01] ===> 59/121: 48 running, 59 passed, 0 skipped 360 [ 00:00:01] horae-core ::tests::current_band_is_the_highest_reached361 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once362 [ 00:00:01] horae-core elow_a_band_does_not_fire_but_current_resets363 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget364 [ 00:00:01] horae-core eserves_absence_zero_and_exact_large_amounts365 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band366 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields367 [ 00:00:01] horae-core ve_fractional_cent_overflow_and_invalid_text368 Running [ 00:00:01] ===> 59/121: 48 running, 59 passed, 0 skipped 369 [ 00:00:01] horae-core ::tests::current_band_is_the_highest_reached370 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once371 [ 00:00:01] horae-core elow_a_band_does_not_fire_but_current_resets372 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget373 [ 00:00:01] horae-core eserves_absence_zero_and_exact_large_amounts374 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band375 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields376 [ 00:00:01] horae-core ve_fractional_cent_overflow_and_invalid_text377 Running [ 00:00:01] ===> 59/121: 48 running, 59 passed, 0 skipped 378 [ 00:00:01] horae-core ::tests::current_band_is_the_highest_reached379 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once380 [ 00:00:01] horae-core elow_a_band_does_not_fire_but_current_resets381 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget382 [ 00:00:01] horae-core eserves_absence_zero_and_exact_large_amounts383 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band384 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields385 [ 00:00:01] horae-core ve_fractional_cent_overflow_and_invalid_text386 Running [ 00:00:01] ===> 59/121: 48 running, 59 passed, 0 skipped 387 [ 00:00:01] horae-core ::tests::current_band_is_the_highest_reached388 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once389 [ 00:00:01] horae-core elow_a_band_does_not_fire_but_current_resets390 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget391 [ 00:00:01] horae-core eserves_absence_zero_and_exact_large_amounts392 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band393 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields394 [ 00:00:01] horae-core ve_fractional_cent_overflow_and_invalid_text395 Running [ 00:00:01] ===> 60/121: 48 running, 59 passed, 0 skipped 396 [ 00:00:01] horae-core ::tests::current_band_is_the_highest_reached397 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once398 [ 00:00:01] horae-core elow_a_band_does_not_fire_but_current_resets399 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget400 [ 00:00:01] horae-core eserves_absence_zero_and_exact_large_amounts401 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band402 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields403 [ 00:00:01] horae-core ve_fractional_cent_overflow_and_invalid_text404 Running [ 00:00:01] ===> 60/121: 48 running, 59 passed, 0 skipped 405 [ 00:00:01] horae-core ::tests::current_band_is_the_highest_reached406 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once407 [ 00:00:01] horae-core elow_a_band_does_not_fire_but_current_resets408 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget409 [ 00:00:01] horae-core eserves_absence_zero_and_exact_large_amounts410 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band411 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields412 [ 00:00:01] horae-core ve_fractional_cent_overflow_and_invalid_text413 Running [ 00:00:01] ===> 60/121: 48 running, 59 passed, 0 skipped 414 [ 00:00:01] horae-core ::tests::current_band_is_the_highest_reached415 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once416 [ 00:00:01] horae-core elow_a_band_does_not_fire_but_current_resets417 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget418 [ 00:00:01] horae-core eserves_absence_zero_and_exact_large_amounts419 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band420 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields421 [ 00:00:01] horae-core ve_fractional_cent_overflow_and_invalid_text422 Running [ 00:00:01] 80/121: 41 running, 80 passed (11 leaky), 0 skipped 423 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once424 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget425 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band426 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields427 [ 00:00:01] horae-core rofile_rejects_blank_overlong_and_null_names428 [ 00:00:01] horae-core orted_currencies_and_unicode_character_limit429 [ 00:00:01] horae-core ation::tests::format_clamps_negative_to_zero430 [ 00:00:01] horae-core unsupported_currency_and_null_billing_fields431 LEAK [ 0.358s] horae-core client::tests::default_rate_preserves_absence_zero_and_exact_large_amounts432 LEAK [ 0.311s] horae-core project::tests::monthly_fee_dates_follow_calendar_months433 LEAK [ 0.324s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency434 PASS [ 0.227s] horae-core rounding::tests::result_is_multiple_of_inc435 PASS [ 0.197s] horae-core state::tests::invoiced_is_final436 LEAK [ 0.361s] horae-core project::tests::basics_reject_blank_and_overlong_names437 PASS [ 0.440s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even438 PASS [ 0.360s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones439 PASS [ 0.356s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials440 PASS [ 0.434s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources441 PASS [ 0.436s] horae-core invoice::tests::resolve_rate_cascade442 PASS [ 0.360s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total443 PASS [ 0.246s] horae-core rounding::tests::up_and_down444 PASS [ 0.483s] horae-core invoice::tests::line_amount_zero_minutes445 LEAK [ 0.517s] horae-core importers::harvest::convert::tests::garbage_is_rejected446 LEAK [ 0.414s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets447 LEAK [ 0.433s] horae-core client::tests::default_rate_rejects_negative_fractional_cent_overflow_and_invalid_text448 LEAK [ 0.474s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs449 LEAK [ 0.297s] horae-core state::tests::managers_invoice_open_and_approved_time450 LEAK [ 0.510s] horae-core duration::tests::format_round_trip451 LEAK [ 0.510s] horae-core budget::tests::current_band_is_the_highest_reached452 Running [ 00:00:01] 80/121: 41 running, 80 passed (11 leaky), 0 skipped 453 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once454 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget455 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band456 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields457 [ 00:00:01] horae-core rofile_rejects_blank_overlong_and_null_names458 [ 00:00:01] horae-core orted_currencies_and_unicode_character_limit459 [ 00:00:01] horae-core ation::tests::format_clamps_negative_to_zero460 [ 00:00:01] horae-core unsupported_currency_and_null_billing_fields461 Running [ 00:00:01] 100/121: 21 running, 100 passed (11 leaky), 0 skipped 462 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once463 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget464 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band465 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields466 [ 00:00:01] horae-core orted_currencies_and_unicode_character_limit467 [ 00:00:01] horae-core unsupported_currency_and_null_billing_fields468 [ 00:00:01] horae-core duration::tests::format_hhmm_pads_minutes469 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results470 PASS [ 0.605s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign471 PASS [ 0.490s] horae-core rounding::tests::identity_when_inc_zero472 PASS [ 0.490s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero473 PASS [ 0.519s] horae-core project::tests::percentage_preserves_exact_hundredths474 PASS [ 0.629s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate475 PASS [ 0.630s] horae-core invoice::tests::line_amount_zero_rate476 PASS [ 0.529s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds477 PASS [ 0.529s] horae-core client::tests::profile_rejects_blank_overlong_and_null_names478 PASS [ 0.529s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values479 PASS [ 0.547s] horae-core project::tests::payment_terms_support_receipt_and_checked_days480 PASS [ 0.571s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts481 PASS [ 0.572s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift482 PASS [ 0.490s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax483 PASS [ 0.604s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit484 PASS [ 0.537s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits485 PASS [ 0.536s] horae-core duration::tests::format_clamps_negative_to_zero486 PASS [ 0.635s] horae-core money::tests::addition_rejects_overflow_in_both_directions487 PASS [ 0.549s] horae-core duration::tests::parse_colon488 PASS [ 0.073s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight489 PASS [ 0.076s] horae-core week::tests::maps_any_weekday_to_its_monday490 Running [ 00:00:01] 100/121: 21 running, 100 passed (11 leaky), 0 skipped 491 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once492 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget493 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band494 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields495 [ 00:00:01] horae-core orted_currencies_and_unicode_character_limit496 [ 00:00:01] horae-core unsupported_currency_and_null_billing_fields497 [ 00:00:01] horae-core duration::tests::format_hhmm_pads_minutes498 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results499 Running [ 00:00:01] 112/121: 21 running, 100 passed (11 leaky), 0 skipped 500 [ 00:00:01] horae-core dget::tests::each_crossing_is_announced_once501 [ 00:00:01] horae-core t::tests::no_band_for_zero_or_missing_budget502 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band503 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields504 [ 00:00:01] horae-core orted_currencies_and_unicode_character_limit505 [ 00:00:01] horae-core unsupported_currency_and_null_billing_fields506 [ 00:00:01] horae-core duration::tests::format_hhmm_pads_minutes507 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results508 PASS [ 0.081s] horae-core time_of_day::tests::parse_reads_24h509 PASS [ 0.576s] horae-core client::tests::profile_accepts_supported_currencies_and_unicode_character_limit510 PASS [ 0.532s] horae-core rounding::tests::nearest_ties_round_up511 PASS [ 0.089s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days512 PASS [ 0.097s] horae-core week::tests::configured_week_reports_an_unrepresentable_start513 PASS [ 0.098s] horae-core types::tests::budget_kind_wire_strings_match_db_enum514 PASS [ 0.099s] horae-core time_of_day::tests::parse_reads_12h_including_edges515 PASS [ 0.103s] horae-core time_of_day::tests::snap_rounds_to_nearest_step516 PASS [ 0.103s] horae-core week::tests::configured_week_can_start_in_the_previous_year517 PASS [ 0.604s] horae-core budget::tests::no_band_for_zero_or_missing_budget518 PASS [ 0.604s] horae-core duration::tests::format_hhmm_pads_minutes519 PASS [ 0.611s] horae-core budget::tests::each_crossing_is_announced_once520 PASS [ 0.734s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results521 PASS [ 0.128s] horae-core state::tests::only_manager_can_approve522 PASS [ 0.128s] horae-core time_of_day::tests::format_12h_matches_harvest_style523 PASS [ 0.129s] horae-core time_of_day::tests::format_round_trips524 Running [ 00:00:01] 116/121: 5 running, 116 passed (11 leaky), 0 skipped 525 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band526 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields527 [ 00:00:01] horae-core unsupported_currency_and_null_billing_fields528 [ 00:00:00] horae-core state::tests::member_submit_and_reopen529 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage530531532533 Running [ 00:00:01] 119/121: 5 running, 116 passed (11 leaky), 0 skipped 534 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band535 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields536 [ 00:00:01] horae-core unsupported_currency_and_null_billing_fields537 [ 00:00:00] horae-core state::tests::member_submit_and_reopen538 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage539540541542 PASS [ 0.131s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage543 PASS [ 0.146s] horae-core state::tests::member_submit_and_reopen544 PASS [ 0.670s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band545 PASS [ 0.672s] horae-core client::tests::profile_rejects_unsupported_currency_and_null_billing_fields546 Running [ 00:00:01] 120/121: 1 running, 120 passed (11 leaky), 0 skipped 547 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields548549550551552553554555 PASS [ 0.695s] horae-core client::tests::optional_text_normalizes_only_blank_fields556------------557 Summary [ 1.327s] 121 tests run: 121 passed (11 leaky), 0 skipped558 Running [ 00:00:01] 121/121: 1 running, 120 passed (11 leaky), 0 skipped 559 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields560561562563564565566567The files belonging to this database system will be owned by user "nixbld".568This user must also own the server process.569570The database cluster will be initialized with locale "C".571The default text search configuration will be set to "english".572573Data page checksums are disabled.574575fixing permissions on existing directory /build/tmp.hML3NOdeO8 ... ok576creating subdirectories ... ok577selecting dynamic shared memory implementation ... posix578selecting default "max_connections" ... 100579selecting default "shared_buffers" ... 128MB580selecting default time zone ... UTC581creating configuration files ... ok582running bootstrap script ... ok583performing post-bootstrap initialization ... ok584syncing data to disk ... ok585586initdb: warning: enabling "trust" authentication for local connections587initdb: 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.588589Success. You can now start the database server using:590591 pg_ctl -D /build/tmp.hML3NOdeO8 -l logfile start592593waiting for server to start.... done594server started595 Compiling proc-macro2 v1.0.106596 Compiling unicode-ident v1.0.24597 Compiling serde v1.0.228598 Compiling serde_core v1.0.228599 Compiling cfg-if v1.0.4600 Compiling libc v0.2.186601 Compiling memchr v2.8.3602 Compiling version_check v0.9.5603 Compiling log v0.4.33604 Compiling libm v0.2.16605 Compiling once_cell v1.21.4606 Compiling itoa v1.0.18607 Compiling equivalent v1.0.2608 Compiling foldhash v0.2.0609 Compiling pin-project-lite v0.2.17610 Compiling typenum v1.20.1611 Compiling slab v0.4.12612 Compiling parking_lot_core v0.9.12613 Compiling scopeguard v1.2.0614 Compiling crossbeam-utils v0.8.22615 Compiling futures-core v0.3.32616 Compiling zeroize v1.9.0617 Compiling crossbeam-epoch v0.9.20618 Compiling crossbeam-deque v0.8.7619 Compiling rayon-core v1.13.0620 Compiling futures-task v0.3.32621 Compiling futures-io v0.3.32622 Compiling futures-sink v0.3.32623 Compiling subtle v2.6.1624 Compiling zmij v1.0.21625 Compiling allocator-api2 v0.2.21626 Compiling fnv v1.0.7627 Compiling find-msvc-tools v0.1.9628 Compiling stable_deref_trait v1.2.1629 Compiling shlex v2.0.1630 Compiling crc32fast v1.5.0631 Compiling const-oid v0.9.6632 Compiling base64 v0.22.1633 Compiling zerocopy v0.8.53634 Compiling anyhow v1.0.103635 Compiling utf8_iter v1.0.4636 Compiling cpufeatures v0.2.17637 Compiling serde_json v1.0.150638 Compiling percent-encoding v2.3.2639 Compiling num-traits v0.2.19640 Compiling rustc-hash v2.1.3641 Compiling icu_properties_data v2.2.0642 Compiling simd-adler32 v0.3.9643 Compiling icu_normalizer_data v2.2.0644 Compiling writeable v0.6.3645 Compiling heck v0.5.0646 Compiling adler2 v2.0.1647 Compiling zlib-rs v0.6.6648 Compiling time-core v0.1.9649 Compiling write16 v1.0.0650 Compiling num-conv v0.2.2651 Compiling hashbrown v0.17.1652 Compiling futures-channel v0.3.32653 Compiling utf16_iter v1.0.5654 Compiling powerfmt v0.2.0655 Compiling form_urlencoded v1.2.2656 Compiling ryu v1.0.23657 Compiling rustversion v1.0.23658 Compiling generic-array v0.14.7659 Compiling tracing-core v0.1.36660 Compiling miniz_oxide v0.8.9661 Compiling slotmap v1.1.1662 Compiling winnow v0.7.15663 Compiling unicode-segmentation v1.13.3664 Compiling httparse v1.10.1665 Compiling unicode-xid v0.2.6666 Compiling arrayvec v0.7.8667 Compiling siphasher v1.0.3668 Compiling tinyvec_macros v0.1.1669 Compiling fastrand v2.4.1670 Compiling getrandom v0.4.3671 Compiling spin v0.9.8672 Compiling hashbrown v0.16.1673 Compiling tower-service v0.3.3674 Compiling unicode-properties v0.1.4675 Compiling time-macros v0.2.31676 Compiling bitflags v2.13.0677 Compiling aho-corasick v1.1.4678 Compiling mime v0.3.17679 Compiling wasmtime-internal-core v43.0.2680 Compiling unicode-bidi v0.3.18681 Compiling bumpalo v3.20.3682 Compiling tinyvec v1.11.0683 Compiling regex-syntax v0.8.11684 Compiling fearless_simd v0.4.1685 Compiling fdeflate v0.3.7686 Compiling zune-core v0.5.1687 Compiling polycool v0.4.0688 Compiling untrusted v0.9.0689 Compiling ciborium-io v0.2.2690 Compiling hayro-ccitt v0.3.0691 Compiling ident_case v1.0.1692 Compiling rustix v1.1.4693 Compiling konst_macro_rules v0.2.19694 Compiling tower-layer v0.3.3695 Compiling ipnet v2.12.0696 Compiling zune-jpeg v0.5.15697 Compiling getrandom v0.3.4698 Compiling konst v0.2.20699 Compiling color_quant v1.1.0700 Compiling semver v1.0.28701 Compiling byteorder-lite v0.1.0702 Compiling dioxus-core-types v0.7.9703 Compiling quick-error v2.0.1704 Compiling linux-raw-sys v0.12.1705 Compiling proc-macro-hack v0.5.20+deprecated706 Compiling unsafe-libyaml v0.2.11707 Compiling target-lexicon v0.13.5708 Compiling weezl v0.1.12709 Compiling unicode-normalization v0.1.25710 Compiling phf_shared v0.13.1711 Compiling sync_wrapper v1.0.2712 Compiling quote v1.0.46713 Compiling image-webp v0.2.4714 Compiling libloading v0.8.9715 Compiling unicode-script v0.5.8716 Compiling arrayref v0.3.9717 Compiling cranelift-srcgen v0.130.2718 Compiling pxfm v0.1.30719 Compiling icu_locale_data v2.2.0720 Compiling httpdate v1.0.3721 Compiling encoding_rs v0.8.35722 Compiling same-file v1.0.6723 Compiling base64ct v1.8.3724 Compiling getrandom v0.2.17725 Compiling jobserver v0.1.35726 Compiling mio v1.2.1727 Compiling socket2 v0.6.4728 Compiling rand_core v0.6.4729 Compiling errno v0.3.14730 Compiling memmap2 v0.9.11731 Compiling core_maths v0.1.1732 Compiling crypto-common v0.1.7733 Compiling syn v2.0.118734 Compiling block-buffer v0.10.4735 Compiling litemap v0.8.2736 Compiling flate2 v1.1.9737 Compiling signal-hook-registry v1.4.8738 Compiling cc v1.2.66739 Compiling deranged v0.5.8740 Compiling indexmap v2.14.0741 Compiling serde_path_to_error v0.1.20742 Compiling uuid v1.23.4743 Compiling regex-automata v0.4.14744 Compiling digest v0.10.7745 Compiling const_format_proc_macros v0.2.34746 Compiling num-integer v0.1.46747 Compiling hayro-jbig2 v0.3.0748 Compiling hayro-jpeg2000 v0.3.5749 Compiling float-cmp v0.9.0750 Compiling ttf-parser v0.25.1751 Compiling gif v0.14.2752 Compiling phf_generator v0.13.1753 Compiling cranelift-assembler-x64-meta v0.130.2754 Compiling thiserror v1.0.69755 Compiling unicode-ccc v0.4.0756 Compiling roxmltree v0.20.0757 Compiling try-lock v0.2.5758 Compiling longest-increasing-subsequence v0.1.0759 Compiling png v0.18.1760 Compiling strict-num v0.1.1761 Compiling unicode-bidi-mirroring v0.4.0762 Compiling pem-rfc7468 v0.7.0763 Compiling walkdir v2.5.0764 Compiling rustls-pki-types v1.15.0765 Compiling leb128fmt v0.1.0766 Compiling imagesize v0.14.0767 Compiling icu_collator_data v2.2.0768 Compiling want v0.3.1769 Compiling sha2 v0.10.9770 Compiling fontconfig-parser v0.5.8771 Compiling wasm-bindgen-shared v0.2.126772 Compiling bit-vec v0.8.0773 Compiling paste v1.0.15774 Compiling portable-atomic v1.13.1775 Compiling xmlwriter v0.1.0776 Compiling simplecss v0.2.2777 Compiling roxmltree v0.21.1778 Compiling quick-xml v0.41.0779 Compiling der v0.7.10780 Compiling data-url v0.3.2781 Compiling unscanny v0.1.0782 Compiling unicode-vo v0.1.0783 Compiling linked-hash-map v0.5.6784 Compiling cranelift-isle v0.130.2785 Compiling wasmparser v0.239.0786 Compiling moxcms v0.8.1787 Compiling sha1 v0.10.6788 Compiling bit-set v0.8.0789 Compiling toml_write v0.1.2790 Compiling pico-args v0.5.0791 Compiling typst-utils v0.15.0792 Compiling yaml-rust v0.4.5793 Compiling rand_core v0.9.5794 Compiling hmac v0.12.1795 Compiling num-bigint v0.4.8796 Compiling wasmi_core v1.1.0797 Compiling convert_case v0.8.0798 Compiling thin-vec v0.2.18799 Compiling by_address v1.2.1800 Compiling codex v0.3.0801 Compiling rust_decimal v1.42.1802 Compiling cranelift-codegen-shared v0.130.2803 Compiling object v0.38.1804 Compiling unicode-math-class v0.1.0805 Compiling data-encoding v2.11.0806 Compiling chinese-variant v1.1.6807 Compiling rustls v0.23.41808 Compiling palette v0.7.6809 Compiling const_format v0.2.36810 Compiling roman-numerals-rs v3.1.0811 Compiling approx v0.5.1812 Compiling proc-macro2-diagnostics v0.10.1813 Compiling csv-core v0.1.13814 Compiling io-lifetimes v2.0.4815 Compiling wasmi_collections v1.1.0816 Compiling spki v0.7.3817 Compiling cpp_demangle v0.4.5818 Compiling atomic-waker v1.1.2819 Compiling pkg-config v0.3.33820 Compiling foldhash v0.1.5821 Compiling fast-srgb8 v1.0.0822 Compiling lazy-js-bundle v0.7.9823 Compiling parking v2.2.1824 Compiling mutate_once v0.1.2825 Compiling pkcs8 v0.10.2826 Compiling kamadak-exif v0.6.1827 Compiling csv v1.4.0828 Compiling hkdf v0.12.4829 Compiling webpki-roots v1.0.8830 Compiling wasm-bindgen v0.2.126831 Compiling typst-assets v0.15.0832 Compiling object v0.37.3833 Compiling hashbrown v0.15.5834 Compiling wasmtime-internal-component-util v43.0.2835 Compiling typed-arena v2.0.2836 Compiling az v1.3.0837 Compiling glidesort v0.1.2838 Compiling byteorder v1.5.0839 Compiling icu_segmenter_data v2.2.0840 Compiling crc-catalog v2.5.0841 Compiling winnow v1.0.3842 Compiling termcolor v1.4.1843 Compiling ring v0.17.14844 Compiling arbitrary v1.4.2845 Compiling lazy_static v1.5.0846 Compiling synstructure v0.13.2847 Compiling darling_core v0.21.3848 Compiling zstd-sys v2.0.16+zstd.1.5.7849 Compiling crc v3.4.0850 Compiling hashlink v0.10.0851 Compiling time v0.3.53852 Compiling lock_api v0.4.14853 Compiling wasm-bindgen-macro-support v0.2.126854 Compiling dioxus-cli-config v0.7.9855 Compiling bytes v1.12.0856 Compiling rustc-demangle v0.1.28857 Compiling hayro-postscript v0.1.0858 Compiling io-extras v0.18.4859 Compiling linebender_resource_handle v0.1.1860 Compiling cranelift-assembler-x64 v0.130.2861 Compiling dioxus-rsx v0.7.9862 Compiling hayro-cmap v0.1.0863 Compiling cookie v0.18.1864 Compiling utf-8 v0.7.6865 Compiling wasmi_ir v1.1.0866 Compiling tokio v1.52.3867 Compiling zstd-safe v7.2.4868 Compiling strsim v0.11.1869 Compiling cap-primitives v3.4.5870 Compiling unicase v2.9.0871 Compiling cranelift-control v0.130.2872 Compiling leb128 v0.2.7873 Compiling ambient-authority v0.0.2874 Compiling chrono v0.4.45875 Compiling futures-util v0.3.32876 Compiling wast v35.0.2877 Compiling ittapi-sys v0.4.0878 Compiling dioxus-document v0.7.9879 Compiling wasm-encoder v0.253.0880 Compiling signature v2.2.0881 Compiling stringprep v0.1.5882 Compiling ff v0.13.1883 Compiling bitmaps v2.1.0884 Compiling mime_guess v2.0.5885 Compiling multer v3.1.0886 Compiling im-rc v15.1.0887 Compiling maybe-owned v0.3.4888 Compiling unicode-width v0.2.2889 Compiling whoami v1.6.1890 Compiling concurrent-queue v2.5.0891 Compiling crossbeam-queue v0.3.13892 Compiling rustls v0.21.12893 Compiling wasmtime-internal-unwinder v43.0.2894 Compiling event-listener v5.4.1895 Compiling dotenvy v0.15.7896 Compiling hex v0.4.3897 Compiling base16ct v0.2.0898 Compiling home v0.5.12899 Compiling hypher v0.1.7900 Compiling compression-core v0.4.32901 Compiling toml_parser v1.1.2+spec-1.1.0902 Compiling id-arena v2.3.0903 Compiling sized-chunks v0.6.5904 Compiling sec1 v0.7.3905 Compiling group v0.13.0906 Compiling wast v253.0.0907 Compiling atoi v2.0.0908 Compiling compression-codecs v0.4.38909 Compiling pic-scale v0.7.10910 Compiling md-5 v0.10.6911 Compiling rand_xoshiro v0.6.0912 Compiling crypto-bigint v0.5.5913 Compiling serde_spanned v1.1.1914 Compiling toml_datetime v0.7.5+spec-1.1.0915 Compiling dirs-sys-next v0.1.2916 Compiling fixedbitset v0.4.2917 Compiling toml_writer v1.1.1+spec-1.1.0918 Compiling wasmtime-internal-cache v43.0.2919 Compiling fancy-regex v0.16.2920 Compiling regex v1.13.0921 Compiling wasmtime-internal-component-macro v43.0.2922 Compiling cap-std v3.4.5923 Compiling gimli v0.33.0924 Compiling matchers v0.2.0925 Compiling darling_core v0.23.0926 Compiling cfb v0.7.3927 Compiling sharded-slab v0.1.7928 Compiling stacker v0.1.24929 Compiling debugid v0.8.0930 Compiling directories-next v2.0.0931 Compiling socket2 v0.5.10932 Compiling rustc_version v0.4.1933 Compiling tracing-log v0.2.0934 Compiling thread_local v1.1.9935 Compiling litrs v1.0.0936 Compiling inventory v0.3.24937 Compiling rustix v0.38.44938 Compiling toml v0.9.12+spec-1.1.0939 Compiling http-range-header v0.4.2940 Compiling psl-types v2.0.11941 Compiling cbindgen v0.29.4942 Compiling toml_datetime v1.1.1+spec-1.1.0943 Compiling matchit v0.8.4944 Compiling wiggle-macro v43.0.2945 Compiling nu-ansi-term v0.50.3946 Compiling curve25519-dalek v4.1.3947 Compiling ittapi v0.4.0948 Compiling dioxus-interpreter-js v0.7.9949 Compiling toml_edit v0.25.12+spec-1.1.0950 Compiling rfc6979 v0.4.0951 Compiling rmp v0.8.15952 Compiling pdf-writer v0.15.0953 Compiling convert_case v0.10.0954 Compiling utf8parse v0.2.2955 Compiling elliptic-curve v0.13.8956 Compiling infer v0.19.0957 Compiling base16 v0.2.1958 Compiling serde_derive v1.0.228959 Compiling thiserror-impl v2.0.18960 Compiling zerofrom-derive v0.1.7961 Compiling yoke-derive v0.8.2962 Compiling zerovec-derive v0.11.3963 Compiling displaydoc v0.2.6964 Compiling futures-macro v0.3.32965 Compiling tracing-attributes v0.1.31966 Compiling zerocopy-derive v0.8.53967 Compiling tokio-macros v2.7.0968 Compiling bytemuck_derive v1.11.0969 Compiling pin-project-internal v1.1.13970 Compiling async-trait v0.1.89971 Compiling pulley-macros v43.0.2972 Compiling phf_macros v0.13.1973 Compiling thiserror-impl v1.0.69974 Compiling strum_macros v0.27.2975 Compiling wasmtime-internal-versioned-export-macros v43.0.2976 Compiling comemo-macros v0.5.1977 Compiling enum-ordinalize-derive v4.4.1978 Compiling warnings-macro v0.2.0979 Compiling palette_derive v0.7.6980 Compiling darling_macro v0.21.3981 Compiling typst-macros v0.15.0982 Compiling ppv-lite86 v0.2.21983 Compiling const-serialize-macro v0.7.2984 Compiling tracing v0.1.44985 Compiling bytemuck v1.25.1986 Compiling zerofrom v0.1.8987 Compiling rustix-linux-procfs v0.1.1988 Compiling fs-set-times v0.20.3989 Compiling ar_archive_writer v0.5.2990 Compiling darling v0.21.3991 Compiling tokio-stream v0.1.18992 Compiling const-serialize-macro v0.8.0-alpha.0993 Compiling dioxus-core-macro v0.7.9994 Compiling serde_repr v0.1.20995 Compiling dioxus-html-internal-macro v0.7.9996 Compiling enumset_derive v0.15.0997 Compiling font-types v0.11.3998 Compiling tiny-skia-path v0.12.0999 Compiling image v0.25.101000 Compiling color v0.3.31001 Compiling wasmtime-internal-fiber v43.0.21002 Compiling wasmtime-internal-jit-debug v43.0.21003 Compiling wasmtime v43.0.21004 Compiling enum-ordinalize v4.4.11005 Compiling chinese-number v0.7.81006 Compiling axum-macros v0.5.11007 Compiling darling_macro v0.23.01008 Compiling tempfile v3.27.01009 Compiling rand_chacha v0.3.11010 Compiling memfd v0.6.51011 Compiling wasmi v1.1.01012 Compiling phf v0.13.11013 Compiling const-serialize v0.7.21014 Compiling rand v0.8.61015 Compiling document-features v0.2.121016 Compiling read-fonts v0.39.21017 Compiling witx v0.9.11018 Compiling base64 v0.21.71019 Compiling cap-fs-ext v3.4.51020 Compiling num-bigint-dig v0.8.61021 Compiling option-ext v0.2.01022 Compiling yoke v0.8.31023 Compiling linux-raw-sys v0.4.151024 Compiling pin-project v1.1.131025 Compiling system-interface v0.27.31026 Compiling tiny-skia v0.12.01027 Compiling thiserror v2.0.181028 Compiling dirs-sys v0.5.01029 Compiling darling v0.23.01030 Compiling rgb v0.8.531031 Compiling enumset v1.1.131032 Compiling derive_more-impl v2.1.11033 Compiling primeorder v0.13.61034 Compiling ecdsa v0.16.91035 Compiling warnings v0.2.11036 Compiling psm v0.1.311037 Compiling proc-macro-crate v3.5.01038 Compiling dioxus-router-macro v0.7.91039 Compiling cobs v0.3.01040 Compiling zerovec v0.11.61041 Compiling zerotrie v0.2.41042 Compiling rustls-pemfile v1.0.41043 Compiling anstyle-parse v1.0.01044 Compiling async-stream-impl v0.3.61045 Compiling curve25519-dalek-derive v0.1.11046 Compiling macro-string v0.1.41047 Compiling webpki-roots v0.26.111048 Compiling num-iter v0.1.461049 Compiling charset v0.1.51050 Compiling inout v0.1.41051 Compiling webpki-roots v0.25.41052 Compiling askama_escape v0.13.01053 Compiling hashbrown v0.14.51054 Compiling is_terminal_polyfill v1.70.21055 Compiling dunce v1.0.51056 Compiling anstyle v1.0.141057 Compiling tinystr v0.8.31058 Compiling potential_utf v0.1.51059 Compiling sync_wrapper v0.1.21060 Compiling xxhash-rust v0.8.161061 Compiling xmp-writer v0.3.31062 Compiling anstyle-query v1.1.51063 Compiling colorchoice v1.0.51064 Compiling zip v2.4.21065 Compiling cipher v0.4.41066 Compiling icu_collections v2.2.01067 Compiling content_disposition v0.4.01068 Compiling unic-langid-impl v0.9.61069 Compiling icu_locale_core v2.2.01070 Compiling dioxus-fullstack-macro v0.7.91071 Compiling dirs v6.0.01072 Compiling serde_with_macros v3.21.01073 Compiling anstream v1.0.01074 Compiling tracing-futures v0.2.51075 Compiling cap-time-ext v3.4.51076 Compiling dioxus-stores-macro v0.7.91077 Compiling ed25519 v2.2.31078 Compiling pkcs1 v0.7.51079 Compiling ordered-float v2.10.11080 Compiling universal-hash v0.5.11081 Compiling lru v0.16.41082 Compiling zopfli v0.8.31083 Compiling wat v1.253.01084 Compiling send_wrapper v0.6.01085 Compiling clap_lex v1.1.01086 Compiling async-stream v0.3.61087 Compiling utf8-zero v0.8.11088 Compiling base64 v0.13.11089 Compiling const-str v0.7.11090 Compiling opaque-debug v0.3.11091 Compiling chacha20 v0.9.11092 Compiling p384 v0.13.11093 Compiling p256 v0.13.21094 Compiling clap_derive v4.6.11095 Compiling dioxus-config-macro v0.7.91096 Compiling aead v0.5.21097 Compiling wasm-bindgen-macro v0.2.1261098 Compiling unic-langid-macros-impl v0.9.61099 Compiling glob v0.3.31100 Compiling futures-executor v0.3.321101 Compiling poly1305 v0.8.01102 Compiling futures v0.3.321103 Compiling horae v0.1.0 (/build/source/crates/horae)1104 Compiling dioxus-config-macros v0.7.91105 Compiling dyn-clone v1.0.201106 Compiling clap_builder v4.6.01107 Compiling serial_test_derive v3.5.01108 Compiling chacha20poly1305 v0.10.11109 Compiling rustls-webpki v0.103.131110 Compiling icu_provider v2.2.01111 Compiling smallvec v1.15.21112 Compiling either v1.16.01113 Compiling postcard v1.1.31114 Compiling euclid v0.22.141115 Compiling subsecond-types v0.7.91116 Compiling serde_spanned v0.6.91117 Compiling toml_datetime v0.6.111118 Compiling strum v0.27.21119 Compiling rayon v1.12.01120 Compiling quick-xml v0.38.41121 Compiling bincode v1.3.31122 Compiling wasmparser v0.245.11123 Compiling ecow v0.2.61124 Compiling cranelift-bitset v0.130.21125 Compiling icu_properties v2.2.01126 Compiling subsecond v0.7.91127 Compiling serde_urlencoded v0.7.11128 Compiling keyboard-types v0.7.01129 Compiling sct v0.7.11130 Compiling rustls-webpki v0.101.71131 Compiling fontdb v0.23.01132 Compiling itertools v0.14.01133 Compiling wasmtime-internal-jit-icache-coherence v43.0.21134 Compiling fxprof-processed-profile v0.8.11135 Compiling const-serialize v0.8.0-alpha.01136 Compiling kurbo v0.13.11137 Compiling hayro-syntax v0.7.21138 Compiling rustybuzz v0.20.11139 Compiling cranelift-entity v0.130.21140 Compiling pulley-interpreter v43.0.21141 Compiling regalloc2 v0.15.11142 Compiling unic-langid-macros v0.9.61143 Compiling guillotiere v0.7.01144 Compiling http v1.4.21145 Compiling unic-langid v0.9.61146 Compiling http v0.2.121147 Compiling js-sys v0.3.1031148 Compiling biblatex v0.12.01149 Compiling icu_normalizer v2.2.01150 Compiling proc-macro-utils v0.10.01151 Compiling parking_lot v0.12.51152 Compiling generational-box v0.7.91153 Compiling svgtypes v0.16.11154 Compiling comemo v0.5.11155 Compiling typst-timing v0.15.01156 Compiling dioxus-core v0.7.91157 Compiling cranelift-bforest v0.130.21158 Compiling peniko v0.6.11159 Compiling serde_yaml v0.9.34+deprecated1160 Compiling toml_edit v0.22.271161 Compiling plist v1.10.01162 Compiling http-body v1.0.11163 Compiling citationberg v0.7.01164 Compiling idna_adapter v1.2.21165 Compiling idna v1.1.01166 Compiling icu_locale v2.2.01167 Compiling http-body-util v0.1.31168 Compiling futures-intrusive v0.5.01169 Compiling skrifa v0.42.11170 Compiling syntect v5.3.01171 Compiling axum-core v0.5.61172 Compiling url v2.5.81173 Compiling icu_provider_blob v2.2.01174 Compiling vello_common v0.0.81175 Compiling http-body v0.4.61176 Compiling petgraph v0.6.51177 Compiling write-fonts v0.48.11178 Compiling icu_segmenter v2.2.01179 Compiling headers-core v0.3.01180 Compiling manyhow-macros v0.11.41181 Compiling two-face v0.4.51182 Compiling sqlx-core v0.8.61183 Compiling tracing-subscriber v0.3.231184 Compiling headers v0.4.11185 Compiling hayro-write v0.7.01186 Compiling manganis-core v0.7.91187 Compiling half v2.7.11188 Compiling ciborium-ll v0.2.21189 Compiling rmp-serde v1.3.11190 Compiling serde_qs v0.15.01191 Compiling derive_more v2.1.11192 Compiling ciborium v0.2.21193 Compiling ureq-proto v0.6.01194 Compiling dashmap v6.2.11195 Compiling prost-derive v0.14.41196 Compiling tower-cookies v0.11.01197 Compiling manyhow v0.11.41198 Compiling usvg v0.47.01199 Compiling hayro-interpret v0.7.01200 Compiling extism-convert-macros v1.30.01201 Compiling ed25519-dalek v2.2.01202 Compiling rand_chacha v0.9.01203 Compiling vello_cpu v0.0.81204 Compiling serde_with v3.21.01205 Compiling itertools v0.10.51206 Compiling rand v0.9.41207 Compiling manganis-macro v0.7.91208 Compiling ureq v3.3.01209 Compiling serde_plain v1.0.21210 Compiling extism-manifest v1.30.01211 Compiling icu_collator v2.2.11212 Compiling dioxus-logger v0.7.91213 Compiling serde-value v0.7.01214 Compiling tungstenite v0.29.01215 Compiling tungstenite v0.28.01216 Compiling tungstenite v0.27.01217 Compiling lipsum v0.9.11218 Compiling dioxus-signals v0.7.91219 Compiling dioxus-history v0.7.91220 Compiling publicsuffix v2.3.01221 Compiling addr2line v0.26.11222 Compiling dioxus-devtools-types v0.7.91223 Compiling dioxus-hooks v0.7.91224 Compiling dioxus-devtools v0.7.91225 Compiling dioxus-ssr v0.7.91226 Compiling cap-rand v3.4.51227 Compiling resvg v0.47.01228 Compiling cranelift-codegen-meta v0.130.21229 Compiling dioxus-stores v0.7.91230 Compiling manganis v0.7.91231 Compiling rust_xlsxwriter v0.80.01232 Compiling clap v4.6.11233 Compiling serial_test v3.5.01234 Compiling dioxus-html v0.7.91235 Compiling sqlx-postgres v0.8.61236 Compiling rsa v0.9.101237 Compiling prost v0.14.41238 Compiling async-tungstenite v0.31.01239 Compiling wasm-encoder v0.245.11240 Compiling wasmprinter v0.245.11241 Compiling extism-convert v1.30.01242 Compiling zstd v0.13.31243 Compiling hayagriva v0.10.11244 Compiling cookie_store v0.22.11245 Compiling ureq v2.12.11246 Compiling tokio-util v0.7.181247 Compiling tower v0.5.31248 Compiling async-compression v0.4.421249 Compiling tokio-rustls v0.26.41250 Compiling tokio-rustls v0.24.11251 Compiling tower-sessions-core v0.14.01252 Compiling tokio-tungstenite v0.28.01253 Compiling dioxus-asset-resolver v0.7.91254 Compiling hayro-svg v0.7.01255 Compiling hayro v0.7.11256 Compiling extism v1.30.01257 Compiling tower-sessions-memory-store v0.14.01258 Compiling tower-sessions v0.14.01259 Compiling tokio-tungstenite v0.29.01260 Compiling cranelift-codegen v0.130.21261 Compiling wasm-compose v0.245.11262 Compiling h2 v0.4.151263 Compiling h2 v0.3.271264 Compiling tower-http v0.6.111265 Compiling toml v0.8.231266 Compiling wit-parser v0.245.11267 Compiling wasmtime-environ v43.0.21268 Compiling typst-syntax v0.15.01269 Compiling sqlx-macros-core v0.8.61270 Compiling web-sys v0.3.1031271 Compiling wasm-bindgen-futures v0.4.761272 Compiling wasmtime-internal-wit-bindgen v43.0.21273 Compiling dioxus-fullstack-core v0.7.91274 Compiling sqlx-macros v0.8.61275 Compiling hyper v0.14.321276 Compiling dioxus-router v0.7.91277 Compiling typst-library v0.15.01278 Compiling hyper-rustls v0.24.21279 Compiling reqwest v0.11.271280 Compiling hyper v1.10.11281 Compiling wiggle-generate v43.0.21282 Compiling hyper-util v0.1.201283 Compiling oauth2 v4.4.21284 Compiling gloo-utils v0.2.01285 Compiling gloo-net v0.6.01286 Compiling subsetter v0.2.61287 Compiling openidconnect v3.5.01288 Compiling wasm-streams v0.4.21289 Compiling sqlx v0.8.61290 Compiling horae-core v0.1.0 (/build/source/crates/core)1291 Compiling tower-sessions-sqlx-store v0.15.01292 Compiling axum v0.8.91293 Compiling hyper-rustls v0.27.91294 Compiling reqwest v0.12.281295 Compiling krilla v0.8.21296 Compiling krilla-svg v0.8.11297 Compiling axum-extra v0.10.31298 Compiling dioxus-server v0.7.91299 Compiling dioxus-fullstack v0.7.9 (/build/source/vendor/dioxus-fullstack-0.7.9)1300 Compiling dioxus v0.7.91301 Compiling cranelift-native v0.130.21302 Compiling cranelift-frontend v0.130.21303 Compiling wasmtime-internal-cranelift v43.0.21304 Compiling typst-layout v0.15.01305 Compiling typst-eval v0.15.01306 Compiling typst-kit v0.15.01307 Compiling typst-svg v0.15.01308 Compiling typst-pdf v0.15.01309 Compiling typst-html v0.15.01310 Compiling typst-realize v0.15.01311 Compiling typst v0.15.01312 Compiling typst-as-lib v0.16.01313 Compiling wiggle v43.0.21314 Compiling wasi-common v43.0.21315 Finished `test` profile [unoptimized + debuginfo] target(s) in 6m 12s1316 Running unittests src/main.rs (target/debug/deps/horae-5009cc8439fd9d15)13171318running 830 tests1319test auth::oidc::tests::extra_audiences_are_trusted_only_when_listed ... ok1320test auth::oidc::tests::first_login_links_subject_via_verified_email ... ok1321test auth::oidc::tests::deactivated_email_match_is_denied ... ok1322test auth::oidc::tests::deactivated_subject_match_is_denied ... ok1323test auth::oidc::tests::no_account_is_denied_not_provisioned ... ok1324test auth::oidc::tests::subject_match_logs_in_without_relinking ... ok1325test auth::oidc::tests::subject_match_takes_precedence_over_email ... ok1326test auth::oidc::tests::unverified_email_is_not_matched ... ok1327test auth::page::tests::configured_label_is_html_escaped ... ok1328test auth::page::tests::oidc_variant_uses_the_configured_label_and_hands_off_to_start ... ok1329test auth::page::tests::dev_variant_offers_the_admin_bypass_and_no_fake_controls ... ok1330test cli::imports::tests::retry_snapshot_is_compatible_with_missing_and_future_values ... ok1331test cli::imports::tests::missing_session_is_a_structured_configuration_failure ... ok1332test cli::tests::environment_probe ... ok1333test config::tests::dev_login_is_allowed_on_loopback ... ok1334test config::tests::dev_login_is_refused_off_loopback ... ok1335test config::tests::environment::environment_probe ... ok1336test config::tests::without_dev_login_any_bind_is_fine ... ok1337test cli::tests::remote_import_and_job_commands_accept_the_documented_arguments ... ok1338test harvest::pagination_tests::harvest_pagination_total_pages_does_not_overflow ... ok1339test cli::tests::remote_commands_reject_conflicting_or_unbounded_options ... ok1340test cli::imports::tests::session_rejects_public_permissions_and_symlinks ... ok1341test cli::imports::tests::report_marks_confirmed_failed_outcomes_as_incomplete ... ok1342test config::tests::environment::partial_oidc_configuration_remains_disabled_without_a_callback ... ok1343test cli::imports::tests::session_rejects_cookie_header_injection_without_echoing_the_value ... ok1344test cli::imports::tests::private_session_accepts_https_and_loopback_only ... ok1345test cli::imports::tests::api_submission_captures_generation_without_retrying_uncertain_acceptance ... ok1346test cli::imports::tests::session_rejects_plaintext_remote_and_credential_bearing_urls ... ok1347test cli::imports::tests::malformed_submission_acknowledgement_retains_its_request_identity ... ok1348test cli::imports::tests::cancellation_racing_completion_does_not_claim_cancellation_was_requested ... ok1349test harvest::tests::page_window_defaults_and_checked_offsets ... ok1350test cli::imports::tests::redirects_are_not_followed_or_exposed_as_server_error_text ... ok1351test cli::imports::tests::invalid_csv_files_fail_before_contacting_the_server ... ok1352test db::tests::pool_connections_force_custom_plans ... ok1353test config::tests::environment::empty_environment_has_no_authentication_or_plugin_credentials ... ok1354test cli::imports::tests::csv_named_pipe_is_rejected_without_waiting_for_a_writer ... ok1355test config::tests::environment::example_environment_can_configure_all_required_oidc_and_harvest_fields ... ok1356test config::tests::environment::obsolete_authentication_variables_do_not_configure_the_server ... ok1357test cli::imports::tests::archived_errors_publish_without_clobbering_and_preserve_the_prior_file_on_failure ... ok1358test cli::imports::tests::missing_and_mismatched_jobs_fail_without_substitution ... ok1359test importers::harvest::api_source::http::tests::cancelled_backoff_does_not_wait_or_retry ... ok1360test importers::harvest::api_source::http::tests::cursor_links_are_authoritative_even_with_null_or_stale_page_numbers ... ok1361test cli::imports::tests::status_and_wait_distinguish_failed_jobs_from_failed_reads ... ok1362test cli::tests::default_command_rejects_invalid_environment_ports ... ok1363test cli::tests::default_command_uses_the_same_defaults_and_environment_as_serve ... ok1364test importers::harvest::api_source::http::tests::missing_next_cursor_is_not_silently_treated_as_completed ... ok1365test importers::harvest::api_source::http::tests::pagination_cycle_detection_survives_restarting_after_every_page ... ok1366test importers::harvest::api_source::http::tests::persisted_cursor_resumes_with_a_new_client_and_stays_complete_at_eof ... ok1367test importers::harvest::api_source::http::tests::rejected_page_does_not_advance_the_cursor ... ok1368test cli::imports::tests::ordinary_json_is_bounded_and_invalid_replies_are_not_echoed ... ok1369test importers::harvest::api_source::http::tests::rejects_pagination_outside_the_authenticated_endpoint ... ok1370test importers::harvest::api_source::http::tests::resumed_cursor_rejects_untrusted_destinations_and_invalid_state_before_http ... ok1371test importers::harvest::api_source::tests::assembled_rows_convert_to_exact_minutes ... ok1372test importers::harvest::api_source::tests::assembles_rows_joining_parents_by_id ... ok1373test config::tests::environment::job_attempt_limit_uses_the_documented_environment_variable ... ok1374test importers::harvest::api_source::tests::hours_render_as_exact_decimals ... ok1375test importers::harvest::api_source::tests::json_exponents_expand_exactly_with_bounded_output ... ok1376test config::tests::environment::mail_environment_requires_a_complete_valid_configuration ... ok1377test importers::harvest::api_source::tests::http_page_preserves_decimal_values_before_integer_conversion ... ok1378test importers::harvest::credentials::tests::bad_key_length_is_rejected ... ok1379test config::tests::environment::invalid_job_attempt_limits_reject_startup ... ok1380test config::tests::environment::secure_cookies_use_the_documented_prefixed_variable ... ok1381test importers::harvest::api_source::http::tests::http_pages_follow_cursor_and_preserve_headers_and_encoded_filter ... ok1382test importers::harvest::credentials::tests::decode_hex_rejects_bad_input ... ok1383test importers::harvest::api_source::http::tests::http_retries_429_but_never_follows_redirects_or_shortens_long_backoff ... ok1384test importers::harvest::credentials::tests::encrypt_then_decrypt_round_trips ... ok1385test importers::harvest::api_source::http::tests::http_rejects_oversized_malformed_and_cyclic_pages ... ok1386test importers::harvest::api_source::http::tests::slow_consumer_backpressures_http_and_cancellation_stops_further_pages ... ok1387test importers::harvest::credentials::tests::nonce_makes_ciphertext_nondeterministic ... ok1388test cli::imports::tests::wait_deadline_caps_a_pending_request_without_cancelling_the_job ... ok1389test importers::harvest::account_switch::tests::change_preserves_terminal_history_and_rejects_stale_confirmation ... ok1390test importers::harvest::credentials::tests::wrong_key_fails_to_decrypt ... ok1391test importers::harvest::csv_source::tests::bad_date_becomes_a_row_error_not_a_rejection ... ok1392test importers::harvest::csv_source::tests::conflicting_email_aliases_error_only_the_affected_row ... ok1393test importers::harvest::csv_source::tests::csv_records_preserve_multiline_unicode_across_single_byte_reads ... ok1394test importers::harvest::csv_source::tests::cursor_beyond_upload_is_rejected_without_parsing_rows ... ok1395test importers::harvest::csv_source::tests::cursor_resumes_after_multiline_unicode_and_preserves_error_locations ... ok1396test importers::harvest::csv_source::tests::delivers_a_row_before_reading_the_rest_of_the_file ... ok1397test importers::harvest::csv_source::tests::empty_file_is_rejected ... ok1398test importers::harvest::csv_source::tests::identity_columns_are_required_and_cannot_repeat ... ok1399test importers::harvest::csv_source::tests::invalid_utf8_errors_one_record_and_continues ... ok1400test importers::harvest::csv_source::tests::missing_required_columns_is_rejected ... ok1401test importers::harvest::csv_source::tests::names_stay_separate_from_optional_email ... ok1402test importers::harvest::csv_source::tests::parse_bool_accepts_yes_variants ... ok1403test importers::harvest::csv_source::tests::parses_rows_case_insensitively ... ok1404test harvest::tests::harvest_marks_unbilled_non_billable_contexts_consistently ... ok1405test harvest::tests::a_member_cannot_filter_to_a_colleague ... ok1406test auth::oidc::tests::linking::existing_subject_wins_over_another_accounts_email ... ok1407test auth::oidc::tests::linking::unverified_email_cannot_link_an_account ... ok1408test harvest::tests::a_member_cannot_list_users ... ok1409test auth::oidc::tests::linking::deactivation_during_first_link_denies_login ... ok1410test auth::oidc::tests::linking::simultaneous_logins_with_the_same_subject_are_allowed ... ok1411test importers::harvest::credentials::tests::failed_credential_write_does_not_leave_an_account_binding ... ok1412test harvest::tests::a_member_sees_only_their_own_time_entries ... ok1413test auth::oidc::tests::linking::different_subjects_cannot_both_claim_an_unlinked_account ... ok1414test harvest::tests::a_member_cannot_fetch_a_colleagues_entry ... ok1415test importers::harvest::credentials::tests::connection_changes_work_with_a_single_connection_pool ... ok1416test harvest::tests::a_manager_sees_the_whole_org ... ok1417test harvest::pagination_tests::harvest_own_time_omits_private_project_budget_metadata ... ok1418test harvest::tests::members_cannot_read_own_project_rates_or_cost_overrides ... ok1419test harvest::tests::a_manager_lists_users_with_their_rates ... ok1420test importers::harvest::credentials::tests::concurrent_first_connections_cannot_bind_different_accounts ... ok1421test importers::harvest::account_switch::tests::a_b_a_keeps_old_callbacks_requests_and_retries_fenced ... ok1422test importers::harvest::credentials::tests::disconnect_preserves_identity_and_provenance_for_the_original_account ... ok1423test importers::harvest::account_switch::tests::successful_change_preserves_business_rows_and_failure_rolls_back_secrets ... ok1424test importers::harvest::credentials::tests::migration_binds_existing_connections_without_changing_secrets_or_markers ... ok1425test harvest::tests::harvest_entry_rates_follow_the_cascade_and_frozen_invoice_line ... ok1426test importers::harvest::account_switch::tests::queued_work_and_provenance_block_without_changing_binding ... ok1427test importers::harvest::account_switch::tests::disconnect_and_reconnect_fence_callbacks_but_not_same_account_work ... ok1428test importers::harvest::credentials::tests::connect_and_disconnect_share_import_exclusion_without_blocking_other_orgs ... ok1429test importers::harvest::account_switch::tests::queue_acceptance_does_not_wait_for_the_import_session_lock ... ok1430test importers::harvest::account_switch::tests::retry_and_change_are_serialized ... ok1431test importers::harvest::account_switch::tests::running_jobs_block_change_and_old_execution_never_reaches_http ... ok1432test harvest::tests::harvest_entry_rates_respect_selected_project_mode ... ok1433test importers::harvest::credentials::tests::same_account_reconnect_rotates_encryption_without_resetting_watermarks ... ok1434test importers::harvest::engine_tests::csv_streaming::measure_csv_durable_100k ... ignored, 100,000-row durable CSV measurement; run explicitly with --release --nocapture1435test 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 --nocapture1436test importers::harvest::engine_tests::csv_streaming::measure_csv_streaming_100k ... ignored, 100,000-row CSV measurement; run explicitly with --release --nocapture1437test 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 --nocapture1438test importers::harvest::credentials::tests::unidentified_legacy_provenance_requires_operator_review ... ok1439test importers::harvest::credentials::tests::another_account_cannot_replace_credentials_or_watermarks ... ok1440test importers::harvest::account_switch::tests::competing_change_and_submission_cannot_both_succeed ... ok1441test harvest::tests::harvest_effective_minutes_match_sql_for_open_and_frozen_time ... ok1442test importers::harvest::account_switch::tests::competing_callbacks_and_confirmations_have_one_winner ... ok1443test importers::harvest::engine_tests::cancelled_http_waiter_keeps_the_lock_until_its_worker_exits ... ok1444test importers::harvest::engine_tests::api_and_csv_share_the_lock_but_other_organizations_can_import ... ok1445test importers::harvest::engine_tests::bad_records_are_reported_and_run_continues ... ok1446test importers::harvest::engine_tests::api_connection_checks_work_with_a_single_connection_pool ... ok1447test importers::harvest::engine_tests::lookup_cache::cold_query_callsite_on_untraced_thread_is_still_captured ... ok1448test importers::harvest::engine_tests::api_sync_adopts_entries_from_a_prior_csv_import ... ok1449test importers::harvest::engine_tests::cancellation_rolls_back_rows_and_releases_the_import_session ... ok1450test importers::harvest::engine_tests::csv_import_populates_and_is_idempotent ... ok1451test importers::harvest::engine_tests::csv_name_only_matches_one_org_user_and_reimports_without_duplicates ... ok1452test db::tests::reset_empties_the_database_and_reapplies_migrations ... ok1453test importers::harvest::engine_tests::csv_name_only_dry_run_and_duplicate_occurrences_preserve_history ... ok1454test importers::harvest::engine_tests::concurrent_imports_reject_overlap_without_collapsing_repeated_entries ... ok1455test importers::harvest::engine_tests::csv_malformed_file_is_rejected_with_no_writes ... ok1456test importers::harvest::engine_tests::csv_name_fallback_requires_a_full_unique_name_and_never_overrides_email ... ok1457test importers::harvest::engine_tests::csv_streaming::csv_preview_errors_and_repeated_rows_match_commit_and_reimport ... ok1458test importers::harvest::engine_tests::csv_ambiguous_names_include_inactive_users_but_unique_email_disambiguates ... ok1459test harvest::tests::imported_legacy_rates_survive_retry_in_harvest_list_and_detail ... ok1460test importers::harvest::oauth::tests::authorize_url_carries_state_and_encoded_redirect ... ok1461test importers::harvest::oauth::tests::authorize_url_preserves_query_values_without_injecting_parameters ... ok1462test importers::harvest::oauth_callback_tests::account_policy_failures_return_safe_actionable_conflicts ... ok1463test importers::harvest::oauth_callback_tests::mismatched_state_is_rejected_without_a_code ... ok1464test importers::harvest::oauth_callback_tests::missing_returned_state_is_rejected ... ok1465test importers::harvest::oauth_callback_tests::missing_stored_state_is_rejected ... ok1466test importers::harvest::oauth_callback_tests::provider_error_is_rejected_before_exchange ... ok1467test importers::harvest::oauth_callback_tests::valid_matching_state_yields_the_code ... ok1468test importers::harvest::oauth_callback_tests::valid_state_but_missing_code_is_rejected ... ok1469test importers::harvest::report::tests::archive_metadata_cannot_masquerade_as_a_legacy_or_inconsistent_report ... ok1470test importers::harvest::report::tests::archived_report_round_trips_without_losing_error_accounting ... ok1471test importers::harvest::report::tests::legacy_report_preserves_its_counts_and_error_details ... ok1472test importers::harvest::report::tests::report_rejects_unsupported_and_invalid_versions ... ok1473test importers::harvest::report::tests::serialized_report_has_a_supported_schema_version ... ok1474test importers::harvest::resolve::checkpoint_tests::run_cache_round_trip_preserves_identity_namespaces_and_occurrences ... ok1475test importers::harvest::engine_tests::csv_streaming::csv_applies_before_eof_but_transport_failure_rolls_back_everything ... ok1476test importers::harvest::engine_tests::csv_streaming::cancelling_a_csv_waiting_for_more_bytes_releases_its_session ... ok1477test importers::harvest::engine_tests::distinct_harvest_ids_with_identical_fields_import_as_two ... ok1478test importers::harvest::engine_tests::edited_entry_still_matched_by_provenance ... ok1479test importers::harvest::engine_tests::csv_streaming::durable_csv_stale_commit_is_fenced_without_a_heartbeat ... ok1480test importers::harvest::engine_tests::dry_run_writes_nothing_and_matches_commit ... ok1481test importers::harvest::engine_tests::failed_source_releases_the_session_and_rolls_back_partial_rows ... ok1482test importers::harvest::engine_tests::import_rejects_ambiguous_normalized_email_without_partial_writes ... ok1483test importers::harvest::engine_tests::full_import_creates_all_levels_with_exact_minutes ... ok1484test importers::harvest::engine_tests::csv_streaming::durable_csv_report_metadata_is_bounded_after_recovery ... ok1485test importers::harvest::engine_tests::lookup_cache::cached_email_and_full_name_do_not_share_a_namespace ... ok1486test importers::harvest::engine_tests::lookup_cache::lookup_index_migration_preserves_existing_ambiguous_identities ... ok1487test importers::harvest::engine_tests::lookup_cache::cached_project_task_still_validates_each_rows_rate ... ok1488test importers::harvest::engine_tests::completed_imports_allow_immediate_retries ... ok1489test importers::harvest::engine_tests::lookup_cache::rolled_back_row_does_not_cache_user_or_project_task ... ok1490test importers::harvest::engine_tests::natural_key_reimport_normalizes_whitespace_and_ascii_case ... ok1491test importers::harvest::engine_tests::overflowing_decimals_fail_only_their_rows ... ok1492test importers::harvest::engine_tests::lookup_cache::project_task_cache_distinguishes_both_sides_of_the_link ... ok1493test importers::harvest::engine_tests::lookup_cache::new_run_rechecks_previously_cached_user_for_ambiguity ... ok1494test importers::harvest::engine_tests::two_identical_csv_rows_import_as_two_entries ... ok1495test importers::harvest::engine_tests::submission_barrier_blocks_imported_time_entries ... ok1496test importers::harvest::engine_tests::watermark_advances_only_on_commit ... ok1497test importers::harvest::engine_tests::reimporting_identical_csv_rows_is_idempotent ... ok1498test importers::harvest::streaming::tests::api_planning_policy_ends_with_the_transaction ... ok1499test importers::harvest::engine_tests::second_identical_run_creates_nothing ... ok1500test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_crosses_batch_boundaries_without_committing_domain_data ... ok1501test importers::harvest::resolve::preview::tests::rejects_foreign_parent_snapshots_before_restoring_any_rows ... ok1502test importers::harvest::streaming::durable::preview::tests::restoration_omits_unneeded_virtual_entries ... ok1503test importers::harvest::resolve::preview::tests::checkpoint_restores_known_task_currency_and_keeps_old_currency_unknown ... ok1504test importers::harvest::credentials::tests::completed_credential_changes_allow_immediate_retries ... ok1505test importers::harvest::sync_tests::api_requires_email_even_when_full_name_matches ... ok1506test importers::harvest::sync_tests::api_rejects_ambiguous_email_without_advancing_watermark ... ok1507test harvest::pagination_tests::harvest_project_progress_permissions_cover_counts_pages_and_details ... ok1508test importers::harvest::engine_tests::csv_streaming::csv_sql_backpressure_stops_reading_later_input_rows ... ok1509test importers::harvest::sync_tests::dry_run_leaves_data_provenance_and_watermark_unchanged ... ok1510test importers::harvest::sync_tests::empty_sync_does_not_invent_a_watermark ... ok1511test importers::harvest::sync_tests::disconnect_and_reconnect_preserves_imported_records_and_exact_identity ... ok1512test importers::harvest::sync_tests::failed_rows_are_available_to_the_next_incremental_retry ... ok1513test importers::harvest::sync_tests::failed_client_propagates_to_project_and_entry_without_placeholder_records ... ok1514test importers::harvest::sync_tests::missing_source_timestamp_keeps_the_previous_watermark ... ok1515test importers::harvest::sync_tests::missing_client_fallback_and_failed_project_savepoints_do_not_poison_cache ... ok1516test importers::harvest::sync_tests::exact_api_decimals_survive_preview_commit_and_reimport ... ok1517test importers::harvest::sync_tests::invalid_parent_blocks_dependent_time_but_other_catalog_records_survive ... ok1518test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_resumes_after_a_crash_without_recounting_rows ... ok1519test importers::harvest::sync_tests::scale::api_100k_commit_and_reimport ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture1520test importers::harvest::sync_tests::scale::api_100k_dry_run ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture1521test importers::harvest::sync_tests::scale::api_durable_100k_commit_and_reimport ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture1522test importers::harvest::sync_tests::scale::api_durable_100k_dry_run ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture1523test importers::harvest::sync_tests::out_of_range_api_decimals_error_per_row_and_leave_retry_watermark ... ok1524test importers::harvest::engine_tests::lookup_cache::repeated_rows_resolve_each_user_and_project_task_once ... ok1525test harvest::pagination_tests::harvest_pagination_time_entries_keep_the_filtered_set_and_date_ties ... ok1526test importers::harvest::engine_tests::csv_streaming::durable_csv_resumes_committed_batches_without_recounting_duplicate_rows ... ok1527test importers::harvest::sync_tests::parent_catalog_preserves_metadata_and_counts_each_entity_once ... ok1528test importers::harvest::sync_tests::paging::cancelled_page_consumer_retains_lock_until_worker_exits_and_rolls_back ... ok1529test importers::harvest::sync_tests::paging::durable_api_stale_commit_cannot_advance_data_or_watermark ... ok1530test importers::harvest::sync_tests::paging::later_download_failure_rolls_back_parents_rows_and_watermark ... ok1531test importers::harvest::sync_tests::parent_only_api_import_creates_catalog_and_reimport_skips_it ... ok1532test importers::harvest::sync_tests::parent_only_dry_run_previews_without_persisting_catalog ... ok1533test importers::harvest::sync_tests::refreshed_tokens_survive_a_dry_run_rollback_in_the_same_import_session ... ok1534test importers::harvest::sync_tests::checkpoints::durable_api_cancellation_preserves_confirmed_pages_for_manual_retry ... ok1535test importers::harvest::sync_tests::checkpoints::durable_api_finalization_retry_does_not_repeat_completed_downloads ... ok1536test importers::harvest::sync_tests::checkpoints::durable_api_preview_cancellation_preserves_confirmed_pages_for_manual_retry ... ok1537test importers::harvest::sync_tests::checkpoints::durable_api_preview_finalization_retry_does_not_repeat_completed_downloads ... ok1538test importers::harvest::sync_tests::checkpoints::durable_api_preview_reclaimed_worker_cannot_checkpoint_its_next_page ... ok1539test importers::harvest::sync_tests::checkpoints::durable_api_preview_resume_preserves_row_errors ... ok1540test importers::harvest::sync_tests::checkpoints::durable_api_reclaimed_worker_cannot_commit_its_next_page ... ok1541test importers::harvest::sync_tests::checkpoints::durable_api_resume_keeps_earlier_errors_and_does_not_advance_watermark ... ok1542test importers::harvest::sync_tests::checkpoints::durable_api_resume_remembers_an_earlier_missing_timestamp ... ok1543test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_rejects_a_stale_next_batch ... ok1544test importers::harvest::sync_tests::checkpoints::durable_api_resumes_a_partially_downloaded_catalog ... ok1545test importers::harvest::sync_tests::checkpoints::failed_api_commit_publishes_its_last_confirmed_page_report ... ok1546test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_pages_without_publishing_domain_data ... ok1547test importers::harvest::sync_tests::checkpoints::failed_api_preview_publishes_its_last_confirmed_page_report ... ok1548test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_catalog_download ... ok1549test importers::harvest::sync_tests::successful_sync_only_marks_the_incrementally_fetched_entity ... ok1550test importers::harvest::sync_tests::checkpoints::durable_api_resumes_committed_pages_and_preserves_the_high_watermark ... ok1551test init::tests::init_creates_one_org_and_one_admin_and_nothing_else ... ok1552test init::tests::init_refuses_when_an_organization_exists ... ok1553test importers::harvest::sync_tests::watermark_never_passes_the_start_of_capture ... ok1554test importers::harvest::sync_tests::watermark_write_failure_rolls_back_imported_data ... ok1555test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_joins_parser_and_preserves_committed_rows ... ok1556test harvest::pagination_tests::harvest_project_cost_overrides_require_admin_without_fabricated_fallback ... ok1557test jobs::tests::cancellation_and_retry_are_scoped_and_idempotent ... ok1558test jobs::tests::claims_are_atomic_and_expired_leases_recover ... ok1559test importers::harvest::engine_tests::csv_streaming::durable_csv_reclaimed_lease_cannot_commit_the_next_batch ... ok1560test jobs::tests::history_paginates_tied_timestamps_and_rejects_foreign_cursors ... ok1561test jobs::tests::outbox_delivery_is_idempotent ... ok1562test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_cancel_preserves_simulation_for_manual_retry ... ok1563test harvest::pagination_tests::harvest_pagination_empty_and_out_of_range_pages_keep_the_contract ... ok1564test jobs::tests::payload_kind_is_stable_and_round_trips ... ok1565test jobs::tests::payload_versions_preserve_legacy_jobs_and_reject_unknown_versions ... ok1566test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_preserves_its_completed_batches_for_manual_retry ... ok1567test jobs::tests::retry_snapshot_does_not_guess_unknown_payloads_or_sources ... ok1568test importers::harvest::sync_tests::paging::invalid_and_missing_timestamp_rows_cross_page_boundaries_without_advancing ... ok1569test jobs::tests::shutdown_deadline_drops_and_joins_in_flight_work ... ok1570test jobs::tests::shutdown_waits_for_in_flight_work ... ok1571test importers::harvest::sync_tests::checkpoints::durable_api_resumes_after_a_confirmed_parent_batch ... ok1572test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_after_a_confirmed_parent_batch ... ok1573test jobs::tests::retry_snapshot_matches_status_and_list_without_exposing_payload ... ok1574test jobs::report::stream_tests::download_reads_only_when_consumed_and_releases_its_connection ... ok1575test jobs::tests::synthetic_job_uses_the_same_registered_envelope ... ok1576test jobs::tests::upload_organization_must_match_its_job ... ok1577test models::project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok1578test models::project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok1579test models::project_creation::tests::unknown_draft_fields_are_rejected ... ok1580test jobs::tests::missing_csv_upload_records_error_and_requeues ... ok1581test importers::harvest::engine_tests::large_run_reuses_parents_and_reconciles_totals ... ok1582test notifications::tests::cancelling_delivery_kills_the_active_sender ... ok1583test importers::harvest::sync_tests::paging::durable_api_cancel_waits_for_the_producer_before_acknowledging ... ok1584test notifications::tests::acknowledged_email_is_never_claimed_again ... ok1585test notifications::tests::mail_configuration_is_disabled_by_default_and_rejects_partial_values ... ok1586test notifications::tests::mail_configuration_requires_an_executable_file_and_safe_sender ... ok1587test jobs::tests::outbox_same_kind_consumers_cannot_claim_the_same_lease ... ok1588test notifications::tests::disabled_mail_worker_does_not_claim_pending_notifications ... ok1589test notifications::tests::recipient_injection_is_rejected_before_starting_a_process ... ok1590test notifications::tests::rendered_mail_bounds_body_lines_for_long_unicode_and_control_names ... ok1591test notifications::tests::failed_email_retries_same_identity_and_eventually_stops ... ok1592test notifications::tests::sendmail_failure_does_not_expose_program_output ... ok1593test notifications::tests::foreign_notification_payload_is_terminal_and_never_sent ... ok1594test notifications::tests::sendmail_receives_fixed_arguments_and_stable_message_identity ... ok1595test jobs::tests::cancellation_survives_a_crash_before_the_worker_acknowledges ... ok1596test notifications::tests::mail_worker_delivers_only_its_kind_and_drains_cleanly ... ok1597test pages::clients::filters::tests::clearing_query_preserves_selected_currency_and_lifecycle ... ok1598test pages::clients::filters::tests::lifecycle_counts_share_query_and_currency_filters ... ok1599test pages::clients::filters::tests::name_search_ignores_case_and_surrounding_whitespace ... ok1600test pages::clients::filters::tests::preferred_or_visible_project_currency_matches_but_query_still_applies ... ok1601test pages::clients::form::tests::absent_billing_authority_never_produces_an_edit_payload ... ok1602test pages::clients::form::tests::ambiguous_creation_errors_require_explicit_recovery ... ok1603test pages::clients::form::tests::clearing_a_rate_is_explicit_and_needs_no_currency_confirmation ... ok1604test pages::clients::form::tests::invalid_fields_are_not_rewritten_by_validation ... ok1605test pages::clients::form::tests::rate_replacement_requires_confirmation_in_the_current_currency ... ok1606test pages::clients::form::tests::untouched_fields_keep_zero_rate_and_original_snapshot ... ok1607test pages::importers::presentation::tests::interrupted_report_is_partial_regardless_of_retry_prerequisites ... ok1608test pages::importers::presentation::tests::no_selection_does_not_claim_no_import_history ... ok1609test pages::importers::presentation::tests::source_labels_do_not_guess_unknown_importers ... ok1610test pages::importers::presentation::tests::states_and_phases_have_readable_unknown_fallbacks ... ok1611test pages::importers::presentation::tests::summaries_distinguish_zero_skipped_and_mixed_outcomes ... ok1612test pages::invoices::defaults_form::tests::invoice_fields_bound_metadata_by_characters_and_reject_nul ... ok1613test pages::invoices::defaults_form::tests::invoice_fields_preserve_exact_percentages_and_custom_terms ... ok1614test pages::invoices::defaults_form::tests::invoice_fields_preserve_receipt_terms_and_empty_optional_percentages ... ok1615test pages::invoices::defaults_form::tests::invoice_fields_reject_invalid_percentages_terms_and_second_tax ... ok1616test pages::invoices::preparation::fees::tests::fee_inputs_require_exact_amounts_and_an_explicit_positive_charge ... ok1617test pages::invoices::preparation::fees::tests::refresh_keeps_raw_edits_and_does_not_select_new_sources ... ok1618test pages::invoices::preparation::fees::tests::refresh_preserves_missing_or_relabelled_edits_until_explicit_removal ... ok1619test pages::invoices::preparation::tests::invoice_context_selects_only_the_exact_available_client ... ok1620test pages::invoices::preparation::tests::invoice_review_requires_matching_sources_and_valid_values ... ok1621test pages::invoices::preparation::tests::unavailable_or_malformed_invoice_context_never_uses_the_first_client ... ok1622test pages::new_project::basics::tests::a_batch_that_would_exceed_the_tag_limit_is_rejected ... ok1623test pages::new_project::basics::tests::a_full_tag_list_still_accepts_a_duplicate ... ok1624test pages::new_project::basics::tests::overlong_tags_are_rejected_without_truncation ... ok1625test pages::new_project::basics::tests::tag_length_counts_characters_instead_of_bytes ... ok1626test pages::new_project::basics::tests::tags_trim_and_deduplicate_without_changing_existing_spelling ... ok1627test pages::new_project::billing::tests::budget_errors_target_a_control_that_can_be_corrected ... ok1628test pages::new_project::draft::tests::a_mismatched_acknowledgement_does_not_lose_pending_input ... ok1629test pages::new_project::draft::tests::a_retry_keeps_the_unacknowledged_payload_and_revision ... ok1630test pages::new_project::draft::tests::a_validation_rejection_allows_corrected_input_at_the_same_revision ... ok1631test pages::new_project::draft::tests::an_empty_form_is_not_reported_as_saved ... ok1632test pages::new_project::draft::tests::any_saved_draft_wins_over_context_including_empty_or_matching_client ... ok1633test pages::new_project::draft::tests::context_prefills_only_a_new_form_without_fixing_its_currency ... ok1634test pages::new_project::draft::tests::resuming_preserves_the_server_identity_and_incomplete_fields ... ok1635test pages::new_project::team::tests::adding_everyone_deduplicates_without_replacing_project_overrides ... ok1636test pages::new_project::team::tests::exceeding_the_team_limit_does_not_partially_add_people ... ok1637test pages::new_project::team::tests::removing_a_member_keeps_an_empty_restricted_task_restricted ... ok1638test pages::new_project::tests::a_rejected_creation_can_be_edited_but_an_uncertain_commit_must_be_retried ... ok1639test pages::new_project::tests::only_known_validation_fields_can_target_a_control ... ok1640test pages::projects::budget_display_tests::configured_scopes_sum_without_hiding_an_individual_overrun ... ok1641test pages::projects::budget_display_tests::display_preserves_units_sign_and_large_integer_values ... ok1642test pages::projects::budget_display_tests::tag_filter_matches_identity_without_duplicates_or_name_collisions ... ok1643test pages::projects::budget_display_tests::unallocated_zero_and_overflow_budgets_are_not_conflated ... ok1644test pages::reports::tests::cost_total_uses_organization_currency_across_billing_currencies ... ok1645test pages::reports::tests::mixed_currencies_are_not_added_even_when_the_numbers_would_overflow ... ok1646test pages::reports::tests::monetary_total_overflow_is_visible_instead_of_panicking ... ok1647test pages::reports::tests::redacted_costs_do_not_become_zero_or_partial_totals ... ok1648test pages::reports::tests::single_currency_totals_are_formatted_and_empty_reports_have_no_amount ... ok1649test pages::timesheet::tests::cal_span_day_shows_only_the_anchor_column ... ok1650test pages::timesheet::tests::cal_span_defaults_to_week ... ok1651test pages::timesheet::tests::cal_span_unknown_falls_back_to_week ... ok1652test pages::timesheet::tests::cal_span_url_roundtrips ... ok1653test pages::timesheet::tests::cal_span_week_shows_all_seven_days ... ok1654test pages::timesheet::tests::cal_span_work_week_preserves_date_order_across_weekends ... ok1655test pages::timesheet::tests::cal_span_work_week_shows_monday_to_friday ... ok1656test pages::timesheet::tests::cal_span_work_week_skips_sunday_when_it_is_the_first_column ... ok1657test pages::timesheet::tests::day_col_class_marks_today ... ok1658test pages::timesheet::tests::day_col_class_marks_weekend ... ok1659test pages::timesheet::tests::day_col_class_plain_weekday ... ok1660test pages::timesheet::tests::day_col_class_today_wins_over_weekend ... ok1661test pages::timesheet::tests::invalid_duration_cannot_start_a_timer_save_or_clear_a_cell ... ok1662test pages::timesheet::tests::only_a_blank_duration_can_start_an_eligible_timer ... ok1663test pages::timesheet::tests::timed_lanes_still_widens_overlapping_entries ... ok1664test pages::timesheet::tests::timed_lanes_terminates_on_a_zero_length_entry ... ok1665test pages::timesheet::tests::today_offset_is_none_after_the_week ... ok1666test pages::timesheet::tests::today_offset_is_none_before_the_week ... ok1667test pages::timesheet::tests::today_offset_is_six_on_the_sunday ... ok1668test pages::timesheet::tests::today_offset_is_zero_on_the_monday ... ok1669test pages::timesheet::tests::value_cell_class_empty_wins_over_today ... ok1670test pages::timesheet::tests::value_cell_class_marks_today_when_nonzero ... ok1671test pages::timesheet::tests::weekend_style_follows_the_date_not_the_column_offset ... ok1672test pages::timesheet::tests::weekly_duration_edit_preserves_nine_am_start_notes_and_billability ... ok1673test pages::timesheet::tests::weekly_new_entries_are_untimed_and_explicit_clears_still_work ... ok1674test notifications::tests::retry_can_recover_without_changing_message_identity ... ok1675test notifications::tests::revoked_recipient_does_not_receive_a_pending_email ... ok1676test importers::harvest::sync_tests::checkpoints::durable_api_preview_preserves_adoptions_and_repeated_ids_across_recovery ... ok1677test notifications::tests::verbose_sender_output_is_discarded_without_blocking_delivery ... ok1678test notifications::tests::stale_email_lease_cannot_start_delivery ... ok1679test jobs::tests::outbox_claims_only_the_requested_event_kind ... ok1680test plugin::database::tests::application_database_owner_is_not_a_plugin_identity ... ok1681test plugin::database::tests::dedicated_reader_is_accepted_but_new_write_grants_are_rejected ... ok1682test plugin::event::tests::active_transition_fires_only_on_a_real_flip ... ok1683test plugin::event::tests::budget_and_timer_events_serialize ... ok1684test plugin::event::tests::new_events_have_stable_hook_names ... ok1685test plugin::event::tests::project_membership_payload_excludes_private_configuration ... ok1686test plugin::event::tests::role_change_event_carries_previous_role ... ok1687test plugin::event::tests::submission_event_serializes_payload ... ok1688test plugin::event::tests::us2_events_have_stable_hook_names ... ok1689test plugin::database::tests::reader_accepts_optional_first_party_rounding_helper ... ok1690test plugin::host::tests::config_lookup::a_set_key_is_returned ... ok1691test plugin::host::tests::config_lookup::an_unset_key_is_none ... ok1692test plugin::database::tests::reader_cannot_execute_security_definer_functions ... ok1693test plugin::database::tests::project_configuration_is_private_even_when_plugin_grants_are_misconfigured ... ok1694test plugin::database::tests::reader_cannot_have_access_to_credentials ... ok1695test importers::harvest::engine_tests::csv_streaming::csv_measurement_recovers_a_complete_batch_without_recounting ... ok1696test plugin::host::tests::database_tests::unconfigured_sql_never_falls_back_to_application_state ... ok1697test jobs::outbox::tests::acknowledges_confirmed_delivery_without_reclaiming_it ... ok1698test plugin::host::tests::response_shaping::error_json_wraps_the_message ... ok1699test plugin::host::tests::response_shaping::http_body_accepts_the_size_limit_and_rejects_larger_responses ... ok1700test plugin::host::tests::response_shaping::http_response_carries_status_and_body ... ok1701test plugin::host::tests::response_shaping::invalid_http_utf8_is_an_error_not_an_empty_success ... ok1702test plugin::host::tests::statement_is_read_only::a_cte_select_is_allowed ... ok1703test plugin::host::tests::statement_is_read_only::a_second_statement_is_rejected ... ok1704test plugin::host::tests::statement_is_read_only::a_single_trailing_semicolon_is_allowed ... ok1705test plugin::host::tests::statement_is_read_only::a_write_hidden_behind_a_comment_is_rejected ... ok1706test plugin::host::tests::statement_is_read_only::plain_select_is_allowed ... ok1707test plugin::host::tests::statement_is_read_only::writes_are_rejected ... ok1708test plugin::host::tests::wrap_select::strips_a_trailing_semicolon_before_wrapping ... ok1709test plugin::host::tests::wrap_select::wraps_as_a_bounded_row_query ... ok1710test plugin::manifest::tests::accepts_all_published_business_events ... ok1711test plugin::manifest::tests::config_defaults_to_empty_when_absent ... ok1712test plugin::manifest::tests::parse_valid_manifest ... ok1713test plugin::manifest::tests::parses_optional_config_table ... ok1714test plugin::manifest::tests::reject_empty_hooks ... ok1715test plugin::manifest::tests::reject_unknown_hook ... ok1716test plugin::database::tests::reader_cannot_switch_into_another_role ... ok1717test importers::harvest::sync_tests::scale::http_pages_preview_commit_and_reimport ... ok1718test plugin::database::tests::reader_rejects_unapproved_invoker_functions ... ok1719test plugin::host::tests::database_queries_preserve_parameters_and_rollback_session_settings ... ok1720test notifications::tests::sendmail_timeout_kills_and_reaps_the_child ... ok17211722running 1 test1723test plugin::host::tests::database_tests::query_discards_session_advisory_locks ... ok1724test importers::harvest::sync_tests::scale::durable_measurement_finishes_from_its_eof_checkpoint ... ok1725test plugin::host::tests::database_tests::query_results_are_bounded_without_silent_truncation ... ok1726test plugin::host::tests::database_tests::select_cannot_write_or_gain_application_privileges ... ok1727test jobs::report::stream_tests::download_reports_missing_fragments_after_its_buffered_page ... ok1728test plugin::registry::tests::isolation::confirmed_dispatch_returns_overload_for_retry ... ok1729test plugin::registry::tests::isolation::cancelling_a_waiter_keeps_capacity_reserved_until_the_host_call_exits ... ok1730test plugin::registry::tests::isolation::confirmed_dispatch_waits_for_the_plugin_to_finish ... ok1731test plugin::registry::tests::isolation::confirmed_dispatch_returns_plugin_failure_for_retry ... ok1732test plugin::registry::tests::isolation::confirmed_dispatch_attempts_other_plugins_after_one_fails ... ok1733test plugin::registry::tests::isolation::different_plugins_share_the_running_call_limit ... ok1734test plugin::registry::tests::isolation::events_execute_outside_the_async_worker ... ok1735test plugin::registry::tests::initialization::instruction_budget_is_replenished_for_each_call ... ok1736test plugin::registry::tests::isolation::loaded_plugins_cannot_start_with_excessive_memory ... ok1737test plugin::registry::tests::isolation::loaded_plugins_cannot_grow_memory_past_the_limit ... ok1738test plugin::registry::tests::isolation::pending_capacity_rejects_new_work_without_spawning_tasks ... ok1739test plugin::registry::tests::load_empty_directory ... ok1740test plugin::registry::tests::isolation::oversized_wasm_output_is_rejected_before_copying_it ... ok1741test plugin::registry::tests::load_nonexistent_directory ... ok1742test plugin::registry::tests::isolation::widgets_execute_outside_the_async_worker ... ok1743test reports::bounded::tests::cancelled_export_keeps_its_slot_until_the_renderer_exits ... ok1744test reports::bounded::tests::export_admission_stays_reserved_until_the_body_is_dropped ... ok1745test reports::bounded::tests::export_rendering_runs_off_the_async_worker ... ok1746test reports::bounded::tests::output_budget_checks_writes_and_seeks_without_truncation ... ok1747test reports::bounded::tests::rendered_output_limit_rejects_oversized_files_and_releases_admission ... ok1748test render::tests::invoice_template_formats_large_minor_units_exactly ... ok1749test reports::bounded::tests::renderer_errors_and_panics_release_admission ... ok1750test plugin::registry::tests::isolation::oversized_event_payloads_are_not_queued ... ok1751test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok17521753test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 829 filtered out; finished in 0.52s175417551756running 1 test1757test plugin::host::tests::database_tests::wasm_host_uses_the_restricted_connection_on_a_current_thread_runtime ... ok1758test jobs::outbox::tests::invalid_payload_is_not_delivered_and_does_not_leak_into_errors ... ok1759test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok17601761test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 829 filtered out; finished in 0.23s176217631764running 1 test1765test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok17661767test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 829 filtered out; finished in 0.28s176817691770running 1 test1771test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok17721773test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 829 filtered out; finished in 0.25s17741775test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok1776test plugin::registry::tests::collect_widgets_from_echo_plugin ... ok1777test plugin::registry::tests::dispatch_event_with_no_subscribers ... ok1778test reports::bounded::tests::timed_out_export_keeps_its_slot_until_the_renderer_exits ... ok1779test plugin::registry::tests::load_test_plugins ... ok1780test jobs::report::tests::legacy_upgrade_preserves_job_states_and_existing_archives ... ok1781test reports::limits::tests::measure_bounded_export_limits ... ignored, manual release export measurement; set HORAE_EXPORT_PROBE_DIR for artifacts1782test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_matches_existing_and_new_rows_with_one_connection ... ok1783test jobs::outbox::tests::plugin_failure_retries_with_the_same_event_identity ... ok1784test jobs::tests::stopped_worker_leaves_queued_jobs_unclaimed ... ok1785test jobs::tests::invalid_stored_payloads_reach_a_terminal_error ... ok1786test jobs::tests::outbox_rollback_does_not_publish_an_event ... ok1787test reports::streaming::database_tests::measure_streaming_csv_export ... ignored, Manual release measurement of a 100,000-row CSV download1788test plugin::registry::tests::dispatch_invoice_sent_to_echo_plugin ... ok1789test plugin::registry::tests::failing_plugin_does_not_block_caller ... ok1790test plugin::registry::tests::dispatch_to_echo_plugin_succeeds ... ok1791test plugin::host::tests::a_query_cannot_disable_its_own_deadline ... ok1792test plugin::registry::tests::isolation::a_wasm_timeout_releases_the_worker_and_instance ... ok1793test importers::harvest::sync_tests::scale::durable_api_report_preserves_overflow_errors_after_recovery ... ok1794test reports::limits::tests::export_queries_are_read_only_and_have_a_database_deadline ... ok1795test reports::streaming::tests::completed_csv_keeps_admission_until_body_drop ... ok1796test reports::streaming::tests::csv_backpressure_and_body_drop_bound_and_cancel_source_reads ... ok1797test reports::streaming::tests::csv_does_not_truncate_a_quoted_unicode_record_larger_than_a_chunk ... ok1798test reports::streaming::tests::csv_emits_a_chunk_before_the_source_finishes ... ok1799test reports::streaming::tests::csv_failure_or_panic_after_a_chunk_is_not_successful_eof ... ok1800test reports::streaming::tests::csv_startup_errors_are_http_errors_and_release_admission ... ok1801test reports::streaming::database_tests::streamed_timesheet_preserves_csv_escaping_frozen_zero_and_all_filters ... ok1802test reports::streaming::tests::dropping_csv_during_startup_cancels_the_producer ... ok1803test route::tests::client_detail_preserves_identity_and_highlights_only_clients ... ok1804test route::tests::client_workflow_paths_preserve_context_and_navigation_section ... ok1805test route::tests::edit_project_preserves_identity_and_highlights_only_projects ... ok1806test route::tests::malformed_context_reaches_the_workflow_for_validation_after_recovery ... ok1807test route::tests::new_project_is_static_and_highlights_only_projects ... ok1808test jobs::tests::submission_key_cannot_change_api_mode_or_scope ... ok1809test harvest::pagination_tests::harvest_task_access_filters_counts_and_preserves_rate_free_history ... ok1810test reports::streaming::tests::csv_timeout_interrupts_an_already_started_body ... ok1811test reports::streaming::database_tests::dropping_streamed_timesheet_closes_its_database_connection ... ok1812test reports::limits::tests::bounded_invoice_limits_include_branding_and_preserve_tenant_scope ... ok1813test harvest::pagination_tests::harvest_pagination_catalog_links_preserve_filters_and_break_name_ties ... ok1814test reports::streaming::database_tests::streamed_timesheet_exceeds_xlsx_row_limit_without_one_large_body_chunk ... ok1815test jobs::tests::missing_configuration_records_error_and_requeues ... ok1816test server_fns::approvals::submission_tests::cancelling_a_submission_releases_its_write_barrier ... ok1817test server_fns::approvals::submission_tests::submission_accepts_the_organizations_sunday_start ... ok1818test reports::limits::tests::bounded_projects_filter_archives_before_size_checks ... ok1819test server_fns::approvals::submission_tests::submission_barrier_allows_shared_writers_for_the_same_user ... ok1820test server_fns::approvals::submission_tests::submission_does_not_wait_for_another_users_writer ... ok1821test jobs::report::tests::report_fragments_survive_until_the_owning_job_expires ... ok1822test server_fns::approvals::submission_tests::submission_freezes_the_minutes_after_a_competing_edit ... ok1823test server_fns::approvals::submission_tests::submission_rejects_a_start_that_is_not_the_organizations_week_start ... ok1824test server_fns::approvals::submission_tests::submission_uses_one_pool_connection ... ok1825test jobs::tests::import_adapters_reject_a_lease_from_another_organization ... ok1826test server_fns::approvals::submission_tests::submission_waits_for_a_new_timer_before_checking_the_week ... ok1827test server_fns::approvals::tests::ignores_stopped_and_out_of_week_timers ... ok1828test server_fns::approvals::tests::sees_a_running_timer_inside_the_week ... ok1829test seed::tests::concurrent_seed_runs_create_only_one_demo ... ok1830test server_fns::budget_tests::budget_notification_schema_enforces_tenants_and_no_public_access ... ok1831test server_fns::budget_tests::concurrent_budget_checks_have_one_band_claimant ... ok1832test server_fns::budget_tests::configured_alert_and_outbox_roll_back_together ... ok1833test seed::tests::seed_refuses_a_second_organization_even_when_the_demo_exists ... ok1834test server_fns::budget_tests::configured_alert_recipients_are_active_same_org_managers_and_project_leads ... ok1835test server_fns::budget_tests::configured_alerts_require_enabled_active_project_and_authorized_recipient ... ok1836test server_fns::budget_tests::configured_alerts_deduplicate_concurrent_checks_and_recrossing ... ok1837test server_fns::budget_tests::configured_amount_budget_uses_resolved_rates_and_explicit_zero ... ok1838test server_fns::budget_tests::configured_monthly_budget_excludes_other_months_and_nonbillable_time ... ok1839test server_fns::budget_tests::configured_budget_sweep_recovers_missed_checks_without_duplicates ... ok1840test reports::limits::tests::tag_filter_applies_before_xlsx_size_checks_and_rendering ... ok1841test server_fns::budget_tests::configured_budget_does_not_read_foreign_or_legacy_projects ... ok1842test server_fns::budget_tests::configured_monthly_budget_includes_leap_day_and_preserves_locked_rounding ... ok1843test server_fns::budget_tests::configured_nonbillable_projects_count_time_without_hidden_checkbox ... ok1844test jobs::tests::cancellation_waits_for_the_claimed_execution_before_allowing_retry ... ok1845test server_fns::budget_tests::overview_budget_progress_includes_people_without_an_allowance ... ok1846test server_fns::budget_tests::configured_task_and_person_budgets_do_not_share_consumption ... ok1847test server_fns::clients::tests::both_activation_transitions_change_once_and_preserve_details ... ok1848test server_fns::budget_tests::configured_task_fee_budget_respects_billability_and_alert_scope ... ok1849test server_fns::budget_tests::configured_person_budget_excludes_other_people_and_has_its_own_alert ... ok1850test server_fns::budget_tests::overview_budget_progress_batches_projects_without_mixing_scopes ... ok1851test server_fns::budget_tests::overview_budget_progress_is_current_period_scoped_and_authorized ... ok1852test seed::tests::seed_leaves_an_older_or_partial_demo_unchanged ... ok1853test server_fns::clients::tests::client_details_distinguish_unset_zero_and_positive_manager_rates ... ok1854test server_fns::clients::tests::client_invoices_keep_exact_client_scope_statuses_and_currencies ... ok1855test server_fns::clients::tests::client_default_rate_prevents_currency_relabelling ... ok1856test server_fns::clients::tests::client_details_keep_catalog_identity_but_omit_member_billing ... ok1857test server_fns::clients::tests::client_default_rate_allows_detail_edits_and_equivalent_currency ... ok1858test server_fns::clients::tests::client_details_hide_foreign_missing_and_inactive_actor_records ... ok1859test server_fns::clients::tests::client_invoices_reject_a_winning_concurrent_revocation ... ok1860test server_fns::clients::tests::client_invoices_hold_authority_until_the_read_finishes ... ok1861test reports::streaming::database_tests::streamed_fee_invoice_has_no_fabricated_hours_or_hourly_rate ... ok1862test server_fns::clients::tests::currency_edit_rechecks_a_concurrently_added_client_default_rate ... ok1863test server_fns::clients::tests::client_summaries_keep_catalog_without_projects_and_count_archived_projects ... ok1864test server_fns::clients::tests::client_summaries_reject_a_foreign_actor_even_when_client_org_is_known ... ok1865test server_fns::clients::tests::client_invoices_require_manager_authority_even_without_invoices ... ok1866test server_fns::clients::tests::each_field_changes_once_and_preserves_inactive_status ... ok1867test server_fns::clients::tests::client_summaries_follow_existing_progress_visibility_and_revoke_inactive_users ... ok1868test server_fns::clients::tests::client_summaries_exclude_foreign_clients_and_unreadable_project_currencies ... ok1869test server_fns::clients::tests::concurrent_deletion_is_not_an_unchanged_mutation ... ok1870test server_fns::clients::tests::missing_and_foreign_clients_are_not_noops ... ok1871test server_fns::clients::tests::profile_currency_change_without_a_rate_keeps_it_unset ... ok1872test server_fns::clients::tests::profile_saves_reject_invalid_input_without_partial_writes ... ok1873test server_fns::clients::tests::profile_saves_recheck_manager_org_and_active_actor ... ok1874test server_fns::clients::tests::profile_create_persists_normalized_identity_and_exact_optional_rate ... ok1875test server_fns::clients::tests::profile_update_preserves_historical_rows_and_inactive_status ... ok1876test server_fns::clients::tests::profile_update_rejects_stale_currency_even_when_the_rate_is_still_unset ... ok1877test server_fns::clients::tests::profile_noop_preserves_row_and_returns_no_update_event_signal ... ok1878test server_fns::clients::tests::profile_update_rechecks_financial_snapshot_after_waiting_for_a_concurrent_edit ... ok1879test server_fns::clients::tests::profile_update_rechecks_authority_after_waiting_for_a_concurrent_demotion ... ok1880test reports::streaming::database_tests::streamed_projects_preserve_scope_budget_and_tenant_isolation ... ok1881test 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 --nocapture1882test server_fns::importers::authorization_tests::cli_job_endpoints_have_stable_registered_paths ... ok1883test server_fns::importers::authorization_tests::request_bound_import_endpoints_are_not_registered ... ok1884test server_fns::importers::csv_upload::tests::csv_upload_requires_its_header_without_reading_the_body ... ok1885test server_fns::importers::csv_upload::tests::csv_upload_extractor_preserves_raw_bytes ... ok1886test server_fns::importers::tests::concurrent_api_import_returns_a_retryable_conflict ... ok1887test server_fns::importers::tests::submission_identity_rejects_expired_future_and_non_v7_keys ... ok1888test server_fns::importers::tests::csv_route_rejects_invalid_modes_and_headers_without_reading_uploads ... ok1889test server_fns::clients::tests::profile_update_rejects_stale_rate_even_when_the_target_currency_is_unchanged ... ok1890test server_fns::clients::tests::unchanged_edit_preserves_the_row ... ok1891test server_fns::invoices::fee_tests::concurrent_invoices_claim_a_single_fee_once ... ok1892test reports::privacy_tests::unauthorized_project_text_does_not_affect_export_size_limits ... ok1893test server_fns::clients::tests::profile_update_requires_explicit_rate_intent_for_currency_changes ... ok1894test server_fns::clients::tests::restoring_a_competing_deactivation_reports_reactivation ... ok1895test server_fns::clients::tests::repeating_a_competing_edit_does_not_report_a_change ... ok1896test server_fns::clients::tests::restoring_values_after_a_competing_edit_reports_a_change ... ok1897test server_fns::clients::tests::unchanged_activation_preserves_the_row ... ok1898test server_fns::clients::tests::repeating_a_competing_deactivation_does_not_report_a_transition ... ok1899test seed::tests::seed_refuses_an_initialized_organization_without_writes ... ok1900test server_fns::invoices::fee_tests::fee_occurrence_rejects_cross_organization_project ... ok1901test server_fns::invoices::fee_tests::fee_invoice_does_not_claim_hours_or_another_clients_fee ... ok1902test reports::limits::tests::export_size_checks_and_reads_share_a_repeatable_read_snapshot ... ok1903test server_fns::invoices::fee_tests::fee_total_overflow_rolls_back_occurrences_and_invoice ... ok1904test server_fns::invoices::fee_tests::invoice_line_sources_reject_mixed_sources_and_invented_fee_quantities ... ok1905test reports::streaming::database_tests::streamed_invoice_uses_stored_exact_cents_and_tenant_scoped_metadata ... ok1906test server_fns::invoices::fee_tests::milestones_include_unbilled_overdue_fees_but_not_future_fees ... ok1907test jobs::outbox::tests::worker_delivers_available_events_and_stops_cleanly ... ok1908test server_fns::invoices::fee_tests::monthly_fees_use_calendar_dates_and_skip_already_claimed_months ... ok1909test server_fns::invoices::fee_tests::monthly_first_and_fifteenth_respect_partial_period_and_project_end ... ok1910test reports::privacy_tests::project_downloads_follow_progress_visibility ... ok1911test server_fns::invoices::fee_tests::draft_fee_edit_replaces_amount_and_preserves_source_and_retry_identity ... ok1912test server_fns::invoices::fee_tests::invoice_preview_does_not_materialize_fees_and_preserves_released_snapshots ... ok1913test reports::streaming::database_tests::streamed_invoice_metadata_and_lines_share_one_snapshot ... ok1914test jobs::report::tests::upgrading_legacy_reports_preserves_errors_and_fences_old_attempts ... ok1915test server_fns::invoices::fee_tests::invoice_defaults_apply_to_selected_fees_without_claiming_other_projects ... ok1916test reports::limits::tests::invoice_exports_show_saved_adjustments_and_exact_large_amounts ... ok1917test reports::streaming::database_tests::a_real_database_error_interrupts_the_csv_body ... ok1918test server_fns::invoices::fee_tests::single_fee_can_be_invoiced_without_time ... ok1919test server_fns::invoices::fee_tests::reviewed_generation_rejects_changed_time_before_claiming_it ... ok1920test server_fns::invoices::fee_tests::void_releases_fee_identity_without_rewriting_the_original_line ... ok1921test server_fns::invoices::preview::tests::excess_rejects_an_unrepresentable_total_even_when_the_remainder_fits ... ok1922test server_fns::invoices::preview::tests::unselected_fee_currencies_do_not_relabel_or_block_selected_charges ... ok1923test server_fns::invoices::fee_tests::invoice_status_rechecks_authority_after_waiting_for_the_invoice_lock ... ok1924test server_fns::invoices::fee_tests::mixed_time_and_fee_discount_conserves_cents_without_reopening_time ... ok1925test server_fns::invoices::tests::configured_fixed_fee_hours_are_not_invoiced_but_legacy_fees_are_unchanged ... ok1926test server_fns::invoices::tests::billing_cascade_agrees_across_all_four_levels_including_zero ... ok1927test server_fns::invoices::tests::effective_minutes_migration_preserves_historical_invoice_quantities ... ok1928test server_fns::invoices::tests::configured_project_currency_and_cost_override_keep_their_denominations ... ok1929test server_fns::invoices::tests::effective_minutes_sql_matches_domain_rounding ... ok1930test server_fns::importers::authorization_tests::job_endpoints_enforce_session_role_and_organization ... ok1931test seed::tests::late_seed_failure_rolls_back_all_demo_data ... ok1932test server_fns::invoices::fee_tests::prepared_fee_selection_rejects_invalid_values_and_empty_generation ... ok1933test server_fns::invoices::fee_tests::removing_discount_and_billing_the_remainder_cannot_both_succeed ... ok1934test server_fns::invoices::fee_tests::zero_fee_is_invoiced_once_until_voided ... ok1935test jobs::tests::outbox_stale_claims_cannot_acknowledge_or_reschedule_delivery ... ok1936test server_fns::invoices::fee_tests::reviewed_generation_does_not_materialize_unselected_months ... ok1937test server_fns::invoices::tests::invoice_defaults_validate_all_override_fields ... ok1938test server_fns::invoices::tests::invoice_line_overflow_leaves_time_unbilled ... ok1939test server_fns::invoices::tests::imported_rates::imported_task_rates_require_matching_currency_only_for_new_configured_links ... ok1940test server_fns::invoices::tests::invoice_defaults_edit_rechecks_status_after_waiting_for_a_concurrent_send ... ok1941test server_fns::invoices::tests::invoice_defaults_legacy_insert_preserves_dates_and_exact_total ... ok1942test server_fns::invoices::fee_tests::concurrent_discounted_invoice_retries_return_one_invoice ... ok1943test server_fns::invoices::tests::invoice_total_overflow_leaves_all_time_unbilled ... ok1944test server_fns::invoices::fee_tests::project_fee_context_matches_invoice_balances_and_current_authority ... ok1945test server_fns::invoices::tests::invoice_transitions_reject_invalid_states_and_foreign_organizations ... ok1946test server_fns::invoices::tests::invoiced_amounts_survive_rate_changes_and_void_uses_current_rates ... ok1947test server_fns::invoices::tests::invoice_preview_matches_generation_without_claiming_time ... ok1948test server_fns::invoices::tests::invoiced_billability_survives_later_project_changes ... ok1949test server_fns::invoices::tests::invoicing_leaves_running_time_open ... ok1950test server_fns::invoices::tests::invoicing_uses_and_freezes_effective_minutes ... ok1951test jobs::report::stream_tests::download_keeps_its_snapshot_when_later_progress_archives_the_inline_tail ... ok1952test server_fns::invoices::tests::mixed_project_currencies_cannot_partially_create_an_invoice ... ok1953test server_fns::invoices::tests::large_invoice_and_reports_agree_without_intermediate_overflow ... ok1954test server_fns::invoices::tests::non_billable_context_produces_no_unbilled_amount_on_any_report ... ok1955test jobs::tests::synthetic_job_executes_through_claim_and_completion ... ok1956test server_fns::invoices::tests::only_running_time_does_not_create_an_invoice ... ok1957test server_fns::invoices::tests::project_rate_is_used_by_invoices_reports_and_spend ... ok1958test server_fns::invoices::tests::void_reopens_time_without_stale_rounding ... ok1959test server_fns::invoices::tests::selected_project_rate_modes_agree_across_billing_consumers ... ok1960test server_fns::invoices::tests::void_waits_for_a_concurrent_payment_and_then_refuses ... ok1961test server_fns::invoices::tests::imported_rates::rejected_import_rate_does_not_poison_the_next_row_or_its_catalog_rate ... ok1962test server_fns::organization::tests::each_branding_field_changes_once_including_null_and_empty ... ok1963test server_fns::organization::tests::missing_organization_is_not_an_unchanged_update ... ok1964test server_fns::organization::tests::repeating_a_competing_branding_edit_does_not_report_a_change ... ok1965test server_fns::organization::tests::unchanged_branding_preserves_the_row ... ok1966test server_fns::organization::tests::restoring_branding_after_a_competing_edit_reports_a_change ... ok1967test server_fns::project_creation::assignment_tests::finalization_reuses_catalog_and_keeps_lead_overrides_local_on_retry ... ok1968test server_fns::project_creation::assignment_tests::invalid_assignment_graphs_leave_no_partial_creation_or_draft_change ... ok1969test server_fns::project_creation::editing::tests::concurrent_edits_have_one_winner_and_association_writes_invalidate_open_forms ... ok1970test server_fns::project_creation::editing::tests::editing_milestones_keeps_invoice_snapshots_and_fee_identities_immutable ... ok1971test server_fns::project_creation::editing::tests::editor_keeps_archived_selected_identities_and_nullable_overrides ... ok1972test server_fns::project_creation::editing::tests::editor_loads_legacy_values_without_fabricating_a_billing_mode_or_draft ... ok1973test server_fns::project_creation::editing::tests::editor_preserves_fee_schedule_and_operational_milestone_ids ... ok1974test server_fns::project_creation::editing::tests::editor_rechecks_tenant_role_and_active_status ... ok1975test reports::limits::tests::bounded_entries_enforce_the_row_limit_after_all_filters ... ok1976test server_fns::project_creation::editing::tests::editor_recovers_full_configuration_and_redacts_private_values_after_role_change ... ok1977test server_fns::project_creation::editing::tests::foreign_actor_cannot_save_or_retry_another_organizations_edit ... ok1978test server_fns::project_creation::editing::tests::editor_recovers_each_budget_scope_without_turning_absence_into_zero ... ok1979test server_fns::project_creation::editing::tests::save_edits_the_same_legacy_project_and_never_creates_a_draft_or_configuration ... ok1980test server_fns::project_creation::editing::tests::manager_edit_preserves_private_settings_and_cannot_remove_them_indirectly ... ok1981test server_fns::project_creation::editing::tests::save_preserves_recorded_time_and_rejects_removing_its_task_or_person ... ok1982test server_fns::invoices::fee_tests::reviewed_generation_bills_partial_fees_and_rejects_stale_balances ... ok1983test server_fns::project_creation::editing::tests::saves_recheck_current_authority_and_do_not_repeat_noops ... ok1984test server_fns::project_creation::editing::tests::save_updates_configured_sections_atomically_and_rejects_stale_or_invalid_edits ... ok1985test server_fns::project_creation::editing::tests::task_catalog_and_graph_changes_roll_back_together_on_duplicate_resolution ... ok1986test server_fns::project_creation::tests::billing_schema_rejects_partial_fee_schedules ... ok1987test jobs::tests::reclaimed_attempt_rejects_stale_results_even_with_the_same_worker_name ... ok1988test server_fns::project_creation::tests::client_dialog_validates_details_and_persists_an_explicit_zero_rate ... ok1989test server_fns::project_creation::tests::creation_actor_is_revalidated_inside_the_transaction ... ok1990test server_fns::project_creation::tests::creation_client_must_be_active_and_in_the_same_organization ... ok1991test server_fns::project_creation::tests::creation_options_are_scoped_bounded_and_redact_manager_costs ... ok1992test server_fns::project_creation::tests::draft_validation_preserves_incomplete_input_but_bounds_its_size ... ok1993test server_fns::project_creation::tests::draft_ownership_discard_and_role_changes_are_enforced ... ok1994test server_fns::project_creation::tests::final_validation_checks_invoice_defaults_and_scoped_budget_totals ... ok1995test server_fns::project_creation::tests::final_validation_preserves_exact_budgets_and_rejects_unavailable_email ... ok1996test server_fns::project_creation::tests::final_validation_requires_complete_fee_schedules_and_distinct_entities ... ok1997test server_fns::project_creation::tests::final_validation_requires_real_details_and_ignores_hidden_type_settings ... ok1998test server_fns::project_creation::tests::draft_save_retries_do_not_overwrite_a_newer_revision ... ok1999test server_fns::project_creation::tests::draft_schema_enforces_one_current_draft_per_creator ... ok2000test server_fns::project_creation::tests::draft_schema_rejects_foreign_creator_and_completed_project ... ok2001test server_fns::project_creation::tests::draft_schema_rejects_oversize_payload_and_invalid_revision ... ok2002test server_fns::project_creation::tests::managers_cannot_store_administrator_notes_or_costs_in_a_draft ... ok2003test server_fns::project_creation::tests::existing_projects_have_no_implicit_new_billing_configuration ... ok2004test server_fns::project_creation::editing::tests::editor_load_uses_current_role_across_all_billing_configurations ... ok2005test server_fns::project_creation::tests::finalization_persists_task_access_and_project_only_financial_overrides ... ok2006test server_fns::project_creation::tests::finalize_is_atomic_and_repeated_submission_returns_one_project ... ok2007test server_fns::project_creation::tests::finalization_rechecks_client_role_revision_and_rate_currency ... ok2008test server_fns::project_creation::validation::tests::assignment_rejections_identify_the_invalid_row ... ok2009test server_fns::project_creation::validation::tests::basic_rejections_identify_the_field_without_echoing_input ... ok2010test server_fns::project_creation::validation::tests::billing_rejections_identify_the_active_control ... ok2011test server_fns::project_creation::validation::tests::inactive_billing_inputs_remain_in_the_draft_without_blocking_creation ... ok2012test server_fns::project_creation::validation::tests::invoice_rejections_identify_the_field_without_echoing_input ... ok2013test server_fns::project_creation::validation::tests::milestone_rejections_target_the_invalid_row_by_identity ... ok2014test server_fns::project_creation::validation::tests::non_billable_projects_ignore_hidden_invoice_inputs ... ok2015test server_fns::project_creation::validation::tests::task_name_and_access_rejections_identify_the_invalid_row ... ok2016test server_fns::project_creation::tests::invalid_task_rolls_back_project_and_keeps_the_draft ... ok2017test server_fns::project_creation::tests::missing_draft_responses_do_not_disclose_foreign_ownership ... ok2018test server_fns::projects::bulk_tests::bulk_ids_validate_before_writes_and_normalize_duplicates ... ok2019test server_fns::project_creation::tests::selected_catalog_is_scoped_deduplicated_and_redacts_manager_costs ... ok2020test server_fns::project_creation::tests::selected_catalog_bounds_requests_and_excludes_inactive_people ... ok2021test server_fns::invoices::tests::invoice_preview_keeps_time_rates_and_defaults_in_one_snapshot ... ok2022test server_fns::project_creation::tests::simultaneous_draft_updates_have_one_winner ... ok2023test server_fns::projects::bulk_tests::bulk_database_failure_rolls_back_earlier_changes ... ok2024test server_fns::projects::bulk_tests::bulk_accepts_one_hundred_projects_and_mixed_status_noops ... ok2025test server_fns::project_creation::tests::selected_client_lookup_is_scoped_and_keeps_archived_identity ... ok2026test server_fns::projects::bulk_tests::bulk_missing_or_foreign_project_rolls_back_earlier_changes ... ok2027test server_fns::projects::bulk_tests::bulk_reversed_overlapping_batches_finish_without_deadlock ... ok2028test server_fns::projects::bulk_tests::bulk_preserves_invoiced_history_assignments_and_spend ... ok2029test server_fns::projects::bulk_tests::bulk_status_preserves_details_history_and_noop_versions ... ok2030test server_fns::project_creation::import_tests::imported_catalog_rate_cannot_be_relabelled_as_workspace_currency ... ok2031test server_fns::projects::mutation_tests::project::both_activation_transitions_preserve_details_and_change_once ... ok2032test server_fns::projects::mutation_tests::project::concurrent_deletion_is_rejected_by_both_mutations ... ok2033test server_fns::invoices::tests::invoice_defaults_apply_exact_adjustments_and_payment_terms ... ok2034test server_fns::projects::mutation_tests::project::configured_edits_recheck_settings_after_waiting_for_the_project ... ok2035test server_fns::projects::mutation_tests::project::budgets_and_rates_distinguish_null_zero_and_normalized_values ... ok2036test server_fns::projects::mutation_tests::project::configured_edits_preserve_non_hourly_billing ... ok2037test server_fns::projects::mutation_tests::project::configured_edits_preserve_compatible_changes_and_idempotence ... ok2038test server_fns::projects::mutation_tests::project::configured_edits_reject_incompatible_financial_changes_atomically ... ok2039test server_fns::projects::mutation_tests::project::inactive_project_edits_preserve_identity_and_reject_implicit_migrations ... ok2040test server_fns::projects::mutation_tests::project::missing_and_foreign_rows_are_not_noops ... ok2041test jobs::tests::api_job_keeps_its_policy_across_duplicate_enqueue_and_manual_retry ... ok2042test server_fns::projects::mutation_tests::project::repeating_a_competing_deactivation_reports_no_transition ... ok2043test server_fns::projects::mutation_tests::project::invalid_project_fields_leave_the_row_unchanged ... ok2044test server_fns::projects::mutation_tests::project::repeating_a_competing_edit_requires_a_fresh_revision ... ok2045test server_fns::projects::mutation_tests::project::restoring_a_competing_deactivation_reports_reactivation ... ok2046test server_fns::projects::mutation_tests::task::concurrent_deletion_returns_not_found_for_both_mutations ... ok2047test server_fns::projects::mutation_tests::project::restoring_a_competing_edit_does_not_overwrite_the_other_session ... ok2048test server_fns::projects::mutation_tests::project::unchanged_edit_preserves_the_row ... ok2049test server_fns::projects::mutation_tests::task::both_activation_transitions_preserve_details_and_change_once ... ok2050test server_fns::projects::mutation_tests::task::each_detail_field_changes_once_and_preserves_inactive_status ... ok2051test server_fns::projects::mutation_tests::project::unchanged_activation_preserves_the_row ... ok2052test server_fns::invoices::fee_tests::project_fee_context_keeps_monthly_balances_separate ... ok2053test server_fns::projects::mutation_tests::task::missing_and_foreign_rows_are_not_noops ... ok2054test server_fns::projects::mutation_tests::task::rate_edits_set_currency_without_relabelling_renames_or_noops ... ok2055test server_fns::projects::details_tests::project_details_and_tags_follow_current_progress_and_private_permissions ... ok2056test server_fns::projects::mutation_tests::task::restoring_a_competing_deactivation_reports_reactivation ... ok2057test server_fns::projects::mutation_tests::task::unchanged_edit_preserves_the_row ... ok2058test server_fns::projects::mutation_tests::task::unchanged_activation_preserves_the_row ... ok2059test server_fns::projects::privacy_tests::legacy_members_retain_progress_without_new_settings ... ok2060test server_fns::projects::mutation_tests::task::repeating_a_competing_deactivation_reports_no_transition ... ok2061test server_fns::projects::mutation_tests::task::restoring_a_competing_edit_reports_a_change ... ok2062test server_fns::projects::mutation_tests::task::repeating_a_competing_edit_does_not_report_a_change ... ok2063test server_fns::projects::privacy_tests::client_project_filter_preserves_progress_access_and_rate_redaction ... ok2064test server_fns::projects::privacy_tests::outsiders_and_inactive_viewers_have_no_project_reads ... ok2065test server_fns::projects::privacy_tests::project_reads_use_current_authority_and_reject_foreign_scope ... ok2066test server_fns::projects::tests::assignments_are_scoped_to_the_viewers_organization ... ok2067test server_fns::projects::tests::enabling_is_tenant_scoped_even_for_existing_links_and_preserves_overrides ... ok2068test server_fns::projects::privacy_tests::project_members_and_leads_receive_progress_without_rates ... ok2069test server_fns::projects::privacy_tests::private_progress_does_not_prevent_tracking_or_reveal_financial_fields ... ok2070test server_fns::projects::privacy_tests::revoked_membership_preserves_only_own_historical_tracking_identity ... ok2071test server_fns::projects::tests::enabling_tasks_accepts_exact_project_currency_rates_and_preserves_existing_links ... ok2072test server_fns::projects::tests::project_rate_distinguishes_inheritance_zero_and_exact_amounts ... ok2073test server_fns::projects::tests::creating_a_project_task_enables_it_with_its_defaults ... ok2074test server_fns::projects::details_tests::project_details_only_offer_task_rate_currency_to_current_managers ... ok2075test server_fns::projects::tests::enabling_tasks_only_inherits_rates_used_by_configured_projects ... ok2076test server_fns::projects::tests::enabling_tasks_rejects_incompatible_catalog_currency ... ok2077test server_fns::projects::tests::managers_and_admins_can_read_assignment_rates ... ok2078test server_fns::projects::tests::failed_project_task_creation_leaves_no_orphan_task ... ok2079test server_fns::projects::tests::members_can_list_identities_but_not_assignment_rates ... ok2080test server_fns::projects::tests::unknown_catalog_currency_requires_explicit_configured_rates_but_preserves_legacy ... ok2081test server_fns::time_entries::tests::a_limit_bounds_a_listing_on_its_own ... ok2082test server_fns::projects::tests::enabling_tasks_rejects_invalid_or_wrong_currency_explicit_rates_without_linking ... ok2083test server_fns::projects::tests::project_rate_helper_has_no_public_execute_grant ... ok2084test server_fns::projects::tests::project_rate_sql_matches_rust_for_missing_zero_and_present_sources ... ok2085test server_fns::projects::tests::enabling_tasks_rejects_explicit_rates_unused_by_the_project ... ok2086test server_fns::time_entries::tests::an_unlimited_listing_needs_both_ends_of_the_range ... ok2087test server_fns::time_entries::tests::an_open_entry_can_move_into_a_day_with_locked_time ... ok2088test server_fns::time_entries::tests::clamps_duration_against_the_snapped_start ... ok2089test server_fns::time_entries::tests::admin_may_log_time_without_assignment ... ok2090test server_fns::time_entries::tests::a_running_timer_cannot_be_moved_to_another_day ... ok2091test server_fns::time_entries::tests::assigned_member_may_log_time ... ok2092test server_fns::time_entries::tests::a_reorder_rejects_foreign_missing_timed_and_duplicate_ids ... ok2093test reports::limits::tests::bounded_exports_preserve_real_workbooks_and_deterministic_pdf ... ok2094test server_fns::time_entries::tests::inactive_project_cannot_accept_new_time_even_for_admin ... ok2095test server_fns::time_entries::tests::new_time_and_picker_require_a_project_task_link ... ok2096test server_fns::time_entries::tests::edits_preserve_archived_time_but_cannot_override_non_billability ... ok2097test server_fns::time_entries::tests::moving_locked_time_rejects_the_entire_reorder ... ok2098test server_fns::time_entries::tests::concurrent_timer_starts_insert_exactly_one_entry ... ok2099test server_fns::time_entries::tests::rejects_out_of_range_start ... ok2100test server_fns::projects::details_tests::unlinked_and_private_project_tags_do_not_leak_into_filters ... ok2101test server_fns::time_entries::tests::snaps_unaligned_start_to_the_grid ... ok2102test server_fns::time_entries::tests::untimed_start_is_left_untouched ... ok2103test server_fns::time_entries::tests::new_time_and_picker_reject_inactive_or_foreign_contexts ... ok2104test server_fns::time_entries::tests::unassigned_member_is_forbidden ... ok2105test server_fns::time_entries::update_tests::concurrent_lock_or_delete_is_rechecked_before_editing ... ok2106test server_fns::time_entries::update_tests::competing_identical_edit_is_a_noop_after_the_first_commit ... ok2107test server_fns::time_entries::tests::new_time_uses_effective_billability_for_manual_entries_and_timers ... ok2108test server_fns::time_entries::update_tests::competing_edit_that_restores_old_values_still_reports_a_change ... ok2109test server_fns::time_entries::tests::submission_barrier_blocks_edits_and_cross_week_reorders ... ok2110test server_fns::time_entries::tests::submission_barrier_blocks_manual_entries_and_timer_starts ... ok2111test server_fns::time_entries::update_tests::each_editable_field_changes_once_including_nulls ... ok2112test server_fns::time_entries::update_tests::restricted_empty_task_rejects_changes_and_noop_edits ... ok2113test server_fns::time_entries::update_tests::normalized_noop_preserves_the_row_and_updated_at ... ok2114test server_fns::time_entries::update_tests::restricted_empty_task_rejects_picker_manual_and_timer_starts ... ok2115test server_fns::time_entries::update_tests::effective_billability_noop_preserves_the_row ... ok2116test server_fns::time_entries::update_tests::missing_foreign_and_locked_entries_are_not_noops ... ok2117test server_fns::time_entries::update_tests::restricted_reordering_rejects_the_whole_batch ... ok2118test server_fns::time_entries::update_tests::restricted_task_rejects_reschedule_and_delete ... ok2119test server_fns::time_entries::update_tests::revoked_timer_stop_preserves_the_open_state_guard ... ok2120test server_fns::time_entries::update_tests::revoked_grant_does_not_trap_an_own_running_timer ... ok2121test server_fns::time_entries::update_tests::task_grant_revocation_committed_during_an_edit_is_rechecked ... ok2122test server_fns::users::tests::concurrency::access_changes_cannot_target_another_organization ... ok2123test server_fns::time_entries::update_tests::restriction_changes_are_rechecked_before_manual_or_timer_insertion ... ok2124test server_fns::time_entries::update_tests::task_grants_allow_tracking_and_archived_history_for_every_role ... ok2125test server_fns::users::tests::hide_rates_clears_both_rate_fields ... ok2126test server_fns::project_creation::import_tests::imports_preserve_finalized_project_configuration_and_restricted_access ... ok2127test server_fns::users::tests::concurrency::concurrent_deactivations_keep_an_active_admin ... ok2128test server_fns::users::tests::concurrency::deactivation_and_demotion_keep_an_active_admin ... ok2129test server_fns::users::tests::concurrency::demotion_and_deactivation_keep_an_active_admin ... ok2130test server_fns::users::tests::concurrency::concurrent_demotions_keep_an_active_admin ... ok2131test server_fns::users::tests::concurrency::unchanged_admin_access_is_allowed ... ok2132test server_fns::users::tests::concurrency::the_last_admin_cannot_be_demoted_or_deactivated ... ok2133test reports::limits::tests::bounded_entries_reject_large_fields_and_combined_text ... ok2134test reports::limits::tests::fee_exports_preserve_absent_quantities_and_render_a_real_pdf ... ok2135test seed::tests::repeated_seed_preserves_every_row_and_user_edits ... ok2136test reports::streaming::database_tests::streamed_tag_filter_excludes_other_projects_without_duplicating_rows ... ok2137test server_fns::invoices::fee_tests::settled_fee_sources_remain_reviewable_without_automatic_charges ... ok2138test server_fns::invoices::fee_tests::reviewed_generation_requires_exact_excess_and_current_authority ... ok2139test server_fns::invoices::tests::invoice_preview_rejects_large_results_instead_of_truncating_them ... ok2140test jobs::tests::expired_final_attempt_fails_without_claiming_again ... ok2141test server_fns::invoices::fee_tests::fee_balance_migration_allocates_discount_without_rewriting_invoice_snapshots ... ok2142test server_fns::reports::tests::filters_and_renames_keep_report_identity_and_totals ... ok2143test server_fns::reports::tests::manager_report_omits_groups_containing_private_project_costs ... ok2144test server_fns::invoices::tests::invoice_defaults_selection_rejects_unavailable_projects_before_claiming ... ok2145test server_fns::invoices::tests::invoice_preview_requires_explicit_resolution_and_scopes_selected_projects ... ok2146test jobs::tests::submission_key_cannot_change_csv_bytes_or_mode ... ok2147test server_fns::invoices::fee_tests::fee_preview_discount_ties_follow_source_keys_not_display_dates ... ok2148test seed::tests::concurrent_init_and_seed_cannot_mix_organizations ... ok2149test server_fns::invoices::tests::invoice_defaults_are_invoice_owned_and_only_drafts_are_editable ... ok2150test jobs::tests::cleanup_retains_retryable_uploads_and_deletes_expired_jobs ... ok2151test server_fns::reports::tests::report_uses_current_active_actor_and_tenant_for_every_filter ... ok2152test server_fns::reports::tests::tag_filters_keep_report_dimensions_and_details_in_sync ... ok2153test harvest::pagination_tests::harvest_pagination_malformed_filters_are_client_errors ... ok2154test server_fns::reports::tests::same_names_keep_separate_groups_for_every_dimension ... ok2155test server_fns::reports::tests::shared_person_and_task_are_partitioned_by_currency ... ok2156test jobs::tests::concurrent_csv_resubmission_preserves_identity_after_upload_cleanup ... ok2157test jobs::tests::expired_lease_cannot_renew_or_commit_using_an_old_transaction_timestamp ... ok2158test jobs::tests::csv_job_persists_its_policy_with_the_upload ... ok2159test server_fns::invoices::fee_tests::draft_fee_edit_requires_current_balance_and_exact_excess_confirmation ... ok2160test jobs::tests::failed_csv_commit_retains_confirmed_report_through_history_and_retry ... ok2161test jobs::tests::failed_csv_preview_retains_confirmed_report_through_history_and_retry ... ok2162test jobs::tests::final_failure_is_retained_and_manual_retry_gets_a_new_budget ... ok2163test harvest::pagination_tests::harvest_pagination_rejects_invalid_windows_on_every_collection ... ok2164test server_fns::invoices::tests::imported_rates::imported_legacy_project_keeps_exact_rates_and_totals_on_retry ... ok2165test jobs::tests::invalid_policy_cannot_enqueue_a_job_or_upload ... ok2166test server_fns::invoices::fee_tests::discounted_fee_leaves_a_balance_and_void_releases_only_its_contribution ... ok2167test server_fns::invoices::fee_tests::draft_fee_edit_rejects_invalid_lines_and_current_unauthorized_actors ... ok2168test seed::tests::concurrent_initializers_cannot_create_two_organizations ... ok2169test server_fns::invoices::tests::invoice_defaults_conflict_rolls_back_all_claims ... ok2170test server_fns::invoices::fee_tests::draft_fee_edit_serializes_retries_and_rejects_stale_revisions ... ok2171test server_fns::invoices::fee_tests::fee_preview_keeps_source_identity_and_reports_discounted_draft_balances ... ok2172test harvest::pagination_tests::harvest_pagination_router_preserves_session_and_tenant_guards ... ok21732174test result: ok. 819 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out; finished in 48.91s21752176 Running tests/admin_shell.rs (target/debug/deps/admin_shell-ddb5423570a9e82d)21772178running 5 tests2179test pending_user_does_not_mount_admin_content ... ok2180test failed_user_does_not_mount_admin_content ... ok2181test resolved_admin_mounts_the_workspace_and_outlet ... ok2182test members_and_managers_never_mount_admin_content ... ok2183test retry_waits_for_fresh_authorization_then_recovers ... ok21842185test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s21862187 Running tests/cli_imports.rs (target/debug/deps/cli_imports-58ffc9baae5b0abd)21882189running 5 tests2190test invalid_remote_arguments_have_a_machine_readable_exit ... ok2191test remote_configuration_errors_are_json_and_do_not_load_server_configuration ... ok2192test executable_commands_use_the_documented_authenticated_wire_contract ... ok2193test interrupting_the_executable_waiter_keeps_job_identity_and_never_sends_cancel ... ok2194test executable_wait_and_failure_exit_codes_match_the_json_contract ... ok21952196test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.45s21972198 Running tests/cli_restart.rs (target/debug/deps/cli_restart-85243cc63cb76e93)21992200running 1 test2201test detached_csv_recovers_after_the_server_process_is_killed ... ok22022203test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.70s22042205 Running tests/detail_navigation.rs (target/debug/deps/detail_navigation-a03aadc1cb1f7a57)22062207running 44 tests2208test clients::form::tests::absent_billing_authority_never_produces_an_edit_payload ... ok2209test invoices::preparation::tests::invoice_context_selects_only_the_exact_available_client ... ok2210test invoices::preparation::tests::unavailable_or_malformed_invoice_context_never_uses_the_first_client ... ok2211test invoices::preparation::tests::invoice_review_requires_matching_sources_and_valid_values ... ok2212test clients::filters::tests::name_search_ignores_case_and_surrounding_whitespace ... ok2213test projects::budget_display_tests::tag_filter_matches_identity_without_duplicates_or_name_collisions ... ok2214test clients::form::tests::ambiguous_creation_errors_require_explicit_recovery ... ok2215test clients::filters::tests::clearing_query_preserves_selected_currency_and_lifecycle ... ok2216test clients::filters::tests::preferred_or_visible_project_currency_matches_but_query_still_applies ... ok2217test projects::budget_display_tests::configured_scopes_sum_without_hiding_an_individual_overrun ... ok2218test projects::budget_display_tests::unallocated_zero_and_overflow_budgets_are_not_conflated ... ok2219test clients::filters::tests::lifecycle_counts_share_query_and_currency_filters ... ok2220test invoices::preparation::fees::tests::refresh_keeps_raw_edits_and_does_not_select_new_sources ... ok2221test projects::budget_display_tests::display_preserves_units_sign_and_large_integer_values ... ok2222test clients::form::tests::invalid_fields_are_not_rewritten_by_validation ... ok2223test clients::form::tests::clearing_a_rate_is_explicit_and_needs_no_currency_confirmation ... ok2224test clients::form::tests::untouched_fields_keep_zero_rate_and_original_snapshot ... ok2225test clients::form::tests::rate_replacement_requires_confirmation_in_the_current_currency ... ok2226test invoices::defaults_form::tests::invoice_fields_preserve_receipt_terms_and_empty_optional_percentages ... ok2227test invoices::defaults_form::tests::invoice_fields_reject_invalid_percentages_terms_and_second_tax ... ok2228test invoices::defaults_form::tests::invoice_fields_bound_metadata_by_characters_and_reject_nul ... ok2229test invoices::preparation::fees::tests::refresh_preserves_missing_or_relabelled_edits_until_explicit_removal ... ok2230test invoices::preparation::fees::tests::fee_inputs_require_exact_amounts_and_an_explicit_positive_charge ... ok2231test project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok2232test invoices::defaults_form::tests::invoice_fields_preserve_exact_percentages_and_custom_terms ... ok2233test project_creation::tests::unknown_draft_fields_are_rejected ... ok2234test project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok2235test invoice_detail_shows_saved_adjustments_and_payment_metadata ... ok2236test member_client_detail_never_requests_invoices_or_displays_default_rates ... ok2237test failed_client_invoices_keep_identity_and_projects_without_claiming_empty_results ... ok2238test client_project_failure_preserves_billing_and_invoices ... ok2239test client_project_totals_failure_does_not_invent_zero_or_hide_project_links ... ok2240test pending_or_failed_navigation_never_shows_the_previous_invoice ... ok2241test project_creation_links_use_the_static_new_project_route ... ok2242test navigating_between_project_ids_loads_current_assignments_and_tasks ... ok2243test navigating_between_invoice_ids_loads_the_current_invoice ... ok2244test client_detail_distinguishes_unset_rate_from_known_zero_project_totals ... ok2245test pending_or_failed_client_navigation_never_shows_previous_identity_or_work ... ok2246test client_detail_links_use_current_client_and_preserve_member_boundaries ... ok2247test pending_or_failed_project_details_never_show_previous_metadata ... ok2248test client_navigation_cancels_previous_pending_invoice_panel ... ok2249test client_detail_navigation_loads_current_identity_billing_and_work ... ok2250test empty_project_list_links_to_the_importer_route ... ok2251test pending_or_failed_project_assignments_never_show_previous_assignments ... ok22522253test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s22542255 Running tests/import_jobs_ui.rs (target/debug/deps/import_jobs_ui-6abb216817613f55)22562257running 35 tests2258test importers::presentation::tests::no_selection_does_not_claim_no_import_history ... ok2259test importers::presentation::tests::source_labels_do_not_guess_unknown_importers ... ok2260test importers::presentation::tests::interrupted_report_is_partial_regardless_of_retry_prerequisites ... ok2261test importers::presentation::tests::states_and_phases_have_readable_unknown_fallbacks ... ok2262test importers::presentation::tests::summaries_distinguish_zero_skipped_and_mixed_outcomes ... ok2263test history_failure_can_be_refreshed_and_restores_an_active_job ... ok2264test unselected_connected_importer_does_not_claim_an_empty_history ... ok2265test progress_uses_observed_counts_and_readable_phase_without_an_eta ... ok2266test configured_unbound_connection_explains_read_only_access ... ok2267test missing_job_stops_polling_and_explains_that_status_is_unavailable ... ok2268test retry_errors_are_visible_and_success_restarts_monitoring ... ok2269test submission_displays_its_acknowledged_state_before_status_polling_returns ... ok2270test reopening_importer_restores_queued_and_running_jobs_from_history ... ok2271test connection_picker_distinguishes_loading_unavailable_and_unconfigured ... ok2272test failed_poll_can_resume_without_replaying_its_old_error ... ok2273test cancellation_errors_are_visible_and_acceptance_does_not_acknowledge_completion ... ok2274test pending_connect_is_single_submission_and_failure_keeps_a_recovery_action ... ok2275test stale_confirmation_keeps_the_dialog_and_shows_the_error ... ok2276test account_change_explains_every_blocker ... ok2277test selecting_another_job_drops_the_previous_pending_status_request ... ok2278test historical_preview_is_read_only_and_selecting_another_job_clears_it ... ok2279test account_change_is_busy_then_reports_recoverable_authorization_failure ... ok2280test navigating_away_invalidates_a_pending_preview_confirmation ... ok2281test newly_submitted_failed_preview_cannot_be_confirmed ... ok2282test replacing_a_file_during_preview_does_not_change_the_committed_source ... ok2283test archived_report_shows_total_errors_and_a_job_scoped_download ... ok2284test connection_actions_prevent_duplicate_submissions_and_keep_errors_local ... ok2285test account_change_confirmation_can_cancel_without_mutation_in_both_binding_states ... ok2286test history_can_page_back_and_return_to_the_latest_imports ... ok2287test history_labels_selection_and_unknown_metadata_are_readable ... ok2288test connection_management_groups_actions_and_never_promises_automatic_repair ... ok2289test blocked_retry_keeps_partial_reports_and_explains_the_missing_prerequisite ... ok2290test api_preview_confirmation_is_bound_to_the_original_account_generation ... ok2291test failed_and_cancelled_history_shows_partial_outcomes_without_success_actions ... ok2292test result_copy_distinguishes_preview_zero_skipped_and_mixed_outcomes ... ok22932294test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s22952296 Running tests/integration.rs (target/debug/deps/integration-089265c4f3eedde6)22972298running 36 tests2299test generate_invoice_totals_match ... ok2300test approval_hours_aggregate_billable_within_period ... ok2301test reorder_untimed_orders_and_moves_across_days ... ok2302test reschedule_moves_open_entry_and_rejects_locked ... ok2303test submit_week_with_running_timer_is_refused ... ok2304test new_task_becomes_loggable_on_project ... ok2305test line_amount_cents_sql_matches_rust ... ok2306test reject_after_approve_reopens_entries ... ok2307test timer_under_a_minute_records_zero ... ok2308test admin_changes_user_role ... ok2309test duplicate_invoice_numbers_rejected ... ok2310test approval_workflow_approve_and_reject ... ok2311test stopping_timer_records_start_minute ... ok2312test admin_creates_user_and_duplicate_rejected ... ok2313test resubmit_after_approve_is_refused ... ok2314test unassigned_user_cannot_create_entry ... ok2315test role_gating_member_vs_manager_vs_admin ... ok2316test one_timer_per_user_enforced ... ok2317test start_minute_round_trips_and_is_constrained ... ok2318test stop_timer_refuses_entry_that_left_open ... ok2319test deactivated_user_blocked_and_history_preserved ... ok2320test invoicing_update_skips_already_invoiced_entries ... ok2321test submitted_entries_cannot_be_updated ... ok2322test project_spend_grouped_in_sql_matches_the_rust_fold ... ok2323test totals_unaffected_by_start_minute ... ok2324test void_invoice_restores_entries ... ok2325test inactive_project_hidden_from_picker_but_kept_on_history ... ok2326test invoiced_entries_cannot_be_rebilled ... ok2327test a_second_running_timer_is_refused_by_the_insert ... ok2328test line_amount_cents_sql_and_rust_reject_final_overflow ... ok2329test the_long_timer_sweep_claims_each_timer_once ... ok2330test rounding_applied_on_submit ... ok2331test timer_start_stop_records_minutes ... ok2332test last_active_admin_cannot_be_removed ... ok2333test approved_entries_are_invoiceable ... ok2334test rate_resolution_cascade ... ok23352336test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.06s23372338 Running tests/new_project_screen.rs (target/debug/deps/new_project_screen-e3daedf125f4d4ac)23392340running 45 tests2341test new_project::team::tests::removing_a_member_keeps_an_empty_restricted_task_restricted ... ok2342test new_project::draft::tests::context_prefills_only_a_new_form_without_fixing_its_currency ... ok2343test new_project::draft::tests::a_validation_rejection_allows_corrected_input_at_the_same_revision ... ok2344test new_project::draft::tests::an_empty_form_is_not_reported_as_saved ... ok2345test new_project::team::tests::exceeding_the_team_limit_does_not_partially_add_people ... ok2346test new_project::team::tests::adding_everyone_deduplicates_without_replacing_project_overrides ... ok2347test new_project::tests::a_rejected_creation_can_be_edited_but_an_uncertain_commit_must_be_retried ... ok2348test new_project::draft::tests::a_mismatched_acknowledgement_does_not_lose_pending_input ... ok2349test new_project::draft::tests::a_retry_keeps_the_unacknowledged_payload_and_revision ... ok2350test new_project::draft::tests::any_saved_draft_wins_over_context_including_empty_or_matching_client ... ok2351test new_project::draft::tests::resuming_preserves_the_server_identity_and_incomplete_fields ... ok2352test new_project::basics::tests::a_full_tag_list_still_accepts_a_duplicate ... ok2353test new_project::basics::tests::overlong_tags_are_rejected_without_truncation ... ok2354test new_project::basics::tests::a_batch_that_would_exceed_the_tag_limit_is_rejected ... ok2355test new_project::basics::tests::tag_length_counts_characters_instead_of_bytes ... ok2356test project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok2357test new_project::tests::only_known_validation_fields_can_target_a_control ... ok2358test project_creation::tests::unknown_draft_fields_are_rejected ... ok2359test project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok2360test navigation_icons_keep_default_dimensions_and_allow_opt_in_sizing ... ok2361test compact_input_adds_utilities_and_accessible_name_without_losing_native_state ... ok2362test an_input_can_link_its_validation_error_without_changing_its_value_or_class ... ok2363test shared_input_without_options_keeps_its_original_class_and_external_label ... ok2364test new_project::basics::tests::tags_trim_and_deduplicate_without_changing_existing_spelling ... ok2365test checkbox_error_identity_is_opt_in_without_changing_its_behavior ... ok2366test textarea_and_selector_error_links_are_opt_in_and_preserve_controls ... ok2367test new_project::billing::tests::budget_errors_target_a_control_that_can_be_corrected ... ok2368test invoice_defaults_restore_custom_terms_and_named_second_tax ... ok2369test recovered_tags_use_the_shared_inline_chip_field_without_saving ... ok2370test a_real_code_suggestion_does_not_replace_recovered_input ... ok2371test nonbillable_hides_fee_rate_and_invoice_controls_without_erasing_the_draft ... ok2372test administrative_notes_only_render_for_an_authorized_editor ... ok2373test billing_and_visibility_keep_native_radios_inside_designed_option_cards ... ok2374test nonbillable_budget_picker_omits_fee_modes ... ok2375test planning_dates_restore_readable_shared_calendar_fields_without_saving ... ok2376test recovered_tasks_and_people_outside_the_catalog_page_keep_their_identity ... ok2377test edit_prefills_legacy_currency_and_type_without_reading_or_saving_a_draft ... ok2378test recovered_client_outside_the_catalog_page_keeps_its_currency_and_name ... ok2379test client_and_currency_use_labelled_form_dropdowns ... ok2380test empty_form_has_labelled_fields_no_demo_data_and_no_spurious_save ... ok2381test assignment_controls_reuse_searchable_picker_and_compact_task_entry ... ok2382test time_and_materials_restores_project_rate_and_budget_without_enabling_unconfigured_email ... ok2383test tasks_and_team_restore_scoped_settings_without_exposing_costs_to_managers ... ok2384test fixed_fee_restores_each_schedule_and_never_shows_hourly_rate_controls ... ok2385test task_rate_placeholders_use_source_currency_not_workspace_currency ... ok23862387test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s23882389 Running tests/timer_widget.rs (target/debug/deps/timer_widget-6f461a20070f335a)23902391running 1 test2392test timer_names_reuse_lookups_and_follow_resource_changes ... ok23932394test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s23952396 Running tests/trigger_utilities.rs (target/debug/deps/trigger_utilities-2d4b7940ad92a17a)23972398running 8 tests2399test checkbox_keeps_labelled_unchecked_defaults ... ok2400test disabled_checked_checkbox_is_natively_disabled ... ok2401test compact_mixed_checkbox_keeps_an_accessible_name ... ok2402test combobox_keeps_compact_defaults ... ok2403test combobox_composes_trigger_utilities ... ok2404test menu_composes_trigger_utilities ... ok2405test menu_can_disable_its_native_trigger ... ok2406test menu_keeps_compact_defaults ... ok24072408test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s24092410waiting for server to shut down.... done2411server stopped2412buildPhase completed in 8 minutes 6 seconds