this derivation will be built: /nix/store/zrgy54d8awmzdvqh0vff17106n5pvgwz-horae-tests-0.1.0.drv building '/nix/store/zrgy54d8awmzdvqh0vff17106n5pvgwz-horae-tests-0.1.0.drv' horae-tests-0.1.0> Running phase: unpackPhase horae-tests-0.1.0> unpacking source archive /nix/store/5b1h9qcfx5gl2nrjmql99yp23w05797x-source horae-tests-0.1.0> source root is source horae-tests-0.1.0> Running phase: patchPhase horae-tests-0.1.0> Executing configureCargoCommonVars horae-tests-0.1.0> decompressing cargo artifacts from /nix/store/p0fga5r55aw5iwdy8h0dpr32lhcczl5i-horae-checks-deps-0.1.0/target.tar.zst to target horae-tests-0.1.0> patchPhase completed in 6 minutes 45 seconds horae-tests-0.1.0> Running phase: updateAutotoolsGnuConfigScriptsPhase horae-tests-0.1.0> Running phase: configurePhase horae-tests-0.1.0> will append /build/source/.cargo-home/config.toml with contents of /nix/store/i0bj632any4bjpvnl84zc2h7cq8zn0mz-vendor-cargo-deps/config.toml horae-tests-0.1.0> default configurePhase, nothing to do horae-tests-0.1.0> Running phase: buildPhase horae-tests-0.1.0> +++ command cargo nextest run -p horae-core --test-threads 48 horae-tests-0.1.0> Resolving dependency graph... horae-tests-0.1.0> Compiling proc-macro2 v1.0.106 horae-tests-0.1.0> Compiling serde_core v1.0.228 horae-tests-0.1.0> Compiling serde v1.0.228 horae-tests-0.1.0> Compiling num-traits v0.2.19 horae-tests-0.1.0> Compiling quote v1.0.46 horae-tests-0.1.0> Compiling syn v2.0.118 horae-tests-0.1.0> Compiling uuid v1.23.4 horae-tests-0.1.0> Compiling serde_derive v1.0.228 horae-tests-0.1.0> Compiling thiserror-impl v2.0.18 horae-tests-0.1.0> Compiling thiserror v2.0.18 horae-tests-0.1.0> Compiling chrono v0.4.45 horae-tests-0.1.0> Compiling horae-core v0.1.0 (/build/source/crates/core) horae-tests-0.1.0> Finished `test` profile [unoptimized + debuginfo] target(s) in 6m 02s horae-tests-0.1.0> ------------ horae-tests-0.1.0> Nextest run ID 264fc7c3-1d10-43a8-988c-62ca0ed071ec with nextest profile: default horae-tests-0.1.0> Starting 191 tests across 1 binary horae-tests-0.1.0> Running [ 00:00:00] 0/191: 48 running, 0 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances horae-tests-0.1.0> [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding horae-tests-0.1.0> [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values horae-tests-0.1.0> [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached horae-tests-0.1.0> Running [ 00:00:00] 0/191: 48 running, 0 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances horae-tests-0.1.0> [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding horae-tests-0.1.0> [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values horae-tests-0.1.0> [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached horae-tests-0.1.0> Running [ 00:00:00] 0/191: 48 running, 0 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances horae-tests-0.1.0> [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding horae-tests-0.1.0> [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values horae-tests-0.1.0> [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached horae-tests-0.1.0> Running [ 00:00:00] > 2/191: 48 running, 0 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances horae-tests-0.1.0> [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding horae-tests-0.1.0> [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values horae-tests-0.1.0> [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached horae-tests-0.1.0> Running [ 00:00:00] > 2/191: 48 running, 0 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances horae-tests-0.1.0> [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding horae-tests-0.1.0> [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values horae-tests-0.1.0> [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached horae-tests-0.1.0> Running [ 00:00:00] > 2/191: 48 running, 2 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances horae-tests-0.1.0> [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding horae-tests-0.1.0> [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values horae-tests-0.1.0> [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached horae-tests-0.1.0> [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once horae-tests-0.1.0> PASS [ 0.046s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget horae-tests-0.1.0> PASS [ 0.039s] horae-core budget::tests::large_values_do_not_overflow horae-tests-0.1.0> Running [ 00:00:00] > 2/191: 48 running, 2 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances horae-tests-0.1.0> [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding horae-tests-0.1.0> [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values horae-tests-0.1.0> [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached horae-tests-0.1.0> [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once horae-tests-0.1.0> Running [ 00:00:00] > 2/191: 48 running, 2 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances horae-tests-0.1.0> [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding horae-tests-0.1.0> [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values horae-tests-0.1.0> [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached horae-tests-0.1.0> [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once horae-tests-0.1.0> Running [ 00:00:00] > 2/191: 48 running, 2 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances horae-tests-0.1.0> [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding horae-tests-0.1.0> [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values horae-tests-0.1.0> [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached horae-tests-0.1.0> [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once horae-tests-0.1.0> Running [ 00:00:00] > 2/191: 48 running, 2 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances horae-tests-0.1.0> [ 00:00:00] horae-core ed_alert_threshold_is_exact_without_rounding horae-tests-0.1.0> [ 00:00:00] horae-core jects_invalid_inputs_and_widens_large_values horae-tests-0.1.0> [ 00:00:00] horae-core percentage_rounds_clamps_and_never_overflows horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::current_band_is_the_highest_reached horae-tests-0.1.0> [ 00:00:00] horae-core dget::tests::each_crossing_is_announced_once horae-tests-0.1.0> Running [ 00:00:00] => 36/191: 48 running, 36 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget horae-tests-0.1.0> [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts horae-tests-0.1.0> [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields horae-tests-0.1.0> [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text horae-tests-0.1.0> [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit horae-tests-0.1.0> [ 00:00:00] horae-core duration::tests::format_round_trip horae-tests-0.1.0> [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator horae-tests-0.1.0> PASS [ 0.071s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace horae-tests-0.1.0> PASS [ 0.152s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary horae-tests-0.1.0> PASS [ 0.140s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking horae-tests-0.1.0> PASS [ 0.130s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits horae-tests-0.1.0> PASS [ 0.118s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band horae-tests-0.1.0> PASS [ 0.152s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide horae-tests-0.1.0> PASS [ 0.140s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating horae-tests-0.1.0> PASS [ 0.116s] horae-core budget::tests::each_crossing_is_announced_once horae-tests-0.1.0> PASS [ 0.148s] horae-core importers::harvest::convert::tests::money_common_values_are_exact horae-tests-0.1.0> PASS [ 0.143s] horae-core client::tests::profile_rejects_unsupported_currency_and_null_billing_fields horae-tests-0.1.0> PASS [ 0.118s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values horae-tests-0.1.0> PASS [ 0.130s] horae-core budget::tests::a_single_jump_announces_every_crossed_band horae-tests-0.1.0> PASS [ 0.131s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values horae-tests-0.1.0> PASS [ 0.141s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow horae-tests-0.1.0> PASS [ 0.142s] horae-core duration::tests::minutes_between_is_exact_no_minimum horae-tests-0.1.0> PASS [ 0.153s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking horae-tests-0.1.0> PASS [ 0.152s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly horae-tests-0.1.0> PASS [ 0.148s] horae-core duration::tests::format_hhmm_pads_minutes horae-tests-0.1.0> PASS [ 0.146s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets horae-tests-0.1.0> PASS [ 0.172s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact horae-tests-0.1.0> PASS [ 0.175s] horae-core duration::tests::format_clamps_negative_to_zero horae-tests-0.1.0> PASS [ 0.031s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds horae-tests-0.1.0> PASS [ 0.176s] horae-core client::tests::profile_rejects_blank_overlong_and_null_names horae-tests-0.1.0> PASS [ 0.217s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform horae-tests-0.1.0> PASS [ 0.245s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse horae-tests-0.1.0> PASS [ 0.248s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up horae-tests-0.1.0> Running [ 00:00:00] => 36/191: 48 running, 36 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget horae-tests-0.1.0> [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts horae-tests-0.1.0> [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields horae-tests-0.1.0> [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text horae-tests-0.1.0> [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit horae-tests-0.1.0> [ 00:00:00] horae-core duration::tests::format_round_trip horae-tests-0.1.0> [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator horae-tests-0.1.0> PASS [ 0.249s] horae-core budget::tests::current_band_is_the_highest_reached horae-tests-0.1.0> PASS [ 0.299s] horae-core budget::tests::allocated_totals_exclude_blank_but_include_zero_allowances horae-tests-0.1.0> PASS [ 0.313s] horae-core duration::tests::parse_colon horae-tests-0.1.0> PASS [ 0.321s] horae-core importers::harvest::convert::tests::garbage_is_rejected horae-tests-0.1.0> PASS [ 0.306s] horae-core duration::tests::parse_decimal horae-tests-0.1.0> PASS [ 0.270s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows horae-tests-0.1.0> PASS [ 0.295s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding horae-tests-0.1.0> PASS [ 0.340s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly horae-tests-0.1.0> Running [ 00:00:00] => 36/191: 48 running, 36 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget horae-tests-0.1.0> [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts horae-tests-0.1.0> [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields horae-tests-0.1.0> [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text horae-tests-0.1.0> [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit horae-tests-0.1.0> [ 00:00:00] horae-core duration::tests::format_round_trip horae-tests-0.1.0> [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator horae-tests-0.1.0> Running [ 00:00:00] => 36/191: 48 running, 36 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget horae-tests-0.1.0> [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts horae-tests-0.1.0> [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields horae-tests-0.1.0> [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text horae-tests-0.1.0> [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit horae-tests-0.1.0> [ 00:00:00] horae-core duration::tests::format_round_trip horae-tests-0.1.0> [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator horae-tests-0.1.0> Running [ 00:00:00] => 46/191: 48 running, 36 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core t::tests::no_band_for_zero_or_missing_budget horae-tests-0.1.0> [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts horae-tests-0.1.0> [ 00:00:00] horae-core ::optional_text_normalizes_only_blank_fields horae-tests-0.1.0> [ 00:00:00] horae-core ve_fractional_cent_overflow_and_invalid_text horae-tests-0.1.0> [ 00:00:00] horae-core orted_currencies_and_unicode_character_limit horae-tests-0.1.0> [ 00:00:00] horae-core duration::tests::format_round_trip horae-tests-0.1.0> [ 00:00:00] horae-core ts_excessive_decimal_precision_and_numerator horae-tests-0.1.0> PASS [ 0.289s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract horae-tests-0.1.0> PASS [ 0.362s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform horae-tests-0.1.0> PASS [ 0.357s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day horae-tests-0.1.0> PASS [ 0.375s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it horae-tests-0.1.0> PASS [ 0.375s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals horae-tests-0.1.0> PASS [ 0.396s] horae-core importers::harvest::convert::tests::negative_is_rejected horae-tests-0.1.0> PASS [ 0.395s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator horae-tests-0.1.0> PASS [ 0.376s] horae-core client::tests::optional_text_normalizes_only_blank_fields horae-tests-0.1.0> PASS [ 0.398s] horae-core client::tests::default_rate_rejects_negative_fractional_cent_overflow_and_invalid_text horae-tests-0.1.0> PASS [ 0.413s] horae-core budget::tests::no_band_for_zero_or_missing_budget horae-tests-0.1.0> PASS [ 0.439s] horae-core duration::tests::format_round_trip horae-tests-0.1.0> PASS [ 0.430s] horae-core client::tests::profile_accepts_supported_currencies_and_unicode_character_limit horae-tests-0.1.0> Running [ 00:00:00] ==> 48/191: 48 running, 48 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts horae-tests-0.1.0> [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent horae-tests-0.1.0> [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero horae-tests-0.1.0> [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> Running [ 00:00:00] ==> 48/191: 48 running, 48 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core eserves_absence_zero_and_exact_large_amounts horae-tests-0.1.0> [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent horae-tests-0.1.0> [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero horae-tests-0.1.0> [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> PASS [ 0.501s] horae-core client::tests::default_rate_preserves_absence_zero_and_exact_large_amounts horae-tests-0.1.0> Running [ 00:00:00] ==> 49/191: 48 running, 49 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent horae-tests-0.1.0> [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero horae-tests-0.1.0> [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches horae-tests-0.1.0> Running [ 00:00:00] ==> 50/191: 48 running, 49 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent horae-tests-0.1.0> [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero horae-tests-0.1.0> [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches horae-tests-0.1.0> PASS [ 0.026s] horae-core permissions::approvals::tests::no_expense_read_is_needed_when_there_are_no_expenses horae-tests-0.1.0> PASS [ 0.016s] horae-core permissions::approvals::tests::one_unreadable_expense_denies_the_whole_supplied_set horae-tests-0.1.0> PASS [ 0.018s] horae-core permissions::approvals::tests::only_expense_reads_or_their_write_prerequisites_make_others_expenses_visible horae-tests-0.1.0> Running [ 00:00:00] ==> 52/191: 48 running, 52 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent horae-tests-0.1.0> [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero horae-tests-0.1.0> [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches horae-tests-0.1.0> Running [ 00:00:00] ==> 53/191: 48 running, 52 passed, 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core sts::occurrence_counter_keys_are_independent horae-tests-0.1.0> [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero horae-tests-0.1.0> [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches horae-tests-0.1.0> LEAK [ 0.250s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent horae-tests-0.1.0> PASS [ 0.032s] horae-core permissions::approvals::tests::reevaluation_does_not_reuse_prior_read_or_approval_success horae-tests-0.1.0> Running [ 00:00:00] 54/191: 48 running, 54 passed (1 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero horae-tests-0.1.0> [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches horae-tests-0.1.0> [ 00:00:00] horae-core quires_binding_and_no_imports_or_active_work horae-tests-0.1.0> Running [ 00:00:00] 55/191: 48 running, 54 passed (1 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core occurrence_counter_numbers_repeats_from_zero horae-tests-0.1.0> [ 00:00:00] horae-core s::project_key_falls_back_to_client_and_name horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches horae-tests-0.1.0> [ 00:00:00] horae-core quires_binding_and_no_imports_or_active_work horae-tests-0.1.0> PASS [ 0.040s] horae-core permissions::approvals::tests::removing_the_last_matching_relationship_revokes_both_domains horae-tests-0.1.0> PASS [ 0.306s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names horae-tests-0.1.0> PASS [ 0.307s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work horae-tests-0.1.0> LEAK [ 0.309s] horae-core invoice::tests::line_amount_90_minutes horae-tests-0.1.0> PASS [ 0.315s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts horae-tests-0.1.0> PASS [ 0.317s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name horae-tests-0.1.0> PASS [ 0.330s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero horae-tests-0.1.0> Running [ 00:00:00] 61/191: 43 running, 61 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches horae-tests-0.1.0> [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error horae-tests-0.1.0> [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> Running [ 00:00:00] 77/191: 43 running, 61 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches horae-tests-0.1.0> [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error horae-tests-0.1.0> [ 00:00:00] horae-core conserves_header_amount_and_bounds_each_line horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> PASS [ 0.230s] horae-core permissions::approvals::tests::all_records_need_approval_scope_even_when_both_domains_are_readable horae-tests-0.1.0> PASS [ 0.325s] horae-core invoice::tests::line_amount_half_hour horae-tests-0.1.0> PASS [ 0.230s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift horae-tests-0.1.0> PASS [ 0.331s] horae-core invoice::tests::line_amount_zero_minutes horae-tests-0.1.0> PASS [ 0.329s] horae-core money::tests::addition_rejects_overflow_in_both_directions horae-tests-0.1.0> PASS [ 0.330s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources horae-tests-0.1.0> PASS [ 0.334s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow horae-tests-0.1.0> PASS [ 0.236s] horae-core permissions::approvals::tests::expense_read_scope_and_approval_scope_form_an_intersection horae-tests-0.1.0> PASS [ 0.334s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts horae-tests-0.1.0> PASS [ 0.331s] horae-core invoice::tests::resolve_rate_cascade horae-tests-0.1.0> PASS [ 0.331s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches horae-tests-0.1.0> PASS [ 0.335s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line horae-tests-0.1.0> PASS [ 0.336s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error horae-tests-0.1.0> PASS [ 0.336s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal horae-tests-0.1.0> PASS [ 0.236s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit horae-tests-0.1.0> PASS [ 0.247s] horae-core permissions::approvals::tests::catalog_grants_cannot_substitute_for_approval horae-tests-0.1.0> PASS [ 0.117s] horae-core permissions::catalog::stored_tests::rejects_duplicate_grants_instead_of_silently_deduplicating horae-tests-0.1.0> Running [ 00:00:00] 78/191: 48 running, 78 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> Running [ 00:00:00] 78/191: 48 running, 78 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core ts::time_entry_key_distinguishes_and_matches horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> PASS [ 0.413s] horae-core importers::harvest::keys::tests::time_entry_key_distinguishes_and_matches horae-tests-0.1.0> PASS [ 0.065s] horae-core permissions::catalog::stored_tests::restores_custom_selection_without_reapplying_profile_defaults horae-tests-0.1.0> PASS [ 0.065s] horae-core permissions::catalog::tests::adding_all_catalog_grants_produces_exactly_the_catalog horae-tests-0.1.0> PASS [ 0.066s] horae-core permissions::catalog::stored_tests::restores_each_builtin_selection_without_changing_grants horae-tests-0.1.0> PASS [ 0.066s] horae-core permissions::catalog::tests::empty_selection_includes_member_floor horae-tests-0.1.0> PASS [ 0.066s] horae-core permissions::catalog::tests::administrator_selection_covers_known_catalog_without_unknown_ids horae-tests-0.1.0> PASS [ 0.066s] horae-core permissions::catalog::tests::catalog_has_fifty_distinct_known_grants horae-tests-0.1.0> PASS [ 0.067s] horae-core permissions::catalog::tests::every_profile_includes_floor_and_is_closed_under_dependencies horae-tests-0.1.0> PASS [ 0.072s] horae-core permissions::catalog::tests::member_has_only_own_time_and_expense_access horae-tests-0.1.0> Running [ 00:00:00] 87/191: 48 running, 87 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:00] 91/191: 48 running, 87 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 93/191: 48 running, 93 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> PASS [ 0.057s] horae-core permissions::catalog::tests::removing_absent_permission_is_an_idempotent_no_op horae-tests-0.1.0> PASS [ 0.091s] horae-core permissions::catalog::stored_tests::rejects_every_missing_prerequisite_without_repairing_input horae-tests-0.1.0> PASS [ 0.103s] horae-core permissions::catalog::tests::profiles_reject_legacy_rank_names_and_unknown_values horae-tests-0.1.0> PASS [ 0.106s] horae-core permissions::catalog::tests::dependency_graph_matches_the_reference_edges_without_extra_cross_resource_grants horae-tests-0.1.0> PASS [ 0.110s] horae-core permissions::catalog::stored_tests::stored_order_does_not_change_the_selected_set horae-tests-0.1.0> PASS [ 0.051s] horae-core permissions::catalog::tests::report_and_withdrawal_grants_do_not_add_unrelated_authority horae-tests-0.1.0> Running [ 00:00:01] 93/191: 48 running, 93 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 93/191: 48 running, 93 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 93/191: 48 running, 93 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 94/191: 48 running, 93 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 94/191: 48 running, 93 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 95/191: 48 running, 93 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 95/191: 48 running, 93 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 95/191: 48 running, 93 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:00] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:00] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:00] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:00] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:00] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:00] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:00] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 95/191: 47 running, 95 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:01] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:01] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:01] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:01] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:01] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:01] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> PASS [ 0.043s] horae-core permissions::person_management::tests::combined_unrelated_grants_do_not_create_person_management_eligibility horae-tests-0.1.0> PASS [ 0.073s] horae-core permissions::catalog::tests::template_names_reject_empty_and_overlong_unicode_names horae-tests-0.1.0> Running [ 00:00:01] 95/191: 47 running, 95 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:01] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:01] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:01] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:01] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:01] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:01] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 95/191: 47 running, 95 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:01] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:01] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:01] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:01] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:01] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:01] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 95/191: 47 running, 95 passed (2 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core ividual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> [ 00:00:01] horae-core tests::project_key_prefers_code_when_present horae-tests-0.1.0> [ 00:00:01] horae-core keys::tests::task_key_shared_across_projects horae-tests-0.1.0> [ 00:00:01] horae-core s_when_errored_counts_match_collected_errors horae-tests-0.1.0> [ 00:00:01] horae-core rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> [ 00:00:01] horae-core s_largest_remainder_then_stable_source_order horae-tests-0.1.0> [ 00:00:01] horae-core d_fee_contribution_leaves_discount_available horae-tests-0.1.0> [ 00:00:01] horae-core _apply_discount_before_non_compounding_taxes horae-tests-0.1.0> Running [ 00:00:01] 136/191: 48 running, 136 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core foreign_provenance_deny_even_with_all_grants horae-tests-0.1.0> [ 00:00:00] horae-core ions_and_input_duplicates_do_not_infer_scope horae-tests-0.1.0> [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection horae-tests-0.1.0> [ 00:00:00] horae-core _added_and_removing_it_removes_the_dependent horae-tests-0.1.0> [ 00:00:00] horae-core val_need_neither_grants_nor_a_separate_actor horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> PASS [ 0.086s] horae-core permissions::catalog::tests::removing_one_financial_permission_preserves_unrelated_families horae-tests-0.1.0> PASS [ 0.087s] horae-core permissions::catalog::tests::removing_managed_time_read_also_removes_all_reads_writes_and_approvals horae-tests-0.1.0> PASS [ 0.046s] horae-core permissions::person_management::tests::own_tracking_floor_does_not_qualify horae-tests-0.1.0> PASS [ 0.100s] horae-core permissions::catalog::tests::template_names_trim_without_changing_display_or_internal_spaces horae-tests-0.1.0> PASS [ 0.171s] horae-core permissions::catalog::tests::normalization_is_idempotent_order_independent_and_duplicate_free horae-tests-0.1.0> PASS [ 0.109s] horae-core permissions::catalog::tests::removing_invoice_draft_write_keeps_read_but_removes_managed_and_all_write horae-tests-0.1.0> LEAK [ 0.540s] horae-core invoice::tests::line_amount_exact_hour horae-tests-0.1.0> LEAK [ 0.539s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results horae-tests-0.1.0> LEAK [ 0.539s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even horae-tests-0.1.0> LEAK [ 0.459s] horae-core permissions::approvals::tests::empty_record_sets_do_not_remove_identity_or_explicit_grant_checks horae-tests-0.1.0> LEAK [ 0.217s] horae-core permissions::catalog::stored_tests::rejects_unsupported_versions_even_for_valid_grants horae-tests-0.1.0> LEAK [ 0.276s] horae-core permissions::catalog::stored_tests::rejects_each_missing_floor_grant horae-tests-0.1.0> LEAK [ 0.653s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate horae-tests-0.1.0> PASS [ 0.659s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present horae-tests-0.1.0> PASS [ 0.560s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent horae-tests-0.1.0> PASS [ 0.659s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow horae-tests-0.1.0> PASS [ 0.221s] horae-core permissions::person_management::tests::each_catalog_grant_has_the_specified_compatibility_without_changing_grants horae-tests-0.1.0> LEAK [ 0.658s] horae-core invoice::tests::invoice_adjustments_round_components_half_up horae-tests-0.1.0> PASS [ 0.240s] horae-core permissions::person_management::tests::any_compatible_grant_suffices_in_every_pair horae-tests-0.1.0> LEAK [ 0.555s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign horae-tests-0.1.0> LEAK [ 0.552s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts horae-tests-0.1.0> LEAK [ 0.553s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs horae-tests-0.1.0> PASS [ 0.663s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available horae-tests-0.1.0> PASS [ 0.664s] horae-core invoice::tests::line_amount_odd_minutes horae-tests-0.1.0> LEAK [ 0.403s] horae-core permissions::catalog::tests::known_permission_name_decodes_without_legacy_role_conversion horae-tests-0.1.0> Running [ 00:00:01] 136/191: 48 running, 136 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core foreign_provenance_deny_even_with_all_grants horae-tests-0.1.0> [ 00:00:00] horae-core ions_and_input_duplicates_do_not_infer_scope horae-tests-0.1.0> [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection horae-tests-0.1.0> [ 00:00:00] horae-core _added_and_removing_it_removes_the_dependent horae-tests-0.1.0> [ 00:00:00] horae-core val_need_neither_grants_nor_a_separate_actor horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> PASS [ 0.741s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order horae-tests-0.1.0> PASS [ 0.742s] horae-core invoice::tests::line_amount_zero_rate horae-tests-0.1.0> PASS [ 0.744s] horae-core money::tests::addition_retains_currency_checks_and_representable_boundaries horae-tests-0.1.0> PASS [ 0.746s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes horae-tests-0.1.0> PASS [ 0.743s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors horae-tests-0.1.0> PASS [ 0.334s] horae-core permissions::catalog::tests::removing_any_non_floor_grant_keeps_the_remaining_selection_closed horae-tests-0.1.0> PASS [ 0.278s] horae-core permissions::person_management::tests::self_link_rejects_the_proposal_in_every_position_without_filtering_it horae-tests-0.1.0> LEAK [ 0.440s] horae-core permissions::catalog::stored_tests::rejects_empty_saved_selection_instead_of_adding_member_floor horae-tests-0.1.0> LEAK [ 0.402s] horae-core permissions::catalog::tests::direct_profile_defaults_match_the_known_reference_catalog horae-tests-0.1.0> PASS [ 1.297s] horae-core budget::tests::allocated_totals_do_not_hide_individual_overruns_or_recover_overflow_as_zero horae-tests-0.1.0> PASS [ 1.007s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects horae-tests-0.1.0> PASS [ 0.666s] horae-core permissions::catalog::tests::floor_cannot_be_removed_or_partially_modified horae-tests-0.1.0> PASS [ 0.670s] horae-core permissions::catalog::tests::finance_profiles_cannot_edit_rates_and_project_manager_has_no_financial_grants horae-tests-0.1.0> PASS [ 0.567s] horae-core permissions::person_management::tests::eligibility_tracks_last_compatible_grant_loss_and_restoration horae-tests-0.1.0> PASS [ 0.149s] horae-core permissions::catalog::tests::unknown_permission_names_are_rejected horae-tests-0.1.0> LEAK [ 0.403s] horae-core permissions::catalog::tests::approve_all_includes_read_scopes_but_not_write_or_expense_management horae-tests-0.1.0> Running [ 00:00:01] 136/191: 48 running, 136 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core foreign_provenance_deny_even_with_all_grants horae-tests-0.1.0> [ 00:00:00] horae-core ions_and_input_duplicates_do_not_infer_scope horae-tests-0.1.0> [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection horae-tests-0.1.0> [ 00:00:00] horae-core _added_and_removing_it_removes_the_dependent horae-tests-0.1.0> [ 00:00:00] horae-core val_need_neither_grants_nor_a_separate_actor horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> PASS [ 0.940s] horae-core permissions::approvals::tests::missing_dimensions_and_input_duplicates_do_not_infer_scope horae-tests-0.1.0> PASS [ 0.605s] horae-core permissions::person_management::tests::other_people_and_empty_removal_need_neither_grants_nor_a_separate_actor horae-tests-0.1.0> PASS [ 0.950s] horae-core permissions::approvals::tests::inactive_and_foreign_provenance_deny_even_with_all_grants horae-tests-0.1.0> PASS [ 0.723s] horae-core permissions::catalog::tests::every_declared_dependency_is_added_and_removing_it_removes_the_dependent horae-tests-0.1.0> Running [ 00:00:01] 140/191: 48 running, 140 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> Running [ 00:00:01] 140/191: 48 running, 140 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> Running [ 00:00:01] 140/191: 48 running, 140 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> Running [ 00:00:01] 141/191: 48 running, 140 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> PASS [ 0.129s] horae-core project::tests::basics_reject_blank_and_overlong_names horae-tests-0.1.0> PASS [ 0.822s] horae-core permissions::catalog::stored_tests::restores_each_valid_grant_pair_and_its_revoked_selection horae-tests-0.1.0> Running [ 00:00:01] 142/191: 48 running, 142 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> Running [ 00:00:01] 142/191: 48 running, 142 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> Running [ 00:00:01] 142/191: 48 running, 142 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> Running [ 00:00:01] 142/191: 48 running, 142 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> Running [ 00:00:01] 142/191: 48 running, 142 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> Running [ 00:00:01] 144/191: 48 running, 142 passed (17 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core ons_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> PASS [ 0.276s] horae-core rounding::tests::identity_when_inc_zero horae-tests-0.1.0> LEAK [ 0.275s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials horae-tests-0.1.0> LEAK [ 0.311s] horae-core permissions::rates::tests::billable_actions_use_only_their_own_grant_and_owner_scope horae-tests-0.1.0> Running [ 00:00:01] 145/191: 46 running, 145 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> Running [ 00:00:01] 146/191: 46 running, 145 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core _defaults_have_the_approved_financial_access horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> PASS [ 0.333s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency horae-tests-0.1.0> PASS [ 0.341s] horae-core permissions::rates::tests::all_six_defaults_have_the_approved_financial_access horae-tests-0.1.0> Running [ 00:00:01] 147/191: 44 running, 147 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields horae-tests-0.1.0> Running [ 00:00:01] 153/191: 44 running, 147 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields horae-tests-0.1.0> PASS [ 0.367s] horae-core project::tests::monthly_fee_dates_follow_calendar_months horae-tests-0.1.0> PASS [ 0.375s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs horae-tests-0.1.0> PASS [ 0.375s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax horae-tests-0.1.0> PASS [ 0.373s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight horae-tests-0.1.0> PASS [ 0.380s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones horae-tests-0.1.0> PASS [ 0.374s] horae-core time_of_day::tests::format_round_trips horae-tests-0.1.0> PASS [ 0.396s] horae-core state::tests::only_manager_can_approve horae-tests-0.1.0> PASS [ 0.407s] horae-core project::tests::percentage_preserves_exact_hundredths horae-tests-0.1.0> Running [ 00:00:01] 155/191: 36 running, 155 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields horae-tests-0.1.0> Running [ 00:00:01] 156/191: 36 running, 155 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields horae-tests-0.1.0> PASS [ 0.435s] horae-core rounding::tests::up_and_down horae-tests-0.1.0> PASS [ 0.437s] horae-core state::tests::member_submit_and_reopen horae-tests-0.1.0> PASS [ 0.446s] horae-core project::tests::payment_terms_support_receipt_and_checked_days horae-tests-0.1.0> Running [ 00:00:01] 158/191: 33 running, 158 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields horae-tests-0.1.0> Running [ 00:00:02] 159/191: 33 running, 158 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields horae-tests-0.1.0> PASS [ 0.470s] horae-core time_of_day::tests::format_12h_matches_harvest_style horae-tests-0.1.0> PASS [ 0.489s] horae-core permissions::rates::tests::unchanged_rate_edit_requires_no_financial_write_grant horae-tests-0.1.0> Running [ 00:00:02] 160/191: 31 running, 160 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields horae-tests-0.1.0> Running [ 00:00:02] 160/191: 31 running, 160 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields horae-tests-0.1.0> Running [ 00:00:02] 160/191: 31 running, 160 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields horae-tests-0.1.0> Running [ 00:00:02] 160/191: 31 running, 160 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core re_independent_and_read_does_not_allow_write horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core nt_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core ts_never_authorize_ordinary_financial_fields horae-tests-0.1.0> PASS [ 0.569s] horae-core permissions::tests::every_scope_combination_matches_only_explicitly_granted_dimensions horae-tests-0.1.0> PASS [ 0.563s] horae-core permissions::rates::tests::identity_and_tenant_mismatches_deny_even_all_financial_grants horae-tests-0.1.0> PASS [ 0.563s] horae-core permissions::rates::tests::cost_and_billable_grants_are_independent_and_read_does_not_allow_write horae-tests-0.1.0> PASS [ 0.568s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates horae-tests-0.1.0> PASS [ 0.569s] horae-core permissions::tests::scope_union_obeys_set_laws horae-tests-0.1.0> PASS [ 0.569s] horae-core permissions::tests::removing_an_assignment_removes_only_that_matching_dimension horae-tests-0.1.0> PASS [ 0.569s] horae-core permissions::rates::tests::unrelated_catalog_grants_never_authorize_ordinary_financial_fields horae-tests-0.1.0> PASS [ 0.573s] horae-core state::tests::invoiced_is_final horae-tests-0.1.0> Running [ 00:00:02] 168/191: 23 running, 168 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> Running [ 00:00:02] 168/191: 23 running, 168 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> Running [ 00:00:02] 168/191: 23 running, 168 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> Running [ 00:00:02] 168/191: 23 running, 168 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> Running [ 00:00:02] 168/191: 23 running, 168 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> Running [ 00:00:02] 173/191: 23 running, 168 passed (19 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core er_never_uses_the_other_management_dimension horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core ies_without_mutating_the_remaining_selection horae-tests-0.1.0> [ 00:00:00] horae-core grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> LEAK [ 0.726s] horae-core state::tests::managers_invoice_open_and_approved_time horae-tests-0.1.0> LEAK [ 0.730s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero horae-tests-0.1.0> LEAK [ 0.724s] horae-core permissions::rates::tests::grant_removal_denies_without_mutating_the_remaining_selection horae-tests-0.1.0> LEAK [ 0.729s] horae-core permissions::rates::tests::billable_owner_never_uses_the_other_management_dimension horae-tests-0.1.0> LEAK [ 0.729s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total horae-tests-0.1.0> LEAK [ 0.727s] horae-core time_of_day::tests::parse_reads_24h horae-tests-0.1.0> LEAK [ 0.733s] horae-core time_of_day::tests::parse_reads_12h_including_edges horae-tests-0.1.0> LEAK [ 0.693s] horae-core week::tests::configured_week_can_start_in_the_previous_year horae-tests-0.1.0> LEAK [ 0.732s] horae-core permissions::rates::tests::read_only_cost_grant_cannot_authorize_an_explicit_rate_edit horae-tests-0.1.0> Running [ 00:00:02] 177/191: 14 running, 177 passed (28 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> Running [ 00:00:02] 177/191: 14 running, 177 passed (28 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core equire_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core all_members_and_is_insensitive_to_duplicates horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> LEAK [ 0.753s] horae-core permissions::tests::assignment_matching_searches_all_members_and_is_insensitive_to_duplicates horae-tests-0.1.0> LEAK [ 0.662s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days horae-tests-0.1.0> LEAK [ 0.756s] horae-core permissions::rates::tests::explicit_rate_edits_require_write_even_for_zero_or_an_equal_value horae-tests-0.1.0> Running [ 00:00:02] 180/191: 11 running, 180 passed (31 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> Running [ 00:00:02] 181/191: 11 running, 180 passed (31 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::result_is_multiple_of_inc horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> LEAK [ 0.550s] horae-core week::tests::maps_any_weekday_to_its_monday horae-tests-0.1.0> LEAK [ 0.803s] horae-core rounding::tests::result_is_multiple_of_inc horae-tests-0.1.0> Running [ 00:00:02] 182/191: 9 running, 182 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> [ 00:00:00] horae-core ests::budget_kind_wire_strings_match_db_enum horae-tests-0.1.0> Running [ 00:00:02] 182/191: 9 running, 182 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> [ 00:00:00] horae-core ests::budget_kind_wire_strings_match_db_enum horae-tests-0.1.0> PASS [ 0.763s] horae-core week::tests::configured_week_reports_an_unrepresentable_start horae-tests-0.1.0> Running [ 00:00:02] 183/191: 8 running, 183 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> [ 00:00:00] horae-core ests::budget_kind_wire_strings_match_db_enum horae-tests-0.1.0> Running [ 00:00:02] 183/191: 8 running, 183 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> [ 00:00:00] horae-core ests::budget_kind_wire_strings_match_db_enum horae-tests-0.1.0> Running [ 00:00:02] 183/191: 8 running, 183 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:00] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:00] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:00] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:00] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> [ 00:00:00] horae-core ests::budget_kind_wire_strings_match_db_enum horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> PASS [ 0.942s] horae-core types::tests::budget_kind_wire_strings_match_db_enum horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:00] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:00] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 184/191: 7 running, 184 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core ontext_is_denied_for_every_scope_combination horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> PASS [ 1.241s] horae-core permissions::tests::inactive_or_foreign_context_is_denied_for_every_scope_combination horae-tests-0.1.0> Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:02] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 185/191: 6 running, 185 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core cs_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> PASS [ 1.573s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates horae-tests-0.1.0> Running [ 00:00:03] 186/191: 5 running, 186 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 187/191: 5 running, 186 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core oving_read_prerequisites_denies_both_actions horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core ests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> PASS [ 1.579s] horae-core permissions::rates::tests::removing_read_prerequisites_denies_both_actions horae-tests-0.1.0> PASS [ 1.607s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage horae-tests-0.1.0> Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 188/191: 3 running, 188 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> [ 00:00:01] horae-core e_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> PASS [ 1.750s] horae-core time_of_day::tests::snap_rounds_to_nearest_step horae-tests-0.1.0> Running [ 00:00:03] 189/191: 2 running, 189 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 189/191: 2 running, 189 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 189/191: 2 running, 189 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 189/191: 2 running, 189 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> [ 00:00:01] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> PASS [ 1.871s] horae-core rounding::tests::nearest_ties_round_up horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:01] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:03] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:04] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:04] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:04] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:04] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> Running [ 00:00:04] 190/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> PASS [ 2.553s] horae-core permissions::tests::assignments_do_not_grant_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> ------------ horae-tests-0.1.0> Summary [ 4.130s] 191 tests run: 191 passed (33 leaky), 0 skipped horae-tests-0.1.0> Running [ 00:00:04] 191/191: 1 running, 190 passed (33 leaky), 0 skipped horae-tests-0.1.0> [ 00:00:02] horae-core t_scope_and_missing_assignments_do_not_match horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> horae-tests-0.1.0> The files belonging to this database system will be owned by user "nixbld". horae-tests-0.1.0> This user must also own the server process. horae-tests-0.1.0> horae-tests-0.1.0> The database cluster will be initialized with locale "C". horae-tests-0.1.0> The default text search configuration will be set to "english". horae-tests-0.1.0> horae-tests-0.1.0> Data page checksums are disabled. horae-tests-0.1.0> horae-tests-0.1.0> fixing permissions on existing directory /build/tmp.Kkup4DQt1A ... ok horae-tests-0.1.0> creating subdirectories ... ok horae-tests-0.1.0> selecting dynamic shared memory implementation ... posix horae-tests-0.1.0> selecting default "max_connections" ... 100 horae-tests-0.1.0> selecting default "shared_buffers" ... 128MB horae-tests-0.1.0> selecting default time zone ... UTC horae-tests-0.1.0> creating configuration files ... ok horae-tests-0.1.0> running bootstrap script ... ok horae-tests-0.1.0> performing post-bootstrap initialization ... ok horae-tests-0.1.0> syncing data to disk ... ok horae-tests-0.1.0> horae-tests-0.1.0> initdb: warning: enabling "trust" authentication for local connections horae-tests-0.1.0> initdb: 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. horae-tests-0.1.0> horae-tests-0.1.0> Success. You can now start the database server using: horae-tests-0.1.0> horae-tests-0.1.0> pg_ctl -D /build/tmp.Kkup4DQt1A -l logfile start horae-tests-0.1.0> horae-tests-0.1.0> waiting for server to start.... done horae-tests-0.1.0> server started horae-tests-0.1.0> +++ command cargo test -p horae --features server -- --test-threads 8 horae-tests-0.1.0> Compiling horae v0.1.0 (/build/source/crates/horae) horae-tests-0.1.0> Compiling horae-core v0.1.0 (/build/source/crates/core) error: timed out after 1200 seconds