horae-tests-0.1.0
checks.x86_64-linux.tests
· build #467
· raw
unpackPhase
1unpacking source archive /nix/store/fj95xbfxj9vw7snpw0w9dshkp104cqg6-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 5 minutes 56 secondsconfigurePhase
6will append /build/source/.cargo-home/config.toml with contents of /nix/store/i0bj632any4bjpvnl84zc2h7cq8zn0mz-vendor-cargo-deps/config.toml7default configurePhase, nothing to dobuildPhase
8+++ command cargo nextest run -p horae-core --test-threads 489 Compiling proc-macro2 v1.0.10610 Compiling serde_core v1.0.22811 Compiling serde v1.0.22812 Compiling num-traits v0.2.1913 Compiling quote v1.0.4614 Compiling syn v2.0.11815 Compiling uuid v1.23.416 Compiling serde_derive v1.0.22817 Compiling thiserror-impl v2.0.1818 Compiling thiserror v2.0.1819 Compiling chrono v0.4.4520 Compiling horae-core v0.1.0 (/build/source/crates/core)21 Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 47s22------------23 Nextest run ID 4f1fb237-6030-4f2d-a55d-188ae5056a2e with nextest profile: default24 Starting 191 tests across 1 binary25 Running [ 00:00:00] 0/191: 48 running, 0 passed, 0 skipped 26 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget27 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band28 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances29 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding30 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values31 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows32 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached33 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once34 Running [ 00:00:00] > 1/191: 48 running, 1 passed, 0 skipped 35 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget36 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band37 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances38 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding39 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values40 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows41 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached42 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once43 PASS [ 0.026s] horae-core client::tests::profile_rejects_blank_overlong_and_null_names44 Running [ 00:00:00] > 1/191: 48 running, 1 passed, 0 skipped 45 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget46 [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band47 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances48 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding49 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values50 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows51 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached52 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once53 Running [ 00:00:00] > 8/191: 48 running, 8 passed, 0 skipped 54 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget55 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances56 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding57 [ 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 PASS [ 0.034s] horae-core client::tests::profile_accepts_supported_currencies_and_unicode_character_limit63 PASS [ 0.027s] horae-core duration::tests::parse_colon64 PASS [ 0.034s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator65 PASS [ 0.027s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract66 PASS [ 0.077s] horae-core budget::tests::a_single_jump_announces_every_crossed_band67 PASS [ 0.069s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly68 PASS [ 0.015s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present69 Running [ 00:00:00] > 8/191: 48 running, 8 passed, 0 skipped 70 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget71 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances72 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding73 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values74 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows75 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached76 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once77 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets78 Running [ 00:00:00] > 15/191: 48 running, 8 passed, 0 skipped 79 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget80 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances81 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding82 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values83 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows84 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached85 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once86 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets87 PASS [ 0.080s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits88 PASS [ 0.073s] horae-core duration::tests::minutes_between_is_exact_no_minimum89 PASS [ 0.073s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace90 PASS [ 0.031s] horae-core importers::harvest::keys::tests::time_entry_key_distinguishes_and_matches91 PASS [ 0.027s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches92 PASS [ 0.026s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work93 PASS [ 0.037s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects94 PASS [ 0.128s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform95 Running [ 00:00:00] > 16/191: 48 running, 16 passed, 0 skipped 96 [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget97 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances98 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding99 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values100 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows101 [ 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 Running [ 00:00:00] > 23/191: 48 running, 23 passed, 0 skipped 105 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances106 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding107 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values108 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows109 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached110 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once111 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets112 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget113 PASS [ 0.016s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts114 PASS [ 0.132s] horae-core client::tests::default_rate_rejects_negative_fractional_cent_overflow_and_invalid_text115 PASS [ 0.166s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget116 PASS [ 0.021s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order117 PASS [ 0.152s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse118 PASS [ 0.172s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact119 PASS [ 0.175s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day120 Running [ 00:00:00] > 23/191: 48 running, 23 passed, 0 skipped 121 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances122 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding123 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values124 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows125 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached126 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once127 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets128 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget129 Running [ 00:00:00] => 29/191: 48 running, 23 passed, 0 skipped 130 [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances131 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding132 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values133 [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows134 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached135 [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once136 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets137 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget138 PASS [ 0.099s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error139 PASS [ 0.129s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name140 PASS [ 0.056s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal141 PASS [ 0.017s] horae-core invoice::tests::line_amount_90_minutes142 PASS [ 0.193s] horae-core client::tests::default_rate_preserves_absence_zero_and_exact_large_amounts143 PASS [ 0.224s] horae-core budget::tests::allocated_totals_exclude_blank_but_include_zero_allowances144 PASS [ 0.218s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows145 PASS [ 0.222s] horae-core duration::tests::format_round_trip146 PASS [ 0.223s] horae-core budget::tests::each_crossing_is_announced_once147 Running [ 00:00:00] => 32/191: 47 running, 32 passed, 0 skipped 148 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding149 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values150 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached151 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets152 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget153 [ 00:00:00] horae-core budget::tests::large_values_do_not_overflow154 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band155 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields156 Running [ 00:00:00] => 42/191: 48 running, 42 passed, 0 skipped 157 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding158 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values159 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached160 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets161 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget162 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band163 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields164 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero165 PASS [ 0.209s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds166 PASS [ 0.207s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero167 PASS [ 0.256s] horae-core budget::tests::large_values_do_not_overflow168 PASS [ 0.119s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow169 PASS [ 0.251s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating170 PASS [ 0.263s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly171 PASS [ 0.263s] horae-core duration::tests::parse_decimal172 PASS [ 0.242s] horae-core importers::harvest::convert::tests::money_common_values_are_exact173 PASS [ 0.244s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up174 PASS [ 0.087s] horae-core invoice::tests::line_amount_odd_minutes175 Running [ 00:00:00] => 42/191: 48 running, 42 passed, 0 skipped 176 [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding177 [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values178 [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached179 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets180 [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget181 [ 00:00:00] horae-core get_fires_even_without_a_configured_100_band182 [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields183 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero184 Running [ 00:00:00] ==> 64/191: 48 running, 64 passed, 0 skipped 185 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets186 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero187 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals188 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected189 [ 00:00:00] horae-core arvest::convert::tests::negative_is_rejected190 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent191 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names192 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line193 PASS [ 0.095s] horae-core invoice::tests::line_amount_half_hour194 PASS [ 0.277s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow195 PASS [ 0.297s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking196 PASS [ 0.039s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit197 PASS [ 0.301s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it198 PASS [ 0.300s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking199 PASS [ 0.307s] horae-core client::tests::optional_text_normalizes_only_blank_fields200 PASS [ 0.323s] horae-core budget::tests::allocated_totals_do_not_hide_individual_overruns_or_recover_overflow_as_zero201 PASS [ 0.026s] horae-core permissions::approvals::tests::all_records_need_approval_scope_even_when_both_domains_are_readable202 PASS [ 0.297s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values203 PASS [ 0.304s] horae-core duration::tests::format_hhmm_pads_minutes204 PASS [ 0.327s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band205 PASS [ 0.028s] horae-core permissions::approvals::tests::catalog_grants_cannot_substitute_for_approval206 PASS [ 0.310s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary207 PASS [ 0.327s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform208 PASS [ 0.327s] horae-core budget::tests::no_band_for_zero_or_missing_budget209 PASS [ 0.328s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values210 PASS [ 0.335s] horae-core client::tests::profile_rejects_unsupported_currency_and_null_billing_fields211 PASS [ 0.336s] horae-core budget::tests::current_band_is_the_highest_reached212 PASS [ 0.317s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide213 PASS [ 0.341s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding214 PASS [ 0.219s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors215 Running [ 00:00:00] ==> 64/191: 48 running, 64 passed, 0 skipped 216 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets217 [ 00:00:00] horae-core ation::tests::format_clamps_negative_to_zero218 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals219 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected220 [ 00:00:00] horae-core arvest::convert::tests::negative_is_rejected221 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent222 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names223 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line224 Running [ 00:00:00] ===> 80/191: 48 running, 80 passed, 0 skipped 225 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets226 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals227 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected228 [ 00:00:00] horae-core arvest::convert::tests::negative_is_rejected229 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent230 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names231 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line232 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available233 PASS [ 0.025s] horae-core permissions::approvals::tests::removing_the_last_matching_relationship_revokes_both_domains234 PASS [ 0.328s] horae-core duration::tests::format_clamps_negative_to_zero235 PASS [ 0.015s] horae-core permissions::catalog::stored_tests::stored_order_does_not_change_the_selected_set236 PASS [ 0.088s] horae-core money::tests::addition_retains_currency_checks_and_representable_boundaries237 PASS [ 0.030s] horae-core permissions::approvals::tests::reevaluation_does_not_reuse_prior_read_or_approval_success238 PASS [ 0.171s] horae-core invoice::tests::invoice_adjustments_round_components_half_up239 PASS [ 0.093s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results240 PASS [ 0.014s] horae-core permissions::catalog::tests::approve_all_includes_read_scopes_but_not_write_or_expense_management241 PASS [ 0.029s] horae-core permissions::catalog::stored_tests::restores_each_builtin_selection_without_changing_grants242 PASS [ 0.036s] horae-core permissions::catalog::stored_tests::rejects_every_missing_prerequisite_without_repairing_input243 PASS [ 0.021s] horae-core permissions::catalog::tests::catalog_has_fifty_distinct_known_grants244 PASS [ 0.108s] horae-core invoice::tests::line_amount_zero_rate245 PASS [ 0.077s] horae-core permissions::approvals::tests::empty_record_sets_do_not_remove_identity_or_explicit_grant_checks246 PASS [ 0.046s] horae-core permissions::catalog::stored_tests::restores_custom_selection_without_reapplying_profile_defaults247 PASS [ 0.047s] horae-core permissions::catalog::stored_tests::rejects_unsupported_versions_even_for_valid_grants248 PASS [ 0.024s] horae-core permissions::catalog::tests::floor_cannot_be_removed_or_partially_modified249 Running [ 00:00:00] ===> 80/191: 48 running, 80 passed, 0 skipped 250 [ 00:00:00] horae-core elow_a_band_does_not_fire_but_current_resets251 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals252 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected253 [ 00:00:00] horae-core arvest::convert::tests::negative_is_rejected254 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent255 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names256 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line257 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available258 Running [ 00:00:00] ===> 86/191: 48 running, 86 passed, 0 skipped 259 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals260 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected261 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent262 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names263 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line264 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available265 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes266 [ 00:00:00] horae-core e_amount_accepts_large_representable_amounts267 PASS [ 0.221s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow268 PASS [ 0.080s] horae-core permissions::approvals::tests::no_expense_read_is_needed_when_there_are_no_expenses269 PASS [ 0.391s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets270 PASS [ 0.391s] horae-core importers::harvest::convert::tests::negative_is_rejected271 PASS [ 0.155s] horae-core invoice::tests::line_amount_zero_minutes272 PASS [ 0.101s] horae-core permissions::approvals::tests::only_expense_reads_or_their_write_prerequisites_make_others_expenses_visible273 Running [ 00:00:00] ===> 86/191: 48 running, 86 passed, 0 skipped 274 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals275 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected276 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent277 [ 00:00:00] horae-core tests::import_modes_display_their_wire_names278 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line279 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available280 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes281 [ 00:00:00] horae-core e_amount_accepts_large_representable_amounts282 Running [ 00:00:00] ===> 93/191: 48 running, 93 passed, 0 skipped 283 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals284 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected285 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent286 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line287 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available288 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes289 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour290 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even291 PASS [ 0.080s] horae-core permissions::catalog::tests::profiles_reject_legacy_rank_names_and_unknown_values292 PASS [ 0.338s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names293 PASS [ 0.167s] horae-core permissions::approvals::tests::expense_read_scope_and_approval_scope_form_an_intersection294 PASS [ 0.101s] horae-core permissions::catalog::tests::normalization_is_idempotent_order_independent_and_duplicate_free295 PASS [ 0.164s] horae-core permissions::approvals::tests::missing_dimensions_and_input_duplicates_do_not_infer_scope296 PASS [ 0.285s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts297 PASS [ 0.128s] horae-core permissions::catalog::tests::dependency_graph_matches_the_reference_edges_without_extra_cross_resource_grants298 Running [ 00:00:00] ===> 93/191: 48 running, 93 passed, 0 skipped 299 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals300 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected301 [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent302 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line303 [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available304 [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes305 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour306 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even307 Running [ 00:00:00] ===> 102/191: 48 running, 102 passed, 0 skipped 308 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals309 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected310 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line311 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour312 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even313 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions314 [ 00:00:00] horae-core keeps_zero_and_explicit_missing_project_rate315 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources316 PASS [ 0.464s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent317 PASS [ 0.172s] horae-core permissions::catalog::tests::every_declared_dependency_is_added_and_removing_it_removes_the_dependent318 PASS [ 0.366s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available319 PASS [ 0.051s] horae-core permissions::person_management::tests::self_link_rejects_the_proposal_in_every_position_without_filtering_it320 PASS [ 0.210s] horae-core permissions::approvals::tests::one_unreadable_expense_denies_the_whole_supplied_set321 PASS [ 0.184s] horae-core permissions::catalog::tests::every_profile_includes_floor_and_is_closed_under_dependencies322 PASS [ 0.224s] horae-core permissions::approvals::tests::inactive_and_foreign_provenance_deny_even_with_all_grants323 PASS [ 0.114s] horae-core permissions::catalog::tests::unknown_permission_names_are_rejected324 PASS [ 0.365s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes325 Running [ 00:00:00] ===> 102/191: 48 running, 102 passed, 0 skipped 326 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals327 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected328 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line329 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour330 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even331 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions332 [ 00:00:00] horae-core keeps_zero_and_explicit_missing_project_rate333 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources334 Running [ 00:00:00] ====> 115/191: 48 running, 115 passed, 0 skipped 335 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals336 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected337 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line338 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour339 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even340 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions341 [ 00:00:00] horae-core keeps_zero_and_explicit_missing_project_rate342 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources343 PASS [ 0.017s] horae-core permissions::rates::tests::explicit_rate_edits_require_write_even_for_zero_or_an_equal_value344 PASS [ 0.075s] horae-core permissions::person_management::tests::other_people_and_empty_removal_need_neither_grants_nor_a_separate_actor345 PASS [ 0.028s] horae-core permissions::rates::tests::billable_owner_never_uses_the_other_management_dimension346 PASS [ 0.036s] horae-core permissions::rates::tests::all_six_defaults_have_the_approved_financial_access347 PASS [ 0.228s] horae-core permissions::catalog::stored_tests::rejects_each_missing_floor_grant348 PASS [ 0.089s] horae-core permissions::person_management::tests::own_tracking_floor_does_not_qualify349 PASS [ 0.029s] horae-core permissions::rates::tests::identity_and_tenant_mismatches_deny_even_all_financial_grants350 PASS [ 0.183s] horae-core permissions::catalog::tests::removing_absent_permission_is_an_idempotent_no_op351 PASS [ 0.302s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent352 PASS [ 0.112s] horae-core permissions::person_management::tests::combined_unrelated_grants_do_not_create_person_management_eligibility353 PASS [ 0.036s] horae-core permissions::rates::tests::grant_removal_denies_without_mutating_the_remaining_selection354 PASS [ 0.024s] horae-core permissions::rates::tests::unchanged_rate_edit_requires_no_financial_write_grant355 PASS [ 0.016s] horae-core permissions::tests::removing_an_assignment_removes_only_that_matching_dimension356 Running [ 00:00:00] ====> 115/191: 48 running, 115 passed, 0 skipped 357 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals358 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected359 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line360 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour361 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even362 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions363 [ 00:00:00] horae-core keeps_zero_and_explicit_missing_project_rate364 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources365 Running [ 00:00:00] ====> 129/191: 48 running, 129 passed, 0 skipped 366 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals367 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected368 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line369 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour370 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even371 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions372 [ 00:00:00] horae-core keeps_zero_and_explicit_missing_project_rate373 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources374 PASS [ 0.024s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates375 PASS [ 0.027s] horae-core permissions::tests::scope_union_obeys_set_laws376 PASS [ 0.028s] horae-core project::tests::basics_reject_blank_and_overlong_names377 PASS [ 0.018s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones378 PASS [ 0.081s] horae-core permissions::rates::tests::billable_actions_use_only_their_own_grant_and_owner_scope379 PASS [ 0.237s] horae-core permissions::catalog::tests::known_permission_name_decodes_without_legacy_role_conversion380 PASS [ 0.052s] horae-core permissions::tests::every_scope_combination_matches_only_explicitly_granted_dimensions381 PASS [ 0.017s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total382 PASS [ 0.020s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials383 PASS [ 0.023s] horae-core project::tests::monthly_fee_dates_follow_calendar_months384 PASS [ 0.016s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero385 PASS [ 0.028s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs386 PASS [ 0.033s] horae-core project::tests::percentage_preserves_exact_hundredths387 PASS [ 0.022s] horae-core rounding::tests::identity_when_inc_zero388 Running [ 00:00:00] ====> 129/191: 48 running, 129 passed, 0 skipped 389 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals390 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected391 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line392 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour393 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even394 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions395 [ 00:00:00] horae-core keeps_zero_and_explicit_missing_project_rate396 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources397 Running [ 00:00:00] ====> 134/191: 48 running, 134 passed, 0 skipped 398 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals399 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected400 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line401 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour402 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even403 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions404 [ 00:00:00] horae-core keeps_zero_and_explicit_missing_project_rate405 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources406 PASS [ 0.021s] horae-core rounding::tests::result_is_multiple_of_inc407 PASS [ 0.298s] horae-core permissions::catalog::tests::empty_selection_includes_member_floor408 PASS [ 0.302s] horae-core permissions::catalog::tests::direct_profile_defaults_match_the_known_reference_catalog409 PASS [ 0.316s] horae-core permissions::catalog::tests::administrator_selection_covers_known_catalog_without_unknown_ids410 PASS [ 0.051s] horae-core state::tests::invoiced_is_final411 Running [ 00:00:00] ====> 134/191: 48 running, 134 passed, 0 skipped 412 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals413 [ 00:00:00] horae-core harvest::convert::tests::garbage_is_rejected414 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line415 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour416 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even417 [ 00:00:00] horae-core addition_rejects_overflow_in_both_directions418 [ 00:00:00] horae-core keeps_zero_and_explicit_missing_project_rate419 [ 00:00:00] horae-core ed_rate_mode_ignores_unselected_rate_sources420 Running [ 00:00:00] =====> 159/191: 32 running, 159 passed, 0 skipped 421 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals422 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line423 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour424 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even425 [ 00:00:00] horae-core keeps_zero_and_explicit_missing_project_rate426 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign427 [ 00:00:00] horae-core invoice::tests::resolve_rate_cascade428 [ 00:00:00] horae-core ate_grants_instead_of_silently_deduplicating429 PASS [ 0.435s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts430 PASS [ 0.079s] horae-core rounding::tests::nearest_ties_round_up431 PASS [ 0.232s] horae-core permissions::person_management::tests::eligibility_tracks_last_compatible_grant_loss_and_restoration432 PASS [ 0.096s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax433 PASS [ 0.053s] horae-core state::tests::member_submit_and_reopen434 PASS [ 0.382s] horae-core permissions::catalog::stored_tests::rejects_empty_saved_selection_instead_of_adding_member_floor435 PASS [ 0.420s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs436 PASS [ 0.081s] horae-core rounding::tests::up_and_down437 PASS [ 0.347s] horae-core permissions::catalog::tests::member_has_only_own_time_and_expense_access438 PASS [ 0.186s] horae-core permissions::rates::tests::cost_and_billable_grants_are_independent_and_read_does_not_allow_write439 PASS [ 0.720s] horae-core importers::harvest::convert::tests::garbage_is_rejected440 PASS [ 0.460s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift441 PASS [ 0.319s] horae-core permissions::catalog::tests::template_names_reject_empty_and_overlong_unicode_names442 PASS [ 0.020s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage443 PASS [ 0.465s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources444 PASS [ 0.122s] horae-core project::tests::payment_terms_support_receipt_and_checked_days445 PASS [ 0.466s] horae-core money::tests::addition_rejects_overflow_in_both_directions446 PASS [ 0.312s] horae-core permissions::catalog::tests::template_names_trim_without_changing_display_or_internal_spaces447 PASS [ 0.370s] horae-core permissions::catalog::tests::finance_profiles_cannot_edit_rates_and_project_manager_has_no_financial_grants448 PASS [ 0.081s] horae-core state::tests::only_manager_can_approve449 PASS [ 0.074s] horae-core time_of_day::tests::format_12h_matches_harvest_style450 PASS [ 0.016s] horae-core week::tests::maps_any_weekday_to_its_monday451 PASS [ 0.024s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days452 PASS [ 0.342s] horae-core permissions::catalog::tests::removing_one_financial_permission_preserves_unrelated_families453 PASS [ 0.166s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates454 Running [ 00:00:00] =====> 159/191: 32 running, 159 passed, 0 skipped 455 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals456 [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line457 [ 00:00:00] horae-core invoice::tests::line_amount_exact_hour458 [ 00:00:00] horae-core line_amount_rounds_half_cents_up_not_to_even459 [ 00:00:00] horae-core keeps_zero_and_explicit_missing_project_rate460 [ 00:00:00] horae-core format_cents_groups_thousands_and_keeps_sign461 [ 00:00:00] horae-core invoice::tests::resolve_rate_cascade462 [ 00:00:00] horae-core ate_grants_instead_of_silently_deduplicating463 Running [ 00:00:00] ======> 174/191: 17 running, 174 passed, 0 skipped 464 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals465 [ 00:00:00] horae-core ate_grants_instead_of_silently_deduplicating466 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection467 [ 00:00:00] horae-core _catalog_grants_produces_exactly_the_catalog468 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed469 [ 00:00:00] horae-core drawal_grants_do_not_add_unrelated_authority470 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair471 [ 00:00:00] horae-core cified_compatibility_without_changing_grants472 PASS [ 0.622s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line473 PASS [ 0.040s] horae-core types::tests::budget_kind_wire_strings_match_db_enum474 PASS [ 0.480s] horae-core invoice::tests::resolve_rate_cascade475 PASS [ 0.190s] horae-core permissions::tests::assignments_do_not_grant_scope_and_missing_assignments_do_not_match476 PASS [ 0.483s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even477 PASS [ 0.053s] horae-core time_of_day::tests::format_round_trips478 PASS [ 0.482s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate479 PASS [ 0.549s] horae-core invoice::tests::line_amount_exact_hour480 PASS [ 0.049s] horae-core time_of_day::tests::parse_reads_12h_including_edges481 PASS [ 0.195s] horae-core permissions::rates::tests::unrelated_catalog_grants_never_authorize_ordinary_financial_fields482 PASS [ 0.359s] horae-core permissions::catalog::tests::removing_invoice_draft_write_keeps_read_but_removes_managed_and_all_write483 PASS [ 0.372s] horae-core permissions::catalog::tests::removing_managed_time_read_also_removes_all_reads_writes_and_approvals484 PASS [ 0.506s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign485 PASS [ 0.064s] horae-core week::tests::configured_week_can_start_in_the_previous_year486 PASS [ 0.072s] horae-core time_of_day::tests::parse_reads_24h487 Running [ 00:00:00] ======> 174/191: 17 running, 174 passed, 0 skipped 488 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals489 [ 00:00:00] horae-core ate_grants_instead_of_silently_deduplicating490 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection491 [ 00:00:00] horae-core _catalog_grants_produces_exactly_the_catalog492 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed493 [ 00:00:00] horae-core drawal_grants_do_not_add_unrelated_authority494 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair495 [ 00:00:00] horae-core cified_compatibility_without_changing_grants496 Running [ 00:00:00] ======> 178/191: 13 running, 178 passed, 0 skipped 497 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals498 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection499 [ 00:00:00] horae-core _catalog_grants_produces_exactly_the_catalog500 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed501 [ 00:00:00] horae-core drawal_grants_do_not_add_unrelated_authority502 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair503 [ 00:00:00] horae-core cified_compatibility_without_changing_grants504 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions505 PASS [ 0.260s] horae-core permissions::rates::tests::read_only_cost_grant_cannot_authorize_an_explicit_rate_edit506 PASS [ 0.090s] horae-core week::tests::configured_week_reports_an_unrepresentable_start507 PASS [ 0.179s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight508 PASS [ 0.510s] horae-core permissions::catalog::stored_tests::rejects_duplicate_grants_instead_of_silently_deduplicating509 Running [ 00:00:00] ======> 178/191: 13 running, 178 passed, 0 skipped 510 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals511 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection512 [ 00:00:00] horae-core _catalog_grants_produces_exactly_the_catalog513 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed514 [ 00:00:00] horae-core drawal_grants_do_not_add_unrelated_authority515 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair516 [ 00:00:00] horae-core cified_compatibility_without_changing_grants517 [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions518 Running [ 00:00:00] =======> 184/191: 7 running, 184 passed, 0 skipped 519 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals520 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection521 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed522 [ 00:00:00] horae-core drawal_grants_do_not_add_unrelated_authority523 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair524 [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates525 [ 00:00:00] horae-core sts::managers_invoice_open_and_approved_time526527 PASS [ 0.374s] horae-core permissions::person_management::tests::each_catalog_grant_has_the_specified_compatibility_without_changing_grants528 PASS [ 0.313s] horae-core permissions::rates::tests::removing_read_prerequisites_denies_both_actions529 PASS [ 0.518s] horae-core permissions::catalog::tests::adding_all_catalog_grants_produces_exactly_the_catalog530 PASS [ 0.303s] horae-core permissions::tests::inactive_or_foreign_context_is_denied_for_every_scope_combination531 PASS [ 0.297s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency532 PASS [ 0.186s] horae-core time_of_day::tests::snap_rounds_to_nearest_step533 Running [ 00:00:00] =======> 184/191: 7 running, 184 passed, 0 skipped 534 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals535 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection536 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed537 [ 00:00:00] horae-core drawal_grants_do_not_add_unrelated_authority538 [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair539 [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates540 [ 00:00:00] horae-core sts::managers_invoice_open_and_approved_time541542 Running [ 00:00:00] =======> 187/191: 4 running, 187 passed, 0 skipped 543 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals544 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection545 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed546 [ 00:00:00] horae-core sts::managers_invoice_open_and_approved_time547548549550551 PASS [ 0.496s] horae-core permissions::catalog::tests::report_and_withdrawal_grants_do_not_add_unrelated_authority552 PASS [ 0.347s] horae-core permissions::tests::assignment_matching_searches_all_members_and_is_insensitive_to_duplicates553 PASS [ 0.466s] horae-core permissions::person_management::tests::any_compatible_grant_suffices_in_every_pair554 Running [ 00:00:00] =======> 187/191: 4 running, 187 passed, 0 skipped 555 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals556 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection557 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed558 [ 00:00:00] horae-core sts::managers_invoice_open_and_approved_time559560561562563 Running [ 00:00:01] =======> 187/191: 4 running, 187 passed, 0 skipped 564 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals565 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection566 [ 00:00:00] horae-core r_grant_keeps_the_remaining_selection_closed567 [ 00:00:00] horae-core sts::managers_invoice_open_and_approved_time568569570571572 PASS [ 0.607s] horae-core permissions::catalog::tests::removing_any_non_floor_grant_keeps_the_remaining_selection_closed573 Running [ 00:00:01] =======> 188/191: 3 running, 188 passed, 0 skipped 574 [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals575 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection576 [ 00:00:00] horae-core sts::managers_invoice_open_and_approved_time577578579580581582 Running [ 00:00:01] =======> 189/191: 2 running, 189 passed, 0 skipped 583 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals584 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection585586587588589590591 PASS [ 0.378s] horae-core state::tests::managers_invoice_open_and_approved_time592 Running [ 00:00:01] =======> 189/191: 2 running, 189 passed, 0 skipped 593 [ 00:00:01] horae-core s::conversion_matches_exact_scaled_rationals594 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection595596597598599600601 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 602 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection603604605606607608609610 PASS [ 1.049s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals611 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 612 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection613614615616617618619620 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 621 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection622623624625626627628629 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 630 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection631632633634635636637638 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 639 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection640641642643644645646647 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 648 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection649650651652653654655656 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 657 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection658659660661662663664665 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 666 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection667668669670671672673674 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 675 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection676677678679680681682683 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 684 [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection685686687688689690691692 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 693 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection694695696697698699700701 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 702 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection703704705706707708709710 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 711 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection712713714715716717718719 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 720 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection721722723724725726727728 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 729 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection730731732733734735736737 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 738 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection739740741742743744745746 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 747 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection748749750751752753754755 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 756 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection757758759760761762763764 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 765 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection766767768769770771772773 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 774 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection775776777778779780781782 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 783 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection784785786787788789790791 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 792 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection793794795796797798799800 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 801 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection802803804805806807808809 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 810 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection811812813814815816817818 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 819 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection820821822823824825826827 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 828 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection829830831832833834835836 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 837 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection838839840841842843844845 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 846 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection847848849850851852853854 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 855 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection856857858859860861862863 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 864 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection865866867868869870871872 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 873 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection874875876877878879880881 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 882 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection883884885886887888889890 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 891 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection892893894895896897898899 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 900 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection901902903904905906907908 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 909 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection910911912913914915916917 Running [ 00:00:01] =======> 190/191: 1 running, 190 passed, 0 skipped 918 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection919920921922923924925926 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 927 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection928929930931932933934935 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 936 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection937938939940941942943944 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 945 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection946947948949950951952953 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 954 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection955956957958959960961962 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 963 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection964965966967968969970971 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 972 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection973974975976977978979980 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 981 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection982983984985986987988989 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 990 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection991992993994995996997998 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 999 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection10001001100210031004100510061007 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1008 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection10091010101110121013101410151016 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1017 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection10181019102010211022102310241025 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1026 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection10271028102910301031103210331034 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1035 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection10361037103810391040104110421043 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1044 [ 00:00:01] horae-core h_valid_grant_pair_and_its_revoked_selection10451046104710481049105010511052 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1053 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection10541055105610571058105910601061 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1062 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection10631064106510661067106810691070 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1071 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection10721073107410751076107710781079 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1080 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection10811082108310841085108610871088 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1089 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection10901091109210931094109510961097 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1098 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection10991100110111021103110411051106 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1107 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection11081109111011111112111311141115 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1116 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection11171118111911201121112211231124 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1125 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection11261127112811291130113111321133 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1134 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection11351136113711381139114011411142 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1143 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection11441145114611471148114911501151 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1152 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection11531154115511561157115811591160 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1161 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection11621163116411651166116711681169 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1170 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection11711172117311741175117611771178 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1179 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection11801181118211831184118511861187 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1188 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection11891190119111921193119411951196 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1197 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection11981199120012011202120312041205 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1206 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection12071208120912101211121212131214 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1215 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection12161217121812191220122112221223 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1224 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection12251226122712281229123012311232 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1233 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection12341235123612371238123912401241 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1242 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection12431244124512461247124812491250 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1251 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection12521253125412551256125712581259 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1260 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection12611262126312641265126612671268 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1269 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection12701271127212731274127512761277 Running [ 00:00:02] =======> 190/191: 1 running, 190 passed, 0 skipped 1278 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection12791280128112821283128412851286 Running [ 00:00:03] =======> 190/191: 1 running, 190 passed, 0 skipped 1287 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection12881289129012911292129312941295 Running [ 00:00:03] =======> 190/191: 1 running, 190 passed, 0 skipped 1296 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection12971298129913001301130213031304 Running [ 00:00:03] =======> 190/191: 1 running, 190 passed, 0 skipped 1305 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection13061307130813091310131113121313 Running [ 00:00:03] =======> 190/191: 1 running, 190 passed, 0 skipped 1314 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection13151316131713181319132013211322 Running [ 00:00:03] =======> 190/191: 1 running, 190 passed, 0 skipped 1323 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection13241325132613271328132913301331 Running [ 00:00:03] =======> 190/191: 1 running, 190 passed, 0 skipped 1332 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection13331334133513361337133813391340 Running [ 00:00:03] =======> 190/191: 1 running, 190 passed, 0 skipped 1341 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection13421343134413451346134713481349 Running [ 00:00:03] =======> 190/191: 1 running, 190 passed, 0 skipped 1350 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection13511352135313541355135613571358 PASS [ 2.831s] horae-core permissions::catalog::stored_tests::restores_each_valid_grant_pair_and_its_revoked_selection1359------------1360 Summary [ 3.175s] 191 tests run: 191 passed, 0 skipped1361 Running [ 00:00:03] ======== 191/191: 1 running, 190 passed, 0 skipped 1362 [ 00:00:02] horae-core h_valid_grant_pair_and_its_revoked_selection13631364136513661367136813691370The files belonging to this database system will be owned by user "nixbld".1371This user must also own the server process.13721373The database cluster will be initialized with locale "C".1374The default text search configuration will be set to "english".13751376Data page checksums are disabled.13771378fixing permissions on existing directory /build/tmp.tCoPaFgHqv ... ok1379creating subdirectories ... ok1380selecting dynamic shared memory implementation ... posix1381selecting default "max_connections" ... 1001382selecting default "shared_buffers" ... 128MB1383selecting default time zone ... UTC1384creating configuration files ... ok1385running bootstrap script ... ok1386performing post-bootstrap initialization ... ok1387syncing data to disk ... ok13881389initdb: warning: enabling "trust" authentication for local connections1390initdb: 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.13911392Success. You can now start the database server using:13931394 pg_ctl -D /build/tmp.tCoPaFgHqv -l logfile start13951396waiting for server to start.... done1397server started1398+++ command cargo test -p horae --features server -- --test-threads 481399 Compiling horae v0.1.0 (/build/source/crates/horae)1400 Compiling horae-core v0.1.0 (/build/source/crates/core)