[INFO] fetching crate frostx 0.1.0...
[INFO] testing frostx-0.1.0 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate frostx 0.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate frostx 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate frostx 0.1.0
[INFO] tweaked toml for crates.io crate frostx 0.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate frostx 0.1.0 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 frostx 0.1.0 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]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zstd v0.13.3
[INFO] [stderr]   Downloaded xz2 v0.1.7
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.120
[INFO] [stderr]   Downloaded supports-color v3.0.2
[INFO] [stderr]   Downloaded filetime v0.2.27
[INFO] [stderr]   Downloaded is-terminal v0.4.17
[INFO] [stderr]   Downloaded zstd-safe v7.2.4
[INFO] [stderr]   Downloaded xattr v1.6.1
[INFO] [stderr]   Downloaded plain v0.2.3
[INFO] [stderr]   Downloaded is_ci v1.2.0
[INFO] [stderr]   Downloaded supports-color v2.1.0
[INFO] [stderr]   Downloaded option-ext v0.2.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.120
[INFO] [stderr]   Downloaded cc v1.2.61
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.120
[INFO] [stderr]   Downloaded owo-colors v4.3.0
[INFO] [stderr]   Downloaded globset v0.4.18
[INFO] [stderr]   Downloaded adler2 v2.0.1
[INFO] [stderr]   Downloaded redox_users v0.5.2
[INFO] [stderr]   Downloaded roff v1.1.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.120
[INFO] [stderr]   Downloaded redox_syscall v0.7.5
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.6
[INFO] [stderr]   Downloaded miniz_oxide v0.8.9
[INFO] [stderr]   Downloaded simd-adler32 v0.3.9
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.18
[INFO] [stderr]   Downloaded crc32fast v1.5.0
[INFO] [stderr]   Downloaded tar v0.4.45
[INFO] [stderr]   Downloaded flate2 v1.1.9
[INFO] [stderr]   Downloaded js-sys v0.3.97
[INFO] [stderr]   Downloaded ignore v0.4.25
[INFO] [stderr]   Downloaded clap_complete v4.6.5
[INFO] [stderr]   Downloaded dirs-sys v0.5.0
[INFO] [stderr]   Downloaded clap_mangen v0.3.0
[INFO] [stderr]   Downloaded winnow v1.0.2
[INFO] [stderr]   Downloaded directories v6.0.0
[INFO] [stderr]   Downloaded bstr v1.12.1
[INFO] [stderr]   Downloaded zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]   Downloaded lzma-sys v0.1.20
[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] 80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45
[INFO] running `Command { std: "docker" "start" "80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45", 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" "80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45" "/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" "80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45", 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" "80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling is_ci v1.2.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling winnow v1.0.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling supports-color v3.0.2
[INFO] [stderr]    Compiling hybrid-array v0.4.12
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling roff v1.1.1
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling supports-color v2.1.0
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling tar v0.4.45
[INFO] [stderr]    Compiling dialoguer v0.12.0
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling xz2 v0.1.7
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling clap_complete v4.6.5
[INFO] [stderr]    Compiling clap_mangen v0.3.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling frostx v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.77s
[INFO] running `Command { std: "docker" "inspect" "80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45", 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" "80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45" "/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 frostx v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.79s
[INFO] running `Command { std: "docker" "inspect" "80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45", 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" "80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45" "/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.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/frostx-fff15692d8cc1f69)
[INFO] [stdout] 
[INFO] [stdout] running 150 tests
[INFO] [stdout] test actions::archive::tests::gz_archive_created ... ok
[INFO] [stdout] test actions::archive::tests::run_replaces_project_dir_with_archive ... ok
[INFO] [stdout] test actions::archive::tests::zstd_archive_created ... ok
[INFO] [stdout] test actions::archive::tests::verify_archive_detects_content_mismatch ... ok
[INFO] [stdout] test actions::fs::tests::disabled_cleaner_does_not_run ... ok
[INFO] [stdout] test actions::fs::tests::dry_run_does_not_remove ... ok
[INFO] [stdout] test actions::fs::tests::extra_paths_removed_unconditionally ... ok
[INFO] [stdout] test actions::fs::tests::python_cleaner_detects_pyproject_toml ... ok
[INFO] [stdout] test actions::archive::tests::failed_verification_removes_archive_and_preserves_source ... ok
[INFO] [stdout] test actions::fs::tests::node_cleaner_removes_node_modules ... ok
[INFO] [stdout] test actions::archive::tests::verify_archive_detects_missing_file ... ok
[INFO] [stdout] test actions::fs::tests::human_size_formats ... ok
[INFO] [stdout] test actions::archive::tests::dry_run_creates_no_file ... ok
[INFO] [stdout] test actions::fs::tests::python_cleaner_detects_setup_py ... ok
[INFO] [stdout] test actions::git::tests::check_clean_non_git_skips ... ok
[INFO] [stdout] test actions::jj::tests::check_clean_non_jj_skips ... ok
[INFO] [stdout] test actions::fs::tests::rust_cleaner_removes_target_when_cargo_toml_present ... ok
[INFO] [stdout] test actions::hook::tests::check_kind_hook ... ok
[INFO] [stdout] test actions::fs::tests::python_cleaner_removes_pycache_dirs ... ok
[INFO] [stdout] test actions::jj::tests::check_pushed_non_jj_skips ... ok
[INFO] [stdout] test actions::local::tests::dry_run_does_not_delete ... ok
[INFO] [stdout] test actions::hook::tests::hook_dry_run ... ok
[INFO] [stdout] test actions::fs::tests::rust_cleaner_skips_target_without_cargo_toml ... ok
[INFO] [stdout] test actions::tests::cwd_is_inside_nonexistent_returns_false ... ok
[INFO] [stdout] test actions::hook::tests::mutation_kind_hook ... ok
[INFO] [stdout] test actions::jj::tests::bookmark_dry_run ... ok
[INFO] [stdout] test actions::fs::tests::no_marker_no_artifacts ... ok
[INFO] [stdout] test actions::jj::tests::bookmark_non_jj_skips ... ok
[INFO] [stdout] test actions::notify::tests::dry_run_returns_dry_run_status ... ok
[INFO] [stdout] test actions::vcs::tests::check_clean_non_vcs_fails_by_default ... ok
[INFO] [stdout] test actions::vcs::tests::check_clean_non_vcs_skips_when_opted_in ... ok
[INFO] [stdout] test actions::notify::tests::kind_is_mutation ... ok
[INFO] [stdout] test actions::tests::cwd_is_inside_current_dir ... ok
[INFO] [stdout] test actions::vcs::tests::check_pushed_non_vcs_fails_by_default ... ok
[INFO] [stdout] test actions::vcs::tests::mark_non_vcs_skips_when_opted_in ... ok
[INFO] [stdout] test backup::rsync::tests::parse_ssh_target_missing_path_returns_none ... ok
[INFO] [stdout] test backup::rsync::tests::parse_ssh_target_no_user ... ok
[INFO] [stdout] test backup::rsync::tests::parse_ssh_target_simple ... ok
[INFO] [stdout] test backup::rsync::tests::remote_path_includes_uuid ... ok
[INFO] [stdout] test actions::vcs::tests::mark_jj_dry_run ... ok
[INFO] [stdout] test actions::vcs::tests::mark_non_vcs_fails_by_default ... ok
[INFO] [stdout] test config::archive_reader::tests::detect_unknown_format_errors ... ok
[INFO] [stdout] test backup::rsync::tests::parse_ssh_target_with_port ... ok
[INFO] [stdout] test backup::rsync::tests::sha256_file_known_hash ... ok
[INFO] [stdout] test actions::hook::tests::hook_success ... ok
[INFO] [stdout] test backup::rsync::tests::remote_path_strips_trailing_slash ... ok
[INFO] [stdout] test config::archive_reader::tests::detect_gz_by_magic ... ok
[INFO] [stdout] test config::archive_reader::tests::collect_toml_entries_gz ... ok
[INFO] [stdout] test actions::hook::tests::hook_failure ... ok
[INFO] [stdout] test config::daily::tests::cache_fields_round_trip ... ok
[INFO] [stdout] test config::daily::tests::checked_today_false_when_old ... ok
[INFO] [stdout] test config::daily::tests::defaults_are_false ... ok
[INFO] [stdout] test config::daily::tests::missing_file_returns_default ... ok
[INFO] [stdout] test config::daily::tests::ran_today_false_when_old ... ok
[INFO] [stdout] test config::archive_reader::tests::non_toml_entries_are_ignored ... ok
[INFO] [stdout] test config::duration::tests::elapsed_in_past ... ok
[INFO] [stdout] test config::duration::tests::not_elapsed_recently ... ok
[INFO] [stdout] test config::daily::tests::ran_today_true_when_recent ... ok
[INFO] [stdout] test config::duration::tests::parse_months ... ok
[INFO] [stdout] test config::duration::tests::parse_weeks ... ok
[INFO] [stdout] test config::duration::tests::parse_years ... ok
[INFO] [stdout] test config::daily::tests::save_and_load_roundtrip ... ok
[INFO] [stdout] test config::duration::tests::reject_bad_unit ... ok
[INFO] [stdout] test config::archive_reader::tests::relative_include_toml_in_archive ... ok
[INFO] [stdout] test config::duration::tests::reject_zero ... ok
[INFO] [stdout] test config::daily::tests::timestamps_are_independent_after_file_roundtrip ... ok
[INFO] [stdout] test config::daily::tests::checked_today_true_when_recent ... ok
[INFO] [stdout] test config::daily::tests::timestamps_are_independent_in_memory ... ok
[INFO] [stdout] test actions::archive::tests::verify_archive_passes_for_correct_archive ... ok
[INFO] [stdout] test config::duration::tests::parse_days ... ok
[INFO] [stdout] test config::duration::tests::parse_hours ... ok
[INFO] [stdout] test config::duration::tests::reject_empty ... ok
[INFO] [stdout] test config::include::tests::archive_include_toml_syntax_error_fails_nicely ... ok
[INFO] [stdout] test config::include::tests::archive_library_include_resolved_from_filesystem ... ok
[INFO] [stdout] test config::include::tests::extract_vars_deduplicates ... ok
[INFO] [stdout] test config::include::tests::archive_missing_relative_include_is_error ... ok
[INFO] [stdout] test config::include::tests::archive_relative_include_resolved_from_memory ... ok
[INFO] [stdout] test config::include::tests::duplicate_includes_are_skipped ... ok
[INFO] [stdout] test config::duration::tests::remaining_seconds_zero_when_elapsed ... ok
[INFO] [stdout] test config::include::tests::archive_dotdot_include_is_error ... ok
[INFO] [stdout] test config::include::tests::extract_vars_empty ... ok
[INFO] [stdout] test config::include::tests::no_includes_is_noop ... ok
[INFO] [stdout] test config::include::tests::local_config_overrides_included ... ok
[INFO] [stdout] test config::include::tests::extract_vars_ignores_invalid_names ... ok
[INFO] [stdout] test config::include::tests::extract_vars_single ... ok
[INFO] [stdout] test config::include::tests::library_include_merges_rules ... ok
[INFO] [stdout] test config::project::tests::backup_resolve_tag_with_absent_server_inherits_base ... ok
[INFO] [stdout] test config::include::tests::unresolved_template_var_is_error ... ok
[INFO] [stdout] test config::duration::tests::remaining_seconds_positive ... ok
[INFO] [stdout] test config::duration::tests::roundtrip_display ... ok
[INFO] [stdout] test config::project::tests::backup_resolve_unknown_tag_falls_back_to_base ... ok
[INFO] [stdout] test config::include::tests::relative_include_resolves_against_project_dir ... ok
[INFO] [stdout] test config::project::tests::circular_group_detected ... ok
[INFO] [stdout] test config::project::tests::compression_extension ... ok
[INFO] [stdout] test config::project::tests::expand_nested_group ... ok
[INFO] [stdout] test backup::rsync::tests::sha256_file_empty ... ok
[INFO] [stdout] test config::project::tests::backup_resolve_tag_overrides_server ... ok
[INFO] [stdout] test config::project::tests::expand_simple_group ... ok
[INFO] [stdout] test config::project::tests::unknown_group_error ... ok
[INFO] [stdout] test config::include::tests::template_substitution_in_include ... ok
[INFO] [stdout] test config::project::tests::backup_resolve_no_tag_returns_base ... ok
[INFO] [stdout] test config::state::tests::hash_change_resets_completion ... ok
[INFO] [stdout] test config::state::tests::mark_completed_idempotent ... ok
[INFO] [stdout] test config::state::tests::list_state_files_finds_entries ... ok
[INFO] [stdout] test config::include::tests::missing_include_is_error ... ok
[INFO] [stdout] test config::project::tests::expand_no_groups ... ok
[INFO] [stdout] test config::state::tests::delete_removes_file ... ok
[INFO] [stdout] test config::state::tests::mark_rule_done_and_is_rule_done ... ok
[INFO] [stdout] test config::state::tests::missing_state_returns_default ... ok
[INFO] [stdout] test config::state::tests::rule_done_persists_across_save_load ... ok
[INFO] [stdout] test config::state::tests::rule_done_does_not_affect_other_hashes ... ok
[INFO] [stdout] test config::tests::validate_clean_config ... ok
[INFO] [stdout] test config::tests::validate_backup_action_without_config_is_error ... ok
[INFO] [stdout] test config::state::tests::save_and_load_roundtrip ... ok
[INFO] [stdout] test config::tests::load_missing_returns_not_initialized ... ok
[INFO] [stdout] test config::tests::validate_nil_uuid_is_error ... ok
[INFO] [stdout] test config::tests::validate_tagged_backup_action_with_defined_override_is_ok ... ok
[INFO] [stdout] test config::tests::validate_tagged_backup_action_with_missing_override_is_error ... ok
[INFO] [stdout] test config::tests::validate_unknown_group_is_error ... ok
[INFO] [stdout] test diagnostics::tests::suggest_close_typo ... ok
[INFO] [stdout] test config::tests::write_and_load_roundtrip ... ok
[INFO] [stdout] test diagnostics::tests::levenshtein_identical ... ok
[INFO] [stdout] test diagnostics::tests::levenshtein_insertion ... ok
[INFO] [stdout] test diagnostics::tests::levenshtein_substitution ... ok
[INFO] [stdout] test pipeline::tests::completed_action_shows_as_completed ... ok
[INFO] [stdout] test pipeline::tests::triggered_rule_lists_actions ... ok
[INFO] [stdout] test diagnostics::tests::suggest_no_match_for_garbage ... ok
[INFO] [stdout] test pipeline::tests::untriggered_rule_is_not_triggered ... ok
[INFO] [stdout] test scanner::tests::inactive_display_days ... ok
[INFO] [stdout] test scanner::tests::inactive_display_hours ... ok
[INFO] [stdout] test scanner::tests::scan_archive_file_uses_file_mtime ... ok
[INFO] [stdout] test scanner::tests::scan_empty_dir ... ok
[INFO] [stdout] test diagnostics::tests::unknown_action_message_contains_name ... ok
[INFO] [stdout] test scanner::tests::scan_frostxignore_excludes_matched_file ... ok
[INFO] [stdout] test scanner::tests::scan_frostxignore_excludes_matched_dir ... ok
[INFO] [stdout] test scanner::tests::scan_skips_config_file ... ok
[INFO] [stdout] test scanner::tests::scan_detects_recent_file ... ok
[INFO] [stdout] test scanner::tests::scan_skips_frostxignore_file ... ok
[INFO] [stdout] test scanner::tests::scan_git_dir_newer_mtime_not_counted ... ok
[INFO] [stdout] test scanner::tests::scan_no_frostxignore_file_is_fine ... ok
[INFO] [stdout] test scanner::tests::inactive_display_minutes ... ok
[INFO] [stdout] test scanner::tests::scan_skips_git_dir ... ok
[INFO] [stdout] test scanner::tests::scan_skips_jj_dir ... ok
[INFO] [stdout] test pipeline::tests::failed_rule_blocks_subsequent_triggered_rules ... ok
[INFO] [stdout] test actions::vcs::tests::jj_preferred_over_git_when_both_present ... ok
[INFO] [stdout] test actions::git::tests::check_clean_dirty_repo ... ok
[INFO] [stdout] test actions::git::tests::git_tag_dry_run ... ok
[INFO] [stdout] test actions::git::tests::check_clean_clean_repo ... ok
[INFO] [stdout] test actions::vcs::tests::check_clean_delegates_to_git ... ok
[INFO] [stdout] test actions::vcs::tests::mark_git_dry_run ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 150 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/frostx-0934aeaa12a7c174)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/gen_completions.rs (/opt/rustwide/target/debug/deps/gen_completions-44bcb3a57be0d89f)
[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] [stderr]      Running unittests src/bin/gen_man.rs (/opt/rustwide/target/debug/deps/gen_man-43a024d1da4ee862)
[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] [stdout] 
[INFO] [stderr]      Running tests/integration/main.rs (/opt/rustwide/target/debug/deps/integration-2cc1f83e6406662c)
[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] [stdout] 
[INFO] [stdout] running 103 tests
[INFO] [stdout] test action_tag::tagged_backup_action_without_backup_config_is_invalid ... ok
[INFO] [stdout] test action_tag::tagged_backup_action_with_missing_override_is_invalid ... ok
[INFO] [stdout] test action_tag::tagged_vcs_action_with_missing_override_is_invalid ... ok
[INFO] [stdout] test action_tag::tagged_vcs_action_with_defined_override_is_valid ... ok
[INFO] [stdout] test action_tag::tagged_backup_action_with_defined_override_is_valid ... ok
[INFO] [stdout] test action_tag::tagged_fs_action_with_missing_override_is_invalid ... ok
[INFO] [stdout] test action_tag::tagged_archive_action_with_defined_override_is_valid ... ok
[INFO] [stdout] test action_tag::tagged_archive_action_with_missing_override_is_invalid ... ok
[INFO] [stdout] test action_tag::tagged_archive_without_config_section_is_invalid ... ok
[INFO] [stdout] test action_tag::tagged_fs_action_with_defined_override_is_valid ... ok
[INFO] [stdout] test action_tag::untagged_and_tagged_actions_coexist ... ok
[INFO] [stdout] test archive::archive_dry_run_keeps_project_dir ... ok
[INFO] [stdout] test doctor::doctor_invalid_config_exits_1 ... ok
[INFO] [stdout] test check::check_not_initialized_exits_3 ... ok
[INFO] [stdout] test archive::archive_state_updated_to_archive_path ... ok
[INFO] [stdout] test gc::gc_json_shape ... ok
[INFO] [stdout] test doctor::doctor_missing_project_exits_3 ... ok
[INFO] [stdout] test check::check_shows_no_triggered_rules_on_fresh_project ... ok
[INFO] [stdout] test doctor::doctor_warnings_exits_2 ... ok
[INFO] [stdout] test archive::archive_replaces_project_dir ... ok
[INFO] [stdout] test check::check_json_output_shape ... ok
[INFO] [stdout] test check::check_uuid_collision_exits_4 ... ok
[INFO] [stdout] test init::init_assigns_uuid ... ok
[INFO] [stdout] test check::check_initialized_project_exits_0 ... ok
[INFO] [stdout] test init::init_creates_config ... ok
[INFO] [stdout] test archive::check_on_archived_project_succeeds ... ok
[INFO] [stdout] test doctor::doctor_json_shape ... ok
[INFO] [stdout] test init::init_json_output ... ok
[INFO] [stdout] test init::init_with_include_writes_include ... ok
[INFO] [stdout] test gc::gc_dry_run_does_not_delete ... ok
[INFO] [stdout] test init::init_force_changes_uuid ... ok
[INFO] [stdout] test notify::notify_dry_run_does_not_prompt ... ok
[INFO] [stdout] test gc::gc_detects_duplicate_path ... ok
[INFO] [stdout] test gc::gc_empty_state_dir_exits_0 ... ok
[INFO] [stdout] test init::init_force_preserves_existing_config ... ok
[INFO] [stdout] test archive::run_on_archived_project_executes_further_rules ... ok
[INFO] [stdout] test init::check_with_relative_include_resolves_correctly ... ok
[INFO] [stdout] test init::init_force_applies_include_override ... ok
[INFO] [stdout] test init::init_twice_without_force_fails ... ok
[INFO] [stdout] test doctor::doctor_valid_config_exits_0 ... ok
[INFO] [stdout] test gc::gc_removes_orphaned_state ... ok
[INFO] [stdout] test pipeline::run_action_filter_runs_single_action ... ok
[INFO] [stdout] test notify::notify_undefined_name_exits_with_error ... ok
[INFO] [stdout] test notify::notify_dry_run_json_shows_dry_run_status ... ok
[INFO] [stdout] test pretend_inactive::check_not_triggered_without_flag ... ok
[INFO] [stdout] test pipeline::once_rule_runs_only_once ... ok
[INFO] [stdout] test pipeline::failed_rule_retried_on_next_run_and_unblocks_subsequent ... ok
[INFO] [stdout] test pretend_inactive::run_triggered_with_pretend_inactive ... ok
[INFO] [stdout] test pipeline::once_rule_not_sealed_on_partial_failure ... ok
[INFO] [stdout] test project_description::check_json_includes_description_when_set ... ok
[INFO] [stdout] test pipeline::run_json_ndjson_output ... ok
[INFO] [stdout] test project_description::check_human_output_shows_description_when_set ... ok
[INFO] [stdout] test pipeline::run_force_reruns_completed_mutation ... ok
[INFO] [stdout] test pretend_inactive::check_triggered_with_pretend_inactive ... ok
[INFO] [stdout] test project_description::description_field_not_written_to_toml_when_absent ... ok
[INFO] [stdout] test pipeline::run_dry_run_does_not_execute_hook ... ok
[INFO] [stdout] test pipeline::run_executes_hook_when_triggered ... ok
[INFO] [stdout] test pipeline::once_rule_check_shows_completed_once ... ok
[INFO] [stdout] test pipeline::run_mutation_recorded_and_skipped_on_rerun ... ok
[INFO] [stdout] test project_name::check_human_output_shows_project_name_when_set ... ok
[INFO] [stdout] test project_name::check_json_includes_project_name_when_set ... ok
[INFO] [stdout] test project_name::check_json_falls_back_to_dir_name_when_no_project_name ... ok
[INFO] [stdout] test project_name::name_field_not_written_to_toml_when_absent ... ok
[INFO] [stdout] test pipeline::once_rule_force_reruns ... ok
[INFO] [stdout] test pretend_inactive::invalid_duration_exits_with_error ... ok
[INFO] [stdout] test projects::projects_add_uninitialized_path_is_skipped ... ok
[INFO] [stdout] test projects::projects_check_daily_human_is_silent_without_cache ... ok
[INFO] [stdout] test projects::projects_check_daily_json_emits_not_run_when_no_cache ... ok
[INFO] [stdout] test pipeline::failed_rule_blocks_subsequent_rules ... ok
[INFO] [stdout] test project_description::check_json_omits_description_when_absent ... ok
[INFO] [stdout] test pipeline::run_check_hook_failure_stops_chain ... ok
[INFO] [stdout] test projects::projects_add_json_shape ... ok
[INFO] [stdout] test projects::projects_list_empty_state_dir ... ok
[INFO] [stdout] test projects::projects_add_registers_project ... ok
[INFO] [stdout] test projects::projects_check_daily_json_returns_cached_envelope ... ok
[INFO] [stdout] test projects::projects_add_resets_daily_cache ... ok
[INFO] [stdout] test projects::projects_daily_both_caches_are_returned_independently ... ok
[INFO] [stdout] test projects::projects_run_daily_json_returns_cached_envelope ... ok
[INFO] [stdout] test projects::projects_add_with_no_new_projects_does_not_reset_cache ... ok
[INFO] [stdout] test rule_names::check_human_output_includes_rule_name ... ok
[INFO] [stdout] test projects::projects_check_empty_registry_succeeds ... ok
[INFO] [stdout] test projects::projects_daily_run_cache_does_not_bleed_into_check ... ok
[INFO] [stdout] test scanner_ignore::check_succeeds_with_frostxignore_present ... ok
[INFO] [stdout] test projects::projects_run_daily_json_emits_not_run_when_no_cache ... ok
[INFO] [stdout] test rule_names::unnamed_rule_json_omits_name_field ... ok
[INFO] [stdout] test projects::projects_run_daily_human_is_silent_without_cache ... ok
[INFO] [stdout] test projects::projects_list_json_shape ... ok
[INFO] [stdout] test projects::projects_add_scan_finds_nested_projects ... ok
[INFO] [stdout] test projects::projects_daily_check_cache_does_not_bleed_into_run ... ok
[INFO] [stdout] test projects::projects_rm_removes_project ... ok
[INFO] [stdout] test scan::scan_empty_root_returns_empty_array ... ok
[INFO] [stdout] test scanner_ignore::check_succeeds_with_only_jj_dir ... ok
[INFO] [stdout] test rule_names::check_json_includes_rule_name ... ok
[INFO] [stdout] test projects::projects_rm_json_shape ... ok
[INFO] [stdout] test scanner_ignore::check_succeeds_with_only_git_dir ... ok
[INFO] [stdout] test template::unresolved_template_var_fails_at_load ... ok
[INFO] [stdout] test scanner_ignore::doctor_succeeds_with_frostxignore ... ok
[INFO] [stdout] test scan::scan_triggered_only_hides_fresh_projects ... ok
[INFO] [stdout] test projects::projects_rm_resets_daily_cache ... ok
[INFO] [stdout] test scan::scan_finds_projects ... ok
[INFO] [stdout] test projects::projects_check_outputs_each_tracked_project ... ok
[INFO] [stdout] test template::template_substitution_in_include_file ... ok
[INFO] [stdout] test projects::projects_run_includes_project_field_in_ndjson ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 103 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests frostx
[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" "80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45", kill_on_drop: false }`
[INFO] [stdout] 80a49c2613a4fb51ebea09078658cf112b60227cabdbbbe8e9eadd7bc659ff45
