horae-tests-0.1.0
checks.x86_64-linux.tests
· build #440
· raw
unpackPhase
1unpacking source archive /nix/store/2plcw3k60pmkamylwn2f8xaxnx62r184-source2source root is sourcepatchPhase
3Executing configureCargoCommonVars4decompressing cargo artifacts from /nix/store/p0fga5r55aw5iwdy8h0dpr32lhcczl5i-horae-checks-deps-0.1.0/target.tar.zst to target5patchPhase completed in 1 minutes 47 secondsconfigurePhase
6will append /build/source/.cargo-home/config.toml with contents of /nix/store/i0bj632any4bjpvnl84zc2h7cq8zn0mz-vendor-cargo-deps/config.toml7default configurePhase, nothing to dobuildPhase
8+++ command cargo nextest run -p horae-core --test-threads 489 Compiling proc-macro2 v1.0.10610 Compiling serde_core v1.0.22811 Compiling serde v1.0.22812 Compiling num-traits v0.2.1913 Compiling quote v1.0.4614 Compiling syn v2.0.11815 Compiling serde_derive v1.0.22816 Compiling thiserror-impl v2.0.1817 Compiling uuid v1.23.418 Compiling thiserror v2.0.1819 Compiling chrono v0.4.4520 Compiling horae-core v0.1.0 (/build/source/crates/core)21 Finished `test` profile [unoptimized + debuginfo] target(s) in 20.01s22 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 23 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding24 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band25------------26 Nextest run ID 4f91c728-8e34-4ee1-b9a9-a4f6ad7257d1 with nextest profile: default27 Starting 121 tests across 1 binary28 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 29 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding30 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band31 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 32 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding33 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band34 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 35 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding36 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band37 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 38 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding39 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band40 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 41 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding42 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band43 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 44 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding45 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band46 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 47 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding48 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band49 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 50 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding51 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band52 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 53 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding54 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band55 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 56 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding57 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band58 Running [ 00:00:00] 0/121: 3 running, 0 passed, 0 skipped 59 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding60 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band61 Running [ 00:00:00] 0/121: 48 running, 0 passed, 0 skipped 62 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding63 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band64 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget65 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values66 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows67 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached68 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once69 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets70 Running [ 00:00:00] 0/121: 48 running, 0 passed, 0 skipped 71 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding72 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band73 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget74 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values75 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows76 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached77 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once78 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets79 Running [ 00:00:00] 0/121: 48 running, 0 passed, 0 skipped 80 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding81 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band82 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget83 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values84 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows85 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached86 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once87 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets88 PASS [ 0.016s] horae-core duration::tests::format_round_trip89 Running [ 00:00:00] > 1/121: 47 running, 1 passed, 0 skipped 90 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding91 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band92 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget93 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values94 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows95 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached96 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once97 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets98 Running [ 00:00:00] ==> 39/121: 47 running, 1 passed, 0 skipped 99 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding100 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band101 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget102 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values103 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows104 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached105 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once106 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets107 PASS [ 0.017s] horae-core duration::tests::parse_colon108 PASS [ 0.012s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows109 PASS [ 0.032s] horae-core budget::tests::a_single_jump_announces_every_crossed_band110 PASS [ 0.037s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding111 PASS [ 0.028s] horae-core duration::tests::minutes_between_is_exact_no_minimum112 PASS [ 0.024s] horae-core duration::tests::parse_decimal113 PASS [ 0.027s] horae-core client::tests::profile_rejects_unsupported_currency_and_null_billing_fields114 PASS [ 0.025s] horae-core budget::tests::each_crossing_is_announced_once115 PASS [ 0.046s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract116 PASS [ 0.030s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values117 PASS [ 0.054s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating118 PASS [ 0.062s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget119 PASS [ 0.041s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide120 PASS [ 0.060s] horae-core client::tests::default_rate_preserves_absence_zero_and_exact_large_amounts121 PASS [ 0.068s] horae-core budget::tests::current_band_is_the_highest_reached122 PASS [ 0.069s] horae-core budget::tests::no_band_for_zero_or_missing_budget123 PASS [ 0.112s] horae-core client::tests::default_rate_rejects_negative_fractional_cent_overflow_and_invalid_text124 PASS [ 0.093s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it125 PASS [ 0.094s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact126 PASS [ 0.095s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform127 PASS [ 0.095s] horae-core client::tests::optional_text_normalizes_only_blank_fields128 PASS [ 0.095s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band129 PASS [ 0.098s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets130 PASS [ 0.098s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking131 PASS [ 0.112s] horae-core duration::tests::format_clamps_negative_to_zero132 PASS [ 0.116s] horae-core duration::tests::format_hhmm_pads_minutes133 PASS [ 0.089s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform134 Running [ 00:00:00] ==> 43/121: 48 running, 43 passed, 0 skipped 135 [ 00:00:00] horae-core cts_negative_non_finite_and_malformed_values136 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals137 [ 00:00:00] horae-core rsion_reports_precision_and_numerator_limits138 [ 00:00:00] horae-core n_fraction_straddles_the_half_minute_exactly139 [ 00:00:00] horae-core :keys::tests::normalize_trims_and_case_folds140 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects141 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent142 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero143 PASS [ 0.089s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up144 PASS [ 0.090s] horae-core importers::harvest::convert::tests::money_common_values_are_exact145 PASS [ 0.090s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse146 PASS [ 0.110s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly147 PASS [ 0.114s] horae-core client::tests::profile_accepts_supported_currencies_and_unicode_character_limit148 PASS [ 0.116s] horae-core client::tests::profile_rejects_blank_overlong_and_null_names149 PASS [ 0.097s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking150 PASS [ 0.097s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator151 PASS [ 0.092s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace152 PASS [ 0.092s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow153 PASS [ 0.092s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary154 PASS [ 0.106s] horae-core importers::harvest::convert::tests::negative_is_rejected155 PASS [ 0.117s] horae-core budget::tests::large_values_do_not_overflow156 PASS [ 0.107s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day157 PASS [ 0.109s] horae-core importers::harvest::convert::tests::garbage_is_rejected158 Running [ 00:00:00] ==> 43/121: 48 running, 43 passed, 0 skipped 159 [ 00:00:00] horae-core cts_negative_non_finite_and_malformed_values160 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals161 [ 00:00:00] horae-core rsion_reports_precision_and_numerator_limits162 [ 00:00:00] horae-core n_fraction_straddles_the_half_minute_exactly163 [ 00:00:00] horae-core :keys::tests::normalize_trims_and_case_folds164 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects165 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent166 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero167 Running [ 00:00:00] ===> 47/121: 48 running, 43 passed, 0 skipped 168 [ 00:00:00] horae-core cts_negative_non_finite_and_malformed_values169 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals170 [ 00:00:00] horae-core rsion_reports_precision_and_numerator_limits171 [ 00:00:00] horae-core n_fraction_straddles_the_half_minute_exactly172 [ 00:00:00] horae-core :keys::tests::normalize_trims_and_case_folds173 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects174 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent175 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero176 PASS [ 0.139s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly177 PASS [ 0.139s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits178 PASS [ 0.144s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values179 PASS [ 0.036s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line180 PASS [ 0.044s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order181 PASS [ 0.066s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift182 Running [ 00:00:00] ===> 49/121: 48 running, 49 passed, 0 skipped 183 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals184 [ 00:00:00] horae-core :keys::tests::normalize_trims_and_case_folds185 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects186 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent187 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero188 [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name189 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present190 [ 00:00:00] horae-core quires_binding_and_no_imports_or_active_work191 Running [ 00:00:00] =====> 87/121: 48 running, 49 passed, 0 skipped 192 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals193 [ 00:00:00] horae-core :keys::tests::normalize_trims_and_case_folds194 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects195 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent196 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero197 [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name198 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present199 [ 00:00:00] horae-core quires_binding_and_no_imports_or_active_work200 PASS [ 0.093s] horae-core invoice::tests::line_amount_half_hour201 PASS [ 0.092s] horae-core importers::harvest::keys::tests::time_entry_key_distinguishes_and_matches202 PASS [ 0.091s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name203 PASS [ 0.090s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow204 PASS [ 0.052s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials205 PASS [ 0.054s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency206 PASS [ 0.092s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit207 PASS [ 0.095s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow208 PASS [ 0.096s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent209 PASS [ 0.091s] horae-core invoice::tests::invoice_adjustments_round_components_half_up210 PASS [ 0.091s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error211 PASS [ 0.090s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts212 PASS [ 0.090s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work213 PASS [ 0.093s] horae-core invoice::tests::line_amount_90_minutes214 PASS [ 0.094s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign215 PASS [ 0.094s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects216 PASS [ 0.095s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even217 PASS [ 0.094s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate218 PASS [ 0.094s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts219 PASS [ 0.086s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates220 PASS [ 0.091s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches221 PASS [ 0.092s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent222 PASS [ 0.096s] horae-core invoice::tests::line_amount_zero_rate223 PASS [ 0.052s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total224 PASS [ 0.090s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal225 PASS [ 0.089s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names226 Running [ 00:00:00] ======> 104/121: 17 running, 104 passed, 0 skipped 227 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals228 [ 00:00:00] horae-core e_amount_accepts_large_representable_amounts229 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions230 [ 00:00:00] horae-core ts::monthly_fee_dates_follow_calendar_months231 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days232 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero233 [ 00:00:00] horae-core inutes_respect_frozen_history_including_zero234 [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc235 PASS [ 0.092s] horae-core invoice::tests::line_amount_exact_hour236 PASS [ 0.093s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present237 PASS [ 0.093s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero238 PASS [ 0.086s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates239 PASS [ 0.095s] horae-core invoice::tests::resolve_rate_cascade240 PASS [ 0.193s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds241 PASS [ 0.087s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs242 PASS [ 0.057s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones243 PASS [ 0.099s] horae-core invoice::tests::line_amount_zero_minutes244 PASS [ 0.095s] horae-core money::tests::addition_retains_currency_checks_and_representable_boundaries245 PASS [ 0.096s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes246 PASS [ 0.102s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results247 PASS [ 0.099s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources248 PASS [ 0.104s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors249 PASS [ 0.019s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs250 PASS [ 0.105s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available251 PASS [ 0.013s] horae-core week::tests::configured_week_can_start_in_the_previous_year252 PASS [ 0.100s] horae-core project::tests::basics_reject_blank_and_overlong_names253 PASS [ 0.017s] horae-core time_of_day::tests::format_round_trips254 PASS [ 0.017s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight255 PASS [ 0.108s] horae-core invoice::tests::line_amount_odd_minutes256 PASS [ 0.019s] horae-core week::tests::maps_any_weekday_to_its_monday257 PASS [ 0.019s] horae-core time_of_day::tests::snap_rounds_to_nearest_step258 PASS [ 0.020s] horae-core state::tests::managers_invoice_open_and_approved_time259 PASS [ 0.019s] horae-core week::tests::configured_week_reports_an_unrepresentable_start260 PASS [ 0.021s] horae-core types::tests::budget_kind_wire_strings_match_db_enum261 PASS [ 0.020s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days262 Running [ 00:00:00] ======> 104/121: 17 running, 104 passed, 0 skipped 263 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals264 [ 00:00:00] horae-core e_amount_accepts_large_representable_amounts265 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions266 [ 00:00:00] horae-core ts::monthly_fee_dates_follow_calendar_months267 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days268 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero269 [ 00:00:00] horae-core inutes_respect_frozen_history_including_zero270 [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc271 PASS [ 0.020s] horae-core project::tests::percentage_preserves_exact_hundredths272 PASS [ 0.020s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax273 Running [ 00:00:00] ======> 104/121: 17 running, 104 passed, 0 skipped 274 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals275 [ 00:00:00] horae-core e_amount_accepts_large_representable_amounts276 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions277 [ 00:00:00] horae-core ts::monthly_fee_dates_follow_calendar_months278 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days279 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero280 [ 00:00:00] horae-core inutes_respect_frozen_history_including_zero281 [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc282 PASS [ 0.027s] horae-core state::tests::only_manager_can_approve283 PASS [ 0.027s] horae-core time_of_day::tests::parse_reads_24h284 PASS [ 0.024s] horae-core rounding::tests::nearest_ties_round_up285 PASS [ 0.026s] horae-core time_of_day::tests::format_12h_matches_harvest_style286 PASS [ 0.025s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero287 PASS [ 0.117s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts288 PASS [ 0.118s] horae-core money::tests::addition_rejects_overflow_in_both_directions289 PASS [ 0.027s] horae-core time_of_day::tests::parse_reads_12h_including_edges290 PASS [ 0.033s] horae-core project::tests::monthly_fee_dates_follow_calendar_months291 PASS [ 0.032s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage292 PASS [ 0.031s] horae-core rounding::tests::identity_when_inc_zero293 PASS [ 0.032s] horae-core state::tests::invoiced_is_final294 PASS [ 0.031s] horae-core rounding::tests::result_is_multiple_of_inc295 PASS [ 0.033s] horae-core state::tests::member_submit_and_reopen296 PASS [ 0.034s] horae-core project::tests::payment_terms_support_receipt_and_checked_days297 PASS [ 0.037s] horae-core rounding::tests::up_and_down298 PASS [ 0.248s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals299------------300 Summary [ 0.294s] 121 tests run: 121 passed, 0 skipped301 Running [ 00:00:00] ======= 121/121: 17 running, 104 passed, 0 skipped 302 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals303 [ 00:00:00] horae-core e_amount_accepts_large_representable_amounts304 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions305 [ 00:00:00] horae-core ts::monthly_fee_dates_follow_calendar_months306 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days307 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero308 [ 00:00:00] horae-core inutes_respect_frozen_history_including_zero309 [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc310The files belonging to this database system will be owned by user "nixbld".311This user must also own the server process.312313The database cluster will be initialized with locale "C".314The default text search configuration will be set to "english".315316Data page checksums are disabled.317318fixing permissions on existing directory /build/tmp.1DD3xzg09X ... ok319creating subdirectories ... ok320selecting dynamic shared memory implementation ... posix321selecting default "max_connections" ... 100322selecting default "shared_buffers" ... 128MB323selecting default time zone ... UTC324creating configuration files ... ok325running bootstrap script ... ok326performing post-bootstrap initialization ... ok327syncing data to disk ... ok328329initdb: warning: enabling "trust" authentication for local connections330initdb: 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.331332Success. You can now start the database server using:333334 pg_ctl -D /build/tmp.1DD3xzg09X -l logfile start335336waiting for server to start.... done337server started338+++ command cargo test -p horae --features server -- --test-threads 48339 Compiling horae v0.1.0 (/build/source/crates/horae)340 Compiling horae-core v0.1.0 (/build/source/crates/core)341 Finished `test` profile [unoptimized + debuginfo] target(s) in 13m 24s342 Running unittests src/main.rs (target/debug/deps/horae-0767924faa118e50)343344running 875 tests345test auth::page::tests::dev_variant_offers_the_admin_bypass_and_no_fake_controls ... ok346test auth::page::tests::oidc_variant_uses_the_configured_label_and_hands_off_to_start ... ok347test auth::page::tests::configured_label_is_html_escaped ... ok348test auth::oidc::tests::deactivated_email_match_is_denied ... ok349test auth::oidc::tests::deactivated_subject_match_is_denied ... ok350test auth::oidc::tests::extra_audiences_are_trusted_only_when_listed ... ok351test cli::tests::environment_probe ... ok352test config::tests::dev_login_is_allowed_on_loopback ... ok353test config::tests::dev_login_is_refused_off_loopback ... ok354test config::tests::environment::environment_probe ... ok355test cli::imports::tests::retry_snapshot_is_compatible_with_missing_and_future_values ... ok356test cli::tests::remote_commands_reject_conflicting_or_unbounded_options ... ok357test cli::imports::tests::missing_session_is_a_structured_configuration_failure ... ok358test auth::oidc::tests::first_login_links_subject_via_verified_email ... ok359test auth::oidc::tests::no_account_is_denied_not_provisioned ... ok360test auth::oidc::tests::subject_match_logs_in_without_relinking ... ok361test auth::oidc::tests::subject_match_takes_precedence_over_email ... ok362test auth::oidc::tests::unverified_email_is_not_matched ... ok363test config::tests::without_dev_login_any_bind_is_fine ... ok364test harvest::pagination_tests::harvest_pagination_total_pages_does_not_overflow ... ok365test cli::tests::remote_import_and_job_commands_accept_the_documented_arguments ... ok366test config::tests::environment::obsolete_authentication_variables_do_not_configure_the_server ... ok367test cli::imports::tests::private_session_accepts_https_and_loopback_only ... ok368test cli::imports::tests::session_rejects_public_permissions_and_symlinks ... ok369test cli::imports::tests::session_rejects_plaintext_remote_and_credential_bearing_urls ... ok370test config::tests::environment::empty_environment_has_no_authentication_or_plugin_credentials ... ok371test cli::imports::tests::malformed_submission_acknowledgement_retains_its_request_identity ... ok372test cli::imports::tests::report_marks_confirmed_failed_outcomes_as_incomplete ... ok373test cli::imports::tests::session_rejects_cookie_header_injection_without_echoing_the_value ... ok374test cli::imports::tests::invalid_csv_files_fail_before_contacting_the_server ... ok375test cli::imports::tests::csv_named_pipe_is_rejected_without_waiting_for_a_writer ... ok376test harvest::tests::page_window_defaults_and_checked_offsets ... ok377test cli::imports::tests::redirects_are_not_followed_or_exposed_as_server_error_text ... ok378test cli::imports::tests::cancellation_racing_completion_does_not_claim_cancellation_was_requested ... ok379test cli::imports::tests::api_submission_captures_generation_without_retrying_uncertain_acceptance ... ok380test config::tests::environment::job_attempt_limit_uses_the_documented_environment_variable ... ok381test cli::imports::tests::missing_and_mismatched_jobs_fail_without_substitution ... ok382test config::tests::environment::example_environment_can_configure_all_required_oidc_and_harvest_fields ... ok383test db::tests::pool_connections_force_custom_plans ... ok384test cli::imports::tests::status_and_wait_distinguish_failed_jobs_from_failed_reads ... ok385test config::tests::environment::partial_oidc_configuration_remains_disabled_without_a_callback ... ok386test cli::imports::tests::archived_errors_publish_without_clobbering_and_preserve_the_prior_file_on_failure ... ok387test importers::harvest::api_source::http::tests::cancelled_backoff_does_not_wait_or_retry ... ok388test importers::harvest::api_source::http::tests::cursor_links_are_authoritative_even_with_null_or_stale_page_numbers ... ok389test cli::tests::default_command_uses_the_same_defaults_and_environment_as_serve ... ok390test config::tests::environment::mail_environment_requires_a_complete_valid_configuration ... ok391test cli::tests::default_command_rejects_invalid_environment_ports ... ok392test importers::harvest::api_source::http::tests::missing_next_cursor_is_not_silently_treated_as_completed ... ok393test importers::harvest::api_source::http::tests::pagination_cycle_detection_survives_restarting_after_every_page ... ok394test importers::harvest::api_source::http::tests::persisted_cursor_resumes_with_a_new_client_and_stays_complete_at_eof ... ok395test importers::harvest::api_source::http::tests::rejected_page_does_not_advance_the_cursor ... ok396test importers::harvest::api_source::http::tests::rejects_pagination_outside_the_authenticated_endpoint ... ok397test importers::harvest::api_source::http::tests::resumed_cursor_rejects_untrusted_destinations_and_invalid_state_before_http ... ok398test cli::imports::tests::ordinary_json_is_bounded_and_invalid_replies_are_not_echoed ... ok399test importers::harvest::api_source::tests::assembled_rows_convert_to_exact_minutes ... ok400test importers::harvest::api_source::tests::assembles_rows_joining_parents_by_id ... ok401test importers::harvest::api_source::tests::hours_render_as_exact_decimals ... ok402test importers::harvest::api_source::tests::http_page_preserves_decimal_values_before_integer_conversion ... ok403test importers::harvest::api_source::tests::json_exponents_expand_exactly_with_bounded_output ... ok404test importers::harvest::api_source::http::tests::http_pages_follow_cursor_and_preserve_headers_and_encoded_filter ... ok405test importers::harvest::api_source::http::tests::http_retries_429_but_never_follows_redirects_or_shortens_long_backoff ... ok406test config::tests::environment::invalid_job_attempt_limits_reject_startup ... ok407test config::tests::environment::secure_cookies_use_the_documented_prefixed_variable ... ok408test importers::harvest::api_source::http::tests::http_rejects_oversized_malformed_and_cyclic_pages ... ok409test importers::harvest::api_source::http::tests::slow_consumer_backpressures_http_and_cancellation_stops_further_pages ... ok410test cli::imports::tests::wait_deadline_caps_a_pending_request_without_cancelling_the_job ... ok411test cli::imports::tests::csv_upload_preserves_bytes_across_stream_chunk_boundaries ... ok412test importers::harvest::credentials::tests::bad_key_length_is_rejected ... ok413test harvest::tests::a_member_sees_only_their_own_time_entries ... ok414test auth::oidc::tests::linking::unverified_email_cannot_link_an_account ... ok415test auth::oidc::tests::linking::existing_subject_wins_over_another_accounts_email ... ok416test importers::harvest::account_switch::tests::change_preserves_terminal_history_and_rejects_stale_confirmation ... ok417test importers::harvest::credentials::tests::decode_hex_rejects_bad_input ... ok418test harvest::tests::a_manager_lists_users_with_their_rates ... ok419test importers::harvest::credentials::tests::encrypt_then_decrypt_round_trips ... ok420test auth::oidc::tests::linking::deactivation_during_first_link_denies_login ... ok421test harvest::tests::a_member_cannot_fetch_a_colleagues_entry ... ok422test importers::harvest::credentials::tests::nonce_makes_ciphertext_nondeterministic ... ok423test harvest::tests::a_manager_sees_the_whole_org ... ok424test harvest::tests::a_member_cannot_list_users ... ok425test importers::harvest::credentials::tests::wrong_key_fails_to_decrypt ... ok426test importers::harvest::csv_source::tests::bad_date_becomes_a_row_error_not_a_rejection ... ok427test importers::harvest::csv_source::tests::conflicting_email_aliases_error_only_the_affected_row ... ok428test importers::harvest::csv_source::tests::csv_records_preserve_multiline_unicode_across_single_byte_reads ... ok429test importers::harvest::csv_source::tests::cursor_beyond_upload_is_rejected_without_parsing_rows ... ok430test importers::harvest::csv_source::tests::cursor_resumes_after_multiline_unicode_and_preserves_error_locations ... ok431test importers::harvest::account_switch::tests::running_jobs_block_change_and_old_execution_never_reaches_http ... ok432test importers::harvest::csv_source::tests::empty_file_is_rejected ... ok433test importers::harvest::csv_source::tests::delivers_a_row_before_reading_the_rest_of_the_file ... ok434test importers::harvest::csv_source::tests::identity_columns_are_required_and_cannot_repeat ... ok435test importers::harvest::csv_source::tests::invalid_utf8_errors_one_record_and_continues ... ok436test importers::harvest::csv_source::tests::missing_required_columns_is_rejected ... ok437test importers::harvest::csv_source::tests::names_stay_separate_from_optional_email ... ok438test importers::harvest::csv_source::tests::parse_bool_accepts_yes_variants ... ok439test importers::harvest::csv_source::tests::parses_rows_case_insensitively ... ok440test harvest::tests::a_member_cannot_filter_to_a_colleague ... ok441test importers::harvest::account_switch::tests::successful_change_preserves_business_rows_and_failure_rolls_back_secrets ... ok442test auth::oidc::tests::linking::simultaneous_logins_with_the_same_subject_are_allowed ... ok443test importers::harvest::account_switch::tests::queued_work_and_provenance_block_without_changing_binding ... ok444test importers::harvest::account_switch::tests::disconnect_and_reconnect_fence_callbacks_but_not_same_account_work ... ok445test importers::harvest::credentials::tests::another_account_cannot_replace_credentials_or_watermarks ... ok446test harvest::tests::harvest_entry_rates_follow_the_cascade_and_frozen_invoice_line ... ok447test auth::oidc::tests::linking::different_subjects_cannot_both_claim_an_unlinked_account ... ok448test importers::harvest::account_switch::tests::a_b_a_keeps_old_callbacks_requests_and_retries_fenced ... ok449test harvest::tests::harvest_entry_rates_respect_selected_project_mode ... ok450test harvest::tests::members_cannot_read_own_project_rates_or_cost_overrides ... ok451test db::tests::reset_empties_the_database_and_reapplies_migrations ... ok452test harvest::tests::harvest_marks_unbilled_non_billable_contexts_consistently ... ok453test importers::harvest::account_switch::tests::queue_acceptance_does_not_wait_for_the_import_session_lock ... ok454test harvest::tests::harvest_effective_minutes_match_sql_for_open_and_frozen_time ... ok455test harvest::pagination_tests::harvest_pagination_catalog_links_preserve_filters_and_break_name_ties ... ok456test importers::harvest::account_switch::tests::retry_and_change_are_serialized ... ok457test importers::harvest::account_switch::tests::competing_callbacks_and_confirmations_have_one_winner ... ok458test cli::imports::tests::small_csv_upload_preserves_immediate_authorization_rejections ... ok459test importers::harvest::account_switch::tests::competing_change_and_submission_cannot_both_succeed ... ok460test importers::harvest::credentials::tests::failed_credential_write_does_not_leave_an_account_binding ... ok461test importers::harvest::engine_tests::api_and_csv_share_the_lock_but_other_organizations_can_import ... ok462test importers::harvest::credentials::tests::migration_binds_existing_connections_without_changing_secrets_or_markers ... ok463test importers::harvest::engine_tests::csv_import_populates_and_is_idempotent ... ok464test importers::harvest::engine_tests::api_sync_adopts_entries_from_a_prior_csv_import ... ok465test importers::harvest::engine_tests::cancellation_rolls_back_rows_and_releases_the_import_session ... ok466test importers::harvest::credentials::tests::unidentified_legacy_provenance_requires_operator_review ... ok467test importers::harvest::credentials::tests::same_account_reconnect_rotates_encryption_without_resetting_watermarks ... ok468test importers::harvest::credentials::tests::connection_changes_work_with_a_single_connection_pool ... ok469test importers::harvest::credentials::tests::concurrent_first_connections_cannot_bind_different_accounts ... ok470test importers::harvest::credentials::tests::disconnect_preserves_identity_and_provenance_for_the_original_account ... ok471test importers::harvest::engine_tests::csv_streaming::measure_csv_durable_100k ... ignored, 100,000-row durable CSV measurement; run explicitly with --release --nocapture472test 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 --nocapture473test importers::harvest::engine_tests::csv_streaming::measure_csv_streaming_100k ... ignored, 100,000-row CSV measurement; run explicitly with --release --nocapture474test 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 --nocapture475test importers::harvest::credentials::tests::connect_and_disconnect_share_import_exclusion_without_blocking_other_orgs ... ok476test importers::harvest::engine_tests::csv_name_only_dry_run_and_duplicate_occurrences_preserve_history ... ok477test importers::harvest::engine_tests::csv_name_fallback_requires_a_full_unique_name_and_never_overrides_email ... ok478test importers::harvest::engine_tests::csv_streaming::cancelling_a_csv_waiting_for_more_bytes_releases_its_session ... ok479test importers::harvest::engine_tests::csv_name_only_matches_one_org_user_and_reimports_without_duplicates ... ok480test importers::harvest::engine_tests::api_connection_checks_work_with_a_single_connection_pool ... ok481test importers::harvest::engine_tests::bad_records_are_reported_and_run_continues ... ok482test importers::harvest::engine_tests::csv_streaming::csv_applies_before_eof_but_transport_failure_rolls_back_everything ... ok483test importers::harvest::engine_tests::csv_malformed_file_is_rejected_with_no_writes ... ok484test importers::harvest::engine_tests::lookup_cache::cold_query_callsite_on_untraced_thread_is_still_captured ... ok485test importers::harvest::engine_tests::csv_streaming::csv_preview_errors_and_repeated_rows_match_commit_and_reimport ... ok486test importers::harvest::engine_tests::concurrent_imports_reject_overlap_without_collapsing_repeated_entries ... ok487test importers::harvest::engine_tests::cancelled_http_waiter_keeps_the_lock_until_its_worker_exits ... ok488test importers::harvest::credentials::authority_tests::denied_first_connection_creates_no_binding_credentials_or_generation ... ok489test importers::harvest::engine_tests::csv_streaming::csv_sql_backpressure_stops_reading_later_input_rows ... ok490test importers::harvest::engine_tests::csv_ambiguous_names_include_inactive_users_but_unique_email_disambiguates ... ok491test importers::harvest::engine_tests::completed_imports_allow_immediate_retries ... ok492test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_preserves_its_completed_batches_for_manual_retry ... FAILED493test importers::harvest::engine_tests::lookup_cache::project_task_cache_distinguishes_both_sides_of_the_link ... ok494test importers::harvest::engine_tests::edited_entry_still_matched_by_provenance ... ok495test importers::harvest::engine_tests::dry_run_writes_nothing_and_matches_commit ... ok496test importers::harvest::engine_tests::full_import_creates_all_levels_with_exact_minutes ... ok497test importers::harvest::oauth::tests::authorize_url_carries_state_and_encoded_redirect ... ok498test importers::harvest::oauth::tests::authorize_url_preserves_query_values_without_injecting_parameters ... ok499test importers::harvest::oauth_callback_tests::account_policy_failures_return_safe_actionable_conflicts ... ok500test importers::harvest::oauth_callback_tests::mismatched_state_is_rejected_without_a_code ... ok501test importers::harvest::oauth_callback_tests::missing_returned_state_is_rejected ... ok502test importers::harvest::oauth_callback_tests::missing_stored_state_is_rejected ... ok503test importers::harvest::oauth_callback_tests::provider_error_is_rejected_before_exchange ... ok504test importers::harvest::oauth_callback_tests::revoked_callback_authority_returns_only_a_safe_forbidden_message ... ok505test importers::harvest::oauth_callback_tests::valid_matching_state_yields_the_code ... ok506test importers::harvest::oauth_callback_tests::valid_state_but_missing_code_is_rejected ... ok507test importers::harvest::report::tests::archive_metadata_cannot_masquerade_as_a_legacy_or_inconsistent_report ... ok508test importers::harvest::report::tests::archived_report_round_trips_without_losing_error_accounting ... ok509test importers::harvest::report::tests::legacy_report_preserves_its_counts_and_error_details ... ok510test importers::harvest::report::tests::report_rejects_unsupported_and_invalid_versions ... ok511test importers::harvest::report::tests::serialized_report_has_a_supported_schema_version ... ok512test importers::harvest::resolve::checkpoint_tests::run_cache_round_trip_preserves_identity_namespaces_and_occurrences ... ok513test importers::harvest::engine_tests::failed_source_releases_the_session_and_rolls_back_partial_rows ... ok514test importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_joins_parser_and_preserves_committed_rows ... ok515test importers::harvest::engine_tests::import_rejects_ambiguous_normalized_email_without_partial_writes ... ok516test importers::harvest::engine_tests::lookup_cache::lookup_index_migration_preserves_existing_ambiguous_identities ... ok517test importers::harvest::engine_tests::lookup_cache::cached_email_and_full_name_do_not_share_a_namespace ... ok518test importers::harvest::engine_tests::csv_streaming::durable_csv_stale_commit_is_fenced_without_a_heartbeat ... ok519test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_cancel_preserves_simulation_for_manual_retry ... FAILED520test importers::harvest::engine_tests::distinct_harvest_ids_with_identical_fields_import_as_two ... ok521test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_resumes_after_a_crash_without_recounting_rows ... FAILED522test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_rejects_a_stale_next_batch ... FAILED523test importers::harvest::engine_tests::csv_streaming::durable_csv_reclaimed_lease_cannot_commit_the_next_batch ... FAILED524test importers::harvest::engine_tests::natural_key_reimport_normalizes_whitespace_and_ascii_case ... ok525test importers::harvest::engine_tests::lookup_cache::new_run_rechecks_previously_cached_user_for_ambiguity ... ok526test importers::harvest::engine_tests::lookup_cache::cached_project_task_still_validates_each_rows_rate ... ok527test harvest::tests::imported_legacy_rates_survive_retry_in_harvest_list_and_detail ... ok528test importers::harvest::engine_tests::csv_streaming::durable_csv_resumes_committed_batches_without_recounting_duplicate_rows ... FAILED529test importers::harvest::engine_tests::submission_barrier_blocks_imported_time_entries ... ok530test importers::harvest::engine_tests::overflowing_decimals_fail_only_their_rows ... ok531test importers::harvest::engine_tests::second_identical_run_creates_nothing ... ok532test importers::harvest::engine_tests::lookup_cache::rolled_back_row_does_not_cache_user_or_project_task ... ok533test importers::harvest::engine_tests::reimporting_identical_csv_rows_is_idempotent ... ok534test importers::harvest::engine_tests::csv_streaming::durable_csv_report_metadata_is_bounded_after_recovery ... ok535test importers::harvest::engine_tests::csv_streaming::durable_csv_waits_for_input_without_an_open_transaction ... FAILED536test harvest::pagination_tests::harvest_own_time_omits_private_project_budget_metadata has been running for over 60 seconds537test harvest::pagination_tests::harvest_pagination_empty_and_out_of_range_pages_keep_the_contract has been running for over 60 seconds538test harvest::pagination_tests::harvest_pagination_malformed_filters_are_client_errors has been running for over 60 seconds539test harvest::pagination_tests::harvest_pagination_rejects_invalid_windows_on_every_collection has been running for over 60 seconds540test harvest::pagination_tests::harvest_pagination_router_preserves_session_and_tenant_guards has been running for over 60 seconds541test harvest::pagination_tests::harvest_pagination_time_entries_keep_the_filtered_set_and_date_ties has been running for over 60 seconds542test harvest::pagination_tests::harvest_project_cost_overrides_require_admin_without_fabricated_fallback has been running for over 60 seconds543test harvest::pagination_tests::harvest_project_progress_permissions_cover_counts_pages_and_details has been running for over 60 seconds544test harvest::pagination_tests::harvest_task_access_filters_counts_and_preserves_rate_free_history has been running for over 60 seconds545test importers::harvest::credentials::authority_tests::connection_changes_hold_authority_until_commit has been running for over 60 seconds546test importers::harvest::credentials::authority_tests::connection_changes_recheck_authority_after_actor_only_wait has been running for over 60 seconds547test importers::harvest::credentials::authority_tests::connection_changes_recheck_authority_after_organization_wait has been running for over 60 seconds548test importers::harvest::credentials::authority_tests::connection_changes_require_current_tenant_bound_administrator has been running for over 60 seconds549test importers::harvest::credentials::authority_tests::disconnected_noop_still_requires_authority has been running for over 60 seconds550test importers::harvest::credentials::authority_tests::failed_connection_changes_roll_back_and_release_authority_and_reservation has been running for over 60 seconds551test importers::harvest::streaming::tests::api_planning_policy_ends_with_the_transaction ... ok552test importers::harvest::sync_tests::api_rejects_ambiguous_email_without_advancing_watermark ... ok553test importers::harvest::engine_tests::two_identical_csv_rows_import_as_two_entries ... ok554test importers::harvest::engine_tests::watermark_advances_only_on_commit ... ok555test importers::harvest::resolve::preview::tests::rejects_foreign_parent_snapshots_before_restoring_any_rows ... ok556test importers::harvest::resolve::preview::tests::checkpoint_restores_known_task_currency_and_keeps_old_currency_unknown ... ok557test importers::harvest::credentials::tests::completed_credential_changes_allow_immediate_retries has been running for over 60 seconds558test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_after_a_confirmed_parent_batch ... ok559test importers::harvest::engine_tests::large_run_reuses_parents_and_reconciles_totals ... ok560test importers::harvest::sync_tests::checkpoints::durable_api_resumes_after_a_confirmed_parent_batch ... ok561test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_crosses_batch_boundaries_without_committing_domain_data ... ok562test importers::harvest::engine_tests::csv_streaming::durable_csv_discards_incomplete_preparation_and_resumes_its_checkpoint ... ok563test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_catalog_download ... ok564test importers::harvest::sync_tests::checkpoints::failed_api_commit_publishes_its_last_confirmed_page_report ... ok565test importers::harvest::sync_tests::api_requires_email_even_when_full_name_matches ... ok566test importers::harvest::sync_tests::checkpoints::durable_api_preview_finalization_retry_does_not_repeat_completed_downloads ... ok567test importers::harvest::sync_tests::checkpoints::durable_api_finalization_retry_does_not_repeat_completed_downloads ... ok568test importers::harvest::sync_tests::checkpoints::durable_api_cancellation_preserves_confirmed_pages_for_manual_retry ... ok569test importers::harvest::sync_tests::checkpoints::durable_api_resume_remembers_an_earlier_missing_timestamp ... ok570test importers::harvest::sync_tests::checkpoints::durable_api_resumes_committed_pages_and_preserves_the_high_watermark ... ok571test importers::harvest::sync_tests::checkpoints::durable_api_reclaimed_worker_cannot_commit_its_next_page ... ok572test importers::harvest::sync_tests::scale::api_100k_commit_and_reimport ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture573test importers::harvest::sync_tests::scale::api_100k_dry_run ... ignored, 100,000-entry scale measurement; run explicitly with --release --nocapture574test importers::harvest::sync_tests::scale::api_durable_100k_commit_and_reimport ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture575test importers::harvest::sync_tests::scale::api_durable_100k_dry_run ... ignored, 100,000-entry durable API measurement; run explicitly with --release --nocapture576test importers::harvest::sync_tests::checkpoints::durable_api_preview_resumes_pages_without_publishing_domain_data ... ok577test importers::harvest::sync_tests::checkpoints::durable_api_preview_cancellation_preserves_confirmed_pages_for_manual_retry ... ok578test importers::harvest::streaming::durable::preview::tests::restoration_omits_unneeded_virtual_entries ... ok579test importers::harvest::sync_tests::checkpoints::durable_api_preview_resume_preserves_row_errors ... ok580test harvest::pagination_tests::harvest_task_access_filters_counts_and_preserves_rate_free_history ... ok581test importers::harvest::credentials::tests::completed_credential_changes_allow_immediate_retries ... ok582test importers::harvest::sync_tests::checkpoints::durable_api_resume_keeps_earlier_errors_and_does_not_advance_watermark ... ok583test importers::harvest::sync_tests::checkpoints::failed_api_preview_publishes_its_last_confirmed_page_report ... ok584test importers::harvest::sync_tests::checkpoints::durable_api_resumes_a_partially_downloaded_catalog ... ok585test importers::harvest::sync_tests::checkpoints::durable_api_preview_reclaimed_worker_cannot_checkpoint_its_next_page ... FAILED586test importers::harvest::engine_tests::csv_streaming::csv_measurement_recovers_a_complete_batch_without_recounting has been running for over 60 seconds587test importers::harvest::sync_tests::disconnect_and_reconnect_preserves_imported_records_and_exact_identity ... ok588test importers::harvest::sync_tests::watermark_never_passes_the_start_of_capture ... ok589test importers::harvest::sync_tests::checkpoints::durable_api_preview_preserves_adoptions_and_repeated_ids_across_recovery ... ok590test importers::harvest::sync_tests::watermark_write_failure_rolls_back_imported_data ... ok591test importers::harvest::sync_tests::empty_sync_does_not_invent_a_watermark ... ok592test importers::harvest::sync_tests::failed_rows_are_available_to_the_next_incremental_retry ... ok593test importers::harvest::sync_tests::parent_only_dry_run_previews_without_persisting_catalog ... ok594test importers::harvest::sync_tests::dry_run_leaves_data_provenance_and_watermark_unchanged ... ok595test importers::harvest::sync_tests::exact_api_decimals_survive_preview_commit_and_reimport ... ok596test importers::harvest::sync_tests::out_of_range_api_decimals_error_per_row_and_leave_retry_watermark ... ok597test importers::harvest::sync_tests::parent_catalog_preserves_metadata_and_counts_each_entity_once ... ok598test importers::harvest::sync_tests::failed_client_propagates_to_project_and_entry_without_placeholder_records ... ok599test importers::harvest::sync_tests::missing_source_timestamp_keeps_the_previous_watermark ... ok600test init::tests::init_refuses_when_an_organization_exists ... ok601test importers::harvest::sync_tests::parent_only_api_import_creates_catalog_and_reimport_skips_it ... ok602test importers::harvest::sync_tests::successful_sync_only_marks_the_incrementally_fetched_entity ... ok603test importers::harvest::engine_tests::lookup_cache::repeated_rows_resolve_each_user_and_project_task_once ... ok604test importers::harvest::sync_tests::missing_client_fallback_and_failed_project_savepoints_do_not_poison_cache ... ok605test importers::harvest::sync_tests::paging::durable_api_stale_commit_cannot_advance_data_or_watermark ... ok606test importers::harvest::sync_tests::invalid_parent_blocks_dependent_time_but_other_catalog_records_survive ... ok607test importers::harvest::sync_tests::paging::later_download_failure_rolls_back_parents_rows_and_watermark ... ok608test importers::harvest::sync_tests::paging::durable_api_cancel_waits_for_the_producer_before_acknowledging ... ok609test importers::harvest::sync_tests::paging::cancelled_page_consumer_retains_lock_until_worker_exits_and_rolls_back ... ok610test init::tests::init_creates_one_org_and_one_admin_and_nothing_else ... ok611test jobs::tests::claims_are_atomic_and_expired_leases_recover ... ok612test importers::harvest::credentials::authority_tests::failed_connection_changes_roll_back_and_release_authority_and_reservation ... ok613test importers::harvest::sync_tests::refreshed_tokens_survive_a_dry_run_rollback_in_the_same_import_session ... ok614test jobs::tests::cancellation_and_retry_are_scoped_and_idempotent ... ok615test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_matches_existing_and_new_rows_with_one_connection has been running for over 60 seconds616test importers::harvest::engine_tests::csv_streaming::csv_measurement_recovers_a_complete_batch_without_recounting ... ok617test importers::harvest::sync_tests::paging::invalid_and_missing_timestamp_rows_cross_page_boundaries_without_advancing ... ok618test jobs::tests::history_paginates_tied_timestamps_and_rejects_foreign_cursors ... ok619test importers::harvest::sync_tests::scale::http_pages_preview_commit_and_reimport ... ok620test jobs::report::stream_tests::download_readers_retain_authority_through_their_bounded_reads ... ok621test jobs::tests::concurrent_csv_resubmission_preserves_identity_after_upload_cleanup ... ok622test importers::harvest::credentials::authority_tests::disconnected_noop_still_requires_authority ... ok623test jobs::tests::outbox_delivery_is_idempotent ... ok624test importers::harvest::sync_tests::scale::durable_measurement_finishes_from_its_eof_checkpoint ... ok625test jobs::tests::outbox_rollback_does_not_publish_an_event ... ok626test jobs::tests::payload_kind_is_stable_and_round_trips ... ok627test jobs::tests::payload_versions_preserve_legacy_jobs_and_reject_unknown_versions ... ok628test harvest::pagination_tests::harvest_pagination_malformed_filters_are_client_errors ... ok629test jobs::tests::retry_snapshot_does_not_guess_unknown_payloads_or_sources ... ok630test importers::harvest::engine_tests::csv_streaming::durable_csv_preview_matches_existing_and_new_rows_with_one_connection ... ok631test jobs::tests::shutdown_deadline_drops_and_joins_in_flight_work ... ok632test jobs::tests::shutdown_waits_for_in_flight_work ... ok633test jobs::tests::retry_snapshot_matches_status_and_list_without_exposing_payload ... ok634test jobs::report::stream_tests::download_boundaries_recheck_after_organization_and_actor_waits ... ok635test jobs::report::tests::report_fragments_survive_until_the_owning_job_expires ... ok636test importers::harvest::credentials::authority_tests::connection_changes_recheck_authority_after_organization_wait ... ok637test jobs::tests::synthetic_job_uses_the_same_registered_envelope ... ok638test jobs::tests::api_job_keeps_its_policy_across_duplicate_enqueue_and_manual_retry ... ok639test importers::harvest::sync_tests::scale::durable_api_report_preserves_overflow_errors_after_recovery ... ok640test models::project_creation::tests::unauthorized_catalog_cost_is_absent_from_serialized_options ... ok641test models::project_creation::tests::draft_roundtrip_preserves_incomplete_input_without_demo_data ... ok642test models::project_creation::tests::unknown_draft_fields_are_rejected ... ok643test notifications::tests::cancelling_delivery_kills_the_active_sender ... ok644test jobs::tests::upload_organization_must_match_its_job ... ok645test jobs::tests::csv_job_persists_its_policy_with_the_upload ... ok646test notifications::tests::disabled_mail_worker_does_not_claim_pending_notifications ... ok647test notifications::tests::mail_configuration_is_disabled_by_default_and_rejects_partial_values ... ok648test notifications::tests::mail_configuration_requires_an_executable_file_and_safe_sender ... ok649test notifications::tests::failed_email_retries_same_identity_and_eventually_stops ... ok650test notifications::tests::recipient_injection_is_rejected_before_starting_a_process ... ok651test notifications::tests::rendered_mail_bounds_body_lines_for_long_unicode_and_control_names ... ok652test notifications::tests::acknowledged_email_is_never_claimed_again ... ok653test notifications::tests::foreign_notification_payload_is_terminal_and_never_sent ... ok654test notifications::tests::sendmail_failure_does_not_expose_program_output ... ok655test notifications::tests::sendmail_receives_fixed_arguments_and_stable_message_identity ... ok656test jobs::tests::expired_lease_cannot_renew_or_commit_using_an_old_transaction_timestamp ... ok657test notifications::tests::sendmail_timeout_kills_and_reaps_the_child ... ok658test notifications::tests::verbose_sender_output_is_discarded_without_blocking_delivery ... ok659test pages::clients::filters::tests::clearing_query_preserves_selected_currency_and_lifecycle ... ok660test pages::clients::filters::tests::lifecycle_counts_share_query_and_currency_filters ... ok661test pages::clients::filters::tests::name_search_ignores_case_and_surrounding_whitespace ... ok662test pages::clients::filters::tests::preferred_or_visible_project_currency_matches_but_query_still_applies ... ok663test pages::clients::form::tests::absent_billing_authority_never_produces_an_edit_payload ... ok664test pages::clients::form::tests::ambiguous_creation_errors_require_explicit_recovery ... ok665test pages::clients::form::tests::clearing_a_rate_is_explicit_and_needs_no_currency_confirmation ... ok666test pages::clients::form::tests::invalid_fields_are_not_rewritten_by_validation ... ok667test pages::clients::form::tests::rate_replacement_requires_confirmation_in_the_current_currency ... ok668test pages::clients::form::tests::untouched_fields_keep_zero_rate_and_original_snapshot ... ok669test pages::importers::presentation::tests::interrupted_report_is_partial_regardless_of_retry_prerequisites ... ok670test pages::importers::presentation::tests::no_selection_does_not_claim_no_import_history ... ok671test pages::importers::presentation::tests::source_labels_do_not_guess_unknown_importers ... ok672test pages::importers::presentation::tests::states_and_phases_have_readable_unknown_fallbacks ... ok673test pages::importers::presentation::tests::summaries_distinguish_zero_skipped_and_mixed_outcomes ... ok674test pages::invoices::defaults_form::tests::invoice_fields_bound_metadata_by_characters_and_reject_nul ... ok675test pages::invoices::defaults_form::tests::invoice_fields_preserve_exact_percentages_and_custom_terms ... ok676test pages::invoices::defaults_form::tests::invoice_fields_preserve_receipt_terms_and_empty_optional_percentages ... ok677test notifications::tests::mail_worker_delivers_only_its_kind_and_drains_cleanly ... ok678test pages::invoices::defaults_form::tests::invoice_fields_reject_invalid_percentages_terms_and_second_tax ... ok679test pages::invoices::preparation::fees::tests::fee_inputs_require_exact_amounts_and_an_explicit_positive_charge ... ok680test pages::invoices::preparation::fees::tests::refresh_preserves_missing_or_relabelled_edits_until_explicit_removal ... ok681test pages::invoices::preparation::fees::tests::refresh_keeps_raw_edits_and_does_not_select_new_sources ... ok682test pages::invoices::preparation::tests::invoice_context_selects_only_the_exact_available_client ... ok683test pages::invoices::preparation::tests::unavailable_or_malformed_invoice_context_never_uses_the_first_client ... ok684test pages::new_project::basics::tests::a_batch_that_would_exceed_the_tag_limit_is_rejected ... ok685test pages::invoices::preparation::tests::invoice_review_requires_matching_sources_and_valid_values ... ok686test pages::new_project::basics::tests::a_full_tag_list_still_accepts_a_duplicate ... ok687test pages::new_project::basics::tests::overlong_tags_are_rejected_without_truncation ... ok688test pages::new_project::basics::tests::tag_length_counts_characters_instead_of_bytes ... ok689test pages::new_project::basics::tests::tags_trim_and_deduplicate_without_changing_existing_spelling ... ok690test pages::new_project::draft::tests::a_mismatched_acknowledgement_does_not_lose_pending_input ... ok691test pages::new_project::draft::tests::a_retry_keeps_the_unacknowledged_payload_and_revision ... ok692test pages::new_project::draft::tests::a_validation_rejection_allows_corrected_input_at_the_same_revision ... ok693test pages::new_project::draft::tests::an_empty_form_is_not_reported_as_saved ... ok694test pages::new_project::draft::tests::any_saved_draft_wins_over_context_including_empty_or_matching_client ... ok695test pages::new_project::draft::tests::context_prefills_only_a_new_form_without_fixing_its_currency ... ok696test pages::new_project::draft::tests::resuming_preserves_the_server_identity_and_incomplete_fields ... ok697test pages::new_project::team::tests::adding_everyone_deduplicates_without_replacing_project_overrides ... ok698test pages::new_project::team::tests::exceeding_the_team_limit_does_not_partially_add_people ... ok699test pages::new_project::team::tests::removing_a_member_keeps_an_empty_restricted_task_restricted ... ok700test pages::new_project::tests::a_rejected_creation_can_be_edited_but_an_uncertain_commit_must_be_retried ... ok701test pages::new_project::billing::tests::budget_errors_target_a_control_that_can_be_corrected ... ok702test pages::new_project::tests::only_known_validation_fields_can_target_a_control ... ok703test pages::projects::budget_display_tests::configured_scopes_sum_without_hiding_an_individual_overrun ... ok704test pages::projects::budget_display_tests::tag_filter_matches_identity_without_duplicates_or_name_collisions ... ok705test pages::projects::budget_display_tests::unallocated_zero_and_overflow_budgets_are_not_conflated ... ok706test pages::reports::tests::cost_total_uses_organization_currency_across_billing_currencies ... ok707test pages::reports::tests::mixed_currencies_are_not_added_even_when_the_numbers_would_overflow ... ok708test pages::reports::tests::monetary_total_overflow_is_visible_instead_of_panicking ... ok709test pages::reports::tests::redacted_costs_do_not_become_zero_or_partial_totals ... ok710test pages::reports::tests::single_currency_totals_are_formatted_and_empty_reports_have_no_amount ... ok711test pages::timesheet::tests::cal_span_day_shows_only_the_anchor_column ... ok712test pages::timesheet::tests::cal_span_defaults_to_week ... ok713test pages::timesheet::tests::cal_span_unknown_falls_back_to_week ... ok714test pages::projects::budget_display_tests::display_preserves_units_sign_and_large_integer_values ... ok715test pages::timesheet::tests::cal_span_url_roundtrips ... ok716test pages::timesheet::tests::cal_span_week_shows_all_seven_days ... ok717test pages::timesheet::tests::cal_span_work_week_preserves_date_order_across_weekends ... ok718test pages::timesheet::tests::cal_span_work_week_skips_sunday_when_it_is_the_first_column ... ok719test pages::timesheet::tests::day_col_class_marks_today ... ok720test pages::timesheet::tests::cal_span_work_week_shows_monday_to_friday ... ok721test pages::timesheet::tests::day_col_class_plain_weekday ... ok722test pages::timesheet::tests::day_col_class_marks_weekend ... ok723test pages::timesheet::tests::day_col_class_today_wins_over_weekend ... ok724test pages::timesheet::tests::invalid_duration_cannot_start_a_timer_save_or_clear_a_cell ... ok725test pages::timesheet::tests::only_a_blank_duration_can_start_an_eligible_timer ... ok726test pages::timesheet::tests::timed_lanes_terminates_on_a_zero_length_entry ... ok727test pages::timesheet::tests::timed_lanes_still_widens_overlapping_entries ... ok728test pages::timesheet::tests::today_offset_is_none_after_the_week ... ok729test pages::timesheet::tests::today_offset_is_six_on_the_sunday ... ok730test pages::timesheet::tests::today_offset_is_none_before_the_week ... ok731test pages::timesheet::tests::today_offset_is_zero_on_the_monday ... ok732test pages::timesheet::tests::value_cell_class_empty_wins_over_today ... ok733test pages::timesheet::tests::value_cell_class_marks_today_when_nonzero ... ok734test pages::timesheet::tests::weekend_style_follows_the_date_not_the_column_offset ... ok735test pages::timesheet::tests::weekly_duration_edit_preserves_nine_am_start_notes_and_billability ... ok736test pages::timesheet::tests::weekly_new_entries_are_untimed_and_explicit_clears_still_work ... ok737test notifications::tests::stale_email_lease_cannot_start_delivery ... ok738test notifications::tests::revoked_recipient_does_not_receive_a_pending_email ... ok739test jobs::outbox::tests::acknowledges_confirmed_delivery_without_reclaiming_it has been running for over 60 seconds740test plugin::database::tests::application_database_owner_is_not_a_plugin_identity ... ok741test jobs::tests::invalid_stored_payloads_reach_a_terminal_error ... ok742test notifications::tests::retry_can_recover_without_changing_message_identity ... ok743test jobs::outbox::tests::invalid_payload_is_not_delivered_and_does_not_leak_into_errors has been running for over 60 seconds744test plugin::database::tests::dedicated_reader_is_accepted_but_new_write_grants_are_rejected ... ok745test jobs::outbox::tests::plugin_failure_retries_with_the_same_event_identity has been running for over 60 seconds746test plugin::database::tests::project_configuration_is_private_even_when_plugin_grants_are_misconfigured ... ok747test plugin::event::tests::active_transition_fires_only_on_a_real_flip ... ok748test plugin::event::tests::budget_and_timer_events_serialize ... ok749test plugin::event::tests::new_events_have_stable_hook_names ... ok750test plugin::event::tests::project_membership_payload_excludes_private_configuration ... ok751test plugin::event::tests::role_change_event_carries_previous_role ... ok752test plugin::event::tests::submission_event_serializes_payload ... ok753test plugin::event::tests::us2_events_have_stable_hook_names ... ok754test plugin::database::tests::reader_cannot_execute_security_definer_functions ... ok755test plugin::database::tests::reader_accepts_optional_first_party_rounding_helper ... ok756test plugin::host::tests::config_lookup::an_unset_key_is_none ... ok757test plugin::host::tests::config_lookup::a_set_key_is_returned ... ok758test plugin::database::tests::reader_rejects_unapproved_invoker_functions ... ok759test plugin::database::tests::reader_cannot_have_access_to_credentials ... ok760test plugin::host::tests::database_queries_preserve_parameters_and_rollback_session_settings ... ok761test plugin::host::tests::database_tests::unconfigured_sql_never_falls_back_to_application_state ... ok762test jobs::outbox::tests::plugin_failure_retries_with_the_same_event_identity ... ok763test plugin::host::tests::response_shaping::error_json_wraps_the_message ... ok764test plugin::host::tests::response_shaping::http_body_accepts_the_size_limit_and_rejects_larger_responses ... ok765test plugin::host::tests::response_shaping::http_response_carries_status_and_body ... ok766test plugin::host::tests::response_shaping::invalid_http_utf8_is_an_error_not_an_empty_success ... ok767test plugin::host::tests::statement_is_read_only::a_cte_select_is_allowed ... ok768test plugin::host::tests::statement_is_read_only::a_second_statement_is_rejected ... ok769test plugin::host::tests::statement_is_read_only::a_single_trailing_semicolon_is_allowed ... ok770test plugin::host::tests::statement_is_read_only::a_write_hidden_behind_a_comment_is_rejected ... ok771test plugin::host::tests::statement_is_read_only::plain_select_is_allowed ... ok772test plugin::host::tests::statement_is_read_only::writes_are_rejected ... ok773test plugin::host::tests::wrap_select::strips_a_trailing_semicolon_before_wrapping ... ok774test plugin::host::tests::wrap_select::wraps_as_a_bounded_row_query ... ok775test plugin::manifest::tests::accepts_all_published_business_events ... ok776test plugin::manifest::tests::config_defaults_to_empty_when_absent ... ok777test plugin::manifest::tests::parse_valid_manifest ... ok778test plugin::manifest::tests::parses_optional_config_table ... ok779test plugin::manifest::tests::reject_empty_hooks ... ok780test plugin::manifest::tests::reject_unknown_hook ... ok781test plugin::database::tests::reader_cannot_switch_into_another_role ... ok782test plugin::host::tests::database_tests::query_discards_session_advisory_locks ... ok783test jobs::outbox::tests::worker_delivers_available_events_and_stops_cleanly has been running for over 60 seconds784test plugin::host::tests::database_tests::query_results_are_bounded_without_silent_truncation ... ok785test jobs::report::stream_tests::download_denies_revocation_before_first_page_and_inline_tail has been running for over 60 seconds786test jobs::report::stream_tests::download_keeps_its_snapshot_when_later_progress_archives_the_inline_tail has been running for over 60 seconds787test jobs::report::stream_tests::download_preparation_denies_revoked_authority has been running for over 60 seconds788test jobs::report::stream_tests::download_preparation_is_tenant_bound_and_releases_failed_transactions has been running for over 60 seconds789test plugin::host::tests::database_tests::select_cannot_write_or_gain_application_privileges ... ok790test jobs::report::stream_tests::download_reads_only_when_consumed_and_releases_its_connection has been running for over 60 seconds791test jobs::report::stream_tests::download_rechecks_after_buffered_pages_and_before_the_captured_tail has been running for over 60 seconds792test jobs::report::stream_tests::download_reports_missing_fragments_after_its_buffered_page has been running for over 60 seconds793test jobs::report::tests::legacy_upgrade_preserves_job_states_and_existing_archives has been running for over 60 seconds794test jobs::report::tests::upgrading_legacy_reports_preserves_errors_and_fences_old_attempts has been running for over 60 seconds795test jobs::tests::cancellation_survives_a_crash_before_the_worker_acknowledges has been running for over 60 seconds796test jobs::tests::cancellation_waits_for_the_claimed_execution_before_allowing_retry has been running for over 60 seconds797test jobs::tests::cleanup_retains_retryable_uploads_and_deletes_expired_jobs has been running for over 60 seconds798test jobs::tests::import_adapters_reject_a_lease_from_another_organization ... ok799test jobs::tests::expired_final_attempt_fails_without_claiming_again has been running for over 60 seconds800801running 1 test802test plugin::host::tests::a_query_cannot_disable_its_own_deadline ... ok803test jobs::tests::outbox_stale_claims_cannot_acknowledge_or_reschedule_delivery ... ok804test jobs::tests::failed_csv_commit_retains_confirmed_report_through_history_and_retry has been running for over 60 seconds805test plugin::host::tests::database_tests::wasm_host_uses_the_restricted_connection_on_a_current_thread_runtime ... ok806test plugin::registry::tests::isolation::cancelling_a_waiter_keeps_capacity_reserved_until_the_host_call_exits ... ok807test jobs::report::stream_tests::download_preparation_is_tenant_bound_and_releases_failed_transactions ... ok808test plugin::registry::tests::initialization::instruction_budget_is_replenished_for_each_call ... ok809test plugin::registry::tests::isolation::confirmed_dispatch_returns_overload_for_retry ... ok810test plugin::registry::tests::isolation::confirmed_dispatch_waits_for_the_plugin_to_finish ... ok811test plugin::registry::tests::isolation::different_plugins_share_the_running_call_limit ... ok812test plugin::registry::tests::isolation::events_execute_outside_the_async_worker ... ok813test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok814815test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 874 filtered out; finished in 3.67s816817818running 1 test819test plugin::registry::tests::isolation::confirmed_dispatch_returns_plugin_failure_for_retry ... ok820test plugin::registry::tests::isolation::loaded_plugins_cannot_grow_memory_past_the_limit ... ok821test plugin::registry::tests::isolation::loaded_plugins_cannot_start_with_excessive_memory ... ok822test plugin::registry::tests::isolation::oversized_event_payloads_are_not_queued ... ok823test plugin::registry::tests::isolation::pending_capacity_rejects_new_work_without_spawning_tasks ... ok824test plugin::registry::tests::isolation::widgets_execute_outside_the_async_worker ... ok825test plugin::registry::tests::load_empty_directory ... ok826test plugin::registry::tests::load_nonexistent_directory ... ok827test plugin::registry::tests::isolation::oversized_wasm_output_is_rejected_before_copying_it ... ok828test harvest::pagination_tests::harvest_project_cost_overrides_require_admin_without_fabricated_fallback ... ok829test reports::bounded::tests::cancelled_export_keeps_its_slot_until_the_renderer_exits ... ok830test reports::bounded::tests::export_admission_stays_reserved_until_the_body_is_dropped ... ok831test reports::bounded::tests::export_rendering_runs_off_the_async_worker ... ok832test reports::bounded::tests::output_budget_checks_writes_and_seeks_without_truncation ... ok833test render::tests::invoice_template_formats_large_minor_units_exactly ... ok834test reports::bounded::tests::rendered_output_limit_rejects_oversized_files_and_releases_admission ... ok835test reports::bounded::tests::renderer_errors_and_panics_release_admission ... ok836test reports::bounded::tests::timed_out_export_keeps_its_slot_until_the_renderer_exits ... ok837test plugin::registry::tests::load_test_plugins ... ok838test jobs::tests::failed_csv_preview_retains_confirmed_report_through_history_and_retry has been running for over 60 seconds839test plugin::registry::tests::isolation::confirmed_dispatch_attempts_other_plugins_after_one_fails ... ok840test jobs::tests::final_failure_is_retained_and_manual_retry_gets_a_new_budget has been running for over 60 seconds841test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok842843test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 874 filtered out; finished in 3.66s844845test jobs::tests::invalid_policy_cannot_enqueue_a_job_or_upload has been running for over 60 seconds846847running 1 test848test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok849850test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 874 filtered out; finished in 0.57s851852853running 1 test854test plugin::registry::tests::dispatch_event_with_no_subscribers ... ok855test plugin::registry::tests::dispatch_to_echo_plugin_succeeds ... ok856test plugin::registry::tests::dispatch_invoice_sent_to_echo_plugin ... ok857test plugin::registry::tests::collect_widgets_from_echo_plugin ... ok858test plugin::registry::tests::failing_plugin_does_not_block_caller ... ok859test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok860861test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 874 filtered out; finished in 1.42s862863test plugin::registry::tests::initialization::guest_initializers_have_an_engine_instruction_budget ... ok864test reports::limits::tests::measure_bounded_export_limits ... ignored, manual release export measurement; set HORAE_EXPORT_PROBE_DIR for artifacts865test jobs::tests::expired_final_attempt_fails_without_claiming_again ... ok866test jobs::tests::missing_configuration_records_error_and_requeues has been running for over 60 seconds867test plugin::registry::tests::isolation::a_wasm_timeout_releases_the_worker_and_instance ... ok868test jobs::tests::missing_csv_upload_records_error_and_requeues has been running for over 60 seconds869test jobs::tests::outbox_claims_only_the_requested_event_kind has been running for over 60 seconds870test reports::privacy_tests::project_downloads_follow_progress_visibility ... ok871test jobs::tests::outbox_same_kind_consumers_cannot_claim_the_same_lease has been running for over 60 seconds872test reports::limits::tests::tag_filter_applies_before_xlsx_size_checks_and_rendering ... ok873test jobs::tests::reclaimed_attempt_rejects_stale_results_even_with_the_same_worker_name has been running for over 60 seconds874test reports::limits::tests::fee_exports_preserve_absent_quantities_and_render_a_real_pdf ... ok875test reports::streaming::database_tests::measure_streaming_csv_export ... ignored, Manual release measurement of a 100,000-row CSV download876test jobs::tests::stopped_worker_leaves_queued_jobs_unclaimed has been running for over 60 seconds877test jobs::tests::submission_key_cannot_change_api_mode_or_scope has been running for over 60 seconds878test jobs::tests::submission_key_cannot_change_csv_bytes_or_mode has been running for over 60 seconds879test jobs::tests::synthetic_job_executes_through_claim_and_completion has been running for over 60 seconds880test reports::limits::tests::export_queries_are_read_only_and_have_a_database_deadline ... ok881test reports::limits::tests::invoice_exports_show_saved_adjustments_and_exact_large_amounts ... ok882test jobs::report::stream_tests::download_keeps_its_snapshot_when_later_progress_archives_the_inline_tail ... ok883test reports::streaming::database_tests::dropping_streamed_timesheet_closes_its_database_connection ... ok884test reports::limits::tests::bounded_entries_enforce_the_row_limit_after_all_filters has been running for over 60 seconds885test reports::limits::tests::bounded_entries_reject_large_fields_and_combined_text has been running for over 60 seconds886test reports::limits::tests::bounded_exports_preserve_real_workbooks_and_deterministic_pdf has been running for over 60 seconds887test reports::limits::tests::bounded_invoice_limits_include_branding_and_preserve_tenant_scope has been running for over 60 seconds888test reports::limits::tests::bounded_projects_filter_archives_before_size_checks has been running for over 60 seconds889test reports::limits::tests::export_size_checks_and_reads_share_a_repeatable_read_snapshot has been running for over 60 seconds890test reports::privacy_tests::unauthorized_project_text_does_not_affect_export_size_limits has been running for over 60 seconds891test jobs::tests::cancellation_waits_for_the_claimed_execution_before_allowing_retry ... ok892test reports::streaming::database_tests::a_real_database_error_interrupts_the_csv_body has been running for over 60 seconds893test reports::limits::tests::bounded_invoice_limits_include_branding_and_preserve_tenant_scope ... ok894test reports::streaming::database_tests::a_real_database_error_interrupts_the_csv_body ... ok895test reports::streaming::tests::completed_csv_keeps_admission_until_body_drop ... ok896test reports::streaming::tests::csv_backpressure_and_body_drop_bound_and_cancel_source_reads ... ok897test reports::streaming::tests::csv_does_not_truncate_a_quoted_unicode_record_larger_than_a_chunk ... ok898test reports::streaming::tests::csv_emits_a_chunk_before_the_source_finishes ... ok899test reports::streaming::tests::csv_failure_or_panic_after_a_chunk_is_not_successful_eof ... ok900test reports::streaming::tests::csv_startup_errors_are_http_errors_and_release_admission ... ok901test reports::streaming::tests::csv_timeout_interrupts_an_already_started_body ... ok902test reports::streaming::tests::dropping_csv_during_startup_cancels_the_producer ... ok903test route::tests::client_detail_preserves_identity_and_highlights_only_clients ... ok904test route::tests::client_workflow_paths_preserve_context_and_navigation_section ... ok905test route::tests::edit_project_preserves_identity_and_highlights_only_projects ... ok906test route::tests::malformed_context_reaches_the_workflow_for_validation_after_recovery ... ok907test route::tests::new_project_is_static_and_highlights_only_projects ... ok908test jobs::tests::submission_key_cannot_change_api_mode_or_scope ... ok909test reports::streaming::database_tests::streamed_fee_invoice_has_no_fabricated_hours_or_hourly_rate has been running for over 60 seconds910test jobs::outbox::tests::worker_delivers_available_events_and_stops_cleanly ... ok911test reports::streaming::database_tests::streamed_invoice_metadata_and_lines_share_one_snapshot has been running for over 60 seconds912test jobs::tests::failed_csv_commit_retains_confirmed_report_through_history_and_retry ... ok913test reports::streaming::database_tests::streamed_invoice_uses_stored_exact_cents_and_tenant_scoped_metadata has been running for over 60 seconds914test reports::streaming::database_tests::streamed_timesheet_exceeds_xlsx_row_limit_without_one_large_body_chunk ... ok915test reports::streaming::database_tests::streamed_projects_preserve_scope_budget_and_tenant_isolation has been running for over 60 seconds916test jobs::report::stream_tests::download_preparation_denies_revoked_authority ... ok917test reports::streaming::database_tests::streamed_tag_filter_excludes_other_projects_without_duplicating_rows has been running for over 60 seconds918test reports::limits::tests::bounded_entries_reject_large_fields_and_combined_text ... ok919test reports::streaming::database_tests::streamed_fee_invoice_has_no_fabricated_hours_or_hourly_rate ... ok920test reports::streaming::database_tests::streamed_tag_filter_excludes_other_projects_without_duplicating_rows ... ok921test reports::streaming::database_tests::streamed_timesheet_preserves_csv_escaping_frozen_zero_and_all_filters ... ok922test server_fns::approvals::submission_tests::cancelling_a_submission_releases_its_write_barrier ... ok923test reports::streaming::database_tests::streamed_invoice_metadata_and_lines_share_one_snapshot ... ok924test seed::tests::concurrent_init_and_seed_cannot_mix_organizations has been running for over 60 seconds925test seed::tests::concurrent_initializers_cannot_create_two_organizations has been running for over 60 seconds926test server_fns::approvals::submission_tests::submission_accepts_the_organizations_sunday_start ... ok927test seed::tests::concurrent_seed_runs_create_only_one_demo has been running for over 60 seconds928test jobs::tests::submission_key_cannot_change_csv_bytes_or_mode ... ok929test server_fns::approvals::submission_tests::submission_barrier_allows_shared_writers_for_the_same_user ... ok930test server_fns::approvals::submission_tests::submission_uses_one_pool_connection ... ok931test server_fns::approvals::submission_tests::submission_rejects_a_start_that_is_not_the_organizations_week_start ... ok932test server_fns::approvals::submission_tests::submission_freezes_the_minutes_after_a_competing_edit ... ok933test jobs::outbox::tests::acknowledges_confirmed_delivery_without_reclaiming_it ... ok934test server_fns::approvals::submission_tests::submission_does_not_wait_for_another_users_writer ... ok935test server_fns::approvals::tests::ignores_stopped_and_out_of_week_timers ... ok936test server_fns::approvals::submission_tests::submission_waits_for_a_new_timer_before_checking_the_week ... ok937test server_fns::approvals::tests::sees_a_running_timer_inside_the_week ... ok938test server_fns::budget_tests::budget_notification_schema_enforces_tenants_and_no_public_access ... ok939test server_fns::budget_tests::concurrent_budget_checks_have_one_band_claimant ... ok940test server_fns::budget_tests::configured_alert_and_outbox_roll_back_together ... ok941test server_fns::budget_tests::configured_alert_recipients_are_active_same_org_managers_and_project_leads ... ok942test server_fns::budget_tests::configured_alerts_deduplicate_concurrent_checks_and_recrossing ... ok943test server_fns::budget_tests::configured_budget_does_not_read_foreign_or_legacy_projects ... ok944test jobs::report::stream_tests::download_reads_only_when_consumed_and_releases_its_connection ... ok945test server_fns::budget_tests::configured_alerts_require_enabled_active_project_and_authorized_recipient ... ok946test server_fns::budget_tests::configured_amount_budget_uses_resolved_rates_and_explicit_zero ... ok947test server_fns::budget_tests::configured_monthly_budget_includes_leap_day_and_preserves_locked_rounding ... ok948test jobs::tests::missing_configuration_records_error_and_requeues ... ok949test server_fns::budget_tests::configured_task_and_person_budgets_do_not_share_consumption ... ok950test server_fns::budget_tests::configured_budget_sweep_recovers_missed_checks_without_duplicates ... ok951test server_fns::budget_tests::configured_monthly_budget_excludes_other_months_and_nonbillable_time ... ok952test server_fns::budget_tests::configured_person_budget_excludes_other_people_and_has_its_own_alert ... ok953test seed::tests::late_seed_failure_rolls_back_all_demo_data has been running for over 60 seconds954test server_fns::budget_tests::configured_nonbillable_projects_count_time_without_hidden_checkbox ... ok955test jobs::tests::missing_csv_upload_records_error_and_requeues ... ok956test server_fns::budget_tests::overview_budget_progress_batches_projects_without_mixing_scopes ... ok957test server_fns::budget_tests::overview_budget_progress_is_current_period_scoped_and_authorized ... ok958test server_fns::budget_tests::configured_task_fee_budget_respects_billability_and_alert_scope ... ok959test server_fns::budget_tests::overview_budget_progress_includes_people_without_an_allowance ... ok960test server_fns::clients::tests::both_activation_transitions_change_once_and_preserve_details ... ok961test server_fns::clients::tests::client_default_rate_allows_detail_edits_and_equivalent_currency ... ok962test server_fns::clients::tests::client_default_rate_prevents_currency_relabelling ... ok963test seed::tests::repeated_seed_preserves_every_row_and_user_edits has been running for over 60 seconds964test server_fns::clients::tests::client_details_hide_foreign_missing_and_inactive_actor_records ... ok965test seed::tests::seed_refuses_a_second_organization_even_when_the_demo_exists ... ok966test server_fns::clients::tests::client_details_distinguish_unset_zero_and_positive_manager_rates ... ok967test server_fns::clients::tests::client_invoices_hold_authority_until_the_read_finishes ... ok968test server_fns::clients::tests::client_details_keep_catalog_identity_but_omit_member_billing ... ok969test server_fns::clients::tests::client_invoices_reject_a_winning_concurrent_revocation ... ok970test seed::tests::seed_leaves_an_older_or_partial_demo_unchanged has been running for over 60 seconds971test server_fns::clients::tests::client_summaries_keep_catalog_without_projects_and_count_archived_projects ... ok972test server_fns::clients::tests::client_invoices_keep_exact_client_scope_statuses_and_currencies ... ok973test server_fns::clients::tests::client_summaries_exclude_foreign_clients_and_unreadable_project_currencies ... ok974test server_fns::clients::tests::client_invoices_require_manager_authority_even_without_invoices ... ok975test server_fns::clients::tests::concurrent_deletion_is_not_an_unchanged_mutation ... ok976test server_fns::clients::tests::client_summaries_follow_existing_progress_visibility_and_revoke_inactive_users ... ok977test server_fns::clients::tests::currency_edit_rechecks_a_concurrently_added_client_default_rate ... ok978test server_fns::clients::tests::each_field_changes_once_and_preserves_inactive_status ... ok979test server_fns::clients::tests::client_summaries_reject_a_foreign_actor_even_when_client_org_is_known ... ok980test reports::streaming::database_tests::streamed_projects_preserve_scope_budget_and_tenant_isolation ... ok981test server_fns::clients::tests::profile_noop_preserves_row_and_returns_no_update_event_signal ... ok982test server_fns::clients::tests::profile_update_rechecks_financial_snapshot_after_waiting_for_a_concurrent_edit ... ok983test server_fns::clients::tests::profile_update_rejects_stale_currency_even_when_the_rate_is_still_unset ... ok984test server_fns::clients::tests::profile_update_preserves_historical_rows_and_inactive_status ... ok985test server_fns::clients::tests::profile_saves_recheck_manager_org_and_active_actor ... ok986test server_fns::clients::tests::profile_create_persists_normalized_identity_and_exact_optional_rate ... ok987test jobs::tests::reclaimed_attempt_rejects_stale_results_even_with_the_same_worker_name ... ok988test server_fns::clients::tests::profile_currency_change_without_a_rate_keeps_it_unset ... ok989test server_fns::clients::tests::profile_saves_reject_invalid_input_without_partial_writes ... ok990test server_fns::clients::tests::missing_and_foreign_clients_are_not_noops ... ok991test server_fns::importers::authorization_tests::cli_job_endpoints_have_stable_registered_paths ... ok992test 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 --nocapture993test server_fns::importers::authorization_tests::request_bound_import_endpoints_are_not_registered ... ok994test seed::tests::seed_refuses_an_initialized_organization_without_writes has been running for over 60 seconds995test server_fns::clients::tests::profile_update_rechecks_authority_after_waiting_for_a_concurrent_demotion ... ok996test server_fns::clients::tests::unchanged_activation_preserves_the_row ... ok997test seed::tests::concurrent_initializers_cannot_create_two_organizations ... ok998test server_fns::clients::tests::repeating_a_competing_deactivation_does_not_report_a_transition ... ok999test server_fns::clients::tests::repeating_a_competing_edit_does_not_report_a_change ... ok1000test server_fns::clients::tests::profile_update_rejects_stale_rate_even_when_the_target_currency_is_unchanged ... ok1001test server_fns::clients::tests::unchanged_edit_preserves_the_row ... ok1002test server_fns::clients::tests::restoring_values_after_a_competing_edit_reports_a_change ... ok1003test server_fns::clients::tests::profile_update_requires_explicit_rate_intent_for_currency_changes ... ok1004test server_fns::clients::tests::restoring_a_competing_deactivation_reports_reactivation ... ok1005test server_fns::importers::csv_upload::tests::csv_upload_extractor_preserves_raw_bytes ... ok1006test server_fns::importers::tests::concurrent_api_import_returns_a_retryable_conflict ... ok1007test server_fns::importers::csv_upload::tests::csv_upload_requires_its_header_without_reading_the_body ... ok1008test server_fns::importers::tests::revoked_connection_authority_maps_to_forbidden_without_private_context ... ok1009test server_fns::importers::tests::submission_identity_rejects_expired_future_and_non_v7_keys ... ok1010test jobs::outbox::tests::invalid_payload_is_not_delivered_and_does_not_leak_into_errors ... ok1011test server_fns::importers::tests::csv_route_rejects_invalid_modes_and_headers_without_reading_uploads ... ok1012test server_fns::invoices::fee_tests::concurrent_invoices_claim_a_single_fee_once ... ok1013test jobs::tests::outbox_claims_only_the_requested_event_kind ... ok1014test server_fns::importers::commands::tests::duplicate_submission_and_noop_cancellation_do_not_bypass_revocation ... ok1015test jobs::report::stream_tests::download_denies_revocation_before_first_page_and_inline_tail ... ok1016test seed::tests::seed_leaves_an_older_or_partial_demo_unchanged ... ok1017test server_fns::importers::commands::tests::commands_and_status_require_current_active_tenant_administrator ... ok1018test harvest::pagination_tests::harvest_pagination_rejects_invalid_windows_on_every_collection ... ok1019test server_fns::invoices::fee_tests::fee_invoice_does_not_claim_hours_or_another_clients_fee ... ok1020test server_fns::invoices::fee_tests::fee_occurrence_rejects_cross_organization_project ... ok1021test importers::harvest::credentials::authority_tests::connection_changes_recheck_authority_after_actor_only_wait ... ok1022test server_fns::importers::commands::tests::authorized_job_lifecycle_and_duplicate_retention_work_with_one_connection ... ok1023test server_fns::invoices::fee_tests::fee_total_overflow_rolls_back_occurrences_and_invoice ... ok1024test jobs::tests::invalid_policy_cannot_enqueue_a_job_or_upload ... ok1025test server_fns::invoices::fee_tests::invoice_line_sources_reject_mixed_sources_and_invented_fee_quantities ... ok1026test jobs::report::stream_tests::download_rechecks_after_buffered_pages_and_before_the_captured_tail ... ok1027test server_fns::importers::commands::tests::authorized_submissions_do_not_wait_for_the_running_import_reservation ... ok1028test server_fns::invoices::fee_tests::milestones_include_unbilled_overdue_fees_but_not_future_fees ... ok1029test server_fns::invoices::fee_tests::monthly_fees_use_calendar_dates_and_skip_already_claimed_months ... ok1030test harvest::pagination_tests::harvest_pagination_empty_and_out_of_range_pages_keep_the_contract ... ok1031test jobs::tests::stopped_worker_leaves_queued_jobs_unclaimed ... ok1032test server_fns::invoices::fee_tests::monthly_first_and_fifteenth_respect_partial_period_and_project_end ... ok1033test jobs::report::tests::upgrading_legacy_reports_preserves_errors_and_fences_old_attempts ... ok1034test seed::tests::late_seed_failure_rolls_back_all_demo_data ... ok1035test seed::tests::concurrent_seed_runs_create_only_one_demo ... ok1036test server_fns::invoices::fee_tests::draft_fee_edit_rejects_invalid_lines_and_current_unauthorized_actors ... ok1037test server_fns::invoices::fee_tests::reviewed_generation_rejects_changed_time_before_claiming_it ... ok1038test server_fns::importers::authorization_tests::job_endpoints_enforce_session_role_and_organization has been running for over 60 seconds1039test server_fns::invoices::fee_tests::reviewed_generation_bills_partial_fees_and_rejects_stale_balances ... ok1040test server_fns::invoices::fee_tests::settled_fee_sources_remain_reviewable_without_automatic_charges ... ok1041test server_fns::invoices::fee_tests::reviewed_generation_does_not_materialize_unselected_months ... ok1042test server_fns::importers::commands::tests::conflicting_and_stale_commands_preserve_payload_policy_and_retained_state has been running for over 60 seconds1043test server_fns::importers::commands::tests::failed_upload_insert_rolls_back_the_job_and_releases_authority has been running for over 60 seconds1044test server_fns::importers::commands::tests::foreign_and_missing_jobs_never_reveal_or_change_another_tenant has been running for over 60 seconds1045test server_fns::importers::commands::tests::import_access_rechecks_revocation_after_organization_and_actor_waits has been running for over 60 seconds1046test server_fns::importers::commands::tests::import_commands_and_results_hold_actor_authority_until_commit has been running for over 60 seconds1047test server_fns::invoices::fee_tests::concurrent_discounted_invoice_retries_return_one_invoice has been running for over 60 seconds1048test server_fns::invoices::fee_tests::discounted_fee_leaves_a_balance_and_void_releases_only_its_contribution has been running for over 60 seconds1049test server_fns::invoices::fee_tests::draft_fee_edit_replaces_amount_and_preserves_source_and_retry_identity has been running for over 60 seconds1050test server_fns::invoices::fee_tests::draft_fee_edit_requires_current_balance_and_exact_excess_confirmation has been running for over 60 seconds1051test server_fns::invoices::fee_tests::void_releases_fee_identity_without_rewriting_the_original_line ... ok1052test server_fns::invoices::fee_tests::single_fee_can_be_invoiced_without_time ... ok1053test server_fns::invoices::preview::tests::excess_rejects_an_unrepresentable_total_even_when_the_remainder_fits ... ok1054test server_fns::invoices::preview::tests::unselected_fee_currencies_do_not_relabel_or_block_selected_charges ... ok1055test server_fns::invoices::fee_tests::draft_fee_edit_serializes_retries_and_rejects_stale_revisions has been running for over 60 seconds1056test server_fns::invoices::fee_tests::draft_fee_edit_serializes_retries_and_rejects_stale_revisions ... ok1057test server_fns::invoices::fee_tests::fee_balance_migration_allocates_discount_without_rewriting_invoice_snapshots has been running for over 60 seconds1058test jobs::tests::synthetic_job_executes_through_claim_and_completion ... ok1059test server_fns::invoices::fee_tests::fee_preview_discount_ties_follow_source_keys_not_display_dates has been running for over 60 seconds1060test server_fns::invoices::tests::billing_cascade_agrees_across_all_four_levels_including_zero ... ok1061test server_fns::invoices::tests::configured_fixed_fee_hours_are_not_invoiced_but_legacy_fees_are_unchanged ... ok1062test server_fns::invoices::fee_tests::fee_preview_keeps_source_identity_and_reports_discounted_draft_balances has been running for over 60 seconds1063test server_fns::invoices::tests::effective_minutes_migration_preserves_historical_invoice_quantities ... ok1064test server_fns::invoices::tests::configured_project_currency_and_cost_override_keep_their_denominations ... ok1065test reports::limits::tests::bounded_exports_preserve_real_workbooks_and_deterministic_pdf ... ok1066test jobs::tests::cleanup_retains_retryable_uploads_and_deletes_expired_jobs ... ok1067test server_fns::invoices::tests::effective_minutes_sql_matches_domain_rounding ... ok1068test reports::limits::tests::export_size_checks_and_reads_share_a_repeatable_read_snapshot ... ok1069test server_fns::invoices::fee_tests::invoice_defaults_apply_to_selected_fees_without_claiming_other_projects has been running for over 60 seconds1070test server_fns::invoices::fee_tests::invoice_preview_does_not_materialize_fees_and_preserves_released_snapshots has been running for over 60 seconds1071test server_fns::invoices::fee_tests::invoice_status_rechecks_authority_after_waiting_for_the_invoice_lock has been running for over 60 seconds1072test server_fns::invoices::fee_tests::mixed_time_and_fee_discount_conserves_cents_without_reopening_time has been running for over 60 seconds1073test server_fns::invoices::fee_tests::prepared_fee_selection_rejects_invalid_values_and_empty_generation has been running for over 60 seconds1074test server_fns::invoices::fee_tests::project_fee_context_keeps_monthly_balances_separate has been running for over 60 seconds1075test server_fns::invoices::fee_tests::project_fee_context_matches_invoice_balances_and_current_authority has been running for over 60 seconds1076test server_fns::invoices::fee_tests::removing_discount_and_billing_the_remainder_cannot_both_succeed has been running for over 60 seconds1077test server_fns::importers::authorization_tests::job_endpoints_enforce_session_role_and_organization ... ok1078test server_fns::invoices::fee_tests::reviewed_generation_requires_exact_excess_and_current_authority has been running for over 60 seconds1079test server_fns::invoices::fee_tests::invoice_status_rechecks_authority_after_waiting_for_the_invoice_lock ... ok1080test server_fns::invoices::tests::invoice_defaults_edit_rechecks_status_after_waiting_for_a_concurrent_send ... ok1081test server_fns::invoices::fee_tests::concurrent_discounted_invoice_retries_return_one_invoice ... ok1082test server_fns::invoices::fee_tests::zero_fee_is_invoiced_once_until_voided has been running for over 60 seconds1083test server_fns::invoices::tests::assignment_gate_allows_inflight_invoice_organization_fks_to_finish has been running for over 60 seconds1084test server_fns::invoices::tests::invoice_defaults_apply_exact_adjustments_and_payment_terms ... ok1085test server_fns::invoices::tests::invoice_defaults_validate_all_override_fields ... ok1086test server_fns::invoices::fee_tests::invoice_defaults_apply_to_selected_fees_without_claiming_other_projects ... ok1087test server_fns::invoices::tests::invoice_line_overflow_leaves_time_unbilled ... ok1088test jobs::tests::outbox_same_kind_consumers_cannot_claim_the_same_lease ... ok1089test server_fns::invoices::tests::imported_rates::imported_legacy_project_keeps_exact_rates_and_totals_on_retry has been running for over 60 seconds1090test server_fns::invoices::tests::imported_rates::imported_task_rates_require_matching_currency_only_for_new_configured_links has been running for over 60 seconds1091test server_fns::invoices::tests::imported_rates::rejected_import_rate_does_not_poison_the_next_row_or_its_catalog_rate has been running for over 60 seconds1092test server_fns::invoices::tests::invoice_preview_rejects_large_results_instead_of_truncating_them ... ok1093test server_fns::invoices::tests::invoice_defaults_are_invoice_owned_and_only_drafts_are_editable has been running for over 60 seconds1094test server_fns::invoices::tests::invoice_defaults_are_invoice_owned_and_only_drafts_are_editable ... ok1095test server_fns::invoices::tests::invoice_total_overflow_leaves_all_time_unbilled ... ok1096test server_fns::invoices::fee_tests::mixed_time_and_fee_discount_conserves_cents_without_reopening_time ... ok1097test jobs::tests::final_failure_is_retained_and_manual_retry_gets_a_new_budget ... ok1098test server_fns::invoices::tests::invoice_transitions_reject_invalid_states_and_foreign_organizations ... ok1099test server_fns::invoices::tests::invoiced_amounts_survive_rate_changes_and_void_uses_current_rates ... ok1100test server_fns::invoices::tests::invoicing_leaves_running_time_open ... ok1101test server_fns::invoices::tests::invoiced_billability_survives_later_project_changes ... ok1102test server_fns::invoices::tests::mixed_project_currencies_cannot_partially_create_an_invoice ... ok1103test harvest::pagination_tests::harvest_project_progress_permissions_cover_counts_pages_and_details ... ok1104test server_fns::invoices::tests::invoicing_uses_and_freezes_effective_minutes ... ok1105test server_fns::invoices::tests::large_invoice_and_reports_agree_without_intermediate_overflow ... ok1106test server_fns::invoices::tests::invoice_preview_requires_explicit_resolution_and_scopes_selected_projects ... ok1107test server_fns::invoices::tests::invoice_defaults_conflict_rolls_back_all_claims has been running for over 60 seconds1108test server_fns::invoices::tests::non_billable_context_produces_no_unbilled_amount_on_any_report ... ok1109test server_fns::invoices::tests::project_rate_is_used_by_invoices_reports_and_spend ... ok1110test server_fns::invoices::tests::only_running_time_does_not_create_an_invoice ... ok1111test server_fns::invoices::fee_tests::invoice_preview_does_not_materialize_fees_and_preserves_released_snapshots ... ok1112test server_fns::invoices::tests::void_reopens_time_without_stale_rounding ... ok1113test server_fns::organization::tests::each_branding_field_changes_once_including_null_and_empty ... ok1114test server_fns::invoices::fee_tests::zero_fee_is_invoiced_once_until_voided ... ok1115test server_fns::organization::tests::missing_organization_is_not_an_unchanged_update ... ok1116test server_fns::organization::tests::repeating_a_competing_branding_edit_does_not_report_a_change ... ok1117test server_fns::invoices::tests::selected_project_rate_modes_agree_across_billing_consumers ... ok1118test server_fns::invoices::tests::void_waits_for_a_concurrent_payment_and_then_refuses ... ok1119test server_fns::invoices::tests::invoice_defaults_legacy_insert_preserves_dates_and_exact_total has been running for over 60 seconds1120test server_fns::invoices::tests::invoice_defaults_selection_rejects_unavailable_projects_before_claiming has been running for over 60 seconds1121test server_fns::organization::tests::unchanged_branding_preserves_the_row ... ok1122test server_fns::organization::tests::restoring_branding_after_a_competing_edit_reports_a_change ... ok1123test server_fns::project_creation::assignment_tests::finalization_reuses_catalog_and_keeps_lead_overrides_local_on_retry ... ok1124test server_fns::project_creation::editing::tests::editor_keeps_archived_selected_identities_and_nullable_overrides ... ok1125test server_fns::project_creation::editing::tests::concurrent_edits_have_one_winner_and_association_writes_invalidate_open_forms ... ok1126test jobs::report::stream_tests::download_reports_missing_fragments_after_its_buffered_page ... ok1127test server_fns::project_creation::assignment_tests::invalid_assignment_graphs_leave_no_partial_creation_or_draft_change ... ok1128test server_fns::project_creation::editing::tests::editing_milestones_keeps_invoice_snapshots_and_fee_identities_immutable ... ok1129test server_fns::project_creation::editing::tests::editor_preserves_fee_schedule_and_operational_milestone_ids ... ok1130test server_fns::project_creation::editing::tests::editor_loads_legacy_values_without_fabricating_a_billing_mode_or_draft ... ok1131test server_fns::invoices::tests::invoice_preview_keeps_time_rates_and_defaults_in_one_snapshot has been running for over 60 seconds1132test server_fns::project_creation::editing::tests::editor_rechecks_tenant_role_and_active_status ... ok1133test server_fns::invoices::tests::invoice_preview_matches_generation_without_claiming_time has been running for over 60 seconds1134test server_fns::invoices::tests::imported_rates::rejected_import_rate_does_not_poison_the_next_row_or_its_catalog_rate ... ok1135test server_fns::project_creation::editing::tests::manager_edit_preserves_private_settings_and_cannot_remove_them_indirectly ... ok1136test server_fns::project_creation::editing::tests::editor_recovers_full_configuration_and_redacts_private_values_after_role_change ... ok1137test server_fns::project_creation::editing::tests::editor_recovers_each_budget_scope_without_turning_absence_into_zero ... ok1138test server_fns::project_creation::editing::tests::save_updates_configured_sections_atomically_and_rejects_stale_or_invalid_edits ... ok1139test server_fns::project_creation::editing::tests::save_preserves_recorded_time_and_rejects_removing_its_task_or_person ... ok1140test server_fns::project_creation::editing::tests::save_edits_the_same_legacy_project_and_never_creates_a_draft_or_configuration ... ok1141test server_fns::project_creation::tests::billing_schema_rejects_partial_fee_schedules ... ok1142test server_fns::project_creation::editing::tests::foreign_actor_cannot_save_or_retry_another_organizations_edit ... ok1143test server_fns::project_creation::editing::tests::saves_recheck_current_authority_and_do_not_repeat_noops ... ok1144test server_fns::project_creation::editing::tests::task_catalog_and_graph_changes_roll_back_together_on_duplicate_resolution ... ok1145test importers::harvest::credentials::authority_tests::connection_changes_require_current_tenant_bound_administrator ... ok1146test server_fns::project_creation::tests::creation_actor_is_revalidated_inside_the_transaction ... ok1147test server_fns::project_creation::tests::creation_client_must_be_active_and_in_the_same_organization ... ok1148test server_fns::invoices::fee_tests::reviewed_generation_requires_exact_excess_and_current_authority ... ok1149test server_fns::project_creation::tests::creation_options_are_scoped_bounded_and_redact_manager_costs ... ok1150test server_fns::project_creation::tests::draft_validation_preserves_incomplete_input_but_bounds_its_size ... ok1151test server_fns::project_creation::tests::draft_save_retries_do_not_overwrite_a_newer_revision ... ok1152test server_fns::project_creation::tests::final_validation_checks_invoice_defaults_and_scoped_budget_totals ... ok1153test server_fns::project_creation::tests::final_validation_preserves_exact_budgets_and_rejects_unavailable_email ... ok1154test server_fns::project_creation::tests::final_validation_requires_complete_fee_schedules_and_distinct_entities ... ok1155test server_fns::project_creation::tests::final_validation_requires_real_details_and_ignores_hidden_type_settings ... ok1156test server_fns::project_creation::tests::client_dialog_validates_details_and_persists_an_explicit_zero_rate ... ok1157test server_fns::project_creation::tests::draft_ownership_discard_and_role_changes_are_enforced ... ok1158test server_fns::project_creation::tests::draft_schema_enforces_one_current_draft_per_creator ... ok1159test server_fns::project_creation::tests::draft_schema_rejects_foreign_creator_and_completed_project ... ok1160test server_fns::project_creation::tests::managers_cannot_store_administrator_notes_or_costs_in_a_draft ... ok1161test server_fns::project_creation::tests::draft_schema_rejects_oversize_payload_and_invalid_revision ... ok1162test server_fns::project_creation::tests::finalize_is_atomic_and_repeated_submission_returns_one_project ... ok1163test reports::privacy_tests::unauthorized_project_text_does_not_affect_export_size_limits ... ok1164test server_fns::project_creation::tests::finalization_rechecks_client_role_revision_and_rate_currency ... ok1165test server_fns::project_creation::tests::existing_projects_have_no_implicit_new_billing_configuration ... ok1166test server_fns::project_creation::validation::tests::assignment_rejections_identify_the_invalid_row ... ok1167test server_fns::project_creation::validation::tests::basic_rejections_identify_the_field_without_echoing_input ... ok1168test server_fns::project_creation::validation::tests::billing_rejections_identify_the_active_control ... ok1169test server_fns::project_creation::validation::tests::inactive_billing_inputs_remain_in_the_draft_without_blocking_creation ... ok1170test server_fns::project_creation::validation::tests::invoice_rejections_identify_the_field_without_echoing_input ... ok1171test server_fns::project_creation::validation::tests::milestone_rejections_target_the_invalid_row_by_identity ... ok1172test server_fns::project_creation::validation::tests::non_billable_projects_ignore_hidden_invoice_inputs ... ok1173test server_fns::project_creation::validation::tests::task_name_and_access_rejections_identify_the_invalid_row ... ok1174test server_fns::project_creation::tests::finalization_persists_task_access_and_project_only_financial_overrides ... ok1175test server_fns::importers::commands::tests::foreign_and_missing_jobs_never_reveal_or_change_another_tenant ... ok1176test server_fns::project_creation::tests::missing_draft_responses_do_not_disclose_foreign_ownership ... ok1177test server_fns::project_creation::tests::selected_catalog_bounds_requests_and_excludes_inactive_people ... ok1178test server_fns::project_creation::tests::selected_catalog_is_scoped_deduplicated_and_redacts_manager_costs ... ok1179test server_fns::project_creation::tests::invalid_task_rolls_back_project_and_keeps_the_draft ... ok1180test server_fns::project_creation::tests::selected_client_lookup_is_scoped_and_keeps_archived_identity ... ok1181test server_fns::project_creation::tests::simultaneous_draft_updates_have_one_winner ... ok1182test server_fns::projects::bulk_tests::bulk_ids_validate_before_writes_and_normalize_duplicates ... ok1183test server_fns::projects::bulk_tests::bulk_database_failure_rolls_back_earlier_changes ... ok1184test server_fns::projects::bulk_tests::bulk_accepts_one_hundred_projects_and_mixed_status_noops ... ok1185test server_fns::invoices::fee_tests::discounted_fee_leaves_a_balance_and_void_releases_only_its_contribution ... ok1186test server_fns::projects::bulk_tests::bulk_missing_or_foreign_project_rolls_back_earlier_changes ... ok1187test server_fns::projects::bulk_tests::bulk_preserves_invoiced_history_assignments_and_spend ... ok1188test server_fns::project_creation::editing::tests::editor_load_uses_current_role_across_all_billing_configurations has been running for over 60 seconds1189test server_fns::projects::bulk_tests::bulk_reversed_overlapping_batches_finish_without_deadlock ... ok1190test server_fns::projects::bulk_tests::bulk_status_preserves_details_history_and_noop_versions ... ok1191test harvest::pagination_tests::harvest_own_time_omits_private_project_budget_metadata ... ok1192test server_fns::projects::mutation_tests::project::both_activation_transitions_preserve_details_and_change_once ... ok1193test server_fns::project_creation::import_tests::imported_catalog_rate_cannot_be_relabelled_as_workspace_currency has been running for over 60 seconds1194test server_fns::project_creation::import_tests::imports_preserve_finalized_project_configuration_and_restricted_access has been running for over 60 seconds1195test server_fns::project_creation::locking_tests::every_project_entry_gates_before_actor_and_rechecks_revocation has been running for over 60 seconds1196test server_fns::projects::mutation_tests::project::concurrent_deletion_is_rejected_by_both_mutations ... ok1197test reports::limits::tests::bounded_projects_filter_archives_before_size_checks ... ok1198test server_fns::projects::mutation_tests::project::budgets_and_rates_distinguish_null_zero_and_normalized_values ... ok1199test server_fns::projects::details_tests::project_details_and_tags_follow_current_progress_and_private_permissions ... ok1200test server_fns::projects::mutation_tests::project::configured_edits_recheck_settings_after_waiting_for_the_project ... ok1201test jobs::tests::cancellation_survives_a_crash_before_the_worker_acknowledges ... ok1202test server_fns::projects::mutation_tests::project::configured_edits_preserve_non_hourly_billing ... ok1203test server_fns::projects::mutation_tests::project::configured_edits_preserve_compatible_changes_and_idempotence ... ok1204test server_fns::projects::mutation_tests::project::inactive_project_edits_preserve_identity_and_reject_implicit_migrations ... ok1205test server_fns::projects::mutation_tests::project::repeating_a_competing_deactivation_reports_no_transition ... ok1206test server_fns::projects::details_tests::unlinked_and_private_project_tags_do_not_leak_into_filters ... ok1207test server_fns::projects::mutation_tests::project::missing_and_foreign_rows_are_not_noops ... ok1208test server_fns::projects::mutation_tests::project::restoring_a_competing_edit_does_not_overwrite_the_other_session ... ok1209test server_fns::projects::mutation_tests::project::restoring_a_competing_deactivation_reports_reactivation ... ok1210test server_fns::projects::mutation_tests::project::configured_edits_reject_incompatible_financial_changes_atomically ... ok1211test server_fns::projects::mutation_tests::project::invalid_project_fields_leave_the_row_unchanged ... ok1212test server_fns::projects::assignment_tests::assignment_mutations_wait_for_revocation_and_recheck_authority has been running for over 60 seconds1213test server_fns::projects::mutation_tests::project::repeating_a_competing_edit_requires_a_fresh_revision ... ok1214test server_fns::projects::mutation_tests::project::unchanged_activation_preserves_the_row ... ok1215test server_fns::projects::mutation_tests::task::each_detail_field_changes_once_and_preserves_inactive_status ... ok1216test server_fns::projects::mutation_tests::task::concurrent_deletion_returns_not_found_for_both_mutations ... ok1217test server_fns::projects::mutation_tests::task::both_activation_transitions_preserve_details_and_change_once ... ok1218test server_fns::projects::mutation_tests::project::unchanged_edit_preserves_the_row ... ok1219test server_fns::projects::assignment_tests::creation_rejects_foreign_and_unknown_project_or_person has been running for over 60 seconds1220test server_fns::projects::assignment_tests::own_assignment_lifecycle_preserves_role_and_duplicate_behavior has been running for over 60 seconds1221test server_fns::projects::assignment_tests::project_membership_and_task_callers_wait_before_authorizing has been running for over 60 seconds1222test server_fns::projects::assignment_tests::removal_preserves_foreign_and_malformed_assignments has been running for over 60 seconds1223test server_fns::projects::assignment_tests::stale_administrator_cannot_create_or_remove_after_revocation has been running for over 60 seconds1224test harvest::pagination_tests::harvest_pagination_time_entries_keep_the_filtered_set_and_date_ties ... ok1225test server_fns::projects::mutation_tests::task::missing_and_foreign_rows_are_not_noops ... ok1226test server_fns::projects::mutation_tests::task::restoring_a_competing_edit_reports_a_change ... ok1227test server_fns::projects::mutation_tests::task::restoring_a_competing_deactivation_reports_reactivation ... ok1228test server_fns::projects::mutation_tests::task::rate_edits_set_currency_without_relabelling_renames_or_noops ... ok1229test server_fns::projects::mutation_tests::task::repeating_a_competing_deactivation_reports_no_transition ... ok1230test server_fns::projects::mutation_tests::task::repeating_a_competing_edit_does_not_report_a_change ... ok1231test server_fns::projects::mutation_tests::task::unchanged_activation_preserves_the_row ... ok1232test reports::streaming::database_tests::streamed_invoice_uses_stored_exact_cents_and_tenant_scoped_metadata ... ok1233test server_fns::projects::mutation_tests::task::unchanged_edit_preserves_the_row ... ok1234test server_fns::projects::privacy_tests::legacy_members_retain_progress_without_new_settings ... ok1235test server_fns::projects::details_tests::project_details_only_offer_task_rate_currency_to_current_managers has been running for over 60 seconds1236test server_fns::projects::privacy_tests::project_reads_use_current_authority_and_reject_foreign_scope ... ok1237test server_fns::projects::privacy_tests::client_project_filter_preserves_progress_access_and_rate_redaction ... ok1238test server_fns::projects::privacy_tests::private_progress_does_not_prevent_tracking_or_reveal_financial_fields ... ok1239test server_fns::projects::privacy_tests::outsiders_and_inactive_viewers_have_no_project_reads ... ok1240test server_fns::projects::privacy_tests::project_members_and_leads_receive_progress_without_rates ... ok1241test server_fns::projects::tests::enabling_is_tenant_scoped_even_for_existing_links_and_preserves_overrides ... ok1242test server_fns::projects::tests::enabling_tasks_rejects_explicit_rates_unused_by_the_project ... ok1243test server_fns::projects::privacy_tests::revoked_membership_preserves_only_own_historical_tracking_identity ... ok1244test server_fns::projects::tests::assignments_are_scoped_to_the_viewers_organization ... ok1245test server_fns::projects::tests::creating_a_project_task_enables_it_with_its_defaults ... ok1246test server_fns::projects::tests::project_rate_distinguishes_inheritance_zero_and_exact_amounts ... ok1247test server_fns::invoices::tests::invoice_defaults_conflict_rolls_back_all_claims ... ok1248test server_fns::projects::tests::enabling_tasks_rejects_incompatible_catalog_currency ... ok1249test server_fns::projects::tests::managers_and_admins_can_read_assignment_rates ... ok1250test server_fns::projects::tests::enabling_tasks_accepts_exact_project_currency_rates_and_preserves_existing_links ... ok1251test server_fns::projects::tests::enabling_tasks_rejects_invalid_or_wrong_currency_explicit_rates_without_linking ... ok1252test server_fns::projects::tests::project_rate_helper_has_no_public_execute_grant ... ok1253test server_fns::projects::tests::members_can_list_identities_but_not_assignment_rates ... ok1254test server_fns::projects::tests::failed_project_task_creation_leaves_no_orphan_task ... ok1255test server_fns::projects::tests::enabling_tasks_only_inherits_rates_used_by_configured_projects ... ok1256test server_fns::time_entries::tests::a_limit_bounds_a_listing_on_its_own ... ok1257test server_fns::projects::tests::project_rate_sql_matches_rust_for_missing_zero_and_present_sources ... ok1258test server_fns::importers::commands::tests::failed_upload_insert_rolls_back_the_job_and_releases_authority ... ok1259test server_fns::projects::tests::unknown_catalog_currency_requires_explicit_configured_rates_but_preserves_legacy ... ok1260test server_fns::time_entries::tests::a_reorder_rejects_foreign_missing_timed_and_duplicate_ids ... ok1261test server_fns::time_entries::tests::an_unlimited_listing_needs_both_ends_of_the_range ... ok1262test server_fns::time_entries::tests::a_running_timer_cannot_be_moved_to_another_day ... ok1263test server_fns::time_entries::tests::clamps_duration_against_the_snapped_start ... ok1264test server_fns::time_entries::tests::concurrent_timer_starts_insert_exactly_one_entry ... ok1265test server_fns::time_entries::tests::admin_may_log_time_without_assignment ... ok1266test server_fns::time_entries::tests::an_open_entry_can_move_into_a_day_with_locked_time ... ok1267test seed::tests::repeated_seed_preserves_every_row_and_user_edits ... ok1268test server_fns::time_entries::tests::assigned_member_may_log_time ... ok1269test server_fns::time_entries::tests::edits_preserve_archived_time_but_cannot_override_non_billability ... ok1270test server_fns::time_entries::tests::inactive_project_cannot_accept_new_time_even_for_admin ... ok1271test server_fns::time_entries::tests::rejects_out_of_range_start ... ok1272test server_fns::time_entries::tests::snaps_unaligned_start_to_the_grid ... ok1273test server_fns::time_entries::tests::new_time_and_picker_require_a_project_task_link ... ok1274test server_fns::importers::commands::tests::conflicting_and_stale_commands_preserve_payload_policy_and_retained_state ... ok1275test server_fns::time_entries::tests::moving_locked_time_rejects_the_entire_reorder ... ok1276test server_fns::time_entries::tests::untimed_start_is_left_untouched ... ok1277test server_fns::time_entries::tests::new_time_uses_effective_billability_for_manual_entries_and_timers ... ok1278test server_fns::time_entries::tests::submission_barrier_blocks_edits_and_cross_week_reorders ... ok1279test server_fns::time_entries::tests::submission_barrier_blocks_manual_entries_and_timer_starts ... ok1280test server_fns::reports::tests::shared_person_and_task_are_partitioned_by_currency ... ok1281test server_fns::time_entries::tests::new_time_and_picker_reject_inactive_or_foreign_contexts ... ok1282test server_fns::time_entries::update_tests::competing_edit_that_restores_old_values_still_reports_a_change ... ok1283test server_fns::time_entries::tests::unassigned_member_is_forbidden ... ok1284test server_fns::time_entries::update_tests::concurrent_lock_or_delete_is_rechecked_before_editing ... ok1285test server_fns::time_entries::update_tests::each_editable_field_changes_once_including_nulls ... ok1286test server_fns::time_entries::update_tests::restricted_empty_task_rejects_changes_and_noop_edits ... ok1287test server_fns::time_entries::update_tests::competing_identical_edit_is_a_noop_after_the_first_commit ... ok1288test server_fns::project_creation::import_tests::imported_catalog_rate_cannot_be_relabelled_as_workspace_currency ... ok1289test server_fns::time_entries::update_tests::missing_foreign_and_locked_entries_are_not_noops ... ok1290test server_fns::time_entries::update_tests::normalized_noop_preserves_the_row_and_updated_at ... ok1291test server_fns::time_entries::update_tests::effective_billability_noop_preserves_the_row ... ok1292test server_fns::time_entries::update_tests::revoked_timer_stop_preserves_the_open_state_guard ... ok1293test server_fns::time_entries::update_tests::restricted_reordering_rejects_the_whole_batch ... ok1294test server_fns::time_entries::update_tests::restricted_empty_task_rejects_picker_manual_and_timer_starts ... ok1295test server_fns::time_entries::update_tests::task_grant_revocation_committed_during_an_edit_is_rechecked ... ok1296test server_fns::time_entries::update_tests::restricted_task_rejects_reschedule_and_delete ... ok1297test server_fns::time_entries::update_tests::assignment_cascade_allows_an_inflight_entry_project_fk_to_finish ... ok1298test server_fns::time_entries::update_tests::restriction_changes_are_rechecked_before_manual_or_timer_insertion ... ok1299test server_fns::time_entries::update_tests::revoked_grant_does_not_trap_an_own_running_timer ... ok1300test server_fns::reports::tests::filters_and_renames_keep_report_identity_and_totals has been running for over 60 seconds1301test server_fns::reports::tests::manager_report_omits_groups_containing_private_project_costs has been running for over 60 seconds1302test server_fns::reports::tests::report_uses_current_active_actor_and_tenant_for_every_filter has been running for over 60 seconds1303test server_fns::reports::tests::same_names_keep_separate_groups_for_every_dimension has been running for over 60 seconds1304test server_fns::projects::assignment_tests::creation_rejects_foreign_and_unknown_project_or_person ... ok1305test server_fns::time_entries::update_tests::task_grants_allow_tracking_and_archived_history_for_every_role ... ok1306test server_fns::users::tests::authority::user_mutations_wait_for_actor_revocation_and_recheck_after_commit ... ok1307test server_fns::users::tests::authority::project_editor_and_user_revocation_commit_in_gate_order ... ok1308test server_fns::reports::tests::tag_filters_keep_report_dimensions_and_details_in_sync has been running for over 60 seconds1309test server_fns::users::tests::concurrency::access_changes_cannot_target_another_organization ... ok1310test server_fns::users::tests::concurrency::concurrent_deactivations_keep_an_active_admin ... ok1311test server_fns::users::tests::concurrency::concurrent_demotions_keep_an_active_admin ... ok1312test server_fns::users::tests::concurrency::demotion_and_deactivation_keep_an_active_admin ... ok1313test server_fns::users::tests::concurrency::deactivation_and_demotion_keep_an_active_admin ... ok1314test server_fns::users::tests::hide_rates_clears_both_rate_fields ... ok1315test server_fns::users::tests::concurrency::the_last_admin_cannot_be_demoted_or_deactivated ... ok1316test server_fns::users::tests::concurrency::unchanged_admin_access_is_allowed ... ok1317test jobs::tests::failed_csv_preview_retains_confirmed_report_through_history_and_retry ... ok1318test importers::harvest::credentials::authority_tests::connection_changes_hold_authority_until_commit ... ok1319test server_fns::users::tests::authority::access_transaction_holds_actor_authority_until_commit has been running for over 60 seconds1320test server_fns::users::tests::authority::active_administrator_can_create_change_roles_and_deactivate has been running for over 60 seconds1321test server_fns::users::tests::authority::duplicate_creation_rolls_back_and_leaves_access_changes_usable has been running for over 60 seconds1322test server_fns::users::tests::authority::foreign_and_unknown_actors_cannot_change_local_user_access has been running for over 60 seconds1323test server_fns::users::tests::authority::revoked_administrator_cannot_create_change_roles_or_deactivate has been running for over 60 seconds1324test server_fns::users::tests::authority::user_mutations_recheck_revocation_after_waiting_for_organization_lock has been running for over 60 seconds1325test server_fns::importers::commands::tests::import_access_rechecks_revocation_after_organization_and_actor_waits ... ok1326test server_fns::reports::tests::report_uses_current_active_actor_and_tenant_for_every_filter ... ok1327test server_fns::projects::assignment_tests::own_assignment_lifecycle_preserves_role_and_duplicate_behavior ... ok1328test server_fns::invoices::fee_tests::fee_preview_keeps_source_identity_and_reports_discounted_draft_balances ... ok1329test server_fns::projects::assignment_tests::project_membership_and_task_callers_wait_before_authorizing ... ok1330test server_fns::invoices::fee_tests::fee_balance_migration_allocates_discount_without_rewriting_invoice_snapshots ... ok1331test server_fns::projects::assignment_tests::stale_administrator_cannot_create_or_remove_after_revocation ... ok1332test server_fns::projects::assignment_tests::removal_preserves_foreign_and_malformed_assignments ... ok1333test server_fns::invoices::fee_tests::draft_fee_edit_requires_current_balance_and_exact_excess_confirmation ... ok1334test server_fns::reports::tests::filters_and_renames_keep_report_identity_and_totals ... ok1335test server_fns::reports::tests::tag_filters_keep_report_dimensions_and_details_in_sync ... ok1336test server_fns::project_creation::editing::tests::editor_load_uses_current_role_across_all_billing_configurations ... ok1337test server_fns::users::tests::authority::user_mutations_recheck_revocation_after_waiting_for_organization_lock ... ok1338test server_fns::invoices::tests::invoice_defaults_selection_rejects_unavailable_projects_before_claiming ... ok1339test server_fns::users::tests::authority::foreign_and_unknown_actors_cannot_change_local_user_access ... ok1340test server_fns::invoices::tests::invoice_preview_keeps_time_rates_and_defaults_in_one_snapshot ... ok1341test server_fns::projects::details_tests::project_details_only_offer_task_rate_currency_to_current_managers ... ok1342test server_fns::users::tests::authority::active_administrator_can_create_change_roles_and_deactivate ... ok1343test server_fns::invoices::tests::imported_rates::imported_task_rates_require_matching_currency_only_for_new_configured_links ... ok1344test server_fns::users::tests::authority::duplicate_creation_rolls_back_and_leaves_access_changes_usable ... ok1345test server_fns::invoices::tests::invoice_defaults_legacy_insert_preserves_dates_and_exact_total ... ok1346test server_fns::invoices::fee_tests::project_fee_context_keeps_monthly_balances_separate ... ok1347test server_fns::projects::assignment_tests::assignment_mutations_wait_for_revocation_and_recheck_authority ... ok1348test seed::tests::seed_refuses_an_initialized_organization_without_writes ... ok1349test server_fns::invoices::tests::invoice_preview_matches_generation_without_claiming_time ... ok1350test reports::limits::tests::bounded_entries_enforce_the_row_limit_after_all_filters ... ok1351test server_fns::users::tests::authority::access_transaction_holds_actor_authority_until_commit ... ok1352test jobs::report::tests::legacy_upgrade_preserves_job_states_and_existing_archives ... ok1353test server_fns::invoices::fee_tests::prepared_fee_selection_rejects_invalid_values_and_empty_generation ... ok1354test server_fns::project_creation::import_tests::imports_preserve_finalized_project_configuration_and_restricted_access ... ok1355test server_fns::importers::commands::tests::import_commands_and_results_hold_actor_authority_until_commit ... ok1356test server_fns::invoices::fee_tests::project_fee_context_matches_invoice_balances_and_current_authority ... ok1357test server_fns::invoices::tests::assignment_gate_allows_inflight_invoice_organization_fks_to_finish ... ok1358test server_fns::invoices::fee_tests::fee_preview_discount_ties_follow_source_keys_not_display_dates ... ok1359test server_fns::invoices::fee_tests::draft_fee_edit_replaces_amount_and_preserves_source_and_retry_identity ... ok1360test seed::tests::concurrent_init_and_seed_cannot_mix_organizations ... ok1361test server_fns::project_creation::locking_tests::every_project_entry_gates_before_actor_and_rechecks_revocation ... ok1362test server_fns::invoices::tests::imported_rates::imported_legacy_project_keeps_exact_rates_and_totals_on_retry ... ok1363test server_fns::reports::tests::manager_report_omits_groups_containing_private_project_costs ... ok1364test harvest::pagination_tests::harvest_pagination_router_preserves_session_and_tenant_guards ... ok1365test server_fns::invoices::fee_tests::removing_discount_and_billing_the_remainder_cannot_both_succeed ... ok1366test server_fns::reports::tests::same_names_keep_separate_groups_for_every_dimension ... ok1367test server_fns::users::tests::authority::revoked_administrator_cannot_create_change_roles_or_deactivate ... ok13681369failures:13701371---- importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_preserves_its_completed_batches_for_manual_retry stdout ----13721373thread 'importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_preserves_its_completed_batches_for_manual_retry' (2042) panicked at crates/horae/src/importers/harvest/engine_tests/csv_streaming.rs:494:5:1374a durable batch must commit before source EOF1375note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace13761377---- importers::harvest::engine_tests::csv_streaming::durable_csv_preview_cancel_preserves_simulation_for_manual_retry stdout ----13781379thread 'importers::harvest::engine_tests::csv_streaming::durable_csv_preview_cancel_preserves_simulation_for_manual_retry' (2181) panicked at crates/horae/src/importers/harvest/engine_tests/csv_streaming.rs:494:5:1380a durable batch must commit before source EOF13811382---- importers::harvest::engine_tests::csv_streaming::durable_csv_preview_resumes_after_a_crash_without_recounting_rows stdout ----13831384thread 'importers::harvest::engine_tests::csv_streaming::durable_csv_preview_resumes_after_a_crash_without_recounting_rows' (2249) panicked at crates/horae/src/importers/harvest/engine_tests/csv_streaming.rs:494:5:1385a durable batch must commit before source EOF13861387---- importers::harvest::engine_tests::csv_streaming::durable_csv_preview_rejects_a_stale_next_batch stdout ----13881389thread 'importers::harvest::engine_tests::csv_streaming::durable_csv_preview_rejects_a_stale_next_batch' (2248) panicked at crates/horae/src/importers/harvest/engine_tests/csv_streaming.rs:494:5:1390a durable batch must commit before source EOF13911392---- importers::harvest::engine_tests::csv_streaming::durable_csv_reclaimed_lease_cannot_commit_the_next_batch stdout ----13931394thread 'importers::harvest::engine_tests::csv_streaming::durable_csv_reclaimed_lease_cannot_commit_the_next_batch' (2250) panicked at crates/horae/src/importers/harvest/engine_tests/csv_streaming.rs:494:5:1395a durable batch must commit before source EOF13961397---- importers::harvest::engine_tests::csv_streaming::durable_csv_resumes_committed_batches_without_recounting_duplicate_rows stdout ----13981399thread 'importers::harvest::engine_tests::csv_streaming::durable_csv_resumes_committed_batches_without_recounting_duplicate_rows' (2254) panicked at crates/horae/src/importers/harvest/engine_tests/csv_streaming.rs:494:5:1400a durable batch must commit before source EOF14011402---- importers::harvest::engine_tests::csv_streaming::durable_csv_waits_for_input_without_an_open_transaction stdout ----14031404thread 'importers::harvest::engine_tests::csv_streaming::durable_csv_waits_for_input_without_an_open_transaction' (2287) panicked at crates/horae/src/importers/harvest/engine_tests/csv_streaming.rs:73:18:1405called `Result::unwrap()` on an `Err` value: Elapsed(())14061407---- importers::harvest::sync_tests::checkpoints::durable_api_preview_reclaimed_worker_cannot_checkpoint_its_next_page stdout ----14081409thread 'importers::harvest::sync_tests::checkpoints::durable_api_preview_reclaimed_worker_cannot_checkpoint_its_next_page' (2727) panicked at crates/horae/src/importers/harvest/sync_tests/checkpoints.rs:452:10:1410called `Result::unwrap()` on an `Err` value: Elapsed(())14111412thread '<unnamed>' (2846) panicked at crates/horae/src/importers/harvest/sync_tests/checkpoints.rs:414:56:1413called `Result::unwrap()` on an `Err` value: Timeout141414151416failures:1417 importers::harvest::engine_tests::csv_streaming::durable_csv_cancel_preserves_its_completed_batches_for_manual_retry1418 importers::harvest::engine_tests::csv_streaming::durable_csv_preview_cancel_preserves_simulation_for_manual_retry1419 importers::harvest::engine_tests::csv_streaming::durable_csv_preview_rejects_a_stale_next_batch1420 importers::harvest::engine_tests::csv_streaming::durable_csv_preview_resumes_after_a_crash_without_recounting_rows1421 importers::harvest::engine_tests::csv_streaming::durable_csv_reclaimed_lease_cannot_commit_the_next_batch1422 importers::harvest::engine_tests::csv_streaming::durable_csv_resumes_committed_batches_without_recounting_duplicate_rows1423 importers::harvest::engine_tests::csv_streaming::durable_csv_waits_for_input_without_an_open_transaction1424 importers::harvest::sync_tests::checkpoints::durable_api_preview_reclaimed_worker_cannot_checkpoint_its_next_page14251426test result: FAILED. 856 passed; 8 failed; 11 ignored; 0 measured; 0 filtered out; finished in 1044.32s14271428error: test failed, to rerun pass `-p horae --bin horae`