horae-tests-0.1.0
checks.x86_64-linux.tests
· build #464
· raw
unpackPhase
1unpacking source archive /nix/store/qnzz1spglcrcyx9y29fpfq616pp7q5ns-source2source root is sourcepatchPhase
3Executing configureCargoCommonVars4decompressing cargo artifacts from /nix/store/p0fga5r55aw5iwdy8h0dpr32lhcczl5i-horae-checks-deps-0.1.0/target.tar.zst to target5patchPhase completed in 4 minutes 4 secondsconfigurePhase
6will append /build/source/.cargo-home/config.toml with contents of /nix/store/i0bj632any4bjpvnl84zc2h7cq8zn0mz-vendor-cargo-deps/config.toml7default configurePhase, nothing to dobuildPhase
8+++ command cargo nextest run -p horae-core --test-threads 489 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 uuid v1.23.415 Compiling quote v1.0.4616 Compiling syn v2.0.11817 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 2m 18s23------------24 Nextest run ID 2748fdcf-1010-478b-b527-8a277869afd7 with nextest profile: default25 Starting 189 tests across 1 binary26 Running [ 00:00:00] 0/189: 7 running, 0 passed, 0 skipped 27 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding28 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget29 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values30 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band31 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows32 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached33 Running [ 00:00:00] 0/189: 48 running, 0 passed, 0 skipped 34 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding35 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget36 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values37 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band38 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows39 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached40 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once41 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets42 Running [ 00:00:00] 0/189: 48 running, 0 passed, 0 skipped 43 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding44 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget45 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values46 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band47 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows48 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached49 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once50 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets51 Running [ 00:00:00] 0/189: 48 running, 0 passed, 0 skipped 52 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding53 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget54 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values55 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band56 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows57 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached58 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once59 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets60 Running [ 00:00:00] 0/189: 48 running, 0 passed, 0 skipped 61 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding62 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget63 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values64 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band65 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows66 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached67 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once68 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets69 Running [ 00:00:00] > 2/189: 48 running, 2 passed, 0 skipped 70 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding71 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget72 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band73 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows74 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached75 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once76 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets77 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget78 PASS [ 0.049s] horae-core duration::tests::format_clamps_negative_to_zero79 PASS [ 0.067s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values80 Running [ 00:00:00] > 2/189: 48 running, 2 passed, 0 skipped 81 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding82 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget83 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band84 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows85 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached86 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once87 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets88 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget89 Running [ 00:00:00] > 8/189: 48 running, 2 passed, 0 skipped 90 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding91 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget92 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band93 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows94 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached95 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once96 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets97 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget98 PASS [ 0.211s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget99 PASS [ 0.134s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly100 PASS [ 0.189s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract101 PASS [ 0.197s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows102 PASS [ 0.184s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator103 PASS [ 0.226s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding104 PASS [ 0.180s] horae-core duration::tests::parse_decimal105 PASS [ 0.171s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating106 Running [ 00:00:00] > 10/189: 48 running, 10 passed, 0 skipped 107 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band108 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached109 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once110 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets111 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget112 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow113 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts114 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band115 Running [ 00:00:00] > 10/189: 48 running, 10 passed, 0 skipped 116 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band117 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached118 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once119 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets120 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget121 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow122 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts123 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band124 Running [ 00:00:00] > 10/189: 48 running, 10 passed, 0 skipped 125 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band126 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached127 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once128 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets129 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget130 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow131 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts132 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band133 Running [ 00:00:00] > 12/189: 48 running, 10 passed, 0 skipped 134 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band135 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached136 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once137 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets138 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget139 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow140 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts141 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band142 PASS [ 0.049s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names143 PASS [ 0.045s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects144 PASS [ 0.211s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow145 PASS [ 0.196s] horae-core importers::harvest::convert::tests::garbage_is_rejected146 Running [ 00:00:00] > 14/189: 48 running, 14 passed, 0 skipped 147 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band148 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached149 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once150 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets151 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget152 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow153 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts154 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band155 Running [ 00:00:00] > 18/189: 48 running, 14 passed, 0 skipped 156 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band157 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached158 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once159 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets160 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget161 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow162 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts163 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band164 PASS [ 0.135s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work165 PASS [ 0.029s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts166 PASS [ 0.176s] horae-core duration::tests::format_hhmm_pads_minutes167 PASS [ 0.142s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches168 PASS [ 0.336s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly169 PASS [ 0.039s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal170 Running [ 00:00:00] > 20/189: 48 running, 20 passed, 0 skipped 171 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band172 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached173 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once174 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets175 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget176 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow177 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts178 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band179 Running [ 00:00:00] > 20/189: 48 running, 20 passed, 0 skipped 180 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band181 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached182 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once183 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets184 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget185 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow186 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts187 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band188 PASS [ 0.175s] horae-core importers::harvest::keys::tests::time_entry_key_distinguishes_and_matches189 Running [ 00:00:00] > 21/189: 48 running, 21 passed, 0 skipped 190 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band191 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached192 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once193 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets194 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget195 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow196 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts197 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band198 Running [ 00:00:00] > 23/189: 48 running, 21 passed, 0 skipped 199 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band200 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached201 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once202 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets203 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget204 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow205 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts206 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band207 Running [ 00:00:00] => 24/189: 48 running, 24 passed, 0 skipped 208 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached209 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once210 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets211 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget212 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow213 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts214 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band215 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields216 PASS [ 0.445s] horae-core budget::tests::a_single_jump_announces_every_crossed_band217 PASS [ 0.098s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes218 PASS [ 0.425s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact219 Running [ 00:00:00] => 24/189: 48 running, 24 passed, 0 skipped 220 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached221 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once222 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets223 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget224 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow225 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts226 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band227 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields228 Running [ 00:00:00] => 28/189: 48 running, 24 passed, 0 skipped 229 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached230 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once231 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets232 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget233 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow234 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts235 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band236 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields237 PASS [ 0.173s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow238 PASS [ 0.075s] horae-core invoice::tests::line_amount_half_hour239 PASS [ 0.379s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse240 PASS [ 0.401s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform241 Running [ 00:00:00] => 28/189: 48 running, 28 passed, 0 skipped 242 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached243 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once244 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets245 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget246 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow247 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts248 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band249 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields250 Running [ 00:00:00] => 32/189: 48 running, 28 passed, 0 skipped 251 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached252 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once253 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets254 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget255 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow256 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts257 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band258 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields259 PASS [ 0.475s] horae-core importers::harvest::convert::tests::negative_is_rejected260 PASS [ 0.204s] horae-core invoice::tests::invoice_adjustments_round_components_half_up261 PASS [ 0.136s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts262 PASS [ 0.595s] horae-core budget::tests::current_band_is_the_highest_reached263 PASS [ 0.031s] horae-core invoice::tests::line_amount_zero_rate264 Running [ 00:00:00] => 33/189: 48 running, 33 passed, 0 skipped 265 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once266 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets267 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget268 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow269 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts270 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band271 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields272 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text273 Running [ 00:00:00] => 38/189: 48 running, 33 passed, 0 skipped 274 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once275 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets276 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget277 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow278 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts279 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band280 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields281 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text282 PASS [ 0.632s] horae-core budget::tests::each_crossing_is_announced_once283 PASS [ 0.574s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values284 PASS [ 0.022s] horae-core money::tests::addition_rejects_overflow_in_both_directions285 PASS [ 0.613s] horae-core client::tests::profile_rejects_unsupported_currency_and_null_billing_fields286 PASS [ 0.592s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits287 PASS [ 0.547s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero288 Running [ 00:00:00] => 39/189: 48 running, 39 passed, 0 skipped 289 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets290 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget291 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow292 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts293 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band294 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields295 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text296 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names297 Running [ 00:00:00] => 41/189: 48 running, 39 passed, 0 skipped 298 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets299 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget300 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow301 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts302 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band303 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields304 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text305 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names306 PASS [ 0.552s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform307 PASS [ 0.423s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors308 PASS [ 0.024s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs309 PASS [ 0.403s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line310 PASS [ 0.076s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit311 PASS [ 0.129s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate312 PASS [ 0.014s] horae-core permissions::approvals::tests::catalog_grants_cannot_substitute_for_approval313 PASS [ 0.543s] horae-core client::tests::profile_accepts_supported_currencies_and_unicode_character_limit314 Running [ 00:00:00] => 47/189: 48 running, 47 passed, 0 skipped 315 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets316 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget317 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow318 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts319 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band320 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields321 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text322 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names323 Running [ 00:00:00] ==> 53/189: 48 running, 47 passed, 0 skipped 324 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets325 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget326 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow327 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts328 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band329 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields330 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text331 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names332 PASS [ 0.022s] horae-core permissions::approvals::tests::empty_record_sets_do_not_remove_identity_or_explicit_grant_checks333 PASS [ 0.418s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow334 PASS [ 0.525s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present335 PASS [ 0.018s] horae-core permissions::approvals::tests::only_expense_reads_or_their_write_prerequisites_make_others_expenses_visible336 PASS [ 0.675s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking337 PASS [ 0.048s] horae-core permissions::approvals::tests::expense_read_scope_and_approval_scope_form_an_intersection338 PASS [ 0.645s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide339 PASS [ 0.221s] horae-core invoice::tests::line_amount_zero_minutes340 PASS [ 0.138s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift341 PASS [ 0.046s] horae-core permissions::approvals::tests::no_expense_read_is_needed_when_there_are_no_expenses342 PASS [ 0.578s] horae-core duration::tests::minutes_between_is_exact_no_minimum343 Running [ 00:00:00] ==> 58/189: 48 running, 58 passed, 0 skipped 344 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets345 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget346 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow347 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts348 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band349 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields350 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text351 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names352 Running [ 00:00:00] ==> 69/189: 48 running, 58 passed, 0 skipped 353 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets354 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget355 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow356 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts357 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band358 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields359 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text360 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names361 PASS [ 0.439s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order362 PASS [ 0.623s] horae-core budget::tests::large_values_do_not_overflow363 PASS [ 0.075s] horae-core permissions::approvals::tests::inactive_and_foreign_provenance_deny_even_with_all_grants364 PASS [ 0.032s] horae-core permissions::catalog::stored_tests::rejects_each_missing_floor_grant365 PASS [ 0.699s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace366 PASS [ 0.072s] horae-core permissions::approvals::tests::missing_dimensions_and_input_duplicates_do_not_infer_scope367 PASS [ 0.224s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even368 PASS [ 0.023s] horae-core permissions::catalog::stored_tests::rejects_unsupported_versions_even_for_valid_grants369 PASS [ 0.159s] horae-core money::tests::addition_retains_currency_checks_and_representable_boundaries370 PASS [ 0.749s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking371 PASS [ 0.032s] horae-core permissions::catalog::stored_tests::restores_custom_selection_without_reapplying_profile_defaults372 PASS [ 0.023s] horae-core permissions::catalog::stored_tests::stored_order_does_not_change_the_selected_set373 PASS [ 0.134s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent374 PASS [ 0.068s] horae-core permissions::approvals::tests::reevaluation_does_not_reuse_prior_read_or_approval_success375 PASS [ 0.017s] horae-core permissions::catalog::tests::approve_all_includes_read_scopes_but_not_write_or_expense_management376 PASS [ 0.794s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets377 PASS [ 0.026s] horae-core permissions::catalog::tests::administrator_selection_covers_known_catalog_without_unknown_ids378 PASS [ 0.058s] horae-core permissions::catalog::stored_tests::rejects_empty_saved_selection_instead_of_adding_member_floor379 Running [ 00:00:00] ===> 76/189: 48 running, 76 passed, 0 skipped 380 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget381 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts382 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band383 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields384 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text385 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names386 [ 00:00:00] horae-core duration::tests::format_round_trip387 [ 00:00:00] horae-core duration::tests::parse_colon388 Running [ 00:00:01] ===> 83/189: 48 running, 76 passed, 0 skipped 389 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget390 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts391 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band392 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields393 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text394 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names395 [ 00:00:00] horae-core duration::tests::format_round_trip396 [ 00:00:00] horae-core duration::tests::parse_colon397 PASS [ 0.753s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day398 PASS [ 0.027s] horae-core permissions::catalog::tests::finance_profiles_cannot_edit_rates_and_project_manager_has_no_financial_grants399 PASS [ 0.067s] horae-core permissions::catalog::stored_tests::rejects_every_missing_prerequisite_without_repairing_input400 PASS [ 0.647s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name401 PASS [ 0.071s] horae-core permissions::catalog::stored_tests::restores_each_builtin_selection_without_changing_grants402 PASS [ 0.031s] horae-core permissions::catalog::tests::profiles_reject_legacy_rank_names_and_unknown_values403 PASS [ 0.262s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources404 PASS [ 0.024s] horae-core permissions::catalog::tests::removing_invoice_draft_write_keeps_read_but_removes_managed_and_all_write405 PASS [ 0.036s] horae-core permissions::catalog::tests::removing_absent_permission_is_an_idempotent_no_op406 PASS [ 0.733s] horae-core duration::tests::format_round_trip407 PASS [ 0.066s] horae-core permissions::catalog::tests::floor_cannot_be_removed_or_partially_modified408 PASS [ 0.063s] horae-core permissions::catalog::tests::known_permission_name_decodes_without_legacy_role_conversion409 PASS [ 0.018s] horae-core permissions::catalog::tests::template_names_trim_without_changing_display_or_internal_spaces410 Running [ 00:00:01] ===> 89/189: 48 running, 89 passed, 0 skipped 411 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget412 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts413 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band414 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields415 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text416 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names417 [ 00:00:00] horae-core duration::tests::parse_colon418 [ 00:00:00] horae-core he_i64_boundary_and_rejects_rounding_past_it419 Running [ 00:00:01] ====> 100/189: 48 running, 89 passed, 0 skipped 420 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget421 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts422 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band423 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields424 [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text425 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names426 [ 00:00:00] horae-core duration::tests::parse_colon427 [ 00:00:00] horae-core he_i64_boundary_and_rejects_rounding_past_it428 PASS [ 0.720s] horae-core client::tests::default_rate_rejects_negative_fractional_cent_overflow_and_invalid_text429 PASS [ 0.050s] horae-core permissions::catalog::tests::removing_managed_time_read_also_removes_all_reads_writes_and_approvals430 PASS [ 0.082s] horae-core permissions::catalog::tests::every_profile_includes_floor_and_is_closed_under_dependencies431 PASS [ 0.044s] horae-core permissions::catalog::tests::removing_one_financial_permission_preserves_unrelated_families432 PASS [ 0.135s] horae-core permissions::catalog::stored_tests::rejects_duplicate_grants_instead_of_silently_deduplicating433 PASS [ 0.762s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up434 PASS [ 0.023s] horae-core permissions::person_management::tests::other_people_and_empty_removal_need_neither_grants_nor_a_separate_actor435 PASS [ 0.032s] horae-core permissions::person_management::tests::each_catalog_grant_has_the_specified_compatibility_without_changing_grants436 PASS [ 0.025s] horae-core permissions::person_management::tests::own_tracking_floor_does_not_qualify437 PASS [ 0.061s] horae-core permissions::catalog::tests::template_names_reject_empty_and_overlong_unicode_names438 PASS [ 0.048s] horae-core permissions::catalog::tests::unknown_permission_names_are_rejected439 PASS [ 0.753s] horae-core client::tests::default_rate_preserves_absence_zero_and_exact_large_amounts440 PASS [ 0.031s] horae-core permissions::rates::tests::all_six_defaults_have_the_approved_financial_access441 PASS [ 0.074s] horae-core permissions::catalog::tests::report_and_withdrawal_grants_do_not_add_unrelated_authority442 PASS [ 0.474s] horae-core invoice::tests::line_amount_exact_hour443 PASS [ 0.022s] horae-core permissions::rates::tests::explicit_rate_edits_require_write_even_for_zero_or_an_equal_value444 Running [ 00:00:01] ===> 105/189: 48 running, 105 passed, 0 skipped 445 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget446 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band447 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields448 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names449 [ 00:00:00] horae-core duration::tests::parse_colon450 [ 00:00:00] horae-core he_i64_boundary_and_rejects_rounding_past_it451 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals452 [ 00:00:00] horae-core onvert::tests::money_common_values_are_exact453 Running [ 00:00:01] ====> 117/189: 48 running, 105 passed, 0 skipped 454 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget455 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band456 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields457 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names458 [ 00:00:00] horae-core duration::tests::parse_colon459 [ 00:00:00] horae-core he_i64_boundary_and_rejects_rounding_past_it460 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals461 [ 00:00:00] horae-core onvert::tests::money_common_values_are_exact462 PASS [ 0.021s] horae-core permissions::rates::tests::identity_and_tenant_mismatches_deny_even_all_financial_grants463 PASS [ 0.785s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it464 PASS [ 0.046s] horae-core permissions::person_management::tests::self_link_rejects_the_proposal_in_every_position_without_filtering_it465 PASS [ 0.020s] horae-core permissions::rates::tests::unchanged_rate_edit_requires_no_financial_write_grant466 PASS [ 0.393s] horae-core invoice::tests::line_amount_odd_minutes467 PASS [ 0.800s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent468 PASS [ 0.028s] horae-core permissions::rates::tests::removing_read_prerequisites_denies_both_actions469 PASS [ 0.028s] horae-core permissions::rates::tests::grant_removal_denies_without_mutating_the_remaining_selection470 PASS [ 0.194s] horae-core permissions::approvals::tests::removing_the_last_matching_relationship_revokes_both_domains471 PASS [ 0.072s] horae-core permissions::person_management::tests::eligibility_tracks_last_compatible_grant_loss_and_restoration472 PASS [ 0.089s] horae-core permissions::person_management::tests::combined_unrelated_grants_do_not_create_person_management_eligibility473 PASS [ 0.027s] horae-core permissions::tests::removing_an_assignment_removes_only_that_matching_dimension474 PASS [ 0.052s] horae-core permissions::rates::tests::read_only_cost_grant_cannot_authorize_an_explicit_rate_edit475 PASS [ 0.078s] horae-core permissions::rates::tests::billable_actions_use_only_their_own_grant_and_owner_scope476 PASS [ 0.159s] horae-core permissions::catalog::tests::normalization_is_idempotent_order_independent_and_duplicate_free477 Running [ 00:00:01] ====> 120/189: 48 running, 120 passed, 0 skipped 478 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget479 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band480 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields481 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names482 [ 00:00:00] horae-core duration::tests::parse_colon483 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals484 [ 00:00:00] horae-core onvert::tests::money_common_values_are_exact485 [ 00:00:00] horae-core onvert::tests::round_half_up_at_the_boundary486 Running [ 00:00:01] ====> 125/189: 48 running, 120 passed, 0 skipped 487 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget488 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band489 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields490 [ 00:00:00] horae-core rofile_rejects_blank_overlong_and_null_names491 [ 00:00:00] horae-core duration::tests::parse_colon492 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals493 [ 00:00:00] horae-core onvert::tests::money_common_values_are_exact494 [ 00:00:00] horae-core onvert::tests::round_half_up_at_the_boundary495 PASS [ 0.577s] horae-core invoice::tests::line_amount_90_minutes496 PASS [ 0.053s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates497 PASS [ 0.911s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary498 PASS [ 0.057s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency499 PASS [ 0.887s] horae-core importers::harvest::convert::tests::money_common_values_are_exact500 PASS [ 0.083s] horae-core permissions::tests::every_scope_combination_matches_only_explicitly_granted_dimensions501 PASS [ 0.887s] horae-core budget::tests::no_band_for_zero_or_missing_budget502 PASS [ 0.016s] horae-core rounding::tests::up_and_down503 Running [ 00:00:01] ====> 128/189: 48 running, 128 passed, 0 skipped 504 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band505 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields506 [ 00:00:01] horae-core rofile_rejects_blank_overlong_and_null_names507 [ 00:00:01] horae-core duration::tests::parse_colon508 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals509 [ 00:00:01] horae-core :keys::tests::normalize_trims_and_case_folds510 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error511 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available512 Running [ 00:00:01] ====> 130/189: 48 running, 128 passed, 0 skipped 513 [ 00:00:01] horae-core get_fires_even_without_a_configured_100_band514 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields515 [ 00:00:01] horae-core rofile_rejects_blank_overlong_and_null_names516 [ 00:00:01] horae-core duration::tests::parse_colon517 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals518 [ 00:00:01] horae-core :keys::tests::normalize_trims_and_case_folds519 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error520 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available521 PASS [ 0.091s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs522 PASS [ 0.162s] horae-core permissions::rates::tests::billable_owner_never_uses_the_other_management_dimension523 PASS [ 0.160s] horae-core permissions::rates::tests::cost_and_billable_grants_are_independent_and_read_does_not_allow_write524 PASS [ 0.132s] horae-core permissions::tests::inactive_or_foreign_context_is_denied_for_every_scope_combination525 PASS [ 0.966s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band526 PASS [ 0.089s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero527 PASS [ 0.128s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total528 PASS [ 0.424s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts529 Running [ 00:00:01] =====> 136/189: 48 running, 136 passed, 0 skipped 530 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields531 [ 00:00:01] horae-core rofile_rejects_blank_overlong_and_null_names532 [ 00:00:01] horae-core duration::tests::parse_colon533 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals534 [ 00:00:01] horae-core :keys::tests::normalize_trims_and_case_folds535 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error536 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available537 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results538 Running [ 00:00:01] =====> 138/189: 48 running, 136 passed, 0 skipped 539 [ 00:00:01] horae-core ::optional_text_normalizes_only_blank_fields540 [ 00:00:01] horae-core rofile_rejects_blank_overlong_and_null_names541 [ 00:00:01] horae-core duration::tests::parse_colon542 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals543 [ 00:00:01] horae-core :keys::tests::normalize_trims_and_case_folds544 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error545 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available546 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results547 PASS [ 0.173s] horae-core permissions::rates::tests::unrelated_catalog_grants_never_authorize_ordinary_financial_fields548 PASS [ 0.157s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones549 PASS [ 0.956s] horae-core client::tests::profile_rejects_blank_overlong_and_null_names550 PASS [ 1.025s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds551 PASS [ 0.935s] horae-core duration::tests::parse_colon552 PASS [ 0.992s] horae-core client::tests::optional_text_normalizes_only_blank_fields553 PASS [ 0.046s] horae-core time_of_day::tests::parse_reads_12h_including_edges554 PASS [ 0.326s] horae-core permissions::catalog::tests::dependency_graph_matches_the_reference_edges_without_extra_cross_resource_grants555 PASS [ 0.031s] horae-core types::tests::budget_kind_wire_strings_match_db_enum556 Running [ 00:00:01] =====> 145/189: 44 running, 145 passed, 0 skipped 557 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals558 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error559 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available560 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results561 [ 00:00:00] horae-core invoice::tests::resolve_rate_cascade562 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign563 [ 00:00:00] horae-core al_scope_even_when_both_domains_are_readable564 [ 00:00:00] horae-core adable_expense_denies_the_whole_supplied_set565 Running [ 00:00:01] =====> 147/189: 44 running, 145 passed, 0 skipped 566 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals567 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error568 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available569 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results570 [ 00:00:00] horae-core invoice::tests::resolve_rate_cascade571 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign572 [ 00:00:00] horae-core al_scope_even_when_both_domains_are_readable573 [ 00:00:00] horae-core adable_expense_denies_the_whole_supplied_set574 PASS [ 0.415s] horae-core permissions::approvals::tests::one_unreadable_expense_denies_the_whole_supplied_set575 PASS [ 0.133s] horae-core state::tests::managers_invoice_open_and_approved_time576 PASS [ 0.113s] horae-core state::tests::only_manager_can_approve577 PASS [ 0.459s] horae-core permissions::approvals::tests::all_records_need_approval_scope_even_when_both_domains_are_readable578 PASS [ 0.097s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage579 PASS [ 0.098s] horae-core time_of_day::tests::parse_reads_24h580 PASS [ 0.224s] horae-core project::tests::monthly_fee_dates_follow_calendar_months581 Running [ 00:00:01] =====> 152/189: 37 running, 152 passed, 0 skipped 582 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals583 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error584 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available585 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results586 [ 00:00:00] horae-core invoice::tests::resolve_rate_cascade587 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign588 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection589 [ 00:00:00] horae-core _catalog_grants_produces_exactly_the_catalog590 Running [ 00:00:01] =====> 158/189: 37 running, 152 passed, 0 skipped 591 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals592 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error593 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available594 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results595 [ 00:00:00] horae-core invoice::tests::resolve_rate_cascade596 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign597 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection598 [ 00:00:00] horae-core _catalog_grants_produces_exactly_the_catalog599 PASS [ 0.217s] horae-core project::tests::percentage_preserves_exact_hundredths600 PASS [ 0.095s] horae-core week::tests::configured_week_can_start_in_the_previous_year601 PASS [ 0.398s] horae-core permissions::catalog::tests::catalog_has_fifty_distinct_known_grants602 PASS [ 0.077s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days603 PASS [ 0.081s] horae-core week::tests::maps_any_weekday_to_its_monday604 PASS [ 0.145s] horae-core time_of_day::tests::format_round_trips605 PASS [ 0.134s] horae-core time_of_day::tests::snap_rounds_to_nearest_step606 PASS [ 0.095s] horae-core week::tests::configured_week_reports_an_unrepresentable_start607 PASS [ 0.433s] horae-core permissions::catalog::tests::empty_selection_includes_member_floor608 Running [ 00:00:01] =====> 161/189: 28 running, 161 passed, 0 skipped 609 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals610 [ 00:00:01] horae-core _when_an_errored_count_has_no_reported_error611 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available612 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results613 [ 00:00:00] horae-core invoice::tests::resolve_rate_cascade614 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign615 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection616 [ 00:00:00] horae-core _catalog_grants_produces_exactly_the_catalog617 Running [ 00:00:01] =====> 161/189: 28 running, 161 passed, 0 skipped 618 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals619 [ 00:00:01] horae-core _when_an_errored_count_has_no_reported_error620 [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available621 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results622 [ 00:00:00] horae-core invoice::tests::resolve_rate_cascade623 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign624 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection625 [ 00:00:00] horae-core _catalog_grants_produces_exactly_the_catalog626 Running [ 00:00:01] =====> 161/189: 28 running, 161 passed, 0 skipped 627 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals628 [ 00:00:01] horae-core _when_an_errored_count_has_no_reported_error629 [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available630 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results631 [ 00:00:00] horae-core invoice::tests::resolve_rate_cascade632 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign633 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection634 [ 00:00:00] horae-core _catalog_grants_produces_exactly_the_catalog635 Running [ 00:00:01] =====> 161/189: 28 running, 161 passed, 0 skipped 636 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals637 [ 00:00:01] horae-core _when_an_errored_count_has_no_reported_error638 [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available639 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results640 [ 00:00:00] horae-core invoice::tests::resolve_rate_cascade641 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign642 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection643 [ 00:00:00] horae-core _catalog_grants_produces_exactly_the_catalog644 Running [ 00:00:01] ======> 169/189: 28 running, 161 passed, 0 skipped 645 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals646 [ 00:00:01] horae-core _when_an_errored_count_has_no_reported_error647 [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available648 [ 00:00:00] horae-core :line_amount_rejects_unrepresentable_results649 [ 00:00:00] horae-core invoice::tests::resolve_rate_cascade650 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign651 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection652 [ 00:00:00] horae-core _catalog_grants_produces_exactly_the_catalog653 PASS [ 0.201s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight654 PASS [ 0.465s] horae-core permissions::catalog::tests::removing_any_non_floor_grant_keeps_the_remaining_selection_closed655 PASS [ 0.673s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign656 PASS [ 0.335s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax657 PASS [ 0.258s] horae-core time_of_day::tests::format_12h_matches_harvest_style658 PASS [ 0.754s] horae-core invoice::tests::resolve_rate_cascade659 PASS [ 0.432s] horae-core permissions::tests::assignment_matching_searches_all_members_and_is_insensitive_to_duplicates660 PASS [ 0.362s] horae-core rounding::tests::nearest_ties_round_up661 PASS [ 0.340s] horae-core state::tests::member_submit_and_reopen662 PASS [ 1.015s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available663 PASS [ 0.814s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results664 PASS [ 0.583s] horae-core permissions::catalog::tests::adding_all_catalog_grants_produces_exactly_the_catalog665 Running [ 00:00:01] ======> 173/189: 16 running, 173 passed, 0 skipped 666 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals667 [ 00:00:01] horae-core _when_an_errored_count_has_no_reported_error668 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection669 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog670 [ 00:00:00] horae-core _added_and_removing_it_removes_the_dependent671 [ 00:00:00] horae-core :member_has_only_own_time_and_expense_access672 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair673 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match674 Running [ 00:00:01] ======> 175/189: 16 running, 173 passed, 0 skipped 675 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals676 [ 00:00:01] horae-core _when_an_errored_count_has_no_reported_error677 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection678 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog679 [ 00:00:00] horae-core _added_and_removing_it_removes_the_dependent680 [ 00:00:00] horae-core :member_has_only_own_time_and_expense_access681 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair682 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match683 PASS [ 1.163s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error684 PASS [ 0.391s] horae-core state::tests::invoiced_is_final685 PASS [ 0.614s] horae-core permissions::catalog::tests::every_declared_dependency_is_added_and_removing_it_removes_the_dependent686 PASS [ 0.421s] horae-core rounding::tests::result_is_multiple_of_inc687 Running [ 00:00:01] ======> 177/189: 12 running, 177 passed, 0 skipped 688 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals689 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection690 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog691 [ 00:00:00] horae-core :member_has_only_own_time_and_expense_access692 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair693 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match694 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws695 [ 00:00:00] horae-core ests::basics_reject_blank_and_overlong_names696 Running [ 00:00:01] ======> 178/189: 11 running, 178 passed, 0 skipped 697 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals698 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection699 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog700 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair701 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match702 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws703 [ 00:00:00] horae-core ests::basics_reject_blank_and_overlong_names704 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates705 PASS [ 0.637s] horae-core permissions::catalog::tests::member_has_only_own_time_and_expense_access706 Running [ 00:00:01] ======> 178/189: 11 running, 178 passed, 0 skipped 707 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals708 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection709 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog710 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair711 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match712 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws713 [ 00:00:00] horae-core ests::basics_reject_blank_and_overlong_names714 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates715 Running [ 00:00:01] ======> 178/189: 11 running, 178 passed, 0 skipped 716 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals717 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection718 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog719 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair720 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match721 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws722 [ 00:00:00] horae-core ests::basics_reject_blank_and_overlong_names723 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates724 Running [ 00:00:01] ======> 178/189: 11 running, 178 passed, 0 skipped 725 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals726 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection727 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog728 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair729 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match730 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws731 [ 00:00:00] horae-core ests::basics_reject_blank_and_overlong_names732 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates733 Running [ 00:00:01] ======> 178/189: 11 running, 178 passed, 0 skipped 734 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals735 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection736 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog737 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair738 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match739 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws740 [ 00:00:00] horae-core ests::basics_reject_blank_and_overlong_names741 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates742 PASS [ 0.624s] horae-core project::tests::basics_reject_blank_and_overlong_names743 Running [ 00:00:01] ======> 179/189: 10 running, 179 passed, 0 skipped 744 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals745 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection746 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog747 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair748 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match749 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws750 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates751 [ 00:00:00] horae-core ts_are_only_available_for_time_and_materials752 Running [ 00:00:01] ======> 179/189: 10 running, 179 passed, 0 skipped 753 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals754 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection755 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog756 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair757 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match758 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws759 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates760 [ 00:00:00] horae-core ts_are_only_available_for_time_and_materials761 Running [ 00:00:01] ======> 179/189: 10 running, 179 passed, 0 skipped 762 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals763 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection764 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog765 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair766 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match767 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws768 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates769 [ 00:00:00] horae-core ts_are_only_available_for_time_and_materials770 Running [ 00:00:01] ======> 179/189: 10 running, 179 passed, 0 skipped 771 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals772 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection773 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog774 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair775 [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match776 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws777 [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates778 [ 00:00:00] horae-core ts_are_only_available_for_time_and_materials779 PASS [ 0.752s] horae-core permissions::tests::assignments_do_not_grant_scope_and_missing_assignments_do_not_match780 PASS [ 0.739s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates781 Running [ 00:00:01] =======> 181/189: 8 running, 181 passed, 0 skipped 782 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals783 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection784 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog785 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair786 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws787 [ 00:00:00] horae-core ts_are_only_available_for_time_and_materials788 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days789 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero790 Running [ 00:00:01] =======> 181/189: 8 running, 181 passed, 0 skipped 791 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals792 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection793 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog794 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair795 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws796 [ 00:00:00] horae-core ts_are_only_available_for_time_and_materials797 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days798 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero799 Running [ 00:00:01] =======> 181/189: 8 running, 181 passed, 0 skipped 800 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals801 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection802 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog803 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair804 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws805 [ 00:00:00] horae-core ts_are_only_available_for_time_and_materials806 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days807 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero808 Running [ 00:00:01] =======> 181/189: 8 running, 181 passed, 0 skipped 809 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals810 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection811 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog812 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair813 [ 00:00:00] horae-core rmissions::tests::scope_union_obeys_set_laws814 [ 00:00:00] horae-core ts_are_only_available_for_time_and_materials815 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days816 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero817 PASS [ 0.833s] horae-core permissions::tests::scope_union_obeys_set_laws818 PASS [ 0.814s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials819 Running [ 00:00:01] =======> 183/189: 6 running, 183 passed, 0 skipped 820 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals821 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection822 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog823 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair824 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days825 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero826827828 Running [ 00:00:01] =======> 183/189: 6 running, 183 passed, 0 skipped 829 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals830 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection831 [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog832 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair833 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days834 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero835836837 PASS [ 1.020s] horae-core permissions::catalog::tests::direct_profile_defaults_match_the_known_reference_catalog838 Running [ 00:00:01] =======> 184/189: 5 running, 184 passed, 0 skipped 839 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals840 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection841 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair842 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days843 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero844845846847 Running [ 00:00:02] =======> 184/189: 5 running, 184 passed, 0 skipped 848 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals849 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection850 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair851 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days852 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero853854855856 Running [ 00:00:02] =======> 184/189: 5 running, 184 passed, 0 skipped 857 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals858 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection859 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair860 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days861 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero862863864865 Running [ 00:00:02] =======> 184/189: 5 running, 184 passed, 0 skipped 866 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals867 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection868 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair869 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days870 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero871872873874 Running [ 00:00:02] =======> 184/189: 5 running, 184 passed, 0 skipped 875 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals876 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection877 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair878 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days879 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero880881882883 Running [ 00:00:02] =======> 185/189: 5 running, 184 passed, 0 skipped 884 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals885 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection886 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair887 [ 00:00:00] horae-core yment_terms_support_receipt_and_checked_days888 [ 00:00:00] horae-core rounding::tests::identity_when_inc_zero889890891892 PASS [ 0.961s] horae-core rounding::tests::identity_when_inc_zero893 PASS [ 1.012s] horae-core project::tests::payment_terms_support_receipt_and_checked_days894 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 895 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals896 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection897 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair898899900901902903 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 904 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals905 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection906 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair907908909910911912 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 913 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals914 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection915 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair916917918919920921 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 922 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals923 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection924 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair925926927928929930 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 931 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals932 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection933 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair934935936937938939 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 940 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals941 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection942 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair943944945946947948 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 949 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals950 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection951 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair952953954955956957 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 958 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals959 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection960 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair961962963964965966 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 967 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals968 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection969 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair970971972973974975 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 976 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals977 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection978 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair979980981982983984 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 985 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals986 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection987 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair988989990991992993 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 994 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals995 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection996 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair997998999100010011002 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 1003 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1004 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1005 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair100610071008100910101011 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 1012 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1013 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1014 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair101510161017101810191020 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 1021 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1022 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1023 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair102410251026102710281029 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 1030 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1031 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1032 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair103310341035103610371038 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 1039 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1040 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1041 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair104210431044104510461047 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 1048 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1049 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1050 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair105110521053105410551056 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 1057 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1058 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1059 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair106010611062106310641065 Running [ 00:00:02] =======> 186/189: 3 running, 186 passed, 0 skipped 1066 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1067 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1068 [ 00:00:01] horae-core :any_compatible_grant_suffices_in_every_pair106910701071107210731074 PASS [ 1.615s] horae-core permissions::person_management::tests::any_compatible_grant_suffices_in_every_pair1075 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1076 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1077 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1078107910801081108210831084 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1085 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1086 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1087108810891090109110921093 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1094 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1095 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1096109710981099110011011102 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1103 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1104 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1105110611071108110911101111 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1112 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1113 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1114111511161117111811191120 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1121 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1122 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1123112411251126112711281129 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1130 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1131 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1132113311341135113611371138 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1139 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1140 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1141114211431144114511461147 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1148 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1149 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1150115111521153115411551156 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1157 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1158 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1159116011611162116311641165 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1166 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1167 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection1168116911701171117211731174 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1175 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1176 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1177117811791180118111821183 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1184 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1185 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1186118711881189119011911192 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1193 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1194 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1195119611971198119912001201 Running [ 00:00:02] =======> 187/189: 2 running, 187 passed, 0 skipped 1202 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1203 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1204120512061207120812091210 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1211 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1212 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1213121412151216121712181219 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1220 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1221 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1222122312241225122612271228 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1229 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1230 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1231123212331234123512361237 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1238 [ 00:00:02] horae-core s::conversion_matches_exact_scaled_rationals1239 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1240124112421243124412451246 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1247 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1248 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1249125012511252125312541255 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1256 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1257 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1258125912601261126212631264 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1265 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1266 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1267126812691270127112721273 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1274 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1275 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1276127712781279128012811282 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1283 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1284 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1285128612871288128912901291 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1292 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1293 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1294129512961297129812991300 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1301 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1302 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1303130413051306130713081309 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1310 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1311 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1312131313141315131613171318 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1319 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1320 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1321132213231324132513261327 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1328 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1329 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1330133113321333133413351336 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1337 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1338 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1339134013411342134313441345 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1346 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1347 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1348134913501351135213531354 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1355 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1356 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1357135813591360136113621363 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1364 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1365 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1366136713681369137013711372 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1373 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1374 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1375137613771378137913801381 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1382 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1383 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1384138513861387138813891390 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1391 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1392 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1393139413951396139713981399 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1400 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1401 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1402140314041405140614071408 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1409 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1410 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1411141214131414141514161417 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1418 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1419 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1420142114221423142414251426 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1427 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1428 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1429143014311432143314341435 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1436 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1437 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1438143914401441144214431444 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1445 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1446 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1447144814491450145114521453 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1454 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1455 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1456145714581459146014611462 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1463 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1464 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1465146614671468146914701471 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1472 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1473 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1474147514761477147814791480 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1481 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1482 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1483148414851486148714881489 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1490 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1491 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1492149314941495149614971498 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1499 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1500 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1501150215031504150515061507 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1508 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1509 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1510151115121513151415151516 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1517 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1518 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1519152015211522152315241525 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1526 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1527 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection1528152915301531153215331534 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1535 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1536 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1537153815391540154115421543 Running [ 00:00:03] =======> 187/189: 2 running, 187 passed, 0 skipped 1544 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1545 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1546154715481549155015511552 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1553 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1554 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1555155615571558155915601561 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1562 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1563 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1564156515661567156815691570 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1571 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1572 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1573157415751576157715781579 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1580 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1581 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1582158315841585158615871588 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1589 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1590 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1591159215931594159515961597 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1598 [ 00:00:03] horae-core s::conversion_matches_exact_scaled_rationals1599 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1600160116021603160416051606 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1607 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1608 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1609161016111612161316141615 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1616 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1617 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1618161916201621162216231624 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1625 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1626 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1627162816291630163116321633 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1634 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1635 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1636163716381639164016411642 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1643 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1644 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1645164616471648164916501651 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1652 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1653 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1654165516561657165816591660 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1661 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1662 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1663166416651666166716681669 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1670 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1671 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1672167316741675167616771678 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1679 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1680 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1681168216831684168516861687 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1688 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1689 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1690169116921693169416951696 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1697 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1698 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1699170017011702170317041705 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1706 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1707 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1708170917101711171217131714 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1715 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1716 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1717171817191720172117221723 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1724 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1725 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1726172717281729173017311732 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1733 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1734 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1735173617371738173917401741 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1742 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1743 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1744174517461747174817491750 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1751 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1752 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1753175417551756175717581759 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1760 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1761 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1762176317641765176617671768 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1769 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1770 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1771177217731774177517761777 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1778 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1779 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1780178117821783178417851786 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1787 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1788 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1789179017911792179317941795 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1796 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1797 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1798179918001801180218031804 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1805 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1806 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1807180818091810181118121813 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1814 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1815 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1816181718181819182018211822 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1823 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1824 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1825182618271828182918301831 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1832 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1833 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1834183518361837183818391840 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1841 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1842 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1843184418451846184718481849 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1850 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1851 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1852185318541855185618571858 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1859 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1860 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1861186218631864186518661867 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1868 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1869 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1870187118721873187418751876 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1877 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1878 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1879188018811882188318841885 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1886 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1887 [ 00:00:03] horae-core h_valid_grant_pair_and_its_revoked_selection1888188918901891189218931894 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1895 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1896 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1897189818991900190119021903 Running [ 00:00:04] =======> 187/189: 2 running, 187 passed, 0 skipped 1904 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1905 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1906190719081909191019111912 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 1913 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1914 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1915191619171918191919201921 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 1922 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1923 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1924192519261927192819291930 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 1931 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1932 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1933193419351936193719381939 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 1940 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1941 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1942194319441945194619471948 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 1949 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1950 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1951195219531954195519561957 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 1958 [ 00:00:04] horae-core s::conversion_matches_exact_scaled_rationals1959 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1960196119621963196419651966 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 1967 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals1968 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1969197019711972197319741975 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 1976 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals1977 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1978197919801981198219831984 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 1985 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals1986 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1987198819891990199119921993 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 1994 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals1995 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection1996199719981999200020012002 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2003 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2004 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2005200620072008200920102011 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2012 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2013 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2014201520162017201820192020 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2021 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2022 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2023202420252026202720282029 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2030 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2031 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2032203320342035203620372038 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2039 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2040 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2041204220432044204520462047 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2048 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2049 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2050205120522053205420552056 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2057 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2058 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2059206020612062206320642065 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2066 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2067 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2068206920702071207220732074 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2075 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2076 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2077207820792080208120822083 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2084 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2085 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2086208720882089209020912092 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2093 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2094 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2095209620972098209921002101 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2102 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2103 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2104210521062107210821092110 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2111 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2112 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2113211421152116211721182119 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2120 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2121 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2122212321242125212621272128 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2129 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2130 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2131213221332134213521362137 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2138 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2139 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2140214121422143214421452146 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2147 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2148 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2149215021512152215321542155 Running [ 00:00:05] =======> 187/189: 2 running, 187 passed, 0 skipped 2156 [ 00:00:05] horae-core s::conversion_matches_exact_scaled_rationals2157 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection2158215921602161216221632164 PASS [ 5.343s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals2165 Running [ 00:00:05] =======> 188/189: 1 running, 188 passed, 0 skipped 2166 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection21672168216921702171217221732174 PASS [ 4.755s] horae-core permissions::catalog::stored_tests::restores_each_valid_grant_pair_and_its_revoked_selection2175------------2176 Summary [ 5.679s] 189 tests run: 189 passed, 0 skipped2177 Running [ 00:00:05] ======== 189/189: 1 running, 188 passed, 0 skipped 2178 [ 00:00:04] horae-core h_valid_grant_pair_and_its_revoked_selection21792180218121822183218421852186The files belonging to this database system will be owned by user "nixbld".2187This user must also own the server process.21882189The database cluster will be initialized with locale "C".2190The default text search configuration will be set to "english".21912192Data page checksums are disabled.21932194fixing permissions on existing directory /build/tmp.Ii6fpHzEzg ... ok2195creating subdirectories ... ok2196selecting dynamic shared memory implementation ... posix2197selecting default "max_connections" ... 1002198selecting default "shared_buffers" ... 128MB2199selecting default time zone ... UTC2200creating configuration files ... ok2201running bootstrap script ... ok2202performing post-bootstrap initialization ... ok2203syncing data to disk ... ok22042205initdb: warning: enabling "trust" authentication for local connections2206initdb: 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.22072208Success. You can now start the database server using:22092210 pg_ctl -D /build/tmp.Ii6fpHzEzg -l logfile start22112212waiting for server to start.... done2213server started2214+++ command cargo test -p horae --features server -- --test-threads 482215 Compiling horae v0.1.0 (/build/source/crates/horae)2216 Compiling horae-core v0.1.0 (/build/source/crates/core)