1this derivation will be built:2 /nix/store/w8zba6r4sb51lfbzg826glh935h32c0a-horae-tests-0.1.0.drv3building '/nix/store/w8zba6r4sb51lfbzg826glh935h32c0a-horae-tests-0.1.0.drv' on 'grpc://farm.numtide.com:50051?connect-timeout=21&system=aarch64-linux&token-file=/run/nix-farm-client/farm-token'4building '/nix/store/w8zba6r4sb51lfbzg826glh935h32c0a-horae-tests-0.1.0.drv' on farm.numtide.com:500515horae-tests-0.1.0> elastic-arm-2c14001d: building w8zba6r4sb51lfbzg826glh935h32c0a-horae-tests-0.1.0.drv6horae-tests-0.1.0> Running phase: unpackPhase7horae-tests-0.1.0> unpacking source archive /nix/store/3cvv2aqvxbsp7dgk5v1snh4vl1ig5xs8-source8horae-tests-0.1.0> source root is source9horae-tests-0.1.0> Running phase: patchPhase10horae-tests-0.1.0> Executing configureCargoCommonVars11horae-tests-0.1.0> decompressing cargo artifacts from /nix/store/mnxyyvylyqqna8n5byy831f0n00fqqy0-horae-checks-deps-0.1.0/target.tar.zst to target12horae-tests-0.1.0> Running phase: updateAutotoolsGnuConfigScriptsPhase13horae-tests-0.1.0> Running phase: configurePhase14horae-tests-0.1.0> will append /build/source/.cargo-home/config.toml with contents of /nix/store/4rhxcay6f7rari83kq0m7piapgn69ya9-vendor-cargo-deps/config.toml15horae-tests-0.1.0> default configurePhase, nothing to do16horae-tests-0.1.0> Running phase: buildPhase17horae-tests-0.1.0> +++ command cargo nextest run -p horae-core --test-threads 418horae-tests-0.1.0> Compiling proc-macro2 v1.0.10619horae-tests-0.1.0> Compiling serde_core v1.0.22820horae-tests-0.1.0> Compiling quote v1.0.4621horae-tests-0.1.0> Compiling libc v0.2.18622horae-tests-0.1.0> Compiling num-traits v0.2.1923horae-tests-0.1.0> Compiling serde v1.0.22824horae-tests-0.1.0> Compiling bitflags v2.13.025horae-tests-0.1.0> Compiling syn v2.0.11826horae-tests-0.1.0> Compiling getrandom v0.4.327horae-tests-0.1.0> Compiling rand v0.10.228horae-tests-0.1.0> Compiling proptest v1.12.029horae-tests-0.1.0> Compiling uuid v1.23.430horae-tests-0.1.0> Compiling serde_derive v1.0.22831horae-tests-0.1.0> Compiling thiserror-impl v2.0.1832horae-tests-0.1.0> Compiling thiserror v2.0.1833horae-tests-0.1.0> Compiling chrono v0.4.4534horae-tests-0.1.0> Compiling horae-core v0.1.0 (/build/source/crates/core)35horae-tests-0.1.0> Finished `test` profile [unoptimized + debuginfo] target(s) in 14.38s36horae-tests-0.1.0> Running [ 00:00:00] 0/288: 4 running, 0 passed, 0 skipped 37horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget38horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band39horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances40horae-tests-0.1.0> ------------41horae-tests-0.1.0> Nextest run ID e02d06ae-2e9d-4ff8-b6ad-203cf13330e3 with nextest profile: default42horae-tests-0.1.0> Starting 288 tests across 2 binaries43horae-tests-0.1.0> Running [ 00:00:00] 0/288: 4 running, 0 passed, 0 skipped 44horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget45horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band46horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances47horae-tests-0.1.0> Running [ 00:00:00] 0/288: 4 running, 0 passed, 0 skipped 48horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget49horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band50horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances51horae-tests-0.1.0> Running [ 00:00:00] 0/288: 4 running, 0 passed, 0 skipped 52horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget53horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band54horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances55horae-tests-0.1.0> Running [ 00:00:00] > 1/288: 4 running, 0 passed, 0 skipped 56horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget57horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band58horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances59horae-tests-0.1.0> Running [ 00:00:00] > 1/288: 4 running, 0 passed, 0 skipped 60horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget61horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band62horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances63horae-tests-0.1.0> Running [ 00:00:00] > 1/288: 4 running, 0 passed, 0 skipped 64horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget65horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band66horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances67horae-tests-0.1.0> Running [ 00:00:00] > 1/288: 4 running, 0 passed, 0 skipped 68horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget69horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band70horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances71horae-tests-0.1.0> Running [ 00:00:00] > 1/288: 4 running, 0 passed, 0 skipped 72horae-tests-0.1.0> [ 00:00:00] horae-core ert_accepts_zero_percent_but_not_zero_budget73horae-tests-0.1.0> [ 00:00:00] horae-core ::a_single_jump_announces_every_crossed_band74horae-tests-0.1.0> [ 00:00:00] horae-core ls_exclude_blank_but_include_zero_allowances75horae-tests-0.1.0> Running [ 00:00:00] > 29/288: 4 running, 29 passed, 0 skipped 76horae-tests-0.1.0> [ 00:00:00] horae-core format_hours2_keeps_ordinary_output_and_sign77horae-tests-0.1.0> [ 00:00:00] horae-core duration::tests::format_round_trip78horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::minutes_between_is_exact_no_minimum79horae-tests-0.1.0> PASS [ 0.006s] horae-core budget::tests::allocated_totals_do_not_hide_individual_overruns_or_recover_overflow_as_zero80horae-tests-0.1.0> PASS [ 0.006s] horae-core budget::tests::configured_alert_accepts_zero_percent_but_not_zero_budget81horae-tests-0.1.0> PASS [ 0.008s] horae-core budget::tests::allocated_totals_exclude_blank_but_include_zero_allowances82horae-tests-0.1.0> PASS [ 0.010s] horae-core budget::tests::a_single_jump_announces_every_crossed_band83horae-tests-0.1.0> PASS [ 0.005s] horae-core budget::tests::configured_alert_threshold_is_exact_without_rounding84horae-tests-0.1.0> PASS [ 0.006s] horae-core budget::tests::current_band_is_the_highest_reached85horae-tests-0.1.0> PASS [ 0.007s] horae-core budget::tests::configured_alert_rejects_invalid_inputs_and_widens_large_values86horae-tests-0.1.0> PASS [ 0.005s] horae-core budget::tests::display_percentage_rounds_clamps_and_never_overflows87horae-tests-0.1.0> PASS [ 0.007s] horae-core budget::tests::drop_below_a_band_does_not_fire_but_current_resets88horae-tests-0.1.0> PASS [ 0.005s] horae-core budget::tests::each_crossing_is_announced_once89horae-tests-0.1.0> PASS [ 0.005s] horae-core budget::tests::headline_consumption_or_remaining_overflow_is_unavailable90horae-tests-0.1.0> PASS [ 0.006s] horae-core budget::tests::headline_allowance_overflow_is_unavailable_not_unallocated91horae-tests-0.1.0> PASS [ 0.006s] horae-core budget::tests::headline_excludes_blank_counts_zero_and_keeps_overrun_signed92horae-tests-0.1.0> PASS [ 0.005s] horae-core budget::tests::no_band_for_zero_or_missing_budget93horae-tests-0.1.0> PASS [ 0.006s] horae-core budget::tests::headline_is_unallocated_only_without_any_allowance94horae-tests-0.1.0> PASS [ 0.008s] horae-core budget::tests::large_values_do_not_overflow95horae-tests-0.1.0> PASS [ 0.005s] horae-core budget::tests::over_budget_fires_even_without_a_configured_100_band96horae-tests-0.1.0> PASS [ 0.006s] horae-core client::tests::default_rate_rejects_negative_fractional_cent_overflow_and_invalid_text97horae-tests-0.1.0> PASS [ 0.007s] horae-core client::tests::default_rate_preserves_absence_zero_and_exact_large_amounts98horae-tests-0.1.0> PASS [ 0.006s] horae-core client::tests::optional_text_normalizes_only_blank_fields99horae-tests-0.1.0> PASS [ 0.007s] horae-core client::tests::profile_accepts_supported_currencies_and_unicode_character_limit100horae-tests-0.1.0> PASS [ 0.005s] horae-core client::tests::profile_rejects_blank_overlong_and_null_names101horae-tests-0.1.0> PASS [ 0.006s] horae-core duration::tests::clamp_keeps_a_stop_within_the_rest_of_the_day102horae-tests-0.1.0> PASS [ 0.008s] horae-core client::tests::profile_rejects_unsupported_currency_and_null_billing_fields103horae-tests-0.1.0> PASS [ 0.007s] horae-core duration::tests::daily_total_accepts_exactly_240_hours_and_rejects_one_minute_more104horae-tests-0.1.0> PASS [ 0.007s] horae-core duration::tests::daily_change_refuses_only_growth_past_the_limit105horae-tests-0.1.0> Running [ 00:00:00] > 29/288: 4 running, 29 passed, 0 skipped 106horae-tests-0.1.0> [ 00:00:00] horae-core format_hours2_keeps_ordinary_output_and_sign107horae-tests-0.1.0> [ 00:00:00] horae-core duration::tests::format_round_trip108horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::minutes_between_is_exact_no_minimum109horae-tests-0.1.0> PASS [ 0.006s] horae-core duration::tests::format_clamps_negative_to_zero110horae-tests-0.1.0> PASS [ 0.006s] horae-core duration::tests::format_hhmm_pads_minutes111horae-tests-0.1.0> PASS [ 0.004s] horae-core duration::tests::format_hours2_is_exact_where_float_division_is_not112horae-tests-0.1.0> Running [ 00:00:00] > 29/288: 4 running, 29 passed, 0 skipped 113horae-tests-0.1.0> [ 00:00:00] horae-core format_hours2_keeps_ordinary_output_and_sign114horae-tests-0.1.0> [ 00:00:00] horae-core duration::tests::format_round_trip115horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::minutes_between_is_exact_no_minimum116horae-tests-0.1.0> Running [ 00:00:00] => 51/288: 4 running, 29 passed, 0 skipped 117horae-tests-0.1.0> [ 00:00:00] horae-core format_hours2_keeps_ordinary_output_and_sign118horae-tests-0.1.0> [ 00:00:00] horae-core duration::tests::format_round_trip119horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::minutes_between_is_exact_no_minimum120horae-tests-0.1.0> PASS [ 0.004s] horae-core duration::tests::minutes_between_is_exact_no_minimum121horae-tests-0.1.0> PASS [ 0.006s] horae-core duration::tests::format_round_trip122horae-tests-0.1.0> PASS [ 0.008s] horae-core duration::tests::parse_colon123horae-tests-0.1.0> PASS [ 0.005s] horae-core duration::tests::parse_decimal124horae-tests-0.1.0> PASS [ 0.007s] horae-core duration::tests::parse_decimal_rounds_half_minutes_exactly125horae-tests-0.1.0> PASS [ 0.007s] horae-core duration::tests::parse_preserves_u32_boundary_without_saturating126horae-tests-0.1.0> PASS [ 0.008s] horae-core duration::tests::parse_rejects_colon_overflow_without_panicking127horae-tests-0.1.0> PASS [ 0.005s] horae-core duration::tests::parse_rejects_excessive_decimal_precision_and_numerator128horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::client::tests::blank_secret_keeps_only_a_readable_secret_of_the_same_client129horae-tests-0.1.0> PASS [ 0.007s] horae-core duration::tests::parse_rejects_negative_non_finite_and_malformed_values130horae-tests-0.1.0> PASS [ 0.008s] horae-core duration::tests::parse_round_trips_each_minute_in_a_day131horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::client::tests::environment_client_and_missing_key_are_not_editable132horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::client::tests::client_id_and_secret_are_bounded_and_not_blank133horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::client::tests::environment_redirect_url_replaces_the_submitted_one134horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::client::tests::first_save_trims_and_requires_a_secret135horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::client::tests::only_a_different_client_id_disconnects136horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::client::tests::only_a_stored_client_without_any_redirect_url_needs_one137horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::convert::tests::conversion_handles_high_precision_without_intermediate_overflow138horae-tests-0.1.0> PASS [ 0.007s] horae-core importers::harvest::client::tests::redirect_url_must_be_the_harvest_callback_on_a_plain_origin139horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::convert::tests::conversion_rejects_unrepresentable_scaled_values_without_panicking140horae-tests-0.1.0> PASS [ 0.007s] horae-core importers::harvest::convert::tests::conversion_preserves_the_i64_boundary_and_rejects_rounding_past_it141horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::convert::tests::conversion_reports_precision_and_numerator_limits142horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::convert::tests::garbage_is_rejected143horae-tests-0.1.0> Running [ 00:00:00] => 52/288: 4 running, 52 passed, 0 skipped 144horae-tests-0.1.0> [ 00:00:00] horae-core format_hours2_keeps_ordinary_output_and_sign145horae-tests-0.1.0> [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals146horae-tests-0.1.0> [ 00:00:00] horae-core n_fraction_straddles_the_half_minute_exactly147horae-tests-0.1.0> Running [ 00:00:00] ==> 72/288: 4 running, 72 passed, 0 skipped 148horae-tests-0.1.0> [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals149horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches150horae-tests-0.1.0> [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error151horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::convert::tests::high_precision_fraction_straddles_the_half_minute_exactly152horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::convert::tests::hours_common_values_are_exact153horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::convert::tests::leading_and_trailing_forms_parse154horae-tests-0.1.0> PASS [ 0.015s] horae-core importers::harvest::convert::tests::hours_round_trip_against_exporter_transform155horae-tests-0.1.0> PASS [ 0.008s] horae-core importers::harvest::convert::tests::money_common_values_are_exact156horae-tests-0.1.0> PASS [ 0.079s] horae-core duration::tests::format_hours2_keeps_ordinary_output_and_sign157horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::convert::tests::money_round_trip_against_exporter_transform158horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::convert::tests::money_rounds_third_decimal_half_up159horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::convert::tests::negative_is_rejected160horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::convert::tests::round_half_up_at_the_boundary161horae-tests-0.1.0> PASS [ 0.007s] horae-core importers::harvest::keys::tests::client_key_equal_across_case_and_whitespace162horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::keys::tests::normalize_matches_sql_harvest_norm_contract163horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::keys::tests::composite_components_do_not_collide164horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::keys::tests::normalize_trims_and_case_folds165horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::keys::tests::occurrence_counter_numbers_repeats_from_zero166horae-tests-0.1.0> PASS [ 0.007s] horae-core importers::harvest::keys::tests::occurrence_counter_keys_are_independent167horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::keys::tests::project_key_falls_back_to_client_and_name168horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::keys::tests::task_key_shared_across_projects169horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::keys::tests::project_key_prefers_code_when_present170horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::types::account_switch_tests::account_switch_requires_binding_and_no_imports_or_active_work171horae-tests-0.1.0> Running [ 00:00:00] ==> 72/288: 4 running, 72 passed, 0 skipped 172horae-tests-0.1.0> [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals173horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches174horae-tests-0.1.0> [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error175horae-tests-0.1.0> Running [ 00:00:00] ===> 102/288: 4 running, 72 passed, 0 skipped 176horae-tests-0.1.0> [ 00:00:00] horae-core s::conversion_matches_exact_scaled_rationals177horae-tests-0.1.0> [ 00:00:00] horae-core d_new_inline_errors_reconcile_across_batches178horae-tests-0.1.0> [ 00:00:00] horae-core _when_an_errored_count_has_no_reported_error179horae-tests-0.1.0> PASS [ 0.066s] horae-core importers::harvest::convert::tests::conversion_matches_exact_scaled_rationals180horae-tests-0.1.0> PASS [ 0.006s] horae-core importers::harvest::types::tests::archived_errors_and_new_inline_errors_reconcile_across_batches181horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::types::tests::does_not_reconcile_when_an_errored_count_has_no_reported_error182horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::types::tests::import_modes_display_their_wire_names183horae-tests-0.1.0> PASS [ 0.005s] horae-core importers::harvest::types::tests::reconciles_when_errored_counts_match_collected_errors184horae-tests-0.1.0> PASS [ 0.005s] horae-core invoice::tests::discount_allocation_rejects_negative_lines_and_subtotal_overflow185horae-tests-0.1.0> PASS [ 0.006s] horae-core invoice::tests::discount_allocation_handles_empty_zero_and_full_discounts186horae-tests-0.1.0> PASS [ 0.006s] horae-core invoice::tests::discount_allocation_supports_maximum_representable_subtotal187horae-tests-0.1.0> PASS [ 0.005s] horae-core invoice::tests::discounted_fee_contribution_leaves_discount_available188horae-tests-0.1.0> PASS [ 0.013s] horae-core invoice::tests::discount_allocation_conserves_header_amount_and_bounds_each_line189horae-tests-0.1.0> PASS [ 0.007s] horae-core invoice::tests::discount_allocation_uses_largest_remainder_then_stable_source_order190horae-tests-0.1.0> PASS [ 0.006s] horae-core invoice::tests::invoice_adjustments_apply_discount_before_non_compounding_taxes191horae-tests-0.1.0> PASS [ 0.005s] horae-core invoice::tests::line_amount_90_minutes192horae-tests-0.1.0> PASS [ 0.006s] horae-core invoice::tests::invoice_adjustments_reject_negative_subtotal_and_overflow193horae-tests-0.1.0> PASS [ 0.007s] horae-core invoice::tests::invoice_adjustments_round_components_half_up194horae-tests-0.1.0> PASS [ 0.006s] horae-core invoice::tests::line_amount_accepts_large_representable_amounts195horae-tests-0.1.0> PASS [ 0.005s] horae-core invoice::tests::line_amount_exact_hour196horae-tests-0.1.0> PASS [ 0.006s] horae-core invoice::tests::line_amount_odd_minutes197horae-tests-0.1.0> PASS [ 0.007s] horae-core invoice::tests::line_amount_half_hour198horae-tests-0.1.0> PASS [ 0.005s] horae-core invoice::tests::line_amount_rejects_unrepresentable_results199horae-tests-0.1.0> PASS [ 0.007s] horae-core invoice::tests::line_amount_rounds_half_cents_up_not_to_even200horae-tests-0.1.0> PASS [ 0.006s] horae-core invoice::tests::resolve_rate_cascade201horae-tests-0.1.0> PASS [ 0.006s] horae-core invoice::tests::line_amount_zero_rate202horae-tests-0.1.0> PASS [ 0.010s] horae-core invoice::tests::line_amount_zero_minutes203horae-tests-0.1.0> PASS [ 0.005s] horae-core invoice::tests::selected_rate_mode_ignores_unselected_rate_sources204horae-tests-0.1.0> PASS [ 0.007s] horae-core invoice::tests::selected_rate_keeps_zero_and_explicit_missing_project_rate205horae-tests-0.1.0> Running [ 00:00:00] ==> 103/288: 4 running, 103 passed, 0 skipped 206horae-tests-0.1.0> [ 00:00:00] horae-core format_cents_plain_keeps_sign_below_one_unit207horae-tests-0.1.0> [ 00:00:00] horae-core rse_cents_is_exact_where_a_float_would_drift208horae-tests-0.1.0> [ 00:00:00] horae-core rse_cents_reads_whole_and_fractional_amounts209horae-tests-0.1.0> PASS [ 0.005s] horae-core money::tests::a_withheld_amount_hides_every_currency_total210horae-tests-0.1.0> PASS [ 0.005s] horae-core money::tests::currency_totals_are_exact_per_currency_and_ordered_by_code211horae-tests-0.1.0> PASS [ 0.006s] horae-core money::tests::currency_totals_report_only_the_final_sum_out_of_range212horae-tests-0.1.0> PASS [ 0.007s] horae-core money::tests::format_cents_groups_thousands_and_keeps_sign213horae-tests-0.1.0> PASS [ 0.009s] horae-core money::tests::currency_totals_keep_zero_and_signed_sums214horae-tests-0.1.0> Running [ 00:00:00] ==> 103/288: 4 running, 103 passed, 0 skipped 215horae-tests-0.1.0> [ 00:00:00] horae-core format_cents_plain_keeps_sign_below_one_unit216horae-tests-0.1.0> [ 00:00:00] horae-core rse_cents_is_exact_where_a_float_would_drift217horae-tests-0.1.0> [ 00:00:00] horae-core rse_cents_reads_whole_and_fractional_amounts218horae-tests-0.1.0> Running [ 00:00:00] ===> 131/288: 4 running, 103 passed, 0 skipped 219horae-tests-0.1.0> [ 00:00:00] horae-core format_cents_plain_keeps_sign_below_one_unit220horae-tests-0.1.0> [ 00:00:00] horae-core rse_cents_is_exact_where_a_float_would_drift221horae-tests-0.1.0> [ 00:00:00] horae-core rse_cents_reads_whole_and_fractional_amounts222horae-tests-0.1.0> PASS [ 0.007s] horae-core money::tests::format_cents_plain_keeps_sign_below_one_unit223horae-tests-0.1.0> PASS [ 0.007s] horae-core money::tests::parse_cents_is_exact_where_a_float_would_drift224horae-tests-0.1.0> PASS [ 0.005s] horae-core money::tests::parse_cents_rejects_what_it_cannot_represent225horae-tests-0.1.0> PASS [ 0.007s] horae-core money::tests::parse_cents_reads_whole_and_fractional_amounts226horae-tests-0.1.0> PASS [ 0.006s] horae-core money::tests::parse_cents_tolerates_grouping_spaces_and_signs227horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::approvals::tests::all_records_need_approval_scope_even_when_both_domains_are_readable228horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::approvals::tests::empty_record_sets_do_not_remove_identity_or_explicit_grant_checks229horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::approvals::tests::catalog_grants_cannot_substitute_for_approval230horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::approvals::tests::expense_read_scope_and_approval_scope_form_an_intersection231horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::approvals::tests::inactive_and_foreign_provenance_deny_even_with_all_grants232horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::approvals::tests::missing_dimensions_and_input_duplicates_do_not_infer_scope233horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::approvals::tests::one_unreadable_expense_denies_the_whole_supplied_set234horae-tests-0.1.0> PASS [ 0.008s] horae-core permissions::approvals::tests::no_expense_read_is_needed_when_there_are_no_expenses235horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::approvals::tests::only_an_administrator_may_decide_their_own_submission236horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::approvals::tests::reevaluation_does_not_reuse_prior_read_or_approval_success237horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::approvals::tests::only_expense_reads_or_their_write_prerequisites_make_others_expenses_visible238horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::approvals::tests::removing_the_last_matching_relationship_revokes_both_domains239horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::catalog::stored_tests::rejects_each_missing_floor_grant240horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::stored_tests::rejects_duplicate_grants_instead_of_silently_deduplicating241horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::stored_tests::rejects_empty_saved_selection_instead_of_adding_member_floor242horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::stored_tests::rejects_every_missing_prerequisite_without_repairing_input243horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::catalog::stored_tests::restores_custom_selection_without_reapplying_profile_defaults244horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::catalog::stored_tests::restores_each_builtin_selection_without_changing_grants245horae-tests-0.1.0> Running [ 00:00:00] ===> 133/288: 4 running, 133 passed, 0 skipped 246horae-tests-0.1.0> [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection247horae-tests-0.1.0> [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog248horae-tests-0.1.0> [ 00:00:00] horae-core tests::empty_selection_includes_member_floor249horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::stored_tests::rejects_unsupported_versions_even_for_valid_grants250horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::catalog::tests::administrator_selection_covers_known_catalog_without_unknown_ids251horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::stored_tests::stored_order_does_not_change_the_selected_set252horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::tests::adding_all_catalog_grants_produces_exactly_the_catalog253horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::tests::approve_all_includes_read_scopes_but_not_write_or_expense_management254horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::catalog::tests::catalog_has_fifty_distinct_known_grants255horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::catalog::tests::dependency_graph_matches_the_reference_edges_without_extra_cross_resource_grants256horae-tests-0.1.0> Running [ 00:00:00] ===> 133/288: 4 running, 133 passed, 0 skipped 257horae-tests-0.1.0> [ 00:00:00] horae-core h_valid_grant_pair_and_its_revoked_selection258horae-tests-0.1.0> [ 00:00:00] horae-core e_defaults_match_the_known_reference_catalog259horae-tests-0.1.0> [ 00:00:00] horae-core tests::empty_selection_includes_member_floor260horae-tests-0.1.0> Running [ 00:00:00] ====> 151/288: 4 running, 151 passed, 0 skipped 261horae-tests-0.1.0> [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free262horae-tests-0.1.0> [ 00:00:00] horae-core tests::unknown_permission_names_are_rejected263horae-tests-0.1.0> [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair264horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::catalog::tests::every_declared_dependency_is_added_and_removing_it_removes_the_dependent265horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::catalog::tests::direct_profile_defaults_match_the_known_reference_catalog266horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::tests::empty_selection_includes_member_floor267horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::catalog::tests::finance_profiles_cannot_edit_rates_and_project_manager_has_no_financial_grants268horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::catalog::tests::every_profile_includes_floor_and_is_closed_under_dependencies269horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::catalog::tests::floor_cannot_be_removed_or_partially_modified270horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::catalog::tests::member_has_only_own_time_and_expense_access271horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::tests::known_permission_name_decodes_without_legacy_role_conversion272horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::tests::profiles_reject_legacy_rank_names_and_unknown_values273horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::catalog::tests::removing_absent_permission_is_an_idempotent_no_op274horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::catalog::tests::removing_invoice_draft_write_keeps_read_but_removes_managed_and_all_write275horae-tests-0.1.0> PASS [ 0.051s] horae-core permissions::catalog::stored_tests::restores_each_valid_grant_pair_and_its_revoked_selection276horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::tests::removing_managed_time_read_also_removes_all_reads_writes_and_approvals277horae-tests-0.1.0> PASS [ 0.015s] horae-core permissions::catalog::tests::removing_any_non_floor_grant_keeps_the_remaining_selection_closed278horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::tests::removing_one_financial_permission_preserves_unrelated_families279horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::tests::report_and_withdrawal_grants_do_not_add_unrelated_authority280horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::catalog::tests::template_names_trim_without_changing_display_or_internal_spaces281horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::catalog::tests::template_names_reject_empty_and_overlong_unicode_names282horae-tests-0.1.0> Running [ 00:00:00] ====> 151/288: 4 running, 151 passed, 0 skipped 283horae-tests-0.1.0> [ 00:00:00] horae-core mpotent_order_independent_and_duplicate_free284horae-tests-0.1.0> [ 00:00:00] horae-core tests::unknown_permission_names_are_rejected285horae-tests-0.1.0> [ 00:00:00] horae-core :any_compatible_grant_suffices_in_every_pair286horae-tests-0.1.0> Running [ 00:00:00] ====> 160/288: 4 running, 160 passed, 0 skipped 287horae-tests-0.1.0> [ 00:00:00] horae-core ions::properties::approval_is_all_or_nothing288horae-tests-0.1.0> [ 00:00:00] horae-core proval_is_monotone_in_grants_and_assignments289horae-tests-0.1.0> [ 00:00:00] horae-core reaches_only_approvable_and_readable_records290horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::catalog::tests::unknown_permission_names_are_rejected291horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::person_management::tests::combined_unrelated_grants_do_not_create_person_management_eligibility292horae-tests-0.1.0> PASS [ 0.043s] horae-core permissions::catalog::tests::normalization_is_idempotent_order_independent_and_duplicate_free293horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::person_management::tests::each_catalog_grant_has_the_specified_compatibility_without_changing_grants294horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::person_management::tests::eligibility_tracks_last_compatible_grant_loss_and_restoration295horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::person_management::tests::other_people_and_empty_removal_need_neither_grants_nor_a_separate_actor296horae-tests-0.1.0> PASS [ 0.016s] horae-core permissions::person_management::tests::any_compatible_grant_suffices_in_every_pair297horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::person_management::tests::self_link_rejects_the_proposal_in_every_position_without_filtering_it298horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::person_management::tests::own_tracking_floor_does_not_qualify299horae-tests-0.1.0> Running [ 00:00:00] ====> 160/288: 4 running, 160 passed, 0 skipped 300horae-tests-0.1.0> [ 00:00:00] horae-core ions::properties::approval_is_all_or_nothing301horae-tests-0.1.0> [ 00:00:00] horae-core proval_is_monotone_in_grants_and_assignments302horae-tests-0.1.0> [ 00:00:00] horae-core reaches_only_approvable_and_readable_records303horae-tests-0.1.0> Running [ 00:00:00] ====> 160/288: 4 running, 160 passed, 0 skipped 304horae-tests-0.1.0> [ 00:00:00] horae-core ions::properties::approval_is_all_or_nothing305horae-tests-0.1.0> [ 00:00:00] horae-core proval_is_monotone_in_grants_and_assignments306horae-tests-0.1.0> [ 00:00:00] horae-core reaches_only_approvable_and_readable_records307horae-tests-0.1.0> Running [ 00:00:00] ====> 160/288: 4 running, 160 passed, 0 skipped 308horae-tests-0.1.0> [ 00:00:00] horae-core ions::properties::approval_is_all_or_nothing309horae-tests-0.1.0> [ 00:00:00] horae-core proval_is_monotone_in_grants_and_assignments310horae-tests-0.1.0> [ 00:00:00] horae-core reaches_only_approvable_and_readable_records311horae-tests-0.1.0> Running [ 00:00:00] ====> 160/288: 4 running, 160 passed, 0 skipped 312horae-tests-0.1.0> [ 00:00:00] horae-core ions::properties::approval_is_all_or_nothing313horae-tests-0.1.0> [ 00:00:00] horae-core proval_is_monotone_in_grants_and_assignments314horae-tests-0.1.0> [ 00:00:00] horae-core reaches_only_approvable_and_readable_records315horae-tests-0.1.0> Running [ 00:00:00] ====> 160/288: 4 running, 160 passed, 0 skipped 316horae-tests-0.1.0> [ 00:00:00] horae-core ions::properties::approval_is_all_or_nothing317horae-tests-0.1.0> [ 00:00:00] horae-core proval_is_monotone_in_grants_and_assignments318horae-tests-0.1.0> [ 00:00:00] horae-core reaches_only_approvable_and_readable_records319horae-tests-0.1.0> Running [ 00:00:00] ====> 160/288: 4 running, 160 passed, 0 skipped 320horae-tests-0.1.0> [ 00:00:00] horae-core ions::properties::approval_is_all_or_nothing321horae-tests-0.1.0> [ 00:00:00] horae-core proval_is_monotone_in_grants_and_assignments322horae-tests-0.1.0> [ 00:00:00] horae-core reaches_only_approvable_and_readable_records323horae-tests-0.1.0> Running [ 00:00:00] ====> 160/288: 4 running, 160 passed, 0 skipped 324horae-tests-0.1.0> [ 00:00:00] horae-core ions::properties::approval_is_all_or_nothing325horae-tests-0.1.0> [ 00:00:00] horae-core proval_is_monotone_in_grants_and_assignments326horae-tests-0.1.0> [ 00:00:00] horae-core reaches_only_approvable_and_readable_records327horae-tests-0.1.0> Running [ 00:00:00] ====> 163/288: 4 running, 163 passed, 0 skipped 328horae-tests-0.1.0> [ 00:00:00] horae-core proval_is_monotone_in_grants_and_assignments329horae-tests-0.1.0> [ 00:00:00] horae-core illable_rate_access_is_confined_to_the_owner330horae-tests-0.1.0> [ 00:00:00] horae-core lable_rate_owner_ignores_the_other_dimension331horae-tests-0.1.0> PASS [ 0.212s] horae-core permissions::properties::approval_requires_an_approval_grant332horae-tests-0.1.0> PASS [ 0.217s] horae-core permissions::properties::approval_is_all_or_nothing333horae-tests-0.1.0> PASS [ 0.221s] horae-core permissions::properties::approval_reaches_only_approvable_and_readable_records334horae-tests-0.1.0> Running [ 00:00:00] ====> 163/288: 4 running, 163 passed, 0 skipped 335horae-tests-0.1.0> [ 00:00:00] horae-core proval_is_monotone_in_grants_and_assignments336horae-tests-0.1.0> [ 00:00:00] horae-core illable_rate_access_is_confined_to_the_owner337horae-tests-0.1.0> [ 00:00:00] horae-core lable_rate_owner_ignores_the_other_dimension338horae-tests-0.1.0> Running [ 00:00:00] ====> 164/288: 4 running, 164 passed, 0 skipped 339horae-tests-0.1.0> [ 00:00:00] horae-core illable_rate_access_is_confined_to_the_owner340horae-tests-0.1.0> [ 00:00:00] horae-core lable_rate_owner_ignores_the_other_dimension341horae-tests-0.1.0> [ 00:00:00] horae-core s::billable_rates_need_a_billable_rate_grant342horae-tests-0.1.0> PASS [ 0.242s] horae-core permissions::properties::approval_is_monotone_in_grants_and_assignments343horae-tests-0.1.0> Running [ 00:00:00] ====> 164/288: 4 running, 164 passed, 0 skipped 344horae-tests-0.1.0> [ 00:00:00] horae-core illable_rate_access_is_confined_to_the_owner345horae-tests-0.1.0> [ 00:00:00] horae-core lable_rate_owner_ignores_the_other_dimension346horae-tests-0.1.0> [ 00:00:00] horae-core s::billable_rates_need_a_billable_rate_grant347horae-tests-0.1.0> Running [ 00:00:00] ====> 164/288: 4 running, 164 passed, 0 skipped 348horae-tests-0.1.0> [ 00:00:00] horae-core illable_rate_access_is_confined_to_the_owner349horae-tests-0.1.0> [ 00:00:00] horae-core lable_rate_owner_ignores_the_other_dimension350horae-tests-0.1.0> [ 00:00:00] horae-core s::billable_rates_need_a_billable_rate_grant351horae-tests-0.1.0> Running [ 00:00:00] ====> 164/288: 4 running, 164 passed, 0 skipped 352horae-tests-0.1.0> [ 00:00:00] horae-core illable_rate_access_is_confined_to_the_owner353horae-tests-0.1.0> [ 00:00:00] horae-core lable_rate_owner_ignores_the_other_dimension354horae-tests-0.1.0> [ 00:00:00] horae-core s::billable_rates_need_a_billable_rate_grant355horae-tests-0.1.0> Running [ 00:00:00] ====> 169/288: 4 running, 169 passed, 0 skipped 356horae-tests-0.1.0> [ 00:00:00] horae-core ns::properties::rate_write_implies_rate_read357horae-tests-0.1.0> [ 00:00:00] horae-core s::removal_takes_away_exactly_the_dependants358horae-tests-0.1.0> [ 00:00:00] horae-core overage_is_monotone_in_scope_and_assignments359horae-tests-0.1.0> PASS [ 0.110s] horae-core permissions::properties::cost_rates_need_a_cost_rate_grant360horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::properties::person_management_eligibility_follows_the_grant_categories361horae-tests-0.1.0> PASS [ 0.148s] horae-core permissions::properties::billable_rate_access_is_confined_to_the_owner362horae-tests-0.1.0> PASS [ 0.150s] horae-core permissions::properties::billable_rate_owner_ignores_the_other_dimension363horae-tests-0.1.0> PASS [ 0.147s] horae-core permissions::properties::billable_rates_need_a_billable_rate_grant364horae-tests-0.1.0> Running [ 00:00:00] ====> 169/288: 4 running, 169 passed, 0 skipped 365horae-tests-0.1.0> [ 00:00:00] horae-core ns::properties::rate_write_implies_rate_read366horae-tests-0.1.0> [ 00:00:00] horae-core s::removal_takes_away_exactly_the_dependants367horae-tests-0.1.0> [ 00:00:00] horae-core overage_is_monotone_in_scope_and_assignments368horae-tests-0.1.0> Running [ 00:00:00] ====> 170/288: 4 running, 170 passed, 0 skipped 369horae-tests-0.1.0> [ 00:00:00] horae-core ns::properties::rate_write_implies_rate_read370horae-tests-0.1.0> [ 00:00:00] horae-core s::removal_takes_away_exactly_the_dependants371horae-tests-0.1.0> [ 00:00:00] horae-core overage_is_monotone_in_scope_and_assignments372horae-tests-0.1.0> PASS [ 0.056s] horae-core permissions::properties::scope_coverage_stays_within_granted_dimensions373horae-tests-0.1.0> Running [ 00:00:00] ====> 170/288: 4 running, 170 passed, 0 skipped 374horae-tests-0.1.0> [ 00:00:00] horae-core ns::properties::rate_write_implies_rate_read375horae-tests-0.1.0> [ 00:00:00] horae-core s::removal_takes_away_exactly_the_dependants376horae-tests-0.1.0> [ 00:00:00] horae-core overage_is_monotone_in_scope_and_assignments377horae-tests-0.1.0> Running [ 00:00:00] ====> 172/288: 4 running, 172 passed, 0 skipped 378horae-tests-0.1.0> [ 00:00:00] horae-core s::removal_takes_away_exactly_the_dependants379horae-tests-0.1.0> [ 00:00:00] horae-core _is_the_least_closed_superset_of_the_request380horae-tests-0.1.0> [ 00:00:00] horae-core red_grants_are_restored_verbatim_or_rejected381horae-tests-0.1.0> PASS [ 0.082s] horae-core permissions::properties::scope_coverage_is_monotone_in_scope_and_assignments382horae-tests-0.1.0> PASS [ 0.127s] horae-core permissions::properties::rate_write_implies_rate_read383horae-tests-0.1.0> Running [ 00:00:00] ====> 172/288: 4 running, 172 passed, 0 skipped 384horae-tests-0.1.0> [ 00:00:00] horae-core s::removal_takes_away_exactly_the_dependants385horae-tests-0.1.0> [ 00:00:00] horae-core _is_the_least_closed_superset_of_the_request386horae-tests-0.1.0> [ 00:00:00] horae-core red_grants_are_restored_verbatim_or_rejected387horae-tests-0.1.0> Running [ 00:00:00] =====> 189/288: 4 running, 172 passed, 0 skipped 388horae-tests-0.1.0> [ 00:00:00] horae-core s::removal_takes_away_exactly_the_dependants389horae-tests-0.1.0> [ 00:00:00] horae-core _is_the_least_closed_superset_of_the_request390horae-tests-0.1.0> [ 00:00:00] horae-core red_grants_are_restored_verbatim_or_rejected391horae-tests-0.1.0> PASS [ 0.128s] horae-core permissions::properties::removal_takes_away_exactly_the_dependants392horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::rates::tests::all_six_defaults_have_the_approved_financial_access393horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::rates::tests::billable_actions_use_only_their_own_grant_and_owner_scope394horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::rates::tests::billable_owner_never_uses_the_other_management_dimension395horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::rates::tests::cost_and_billable_grants_are_independent_and_read_does_not_allow_write396horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::rates::tests::explicit_rate_edits_require_write_even_for_zero_or_an_equal_value397horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::rates::tests::identity_and_tenant_mismatches_deny_even_all_financial_grants398horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::rates::tests::grant_removal_denies_without_mutating_the_remaining_selection399horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::rates::tests::removing_read_prerequisites_denies_both_actions400horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::rates::tests::read_only_cost_grant_cannot_authorize_an_explicit_rate_edit401horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::rates::tests::unchanged_rate_edit_requires_no_financial_write_grant402horae-tests-0.1.0> PASS [ 0.096s] horae-core permissions::properties::selection_is_the_least_closed_superset_of_the_request403horae-tests-0.1.0> PASS [ 0.007s] horae-core permissions::rates::tests::unrelated_catalog_grants_never_authorize_ordinary_financial_fields404horae-tests-0.1.0> PASS [ 0.005s] horae-core permissions::tests::every_scope_combination_matches_only_explicitly_granted_dimensions405horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::tests::assignments_do_not_grant_scope_and_missing_assignments_do_not_match406horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::tests::assignment_matching_searches_all_members_and_is_insensitive_to_duplicates407horae-tests-0.1.0> PASS [ 0.006s] horae-core permissions::tests::inactive_or_foreign_context_is_denied_for_every_scope_combination408horae-tests-0.1.0> PASS [ 0.008s] horae-core permissions::tests::removing_an_assignment_removes_only_that_matching_dimension409horae-tests-0.1.0> PASS [ 0.009s] horae-core permissions::tests::scope_union_obeys_set_laws410horae-tests-0.1.0> Running [ 00:00:00] =====> 191/288: 4 running, 191 passed, 0 skipped 411horae-tests-0.1.0> [ 00:00:00] horae-core red_grants_are_restored_verbatim_or_rejected412horae-tests-0.1.0> [ 00:00:00] horae-core cs_accept_same_day_but_reject_reversed_dates413horae-tests-0.1.0> [ 00:00:00] horae-core cept_supported_currencies_and_optional_dates414horae-tests-0.1.0> Running [ 00:00:00] =====> 215/288: 4 running, 215 passed, 0 skipped 415horae-tests-0.1.0> [ 00:00:00] horae-core red_grants_are_restored_verbatim_or_rejected416horae-tests-0.1.0> [ 00:00:00] horae-core tivity::tests::includes_leap_day_in_february417horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::invalid_dates_never_become_all_time418horae-tests-0.1.0> PASS [ 0.006s] horae-core project::tests::basics_accept_same_day_but_reject_reversed_dates419horae-tests-0.1.0> PASS [ 0.005s] horae-core project::tests::basics_reject_blank_and_overlong_names420horae-tests-0.1.0> PASS [ 0.007s] horae-core project::tests::basics_accept_supported_currencies_and_optional_dates421horae-tests-0.1.0> PASS [ 0.005s] horae-core project::tests::basics_reject_overlong_code_and_unsupported_currency422horae-tests-0.1.0> PASS [ 0.005s] horae-core project::tests::fee_schedules_reject_missing_overlong_and_excessive_milestones423horae-tests-0.1.0> PASS [ 0.005s] horae-core project::tests::fee_schedules_validate_amounts_and_milestone_total424horae-tests-0.1.0> PASS [ 0.006s] horae-core project::tests::monetary_budgets_are_only_available_for_time_and_materials425horae-tests-0.1.0> PASS [ 0.005s] horae-core project::tests::monthly_fee_dates_follow_calendar_months426horae-tests-0.1.0> PASS [ 0.006s] horae-core project::tests::monthly_fee_dates_reject_invalid_calendar_inputs427horae-tests-0.1.0> PASS [ 0.004s] horae-core project::tests::percentage_preserves_exact_hundredths428horae-tests-0.1.0> PASS [ 0.007s] horae-core project::tests::payment_terms_support_receipt_and_checked_days429horae-tests-0.1.0> PASS [ 0.005s] horae-core project::tests::percentage_rejects_invalid_precision_range_and_syntax430horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::absent_dates_mean_all_time431horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::accepts_the_largest_representable_total_without_saturation432horae-tests-0.1.0> PASS [ 0.007s] horae-core project_activity::tests::accepts_canonical_signed_and_expanded_years433horae-tests-0.1.0> PASS [ 0.006s] horae-core project_activity::tests::calendar_bounds_support_the_representable_extremes434horae-tests-0.1.0> PASS [ 0.006s] horae-core project_activity::tests::clips_boundary_weeks_and_preserves_empty_weeks435horae-tests-0.1.0> PASS [ 0.006s] horae-core project_activity::tests::clips_the_final_week_before_date_overflow436horae-tests-0.1.0> PASS [ 0.006s] horae-core project_activity::tests::configured_week_start_changes_buckets_at_year_boundary437horae-tests-0.1.0> PASS [ 0.007s] horae-core project_activity::tests::duplicate_dates_and_input_order_do_not_change_the_series438horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::explicit_dates_are_inclusive439horae-tests-0.1.0> PASS [ 0.011s] horae-core project_activity::tests::every_day_is_counted_once_for_each_week_start_in_full_calendar_years440horae-tests-0.1.0> PASS [ 0.006s] horae-core project_activity::tests::filters_inclusively_and_accumulates_exact_minutes_from_period_start441horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::ignores_negative_minutes_outside_the_period442horae-tests-0.1.0> Running [ 00:00:00] =====> 215/288: 4 running, 215 passed, 0 skipped 443horae-tests-0.1.0> [ 00:00:00] horae-core red_grants_are_restored_verbatim_or_rejected444horae-tests-0.1.0> [ 00:00:00] horae-core tivity::tests::includes_leap_day_in_february445horae-tests-0.1.0> [ 00:00:00] horae-core ::tests::invalid_dates_never_become_all_time446horae-tests-0.1.0> Running [ 00:00:00] ======> 245/288: 4 running, 245 passed, 0 skipped 447horae-tests-0.1.0> [ 00:00:00] horae-core day::tests::format_12h_matches_harvest_style448horae-tests-0.1.0> [ 00:00:00] horae-core time_of_day::tests::format_round_trips449horae-tests-0.1.0> [ 00:00:00] horae-core _day::tests::parse_reads_12h_including_edges450horae-tests-0.1.0> PASS [ 0.143s] horae-core permissions::properties::stored_grants_are_restored_verbatim_or_rejected451horae-tests-0.1.0> PASS [ 0.007s] horae-core project_activity::tests::includes_leap_day_in_february452horae-tests-0.1.0> PASS [ 0.006s] horae-core project_activity::tests::month_boundaries_do_not_clamp_from_the_anchor_day453horae-tests-0.1.0> PASS [ 0.006s] horae-core project_activity::tests::invalid_dates_never_become_all_time454horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::non_leap_february_ends_on_the_28th455horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::quarters_are_calendar_quarters456horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::refuses_to_truncate_a_period_to_fit_the_bucket_limit457horae-tests-0.1.0> PASS [ 0.009s] horae-core project_activity::tests::negative_minutes_win_over_overflow_in_any_input_order458horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::rejects_an_unrepresentable_first_week459horae-tests-0.1.0> PASS [ 0.007s] horae-core project_activity::tests::rejects_a_huge_range_before_allocating_buckets460horae-tests-0.1.0> PASS [ 0.007s] horae-core project_activity::tests::rejects_cumulative_overflow_across_weeks461horae-tests-0.1.0> PASS [ 0.007s] horae-core project_activity::tests::rejects_negative_billable_or_non_billable_minutes462horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::rejects_overflow_within_a_bucket463horae-tests-0.1.0> PASS [ 0.008s] horae-core project_activity::tests::rejects_noncanonical_iso_dates_in_either_bound464horae-tests-0.1.0> PASS [ 0.007s] horae-core project_activity::tests::rejects_overflow_across_the_billable_split465horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::rejects_reversed_custom_dates466horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::year_includes_both_boundaries467horae-tests-0.1.0> PASS [ 0.005s] horae-core project_activity::tests::zero_bucket_limit_is_an_error_even_without_entries468horae-tests-0.1.0> PASS [ 0.007s] horae-core project_activity::tests::single_day_is_one_bucket_for_every_week_start469horae-tests-0.1.0> PASS [ 0.006s] horae-core rounding::tests::effective_minutes_respect_frozen_history_including_zero470horae-tests-0.1.0> PASS [ 0.006s] horae-core rounding::tests::nearest_takes_the_closer_multiple471horae-tests-0.1.0> PASS [ 0.006s] horae-core rounding::tests::identity_when_inc_zero472horae-tests-0.1.0> PASS [ 0.008s] horae-core rounding::tests::nearest_ties_round_up473horae-tests-0.1.0> PASS [ 0.008s] horae-core rounding::tests::result_is_multiple_of_inc474horae-tests-0.1.0> PASS [ 0.007s] horae-core rounding::tests::up_and_down475horae-tests-0.1.0> PASS [ 0.007s] horae-core state::tests::invoiced_is_final476horae-tests-0.1.0> PASS [ 0.006s] horae-core state::tests::managers_invoice_open_and_approved_time477horae-tests-0.1.0> Running [ 00:00:00] ======> 245/288: 4 running, 245 passed, 0 skipped 478horae-tests-0.1.0> [ 00:00:00] horae-core day::tests::format_12h_matches_harvest_style479horae-tests-0.1.0> [ 00:00:00] horae-core time_of_day::tests::format_round_trips480horae-tests-0.1.0> [ 00:00:00] horae-core _day::tests::parse_reads_12h_including_edges481horae-tests-0.1.0> PASS [ 0.006s] horae-core state::tests::member_submit_and_reopen482horae-tests-0.1.0> PASS [ 0.005s] horae-core state::tests::only_manager_can_approve483horae-tests-0.1.0> PASS [ 0.006s] horae-core time_of_day::tests::clamp_to_day_prevents_crossing_midnight484horae-tests-0.1.0> Running [ 00:00:00] ======> 245/288: 4 running, 245 passed, 0 skipped 485horae-tests-0.1.0> [ 00:00:00] horae-core day::tests::format_12h_matches_harvest_style486horae-tests-0.1.0> [ 00:00:00] horae-core time_of_day::tests::format_round_trips487horae-tests-0.1.0> [ 00:00:00] horae-core _day::tests::parse_reads_12h_including_edges488horae-tests-0.1.0> Running [ 00:00:01] =======> 266/288: 4 running, 266 passed, 0 skipped 489horae-tests-0.1.0> [ 00:00:00] horae-core::properties cale_with_exact_half_up_rounding490horae-tests-0.1.0> [ 00:00:00] horae-core::properties duration::hhmm_round_trips491horae-tests-0.1.0> [ 00:00:00] horae-core::properties duration::parse_never_panics492horae-tests-0.1.0> PASS [ 0.008s] horae-core time_of_day::tests::format_12h_matches_harvest_style493horae-tests-0.1.0> PASS [ 0.007s] horae-core time_of_day::tests::format_round_trips494horae-tests-0.1.0> PASS [ 0.006s] horae-core time_of_day::tests::parse_reads_24h495horae-tests-0.1.0> PASS [ 0.010s] horae-core time_of_day::tests::parse_reads_12h_including_edges496horae-tests-0.1.0> PASS [ 0.005s] horae-core types::tests::budget_kind_wire_strings_match_db_enum497horae-tests-0.1.0> PASS [ 0.006s] horae-core time_of_day::tests::snap_rounds_to_nearest_step498horae-tests-0.1.0> PASS [ 0.007s] horae-core time_of_day::tests::parse_rejects_out_of_range_and_garbage499horae-tests-0.1.0> PASS [ 0.005s] horae-core week::tests::configured_week_can_start_in_the_previous_year500horae-tests-0.1.0> PASS [ 0.005s] horae-core week::tests::configured_week_contains_each_day_for_all_seven_start_days501horae-tests-0.1.0> PASS [ 0.004s] horae-core week::tests::configured_week_reports_an_unrepresentable_start502horae-tests-0.1.0> PASS [ 0.005s] horae-core week::tests::maps_any_weekday_to_its_monday503horae-tests-0.1.0> PASS [ 0.006s] horae-core week::tests::iso_week_before_the_representable_range_is_none504horae-tests-0.1.0> PASS [ 0.005s] horae-core week::tests::week_bounds::end_after_the_representable_range_is_none505horae-tests-0.1.0> PASS [ 0.006s] horae-core week::tests::week_bounds::last_whole_representable_week_is_some506horae-tests-0.1.0> PASS [ 0.006s] horae-core week::tests::week_bounds::monday_start_spans_monday_to_sunday507horae-tests-0.1.0> PASS [ 0.006s] horae-core week::tests::week_bounds::start_before_the_representable_range_is_none508horae-tests-0.1.0> PASS [ 0.005s] horae-core week::tests::week_bounds::week_crossing_a_year_keeps_both_ends509horae-tests-0.1.0> PASS [ 0.006s] horae-core week::tests::week_bounds::sunday_start_spans_sunday_to_saturday510horae-tests-0.1.0> PASS [ 0.015s] horae-core::properties duration::decimal_display_round_trips511horae-tests-0.1.0> PASS [ 0.023s] horae-core::properties budget::rising_consumption_announces_each_band_once512horae-tests-0.1.0> PASS [ 0.025s] horae-core::properties budget::used_percent_is_bounded_and_monotonic513horae-tests-0.1.0> Running [ 00:00:01] =======> 266/288: 4 running, 266 passed, 0 skipped 514horae-tests-0.1.0> [ 00:00:00] horae-core::properties cale_with_exact_half_up_rounding515horae-tests-0.1.0> [ 00:00:00] horae-core::properties duration::hhmm_round_trips516horae-tests-0.1.0> [ 00:00:00] horae-core::properties duration::parse_never_panics517horae-tests-0.1.0> Running [ 00:00:01] =======> 273/288: 4 running, 273 passed, 0 skipped 518horae-tests-0.1.0> [ 00:00:00] horae-core::properties xact_per_currency_and_order_free519horae-tests-0.1.0> [ 00:00:00] horae-core::properties ey::displayed_amounts_parse_back520horae-tests-0.1.0> [ 00:00:00] horae-core::properties money::parse_cents_never_panics521horae-tests-0.1.0> PASS [ 0.031s] horae-core::properties duration::decimals_scale_with_exact_half_up_rounding522horae-tests-0.1.0> PASS [ 0.017s] horae-core::properties duration::hhmm_round_trips523horae-tests-0.1.0> PASS [ 0.016s] horae-core::properties duration::spellings_agree524horae-tests-0.1.0> PASS [ 0.017s] horae-core::properties invoice::invoice_components_round_half_up_and_add_up525horae-tests-0.1.0> PASS [ 0.019s] horae-core::properties invoice::line_amount_is_half_up_and_monotonic526horae-tests-0.1.0> PASS [ 0.028s] horae-core::properties invoice::discount_allocation_conserves_the_header_discount527horae-tests-0.1.0> PASS [ 0.045s] horae-core::properties duration::parse_never_panics528horae-tests-0.1.0> Running [ 00:00:01] =======> 273/288: 4 running, 273 passed, 0 skipped 529horae-tests-0.1.0> [ 00:00:00] horae-core::properties xact_per_currency_and_order_free530horae-tests-0.1.0> [ 00:00:00] horae-core::properties ey::displayed_amounts_parse_back531horae-tests-0.1.0> [ 00:00:00] horae-core::properties money::parse_cents_never_panics532horae-tests-0.1.0> Running [ 00:00:01] =======> 283/288: 4 running, 273 passed, 0 skipped 533horae-tests-0.1.0> [ 00:00:00] horae-core::properties xact_per_currency_and_order_free534horae-tests-0.1.0> [ 00:00:00] horae-core::properties ey::displayed_amounts_parse_back535horae-tests-0.1.0> [ 00:00:00] horae-core::properties money::parse_cents_never_panics536horae-tests-0.1.0> PASS [ 0.024s] horae-core::properties money::displayed_amounts_parse_back537horae-tests-0.1.0> PASS [ 0.037s] horae-core::properties money::currency_totals_are_exact_per_currency_and_order_free538horae-tests-0.1.0> PASS [ 0.017s] horae-core::properties rounding::round_is_idempotent_and_monotonic539horae-tests-0.1.0> PASS [ 0.047s] horae-core::properties money::parse_cents_never_panics540horae-tests-0.1.0> PASS [ 0.045s] horae-core::properties project_activity::weekly_buckets_tile_the_range_and_keep_every_minute541horae-tests-0.1.0> PASS [ 0.026s] horae-core::properties rounding::round_lands_on_the_named_side_within_one_increment542horae-tests-0.1.0> PASS [ 0.007s] horae-core::properties state::entry_state_machine_reaches_every_state543horae-tests-0.1.0> PASS [ 0.005s] horae-core::properties state::entry_state_machine_upholds_its_locks544horae-tests-0.1.0> PASS [ 0.024s] horae-core::properties rounding::round_saturates_instead_of_wrapping545horae-tests-0.1.0> PASS [ 0.010s] horae-core::properties time_of_day::every_minute_round_trips_through_24h_and_12h546horae-tests-0.1.0> PASS [ 0.014s] horae-core::properties time_of_day::clamp_to_day_never_crosses_midnight547horae-tests-0.1.0> Running [ 00:00:01] =======> 284/288: 4 running, 284 passed, 0 skipped 548horae-tests-0.1.0> [ 00:00:00] horae-core::properties _day::parse_stays_inside_the_day549horae-tests-0.1.0> [ 00:00:00] horae-core::properties ute_to_the_nearest_step_in_order550horae-tests-0.1.0> [ 00:00:00] horae-core::properties ime_of_day::snap_never_overflows551horae-tests-0.1.0> PASS [ 0.008s] horae-core::properties time_of_day::snap_moves_each_minute_to_the_nearest_step_in_order552horae-tests-0.1.0> PASS [ 0.017s] horae-core::properties time_of_day::snap_never_overflows553horae-tests-0.1.0> PASS [ 0.021s] horae-core::properties week::weeks_start_on_the_setting_and_contain_the_date554horae-tests-0.1.0> PASS [ 0.045s] horae-core::properties time_of_day::parse_stays_inside_the_day555horae-tests-0.1.0> ------------556horae-tests-0.1.0> Summary [ 1.134s] 288 tests run: 288 passed, 0 skipped557horae-tests-0.1.0> Running [ 00:00:01] ======== 288/288: 4 running, 284 passed, 0 skipped 558horae-tests-0.1.0> [ 00:00:00] horae-core::properties _day::parse_stays_inside_the_day559horae-tests-0.1.0> [ 00:00:00] horae-core::properties ute_to_the_nearest_step_in_order560horae-tests-0.1.0> [ 00:00:00] horae-core::properties ime_of_day::snap_never_overflows561horae-tests-0.1.0> The files belonging to this database system will be owned by user "nixbld".562horae-tests-0.1.0> This user must also own the server process.563horae-tests-0.1.0> 564horae-tests-0.1.0> The database cluster will be initialized with locale "C".565horae-tests-0.1.0> The default text search configuration will be set to "english".566horae-tests-0.1.0> 567horae-tests-0.1.0> Data page checksums are disabled.568horae-tests-0.1.0> 569horae-tests-0.1.0> fixing permissions on existing directory /build/tmp.mHPzJTSut9 ... ok570horae-tests-0.1.0> creating subdirectories ... ok571horae-tests-0.1.0> selecting dynamic shared memory implementation ... posix572horae-tests-0.1.0> selecting default "max_connections" ... 100573horae-tests-0.1.0> selecting default "shared_buffers" ... 128MB574horae-tests-0.1.0> selecting default time zone ... UTC575horae-tests-0.1.0> creating configuration files ... ok576horae-tests-0.1.0> running bootstrap script ... ok577horae-tests-0.1.0> performing post-bootstrap initialization ... ok578horae-tests-0.1.0> syncing data to disk ... ok579horae-tests-0.1.0> 580horae-tests-0.1.0> initdb: warning: enabling "trust" authentication for local connections581horae-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.582horae-tests-0.1.0> 583horae-tests-0.1.0> Success. You can now start the database server using:584horae-tests-0.1.0> 585horae-tests-0.1.0> pg_ctl -D /build/tmp.mHPzJTSut9 -l logfile start586horae-tests-0.1.0> 587horae-tests-0.1.0> waiting for server to start.... done588horae-tests-0.1.0> server started589horae-tests-0.1.0> +++ command cargo test -p horae --features server -- --test-threads 4590horae-tests-0.1.0> Compiling proc-macro2 v1.0.106591horae-tests-0.1.0> Compiling proc-macro2-diagnostics v0.10.1592horae-tests-0.1.0> Compiling horae v0.1.0 (/build/source/crates/horae)593horae-tests-0.1.0> Compiling quote v1.0.46594horae-tests-0.1.0> Compiling syn v2.0.118595horae-tests-0.1.0> Compiling const_format_proc_macros v0.2.34596horae-tests-0.1.0> Compiling dioxus-config-macro v0.7.9597horae-tests-0.1.0> Compiling const_format v0.2.36598horae-tests-0.1.0> Compiling synstructure v0.13.2599horae-tests-0.1.0> Compiling darling_core v0.21.3600horae-tests-0.1.0> Compiling wasm-bindgen-macro-support v0.2.126601horae-tests-0.1.0> Compiling dioxus-rsx v0.7.9602horae-tests-0.1.0> Compiling serde_derive v1.0.228603horae-tests-0.1.0> Compiling thiserror-impl v2.0.18604horae-tests-0.1.0> Compiling zerofrom-derive v0.1.7605horae-tests-0.1.0> Compiling thiserror v2.0.18606horae-tests-0.1.0> Compiling yoke-derive v0.8.2607horae-tests-0.1.0> Compiling zerovec-derive v0.11.3608horae-tests-0.1.0> Compiling displaydoc v0.2.6609horae-tests-0.1.0> Compiling futures-macro v0.3.32610horae-tests-0.1.0> Compiling serde v1.0.228611horae-tests-0.1.0> Compiling zerofrom v0.1.8612horae-tests-0.1.0> Compiling yoke v0.8.3613horae-tests-0.1.0> Compiling smallvec v1.15.2614horae-tests-0.1.0> Compiling lock_api v0.4.14615horae-tests-0.1.0> Compiling parking_lot_core v0.9.12616horae-tests-0.1.0> Compiling either v1.16.0617horae-tests-0.1.0> Compiling bytes v1.12.0618horae-tests-0.1.0> Compiling futures-util v0.3.32619horae-tests-0.1.0> Compiling parking_lot v0.12.5620horae-tests-0.1.0> Compiling rayon v1.12.0621horae-tests-0.1.0> Compiling tracing-attributes v0.1.31622horae-tests-0.1.0> Compiling cobs v0.3.0623horae-tests-0.1.0> Compiling zerocopy-derive v0.8.53624horae-tests-0.1.0> Compiling tracing v0.1.44625horae-tests-0.1.0> Compiling indexmap v2.14.0626horae-tests-0.1.0> Compiling zerovec v0.11.6627horae-tests-0.1.0> Compiling zerocopy v0.8.53628horae-tests-0.1.0> Compiling postcard v1.1.3629horae-tests-0.1.0> Compiling tokio-macros v2.7.0630horae-tests-0.1.0> Compiling http v1.4.2631horae-tests-0.1.0> Compiling tinystr v0.8.3632horae-tests-0.1.0> Compiling icu_locale_core v2.2.0633horae-tests-0.1.0> Compiling zerotrie v0.2.4634horae-tests-0.1.0> Compiling potential_utf v0.1.5635horae-tests-0.1.0> Compiling icu_collections v2.2.0636horae-tests-0.1.0> Compiling icu_provider v2.2.0637horae-tests-0.1.0> Compiling tokio v1.52.3638horae-tests-0.1.0> Compiling bytemuck_derive v1.11.0639horae-tests-0.1.0> Compiling ppv-lite86 v0.2.21640horae-tests-0.1.0> Compiling icu_properties v2.2.0641horae-tests-0.1.0> Compiling icu_normalizer v2.2.0642horae-tests-0.1.0> Compiling bytemuck v1.25.1643horae-tests-0.1.0> Compiling slotmap v1.1.1644horae-tests-0.1.0> Compiling rand_chacha v0.3.1645horae-tests-0.1.0> Compiling rand v0.8.6646horae-tests-0.1.0> Compiling idna_adapter v1.2.2647horae-tests-0.1.0> Compiling idna v1.1.0648horae-tests-0.1.0> Compiling url v2.5.8649horae-tests-0.1.0> Compiling kurbo v0.13.1650horae-tests-0.1.0> Compiling http-body v1.0.1651horae-tests-0.1.0> Compiling wasmtime-internal-core v43.0.2652horae-tests-0.1.0> Compiling cranelift-bitset v0.130.2653horae-tests-0.1.0> Compiling half v2.7.1654horae-tests-0.1.0> Compiling ciborium-ll v0.2.2655horae-tests-0.1.0> Compiling ciborium v0.2.2656horae-tests-0.1.0> Compiling tokio-util v0.7.18657horae-tests-0.1.0> Compiling serde_yaml v0.9.34+deprecated658horae-tests-0.1.0> Compiling hayro-syntax v0.7.2659horae-tests-0.1.0> Compiling euclid v0.22.14660horae-tests-0.1.0> Compiling subsecond-types v0.7.9661horae-tests-0.1.0> Compiling subsecond v0.7.9662horae-tests-0.1.0> Compiling http-body-util v0.1.3663horae-tests-0.1.0> Compiling unic-langid-impl v0.9.6664horae-tests-0.1.0> Compiling font-types v0.11.3665horae-tests-0.1.0> Compiling tiny-skia-path v0.12.0666horae-tests-0.1.0> Compiling generational-box v0.7.9667horae-tests-0.1.0> Compiling async-trait v0.1.89668horae-tests-0.1.0> Compiling pin-project-internal v1.1.13669horae-tests-0.1.0> Compiling dioxus-core v0.7.9670horae-tests-0.1.0> Compiling read-fonts v0.39.2671horae-tests-0.1.0> Compiling unic-langid-macros-impl v0.9.6672horae-tests-0.1.0> Compiling pin-project v1.1.13673horae-tests-0.1.0> Compiling rustybuzz v0.20.1674horae-tests-0.1.0> Compiling phf_macros v0.13.1675horae-tests-0.1.0> Compiling thiserror-impl v1.0.69676horae-tests-0.1.0> Compiling pulley-macros v43.0.2677horae-tests-0.1.0> Compiling thiserror v1.0.69678horae-tests-0.1.0> Compiling phf v0.13.1679horae-tests-0.1.0> Compiling unic-langid-macros v0.9.6680horae-tests-0.1.0> Compiling cranelift-entity v0.130.2681horae-tests-0.1.0> Compiling svgtypes v0.16.1682horae-tests-0.1.0> Compiling fontdb v0.23.0683horae-tests-0.1.0> Compiling rand_chacha v0.9.0684horae-tests-0.1.0> Compiling icu_locale v2.2.0685horae-tests-0.1.0> Compiling gimli v0.33.0686horae-tests-0.1.0> Compiling futures-executor v0.3.32687horae-tests-0.1.0> Compiling serde_spanned v0.6.9688horae-tests-0.1.0> Compiling toml_datetime v0.6.11689horae-tests-0.1.0> Compiling enum-ordinalize-derive v4.4.1690horae-tests-0.1.0> Compiling wasmtime-internal-versioned-export-macros v43.0.2691horae-tests-0.1.0> Compiling comemo-macros v0.5.1692horae-tests-0.1.0> Compiling strum_macros v0.27.2693horae-tests-0.1.0> Compiling comemo v0.5.1694horae-tests-0.1.0> Compiling enum-ordinalize v4.4.1695horae-tests-0.1.0> Compiling skrifa v0.42.1696horae-tests-0.1.0> Compiling strum v0.27.2697horae-tests-0.1.0> Compiling toml_edit v0.22.27698horae-tests-0.1.0> Compiling rand v0.9.4699horae-tests-0.1.0> Compiling usvg v0.47.0700horae-tests-0.1.0> Compiling cranelift-bforest v0.130.2701horae-tests-0.1.0> Compiling unic-langid v0.9.6702horae-tests-0.1.0> Compiling pulley-interpreter v43.0.2703horae-tests-0.1.0> Compiling axum-core v0.5.6704horae-tests-0.1.0> Compiling image v0.25.10705horae-tests-0.1.0> Compiling plist v1.10.0706horae-tests-0.1.0> Compiling bincode v1.3.3707horae-tests-0.1.0> Compiling quick-xml v0.38.4708horae-tests-0.1.0> Compiling wasmparser v0.245.1709horae-tests-0.1.0> Compiling warnings-macro v0.2.0710horae-tests-0.1.0> Compiling warnings v0.2.1711horae-tests-0.1.0> Compiling syntect v5.3.0712horae-tests-0.1.0> Compiling citationberg v0.7.0713horae-tests-0.1.0> Compiling cranelift-codegen-meta v0.130.2714horae-tests-0.1.0> Compiling toml v0.8.23715horae-tests-0.1.0> Compiling biblatex v0.12.0716horae-tests-0.1.0> Compiling chinese-number v0.7.8717horae-tests-0.1.0> Compiling icu_collator v2.2.1718horae-tests-0.1.0> Compiling futures v0.3.32719horae-tests-0.1.0> Compiling typst-utils v0.15.0720horae-tests-0.1.0> Compiling typst-timing v0.15.0721horae-tests-0.1.0> Compiling ecow v0.2.6722horae-tests-0.1.0> Compiling palette_derive v0.7.6723horae-tests-0.1.0> Compiling typst-syntax v0.15.0724horae-tests-0.1.0> Compiling palette v0.7.6725horae-tests-0.1.0> Compiling hayagriva v0.10.1726horae-tests-0.1.0> Compiling cranelift-codegen v0.130.2727horae-tests-0.1.0> Compiling codex v0.3.0728horae-tests-0.1.0> Compiling wasm-encoder v0.245.1729horae-tests-0.1.0> Compiling two-face v0.4.5730horae-tests-0.1.0> Compiling dioxus-signals v0.7.9731horae-tests-0.1.0> Compiling lipsum v0.9.1732horae-tests-0.1.0> Compiling object v0.38.1733horae-tests-0.1.0> Compiling chrono v0.4.45734horae-tests-0.1.0> Compiling darling_macro v0.21.3735horae-tests-0.1.0> Compiling typst-macros v0.15.0736horae-tests-0.1.0> Compiling darling v0.21.3737horae-tests-0.1.0> Compiling typst-library v0.15.0738horae-tests-0.1.0> Compiling wasmprinter v0.245.1739horae-tests-0.1.0> Compiling h2 v0.4.15740horae-tests-0.1.0> Compiling color v0.3.3741horae-tests-0.1.0> Compiling regalloc2 v0.15.1742horae-tests-0.1.0> Compiling serde_urlencoded v0.7.1743horae-tests-0.1.0> Compiling wasm-bindgen-macro v0.2.126744horae-tests-0.1.0> Compiling wasm-bindgen v0.2.126745horae-tests-0.1.0> Compiling hyper v1.10.1746horae-tests-0.1.0> Compiling peniko v0.6.1747horae-tests-0.1.0> Compiling wasmtime-environ v43.0.2748horae-tests-0.1.0> Compiling enumset_derive v0.15.0749horae-tests-0.1.0> Compiling guillotiere v0.7.0750horae-tests-0.1.0> Compiling const-serialize-macro v0.7.2751horae-tests-0.1.0> Compiling const-serialize v0.7.2752horae-tests-0.1.0> Compiling vello_common v0.0.8753horae-tests-0.1.0> Compiling enumset v1.1.13754horae-tests-0.1.0> Compiling hyper-util v0.1.20755horae-tests-0.1.0> Compiling futures-intrusive v0.5.0756horae-tests-0.1.0> Compiling js-sys v0.3.103757horae-tests-0.1.0> Compiling dioxus-hooks v0.7.9758horae-tests-0.1.0> Compiling hayro-interpret v0.7.0759horae-tests-0.1.0> Compiling icu_segmenter v2.2.0760horae-tests-0.1.0> Compiling tokio-stream v0.1.18761horae-tests-0.1.0> Compiling tower v0.5.3762horae-tests-0.1.0> Compiling icu_provider_blob v2.2.0763horae-tests-0.1.0> Compiling http v0.2.12764horae-tests-0.1.0> Compiling keyboard-types v0.7.0765horae-tests-0.1.0> Compiling dioxus-core-macro v0.7.9766horae-tests-0.1.0> Compiling serde_repr v0.1.20767horae-tests-0.1.0> Compiling const-serialize-macro v0.8.0-alpha.0768horae-tests-0.1.0> Compiling dioxus-html-internal-macro v0.7.9769horae-tests-0.1.0> Compiling sqlx-core v0.8.6770horae-tests-0.1.0> Compiling dioxus-html v0.7.9771horae-tests-0.1.0> Compiling typst-layout v0.15.0772horae-tests-0.1.0> Compiling vello_cpu v0.0.8773horae-tests-0.1.0> Compiling wit-parser v0.245.1774horae-tests-0.1.0> Compiling tungstenite v0.29.0775horae-tests-0.1.0> Compiling wasmtime-internal-fiber v43.0.2776horae-tests-0.1.0> Compiling wasmtime-internal-jit-debug v43.0.2777horae-tests-0.1.0> Compiling wasmtime-internal-wit-bindgen v43.0.2778horae-tests-0.1.0> Compiling tokio-tungstenite v0.29.0779horae-tests-0.1.0> Compiling hayro v0.7.1780horae-tests-0.1.0> Compiling dioxus-document v0.7.9781horae-tests-0.1.0> Compiling sqlx-postgres v0.8.6782horae-tests-0.1.0> Compiling h2 v0.3.27783horae-tests-0.1.0> Compiling http-body v0.4.6784horae-tests-0.1.0> Compiling web-sys v0.3.103785horae-tests-0.1.0> Compiling hayro-svg v0.7.0786horae-tests-0.1.0> Compiling wasmtime-internal-unwinder v43.0.2787horae-tests-0.1.0> Compiling cranelift-native v0.130.2788horae-tests-0.1.0> Compiling cranelift-frontend v0.130.2789horae-tests-0.1.0> Compiling tungstenite v0.28.0790horae-tests-0.1.0> Compiling wasmtime v43.0.2791horae-tests-0.1.0> Compiling witx v0.9.1792horae-tests-0.1.0> Compiling dioxus-history v0.7.9793horae-tests-0.1.0> Compiling async-compression v0.4.42794horae-tests-0.1.0> Compiling proc-macro-utils v0.10.0795horae-tests-0.1.0> Compiling multer v3.1.0796horae-tests-0.1.0> Compiling petgraph v0.6.5797horae-tests-0.1.0> Compiling itertools v0.14.0798horae-tests-0.1.0> Compiling axum-macros v0.5.1799horae-tests-0.1.0> Compiling darling_core v0.23.0800horae-tests-0.1.0> Compiling wasm-compose v0.245.1801horae-tests-0.1.0> Compiling wasmtime-internal-cranelift v43.0.2802horae-tests-0.1.0> Compiling axum v0.8.9803horae-tests-0.1.0> Compiling darling_macro v0.23.0804horae-tests-0.1.0> Compiling wiggle-generate v43.0.2805horae-tests-0.1.0> Compiling manyhow-macros v0.11.4806horae-tests-0.1.0> Compiling tower-http v0.6.11807horae-tests-0.1.0> Compiling dioxus-fullstack-core v0.7.9808horae-tests-0.1.0> Compiling hyper v0.14.32809horae-tests-0.1.0> Compiling sqlx-macros-core v0.8.6810horae-tests-0.1.0> Compiling typst-svg v0.15.0811horae-tests-0.1.0> Compiling wasmtime-internal-component-macro v43.0.2812horae-tests-0.1.0> Compiling const-serialize v0.8.0-alpha.0813horae-tests-0.1.0> Compiling wasm-bindgen-futures v0.4.76814horae-tests-0.1.0> Compiling wasmtime-internal-cache v43.0.2815horae-tests-0.1.0> Compiling addr2line v0.26.1816horae-tests-0.1.0> Compiling write-fonts v0.48.1817horae-tests-0.1.0> Compiling wasmtime-internal-jit-icache-coherence v43.0.2818horae-tests-0.1.0> Compiling tokio-rustls v0.26.4819horae-tests-0.1.0> Compiling tokio-rustls v0.24.1820horae-tests-0.1.0> Compiling publicsuffix v2.3.0821horae-tests-0.1.0> Compiling headers-core v0.3.0822horae-tests-0.1.0> Compiling tracing-subscriber v0.3.23823horae-tests-0.1.0> Compiling fxprof-processed-profile v0.8.1824horae-tests-0.1.0> Compiling cookie_store v0.22.1825horae-tests-0.1.0> Compiling headers v0.4.1826horae-tests-0.1.0> Compiling hyper-rustls v0.24.2827horae-tests-0.1.0> Compiling hyper-rustls v0.27.9828horae-tests-0.1.0> Compiling prost-derive v0.14.4829horae-tests-0.1.0> Compiling manganis-core v0.7.9830horae-tests-0.1.0> Compiling sqlx-macros v0.8.6831horae-tests-0.1.0> Compiling typst-html v0.15.0832horae-tests-0.1.0> Compiling subsetter v0.2.6833horae-tests-0.1.0> Compiling manyhow v0.11.4834horae-tests-0.1.0> Compiling wiggle-macro v43.0.2835horae-tests-0.1.0> Compiling darling v0.23.0836horae-tests-0.1.0> Compiling gloo-utils v0.2.0837horae-tests-0.1.0> Compiling tokio-tungstenite v0.28.0838horae-tests-0.1.0> Compiling tower-sessions-core v0.14.0839horae-tests-0.1.0> Compiling tungstenite v0.27.0840horae-tests-0.1.0> Compiling dioxus-devtools-types v0.7.9841horae-tests-0.1.0> Compiling tiny-skia v0.12.0842horae-tests-0.1.0> Compiling hayro-write v0.7.0843horae-tests-0.1.0> Compiling rgb v0.8.53844horae-tests-0.1.0> Compiling cbindgen v0.29.4845horae-tests-0.1.0> Compiling serde_qs v0.15.0846horae-tests-0.1.0> Compiling rmp-serde v1.3.1847horae-tests-0.1.0> Compiling dioxus-router-macro v0.7.9848horae-tests-0.1.0> Compiling derive_more-impl v2.1.1849horae-tests-0.1.0> Compiling async-stream-impl v0.3.6850horae-tests-0.1.0> Compiling macro-string v0.1.4851horae-tests-0.1.0> Compiling manganis-macro v0.7.9852horae-tests-0.1.0> Compiling extism v1.30.0853horae-tests-0.1.0> Compiling derive_more v2.1.1854horae-tests-0.1.0> Compiling wiggle v43.0.2855horae-tests-0.1.0> Compiling async-stream v0.3.6856horae-tests-0.1.0> Compiling dioxus-router v0.7.9857horae-tests-0.1.0> Compiling resvg v0.47.0858horae-tests-0.1.0> Compiling krilla v0.8.2859horae-tests-0.1.0> Compiling dioxus-devtools v0.7.9860horae-tests-0.1.0> Compiling sqlx v0.8.6861horae-tests-0.1.0> Compiling async-tungstenite v0.31.0862horae-tests-0.1.0> Compiling gloo-net v0.6.0863horae-tests-0.1.0> Compiling serde_with_macros v3.21.0864horae-tests-0.1.0> Compiling extism-convert-macros v1.30.0865horae-tests-0.1.0> Compiling typst-realize v0.15.0866horae-tests-0.1.0> Compiling prost v0.14.4867horae-tests-0.1.0> Compiling reqwest v0.12.28868horae-tests-0.1.0> Compiling reqwest v0.11.27869horae-tests-0.1.0> Compiling axum-extra v0.10.3870horae-tests-0.1.0> Compiling dioxus-logger v0.7.9871horae-tests-0.1.0> Compiling wasm-streams v0.4.2872horae-tests-0.1.0> Compiling typst-eval v0.15.0873horae-tests-0.1.0> Compiling dioxus-ssr v0.7.9874horae-tests-0.1.0> Compiling tracing-futures v0.2.5875horae-tests-0.1.0> Compiling dioxus-asset-resolver v0.7.9876horae-tests-0.1.0> Compiling ureq v2.12.1877horae-tests-0.1.0> Compiling cap-rand v3.4.5878horae-tests-0.1.0> Compiling num-bigint-dig v0.8.6879horae-tests-0.1.0> Compiling ureq-proto v0.6.0880horae-tests-0.1.0> Compiling dashmap v6.2.1881horae-tests-0.1.0> Compiling dioxus-fullstack-macro v0.7.9882horae-tests-0.1.0> Compiling dioxus-stores-macro v0.7.9883horae-tests-0.1.0> Compiling dioxus-server v0.7.9884horae-tests-0.1.0> Compiling rsa v0.9.10885horae-tests-0.1.0> Compiling ureq v3.3.0886horae-tests-0.1.0> Compiling dioxus-stores v0.7.9887horae-tests-0.1.0> Compiling dioxus-fullstack v0.7.9 (/build/source/vendor/dioxus-fullstack-0.7.9)888horae-tests-0.1.0> Compiling oauth2 v4.4.2889horae-tests-0.1.0> Compiling wasi-common v43.0.2890horae-tests-0.1.0> Compiling typst v0.15.0891horae-tests-0.1.0> Compiling extism-convert v1.30.0892horae-tests-0.1.0> Compiling serde_with v3.21.0893horae-tests-0.1.0> Compiling krilla-svg v0.8.1894horae-tests-0.1.0> Compiling manganis v0.7.9895horae-tests-0.1.0> Compiling tower-sessions-memory-store v0.14.0896horae-tests-0.1.0> Compiling typst-kit v0.15.0897horae-tests-0.1.0> Compiling tower-cookies v0.11.0898horae-tests-0.1.0> Compiling zip v2.4.2899horae-tests-0.1.0> Compiling itertools v0.10.5900horae-tests-0.1.0> Compiling serde-value v0.7.0901horae-tests-0.1.0> Compiling extism-manifest v1.30.0902horae-tests-0.1.0> Compiling serde_plain v1.0.2903horae-tests-0.1.0> Compiling clap_derive v4.6.1904horae-tests-0.1.0> Compiling openidconnect v3.5.0905horae-tests-0.1.0> Compiling rust_xlsxwriter v0.80.0906horae-tests-0.1.0> Compiling clap v4.6.1907horae-tests-0.1.0> Compiling tower-sessions v0.14.0908horae-tests-0.1.0> Compiling typst-as-lib v0.16.0909horae-tests-0.1.0> Compiling dioxus v0.7.9910horae-tests-0.1.0> Compiling typst-pdf v0.15.0911horae-tests-0.1.0> Compiling horae-core v0.1.0 (/build/source/crates/core)912horae-tests-0.1.0> Compiling tower-sessions-sqlx-store v0.15.0913horae-tests-0.1.0> Compiling serial_test_derive v3.5.0914horae-tests-0.1.0> Compiling serial_test v3.5.0