[INFO] cloning repository https://github.com/superyngo/ssync
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/superyngo/ssync" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuperyngo%2Fssync", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuperyngo%2Fssync'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 99cc4579409b878f5c1d72d12f013be737f7dcdf
[INFO] testing superyngo/ssync against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsuperyngo%2Fssync" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/superyngo/ssync
[INFO] finished tweaking git repo https://github.com/superyngo/ssync
[INFO] tweaked toml for git repo https://github.com/superyngo/ssync written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/superyngo/ssync on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/superyngo/ssync 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.113
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.113
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.113
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.113
[INFO] [stderr]   Downloaded ssh-cipher v0.2.0
[INFO] [stderr]   Downloaded bcrypt-pbkdf v0.10.0
[INFO] [stderr]   Downloaded ssh-encoding v0.2.0
[INFO] [stderr]   Downloaded seize v0.3.3
[INFO] [stderr]   Downloaded russh-cryptovec v0.7.3
[INFO] [stderr]   Downloaded russh-keys v0.44.0
[INFO] [stderr]   Downloaded russh-sftp v2.1.1
[INFO] [stderr]   Downloaded pkcs5 v0.7.1
[INFO] [stderr]   Downloaded rtoolbox v0.0.5
[INFO] [stderr]   Downloaded flurry v0.5.2
[INFO] [stderr]   Downloaded js-sys v0.3.90
[INFO] [stderr]   Downloaded ssh-key v0.6.7
[INFO] [stderr]   Downloaded russh v0.44.1
[INFO] [stderr]   Downloaded p521 v0.13.3
[INFO] [stderr]   Downloaded rpassword v7.4.0
[INFO] [stderr]   Downloaded blake3 v1.8.3
[INFO] [stderr]   Downloaded web-sys v0.3.90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404
[INFO] running `Command { std: "docker" "start" "e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404", 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" "e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404", 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" "e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling base16ct v0.2.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling seize v0.3.3
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling password-hash v0.4.2
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling rfc6979 v0.4.0
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling blowfish v0.9.1
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling blake3 v1.8.3
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling russh-cryptovec v0.7.3
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling scrypt v0.11.0
[INFO] [stderr]    Compiling ssh-encoding v0.2.0
[INFO] [stderr]    Compiling bcrypt-pbkdf v0.10.0
[INFO] [stderr]    Compiling pbkdf2 v0.11.0
[INFO] [stderr]    Compiling rtoolbox v0.0.5
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling pkcs5 v0.7.1
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling ssh-cipher v0.2.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rpassword v7.4.0
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling primeorder v0.13.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling p256 v0.13.2
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling p521 v0.13.3
[INFO] [stderr]    Compiling p384 v0.13.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling flurry v0.5.2
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling rsa v0.9.10
[INFO] [stderr]    Compiling ssh-key v0.6.7
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling russh-sftp v2.1.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling russh-keys v0.44.0
[INFO] [stderr]    Compiling russh v0.44.1
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling sshi v1.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 28s
[INFO] running `Command { std: "docker" "inspect" "e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404", 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" "e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling sshi v1.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.72s
[INFO] running `Command { std: "docker" "inspect" "e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404", 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" "e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sshi-05bc334868769918)
[INFO] [stdout] 
[INFO] [stdout] running 251 tests
[INFO] [stdout] test cli::tests::check_parses_dry_run ... ok
[INFO] [stdout] test cli::tests::sync_parses_positional_paths_and_name ... ok
[INFO] [stdout] test cli::tests::run_parses_dry_run ... ok
[INFO] [stdout] test cli::tests::exec_rejects_yes ... ok
[INFO] [stdout] test cli::tests::sync_rejects_removed_files_flag ... ok
[INFO] [stdout] test cli::tests::sync_still_parses_without_removed_flag ... ok
[INFO] [stdout] test cli::tests::run_rejects_yes ... ok
[INFO] [stdout] test cli::tests::skip_parses_as_comma_list_on_check ... ok
[INFO] [stdout] test cli::tests::check_parses_name ... ok
[INFO] [stdout] test commands::cp::tests::single_file_default_remote_uses_name ... ok
[INFO] [stdout] test commands::cp::tests::single_file_explicit_path_is_rename ... ok
[INFO] [stdout] test commands::cp::tests::missing_local_errors ... ok
[INFO] [stdout] test commands::cp::tests::single_file_trailing_slash_remote_is_dir ... ok
[INFO] [stdout] test commands::cp::tests::directory_is_recursive_and_preserves_name ... ok
[INFO] [stdout] test commands::cp::tests::wildcard_basic ... ok
[INFO] [stdout] test commands::cp::tests::wildcard_matches_multiple_files ... ok
[INFO] [stdout] test cli::tests::sync_rejects_no_push_missing ... ok
[INFO] [stdout] test commands::sync::tests::test_all_identical_no_sync_needed ... ok
[INFO] [stdout] test commands::init::tests::test_partition_auth_failures_splits_on_auth_context ... ok
[INFO] [stdout] test commands::init::tests::test_partition_host_key_failures_all ... ok
[INFO] [stdout] test commands::init::tests::test_partition_host_key_failures_both_error_strings ... ok
[INFO] [stdout] test commands::init::tests::test_partition_host_key_failures_mixed ... ok
[INFO] [stdout] test commands::init::tests::test_partition_host_key_failures_none ... ok
[INFO] [stdout] test commands::sync::tests::test_build_batch_metadata_cmd_sh ... ok
[INFO] [stdout] test commands::init::tests::test_partition_host_key_failures_unknown_host_key ... ok
[INFO] [stdout] test commands::sync::tests::test_build_batch_metadata_cmd_powershell ... ok
[INFO] [stdout] test commands::sync::tests::test_build_dir_expand_cmd_sh_recursive ... ok
[INFO] [stdout] test commands::sync::tests::test_build_dir_expand_cmd_sh_shallow ... ok
[INFO] [stdout] test commands::sync::tests::test_empty_file_list_no_decisions ... ok
[INFO] [stdout] test commands::sync::tests::test_fixed_source_missing_returns_empty_not_error ... ok
[INFO] [stdout] test commands::sync::tests::test_equal_mtimes_picks_a_source ... ok
[INFO] [stdout] test commands::sync::tests::test_fixed_source_overrides_mtime ... ok
[INFO] [stdout] test commands::sync::tests::test_fixed_source_present_works_normally ... ok
[INFO] [stdout] test commands::sync::tests::test_missing_hosts_become_targets ... ok
[INFO] [stdout] test commands::log::tests::parse_since_relative_days ... ok
[INFO] [stdout] test commands::sync::tests::test_all_hosts_missing_skipped ... ok
[INFO] [stdout] test commands::sync::tests::test_newest_mtime_wins_as_source ... ok
[INFO] [stdout] test commands::sync::tests::test_parse_batch_metadata_output ... ok
[INFO] [stdout] test commands::sync::tests::test_parse_dir_expand_output_empty_dir ... ok
[INFO] [stdout] test commands::sync::tests::test_parse_dir_expand_output_nested ... ok
[INFO] [stdout] test commands::log::tests::log_core_empty_db_returns_no_rows ... ok
[INFO] [stdout] test commands::log::tests::test_log_run_with_output ... ok
[INFO] [stdout] test commands::sync::tests::test_parse_batch_metadata_nohash ... ok
[INFO] [stdout] test commands::sync::tests::test_missing_hosts_not_pushed_when_flag_off ... ok
[INFO] [stdout] test commands::sync::tests::test_build_dir_expand_cmd_powershell ... ok
[INFO] [stdout] test commands::sync::tests::test_parse_dir_expand_output_mixed ... ok
[INFO] [stdout] test commands::init::tests::test_resolve_host_falls_back_to_alias ... ok
[INFO] [stdout] test commands::sync::tests::test_skip_strategy_conflict_returns_empty ... ok
[INFO] [stdout] test commands::sync::tests::test_skip_strategy_sync_push_missing ... ok
[INFO] [stdout] test commands::sync::tests::test_union_dir_expansions_merges_files ... ok
[INFO] [stdout] test commands::sync::tests::test_union_dir_expansions_empty_on_one_host ... ok
[INFO] [stdout] test commands::tests::filter_skipped_removes_named_hosts ... ok
[INFO] [stdout] test commands::tests::select_named_defaults_and_matches ... ok
[INFO] [stdout] test config::ssh_config::tests::test_proxy_jump_parsed ... ok
[INFO] [stdout] test config::ssh_config::tests::test_parse_basic_config ... ok
[INFO] [stdout] test config::schema::tests::test_per_host_concurrency_from_toml ... ok
[INFO] [stdout] test config::ssh_config::tests::test_skip_wildcards_in_hosts_list ... ok
[INFO] [stdout] test config::ssh_config::tests::test_unknown_host_falls_back_to_alias_as_hostname ... ok
[INFO] [stdout] test config::schema::tests::test_host_entry_proxy_jump_roundtrip ... ok
[INFO] [stdout] test config::ssh_config::tests::test_specific_host_overrides_wildcard ... ok
[INFO] [stdout] test config::ssh_config::tests::test_wildcard_inheritance_fills_missing_fields ... ok
[INFO] [stdout] test config::schema::tests::test_per_host_concurrency_default ... ok
[INFO] [stdout] test config::ssh_config::tests::test_multi_alias_parsed_as_separate_hosts ... ok
[INFO] [stdout] test host::auth::tests::test_passphrase_cache_different_keys_independent ... ok
[INFO] [stdout] test host::auth::tests::test_passphrase_cache_missing_key_returns_none ... ok
[INFO] [stdout] test host::auth::tests::test_passphrase_cache_set_and_get ... ok
[INFO] [stdout] test host::auth::tests::test_secret_string_clone_shares_value ... ok
[INFO] [stdout] test host::auth::tests::test_secret_string_debug ... ok
[INFO] [stdout] test host::auth::tests::test_secret_string_new_and_as_str ... ok
[INFO] [stdout] test host::concurrency::tests::test_concurrency_limiter_no_hosts ... ok
[INFO] [stdout] test host::pool::tests::test_pool_host_result_error ... ok
[INFO] [stdout] test host::concurrency::tests::test_per_host_semaphore_unknown_host ... ok
[INFO] [stdout] test host::pool::tests::test_pool_host_result_with_russh_output ... ok
[INFO] [stdout] test host::auth::tests::test_passphrase_cache_empty_path_as_key ... ok
[INFO] [stdout] test host::concurrency::tests::test_permits_released_on_drop ... ok
[INFO] [stdout] test host::concurrency::tests::test_per_host_semaphore_accessor ... ok
[INFO] [stdout] test host::session_pool::tests::test_remote_output_no_exit_code ... ok
[INFO] [stdout] test host::concurrency::tests::test_global_semaphore_accessor ... ok
[INFO] [stdout] test host::session_pool::tests::test_remote_output_debug_clone ... ok
[INFO] [stdout] test host::session_pool::tests::test_proxy_alias_resolved_from_config ... ok
[INFO] [stdout] test host::session_pool::tests::test_remote_output_success_flag ... ok
[INFO] [stdout] test host::session_pool::tests::test_sftp_capable_all_failed ... ok
[INFO] [stdout] test host::session_pool::tests::test_sftp_capable_empty_failed_list ... ok
[INFO] [stdout] test host::session_pool::tests::test_ssh_handler_fields ... ok
[INFO] [stdout] test host::session_pool::tests::test_sftp_capable_excludes_failed_from_all_sessions ... ok
[INFO] [stdout] test host::sftp::tests::test_resolve_path_expands_tilde ... ok
[INFO] [stdout] test host::sftp::tests::test_resolve_path_tilde_only ... ok
[INFO] [stdout] test host::sftp::tests::test_resolve_path_no_tilde ... ok
[INFO] [stdout] test host::session_pool::tests::test_ssh_handler_with_default_port ... ok
[INFO] [stdout] test config::app::tests::t_wb_2_preserve_unknown_key ... ok
[INFO] [stdout] test config::app::tests::t_wb_3_inline_comment_survives_scalar_edit ... ok
[INFO] [stdout] test config::app::tests::bom_is_stripped_on_load ... ok
[INFO] [stdout] test host::shell::tests::test_sudo_wrap_powershell ... ok
[INFO] [stdout] test host::shell::tests::test_sudo_wrap_sh ... ok
[INFO] [stdout] test host::shell::tests::test_sudo_wrap_cmd ... ok
[INFO] [stdout] test host::shell::tests::test_sudo_wrap_sh_empty_command ... ok
[INFO] [stdout] test host::shell::tests::test_temp_dir_powershell ... ok
[INFO] [stdout] test host::shell::tests::test_temp_dir_cmd ... ok
[INFO] [stdout] test host::shell::tests::test_sudo_wrap_all_variants_return_string ... ok
[INFO] [stdout] test metrics::parser::tests::test_parse_batch_empty_output ... ok
[INFO] [stdout] test host::shell::tests::test_temp_dir_sh ... ok
[INFO] [stdout] test metrics::collector::tests::test_collection_result_defaults ... ok
[INFO] [stdout] test metrics::parser::tests::test_parse_batch_paths_empty ... ok
[INFO] [stdout] test metrics::probes::tests::test_batch_command_empty ... ok
[INFO] [stdout] test metrics::parser::tests::test_parse_batch_ignores_unknown_metrics ... ok
[INFO] [stdout] test metrics::parser::tests::test_parse_batch_paths_ok ... ok
[INFO] [stdout] test metrics::parser::tests::test_split_by_marker ... ok
[INFO] [stdout] test metrics::probes::tests::test_batch_path_command_empty ... ok
[INFO] [stdout] test metrics::probes::tests::test_batch_command_ps_markers ... ok
[INFO] [stdout] test metrics::probes::tests::test_batch_command_sh_markers ... ok
[INFO] [stdout] test output::progress::tests::test_progress_non_tty_no_panic ... ok
[INFO] [stdout] test config::app::tests::tilde_resolution ... ok
[INFO] [stdout] test host::session_pool::tests::test_remote_output_failure_flag ... ok
[INFO] [stdout] test metrics::probes::tests::test_batch_path_command_sh ... ok
[INFO] [stdout] test metrics::probes::tests::test_batch_command_cmd_markers ... ok
[INFO] [stdout] test output::report::tests::test_filter_info_all_has_no_values ... ok
[INFO] [stdout] test config::app::tests::host_check_sync_edits_round_trip_through_save ... ok
[INFO] [stdout] test output::report::tests::test_to_operation_report_check_metrics ... ok
[INFO] [stdout] test output::report::tests::test_to_operation_report_exec_skipped ... ok
[INFO] [stdout] test output::report::tests::test_to_operation_report_run ... ok
[INFO] [stdout] test output::report::tests::test_to_operation_report_sync_preserves_paths ... ok
[INFO] [stdout] test output::summary::tests::test_errors_dedup_pathless ... ok
[INFO] [stdout] test output::summary::tests::test_errors_with_path_grouping ... ok
[INFO] [stdout] test output::report::tests::test_write_report_configured_default_html ... ok
[INFO] [stdout] test output::summary::tests::test_skip_reason_recorded ... ok
[INFO] [stdout] test output::summary::tests::test_summary_counts ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_complete_file_all_failed ... ok
[INFO] [stdout] test output::report::tests::test_write_report_html_explicit_path ... ok
[INFO] [stdout] test output::report::tests::test_write_report_json_explicit_path ... ok
[INFO] [stdout] test output::report::tests::test_write_report_auto_filename ... ok
[INFO] [stdout] test output::report::tests::test_write_report_unsupported_extension ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_file_in_sync ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_complete_file_partial ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_host_failure ... ok
[INFO] [stdout] test output::report::tests::test_write_report_path_extension_overrides_configured_default ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_mixed_scenario ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_complete_file_all_success ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_tracks_failed_hosts ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_deduplicates_hosts_in_format ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_tracks_host_failure_hosts ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_tracks_passed_hosts ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_skip ... ok
[INFO] [stdout] test tui::app::resolve_tests::skip_subtracts_from_resolved_targets ... ok
[INFO] [stdout] test tui::app::view_focus_tests::log_has_seven_stops_with_five_specifics ... ok
[INFO] [stdout] test tui::async_bridge::tests::truncate_detail_short_unchanged ... ok
[INFO] [stdout] test output::summary::tests::test_sync_summary_tracks_synced_hosts ... ok
[INFO] [stdout] test tui::components::member_picker::tests::a_adds_only_for_name_pickers ... ok
[INFO] [stdout] test tui::async_bridge::tests::truncate_detail_three_lines_joined ... ok
[INFO] [stdout] test tui::components::member_picker::tests::name_picker_is_multi_and_prechecks_current ... ok
[INFO] [stdout] test tui::components::member_picker::tests::source_picker_is_single_select ... ok
[INFO] [stdout] test tui::components::viewport::tests::empty_list_is_safe ... ok
[INFO] [stdout] test tui::components::viewport::tests::visible_slice_returns_empty_for_empty_list ... ok
[INFO] [stdout] test tui::app::view_focus_tests::checkout_list_have_common_zone_stops ... ok
[INFO] [stdout] test tui::components::viewport::tests::invariant_holds_after_moves ... ok
[INFO] [stdout] test tui::components::viewport::tests::visible_slice_returns_window_when_caller_truthful ... ok
[INFO] [stdout] test metrics::parser::tests::test_parse_batch_splits_metrics ... ok
[INFO] [stdout] test tui::focus::tests::breadcrumb_updates_on_zone_change ... ok
[INFO] [stdout] test tui::focus::tests::empty_list_is_at_both_boundaries ... ok
[INFO] [stdout] test tui::focus::tests::escape_to_parent_checkout_table ... ok
[INFO] [stdout] test tui::components::viewport::tests::page_down_advances_selection ... ok
[INFO] [stdout] test tui::focus::tests::x_only_radio_at_first_left_escapes ... ok
[INFO] [stdout] test tui::components::viewport::tests::visible_slice_clamps_when_caller_lies_about_length ... ok
[INFO] [stdout] test tui::app::flush_tests::flush_is_noop_when_not_dirty ... ok
[INFO] [stdout] test state::db::tests::test_open_in_memory ... ok
[INFO] [stdout] test tui::focus::tests::x_only_vertical_arrow_escapes ... ok
[INFO] [stdout] test tui::focus::tests::y_only_horizontal_arrow_escapes_immediately ... ok
[INFO] [stdout] test tui::async_bridge::tests::truncate_detail_overflow_appends_ellipsis ... ok
[INFO] [stdout] test tui::focus::tests::x_only_radio_in_middle_consumes ... ok
[INFO] [stdout] test tui::focus::tests::y_only_at_boundary_escapes ... ok
[INFO] [stdout] test tui::state::persist::tests::config_hash_differs_per_path ... ok
[INFO] [stdout] test tui::app::flush_tests::flush_writes_when_dirty_and_clears_flag ... ok
[INFO] [stdout] test tui::focus::tests::y_only_in_middle_consumes ... ok
[INFO] [stdout] test tui::state::persist::tests::config_hash_is_deterministic ... ok
[INFO] [stdout] test tui::state::persist::tests::empty_string_loads_as_default ... ok
[INFO] [stdout] test tui::state::persist::tests::legacy_checkout_tab_loads_as_view ... ok
[INFO] [stdout] test tui::state::persist::tests::missing_file_returns_default ... ok
[INFO] [stdout] test tui::state::persist::tests::missing_keys_load_as_defaults ... ok
[INFO] [stdout] test tui::state::persist::tests::operate_state_extended_round_trips ... ok
[INFO] [stdout] test tui::state::persist::tests::validate_drops_unknown_groups ... ok
[INFO] [stdout] test tui::state::persist::tests::round_trip_preserves_values ... ok
[INFO] [stdout] test tui::state::persist::tests::validate_drops_unknown_hosts ... ok
[INFO] [stdout] test tui::state::persist::tests::skip_field_round_trips_and_defaults_empty ... ok
[INFO] [stdout] test tui::state::persist::tests::validate_keeps_groups_mode_when_list_becomes_empty ... ok
[INFO] [stdout] test tui::tabs::config_schema::tests::check_enabled_kind_is_check_enabled ... ok
[INFO] [stdout] test tui::tabs::config_schema::tests::host_groups_round_trip_via_apply ... ok
[INFO] [stdout] test tui::tabs::config_schema::tests::check_path_keys_are_indexed ... ok
[INFO] [stdout] test tui::tabs::config_schema::tests::host_fields_always_includes_proxy_jump ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::check_enabled_via_direct_popup_persists ... ok
[INFO] [stdout] test tui::tabs::config_schema::tests::sync_paths_and_name_apply ... ok
[INFO] [stdout] test tui::tabs::config_schema::tests::check_enabled_and_name_apply ... ok
[INFO] [stdout] test tui::state::persist::tests::view_operation_kind_defaults_checkout ... ok
[INFO] [stdout] test tui::tabs::config_schema::tests::host_proxy_jump_empty_clears ... ok
[INFO] [stdout] test tui::state::persist::tests::save_then_load_round_trips ... ok
[INFO] [stdout] test tui::state::persist::tests::view_operation_kind_non_default_variants_round_trip ... ok
[INFO] [stdout] test tui::state::persist::tests::malformed_file_returns_default ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::commit_accepts_unique_nonempty_name ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::commit_rejects_duplicate_sync_name ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::direct_popup_commit_persists_host_groups ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::commit_rejects_empty_check_name ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::direct_popup_commit_preserves_field_vp_cursor ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::entry_form_commit_preserves_sidebar_cursor ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::commit_allows_editing_entry_keeping_its_own_name ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::inline_name_validation_ignores_non_name_fields ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::inline_name_validation_rejects_empty_and_duplicate ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::snapshot_clamps_when_entry_deleted ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::snapshot_clamps_on_empty_list ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::snapshot_restores_entry_form_field_cursor ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::snapshot_restores_direct_vec_editor_cursor ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::snapshot_restores_in_form_vec_editor_cursor ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::test_cycle_option_value_advances_each_option_kind ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::snapshot_round_trip_no_form_no_popup ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::test_enum_cycle_backward ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::snapshot_vec_editor_field_index_guard_prevents_wrong_apply ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::test_enum_cycle_forward ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::test_cycle_option_value_none_for_non_option_kinds ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::test_enum_cycle_unknown_defaults_to_first ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::test_enum_cycle_unknown_backward_defaults_to_last ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::test_shell_cycle_back ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::test_shell_cycle_fwd ... ok
[INFO] [stdout] test tui::tabs::operate_schema::tests::apply_run_sudo_toggles ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::toggle_section_collapse_noop_on_non_section ... ok
[INFO] [stdout] test tui::tabs::operate_schema::tests::apply_exec_keep_and_dry_run ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::toggle_section_collapse_hides_children_and_keeps_cursor ... ok
[INFO] [stdout] test tui::tabs::operate_schema::tests::apply_specific_unknown_key_is_noop ... ok
[INFO] [stdout] test tui::tabs::operate_schema::tests::apply_sync_mode_enum ... ok
[INFO] [stdout] test tui::tabs::operate_schema::tests::apply_view_checkout_history_and_log_fields ... ok
[INFO] [stdout] test commands::list::tests::list_core_returns_resolved_collections ... ok
[INFO] [stdout] test host::pool::tests::test_pool_host_result_struct ... ok
[INFO] [stdout] test tui::tabs::operate_schema::tests::log_action_round_trips_through_descriptor ... ok
[INFO] [stdout] test tui::tabs::operate_tab::tests::layer_of_groups_fields ... ok
[INFO] [stdout] test tui::tabs::view_tab::tests::list_entry_at_line_resolves_checks ... ok
[INFO] [stdout] test tui::tabs::view_tab::tests::list_entry_at_line_decorative_lines_are_none ... ok
[INFO] [stdout] test tui::tabs::view_tab::tests::selectable_flags_match_line_count_populated ... ok
[INFO] [stdout] test tui::tabs::view_tab::tests::list_entry_at_line_empty_sections ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::render_does_not_panic_empty_sync_paths ... ok
[INFO] [stdout] test tui::tabs::view_tab::tests::list_entry_at_line_resolves_hosts ... ok
[INFO] [stdout] test tui::tabs::view_tab::tests::list_entry_at_line_resolves_syncs ... ok
[INFO] [stdout] test tui::tabs::operate_schema::tests::apply_view_log_action_all_clears ... ok
[INFO] [stdout] test tui::tabs::operate_schema::tests::check_specific_fields_reflects_dry_run ... ok
[INFO] [stdout] test tui::tabs::view_tab::tests::host_rows_are_selectable_titles_are_not ... ok
[INFO] [stdout] test util::tests::tilde_backslash_windows ... ok
[INFO] [stdout] test util::tests::no_tilde_unchanged ... ok
[INFO] [stdout] test util::tests::embedded_tilde_unchanged ... ok
[INFO] [stdout] test util::tests::tilde_only_expands_to_home ... ok
[INFO] [stdout] test tui::tabs::view_tab::tests::selectable_flags_match_line_count_empty_sections ... ok
[INFO] [stdout] test util::tests::tilde_slash_unix ... ok
[INFO] [stdout] test host::concurrency::tests::test_per_host_limit_respected ... ok
[INFO] [stdout] test host::concurrency::tests::test_global_limit_respected ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::render_does_not_panic_empty_skipped_hosts_direct_vec ... ok
[INFO] [stdout] test commands::list::tests::test_list_run_with_output ... ok
[INFO] [stdout] test tui::tabs::config_tab::tests::render_does_not_panic_empty_check_enabled_direct_vec ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 251 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sshi-600241a46e7a7234)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_tracing_filter_builds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sshi
[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" "e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404", kill_on_drop: false }`
[INFO] [stdout] e351ad3f97da53f4f745665de3f1c614a70c2ee989757604d8f91a46ba3f1404
