[INFO] fetching crate rusticprofile 0.2.48...
[INFO] testing rusticprofile-0.2.48 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate rusticprofile 0.2.48 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate rusticprofile 0.2.48
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rusticprofile 0.2.48
[INFO] tweaked toml for crates.io crate rusticprofile 0.2.48 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rusticprofile 0.2.48 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rusticprofile 0.2.48 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded jiff-tzdb v0.1.8
[INFO] [stderr]   Downloaded serde_yaml_ng v0.10.0
[INFO] [stderr]   Downloaded dirs v7.0.0
[INFO] [stderr]   Downloaded jiff-static v0.2.37
[INFO] [stderr]   Downloaded owo-colors v4.4.0
[INFO] [stderr]   Downloaded defmt-macros v1.1.1
[INFO] [stderr]   Downloaded clap_complete_nushell v4.6.2
[INFO] [stderr]   Downloaded toml v1.1.6+spec-1.1.0
[INFO] [stderr]   Downloaded clap_complete v4.6.10
[INFO] [stderr]   Downloaded defmt v1.1.1
[INFO] [stderr]   Downloaded jiff-core v0.1.0
[INFO] [stderr]   Downloaded jiff v0.2.37
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec
[INFO] running `Command { std: "docker" "start" "3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling jiff-core v0.1.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling owo-colors v4.4.0
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling clap_builder v4.6.7
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling jiff v0.2.37
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling dirs v7.0.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling toml v1.1.6+spec-1.1.0
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling clap v4.6.7
[INFO] [stderr]    Compiling clap_complete v4.6.10
[INFO] [stderr]    Compiling clap_complete_nushell v4.6.2
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling rusticprofile v0.2.48 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.32s
[INFO] running `Command { std: "docker" "inspect" "3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rusticprofile v0.2.48 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 13.07s
[INFO] running `Command { std: "docker" "inspect" "3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rusticprofile-12442fe8d90c9622)
[INFO] [stdout] 
[INFO] [stdout] running 384 tests
[INFO] [stdout] test cli::tests::a_run_can_be_asked_to_detach_its_console ... ok
[INFO] [stdout] test cli::tests::config_requires_a_mode ... ok
[INFO] [stdout] test cli::tests::completions_accepts_every_supported_shell ... ok
[INFO] [stdout] test cli::tests::status_takes_no_job_and_needs_no_name ... ok
[INFO] [stdout] test cli::tests::config_show_may_fall_back_to_the_default_job ... ok
[INFO] [stdout] test cli::tests::the_background_help_names_every_backend_that_emits_it ... ok
[INFO] [stdout] test cli::tests::run_defaults_to_actually_running ... ok
[INFO] [stdout] test cli::tests::plan_defaults_to_the_human_format ... ok
[INFO] [stdout] test cli::tests::the_removed_enable_flag_is_rejected_loudly ... ok
[INFO] [stdout] test cli::tests::unschedule_still_demands_an_explicit_name ... ok
[INFO] [stdout] test cli::tests::the_retention_command_states_that_it_changes_nothing ... ok
[INFO] [stdout] test cli::tests::scheduling_without_a_name_is_allowed_but_removal_is_not ... ok
[INFO] [stdout] test cli::tests::write_only_keeps_the_inspect_first_path ... ok
[INFO] [stdout] test config::example::tests::kind_selects_the_matching_text ... ok
[INFO] [stdout] test config::example::tests::rustic_example_carries_the_findings_that_cost_snapshots ... ok
[INFO] [stdout] test config::hosts::tests::matching_accepts_both_full_and_short_forms ... ok
[INFO] [stdout] test config::hosts::tests::matching_rejects_a_different_host ... ok
[INFO] [stdout] test config::example::tests::examples_are_static_text_with_placeholder_identifiers ... ok
[INFO] [stdout] test config::interp::tests::a_lone_dollar_is_literal ... ok
[INFO] [stdout] test config::interp::tests::a_malformed_date_format_fails_at_load_time_even_when_deferred ... ok
[INFO] [stdout] test config::interp::tests::an_unset_env_var_never_becomes_an_empty_string ... ok
[INFO] [stdout] test config::interp::tests::date_stays_literal_without_a_clock_and_resolves_with_one ... ok
[INFO] [stdout] test config::interp::tests::empty_names_are_rejected ... ok
[INFO] [stdout] test config::interp::tests::env_resolves_and_reports_unset_names ... ok
[INFO] [stdout] test config::interp::tests::every_simple_variable_resolves ... ok
[INFO] [stdout] test config::interp::tests::job_and_profile_are_errors_outside_a_job ... ok
[INFO] [stdout] test config::interp::tests::multibyte_text_survives ... ok
[INFO] [stdout] test config::interp::tests::text_around_references_is_preserved ... ok
[INFO] [stdout] test config::interp::tests::the_dollar_escape_produces_a_literal_reference ... ok
[INFO] [stdout] test config::interp::tests::the_variable_list_in_the_error_matches_what_actually_resolves ... ok
[INFO] [stdout] test config::example::tests::every_snapshot_set_in_the_example_has_a_label ... ok
[INFO] [stdout] test config::example::tests::rustic_example_is_valid_toml ... ok
[INFO] [stdout] test config::interp::tests::no_template_language_leaks_in ... ok
[INFO] [stdout] test config::interp::tests::unterminated_references_are_rejected ... ok
[INFO] [stdout] test cli::tests::completions_rejects_an_unknown_shell ... ok
[INFO] [stdout] test config::interp::tests::unknown_variables_are_rejected_with_the_valid_list ... ok
[INFO] [stdout] test config::interp::tests::unusual_but_valid_formats_are_accepted ... ok
[INFO] [stdout] test cli::tests::a_bare_invocation_asks_clap_for_help ... ok
[INFO] [stdout] test config::job::tests::a_template_directive_inside_a_comment_is_inert ... ok
[INFO] [stdout] test config::job::tests::a_minimal_job_parses ... ok
[INFO] [stdout] test cli::tests::cli_definition_is_valid ... ok
[INFO] [stdout] test config::paths::tests::a_relative_variable_is_ignored_rather_than_resolved ... ok
[INFO] [stdout] test config::paths::tests::an_absolute_variable_wins ... ok
[INFO] [stdout] test cli::tests::config_without_a_mode_shows_its_own_help ... ok
[INFO] [stdout] test config::paths::tests::an_unset_variable_falls_back_under_home ... ok
[INFO] [stdout] test config::job::tests::keys_are_kebab_case_not_snake_case ... ok
[INFO] [stdout] test config::job::tests::snapshot_sets_parse_with_and_without_host_gating ... ok
[INFO] [stdout] test config::paths::tests::an_empty_variable_is_the_same_as_unset ... ok
[INFO] [stdout] test config::paths::tests::profile_toml_appends_the_toml_suffix ... ok
[INFO] [stdout] test cli::tests::scheduling_arms_the_timer_by_default ... ok
[INFO] [stdout] test config::job::tests::an_unknown_top_level_key_is_a_hard_error ... ok
[INFO] [stdout] test config::job::tests::an_unknown_key_is_a_hard_error ... ok
[INFO] [stdout] test config::job::tests::an_unknown_operation_is_rejected ... ok
[INFO] [stdout] test config::example::tests::jobs_example_is_valid_yaml ... ok
[INFO] [stdout] test cli::tests::plan_accepts_the_lines_format ... ok
[INFO] [stdout] test config::paths::tests::the_fallback_uses_this_platforms_separator_throughout ... ok
[INFO] [stdout] test config::hosts::tests::short_strips_the_domain_part ... ok
[INFO] [stdout] test config::rustic_toml::tests::a_pinned_backup_host_is_read ... ok
[INFO] [stdout] test config::rustic_toml::tests::a_missing_file_is_distinguishable_from_a_broken_one ... ok
[INFO] [stdout] test config::paths::tests::the_config_and_state_trees_are_distinct_on_every_platform ... ok
[INFO] [stdout] test config::rustic_toml::tests::an_empty_filter_list_does_not_count_as_scoping ... ok
[INFO] [stdout] test cli::tests::config_check_parses_with_its_options ... ok
[INFO] [stdout] test config::rustic_toml::tests::a_profile_with_no_filters_is_unscoped ... ok
[INFO] [stdout] test config::rustic_toml::tests::entries_without_a_name_are_skipped ... ok
[INFO] [stdout] test config::schedule::tests::an_unknown_field_is_rejected ... ok
[INFO] [stdout] test config::rustic_toml::tests::unrelated_rustic_keys_are_ignored_not_rejected ... ok
[INFO] [stdout] test config::schedule::tests::an_unknown_interval_is_rejected ... ok
[INFO] [stdout] test config::schedule::tests::permission_and_priority_default_to_the_conservative_choice ... ok
[INFO] [stdout] test config::rustic_toml::tests::reads_names_in_declaration_order ... ok
[INFO] [stdout] test config::rustic_toml::tests::filter_jq_counts_as_scoping ... ok
[INFO] [stdout] test config::rustic_toml::tests::without_a_pin_the_recorded_host_is_the_machine ... ok
[INFO] [stdout] test config::rustic_toml::tests::filters_under_forget_are_reported_as_misplaced ... ok
[INFO] [stdout] test config::schedule::tests::all_intervals_parse ... ok
[INFO] [stdout] test config::tests::a_date_reference_in_a_log_path_stays_deferred ... ok
[INFO] [stdout] test cli::tests::plan_may_fall_back_to_the_default_job ... ok
[INFO] [stdout] test config::tests::every_violation_is_reported_in_one_pass ... ok
[INFO] [stdout] test config::tests::defaults_may_not_reference_job_or_profile ... ok
[INFO] [stdout] test config::tests::the_rustic_binary_defaults_and_can_be_overridden ... ok
[INFO] [stdout] test config::tests::a_dotted_hostname_matches_its_short_form ... ok
[INFO] [stdout] test cli::tests::run_may_fall_back_to_the_default_job ... ok
[INFO] [stdout] test config::tests::declared_count_survives_gating ... ok
[INFO] [stdout] test config::validate::tests::a_filter_listing_this_host_among_others_is_accepted ... ok
[INFO] [stdout] test config::validate::tests::a_dollar_variable_source_is_refused_in_both_spellings ... ok
[INFO] [stdout] test config::tests::all_sets_gated_away_is_an_error_not_an_accidental_full_backup ... ok
[INFO] [stdout] test config::tests::snapshot_sets_are_gated_per_host ... ok
[INFO] [stdout] test config::validate::tests::a_forget_only_job_does_not_read_sources ... ok
[INFO] [stdout] test config::validate::tests::a_filter_that_ignores_the_pin_is_refused_and_blames_the_pin ... ok
[INFO] [stdout] test config::validate::tests::a_good_config_produces_no_violations ... ok
[INFO] [stdout] test config::validate::tests::a_scoped_forget_with_explicit_grouping_is_accepted ... ok
[INFO] [stdout] test config::rustic_toml::tests::scoping_filters_are_read_from_snapshot_filter ... ok
[INFO] [stdout] test config::example::tests::the_two_examples_agree_on_snapshot_set_names ... ok
[INFO] [stdout] test config::validate::tests::a_short_hostname_against_a_dotted_host_is_refused_and_explained ... ok
[INFO] [stdout] test config::validate::tests::a_snapshot_set_name_may_not_look_like_a_flag ... ok
[INFO] [stdout] test config::validate::tests::a_job_without_forget_is_not_subjected_to_the_rule ... ok
[INFO] [stdout] test config::validate::tests::a_snapshot_set_missing_from_the_profile_is_rejected ... ok
[INFO] [stdout] test config::validate::tests::a_wrong_filter_host_is_not_reported_when_we_override_it ... ok
[INFO] [stdout] test config::validate::tests::a_profile_with_no_named_entries_is_reported_once_not_per_set ... ok
[INFO] [stdout] test config::validate::tests::an_empty_enabled_on_hosts_is_rejected ... ok
[INFO] [stdout] test config::validate::tests::an_empty_job_list_is_rejected ... ok
[INFO] [stdout] test config::tests::log_paths_interpolate_and_must_be_absolute ... ok
[INFO] [stdout] test config::validate::tests::a_filter_naming_only_other_hosts_is_refused ... ok
[INFO] [stdout] test config::validate::tests::a_pinned_host_is_what_filter_hosts_must_match_not_the_machine_name ... ok
[INFO] [stdout] test config::validate::tests::a_tilde_source_is_refused ... ok
[INFO] [stdout] test config::validate::tests::an_absent_filter_is_left_to_the_scoping_check ... ok
[INFO] [stdout] test config::tests::host_gating_removes_the_job_entirely ... ok
[INFO] [stdout] test config::validate::tests::a_backup_only_job_is_not_checked ... ok
[INFO] [stdout] test config::validate::tests::all_declared_names_are_checked_even_when_gated_to_another_host ... ok
[INFO] [stdout] test config::validate::tests::an_implicit_group_by_is_refused ... ok
[INFO] [stdout] test config::validate::tests::absolute_sources_are_accepted ... ok
[INFO] [stdout] test config::validate::tests::an_unreadable_profile_blocks_a_forget_rather_than_being_skipped ... ok
[INFO] [stdout] test config::validate::tests::an_unscoped_forget_is_accepted_when_we_supply_the_scope ... ok
[INFO] [stdout] test config::tests::unreadable_and_malformed_files_report_as_violations ... ok
[INFO] [stdout] test config::validate::tests::an_unnamed_snapshot_set_is_still_checked ... ok
[INFO] [stdout] test config::validate::tests::an_unscoped_forget_is_refused ... ok
[INFO] [stdout] test config::validate::tests::every_bad_source_is_reported_at_once ... ok
[INFO] [stdout] test config::validate::tests::the_short_form_hint_is_only_given_when_it_applies ... ok
[INFO] [stdout] test config::validate::tests::an_unscoped_forget_is_still_refused_when_deferring_to_rustic ... ok
[INFO] [stdout] test config::validate::tests::duplicate_operations_and_duplicate_set_names_are_rejected ... ok
[INFO] [stdout] test config::validate::tests::snapshot_sets_without_a_backup_operation_are_rejected ... ok
[INFO] [stdout] test doctor::repository::tests::an_empty_label_counts_as_unlabelled ... ok
[INFO] [stdout] test config::validate::tests::the_message_names_the_set_and_the_offending_path ... ok
[INFO] [stdout] test config::validate::tests::filters_written_under_forget_are_refused_as_well_as_not_counted ... ok
[INFO] [stdout] test config::validate::tests::job_and_profile_names_must_be_filename_safe ... ok
[INFO] [stdout] test config::validate::tests::singular_and_plural_are_both_right ... ok
[INFO] [stdout] test config::validate::tests::the_display_impl_prints_every_violation_together ... ok
[INFO] [stdout] test config::validate::tests::the_short_form_hint_now_offers_pinning_as_the_other_fix ... ok
[INFO] [stdout] test doctor::repository::tests::a_clean_cutover_does_not_warn_despite_a_mix ... ok
[INFO] [stdout] test doctor::schedules::tests::an_enabled_line_parses_as_enabled ... ok
[INFO] [stdout] test doctor::repository::tests::a_host_that_never_migrated_is_not_a_conflict ... ok
[INFO] [stdout] test doctor::schedules::tests::our_own_timer_is_skipped ... ok
[INFO] [stdout] test doctor::repository::tests::an_unlabelled_snapshot_after_the_cutover_warns ... ok
[INFO] [stdout] test doctor::repository::tests::the_grouped_json_shape_is_flattened ... ok
[INFO] [stdout] test doctor::schedules::tests::a_blank_line_is_not_a_schedule ... ok
[INFO] [stdout] test config::validate::tests::without_a_pin_the_os_hostname_is_still_the_target ... ok
[INFO] [stdout] test config::validate::tests::a_job_without_snapshot_sets_needs_no_profile_on_disk ... ok
[INFO] [stdout] test doctor::tests::a_present_secret_passes ... ok
[INFO] [stdout] test config::validate::tests::violations_are_batched_not_reported_one_at_a_time ... ok
[INFO] [stdout] test doctor::tests::a_relative_password_file_is_not_stat_ed ... ok
[INFO] [stdout] test doctor::tests::an_enabled_one_warns ... ok
[INFO] [stdout] test doctor::tests::an_unreadable_profile_is_left_to_config_check ... ok
[INFO] [stdout] test doctor::schedules::tests::the_predecessors_backup_timer_is_skipped ... ok
[INFO] [stdout] test doctor::tests::could_not_tell_is_not_ok ... ok
[INFO] [stdout] test doctor::repository::tests::hosts_are_judged_independently ... ok
[INFO] [stdout] test doctor::repository::tests::malformed_json_is_an_error_not_an_empty_clean_result ... ok
[INFO] [stdout] test doctor::schedules::tests::an_unrecognised_state_word_is_indeterminate_not_disabled ... ok
[INFO] [stdout] test config::tests::exactly_one_host_gets_the_prune_job ... ok
[INFO] [stdout] test doctor::tests::matching_is_case_insensitive_for_the_windows_task_name ... ok
[INFO] [stdout] test doctor::schedules::tests::the_prune_hosts_real_line_parses_as_disabled ... ok
[INFO] [stdout] test doctor::tests::nothing_found_is_the_clean_answer ... ok
[INFO] [stdout] test doctor::units::tests::a_partial_install_warns ... ok
[INFO] [stdout] test doctor::units::tests::a_stale_job_outranks_an_unreadable_one ... ok
[INFO] [stdout] test doctor::units::tests::a_blank_line_or_indentation_difference_is_not_a_directive_change ... ok
[INFO] [stdout] test doctor::units::tests::identical_units_are_ok ... ok
[INFO] [stdout] test doctor::tests::one_enabled_among_disabled_still_warns ... ok
[INFO] [stdout] test doctor::tests::installed_but_disabled_is_ok_and_still_reported ... ok
[INFO] [stdout] test doctor::tests::our_own_prune_timer_is_not_the_predecessor ... ok
[INFO] [stdout] test doctor::units::tests::a_changed_directive_warns_and_names_the_line ... ok
[INFO] [stdout] test config::validate::tests::a_filter_naming_this_host_is_accepted ... ok
[INFO] [stdout] test config::validate::tests::a_variable_anywhere_in_the_path_is_refused ... ok
[INFO] [stdout] test doctor::tests::password_command_is_reported_as_better_not_as_unchecked ... ok
[INFO] [stdout] test doctor::tests::the_predecessors_backup_timer_is_not_a_prune ... ok
[INFO] [stdout] test doctor::units::tests::a_comment_only_difference_is_ok_and_says_so ... ok
[INFO] [stdout] test doctor::units::tests::an_unreadable_unit_is_unknown_never_ok ... ok
[INFO] [stdout] test doctor::units::tests::an_unterminated_xml_comment_does_not_swallow_the_rest ... ok
[INFO] [stdout] test exec::outcome::tests::captured_stdout_round_trips ... ok
[INFO] [stdout] test doctor::units::tests::xml_comments_are_ignored_including_across_lines ... ok
[INFO] [stdout] test exec::env::tests::an_empty_environment_yields_nothing_rather_than_erroring ... ok
[INFO] [stdout] test exec::outcome::tests::descriptions_cover_every_ending ... ok
[INFO] [stdout] test doctor::units::tests::nothing_installed_is_ok_rather_than_a_defect ... ok
[INFO] [stdout] test exec::redact::tests::a_secret_argument_is_masked_in_both_forms ... ok
[INFO] [stdout] test exec::redact::tests::an_ordinary_argv_is_untouched ... ok
[INFO] [stdout] test exec::outcome::tests::exit_zero_is_recognised ... ok
[INFO] [stdout] test exec::redact::tests::a_password_command_is_masked_even_though_it_is_not_obviously_a_secret ... ok
[INFO] [stdout] test exec::redact::tests::show_secrets_disables_masking ... ok
[INFO] [stdout] test exec::redact::tests::show_secrets_leaves_the_argv_intact ... ok
[INFO] [stdout] test exec::redact::tests::the_marker_does_not_leak_the_length ... ok
[INFO] [stdout] test exec::redact::tests::values_holding_a_secret_are_masked ... ok
[INFO] [stdout] test doctor::units::tests::reordered_lines_are_a_change ... ok
[INFO] [stdout] test exec::env::tests::a_leftover_restic_variable_is_shown ... ok
[INFO] [stdout] test exec::env::tests::rustic_and_backend_variables_are_relevant ... ok
[INFO] [stdout] test exec::redact::tests::values_naming_a_location_are_shown ... ok
[INFO] [stdout] test exec::tests::a_dropped_guard_would_not_serialise_anything ... ok
[INFO] [stdout] test exec::redact::tests::masking_only_consumes_the_argument_that_follows_the_flag ... ok
[INFO] [stdout] test exec::redact::tests::matching_is_case_insensitive ... ok
[INFO] [stdout] test doctor::repository::tests::no_snapshots_at_all_is_not_a_warning ... ok
[INFO] [stdout] test exec::outcome::tests::uncaptured_stdout_is_none_not_empty ... ok
[INFO] [stdout] test report::json::tests::a_run_emits_valid_json_with_a_schema ... ok
[INFO] [stdout] test report::json::tests::a_stopped_job_names_what_it_skipped ... ok
[INFO] [stdout] test report::json::tests::skipped_is_present_even_when_empty ... ok
[INFO] [stdout] test report::json::tests::the_argv_is_emitted_so_a_run_can_be_reproduced ... ok
[INFO] [stdout] test report::json::tests::the_json_reports_the_service_managers_own_value_not_the_rendered_one ... ok
[INFO] [stdout] test report::json::tests::unknown_state_stays_null_rather_than_false ... ok
[INFO] [stdout] test report::tests::a_recorded_stamp_renders_the_way_a_service_manager_reports_next_run ... ok
[INFO] [stdout] test report::tests::a_rustic_stamp_this_version_cannot_read_is_printed_rather_than_dropped ... ok
[INFO] [stdout] test report::tests::a_rustic_timestamp_is_readable_and_the_record_parser_cannot_read_one ... ok
[INFO] [stdout] test report::tests::a_stamp_this_version_cannot_read_is_printed_rather_than_dropped ... ok
[INFO] [stdout] test report::tests::a_stamp_written_by_the_runner_is_one_this_can_read ... ok
[INFO] [stdout] test report::tests::every_verdict_has_a_distinct_label ... ok
[INFO] [stdout] test report::tests::only_a_stamp_in_the_recorded_shape_is_accepted_from_another_tool ... ok
[INFO] [stdout] test exec::tests::a_failing_child_reports_its_code_rather_than_erroring ... ok
[INFO] [stdout] test report::tests::the_rendered_form_carries_the_same_instant_as_the_record ... ok
[INFO] [stdout] test exec::env::tests::selection_is_sorted_and_filtered ... ok
[INFO] [stdout] test exec::env::tests::unrelated_variables_are_not_shown ... ok
[INFO] [stdout] test run::lock::tests::a_lock_can_be_taken_and_is_released_on_drop ... ok
[INFO] [stdout] test run::lock::tests::the_repository_lock_budget_is_absent_not_fabricated ... ok
[INFO] [stdout] test run::lock::tests::a_second_holder_is_refused_rather_than_queued ... ok
[INFO] [stdout] test exec::tests::a_successful_run_reports_exit_zero ... ok
[INFO] [stdout] test run::log::tests::a_record_carries_the_time_verdict_job_and_host ... ok
[INFO] [stdout] test report::tests::without_a_zone_database_the_recorded_offset_is_kept_rather_than_shifted_to_utc ... ok
[INFO] [stdout] test run::log::tests::a_write_failure_names_the_path ... ok
[INFO] [stdout] test run::log::tests::skipped_operations_are_written_not_omitted ... ok
[INFO] [stdout] test run::log::tests::no_ansi_escapes_reach_the_file ... ok
[INFO] [stdout] test run::status::tests::a_corrupt_record_reads_as_absent_rather_than_erroring ... ok
[INFO] [stdout] test run::lock::tests::different_jobs_do_not_block_each_other ... ok
[INFO] [stdout] test config::validate::tests::a_missing_profile_is_reported_with_the_path_tried ... ok
[INFO] [stdout] test doctor::tests::a_missing_secret_warns_and_names_the_key ... ok
[INFO] [stdout] test doctor::units::tests::a_hash_line_in_xml_is_content_not_a_comment ... ok
[INFO] [stdout] test run::log::tests::appending_creates_the_parent_and_never_truncates ... ok
[INFO] [stdout] test run::status::tests::skipped_operations_are_recorded ... ok
[INFO] [stdout] test run::log::tests::the_argv_is_recorded_so_a_run_can_be_reproduced ... ok
[INFO] [stdout] test run::status::tests::a_partial_counts_as_a_success ... ok
[INFO] [stdout] test run::steps::tests::only_a_plain_failure_is_retried ... ok
[INFO] [stdout] test run::status::tests::a_failure_carries_the_previous_success_forward ... ok
[INFO] [stdout] test run::status::tests::a_first_run_records_both_timestamps ... ok
[INFO] [stdout] test run::steps::tests::a_partial_job_exits_zero_but_a_failed_one_does_not ... ok
[INFO] [stdout] test run::status::tests::a_record_survives_a_round_trip ... ok
[INFO] [stdout] test run::steps::tests::skipped_operations_are_recorded_rather_than_omitted ... ok
[INFO] [stdout] test exec::tests::a_forwarded_signal_reaches_the_child ... ok
[INFO] [stdout] test rustic::exit::tests::a_backup_that_saved_nothing_is_a_failure ... ok
[INFO] [stdout] test rustic::exit::tests::a_backup_with_no_names_requested_reports_what_it_saved ... ok
[INFO] [stdout] test exec::tests::an_empty_argv_is_rejected ... ok
[INFO] [stdout] test exec::tests::a_missing_program_is_an_io_error ... ok
[INFO] [stdout] test rustic::exit::tests::a_partial_backup_continues_so_retention_still_runs ... ok
[INFO] [stdout] test rustic::exit::tests::a_clean_backup_is_a_success ... ok
[INFO] [stdout] test rustic::exit::tests::a_dry_run_does_not_claim_anything_was_saved ... ok
[INFO] [stdout] test rustic::exit::tests::a_signal_death_is_a_failure_not_a_partial ... ok
[INFO] [stdout] test rustic::exit::tests::an_interrupt_stops_the_job ... ok
[INFO] [stdout] test rustic::exit::tests::concatenated_objects_are_counted_correctly ... ok
[INFO] [stdout] test rustic::exit::tests::counting_handles_none_one_and_many ... ok
[INFO] [stdout] test rustic::exit::tests::forget_and_prune_are_judged_on_the_exit_code_alone ... ok
[INFO] [stdout] test rustic::exit::tests::trailing_garbage_does_not_discard_what_was_already_read ... ok
[INFO] [stdout] test rustic::exit::tests::uncaptured_output_is_reported_rather_than_guessed_at ... ok
[INFO] [stdout] test rustic::exit::tests::unparseable_output_is_treated_as_no_evidence ... ok
[INFO] [stdout] test rustic::invoke::tests::a_job_plans_one_invocation_per_operation_in_order ... ok
[INFO] [stdout] test rustic::invoke::tests::a_query_adds_only_the_profile_and_the_operation ... ok
[INFO] [stdout] test rustic::invoke::tests::a_retention_preview_emits_no_flag_this_tool_does_not_own ... ok
[INFO] [stdout] test rustic::invoke::tests::arguments_are_separate_argv_elements_not_a_command_string ... ok
[INFO] [stdout] test rustic::invoke::tests::a_retention_preview_scopes_to_this_host_when_the_tool_owns_the_name ... ok
[INFO] [stdout] test run::steps::tests::nothing_is_retried_unless_a_budget_was_asked_for ... ok
[INFO] [stdout] test run::steps::tests::an_empty_job_is_a_success_not_a_failure ... ok
[INFO] [stdout] test run::steps::tests::the_job_verdict_is_the_worst_of_its_steps ... ok
[INFO] [stdout] test rustic::invoke::tests::a_retention_preview_is_always_a_dry_run ... ok
[INFO] [stdout] test run::steps::tests::the_retry_budget_is_finite ... ok
[INFO] [stdout] test rustic::invoke::tests::backup_without_sets_passes_no_name_at_all ... ok
[INFO] [stdout] test run::steps::tests::the_wait_is_sized_for_a_resume_not_for_an_outage ... ok
[INFO] [stdout] test rustic::invoke::tests::caller_arguments_pass_through_verbatim_and_last ... ok
[INFO] [stdout] test rustic::invoke::tests::lines_renders_one_element_per_line ... ok
[INFO] [stdout] test rustic::invoke::tests::planning_is_pure_and_repeatable ... ok
[INFO] [stdout] test rustic::invoke::tests::the_binary_is_argv0_and_is_taken_from_config ... ok
[INFO] [stdout] test rustic::invoke::tests::the_preview_is_the_real_forget_plus_exactly_two_output_flags ... ok
[INFO] [stdout] test rustic::invoke::tests::the_recorded_host_is_a_backup_flag_and_a_filter_everywhere_else ... ok
[INFO] [stdout] test rustic::invoke::tests::deferring_to_rustic_emits_no_hostname_flag_at_all ... ok
[INFO] [stdout] test rustic::retention::tests::a_datetime_target_keeps_its_time_of_day ... ok
[INFO] [stdout] test rustic::invoke::tests::forget_and_prune_never_take_name ... ok
[INFO] [stdout] test rustic::invoke::tests::no_argv_carries_a_secret_flag ... ok
[INFO] [stdout] test rustic::exit::tests::a_partial_backup_never_looks_partial_for_forget ... ok
[INFO] [stdout] test rustic::invoke::tests::the_only_flags_emitted_are_the_ones_this_tool_owns ... ok
[INFO] [stdout] test rustic::retention::tests::a_target_carrying_its_own_offset_is_not_reinterpreted ... ok
[INFO] [stdout] test rustic::retention::tests::a_target_outside_the_history_reports_the_missing_side_rather_than_the_nearest ... ok
[INFO] [stdout] test rustic::retention::tests::a_gap_is_described_in_two_units_at_most ... ok
[INFO] [stdout] test rustic::retention::tests::a_group_key_reports_only_the_criteria_rustic_grouped_by ... ok
[INFO] [stdout] test rustic::retention::tests::a_real_backups_nanoseconds_are_readable ... ok
[INFO] [stdout] test exec::tests::arguments_reach_the_child_byte_for_byte ... ok
[INFO] [stdout] test rustic::retention::tests::a_snapshot_the_policy_would_remove_is_still_offered_as_a_target ... ok
[INFO] [stdout] test rustic::retention::tests::a_target_date_finds_the_snapshots_either_side_of_it ... ok
[INFO] [stdout] test rustic::invoke::tests::backup_emits_one_name_per_snapshot_set ... ok
[INFO] [stdout] test rustic::retention::tests::one_snapshot_holds_several_slots_at_once ... ok
[INFO] [stdout] test rustic::retention::tests::nanoseconds_decide_the_order_when_two_snapshots_share_a_second ... ok
[INFO] [stdout] test rustic::retention::tests::no_grouping_at_all_is_named_rather_than_left_blank ... ok
[INFO] [stdout] test rustic::retention::tests::ordering_uses_the_instant_and_not_the_string ... ok
[INFO] [stdout] test rustic::retention::tests::repository_content_reaches_the_key_unaltered ... ok
[INFO] [stdout] test rustic::retention::tests::several_groups_are_kept_apart ... ok
[INFO] [stdout] test rustic::retention::tests::reasons_keep_rustics_own_order_and_wording ... ok
[INFO] [stdout] test rustic::retention::tests::an_unlabelled_group_says_so_rather_than_printing_a_gap ... ok
[INFO] [stdout] test rustic::retention::tests::malformed_output_is_reported_rather_than_treated_as_no_snapshots ... ok
[INFO] [stdout] test schedule::calendar::tests::every_interval_maps_to_a_systemd_shorthand ... ok
[INFO] [stdout] test schedule::calendar::tests::folding_the_same_number_gives_the_same_offset ... ok
[INFO] [stdout] test schedule::calendar::tests::the_delay_never_reaches_the_next_run ... ok
[INFO] [stdout] test schedule::calendar::tests::the_rendered_value_is_a_bare_seconds_count ... ok
[INFO] [stdout] test schedule::calendar::tests::the_spread_window_is_never_zero ... ok
[INFO] [stdout] test schedule::calendar::tests::the_spread_window_is_the_systemd_delay_in_minutes ... ok
[INFO] [stdout] test rustic::retention::tests::an_unreadable_target_is_refused_rather_than_guessed ... ok
[INFO] [stdout] test rustic::retention::tests::an_unreadable_timestamp_never_becomes_the_newest_answer ... ok
[INFO] [stdout] test report::tests::a_locale_free_instant_is_rendered_and_a_locale_formatted_one_is_left_alone ... ok
[INFO] [stdout] test schedule::install::tests::a_first_install_takes_the_offset_it_is_given ... ok
[INFO] [stdout] test report::tests::the_spread_window_is_stated_only_when_the_caller_supplies_one ... ok
[INFO] [stdout] test rustic::retention::tests::a_removal_carries_no_reason_and_is_counted_separately ... ok
[INFO] [stdout] test schedule::install::tests::launchctl_argv_starts_with_the_binary_and_passes_arguments_through ... ok
[INFO] [stdout] test schedule::install::tests::removing_an_agent_reports_what_it_deleted_and_is_safe_to_repeat ... ok
[INFO] [stdout] test schedule::install::tests::one_agent_is_written_where_systemd_needs_two_units ... ok
[INFO] [stdout] test schedule::install::tests::a_low_resolution_clock_would_still_degenerate_which_is_why_the_seed_is_not_one ... ok
[INFO] [stdout] test schedule::install::tests::removing_one_agent_leaves_another_alone ... ok
[INFO] [stdout] test schedule::install::tests::changing_the_schedule_still_rewrites_the_agent ... ok
[INFO] [stdout] test schedule::install::tests::removing_one_job_leaves_another_alone ... ok
[INFO] [stdout] test rustic::retention::tests::snapshots_are_ordered_oldest_first ... ok
[INFO] [stdout] test schedule::install::tests::changing_the_schedule_is_detected ... ok
[INFO] [stdout] test schedule::install::tests::the_user_domain_is_the_gui_one_and_system_is_not_scoped_to_a_uid ... ok
[INFO] [stdout] test rustic::retention::tests::the_newest_holder_of_each_slot_is_reported ... ok
[INFO] [stdout] test schedule::install::tests::rewriting_reuses_the_installed_offset_and_reports_no_change ... ok
[INFO] [stdout] test schedule::install::tests::user_scope_adds_the_user_flag_and_system_scope_does_not ... ok
[INFO] [stdout] test rustic::retention::tests::the_snapshots_key_from_the_other_command_is_not_silently_read_as_empty ... ok
[INFO] [stdout] test schedule::launchd::tests::a_value_cannot_break_out_of_the_xml ... ok
[INFO] [stdout] test schedule::install::tests::the_offset_seed_actually_spreads ... ok
[INFO] [stdout] test schedule::install::tests::writing_creates_both_units_and_reports_a_change ... ok
[INFO] [stdout] test schedule::install::tests::removing_reports_what_it_deleted_and_is_safe_to_repeat ... ok
[INFO] [stdout] test schedule::launchd::tests::a_reused_offset_is_still_clamped_to_the_window ... ok
[INFO] [stdout] test schedule::calendar::tests::an_offset_always_lands_inside_its_own_window ... ok
[INFO] [stdout] test schedule::calendar::tests::the_delay_is_non_zero_for_every_interval ... ok
[INFO] [stdout] test schedule::install::tests::writing_the_same_content_twice_reports_no_change ... ok
[INFO] [stdout] test schedule::install::tests::writing_creates_a_missing_unit_directory ... ok
[INFO] [stdout] test schedule::launchd::tests::every_path_in_the_agent_is_absolute ... ok
[INFO] [stdout] test schedule::launchd::tests::generation_is_pure ... ok
[INFO] [stdout] test schedule::launchd::tests::no_agent_ever_contains_a_date ... ok
[INFO] [stdout] test schedule::launchd::tests::the_agent_invokes_the_job_by_name_with_absolute_paths ... ok
[INFO] [stdout] test schedule::launchd::tests::the_agent_neither_runs_at_load_nor_stays_alive ... ok
[INFO] [stdout] test run::status::tests::writing_leaves_no_temporary_file_behind ... ok
[INFO] [stdout] test exec::tests::signalling_with_no_child_registered_is_a_no_op ... ok
[INFO] [stdout] test exec::tests::capture_returns_stdout_and_inherit_does_not ... ok
[INFO] [stdout] test schedule::launchd::tests::an_unreadable_plist_yields_no_offset_rather_than_a_wrong_one ... ok
[INFO] [stdout] test schedule::launchd::tests::an_installed_offset_can_be_read_back_so_rescheduling_is_idempotent ... ok
[INFO] [stdout] test schedule::launchd::tests::background_priority_lands_in_the_agent_not_in_process ... ok
[INFO] [stdout] test schedule::launchd::tests::standard_priority_emits_nothing_rather_than_nice_zero ... ok
[INFO] [stdout] test schedule::install::tests::agent_status_reports_a_missing_plist_without_consulting_launchd ... ok
[INFO] [stdout] test schedule::launchd::tests::the_calendar_matches_the_systemd_base_instants ... ok
[INFO] [stdout] test schedule::launchd::tests::monday_is_weekday_one_not_zero ... ok
[INFO] [stdout] test schedule::launchd::tests::the_generated_plist_is_one_launchd_accepts ... ok
[INFO] [stdout] test schedule::schtasks::tests::a_path_with_a_space_survives_into_the_arguments_as_one_argument ... ok
[INFO] [stdout] test schedule::schtasks::tests::an_installed_offset_can_be_read_back_so_rescheduling_is_idempotent ... ok
[INFO] [stdout] test schedule::launchd::tests::the_label_and_file_name_are_namespaced_and_derived_from_the_job ... ok
[INFO] [stdout] test schedule::schtasks::tests::both_priorities_are_emitted_because_silence_would_not_mean_normal ... ok
[INFO] [stdout] test schedule::schtasks::tests::an_unreadable_definition_yields_no_offset_rather_than_a_wrong_one ... ok
[INFO] [stdout] test schedule::install::tests::agent_status_sees_the_plist_once_written_and_never_invents_a_next_run ... ok
[INFO] [stdout] test schedule::schtasks::tests::a_reused_offset_is_still_clamped_to_the_window ... ok
[INFO] [stdout] test schedule::schtasks::tests::every_scheduled_run_is_detached_from_its_console ... ok
[INFO] [stdout] test schedule::launchd::tests::the_offset_reaches_the_plist ... ok
[INFO] [stdout] test schedule::launchd::tests::user_agents_and_system_daemons_go_to_different_directories ... ok
[INFO] [stdout] test schedule::schtasks::tests::a_value_cannot_break_out_of_the_xml ... ok
[INFO] [stdout] test schedule::schtasks::tests::a_missed_run_is_caught_up_and_no_execution_limit_can_kill_a_backup ... ok
[INFO] [stdout] test schedule::schtasks::tests::arguments_are_quoted_by_the_msvcrt_rules ... ok
[INFO] [stdout] test schedule::schtasks::tests::the_battery_defaults_are_overridden_because_they_would_stop_backups_silently ... ok
[INFO] [stdout] test schedule::schtasks::tests::no_task_ever_contains_todays_date ... ok
[INFO] [stdout] test schedule::schtasks::tests::the_calendar_matches_the_other_backends_base_instants ... ok
[INFO] [stdout] test schedule::schtasks::tests::the_console_flag_is_ours_and_never_reaches_rustic ... ok
[INFO] [stdout] test schedule::schtasks::tests::the_offset_reaches_every_start_boundary ... ok
[INFO] [stdout] test schedule::schtasks::tests::the_spread_is_the_same_window_the_other_backends_use ... ok
[INFO] [stdout] test schedule::schtasks::tests::the_task_invokes_the_job_by_name_with_absolute_paths ... ok
[INFO] [stdout] test schedule::schtasks::tests::the_task_name_is_namespaced_under_a_folder ... ok
[INFO] [stdout] test schedule::schtasks::tests::the_task_neither_runs_on_registration_nor_wakes_the_machine ... ok
[INFO] [stdout] test schedule::schtasks::tests::user_and_system_tasks_name_different_principals ... ok
[INFO] [stdout] test schedule::systemd::tests::background_priority_lands_in_the_unit_not_in_process ... ok
[INFO] [stdout] test schedule::systemd::tests::every_path_in_the_unit_is_absolute ... ok
[INFO] [stdout] test schedule::systemd::tests::generation_is_pure ... ok
[INFO] [stdout] test schedule::systemd::tests::no_unit_ever_contains_a_date ... ok
[INFO] [stdout] test schedule::systemd::tests::only_the_timer_declares_where_it_installs ... ok
[INFO] [stdout] test schedule::schtasks::tests::generation_is_pure ... ok
[INFO] [stdout] test schedule::systemd::tests::standard_priority_emits_nothing_rather_than_nice_zero ... ok
[INFO] [stdout] test schedule::schtasks::tests::hourly_is_twenty_four_plain_triggers_and_never_a_repetition ... ok
[INFO] [stdout] test schedule::systemd::tests::the_timer_points_at_its_own_service ... ok
[INFO] [stdout] test schedule::systemd::tests::the_service_has_no_install_section ... ok
[INFO] [stdout] test schedule::systemd::tests::unit_names_are_namespaced_so_they_cannot_collide_with_anything_else ... ok
[INFO] [stdout] test schedule::systemd::tests::the_unit_names_rustic_by_absolute_path ... ok
[INFO] [stdout] test schedule::systemd::tests::the_service_invokes_the_job_by_name_with_an_absolute_binary ... ok
[INFO] [stdout] test schedule::systemd::tests::the_timer_waits_for_the_network_and_survives_a_sleeping_laptop ... ok
[INFO] [stdout] test schedule::systemd::tests::the_unit_marks_the_run_as_unattended_so_the_retry_applies ... ok
[INFO] [stdout] test schedule::tests::each_backend_names_itself ... ok
[INFO] [stdout] test schedule::systemd::tests::the_network_ordering_is_documented_as_inert_for_a_user_unit ... ok
[INFO] [stdout] test schedule::schtasks::tests::monday_is_named_not_numbered ... ok
[INFO] [stdout] test schedule::systemd::tests::user_and_system_units_go_to_different_directories ... ok
[INFO] [stdout] test schedule::tests::only_systemd_can_run_without_a_login_session ... ok
[INFO] [stdout] test schedule::tests::the_backend_matches_the_platform_being_built_for ... ok
[INFO] [stdout] test schedule::tests::the_login_caveat_names_the_limitation_and_the_way_out ... ok
[INFO] [stdout] test schedule::tests::the_refusal_names_the_platform_and_both_backends ... ok
[INFO] [stdout] test schedule::install::tests::status_sees_units_once_they_are_written ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rusticprofile-0c824bfa41e9b532)
[INFO] [stdout] test schedule::install::tests::status_reports_units_missing_without_consulting_anything_else ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 384 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test tests::an_already_extended_name_is_not_suffixed_twice ... ok
[INFO] [stdout] test tests::unix_resolution_is_exactly_the_bare_name ... ok
[INFO] [stdout] test tests::windows_looks_for_the_exe_not_only_the_bare_name ... ok
[INFO] [stdout] test tests::every_directory_on_the_path_is_tried ... ok
[INFO] [stdout] test tests::pathext_is_honoured_when_the_variable_is_set ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_tests.rs (/opt/rustwide/target/debug/deps/cli_tests-0846c8dff578ee3d)
[INFO] [stdout] 
[INFO] [stdout] running 64 tests
[INFO] [stdout] test config_check_never_needs_the_rustic_binary ... ok
[INFO] [stdout] test an_unknown_config_key_is_rejected_by_name ... ok
[INFO] [stdout] test checking_this_host_still_validates_filter_hosts ... ok
[INFO] [stdout] test config_check_surfaces_the_host_gate ... ok
[INFO] [stdout] test as_host_does_not_check_a_profile_it_cannot_see ... ok
[INFO] [stdout] test config_check_accepts_a_valid_configuration ... ok
[INFO] [stdout] test a_custom_unit_dir_never_arms_anything ... ok
[INFO] [stdout] test a_missing_config_file_is_a_config_error_not_a_panic ... ok
[INFO] [stdout] test as_host_makes_another_machines_view_inspectable ... ok
[INFO] [stdout] test bare_invocation_fails_loudly ... ok
[INFO] [stdout] test config_show_says_when_the_delegated_profile_cannot_be_read ... ok
[INFO] [stdout] test every_spawn_helper_redirects_the_lock ... ok
[INFO] [stdout] test doctor_appears_in_help ... ok
[INFO] [stdout] test config_check_reports_every_violation_at_once_and_exits_2 ... ok
[INFO] [stdout] test config_example_emits_to_stdout_without_needing_a_configuration ... ok
[INFO] [stdout] test config_show_renders_a_resolved_job ... ok
[INFO] [stdout] test config_show_explains_a_gated_off_job_rather_than_denying_it_exists ... ok
[INFO] [stdout] test a_missing_rustic_binary_is_a_run_failure_not_a_panic ... ok
[INFO] [stdout] test golden_backup_and_forget_with_two_sets ... ok
[INFO] [stdout] test config_show_reports_the_delegated_rustic_profile_too ... ok
[INFO] [stdout] test help_succeeds_and_describes_the_tool ... ok
[INFO] [stdout] test golden_backup_with_no_sets ... ok
[INFO] [stdout] test golden_backup_and_forget_with_one_set ... ok
[INFO] [stdout] test real_rustic_total_failure_is_classified_as_failure ... ok
[INFO] [stdout] test real_rustic_retention_names_the_holder_of_each_slot ... ok
[INFO] [stdout] test real_rustic_clean_backup_is_classified_as_success ... ok
[INFO] [stdout] test real_rustic_partial_backup_is_classified_as_partial ... ok
[INFO] [stdout] test config_show_lists_known_jobs_for_an_unknown_name ... ok
[INFO] [stdout] test plan_never_spawns_rustic ... ok
[INFO] [stdout] test plan_human_format_labels_each_operation ... ok
[INFO] [stdout] test retention_appears_in_help ... ok
[INFO] [stdout] test schedule_writes_a_plist_launchd_would_accept ... ok
[INFO] [stdout] test plan_explains_a_gated_off_job ... ok
[INFO] [stdout] test schedule_writes_what_this_platforms_backend_needs ... ok
[INFO] [stdout] test golden_prune_only ... ok
[INFO] [stdout] test show_env_reports_an_empty_environment_rather_than_nothing ... ok
[INFO] [stdout] test show_secrets_requires_show_env ... ok
[INFO] [stdout] test show_env_masks_secrets_by_default ... ok
[INFO] [stdout] test show_secrets_reveals_values_and_warns_first ... ok
[INFO] [stdout] test schedule_refuses_when_rustic_cannot_be_resolved ... ok
[INFO] [stdout] test show_env_is_rejected_with_the_machine_readable_format ... ok
[INFO] [stdout] test retention_reports_rather_than_renders_output_it_could_not_read ... ok
[INFO] [stdout] test snapshots_is_a_passthrough_that_adds_only_the_profile ... ok
[INFO] [stdout] test completions_generate_for_every_supported_shell ... ok
[INFO] [stdout] test status_reports_the_backend_rather_than_failing ... ok
[INFO] [stdout] test status_json_reports_the_host_gate_rather_than_omitting_it ... ok
[INFO] [stdout] test retention_never_asks_rustic_to_forget_for_real ... ok
[INFO] [stdout] test rescheduling_reports_no_change_rather_than_moving_the_spread ... ok
[INFO] [stdout] test a_run_records_its_status_under_xdg_state_home_and_nowhere_else ... ok
[INFO] [stdout] test unknown_shell_is_rejected ... ok
[INFO] [stdout] test the_emitted_examples_plan_a_real_argv ... ok
[INFO] [stdout] test status_json_is_parseable_and_carries_a_schema ... ok
[INFO] [stdout] test version_matches_cargo_manifest ... ok
[INFO] [stdout] test snapshots_needs_a_job_name ... ok
[INFO] [stdout] test the_lock_lands_under_the_redirected_runtime_dir_not_the_real_one ... ok
[INFO] [stdout] test the_emitted_examples_pass_config_check ... ok
[INFO] [stdout] test rustic_binary_override_lets_a_shim_stand_in_for_rustic ... ok
[INFO] [stdout] test the_exit_code_surface_is_what_the_plan_promises ... ok
[INFO] [stdout] test status_json_names_the_backend_so_a_null_next_run_is_explicable ... ok
[INFO] [stdout] test doctor_json_carries_the_severity_and_whether_the_repository_was_read ... ok
[INFO] [stdout] test doctor_warns_and_exits_three_when_a_secret_is_missing ... ok
[INFO] [stdout] test doctor_reports_a_present_secret_and_exits_zero ... ok
[INFO] [stdout] test doctor_does_not_touch_the_repository_unless_asked ... ok
[INFO] [stderr]    Doc-tests rusticprofile
[INFO] [stdout] test doctor_compares_the_installed_unit_with_what_this_binary_would_write ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.79s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec", kill_on_drop: false }`
[INFO] [stdout] 3e6fbb74bb38d0249b6626df45cd2e7724b2f35cd09883f81866597cb11f6bec
