horae-tests-0.1.0
checks.x86_64-linux.tests
· build #452
· raw
unpackPhase
1unpacking source archive /nix/store/2fg8raa6g20j1w27yg3lzgc9995p0k0n-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 28 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 quote v1.0.4615 Compiling syn v2.0.11816 Compiling serde_derive v1.0.22817 Compiling thiserror-impl v2.0.1818 Compiling thiserror v2.0.1819 Compiling uuid v1.23.420 Compiling chrono v0.4.4521 Compiling horae-core v0.1.0 (/build/source/crates/core)22 Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 44s23 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 24------------25 Nextest run ID 7a148bd5-deab-4dba-b1b1-1f72f3001237 with nextest profile: default26 Starting 189 tests across 1 binary27 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 28 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 29 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 30 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 31 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 32 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 33 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 34 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 35 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 36 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 37 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 38 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 39 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 40 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 41 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 42 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 43 Running [ 00:00:00] 0/189: 1 running, 0 passed, 0 skipped 44 Running [ 00:00:00] 0/189: 48 running, 0 passed, 0 skipped 45 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding46 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget47 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band48 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values49 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows50 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached51 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once52 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets53 Running [ 00:00:00] 0/189: 48 running, 0 passed, 0 skipped 54 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding55 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget56 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band57 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values58 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows59 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached60 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once61 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets62 Running [ 00:00:00] 0/189: 48 running, 0 passed, 0 skipped 63 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding64 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget65 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band66 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values67 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows68 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached69 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once70 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets71 PASS [ 0.087s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract72 PASS [ 0.093s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding73 PASS [ 0.094s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows74 PASS [ 0.099s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget75 Running [ 00:00:00] > 4/189: 48 running, 4 passed, 0 skipped 76 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band77 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values78 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached79 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once80 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets81 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget82 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow83 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts84 Running [ 00:00:00] > 7/189: 48 running, 4 passed, 0 skipped 85 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band86 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values87 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached88 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once89 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets90 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget91 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow92 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts93 PASS [ 0.102s] horae-core duration::tests::parse_colon94 PASS [ 0.111s] horae-core duration::tests::format_clamps_negative_to_zero95 PASS [ 0.110s] horae-core duration::tests::parse_decimal96 PASS [ 0.127s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values97 PASS [ 0.128s] horae-core client::tests::profile_accepts_supported_currencies_and_unicode_character_limit98 Running [ 00:00:00] > 9/189: 48 running, 9 passed, 0 skipped 99 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band100 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values101 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached102 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once103 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets104 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget105 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow106 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts107 Running [ 00:00:00] > 14/189: 48 running, 9 passed, 0 skipped 108 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band109 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values110 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached111 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once112 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets113 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget114 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow115 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts116 Running [ 00:00:00] > 14/189: 48 running, 9 passed, 0 skipped 117 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band118 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values119 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached120 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once121 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets122 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget123 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow124 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts125 Running [ 00:00:00] > 14/189: 48 running, 9 passed, 0 skipped 126 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band127 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values128 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached129 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once130 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets131 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget132 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow133 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts134 PASS [ 0.047s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero135 PASS [ 0.062s] horae-core client::tests::profile_rejects_blank_overlong_and_null_names136 PASS [ 0.089s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform137 PASS [ 0.157s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator138 PASS [ 0.128s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse139 PASS [ 0.156s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly140 Running [ 00:00:00] > 15/189: 47 running, 15 passed, 0 skipped 141 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band142 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values143 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached144 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once145 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets146 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget147 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow148 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts149 Running [ 00:00:00] => 43/189: 47 running, 15 passed, 0 skipped 150 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band151 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values152 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached153 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once154 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets155 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget156 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow157 [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts158 PASS [ 0.291s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow159 PASS [ 0.319s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values160 PASS [ 0.312s] horae-core duration::tests::format_hhmm_pads_minutes161 PASS [ 0.308s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking162 PASS [ 0.314s] horae-core duration::tests::minutes_between_is_exact_no_minimum163 PASS [ 0.212s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects164 PASS [ 0.308s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating165 PASS [ 0.315s] horae-core client::tests::profile_rejects_unsupported_currency_and_null_billing_fields166 PASS [ 0.248s] horae-core client::tests::default_rate_preserves_absence_zero_and_exact_large_amounts167 PASS [ 0.223s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present168 PASS [ 0.234s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band169 PASS [ 0.307s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact170 PASS [ 0.300s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits171 PASS [ 0.295s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it172 PASS [ 0.240s] horae-core budget::tests::large_values_do_not_overflow173 PASS [ 0.297s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day174 PASS [ 0.231s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent175 PASS [ 0.285s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary176 PASS [ 0.225s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name177 PASS [ 0.245s] horae-core client::tests::optional_text_normalizes_only_blank_fields178 PASS [ 0.313s] horae-core budget::tests::current_band_is_the_highest_reached179 PASS [ 0.288s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly180 PASS [ 0.234s] horae-core client::tests::default_rate_rejects_negative_fractional_cent_overflow_and_invalid_text181 PASS [ 0.242s] horae-core budget::tests::no_band_for_zero_or_missing_budget182 PASS [ 0.286s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform183 PASS [ 0.314s] horae-core duration::tests::format_round_trip184 Running [ 00:00:00] ==> 56/189: 48 running, 56 passed, 0 skipped 185 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals186 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error187 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names188 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow189 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line190 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal191 [ 00:00:00] horae-core cation_handles_empty_zero_and_full_discounts192 [ 00:00:00] horae-core tments_reject_negative_subtotal_and_overflow193 PASS [ 0.236s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets194 PASS [ 0.069s] horae-core budget::tests::a_single_jump_announces_every_crossed_band195 PASS [ 0.286s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds196 PASS [ 0.285s] horae-core budget::tests::each_crossing_is_announced_once197 PASS [ 0.299s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking198 PASS [ 0.298s] horae-core importers::harvest::convert::tests::garbage_is_rejected199 PASS [ 0.215s] horae-core importers::harvest::keys::tests::time_entry_key_distinguishes_and_matches200 PASS [ 0.292s] horae-core importers::harvest::convert::tests::money_common_values_are_exact201 PASS [ 0.292s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace202 PASS [ 0.211s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work203 PASS [ 0.274s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide204 PASS [ 0.274s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up205 PASS [ 0.275s] horae-core importers::harvest::convert::tests::negative_is_rejected206 PASS [ 0.201s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches207 PASS [ 0.181s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors208 Running [ 00:00:00] ==> 56/189: 48 running, 56 passed, 0 skipped 209 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals210 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error211 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names212 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow213 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line214 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal215 [ 00:00:00] horae-core cation_handles_empty_zero_and_full_discounts216 [ 00:00:00] horae-core tments_reject_negative_subtotal_and_overflow217 Running [ 00:00:00] ==> 57/189: 48 running, 57 passed, 0 skipped 218 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals219 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error220 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names221 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow222 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal223 [ 00:00:00] horae-core cation_handles_empty_zero_and_full_discounts224 [ 00:00:00] horae-core tments_reject_negative_subtotal_and_overflow225 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available226 PASS [ 0.039s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line227 Running [ 00:00:00] ==> 57/189: 48 running, 57 passed, 0 skipped 228 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals229 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error230 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names231 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow232 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal233 [ 00:00:00] horae-core cation_handles_empty_zero_and_full_discounts234 [ 00:00:00] horae-core tments_reject_negative_subtotal_and_overflow235 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available236 Running [ 00:00:00] ==> 64/189: 48 running, 57 passed, 0 skipped 237 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals238 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error239 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names240 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow241 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal242 [ 00:00:00] horae-core cation_handles_empty_zero_and_full_discounts243 [ 00:00:00] horae-core tments_reject_negative_subtotal_and_overflow244 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available245 PASS [ 0.080s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate246 PASS [ 0.072s] horae-core permissions::approvals::tests::one_unreadable_expense_denies_the_whole_supplied_set247 PASS [ 0.051s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift248 PASS [ 0.056s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit249 PASS [ 0.096s] horae-core invoice::tests::resolve_rate_cascade250 PASS [ 0.090s] horae-core permissions::catalog::stored_tests::rejects_every_missing_prerequisite_without_repairing_input251 PASS [ 0.101s] horae-core invoice::tests::line_amount_odd_minutes252 PASS [ 0.077s] horae-core permissions::approvals::tests::missing_dimensions_and_input_duplicates_do_not_infer_scope253 Running [ 00:00:00] ==> 65/189: 48 running, 65 passed, 0 skipped 254 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals255 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error256 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names257 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow258 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal259 [ 00:00:00] horae-core cation_handles_empty_zero_and_full_discounts260 [ 00:00:00] horae-core tments_reject_negative_subtotal_and_overflow261 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available262 Running [ 00:00:00] ===> 79/189: 48 running, 65 passed, 0 skipped 263 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals264 [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error265 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names266 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow267 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal268 [ 00:00:00] horae-core cation_handles_empty_zero_and_full_discounts269 [ 00:00:00] horae-core tments_reject_negative_subtotal_and_overflow270 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available271 PASS [ 0.019s] horae-core permissions::catalog::tests::administrator_selection_covers_known_catalog_without_unknown_ids272 PASS [ 0.019s] horae-core permissions::catalog::tests::dependency_graph_matches_the_reference_edges_without_extra_cross_resource_grants273 PASS [ 0.110s] horae-core permissions::approvals::tests::all_records_need_approval_scope_even_when_both_domains_are_readable274 PASS [ 0.134s] horae-core invoice::tests::line_amount_half_hour275 PASS [ 0.427s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals276 PASS [ 0.326s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error277 PASS [ 0.102s] horae-core permissions::catalog::stored_tests::rejects_each_missing_floor_grant278 PASS [ 0.017s] horae-core permissions::catalog::tests::empty_selection_includes_member_floor279 PASS [ 0.147s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow280 PASS [ 0.147s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts281 PASS [ 0.127s] horae-core permissions::approvals::tests::empty_record_sets_do_not_remove_identity_or_explicit_grant_checks282 PASS [ 0.143s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results283 PASS [ 0.144s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts284 PASS [ 0.327s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names285 Running [ 00:00:00] ===> 79/189: 48 running, 79 passed, 0 skipped 286 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow287 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal288 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available289 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order290 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes291 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes292 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up293 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour294 Running [ 00:00:00] ===> 89/189: 48 running, 89 passed, 0 skipped 295 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow296 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal297 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order298 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes299 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes300 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up301 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour302 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate303 PASS [ 0.097s] horae-core permissions::catalog::stored_tests::restores_each_builtin_selection_without_changing_grants304 PASS [ 0.179s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even305 PASS [ 0.178s] horae-core invoice::tests::line_amount_zero_minutes306 PASS [ 0.148s] horae-core permissions::approvals::tests::no_expense_read_is_needed_when_there_are_no_expenses307 PASS [ 0.032s] horae-core permissions::catalog::tests::removing_absent_permission_is_an_idempotent_no_op308 PASS [ 0.166s] horae-core permissions::catalog::stored_tests::restores_custom_selection_without_reapplying_profile_defaults309 PASS [ 0.167s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts310 PASS [ 0.202s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available311 PASS [ 0.197s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources312 PASS [ 0.198s] horae-core money::tests::addition_rejects_overflow_in_both_directions313 Running [ 00:00:00] ===> 89/189: 48 running, 89 passed, 0 skipped 314 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow315 [ 00:00:00] horae-core tion_supports_maximum_representable_subtotal316 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order317 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes318 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes319 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up320 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour321 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate322 Running [ 00:00:00] ====> 98/189: 48 running, 98 passed, 0 skipped 323 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow324 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order325 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes326 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes327 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up328 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour329 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate330 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign331 PASS [ 0.047s] horae-core permissions::catalog::tests::finance_profiles_cannot_edit_rates_and_project_manager_has_no_financial_grants332 PASS [ 0.076s] horae-core permissions::catalog::tests::floor_cannot_be_removed_or_partially_modified333 PASS [ 0.107s] horae-core permissions::catalog::tests::direct_profile_defaults_match_the_known_reference_catalog334 PASS [ 0.229s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal335 PASS [ 0.096s] horae-core permissions::catalog::tests::every_declared_dependency_is_added_and_removing_it_removes_the_dependent336 PASS [ 0.088s] horae-core permissions::catalog::tests::known_permission_name_decodes_without_legacy_role_conversion337 PASS [ 0.031s] horae-core permissions::person_management::tests::each_catalog_grant_has_the_specified_compatibility_without_changing_grants338 PASS [ 0.031s] horae-core permissions::person_management::tests::eligibility_tracks_last_compatible_grant_loss_and_restoration339 PASS [ 0.166s] horae-core permissions::catalog::tests::adding_all_catalog_grants_produces_exactly_the_catalog340 Running [ 00:00:00] ====> 98/189: 48 running, 98 passed, 0 skipped 341 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow342 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order343 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes344 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes345 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up346 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour347 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate348 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign349 Running [ 00:00:00] ====> 101/189: 48 running, 98 passed, 0 skipped 350 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow351 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order352 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes353 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes354 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up355 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour356 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate357 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign358 PASS [ 0.076s] horae-core permissions::person_management::tests::any_compatible_grant_suffices_in_every_pair359 PASS [ 0.077s] horae-core permissions::catalog::tests::template_names_trim_without_changing_display_or_internal_spaces360 PASS [ 0.062s] horae-core permissions::rates::tests::grant_removal_denies_without_mutating_the_remaining_selection361 PASS [ 0.175s] horae-core permissions::catalog::tests::every_profile_includes_floor_and_is_closed_under_dependencies362 Running [ 00:00:00] ===> 102/189: 48 running, 102 passed, 0 skipped 363 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow364 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order365 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes366 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes367 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up368 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour369 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate370 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign371 Running [ 00:00:00] ===> 107/189: 48 running, 102 passed, 0 skipped 372 [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow373 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order374 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes375 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes376 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up377 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour378 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate379 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign380 PASS [ 0.329s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes381 PASS [ 0.019s] horae-core permissions::rates::tests::unrelated_catalog_grants_never_authorize_ordinary_financial_fields382 PASS [ 0.326s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign383 PASS [ 0.352s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow384 PASS [ 0.136s] horae-core permissions::person_management::tests::own_tracking_floor_does_not_qualify385 PASS [ 0.184s] horae-core permissions::catalog::tests::removing_managed_time_read_also_removes_all_reads_writes_and_approvals386 PASS [ 0.263s] horae-core permissions::catalog::tests::catalog_has_fifty_distinct_known_grants387 Running [ 00:00:00] ====> 109/189: 48 running, 109 passed, 0 skipped 388 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order389 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes390 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up391 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour392 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate393 [ 00:00:00] horae-core currency_checks_and_representable_boundaries394 [ 00:00:00] horae-core parse_cents_rejects_what_it_cannot_represent395 [ 00:00:00] horae-core se_cents_tolerates_grouping_spaces_and_signs396 Running [ 00:00:00] ====> 124/189: 48 running, 109 passed, 0 skipped 397 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order398 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes399 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up400 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour401 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate402 [ 00:00:00] horae-core currency_checks_and_representable_boundaries403 [ 00:00:00] horae-core parse_cents_rejects_what_it_cannot_represent404 [ 00:00:00] horae-core se_cents_tolerates_grouping_spaces_and_signs405 PASS [ 0.011s] horae-core permissions::tests::scope_union_obeys_set_laws406 PASS [ 0.057s] horae-core permissions::tests::assignment_matching_searches_all_members_and_is_insensitive_to_duplicates407 PASS [ 0.354s] horae-core permissions::approvals::tests::inactive_and_foreign_provenance_deny_even_with_all_grants408 PASS [ 0.222s] horae-core permissions::catalog::tests::profiles_reject_legacy_rank_names_and_unknown_values409 PASS [ 0.029s] horae-core permissions::tests::removing_an_assignment_removes_only_that_matching_dimension410 PASS [ 0.379s] horae-core money::tests::addition_retains_currency_checks_and_representable_boundaries411 PASS [ 0.051s] horae-core permissions::tests::assignments_do_not_grant_scope_and_missing_assignments_do_not_match412 PASS [ 0.372s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs413 PASS [ 0.159s] horae-core permissions::rates::tests::billable_actions_use_only_their_own_grant_and_owner_scope414 PASS [ 0.372s] horae-core permissions::approvals::tests::catalog_grants_cannot_substitute_for_approval415 PASS [ 0.166s] horae-core permissions::rates::tests::all_six_defaults_have_the_approved_financial_access416 PASS [ 0.368s] horae-core permissions::approvals::tests::only_expense_reads_or_their_write_prerequisites_make_others_expenses_visible417 PASS [ 0.360s] horae-core permissions::catalog::stored_tests::rejects_empty_saved_selection_instead_of_adding_member_floor418 PASS [ 0.314s] horae-core permissions::catalog::stored_tests::stored_order_does_not_change_the_selected_set419 PASS [ 0.143s] horae-core permissions::rates::tests::identity_and_tenant_mismatches_deny_even_all_financial_grants420 PASS [ 0.022s] horae-core project::tests::basics_reject_blank_and_overlong_names421 Running [ 00:00:00] ====> 125/189: 48 running, 125 passed, 0 skipped 422 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order423 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes424 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up425 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour426 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate427 [ 00:00:00] horae-core parse_cents_rejects_what_it_cannot_represent428 [ 00:00:00] horae-core cope_and_approval_scope_form_an_intersection429 [ 00:00:00] horae-core oes_not_reuse_prior_read_or_approval_success430 Running [ 00:00:00] =====> 145/189: 48 running, 125 passed, 0 skipped 431 [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order432 [ 00:00:00] horae-core invoice::tests::line_amount_90_minutes433 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up434 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour435 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate436 [ 00:00:00] horae-core parse_cents_rejects_what_it_cannot_represent437 [ 00:00:00] horae-core cope_and_approval_scope_form_an_intersection438 [ 00:00:00] horae-core oes_not_reuse_prior_read_or_approval_success439 PASS [ 0.030s] horae-core rounding::tests::identity_when_inc_zero440 PASS [ 0.035s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency441 PASS [ 0.048s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates442 PASS [ 0.392s] horae-core permissions::approvals::tests::expense_read_scope_and_approval_scope_form_an_intersection443 PASS [ 0.027s] horae-core rounding::tests::result_is_multiple_of_inc444 PASS [ 0.032s] horae-core project::tests::percentage_preserves_exact_hundredths445 PASS [ 0.016s] horae-core rounding::tests::up_and_down446 PASS [ 0.028s] horae-core rounding::tests::nearest_ties_round_up447 PASS [ 0.053s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total448 PASS [ 0.048s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs449 PASS [ 0.273s] horae-core permissions::catalog::tests::removing_invoice_draft_write_keeps_read_but_removes_managed_and_all_write450 PASS [ 0.406s] horae-core permissions::catalog::stored_tests::rejects_unsupported_versions_even_for_valid_grants451 PASS [ 0.407s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent452 PASS [ 0.110s] horae-core permissions::tests::every_scope_combination_matches_only_explicitly_granted_dimensions453 PASS [ 0.053s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones454 PASS [ 0.441s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order455 PASS [ 0.411s] horae-core permissions::approvals::tests::reevaluation_does_not_reuse_prior_read_or_approval_success456 PASS [ 0.452s] horae-core invoice::tests::line_amount_exact_hour457 PASS [ 0.420s] horae-core permissions::catalog::stored_tests::rejects_duplicate_grants_instead_of_silently_deduplicating458 PASS [ 0.069s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials459 PASS [ 0.464s] horae-core invoice::tests::line_amount_90_minutes460 Running [ 00:00:00] =====> 146/189: 43 running, 146 passed, 0 skipped 461 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up462 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate463 [ 00:00:00] horae-core t_matching_relationship_revokes_both_domains464 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection465 [ 00:00:00] horae-core d_scopes_but_not_write_or_expense_management466 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free467 [ 00:00:00] horae-core :member_has_only_own_time_and_expense_access468 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed469 Running [ 00:00:00] ======> 165/189: 43 running, 146 passed, 0 skipped 470 [ 00:00:00] horae-core invoice_adjustments_round_components_half_up471 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate472 [ 00:00:00] horae-core t_matching_relationship_revokes_both_domains473 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection474 [ 00:00:00] horae-core d_scopes_but_not_write_or_expense_management475 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free476 [ 00:00:00] horae-core :member_has_only_own_time_and_expense_access477 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed478 PASS [ 0.029s] horae-core time_of_day::tests::snap_rounds_to_nearest_step479 PASS [ 0.029s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days480 PASS [ 0.047s] horae-core time_of_day::tests::format_12h_matches_harvest_style481 PASS [ 0.048s] horae-core state::tests::managers_invoice_open_and_approved_time482 PASS [ 0.440s] horae-core permissions::approvals::tests::removing_the_last_matching_relationship_revokes_both_domains483 PASS [ 0.049s] horae-core time_of_day::tests::format_round_trips484 PASS [ 0.061s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight485 PASS [ 0.094s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax486 PASS [ 0.319s] horae-core permissions::catalog::tests::member_has_only_own_time_and_expense_access487 PASS [ 0.488s] horae-core invoice::tests::invoice_adjustments_round_components_half_up488 PASS [ 0.047s] horae-core week::tests::configured_week_can_start_in_the_previous_year489 PASS [ 0.211s] horae-core permissions::rates::tests::removing_read_prerequisites_denies_both_actions490 PASS [ 0.065s] horae-core time_of_day::tests::parse_reads_12h_including_edges491 PASS [ 0.098s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero492 PASS [ 0.070s] horae-core state::tests::only_manager_can_approve493 PASS [ 0.296s] horae-core permissions::catalog::tests::report_and_withdrawal_grants_do_not_add_unrelated_authority494 PASS [ 0.071s] horae-core state::tests::invoiced_is_final495 PASS [ 0.294s] horae-core permissions::person_management::tests::combined_unrelated_grants_do_not_create_person_management_eligibility496 PASS [ 0.396s] horae-core permissions::catalog::tests::approve_all_includes_read_scopes_but_not_write_or_expense_management497 PASS [ 0.072s] horae-core time_of_day::tests::parse_reads_24h498 PASS [ 0.317s] horae-core permissions::catalog::tests::unknown_permission_names_are_rejected499 PASS [ 0.071s] horae-core week::tests::configured_week_reports_an_unrepresentable_start500 PASS [ 0.071s] horae-core week::tests::maps_any_weekday_to_its_monday501 PASS [ 0.072s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage502 PASS [ 0.283s] horae-core permissions::rates::tests::billable_owner_never_uses_the_other_management_dimension503 PASS [ 0.072s] horae-core types::tests::budget_kind_wire_strings_match_db_enum504 PASS [ 0.089s] horae-core state::tests::member_submit_and_reopen505 Running [ 00:00:00] ======> 173/189: 16 running, 173 passed, 0 skipped 506 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate507 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection508 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free509 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed510 [ 00:00:00] horae-core cial_permission_preserves_unrelated_families511 [ 00:00:00] horae-core ames_reject_empty_and_overlong_unicode_names512 [ 00:00:00] horae-core val_need_neither_grants_nor_a_separate_actor513 [ 00:00:00] horae-core posal_in_every_position_without_filtering_it514 Running [ 00:00:00] ======> 186/189: 16 running, 173 passed, 0 skipped 515 [ 00:00:00] horae-core invoice::tests::line_amount_zero_rate516 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection517 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free518 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed519 [ 00:00:00] horae-core cial_permission_preserves_unrelated_families520 [ 00:00:00] horae-core ames_reject_empty_and_overlong_unicode_names521 [ 00:00:00] horae-core val_need_neither_grants_nor_a_separate_actor522 [ 00:00:00] horae-core posal_in_every_position_without_filtering_it523 PASS [ 0.302s] horae-core permissions::person_management::tests::self_link_rejects_the_proposal_in_every_position_without_filtering_it524 PASS [ 0.292s] horae-core permissions::rates::tests::cost_and_billable_grants_are_independent_and_read_does_not_allow_write525 PASS [ 0.133s] horae-core project::tests::monthly_fee_dates_follow_calendar_months526 PASS [ 0.348s] horae-core permissions::catalog::tests::removing_any_non_floor_grant_keeps_the_remaining_selection_closed527 PASS [ 0.347s] horae-core permissions::catalog::tests::removing_one_financial_permission_preserves_unrelated_families528 PASS [ 0.255s] horae-core permissions::rates::tests::read_only_cost_grant_cannot_authorize_an_explicit_rate_edit529 PASS [ 0.532s] horae-core invoice::tests::line_amount_zero_rate530 PASS [ 0.248s] horae-core permissions::rates::tests::unchanged_rate_edit_requires_no_financial_write_grant531 PASS [ 0.310s] horae-core permissions::rates::tests::explicit_rate_edits_require_write_even_for_zero_or_an_equal_value532 PASS [ 0.194s] horae-core permissions::tests::inactive_or_foreign_context_is_denied_for_every_scope_combination533 PASS [ 0.183s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates534 PASS [ 0.160s] horae-core project::tests::payment_terms_support_receipt_and_checked_days535 PASS [ 0.355s] horae-core permissions::person_management::tests::other_people_and_empty_removal_need_neither_grants_nor_a_separate_actor536 PASS [ 0.363s] horae-core permissions::catalog::tests::template_names_reject_empty_and_overlong_unicode_names537 Running [ 00:00:00] =======> 187/189: 2 running, 187 passed, 0 skipped 538 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection539 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free540541542543544545546 Running [ 00:00:00] =======> 187/189: 2 running, 187 passed, 0 skipped 547 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection548 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free549550551552553554555 Running [ 00:00:00] =======> 187/189: 2 running, 187 passed, 0 skipped 556 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection557 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free558559560561562563564 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 565 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection566 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free567568569570571572573 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 574 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection575 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free576577578579580581582 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 583 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection584 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free585586587588589590591 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 592 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection593 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free594595596597598599600 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 601 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection602 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free603604605606607608609 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 610 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection611 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free612613614615616617618 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 619 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection620 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free621622623624625626627 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 628 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection629 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free630631632633634635636 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 637 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection638 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free639640641642643644645 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 646 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection647 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free648649650651652653654 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 655 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection656 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free657658659660661662663 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 664 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection665 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free666667668669670671672 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 673 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection674 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free675676677678679680681 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 682 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection683 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free684685686687688689690 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 691 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection692 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free693694695696697698699 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 700 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection701 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free702703704705706707708 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 709 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection710 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free711712713714715716717 Running [ 00:00:01] =======> 187/189: 2 running, 187 passed, 0 skipped 718 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection719 [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free720721722723724725726 Running [ 00:00:01] =======> 188/189: 1 running, 188 passed, 0 skipped 727 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection728729730731732733734735 PASS [ 0.980s] horae-core permissions::catalog::tests::normalization_is_idempotent_order_independent_and_duplicate_free736 Running [ 00:00:01] =======> 188/189: 1 running, 188 passed, 0 skipped 737 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection738739740741742743744745 Running [ 00:00:01] =======> 188/189: 1 running, 188 passed, 0 skipped 746 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection747748749750751752753754 Running [ 00:00:01] =======> 188/189: 1 running, 188 passed, 0 skipped 755 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection756757758759760761762763 Running [ 00:00:01] =======> 188/189: 1 running, 188 passed, 0 skipped 764 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection765766767768769770771772 PASS [ 1.183s] horae-core permissions::catalog::stored_tests::restores_each_valid_grant_pair_and_its_revoked_selection773------------774 Summary [ 1.607s] 189 tests run: 189 passed, 0 skipped775 Running [ 00:00:01] ======== 189/189: 1 running, 188 passed, 0 skipped 776 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection777778779780781782783784The files belonging to this database system will be owned by user "nixbld".785This user must also own the server process.786787The database cluster will be initialized with locale "C".788The default text search configuration will be set to "english".789790Data page checksums are disabled.791792fixing permissions on existing directory /build/tmp.CYe8GhRIKS ... ok793creating subdirectories ... ok794selecting dynamic shared memory implementation ... posix795selecting default "max_connections" ... 100796selecting default "shared_buffers" ... 128MB797selecting default time zone ... UTC798creating configuration files ... ok799running bootstrap script ... ok800performing post-bootstrap initialization ... ok801syncing data to disk ... ok802803initdb: warning: enabling "trust" authentication for local connections804initdb: 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.805806Success. You can now start the database server using:807808 pg_ctl -D /build/tmp.CYe8GhRIKS -l logfile start809810waiting for server to start.... done811server started812+++ command cargo test -p horae --features server -- --test-threads 48813 Compiling horae v0.1.0 (/build/source/crates/horae)814 Compiling horae-core v0.1.0 (/build/source/crates/core)