nixbot

builds

failed horae-tests-0.1.0 checks.x86_64-linux.tests · build #624 · raw

unpackPhase
1unpacking source archive /nix/store/5b1h9qcfx5gl2nrjmql99yp23w05797x-source2source root is source
patchPhase
3Executing configureCargoCommonVars4decompressing cargo artifacts from /nix/store/p0fga5r55aw5iwdy8h0dpr32lhcczl5i-horae-checks-deps-0.1.0/target.tar.zst to target5patchPhase completed in 6 minutes 45 seconds
configurePhase
6will append /build/source/.cargo-home/config.toml with contents of /nix/store/i0bj632any4bjpvnl84zc2h7cq8zn0mz-vendor-cargo-deps/config.toml7default configurePhase, nothing to do
buildPhase
8+++ command cargo nextest run -p horae-core --test-threads 489 Resolving dependency graph...10 Compiling proc-macro2 v1.0.10611 Compiling serde_core v1.0.22812 Compiling serde v1.0.22813 Compiling num-traits v0.2.1914 Compiling quote v1.0.4615 Compiling syn v2.0.11816 Compiling uuid v1.23.417 Compiling serde_derive v1.0.22818 Compiling thiserror-impl v2.0.1819 Compiling thiserror v2.0.1820 Compiling chrono v0.4.4521 Compiling horae-core v0.1.0 (/build/source/crates/core)22 Finished `test` profile [unoptimized + debuginfo] target(s) in 6m 02s23------------24 Nextest run ID 264fc7c3-1d10-43a8-988c-62ca0ed071ec with nextest profile: default25 Starting 191 tests across 1 binary26 Running [ 00:00:00] 0/191: 48 running, 0 passed, 0 skipped 27 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget28 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero29 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band30 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances31 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding32 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values33 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows34 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached35 Running [ 00:00:00] 0/191: 48 running, 0 passed, 0 skipped 36 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget37 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero38 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band39 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances40 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding41 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values42 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows43 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached44 Running [ 00:00:00] 0/191: 48 running, 0 passed, 0 skipped 45 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget46 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero47 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band48 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances49 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding50 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values51 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows52 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached53 Running [ 00:00:00] > 2/191: 48 running, 0 passed, 0 skipped 54 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget55 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero56 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band57 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances58 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding59 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values60 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows61 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached62 Running [ 00:00:00] > 2/191: 48 running, 0 passed, 0 skipped 63 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget64 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero65 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band66 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances67 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding68 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values69 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows70 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached71 Running [ 00:00:00] > 2/191: 48 running, 2 passed, 0 skipped 72 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero73 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band74 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances75 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding76 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values77 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows78 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached79 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once80 PASS [ 0.046s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget81 PASS [ 0.039s] horae-core budget::tests::large_values_do_not_overflow82 Running [ 00:00:00] > 2/191: 48 running, 2 passed, 0 skipped 83 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero84 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band85 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances86 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding87 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values88 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows89 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached90 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once91 Running [ 00:00:00] > 2/191: 48 running, 2 passed, 0 skipped 92 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero93 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band94 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances95 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding96 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values97 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows98 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached99 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once100 Running [ 00:00:00] > 2/191: 48 running, 2 passed, 0 skipped 101 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero102 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band103 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances104 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding105 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values106 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows107 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached108 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once109 Running [ 00:00:00] > 2/191: 48 running, 2 passed, 0 skipped 110 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero111 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band112 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances113 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding114 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values115 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows116 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached117 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once118 Running [ 00:00:00] => 36/191: 48 running, 36 passed, 0 skipped 119 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero120 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget121 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts122 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields123 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text124 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit125 [ 00:00:00] horae-core duration::tests::format_round_trip126 [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator127 PASS [ 0.071s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace128 PASS [ 0.152s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary129 PASS [ 0.140s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking130 PASS [ 0.130s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits131 PASS [ 0.118s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band132 PASS [ 0.152s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide133 PASS [ 0.140s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating134 PASS [ 0.116s] horae-core budget::tests::each_crossing_is_announced_once135 PASS [ 0.148s] horae-core importers::harvest::convert::tests::money_common_values_are_exact136 PASS [ 0.143s] horae-core client::tests::profile_rejects_unsupported_currency_and_null_billing_fields137 PASS [ 0.118s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values138 PASS [ 0.130s] horae-core budget::tests::a_single_jump_announces_every_crossed_band139 PASS [ 0.131s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values140 PASS [ 0.141s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow141 PASS [ 0.142s] horae-core duration::tests::minutes_between_is_exact_no_minimum142 PASS [ 0.153s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking143 PASS [ 0.152s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly144 PASS [ 0.148s] horae-core duration::tests::format_hhmm_pads_minutes145 PASS [ 0.146s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets146 PASS [ 0.172s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact147 PASS [ 0.175s] horae-core duration::tests::format_clamps_negative_to_zero148 PASS [ 0.031s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds149 PASS [ 0.176s] horae-core client::tests::profile_rejects_blank_overlong_and_null_names150 PASS [ 0.217s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform151 PASS [ 0.245s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse152 PASS [ 0.248s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up153 Running [ 00:00:00] => 36/191: 48 running, 36 passed, 0 skipped 154 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero155 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget156 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts157 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields158 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text159 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit160 [ 00:00:00] horae-core duration::tests::format_round_trip161 [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator162 PASS [ 0.249s] horae-core budget::tests::current_band_is_the_highest_reached163 PASS [ 0.299s] horae-core budget::tests::allocated_totals_exclude_blank_but_include_zero_allowances164 PASS [ 0.313s] horae-core duration::tests::parse_colon165 PASS [ 0.321s] horae-core importers::harvest::convert::tests::garbage_is_rejected166 PASS [ 0.306s] horae-core duration::tests::parse_decimal167 PASS [ 0.270s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows168 PASS [ 0.295s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding169 PASS [ 0.340s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly170 Running [ 00:00:00] => 36/191: 48 running, 36 passed, 0 skipped 171 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero172 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget173 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts174 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields175 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text176 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit177 [ 00:00:00] horae-core duration::tests::format_round_trip178 [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator179 Running [ 00:00:00] => 36/191: 48 running, 36 passed, 0 skipped 180 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero181 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget182 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts183 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields184 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text185 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit186 [ 00:00:00] horae-core duration::tests::format_round_trip187 [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator188 Running [ 00:00:00] => 46/191: 48 running, 36 passed, 0 skipped 189 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero190 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget191 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts192 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields193 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text194 [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit195 [ 00:00:00] horae-core duration::tests::format_round_trip196 [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator197 PASS [ 0.289s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract198 PASS [ 0.362s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform199 PASS [ 0.357s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day200 PASS [ 0.375s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it201 PASS [ 0.375s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals202 PASS [ 0.396s] horae-core importers::harvest::convert::tests::negative_is_rejected203 PASS [ 0.395s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator204 PASS [ 0.376s] horae-core client::tests::optional_text_normalizes_only_blank_fields205 PASS [ 0.398s] horae-core client::tests::default_rate_rejects_negative_fractional_cent_overflow_and_invalid_text206 PASS [ 0.413s] horae-core budget::tests::no_band_for_zero_or_missing_budget207 PASS [ 0.439s] horae-core duration::tests::format_round_trip208 PASS [ 0.430s] horae-core client::tests::profile_accepts_supported_currencies_and_unicode_character_limit209 Running [ 00:00:00] ==> 48/191: 48 running, 48 passed, 0 skipped 210 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero211 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts212 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent213 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero214 [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name215 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present216 [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches217 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects218 Running [ 00:00:00] ==> 48/191: 48 running, 48 passed, 0 skipped 219 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero220 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts221 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent222 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero223 [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name224 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present225 [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches226 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects227 PASS [ 0.501s] horae-core client::tests::default_rate_preserves_absence_zero_and_exact_large_amounts228 Running [ 00:00:00] ==> 49/191: 48 running, 49 passed, 0 skipped 229 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero230 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent231 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero232 [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name233 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present234 [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches235 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects236 [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches237 Running [ 00:00:00] ==> 50/191: 48 running, 49 passed, 0 skipped 238 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero239 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent240 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero241 [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name242 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present243 [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches244 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects245 [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches246 PASS [ 0.026s] horae-core permissions::approvals::tests::no_expense_read_is_needed_when_there_are_no_expenses247 PASS [ 0.016s] horae-core permissions::approvals::tests::one_unreadable_expense_denies_the_whole_supplied_set248 PASS [ 0.018s] horae-core permissions::approvals::tests::only_expense_reads_or_their_write_prerequisites_make_others_expenses_visible249 Running [ 00:00:00] ==> 52/191: 48 running, 52 passed, 0 skipped 250 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero251 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent252 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero253 [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name254 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present255 [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches256 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects257 [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches258 Running [ 00:00:00] ==> 53/191: 48 running, 52 passed, 0 skipped 259 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero260 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent261 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero262 [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name263 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present264 [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches265 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects266 [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches267 LEAK [ 0.250s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent268 PASS [ 0.032s] horae-core permissions::approvals::tests::reevaluation_does_not_reuse_prior_read_or_approval_success269 Running [ 00:00:00] 54/191: 48 running, 54 passed (1 leaky), 0 skipped 270 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero271 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero272 [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name273 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present274 [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches275 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects276 [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches277 [ 00:00:00] horae-core quires_binding_and_no_imports_or_active_work278 Running [ 00:00:00] 55/191: 48 running, 54 passed (1 leaky), 0 skipped 279 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero280 [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero281 [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name282 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present283 [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches284 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects285 [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches286 [ 00:00:00] horae-core quires_binding_and_no_imports_or_active_work287 PASS [ 0.040s] horae-core permissions::approvals::tests::removing_the_last_matching_relationship_revokes_both_domains288 PASS [ 0.306s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names289 PASS [ 0.307s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work290 LEAK [ 0.309s] horae-core invoice::tests::line_amount_90_minutes291 PASS [ 0.315s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts292 PASS [ 0.317s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name293 PASS [ 0.330s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero294 Running [ 00:00:00] 61/191: 43 running, 61 passed (2 leaky), 0 skipped 295 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero296 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present297 [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches298 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects299 [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches300 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error301 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line302 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors303 Running [ 00:00:00] 77/191: 43 running, 61 passed (2 leaky), 0 skipped 304 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero305 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present306 [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches307 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects308 [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches309 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error310 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line311 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors312 PASS [ 0.230s] horae-core permissions::approvals::tests::all_records_need_approval_scope_even_when_both_domains_are_readable313 PASS [ 0.325s] horae-core invoice::tests::line_amount_half_hour314 PASS [ 0.230s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift315 PASS [ 0.331s] horae-core invoice::tests::line_amount_zero_minutes316 PASS [ 0.329s] horae-core money::tests::addition_rejects_overflow_in_both_directions317 PASS [ 0.330s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources318 PASS [ 0.334s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow319 PASS [ 0.236s] horae-core permissions::approvals::tests::expense_read_scope_and_approval_scope_form_an_intersection320 PASS [ 0.334s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts321 PASS [ 0.331s] horae-core invoice::tests::resolve_rate_cascade322 PASS [ 0.331s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches323 PASS [ 0.335s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line324 PASS [ 0.336s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error325 PASS [ 0.336s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal326 PASS [ 0.236s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit327 PASS [ 0.247s] horae-core permissions::approvals::tests::catalog_grants_cannot_substitute_for_approval328 PASS [ 0.117s] horae-core permissions::catalog::stored_tests::rejects_duplicate_grants_instead_of_silently_deduplicating329 Running [ 00:00:00] 78/191: 48 running, 78 passed (2 leaky), 0 skipped 330 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero331 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present332 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects333 [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches334 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors335 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow336 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order337 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available338 Running [ 00:00:00] 78/191: 48 running, 78 passed (2 leaky), 0 skipped 339 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero340 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present341 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects342 [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches343 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors344 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow345 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order346 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available347 PASS [ 0.413s] horae-core importers::harvest::keys::tests::time_entry_key_distinguishes_and_matches348 PASS [ 0.065s] horae-core permissions::catalog::stored_tests::restores_custom_selection_without_reapplying_profile_defaults349 PASS [ 0.065s] horae-core permissions::catalog::tests::adding_all_catalog_grants_produces_exactly_the_catalog350 PASS [ 0.066s] horae-core permissions::catalog::stored_tests::restores_each_builtin_selection_without_changing_grants351 PASS [ 0.066s] horae-core permissions::catalog::tests::empty_selection_includes_member_floor352 PASS [ 0.066s] horae-core permissions::catalog::tests::administrator_selection_covers_known_catalog_without_unknown_ids353 PASS [ 0.066s] horae-core permissions::catalog::tests::catalog_has_fifty_distinct_known_grants354 PASS [ 0.067s] horae-core permissions::catalog::tests::every_profile_includes_floor_and_is_closed_under_dependencies355 PASS [ 0.072s] horae-core permissions::catalog::tests::member_has_only_own_time_and_expense_access356 Running [ 00:00:00] 87/191: 48 running, 87 passed (2 leaky), 0 skipped 357 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero358 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present359 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects360 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors361 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow362 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order363 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available364 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes365 Running [ 00:00:00] 91/191: 48 running, 87 passed (2 leaky), 0 skipped 366 [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero367 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present368 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects369 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors370 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow371 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order372 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available373 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes374 Running [ 00:00:01] 93/191: 48 running, 93 passed (2 leaky), 0 skipped 375 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero376 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present377 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects378 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors379 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow380 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order381 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available382 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes383 PASS [ 0.057s] horae-core permissions::catalog::tests::removing_absent_permission_is_an_idempotent_no_op384 PASS [ 0.091s] horae-core permissions::catalog::stored_tests::rejects_every_missing_prerequisite_without_repairing_input385 PASS [ 0.103s] horae-core permissions::catalog::tests::profiles_reject_legacy_rank_names_and_unknown_values386 PASS [ 0.106s] horae-core permissions::catalog::tests::dependency_graph_matches_the_reference_edges_without_extra_cross_resource_grants387 PASS [ 0.110s] horae-core permissions::catalog::stored_tests::stored_order_does_not_change_the_selected_set388 PASS [ 0.051s] horae-core permissions::catalog::tests::report_and_withdrawal_grants_do_not_add_unrelated_authority389 Running [ 00:00:01] 93/191: 48 running, 93 passed (2 leaky), 0 skipped 390 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero391 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present392 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects393 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors394 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow395 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order396 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available397 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes398 Running [ 00:00:01] 93/191: 48 running, 93 passed (2 leaky), 0 skipped 399 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero400 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present401 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects402 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors403 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow404 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order405 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available406 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes407 Running [ 00:00:01] 93/191: 48 running, 93 passed (2 leaky), 0 skipped 408 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero409 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present410 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects411 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors412 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow413 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order414 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available415 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes416 Running [ 00:00:01] 94/191: 48 running, 93 passed (2 leaky), 0 skipped 417 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero418 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present419 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects420 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors421 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow422 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order423 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available424 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes425 Running [ 00:00:01] 94/191: 48 running, 93 passed (2 leaky), 0 skipped 426 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero427 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present428 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects429 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors430 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow431 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order432 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available433 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes434 Running [ 00:00:01] 95/191: 48 running, 93 passed (2 leaky), 0 skipped 435 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero436 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present437 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects438 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors439 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow440 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order441 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available442 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes443 Running [ 00:00:01] 95/191: 48 running, 93 passed (2 leaky), 0 skipped 444 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero445 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present446 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects447 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors448 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow449 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order450 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available451 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes452 Running [ 00:00:01] 95/191: 48 running, 93 passed (2 leaky), 0 skipped 453 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero454 [ 00:00:00] horae-core tests::project_key_prefers_code_when_present455 [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects456 [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors457 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow458 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order459 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available460 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes461 Running [ 00:00:01] 95/191: 47 running, 95 passed (2 leaky), 0 skipped 462 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero463 [ 00:00:01] horae-core tests::project_key_prefers_code_when_present464 [ 00:00:01] horae-core keys::tests::task_key_shared_across_projects465 [ 00:00:01] horae-core s_when_errored_counts_match_collected_errors466 [ 00:00:01] horae-core rejects_negative_lines_and_subtotal_overflow467 [ 00:00:01] horae-core s_largest_remainder_then_stable_source_order468 [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available469 [ 00:00:01] horae-core _apply_discount_before_non_compounding_taxes470 PASS [ 0.043s] horae-core permissions::person_management::tests::combined_unrelated_grants_do_not_create_person_management_eligibility471 PASS [ 0.073s] horae-core permissions::catalog::tests::template_names_reject_empty_and_overlong_unicode_names472 Running [ 00:00:01] 95/191: 47 running, 95 passed (2 leaky), 0 skipped 473 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero474 [ 00:00:01] horae-core tests::project_key_prefers_code_when_present475 [ 00:00:01] horae-core keys::tests::task_key_shared_across_projects476 [ 00:00:01] horae-core s_when_errored_counts_match_collected_errors477 [ 00:00:01] horae-core rejects_negative_lines_and_subtotal_overflow478 [ 00:00:01] horae-core s_largest_remainder_then_stable_source_order479 [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available480 [ 00:00:01] horae-core _apply_discount_before_non_compounding_taxes481 Running [ 00:00:01] 95/191: 47 running, 95 passed (2 leaky), 0 skipped 482 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero483 [ 00:00:01] horae-core tests::project_key_prefers_code_when_present484 [ 00:00:01] horae-core keys::tests::task_key_shared_across_projects485 [ 00:00:01] horae-core s_when_errored_counts_match_collected_errors486 [ 00:00:01] horae-core rejects_negative_lines_and_subtotal_overflow487 [ 00:00:01] horae-core s_largest_remainder_then_stable_source_order488 [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available489 [ 00:00:01] horae-core _apply_discount_before_non_compounding_taxes490 Running [ 00:00:01] 95/191: 47 running, 95 passed (2 leaky), 0 skipped 491 [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero492 [ 00:00:01] horae-core tests::project_key_prefers_code_when_present493 [ 00:00:01] horae-core keys::tests::task_key_shared_across_projects494 [ 00:00:01] horae-core s_when_errored_counts_match_collected_errors495 [ 00:00:01] horae-core rejects_negative_lines_and_subtotal_overflow496 [ 00:00:01] horae-core s_largest_remainder_then_stable_source_order497 [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available498 [ 00:00:01] horae-core _apply_discount_before_non_compounding_taxes499 Running [ 00:00:01] 136/191: 48 running, 136 passed (17 leaky), 0 skipped 500 [ 00:00:00] horae-core foreign_provenance_deny_even_with_all_grants501 [ 00:00:00] horae-core ions_and_input_duplicates_do_not_infer_scope502 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection503 [ 00:00:00] horae-core _added_and_removing_it_removes_the_dependent504 [ 00:00:00] horae-core val_need_neither_grants_nor_a_separate_actor505 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access506 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope507 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension508 PASS [ 0.086s] horae-core permissions::catalog::tests::removing_one_financial_permission_preserves_unrelated_families509 PASS [ 0.087s] horae-core permissions::catalog::tests::removing_managed_time_read_also_removes_all_reads_writes_and_approvals510 PASS [ 0.046s] horae-core permissions::person_management::tests::own_tracking_floor_does_not_qualify511 PASS [ 0.100s] horae-core permissions::catalog::tests::template_names_trim_without_changing_display_or_internal_spaces512 PASS [ 0.171s] horae-core permissions::catalog::tests::normalization_is_idempotent_order_independent_and_duplicate_free513 PASS [ 0.109s] horae-core permissions::catalog::tests::removing_invoice_draft_write_keeps_read_but_removes_managed_and_all_write514 LEAK [ 0.540s] horae-core invoice::tests::line_amount_exact_hour515 LEAK [ 0.539s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results516 LEAK [ 0.539s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even517 LEAK [ 0.459s] horae-core permissions::approvals::tests::empty_record_sets_do_not_remove_identity_or_explicit_grant_checks518 LEAK [ 0.217s] horae-core permissions::catalog::stored_tests::rejects_unsupported_versions_even_for_valid_grants519 LEAK [ 0.276s] horae-core permissions::catalog::stored_tests::rejects_each_missing_floor_grant520 LEAK [ 0.653s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate521 PASS [ 0.659s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present522 PASS [ 0.560s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent523 PASS [ 0.659s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow524 PASS [ 0.221s] horae-core permissions::person_management::tests::each_catalog_grant_has_the_specified_compatibility_without_changing_grants525 LEAK [ 0.658s] horae-core invoice::tests::invoice_adjustments_round_components_half_up526 PASS [ 0.240s] horae-core permissions::person_management::tests::any_compatible_grant_suffices_in_every_pair527 LEAK [ 0.555s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign528 LEAK [ 0.552s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts529 LEAK [ 0.553s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs530 PASS [ 0.663s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available531 PASS [ 0.664s] horae-core invoice::tests::line_amount_odd_minutes532 LEAK [ 0.403s] horae-core permissions::catalog::tests::known_permission_name_decodes_without_legacy_role_conversion533 Running [ 00:00:01] 136/191: 48 running, 136 passed (17 leaky), 0 skipped 534 [ 00:00:00] horae-core foreign_provenance_deny_even_with_all_grants535 [ 00:00:00] horae-core ions_and_input_duplicates_do_not_infer_scope536 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection537 [ 00:00:00] horae-core _added_and_removing_it_removes_the_dependent538 [ 00:00:00] horae-core val_need_neither_grants_nor_a_separate_actor539 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access540 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope541 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension542 PASS [ 0.741s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order543 PASS [ 0.742s] horae-core invoice::tests::line_amount_zero_rate544 PASS [ 0.744s] horae-core money::tests::addition_retains_currency_checks_and_representable_boundaries545 PASS [ 0.746s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes546 PASS [ 0.743s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors547 PASS [ 0.334s] horae-core permissions::catalog::tests::removing_any_non_floor_grant_keeps_the_remaining_selection_closed548 PASS [ 0.278s] horae-core permissions::person_management::tests::self_link_rejects_the_proposal_in_every_position_without_filtering_it549 LEAK [ 0.440s] horae-core permissions::catalog::stored_tests::rejects_empty_saved_selection_instead_of_adding_member_floor550 LEAK [ 0.402s] horae-core permissions::catalog::tests::direct_profile_defaults_match_the_known_reference_catalog551 PASS [ 1.297s] horae-core budget::tests::allocated_totals_do_not_hide_individual_overruns_or_recover_overflow_as_zero552 PASS [ 1.007s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects553 PASS [ 0.666s] horae-core permissions::catalog::tests::floor_cannot_be_removed_or_partially_modified554 PASS [ 0.670s] horae-core permissions::catalog::tests::finance_profiles_cannot_edit_rates_and_project_manager_has_no_financial_grants555 PASS [ 0.567s] horae-core permissions::person_management::tests::eligibility_tracks_last_compatible_grant_loss_and_restoration556 PASS [ 0.149s] horae-core permissions::catalog::tests::unknown_permission_names_are_rejected557 LEAK [ 0.403s] horae-core permissions::catalog::tests::approve_all_includes_read_scopes_but_not_write_or_expense_management558 Running [ 00:00:01] 136/191: 48 running, 136 passed (17 leaky), 0 skipped 559 [ 00:00:00] horae-core foreign_provenance_deny_even_with_all_grants560 [ 00:00:00] horae-core ions_and_input_duplicates_do_not_infer_scope561 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection562 [ 00:00:00] horae-core _added_and_removing_it_removes_the_dependent563 [ 00:00:00] horae-core val_need_neither_grants_nor_a_separate_actor564 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access565 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope566 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension567 PASS [ 0.940s] horae-core permissions::approvals::tests::missing_dimensions_and_input_duplicates_do_not_infer_scope568 PASS [ 0.605s] horae-core permissions::person_management::tests::other_people_and_empty_removal_need_neither_grants_nor_a_separate_actor569 PASS [ 0.950s] horae-core permissions::approvals::tests::inactive_and_foreign_provenance_deny_even_with_all_grants570 PASS [ 0.723s] horae-core permissions::catalog::tests::every_declared_dependency_is_added_and_removing_it_removes_the_dependent571 Running [ 00:00:01] 140/191: 48 running, 140 passed (17 leaky), 0 skipped 572 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection573 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access574 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope575 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension576 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write577 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions578 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value579 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection580 Running [ 00:00:01] 140/191: 48 running, 140 passed (17 leaky), 0 skipped 581 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection582 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access583 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope584 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension585 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write586 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions587 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value588 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection589 Running [ 00:00:01] 140/191: 48 running, 140 passed (17 leaky), 0 skipped 590 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection591 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access592 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope593 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension594 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write595 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions596 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value597 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection598 Running [ 00:00:01] 141/191: 48 running, 140 passed (17 leaky), 0 skipped 599 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection600 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access601 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope602 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension603 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write604 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions605 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value606 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection607 PASS [ 0.129s] horae-core project::tests::basics_reject_blank_and_overlong_names608 PASS [ 0.822s] horae-core permissions::catalog::stored_tests::restores_each_valid_grant_pair_and_its_revoked_selection609 Running [ 00:00:01] 142/191: 48 running, 142 passed (17 leaky), 0 skipped 610 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access611 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope612 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension613 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write614 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions615 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value616 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection617 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants618 Running [ 00:00:01] 142/191: 48 running, 142 passed (17 leaky), 0 skipped 619 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access620 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope621 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension622 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write623 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions624 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value625 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection626 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants627 Running [ 00:00:01] 142/191: 48 running, 142 passed (17 leaky), 0 skipped 628 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access629 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope630 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension631 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write632 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions633 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value634 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection635 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants636 Running [ 00:00:01] 142/191: 48 running, 142 passed (17 leaky), 0 skipped 637 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access638 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope639 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension640 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write641 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions642 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value643 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection644 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants645 Running [ 00:00:01] 142/191: 48 running, 142 passed (17 leaky), 0 skipped 646 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access647 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope648 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension649 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write650 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions651 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value652 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection653 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants654 Running [ 00:00:01] 144/191: 48 running, 142 passed (17 leaky), 0 skipped 655 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access656 [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope657 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension658 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write659 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions660 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value661 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection662 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants663 PASS [ 0.276s] horae-core rounding::tests::identity_when_inc_zero664 LEAK [ 0.275s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials665 LEAK [ 0.311s] horae-core permissions::rates::tests::billable_actions_use_only_their_own_grant_and_owner_scope666 Running [ 00:00:01] 145/191: 46 running, 145 passed (19 leaky), 0 skipped 667 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access668 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension669 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write670 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions671 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value672 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection673 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants674 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit675 Running [ 00:00:01] 146/191: 46 running, 145 passed (19 leaky), 0 skipped 676 [ 00:00:00] horae-core _defaults_have_the_approved_financial_access677 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension678 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write679 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions680 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value681 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection682 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants683 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit684 PASS [ 0.333s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency685 PASS [ 0.341s] horae-core permissions::rates::tests::all_six_defaults_have_the_approved_financial_access686 Running [ 00:00:01] 147/191: 44 running, 147 passed (19 leaky), 0 skipped 687 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension688 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write689 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions690 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value691 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection692 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants693 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit694 [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields695 Running [ 00:00:01] 153/191: 44 running, 147 passed (19 leaky), 0 skipped 696 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension697 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write698 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions699 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value700 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection701 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants702 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit703 [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields704 PASS [ 0.367s] horae-core project::tests::monthly_fee_dates_follow_calendar_months705 PASS [ 0.375s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs706 PASS [ 0.375s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax707 PASS [ 0.373s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight708 PASS [ 0.380s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones709 PASS [ 0.374s] horae-core time_of_day::tests::format_round_trips710 PASS [ 0.396s] horae-core state::tests::only_manager_can_approve711 PASS [ 0.407s] horae-core project::tests::percentage_preserves_exact_hundredths712 Running [ 00:00:01] 155/191: 36 running, 155 passed (19 leaky), 0 skipped 713 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension714 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write715 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions716 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value717 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection718 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants719 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit720 [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields721 Running [ 00:00:01] 156/191: 36 running, 155 passed (19 leaky), 0 skipped 722 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension723 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write724 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions725 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value726 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection727 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants728 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit729 [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields730 PASS [ 0.435s] horae-core rounding::tests::up_and_down731 PASS [ 0.437s] horae-core state::tests::member_submit_and_reopen732 PASS [ 0.446s] horae-core project::tests::payment_terms_support_receipt_and_checked_days733 Running [ 00:00:01] 158/191: 33 running, 158 passed (19 leaky), 0 skipped 734 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension735 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write736 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions737 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value738 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection739 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants740 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit741 [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields742 Running [ 00:00:02] 159/191: 33 running, 158 passed (19 leaky), 0 skipped 743 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension744 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write745 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions746 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value747 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection748 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants749 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit750 [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields751 PASS [ 0.470s] horae-core time_of_day::tests::format_12h_matches_harvest_style752 PASS [ 0.489s] horae-core permissions::rates::tests::unchanged_rate_edit_requires_no_financial_write_grant753 Running [ 00:00:02] 160/191: 31 running, 160 passed (19 leaky), 0 skipped 754 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension755 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write756 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions757 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value758 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection759 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants760 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit761 [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields762 Running [ 00:00:02] 160/191: 31 running, 160 passed (19 leaky), 0 skipped 763 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension764 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write765 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions766 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value767 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection768 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants769 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit770 [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields771 Running [ 00:00:02] 160/191: 31 running, 160 passed (19 leaky), 0 skipped 772 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension773 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write774 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions775 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value776 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection777 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants778 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit779 [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields780 Running [ 00:00:02] 160/191: 31 running, 160 passed (19 leaky), 0 skipped 781 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension782 [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write783 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions784 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value785 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection786 [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants787 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit788 [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields789 PASS [ 0.569s] horae-core permissions::tests::every_scope_combination_matches_only_explicitly_granted_dimensions790 PASS [ 0.563s] horae-core permissions::rates::tests::identity_and_tenant_mismatches_deny_even_all_financial_grants791 PASS [ 0.563s] horae-core permissions::rates::tests::cost_and_billable_grants_are_independent_and_read_does_not_allow_write792 PASS [ 0.568s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates793 PASS [ 0.569s] horae-core permissions::tests::scope_union_obeys_set_laws794 PASS [ 0.569s] horae-core permissions::tests::removing_an_assignment_removes_only_that_matching_dimension795 PASS [ 0.569s] horae-core permissions::rates::tests::unrelated_catalog_grants_never_authorize_ordinary_financial_fields796 PASS [ 0.573s] horae-core state::tests::invoiced_is_final797 Running [ 00:00:02] 168/191: 23 running, 168 passed (19 leaky), 0 skipped 798 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension799 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions800 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value801 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection802 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit803 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match804 [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates805 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination806 Running [ 00:00:02] 168/191: 23 running, 168 passed (19 leaky), 0 skipped 807 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension808 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions809 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value810 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection811 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit812 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match813 [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates814 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination815 Running [ 00:00:02] 168/191: 23 running, 168 passed (19 leaky), 0 skipped 816 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension817 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions818 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value819 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection820 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit821 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match822 [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates823 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination824 Running [ 00:00:02] 168/191: 23 running, 168 passed (19 leaky), 0 skipped 825 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension826 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions827 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value828 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection829 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit830 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match831 [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates832 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination833 Running [ 00:00:02] 168/191: 23 running, 168 passed (19 leaky), 0 skipped 834 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension835 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions836 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value837 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection838 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit839 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match840 [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates841 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination842 Running [ 00:00:02] 173/191: 23 running, 168 passed (19 leaky), 0 skipped 843 [ 00:00:00] horae-core er_never_uses_the_other_management_dimension844 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions845 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value846 [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection847 [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit848 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match849 [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates850 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination851 LEAK [ 0.726s] horae-core state::tests::managers_invoice_open_and_approved_time852 LEAK [ 0.730s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero853 LEAK [ 0.724s] horae-core permissions::rates::tests::grant_removal_denies_without_mutating_the_remaining_selection854 LEAK [ 0.729s] horae-core permissions::rates::tests::billable_owner_never_uses_the_other_management_dimension855 LEAK [ 0.729s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total856 LEAK [ 0.727s] horae-core time_of_day::tests::parse_reads_24h857 LEAK [ 0.733s] horae-core time_of_day::tests::parse_reads_12h_including_edges858 LEAK [ 0.693s] horae-core week::tests::configured_week_can_start_in_the_previous_year859 LEAK [ 0.732s] horae-core permissions::rates::tests::read_only_cost_grant_cannot_authorize_an_explicit_rate_edit860 Running [ 00:00:02] 177/191: 14 running, 177 passed (28 leaky), 0 skipped 861 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions862 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value863 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match864 [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates865 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination866 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates867 [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc868 [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up869 Running [ 00:00:02] 177/191: 14 running, 177 passed (28 leaky), 0 skipped 870 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions871 [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value872 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match873 [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates874 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination875 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates876 [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc877 [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up878 LEAK [ 0.753s] horae-core permissions::tests::assignment_matching_searches_all_members_and_is_insensitive_to_duplicates879 LEAK [ 0.662s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days880 LEAK [ 0.756s] horae-core permissions::rates::tests::explicit_rate_edits_require_write_even_for_zero_or_an_equal_value881 Running [ 00:00:02] 180/191: 11 running, 180 passed (31 leaky), 0 skipped 882 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions883 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match884 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination885 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates886 [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc887 [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up888 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage889 [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step890 Running [ 00:00:02] 181/191: 11 running, 180 passed (31 leaky), 0 skipped 891 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions892 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match893 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination894 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates895 [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc896 [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up897 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage898 [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step899 LEAK [ 0.550s] horae-core week::tests::maps_any_weekday_to_its_monday900 LEAK [ 0.803s] horae-core rounding::tests::result_is_multiple_of_inc901 Running [ 00:00:02] 182/191: 9 running, 182 passed (33 leaky), 0 skipped 902 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions903 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match904 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination905 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates906 [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up907 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage908 [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step909 [ 00:00:00] horae-core ests::budget_kind_wire_strings_match_db_enum910 Running [ 00:00:02] 182/191: 9 running, 182 passed (33 leaky), 0 skipped 911 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions912 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match913 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination914 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates915 [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up916 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage917 [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step918 [ 00:00:00] horae-core ests::budget_kind_wire_strings_match_db_enum919 PASS [ 0.763s] horae-core week::tests::configured_week_reports_an_unrepresentable_start920 Running [ 00:00:02] 183/191: 8 running, 183 passed (33 leaky), 0 skipped 921 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions922 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match923 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination924 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates925 [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up926 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage927 [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step928 [ 00:00:00] horae-core ests::budget_kind_wire_strings_match_db_enum929 Running [ 00:00:02] 183/191: 8 running, 183 passed (33 leaky), 0 skipped 930 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions931 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match932 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination933 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates934 [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up935 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage936 [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step937 [ 00:00:00] horae-core ests::budget_kind_wire_strings_match_db_enum938 Running [ 00:00:02] 183/191: 8 running, 183 passed (33 leaky), 0 skipped 939 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions940 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match941 [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination942 [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates943 [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up944 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage945 [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step946 [ 00:00:00] horae-core ests::budget_kind_wire_strings_match_db_enum947 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 948 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions949 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match950 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination951 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates952 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up953 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage954 [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step955956 PASS [ 0.942s] horae-core types::tests::budget_kind_wire_strings_match_db_enum957 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 958 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions959 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match960 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination961 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates962 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up963 [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage964 [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step965966 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 967 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions968 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match969 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination970 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates971 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up972 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage973 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step974975 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 976 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions977 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match978 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination979 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates980 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up981 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage982 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step983984 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 985 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions986 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match987 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination988 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates989 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up990 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage991 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step992993 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 994 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions995 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match996 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination997 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates998 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up999 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1000 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step10011002 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 1003 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1004 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1005 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination1006 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1007 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1008 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1009 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step10101011 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 1012 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1013 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1014 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination1015 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1016 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1017 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1018 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step10191020 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 1021 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1022 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1023 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination1024 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1025 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1026 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1027 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step10281029 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 1030 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1031 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1032 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination1033 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1034 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1035 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1036 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step10371038 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 1039 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1040 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1041 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination1042 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1043 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1044 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1045 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step10461047 Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped 1048 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1049 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1050 [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination1051 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1052 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1053 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1054 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step10551056 Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1057 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1058 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1059 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1060 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1061 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1062 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step106310641065 PASS [ 1.241s] horae-core permissions::tests::inactive_or_foreign_context_is_denied_for_every_scope_combination1066 Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1067 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1068 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1069 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1070 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1071 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1072 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step107310741075 Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1076 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1077 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1078 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1079 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1080 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1081 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step108210831084 Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1085 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1086 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1087 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1088 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1089 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1090 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step109110921093 Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1094 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1095 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1096 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1097 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1098 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1099 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step110011011102 Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1103 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1104 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1105 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1106 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1107 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1108 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step110911101111 Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1112 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1113 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1114 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1115 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1116 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1117 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step111811191120 Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1121 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1122 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1123 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1124 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1125 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1126 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step112711281129 Running [ 00:00:03] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1130 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1131 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1132 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1133 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1134 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1135 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step113611371138 Running [ 00:00:03] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1139 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1140 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1141 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1142 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1143 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1144 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step114511461147 Running [ 00:00:03] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1148 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1149 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1150 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1151 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1152 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1153 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step115411551156 Running [ 00:00:03] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1157 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1158 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1159 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1160 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1161 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1162 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step116311641165 Running [ 00:00:03] 185/191: 6 running, 185 passed (33 leaky), 0 skipped 1166 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1167 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1168 [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates1169 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1170 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1171 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step117211731174 PASS [ 1.573s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates1175 Running [ 00:00:03] 186/191: 5 running, 186 passed (33 leaky), 0 skipped 1176 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1177 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1178 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1179 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1180 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step1181118211831184 Running [ 00:00:03] 187/191: 5 running, 186 passed (33 leaky), 0 skipped 1185 [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions1186 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1187 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1188 [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage1189 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step1190119111921193 PASS [ 1.579s] horae-core permissions::rates::tests::removing_read_prerequisites_denies_both_actions1194 PASS [ 1.607s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage1195 Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped 1196 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1197 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1198 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step119912001201120212031204 Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped 1205 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1206 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1207 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step120812091210121112121213 Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped 1214 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1215 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1216 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step121712181219122012211222 Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped 1223 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1224 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1225 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step122612271228122912301231 Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped 1232 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1233 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1234 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step123512361237123812391240 Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped 1241 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1242 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1243 [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step124412451246124712481249 PASS [ 1.750s] horae-core time_of_day::tests::snap_rounds_to_nearest_step1250 Running [ 00:00:03] 189/191: 2 running, 189 passed (33 leaky), 0 skipped 1251 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1252 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1253125412551256125712581259 Running [ 00:00:03] 189/191: 2 running, 189 passed (33 leaky), 0 skipped 1260 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1261 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1262126312641265126612671268 Running [ 00:00:03] 189/191: 2 running, 189 passed (33 leaky), 0 skipped 1269 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1270 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1271127212731274127512761277 Running [ 00:00:03] 189/191: 2 running, 189 passed (33 leaky), 0 skipped 1278 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match1279 [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up1280128112821283128412851286 PASS [ 1.871s] horae-core rounding::tests::nearest_ties_round_up1287 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1288 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match12891290129112921293129412951296 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1297 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match12981299130013011302130313041305 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1306 [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match13071308130913101311131213131314 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1315 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match13161317131813191320132113221323 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1324 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match13251326132713281329133013311332 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1333 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match13341335133613371338133913401341 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1342 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match13431344134513461347134813491350 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1351 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match13521353135413551356135713581359 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1360 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match13611362136313641365136613671368 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1369 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match13701371137213731374137513761377 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1378 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match13791380138113821383138413851386 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1387 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match13881389139013911392139313941395 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1396 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match13971398139914001401140214031404 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1405 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match14061407140814091410141114121413 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1414 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match14151416141714181419142014211422 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1423 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match14241425142614271428142914301431 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1432 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match14331434143514361437143814391440 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1441 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match14421443144414451446144714481449 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1450 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match14511452145314541455145614571458 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1459 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match14601461146214631464146514661467 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1468 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match14691470147114721473147414751476 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1477 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match14781479148014811482148314841485 Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1486 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match14871488148914901491149214931494 Running [ 00:00:04] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1495 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match14961497149814991500150115021503 Running [ 00:00:04] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1504 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match15051506150715081509151015111512 Running [ 00:00:04] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1513 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match15141515151615171518151915201521 Running [ 00:00:04] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1522 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match15231524152515261527152815291530 Running [ 00:00:04] 190/191: 1 running, 190 passed (33 leaky), 0 skipped 1531 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match15321533153415351536153715381539 PASS [ 2.553s] horae-core permissions::tests::assignments_do_not_grant_scope_and_missing_assignments_do_not_match1540------------1541 Summary [ 4.130s] 191 tests run: 191 passed (33 leaky), 0 skipped1542 Running [ 00:00:04] 191/191: 1 running, 190 passed (33 leaky), 0 skipped 1543 [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match15441545154615471548154915501551The files belonging to this database system will be owned by user "nixbld".1552This user must also own the server process.15531554The database cluster will be initialized with locale "C".1555The default text search configuration will be set to "english".15561557Data page checksums are disabled.15581559fixing permissions on existing directory /build/tmp.Kkup4DQt1A ... ok1560creating subdirectories ... ok1561selecting dynamic shared memory implementation ... posix1562selecting default "max_connections" ... 1001563selecting default "shared_buffers" ... 128MB1564selecting default time zone ... UTC1565creating configuration files ... ok1566running bootstrap script ... ok1567performing post-bootstrap initialization ... ok1568syncing data to disk ... ok15691570initdb: warning: enabling "trust" authentication for local connections1571initdb: 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.15721573Success. You can now start the database server using:15741575 pg_ctl -D /build/tmp.Kkup4DQt1A -l logfile start15761577waiting for server to start.... done1578server started1579+++ command cargo test -p horae --features server -- --test-threads 81580 Compiling horae v0.1.0 (/build/source/crates/horae)1581 Compiling horae-core v0.1.0 (/build/source/crates/core)