[INFO] cloning repository https://github.com/leszek3737/LibreCommander
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/leszek3737/LibreCommander" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleszek3737%2FLibreCommander", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleszek3737%2FLibreCommander'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c4c8e14d363dc2719537113e584c873d41f4dc54
[INFO] testing leszek3737/LibreCommander against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleszek3737%2FLibreCommander" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/leszek3737/LibreCommander
[INFO] finished tweaking git repo https://github.com/leszek3737/LibreCommander
[INFO] tweaked toml for git repo https://github.com/leszek3737/LibreCommander written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/leszek3737/LibreCommander on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/leszek3737/LibreCommander 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.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded users v0.11.0
[INFO] [stderr]   Downloaded filetime_creation v0.2.0
[INFO] [stderr]   Downloaded pbkdf2 v0.13.0
[INFO] [stderr]   Downloaded ppmd-rust v1.4.0
[INFO] [stderr]   Downloaded lzma-rust v0.1.7
[INFO] [stderr]   Downloaded nt-time v0.8.1
[INFO] [stderr]   Downloaded lzma-rust2 v0.16.5
[INFO] [stderr]   Downloaded sevenz-rust v0.6.1
[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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125
[INFO] running `Command { std: "docker" "start" "730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125", 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" "730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125", 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" "730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling cmov v0.5.4
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling time-macros v0.2.31
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling ctutils v0.4.2
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling hybrid-array v0.4.13
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling cc v1.2.67
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling lru v0.18.1
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling inout v0.2.2
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling time v0.3.53
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling cpubits v0.1.1
[INFO] [stderr]    Compiling bit-vec v0.7.0
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling libbz2-rs-sys v0.2.5
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling zlib-rs v0.6.6
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling bzip2 v0.6.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling bit-set v0.6.0
[INFO] [stderr]    Compiling nt-time v0.8.1
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling lzma-rust v0.1.7
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling cipher v0.5.2
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling hmac v0.13.0
[INFO] [stderr]    Compiling sha1 v0.11.0
[INFO] [stderr]    Compiling aes v0.9.1
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling pbkdf2 v0.13.0
[INFO] [stderr]    Compiling inotify v0.11.4
[INFO] [stderr]    Compiling filetime_creation v0.2.0
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling lzma-rust2 v0.16.5
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling ppmd-rust v1.4.0
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling deflate64 v0.1.12
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling typed-path v0.12.3
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling regex-automata v0.4.15
[INFO] [stderr]    Compiling sevenz-rust v0.6.1
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling lzma-rs v0.3.0
[INFO] [stderr]    Compiling users v0.11.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling regex v1.13.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling ratatui-macros v0.7.2
[INFO] [stderr]    Compiling ansi-to-tui v8.0.1
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling zip v8.6.0
[INFO] [stderr]    Compiling librecommander v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 55s
[INFO] running `Command { std: "docker" "inspect" "730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125", 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" "730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling cmov v0.5.4
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling ctutils v0.4.2
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling zlib-rs v0.6.6
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling cpubits v0.1.1
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling libbz2-rs-sys v0.2.5
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling bit-vec v0.7.0
[INFO] [stderr]    Compiling hybrid-array v0.4.13
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling lru v0.18.1
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]    Compiling filetime_creation v0.2.0
[INFO] [stderr]    Compiling inotify v0.11.4
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling inout v0.2.2
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling bzip2 v0.6.1
[INFO] [stderr]    Compiling bit-set v0.6.0
[INFO] [stderr]    Compiling time v0.3.53
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling lzma-rust v0.1.7
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling hmac v0.13.0
[INFO] [stderr]    Compiling cipher v0.5.2
[INFO] [stderr]    Compiling nt-time v0.8.1
[INFO] [stderr]    Compiling sha1 v0.11.0
[INFO] [stderr]    Compiling pbkdf2 v0.13.0
[INFO] [stderr]    Compiling regex-automata v0.4.15
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling aes v0.9.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling ppmd-rust v1.4.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling typed-path v0.12.3
[INFO] [stderr]    Compiling deflate64 v0.1.12
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling lzma-rust2 v0.16.5
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling sevenz-rust v0.6.1
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling users v0.11.0
[INFO] [stderr]    Compiling lzma-rs v0.3.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling zip v8.6.0
[INFO] [stderr]    Compiling regex v1.13.0
[INFO] [stderr]    Compiling ansi-to-tui v8.0.1
[INFO] [stderr]    Compiling ratatui-macros v0.7.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling librecommander v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 32s
[INFO] running `Command { std: "docker" "inspect" "730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125", 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" "730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.41s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/lc-79b4e7abcc94b45a)
[INFO] [stdout] 
[INFO] [stdout] running 981 tests
[INFO] [stdout] test app::config::tests::settings_from_state_captures_persisted_fields ... ok
[INFO] [stdout] test app::config::tests::settings_deserializes_and_canonicalizes_hotlist_paths ... ok
[INFO] [stdout] test app::config::tests::settings_invalid_bool_falls_back_instead_of_failing_whole_file ... ok
[INFO] [stdout] test app::config::tests::settings_serialize_skips_non_utf8_paths ... ok
[INFO] [stdout] test app::bg_load::tests::publishes_result_when_not_cancelled ... ok
[INFO] [stdout] test app::dir_tree::tests::classify_descent_skips_cycle_check_when_key_unavailable ... ok
[INFO] [stdout] test app::dir_tree::tests::build_tree_expands_distinct_sibling_dirs_independently ... ok
[INFO] [stdout] test app::config::tests::settings_apply_to_state_updates_persisted_fields ... ok
[INFO] [stdout] test app::dir_tree::tests::build_tree_keeps_broken_symlink_as_symlink_not_file ... ok
[INFO] [stdout] test app::dir_tree::tests::build_tree_keeps_entry_on_symlink_cycle ... ok
[INFO] [stdout] test app::bg_load::tests::cancelled_worker_suppresses_result ... ok
[INFO] [stdout] test app::dir_tree::tests::build_tree_flat_structure ... ok
[INFO] [stdout] test app::dir_tree::tests::build_tree_reports_unreadable_root ... ok
[INFO] [stdout] test app::file_type::tests::test_category_by_extension ... ok
[INFO] [stdout] test app::config::tests::settings_toml_roundtrip_preserves_fields ... ok
[INFO] [stdout] test app::dir_tree::tests::classify_descent_keeps_distinct_keys_independent ... ok
[INFO] [stdout] test app::file_type::tests::test_category_flags_take_priority ... ok
[INFO] [stdout] test app::file_type::tests::test_config_exact_names_case_insensitive_all_platforms ... ok
[INFO] [stdout] test app::file_type::tests::test_dotless_config_casefold ... ok
[INFO] [stdout] test app::file_type::tests::test_config_exact_names_case_insensitive_on_linux ... ok
[INFO] [stdout] test app::file_type::tests::test_empty_name_no_crash ... ok
[INFO] [stdout] test app::file_type::tests::test_extensionless_executable_is_executable ... ok
[INFO] [stdout] test app::file_type::tests::test_hidden_archive_is_archive ... ok
[INFO] [stdout] test app::file_type::tests::test_hidden_file_gets_real_type ... ok
[INFO] [stdout] test app::file_type::tests::test_hidden_image_is_image ... ok
[INFO] [stdout] test app::file_type::tests::test_is_archive_negative ... ok
[INFO] [stdout] test app::file_type::tests::test_is_archive_zip ... ok
[INFO] [stdout] test app::file_type::tests::test_is_image_jpg ... ok
[INFO] [stdout] test app::file_type::tests::test_is_image_negative ... ok
[INFO] [stdout] test app::file_type::tests::test_is_image_png ... ok
[INFO] [stdout] test app::file_type::tests::test_is_archive_tar ... ok
[INFO] [stdout] test app::file_type::tests::test_is_source_code_python ... ok
[INFO] [stdout] test app::file_type::tests::test_is_source_code_rust ... ok
[INFO] [stdout] test app::file_type::tests::test_new_audio_extensions ... ok
[INFO] [stdout] test app::dir_tree::tests::recurse_children_keeps_entry_with_read_error_on_metadata_failure ... ok
[INFO] [stdout] test app::dir_tree::tests::hidden_dirs_shown_when_show_hidden_true ... ok
[INFO] [stdout] test app::dir_tree::tests::toggle_collapse_removes_children ... ok
[INFO] [stdout] test app::dir_tree::tests::classify_descent_flags_repeated_key_as_cycle ... ok
[INFO] [stdout] test app::file_type::tests::test_case_insensitive_matching ... ok
[INFO] [stdout] test app::dir_tree::tests::toggle_expand_file_is_noop ... ok
[INFO] [stdout] test app::dir_tree::tests::toggle_expand_adds_children ... ok
[INFO] [stdout] test app::dir_tree::tests::toggle_expand_reports_read_errors_and_stays_collapsed ... ok
[INFO] [stdout] test app::dir_tree::tests::build_tree_respects_max_depth ... ok
[INFO] [stdout] test app::dir_tree::tests::toggle_expand_out_of_bounds_is_noop ... ok
[INFO] [stdout] test app::dir_tree::tests::hidden_dirs_skipped_when_show_hidden_false ... ok
[INFO] [stdout] test app::file_type::tests::test_new_document_extensions ... ok
[INFO] [stdout] test app::file_type::tests::test_new_video_extensions ... ok
[INFO] [stdout] test app::file_type::tests::test_short_name_no_crash ... ok
[INFO] [stdout] test app::file_type::tests::test_symlink_overrides_everything ... ok
[INFO] [stdout] test app::job_runner::tests::format_duration_short_uses_clock_format ... ok
[INFO] [stdout] test app::job_runner::tests::format_progress_message_uses_item_fallback_without_bytes ... ok
[INFO] [stdout] test app::keymap::tests::every_binding_has_non_empty_fields ... ok
[INFO] [stdout] test app::keymap::tests::build_help_message_is_valid ... ok
[INFO] [stdout] test app::keymap::tests::keybindings_are_grouped_by_mode ... ok
[INFO] [stdout] test app::keymap::tests::no_duplicate_keys_per_mode ... ok
[INFO] [stdout] test app::keymap::tests::all_app_modes_have_keymap_or_documented_fallback ... ok
[INFO] [stdout] test app::file_type::tests::test_is_source_code_js ... ok
[INFO] [stdout] test app::file_type::tests::test_is_source_code_negative ... ok
[INFO] [stdout] test app::file_type::tests::test_new_config_extensions ... ok
[INFO] [stdout] test app::file_type::tests::test_script_with_exec_bit_is_code_not_executable ... ok
[INFO] [stdout] test app::mime::tests::extension_mime_archive_font_media ... ok
[INFO] [stdout] test app::mime::tests::extension_mime_image_document_config ... ok
[INFO] [stdout] test app::mime::tests::extension_mime_tar_zst_compound ... ok
[INFO] [stdout] test app::mime::tests::extension_mime_unix_compress_z_is_lzw_not_gzip ... ok
[INFO] [stdout] test app::mime::tests::image_mime_no_longer_holds_postscript ... ok
[INFO] [stdout] test app::mime::tests::should_open_as_text_binary_wins_over_source_config_extension ... ok
[INFO] [stdout] test app::mime::tests::should_open_as_text_source_config_still_text_when_no_nul ... ok
[INFO] [stdout] test app::mime::tests::test_is_image_mime_none_or_other ... ok
[INFO] [stdout] test app::mime::tests::test_is_image_mime_some ... ok
[INFO] [stdout] test app::mime::tests::test_is_known_binary_mime_by_prefix ... ok
[INFO] [stdout] test app::mime::tests::test_is_known_binary_mime_exact ... ok
[INFO] [stdout] test app::mime::tests::test_is_known_binary_mime_text_mimes_are_not_binary ... ok
[INFO] [stdout] test app::mime::tests::test_is_text_application_mime_known ... ok
[INFO] [stdout] test app::mime::tests::test_is_text_application_mime_unknown ... ok
[INFO] [stdout] test app::mime::tests::test_should_open_as_text_existing_tests_still_pass ... ok
[INFO] [stdout] test app::mime::tests::test_should_open_as_text_non_utf8_filename_with_known_extension ... ok
[INFO] [stdout] test app::mime::tests::test_should_open_as_text_nul_byte_scan_limit ... ok
[INFO] [stdout] test app::mime::tests::test_should_open_as_text_nul_byte_within_limit ... ok
[INFO] [stdout] test app::panel_ops::tests::test_panel_visible_height ... ok
[INFO] [stdout] test app::paths::tests::config_path_falls_back_to_home_config ... ok
[INFO] [stdout] test app::panel_ops::tests::test_set_active_panel ... ok
[INFO] [stdout] test app::paths::tests::config_path_rejects_relative_home ... ok
[INFO] [stdout] test app::paths::tests::config_path_rejects_relative_xdg_config_home ... ok
[INFO] [stdout] test app::paths::tests::config_path_returns_none_when_home_empty ... ok
[INFO] [stdout] test app::paths::tests::config_path_uses_xdg_config_home ... ok
[INFO] [stdout] test app::paths::tests::terminal_state_path_rejects_relative_home ... ok
[INFO] [stdout] test app::paths::tests::terminal_state_path_rejects_relative_xdg_cache_home ... ok
[INFO] [stdout] test app::paths::tests::terminal_state_path_uses_xdg_cache_home ... ok
[INFO] [stdout] test app::paths::tests::terminal_state_path_falls_back_to_home_cache ... ok
[INFO] [stdout] test app::paths::tests::terminal_state_path_returns_none_when_no_env ... ok
[INFO] [stdout] test app::types::sorting::tests::sort_field_accepts_legacy_aliases ... ok
[INFO] [stdout] test app::types::sorting::tests::sort_field_canonical_round_trips ... ok
[INFO] [stdout] test app::types::sorting::tests::sort_field_rejects_unknown ... ok
[INFO] [stdout] test app::types::sorting::tests::sort_mode_from_str_handles_multiword_and_alias_fields ... ok
[INFO] [stdout] test app::types::modes::tests::compare_mode_all_is_exhaustive_and_in_order ... ok
[INFO] [stdout] test app::types::sorting::tests::direction_round_trips ... ok
[INFO] [stdout] test app::types::sorting::tests::sort_mode_serde_round_trip ... ok
[INFO] [stdout] test app::types::tests::format_mtime_normal_value_formats ... ok
[INFO] [stdout] test app::types::sorting::tests::sort_mode_serde_round_trip_all_variants ... ok
[INFO] [stdout] test app::types::tests::format_time_far_future_falls_back_to_placeholder ... ok
[INFO] [stdout] test app::types::tests::format_mtime_pre_epoch_formats_absolute ... ok
[INFO] [stdout] test app::types::tests::format_size_u64_max_formats_honest_eb ... ok
[INFO] [stdout] test app::types::tests::set_filtered_all_clears_needs_rebuild ... ok
[INFO] [stdout] test app::types::tests::format_time_pre_epoch_formats_absolute ... ok
[INFO] [stdout] test app::types::tests::test_app_state_inactive_panel_left ... ok
[INFO] [stdout] test app::types::tests::test_app_state_active_panel_right ... ok
[INFO] [stdout] test app::types::tests::set_unfiltered_marks_needs_rebuild ... ok
[INFO] [stdout] test app::types::tests::test_app_state_inactive_panel_right ... ok
[INFO] [stdout] test app::types::tests::format_mtime_far_future_returns_unknown ... ok
[INFO] [stdout] test app::types::tests::test_app_state_active_panel_left ... ok
[INFO] [stdout] test app::types::sorting::tests::sort_mode_from_str_rejects_malformed ... ok
[INFO] [stdout] test app::types::tests::mtime_none_displays_unknown ... ok
[INFO] [stdout] test app::types::tests::name_width_matches_sanitized_display_name ... ok
[INFO] [stdout] test app::types::tests::set_filtered_clears_needs_rebuild ... ok
[INFO] [stdout] test app::paths::tests::user_menu_path_uses_xdg_config_home ... ok
[INFO] [stdout] test app::types::tests::test_app_state_active_panel_mut_left ... ok
[INFO] [stdout] test app::types::tests::test_app_state_active_panel_mut_right ... ok
[INFO] [stdout] test app::types::tests::test_app_state_new_sets_field_defaults ... ok
[INFO] [stdout] test app::types::tests::test_confirm_details_simple ... ok
[INFO] [stdout] test app::types::tests::test_confirm_details_with_empty_files ... ok
[INFO] [stdout] test app::types::tests::test_dialog_kind_confirm ... ok
[INFO] [stdout] test app::types::tests::test_dialog_kind_input ... ok
[INFO] [stdout] test app::types::tests::test_confirm_details_with_files ... ok
[INFO] [stdout] test app::types::tests::test_executable_without_extension_is_executable ... ok
[INFO] [stdout] test app::types::tests::test_dialog_kind_progress ... ok
[INFO] [stdout] test app::types::tests::test_file_entry_display_permissions ... ok
[INFO] [stdout] test app::types::tests::test_file_entry_display_size ... ok
[INFO] [stdout] test app::types::tests::test_hidden_apk_is_archive ... ok
[INFO] [stdout] test app::types::tests::test_file_entry_display_modified ... ok
[INFO] [stdout] test app::types::tests::test_hidden_archive_is_archive ... ok
[INFO] [stdout] test app::types::tests::test_hidden_script_is_code ... ok
[INFO] [stdout] test app::types::tests::test_move_cursor_down_wraps_to_first_entry ... ok
[INFO] [stdout] test app::types::tests::test_move_cursor_down_wrap_with_many_entries_scroll_check ... ok
[INFO] [stdout] test app::types::tests::test_move_cursor_down_with_zero_height_no_scroll_adjust ... ok
[INFO] [stdout] test app::types::tests::test_move_cursor_down_wraps_with_single_entry ... ok
[INFO] [stdout] test app::types::tests::test_dialog_kind_error ... ok
[INFO] [stdout] test app::types::tests::test_move_cursor_up_wrap_then_down_wrap ... ok
[INFO] [stdout] test app::types::tests::test_move_cursor_up_wrap_with_many_entries_scroll_check ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_current_entry_empty_returns_none ... ok
[INFO] [stdout] test app::types::tests::test_move_cursor_up_wraps_with_single_entry ... ok
[INFO] [stdout] test app::types::tests::test_move_cursor_up_wraps_to_last_entry ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_current_entry_out_of_bounds ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_empty_entries_cursor_scroll_zero ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_cursor_stays_at_last_after_entry_removal ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_current_entry_some ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_ensure_cursor_visible_already_visible ... ok
[INFO] [stdout] test app::types::tests::test_app_state_substate_defaults ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_down ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_down_clamped_at_last ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_ensure_cursor_visible_above ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_ensure_cursor_visible_below ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_down_empty ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_down_no_scroll_when_visible ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_down_wraps_to_top ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_up_at_top ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_down_scroll_new_formula ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_down_scroll ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_up ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_ensure_cursor_visible_edge_case ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_current_entry_none_when_empty ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_new ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_up_clamped_at_zero ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_up_no_scroll_when_visible ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_move_cursor_up_scroll_adjust ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_set_selection_at_off ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_set_selection_at_on ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_single_item_cursor ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_toggle_selection_toggle_off ... ok
[INFO] [stdout] test app::types::tests::test_scroll_offset_beyond_entries_len_clamped_by_ensure_visible ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_toggle_selection_toggle_on ... ok
[INFO] [stdout] test app::types::tests::test_sort_mode_default ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_scroll_offset_with_many_entries ... ok
[INFO] [stdout] test app::types::tests::test_symlink_overrides_dir ... ok
[INFO] [stdout] test app::types::tests::test_text_input_mutations_clamp_cursor ... ok
[INFO] [stdout] test app::types::text_input::tests::scroll_keeps_end_cursor_visible_past_wide_grapheme ... ok
[INFO] [stdout] test app::types::tests::test_text_input_set_text_at_end_counts_emoji_zwj_graphemes ... ok
[INFO] [stdout] test app::types::tests::test_total_size_includes_all_entries ... ok
[INFO] [stdout] test app::types::tests::test_total_size_computed_by_recalculate ... ok
[INFO] [stdout] test app::user_menu::tests::test_filter_no_condition_always_passes ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_blank_lines_separate_entries ... ok
[INFO] [stdout] test app::types::tests::test_symlink_overrides_hidden ... ok
[INFO] [stdout] test app::user_menu::tests::test_consecutive_conditions_merged ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_condition_f ... ok
[INFO] [stdout] test app::types::text_input::tests::scroll_offset_zero_when_text_fits ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_entry_no_body_skipped ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_condition_f_empty_pattern_entry_has_no_condition ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_invalid_regex_reports_warning ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_multiple_entries ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_multi_line_body ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_simple_entry ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_unsupported_condition_keeps_entry_visible ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_condition_f_empty_pattern_is_none ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_unsupported_condition_reports_warning ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_comments_ignored ... ok
[INFO] [stdout] test app::user_menu::tests::test_locate_menu_file_prefers_local_over_global ... ok
[INFO] [stdout] test app::types::tests::test_panel_state_selected_entries ... ok
[INFO] [stdout] test app::user_menu::tests::test_filter_condition_match ... ok
[INFO] [stdout] test app::user_menu::tests::test_shell_quote_with_single_quote ... ok
[INFO] [stdout] test app::user_menu::tests::test_shell_quote_simple ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_double_percent_literal ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_percent_D ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_percent_d ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_percent_f ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_percent_t_distinguishes_non_utf8_from_prefix_mismatch ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_percent_t_keeps_relative_paths_under_active_dir ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_percent_t_multiple_files ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_percent_f_spaces ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_percent_t_rejects_tagged_outside_active_dir ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_percent_s_is_alias_for_t ... ok
[INFO] [stdout] test app::user_menu::tests::test_shell_quote_with_spaces ... ok
[INFO] [stdout] test app::watcher_sync::tests::event_is_panel_dir_cached_uses_injected_canonical_without_io ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_percent_t_no_tagged_falls_back_to_f ... ok
[INFO] [stdout] test app::user_menu::tests::test_unindented_plus_without_whitespace_treated_as_body ... ok
[INFO] [stdout] test app::user_menu::tests::test_subst_unknown_token_passthrough ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_condition_before_hotkey ... ok
[INFO] [stdout] test app::user_menu::tests::test_parse_invalid_regex_keeps_entry_visible ... ok
[INFO] [stdout] test app::watcher_sync::tests::canonical_desired_paths_matches_watch_key_representation ... ok
[INFO] [stdout] test app::watcher_sync::tests::set_path_updates_canonical_path ... ok
[INFO] [stdout] test app::watcher_sync::tests::path_parent_matches_keeps_raw_fallback_for_missing_paths ... ok
[INFO] [stdout] test app::watcher_sync::tests::full_refresh_on_error_clears_entries_and_resets_viewport ... ok
[INFO] [stdout] test app::watcher_sync::tests::stale_events_ignored_after_path_change ... ok
[INFO] [stdout] test app::watcher_sync::tests::broken_symlink_handled_gracefully ... ok
[INFO] [stdout] test app::watcher_sync::tests::symlinked_panel_dir_tracks_target ... ok
[INFO] [stdout] test app::watcher_sync::tests::full_refresh_recovers_after_error ... ok
[INFO] [stdout] test app::watcher_sync::tests::renamed_panel_dir_updates_path_and_refreshes ... ok
[INFO] [stdout] test app::watcher_sync::tests::deleted_panel_dir_navigates_to_parent_and_refreshes ... ok
[INFO] [stdout] test app::watcher_sync::tests::created_child_file_appears_in_panel ... ok
[INFO] [stdout] test app::watcher_sync::tests::sync_watcher_paths_succeeds_with_two_valid_dirs ... ok
[INFO] [stdout] test app::watcher_sync::tests::rebuild_visible_entries_keeps_path_index_consistent_for_watcher_upsert ... ok
[INFO] [stdout] test app::watcher_sync::tests::overflow_event_triggers_full_refresh_on_both_panels ... ok
[INFO] [stdout] test app::watcher_sync::tests::sync_watcher_paths_keeps_existing_panel_when_other_panel_missing ... ok
[INFO] [stdout] test app::watcher_sync::tests::full_refresh_preserves_selected_entries ... ok
[INFO] [stdout] test app::watcher_sync::tests::sync_watcher_paths_cooldown_allows_different_paths ... ok
[INFO] [stdout] test app::watcher_sync::tests::watcher_upsert_hides_hidden_when_hidden_disabled ... ok
[INFO] [stdout] test app::watcher_sync::tests::sync_watcher_paths_does_not_set_last_synced_when_path_missing ... ok
[INFO] [stdout] test fs::cha::tests::cha_broken_symlink_not_executable ... ok
[INFO] [stdout] test app::watcher_sync::tests::sync_watcher_paths_cooldown_skips_early_retries ... ok
[INFO] [stdout] test fs::cha::tests::cha_display_permissions ... ok
[INFO] [stdout] test app::watcher_sync::tests::watcher_updates_when_metadata_changes ... ok
[INFO] [stdout] test app::watcher_sync::tests::deleted_root_dir_stays_at_root_and_refreshes ... ok
[INFO] [stdout] test app::watcher_sync::tests::watcher_remove_updates_visible_entries_and_clamps_cursor_scroll ... ok
[INFO] [stdout] test fs::cha::tests::cha_from_link_metadata_orphan ... ok
[INFO] [stdout] test fs::cha::tests::cha_dummy_dir ... ok
[INFO] [stdout] test app::watcher_sync::tests::watcher_upsert_uses_panel_sort_mode ... ok
[INFO] [stdout] test app::watcher_sync::tests::watcher_remove_handles_deleted_child_path ... ok
[INFO] [stdout] test fs::cha::tests::cha_from_link_metadata_with_target ... ok
[INFO] [stdout] test fs::cha::tests::cha_hits_identity ... ok
[INFO] [stdout] test fs::cha::tests::cha_kind_flags ... ok
[INFO] [stdout] test fs::cha::tests::cha_hits_different_mtime ... ok
[INFO] [stdout] test app::watcher_sync::tests::watcher_upsert_adds_visible_entry_sorted_and_updates_stats ... ok
[INFO] [stdout] test app::watcher_sync::tests::watcher_skips_update_when_metadata_unchanged ... ok
[INFO] [stdout] test app::watcher_sync::tests::deleted_child_file_removes_from_panel ... ok
[INFO] [stdout] test fs::cha::tests::cha_link_mode_without_follow_flag ... ok
[INFO] [stdout] test fs::cha::tests::cha_mode_file_type_detection ... ok
[INFO] [stdout] test fs::cha::tests::cha_mode_permissions ... ok
[INFO] [stdout] test fs::cha::tests::cha_mode_preserves_raw_bits ... ok
[INFO] [stdout] test fs::cha::tests::cha_mode_special_permissions ... ok
[INFO] [stdout] test fs::cha::tests::cha_mode_special_types_are_unknown ... ok
[INFO] [stdout] test fs::cha::tests::cha_with_executable ... ok
[INFO] [stdout] test fs::cha::tests::cha_with_hidden ... ok
[INFO] [stdout] test fs::cha::tests::negative_ctime_fraction_is_reversed ... ok
[INFO] [stdout] test fs::path::tests::clean_curdir ... ok
[INFO] [stdout] test fs::path::tests::clean_multiple_curdir ... ok
[INFO] [stdout] test fs::cha::tests::cha_symlink_dir_is_dir_and_link ... ok
[INFO] [stdout] test fs::path::tests::clean_empty_result ... ok
[INFO] [stdout] test fs::path::tests::clean_leading_parentdir ... ok
[INFO] [stdout] test fs::cha::tests::cha_symlink_file_not_dir_but_link ... ok
[INFO] [stdout] test fs::path::tests::clean_parentdir_at_root ... ok
[INFO] [stdout] test fs::path::tests::clean_parentdir ... ok
[INFO] [stdout] test fs::path::tests::clean_parentdir_past_prefix ... ok
[INFO] [stdout] test fs::path::tests::clean_root_stays ... ok
[INFO] [stdout] test fs::path::tests::env_var_brace ... ok
[INFO] [stdout] test fs::path::tests::env_var_brace_unknown_stays ... ok
[INFO] [stdout] test fs::path::tests::env_var_dollar_at_end ... ok
[INFO] [stdout] test fs::path::tests::env_var_dollar_simple ... ok
[INFO] [stdout] test fs::path::tests::env_var_empty_brace ... ok
[INFO] [stdout] test fs::path::tests::env_var_multiple ... ok
[INFO] [stdout] test fs::path::tests::env_var_dollar_not_var ... ok
[INFO] [stdout] test fs::path::tests::env_var_unclosed_brace ... ok
[INFO] [stdout] test fs::path::tests::env_var_unknown_stays ... ok
[INFO] [stdout] test fs::path::tests::expand_brace_unicode_varname ... ok
[INFO] [stdout] test fs::path::tests::expand_brace_unknown_stays ... ok
[INFO] [stdout] test fs::path::tests::find_brace_close_balanced_inner ... ok
[INFO] [stdout] test fs::path::tests::expand_dollar_unicode_after ... ok
[INFO] [stdout] test fs::path::tests::find_brace_close_empty_var ... ok
[INFO] [stdout] test fs::path::tests::find_brace_close_nested ... ok
[INFO] [stdout] test fs::path::tests::find_brace_close_no_close ... ok
[INFO] [stdout] test fs::path::tests::find_brace_close_simple ... ok
[INFO] [stdout] test fs::path::tests::find_brace_close_unbalanced_inner ... ok
[INFO] [stdout] test fs::path::tests::literal_brace_roundtrip ... ok
[INFO] [stdout] test fs::path::tests::expand_env_dollar_brace ... ok
[INFO] [stdout] test fs::path::tests::resolve_relative ... ok
[INFO] [stdout] test fs::path::tests::resolve_absolute ... ok
[INFO] [stdout] test fs::path::tests::expand_empty ... ok
[INFO] [stdout] test fs::path::tests::resolve_tilde ... ok
[INFO] [stdout] test fs::path::tests::resolve_with_dot ... ok
[INFO] [stdout] test fs::path::tests::expand_whitespace_only ... ok
[INFO] [stdout] test fs::path::tests::clean_complex ... ok
[INFO] [stdout] test fs::reader::tests::test_format_size_bytes ... ok
[INFO] [stdout] test fs::path::tests::strip_leading_backslash_preserved_unix ... ok
[INFO] [stdout] test fs::path::tests::strip_leading_forward_slash ... ok
[INFO] [stdout] test fs::reader::tests::test_format_size_megabytes ... ok
[INFO] [stdout] test fs::reader::tests::test_format_size_terabytes ... ok
[INFO] [stdout] test fs::reader::tests::test_format_size_zero ... ok
[INFO] [stdout] test fs::reader::tests::test_is_executable ... ok
[INFO] [stdout] test fs::reader::tests::test_os_str_to_arc_invalid_utf8_falls_back_lossy ... ok
[INFO] [stdout] test fs::reader::tests::test_os_str_to_arc_valid_utf8 ... ok
[INFO] [stdout] test fs::reader::tests::test_os_str_to_string_helper ... ok
[INFO] [stdout] test fs::reader::tests::test_get_file_info_file ... ok
[INFO] [stdout] test fs::reader::tests::test_get_file_info_directory ... ok
[INFO] [stdout] test fs::reader::tests::test_format_size_gigabytes ... ok
[INFO] [stdout] test fs::reader::tests::test_format_permissions_rwx ... ok
[INFO] [stdout] test fs::reader::tests::test_format_size_kilobytes ... ok
[INFO] [stdout] test fs::path::tests::expand_tilde_only ... ok
[INFO] [stdout] test fs::reader::tests::test_remove_entry_preserves_parent_entry ... ok
[INFO] [stdout] test fs::path::tests::expand_tilde_with_subpath ... ok
[INFO] [stdout] test fs::reader::tests::test_remove_entry_removes_matching_path ... ok
[INFO] [stdout] test fs::path::tests::expand_unknown_var_stays ... ok
[INFO] [stdout] test fs::path::tests::expand_no_tilde ... ok
[INFO] [stdout] test fs::path::tests::expand_nested_braces_unknown ... ok
[INFO] [stdout] test fs::reader::tests::test_upsert_entry_adds_new_entry ... ok
[INFO] [stdout] test fs::reader::tests::test_upsert_with_empty_unfiltered_inserts_entry ... ok
[INFO] [stdout] test fs::watcher::tests::clear_pending_from_keeps_new_from_for_same_path ... ok
[INFO] [stdout] test fs::watcher::tests::convert_event_maps_split_rename_events ... ok
[INFO] [stdout] test fs::watcher::tests::convert_event_rename_both_with_one_path_falls_back_to_modified ... ok
[INFO] [stdout] test fs::watcher::tests::cookie_mismatch_to_emits_created_and_leaves_orphaned_from ... ok
[INFO] [stdout] test fs::watcher::tests::empty_paths_on_rename_from_and_to_do_not_panic_or_emit ... ok
[INFO] [stdout] test fs::watcher::tests::flush_pending_does_not_emit_while_paused ... ok
[INFO] [stdout] test fs::watcher::tests::flush_pending_emits_coalesced_event_after_debounce_window ... ok
[INFO] [stdout] test fs::reader::tests::test_read_directory_missing_path_still_returns_error ... ok
[INFO] [stdout] test fs::watcher::tests::flush_pending_emits_deleted_for_stale_from ... ok
[INFO] [stdout] test fs::watcher::tests::flush_pending_does_not_block_when_queue_is_full ... ok
[INFO] [stdout] test fs::reader::tests::test_get_file_info_executable ... ok
[INFO] [stdout] test fs::reader::tests::test_read_directory_basic ... ok
[INFO] [stdout] test fs::reader::tests::test_upsert_adds_hidden_to_unfiltered ... ok
[INFO] [stdout] test fs::watcher::tests::flush_pending_keeps_fresh_from ... ok
[INFO] [stdout] test fs::watcher::tests::flush_pending_keeps_stale_from_when_queue_is_full ... ok
[INFO] [stdout] test fs::reader::tests::test_read_directory_hidden_files ... ok
[INFO] [stdout] test fs::reader::tests::test_read_directory_symlinks ... ok
[INFO] [stdout] test fs::watcher::tests::convert_event_emits_all_create_paths ... ok
[INFO] [stdout] test fs::watcher::tests::convert_event_maps_rename_any_to_modified ... ok
[INFO] [stdout] test fs::watcher::tests::convert_event_maps_rename_both_to_single_renamed ... ok
[INFO] [stdout] test fs::reader::tests::test_upsert_entry_updates_existing_and_preserves_selection ... ok
[INFO] [stdout] test fs::watcher::tests::flush_pending_retries_full_debounced_event ... ok
[INFO] [stdout] test fs::watcher::tests::multiple_from_same_dir_buffered_and_paired_fifo ... ok
[INFO] [stdout] test fs::watcher::tests::multiple_from_same_parent_both_buffered ... ok
[INFO] [stdout] test fs::watcher::tests::process_debounce_with_skip_debounce_true_never_suppresses ... ok
[INFO] [stdout] test fs::watcher::tests::process_debounce_coalesces_suppressed_event ... ok
[INFO] [stdout] test fs::watcher::tests::reinsert_or_overflow_sends_overflow_marker ... ok
[INFO] [stdout] test fs::watcher::tests::pause_clears_all_state ... ok
[INFO] [stdout] test fs::watcher::tests::rename_pairing_matches_by_cookie_not_fifo ... ok
[INFO] [stdout] test fs::watcher::tests::process_debounce_boundary_at_exact_duration_emits_event ... ok
[INFO] [stdout] test menu::tests::menu_action_at_maps_file_and_command_menus ... ok
[INFO] [stdout] test fs::watcher::tests::reinsert_or_overflow_sets_pending_flag_on_full_queue ... ok
[INFO] [stdout] test fs::watcher::tests::from_beyond_pending_from_limit_emits_overflow ... ok
[INFO] [stdout] test fs::watcher::tests::per_parent_rename_pairing_does_not_mismatch_across_dirs ... ok
[INFO] [stdout] test fs::watcher::tests::watcher_created_with_primary_only_no_fallback ... ok
[INFO] [stdout] test fs::watcher::tests::watcher_pause_and_resume_do_not_panic ... ok
[INFO] [stdout] test fs::watcher::tests::stale_from_per_parent_times_out_independently ... ok
[INFO] [stdout] test menu::tests::menu_action_at_maps_panel_menus ... ok
[INFO] [stdout] test app::watcher_sync::tests::watcher_upsert_respects_filter_and_preserves_selection ... ok
[INFO] [stdout] test fs::watcher::tests::watcher_unwatch_cleans_state_when_symlink_target_vanished ... ok
[INFO] [stdout] test fs::watcher::tests::watcher_unwatch_cleans_state_when_directory_vanished ... ok
[INFO] [stdout] test ops::archive::sevenz::tests::process_entry_cancel_aborts ... ok
[INFO] [stdout] test ops::archive::sevenz::tests::process_entry_rejects_path_traversal ... ok
[INFO] [stdout] test menu::tests::menu_action_at_maps_options_menu ... ok
[INFO] [stdout] test menu::tests::menu_action_at_rejects_out_of_range_items ... ok
[INFO] [stdout] test fs::watcher::tests::watcher_can_watch_and_unwatch_directory ... ok
[INFO] [stdout] test ops::archive::sevenz::tests::rollback_preserves_preexisting_dir ... ok
[INFO] [stdout] test fs::watcher::tests::lock_or_recover_rebuilds_state_on_poison ... ok
[INFO] [stdout] test ops::archive::sevenz::tests::process_entry_rejects_symlink_at_dest ... ok
[INFO] [stdout] test ops::archive::sevenz::tests::sanitize_rejects_parent_dir ... ok
[INFO] [stdout] test ops::archive::sevenz::tests::sanitize_rejects_absolute_path ... ok
[INFO] [stdout] test ops::archive::tar::tests::extract_rejects_hard_link_entry ... ok
[INFO] [stdout] test ops::archive::tar::tests::extract_raw_tar_roundtrip ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_magic_bytes_zip ... ok
[INFO] [stdout] test ops::archive::tar::tests::extract_canceled_returns_terminal_error ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_7z_by_extension ... ok
[INFO] [stdout] test ops::archive::tar::tests::extract_rejects_dotdot_traversal ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_magic_bytes_7z ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_path_without_filename_returns_error ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_case_insensitive_extension ... ok
[INFO] [stdout] test ops::archive::tar::tests::extract_rejects_entry_through_symlinked_dir ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_plain_tar_roundtrip_preserves_contents ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_tar_by_extension ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_tar_gz_by_extension ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_tbz_by_extension ... ok
[INFO] [stdout] test ops::archive::tests::total_size_guard_rejects_over_limit ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_unknown_extension_returns_error ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_tar_bz2_by_extension ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_tgz_by_extension ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_zip_by_extension ... ok
[INFO] [stdout] test ops::archive::tests::total_size_guard_saturates_on_overflow ... ok
[INFO] [stdout] test ops::archive::tar::tests::rollback_preserves_preexisting_dir ... ok
[INFO] [stdout] test ops::archive::zip::tests::compression_method_name_covers_all_supported ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_txz_by_extension ... ok
[INFO] [stdout] test ops::archive::zip::tests::create_archive_empty_sources_returns_no_valid_sources ... ok
[INFO] [stdout] test ops::archive::zip::tests::zip_datetime_handles_minimum_year ... ok
[INFO] [stdout] test ops::archive::zip::tests::create_zip_canceled_returns_error_without_panicking ... ok
[INFO] [stdout] test ops::archive::zip::tests::create_zip_basic_with_multiple_files ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_cancel_before_start_copies_nothing ... ok
[INFO] [stdout] test ops::archive::zip::tests::extract_rejects_entry_through_symlinked_dir ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_tar_xz_by_extension ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_nonexistent_source_reports_error ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_tar_zst_by_extension ... ok
[INFO] [stdout] test ops::archive::tests::tar_zst_roundtrip_preserves_contents ... ok
[INFO] [stdout] test ops::archive::zip::tests::create_zip_includes_nested_dir_entries ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_error_has_expected_kind ... ok
[INFO] [stdout] test ops::archive::tests::verify_within_dest_rejects_symlinked_subdir ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_overwrite_true_replaces_existing ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_files_to_dest ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_symlink_preserves_link_not_target ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_duplicate_dest_reports_error ... ok
[INFO] [stdout] test ops::batch::tests::batch_delete_cancel_before_start_deletes_nothing ... ok
[INFO] [stdout] test ops::batch::tests::batch_delete_nonexistent_reports_error ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_cancel_stops_between_items ... ok
[INFO] [stdout] test ops::batch::tests::batch_delete_files ... ok
[INFO] [stdout] test ops::batch::tests::batch_delete_reports_item_byte_progress ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_post_action_cancel_reports_canceled ... ok
[INFO] [stdout] test ops::batch::tests::batch_move_nonexistent_source_reports_error ... ok
[INFO] [stdout] test ops::batch::tests::batch_progress_clamps_bytes_to_total ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_reports_cumulative_byte_progress ... ok
[INFO] [stdout] test ops::batch::tests::batch_delete_reports_progress ... ok
[INFO] [stdout] test ops::archive::tests::detect_format_tar_xz_magic_roundtrip ... ok
[INFO] [stdout] test ops::batch::tests::batch_delete_symlink_preserves_target ... ok
[INFO] [stdout] test ops::batch::tests::dedup_paths_keeps_symlink_and_target_separate ... ok
[INFO] [stdout] test ops::batch::tests::batch_move_cancel_reports_canceled ... ok
[INFO] [stdout] test ops::batch::tests::dedup_paths_parent_removes_child ... ok
[INFO] [stdout] test ops::batch::tests::empty_sources_batch_delete_returns_empty ... ok
[INFO] [stdout] test ops::batch::tests::format_summary_canceled_all_errors ... ok
[INFO] [stdout] test ops::batch::tests::format_summary_canceled_no_progress ... ok
[INFO] [stdout] test ops::batch::tests::format_summary_canceled_with_errors ... ok
[INFO] [stdout] test ops::batch::tests::format_summary_all_errors ... ok
[INFO] [stdout] test ops::batch::tests::dedup_paths_canonical_failure_keeps_nonexistent ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_large_file_progress_never_exceeds_total ... ok
[INFO] [stdout] test ops::batch::tests::batch_create_archive_cancel_reports_canceled ... ok
[INFO] [stdout] test ops::batch::tests::batch_move_files_to_dest ... ok
[INFO] [stdout] test ops::batch::tests::format_summary_canceled_with_progress ... ok
[INFO] [stdout] test ops::batch::tests::format_summary_copy_success ... ok
[INFO] [stdout] test ops::batch::tests::format_summary_delete_single ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_small_files_progress_invariants ... ok
[INFO] [stdout] test ops::batch::tests::empty_sources_batch_copy_returns_empty ... ok
[INFO] [stdout] test ops::batch::tests::empty_sources_batch_move_returns_empty ... ok
[INFO] [stdout] test ops::batch::tests::format_summary_move_partial_error ... ok
[INFO] [stdout] test ops::batch::tests::format_summary_single_error ... ok
[INFO] [stdout] test ops::batch::tests::format_summary_unknown_label_passes_through ... ok
[INFO] [stdout] test ops::chunk_copy::tests::cancel_before_start_returns_interrupted ... ok
[INFO] [stdout] test ops::batch::tests::batch_copy_unicode_filenames ... ok
[INFO] [stdout] test ops::batch::tests::batch_move_symlink_preserves_link_not_target ... ok
[INFO] [stdout] test ops::batch::tests::dedup_paths_preserves_originals ... ok
[INFO] [stdout] test ops::batch::tests::format_summary_unknown_default_label ... ok
[INFO] [stdout] test ops::chunk_copy::tests::existing_dest_returns_already_exists_without_overwrite ... ok
[INFO] [stdout] test ops::chunk_copy::tests::existing_temp_file_returns_already_exists_without_dest ... ok
[INFO] [stdout] test ops::chunk_copy::tests::copies_file_preserving_unix_permissions ... ok
[INFO] [stdout] test ops::chunk_copy::tests::copies_file_larger_than_buffer_with_progress ... ok
[INFO] [stdout] test ops::chunk_copy::tests::test_copy_with_progress_symlink_to_absent_dest ... ok
[INFO] [stdout] test ops::chunk_copy::tests::copies_symlink_preserving_target ... ok
[INFO] [stdout] test ops::compare::tests::dirs_always_match_in_quick_mode ... ok
[INFO] [stdout] test ops::chunk_copy::tests::copies_small_file_with_progress ... ok
[INFO] [stdout] test ops::compare::tests::apply_marks_selected_flags ... ok
[INFO] [stdout] test ops::chunk_copy::tests::empty_file_copy_creates_existing_empty_dest ... ok
[INFO] [stdout] test ops::chunk_copy::tests::test_publish_temp_overwrite_refuses_directory_dest ... ok
[INFO] [stdout] test ops::chunk_copy::tests::copies_file_preserving_mtime ... ok
[INFO] [stdout] test ops::compare::tests::dirs_ignore_filesystem_size_in_size_mode ... ok
[INFO] [stdout] test ops::compare::tests::dirs_match_in_thorough_mode_when_identical ... ok
[INFO] [stdout] test ops::compare::tests::dirs_ignore_filesystem_size_and_mtime_in_thorough_mode ... ok
[INFO] [stdout] test ops::chunk_copy::tests::test_copy_with_progress_symlink_overwrite_replaces_link_not_target ... ok
[INFO] [stdout] test ops::compare::tests::dotdot_entries_are_ignored ... ok
[INFO] [stdout] test ops::chunk_copy::tests::test_copy_with_progress_symlink_no_overwrite_existing_dest ... ok
[INFO] [stdout] test ops::chunk_copy::tests::test_publish_temp_overwrite_true ... ok
[INFO] [stdout] test ops::compare::tests::dirs_match_in_size_mode_when_equal ... ok
[INFO] [stdout] test ops::compare::tests::duplicate_names_use_first_wins ... ok
[INFO] [stdout] test ops::compare::tests::empty_panels_zero_diffs ... ok
[INFO] [stdout] test ops::compare::tests::mixed_same_name_different_size_counts_differing ... ok
[INFO] [stdout] test ops::compare::tests::quick_mode_matches_by_name_only ... ok
[INFO] [stdout] test ops::compare::tests::symlink_vs_regular_file_type_mismatch ... ok
[INFO] [stdout] test ops::compare::tests::symlinks_match_by_name_regardless_of_target_size ... ok
[INFO] [stdout] test ops::compare::tests::size_mode_detects_different_sizes ... ok
[INFO] [stdout] test ops::compare::tests::size_mode_equal_size_files_match ... ok
[INFO] [stdout] test ops::compare::tests::thorough_mode_matches_on_size_and_mtime ... ok
[INFO] [stdout] test ops::compare::tests::thorough_both_mtime_none_same_size_marks_differing ... ok
[INFO] [stdout] test ops::compare::tests::dot_entries_are_ignored ... ok
[INFO] [stdout] test ops::compare::tests::thorough_mtime_within_tolerance_matches ... ok
[INFO] [stdout] test ops::compare::tests::thorough_mtime_outside_tolerance_differs ... ok
[INFO] [stdout] test ops::compare::tests::thorough_one_mtime_none_other_present_differ ... ok
[INFO] [stdout] test ops::compare::tests::type_mismatch_dir_vs_file_differs_in_thorough ... ok
[INFO] [stdout] test ops::file_ops::common::tests::normalize_suffix_absolute_path_uses_root ... ok
[INFO] [stdout] test ops::file_ops::common::tests::normalize_suffix_current_dir_ignored ... ok
[INFO] [stdout] test ops::file_ops::common::tests::normalize_suffix_parent_dir ... ok
[INFO] [stdout] test ops::file_ops::common::tests::normalize_suffix_parent_dir_above_root ... ok
[INFO] [stdout] test ops::file_ops::common::tests::normalize_suffix_simple ... ok
[INFO] [stdout] test ops::file_ops::delete::tests::ensure_entry_not_critical_rejects_file_in_critical_dir ... ok
[INFO] [stdout] test ops::file_ops::delete::tests::ensure_entry_not_critical_allows_ordinary_file ... ok
[INFO] [stdout] test ops::file_ops::delete::tests::validate_not_critical_rejects_critical_paths ... ok
[INFO] [stdout] test ops::file_ops::delete::tests::ensure_entry_not_critical_judges_symlink_by_location_not_target ... ok
[INFO] [stdout] test ops::file_ops::entry_ops::tests::rename_refuses_to_clobber_dangling_symlink ... ok
[INFO] [stdout] test ops::chunk_copy::tests::copy_rejects_fifo_source_without_hanging ... ok
[INFO] [stdout] test ops::file_ops::entry_ops::tests::rename_to_fresh_name_succeeds ... ok
[INFO] [stdout] test app::watcher_sync::tests::poll_watcher_events_processes_at_most_256_events ... ok
[INFO] [stdout] test ops::file_ops::move_ops::tests::copy_then_remove_src_cancel_after_copy_rolls_back_dest_and_keeps_source ... ok
[INFO] [stdout] test ops::file_ops::move_ops::tests::copy_then_remove_src_success_skips_rollback ... ok
[INFO] [stdout] test ops::file_ops::move_ops::tests::copy_then_remove_src_overwrite_cancel_after_copy_keeps_dest ... ok
[INFO] [stdout] test ops::file_ops::move_ops::tests::symlink_move_copy_checks_cancel_before_copy ... ok
[INFO] [stdout] test ops::file_ops::tests::test_batch_delete_continues_on_error ... ok
[INFO] [stdout] test ops::file_ops::tests::test_batch_copy_multiple_files ... ok
[INFO] [stdout] test ops::file_ops::tests::test_apply_metadata_via_copy_preserves_mode_and_times ... ok
[INFO] [stdout] test ops::file_ops::entry_ops::tests::chmod_succeeds_on_zero_permission_file ... ok
[INFO] [stdout] test ops::file_ops::tests::test_chmod_normal_file ... ok
[INFO] [stdout] test app::debug_log::tests::log_truncates_oversized_file ... ok
[INFO] [stdout] test ops::file_ops::tests::test_batch_copy_same_dir_overwrites ... ok
[INFO] [stdout] test ops::file_ops::tests::test_batch_delete_multiple_files ... ok
[INFO] [stdout] test ops::file_ops::tests::test_batch_copy_mixed_files_and_dirs ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_rejects_descendant_destination ... ok
[INFO] [stdout] test app::debug_log::tests::log_writes_to_file ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_with_progress_cancel_keeps_existing_temp_collision ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_file_basic ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_with_progress_cancel_before_start_leaves_no_dest ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_file_overwrite_true ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_file_preserves_permissions ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_overwrite_true_preserves_existing_dir_on_publish_error ... ok
[INFO] [stdout] test ops::file_ops::tests::test_chmod_does_not_follow_symlink ... ok
[INFO] [stdout] test ops::file_ops::tests::test_create_directory_rejects_parent_component ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_file_same_location ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_rejects_parent_component_descendant_destination ... ok
[INFO] [stdout] test ops::file_ops::tests::test_delete_dir_recursive_cancelable_removes_top_level_symlink_not_target ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_does_not_follow_symlinked_directories ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_existing_file_destination_does_not_overwrite ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_overwrite_true_removes_existing_dir ... ok
[INFO] [stdout] test ops::file_ops::tests::test_delete_dir_recursive_rejects_critical_dir_prefix ... ok
[INFO] [stdout] test ops::file_ops::tests::test_delete_dir_recursive_rejects_root_directory ... ok
[INFO] [stdout] test ops::file_ops::tests::test_delete_nonexistent ... ok
[INFO] [stdout] test ops::file_ops::tests::test_delete_dir_recursive ... ok
[INFO] [stdout] test ops::file_ops::tests::test_move_entry_existing_destination_does_not_overwrite ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_file_with_progress_reports_bytes ... ok
[INFO] [stdout] test ops::file_ops::tests::test_delete_dir_recursive_removes_top_level_symlink_not_target ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_overwrite_true_removes_existing_file ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_reserves_unique_temp_when_collision_exists ... ok
[INFO] [stdout] test ops::file_ops::tests::test_move_entry_dir ... ok
[INFO] [stdout] test ops::file_ops::tests::test_create_directory ... ok
[INFO] [stdout] test ops::file_ops::tests::test_delete_dir_recursive_removes_symlink_not_target ... ok
[INFO] [stdout] test ops::file_ops::tests::test_move_entry_rejects_parent_component_descendant_destination ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_file_existing_destination_does_not_overwrite ... ok
[INFO] [stdout] test ops::file_ops::tests::test_move_entry_overwrite_true ... ok
[INFO] [stdout] test ops::helpers::tests::test_action_label ... ok
[INFO] [stdout] test ops::file_ops::tests::test_rename_entry_existing_destination ... ok
[INFO] [stdout] test ops::file_ops::tests::test_delete_file ... ok
[INFO] [stdout] test ops::file_ops::tests::test_rename_entry_same_name_is_existing_dest ... ok
[INFO] [stdout] test ops::helpers::tests::test_dir_size ... ok
[INFO] [stdout] test ops::helpers::tests::test_dir_size_cancellable ... ok
[INFO] [stdout] test ops::helpers::tests::test_dir_size_seeds_root_inode ... ok
[INFO] [stdout] test ops::helpers::tests::test_dir_size_nonexistent ... ok
[INFO] [stdout] test ops::helpers::tests::test_lexical_path_starts_with ... ok
[INFO] [stdout] test ops::file_ops::tests::test_rename_entry_rejects_path_separator ... ok
[INFO] [stdout] test ops::file_ops::tests::test_rename_entry ... ok
[INFO] [stdout] test ops::helpers::tests::test_path_size_dir_calls_dir_size ... ok
[INFO] [stdout] test ops::file_ops::tests::test_move_entry_rejects_descendant_destination ... ok
[INFO] [stdout] test ops::file_ops::tests::test_publish_temp_dir_restores_backup_when_replace_fails ... ok
[INFO] [stdout] test ops::file_ops::tests::test_move_entry_file ... ok
[INFO] [stdout] test ops::helpers::tests::test_path_size_file ... ok
[INFO] [stdout] test ops::file_ops::tests::test_move_entry_with_progress_cancel_before_start_preserves_source ... ok
[INFO] [stdout] test ops::natsort::tests::natsort_unicode_ascii_fold_only ... ok
[INFO] [stdout] test ops::natsort::tests::test_dates_fractions_words ... ok
[INFO] [stdout] test ops::natsort::tests::test_empty_and_whitespace ... ok
[INFO] [stdout] test ops::natsort::tests::test_leading_digits_natural ... ok
[INFO] [stdout] test ops::natsort::tests::test_leading_zero_tiebreak ... ok
[INFO] [stdout] test ops::helpers::tests::test_dir_size_does_not_follow_symlinked_directories ... ok
[INFO] [stdout] test ops::natsort::tests::test_long_digit_sequences ... ok
[INFO] [stdout] test ops::natsort::tests::test_mixed_zero_padded_and_unpadded ... ok
[INFO] [stdout] test ops::natsort::tests::test_leading_zeros ... ok
[INFO] [stdout] test ops::natsort::tests::test_natsort_polish_diacritics ... ok
[INFO] [stdout] test ops::natsort::tests::test_nat_key_segment_cross_variant ... ok
[INFO] [stdout] test ops::natsort::tests::test_natsort_sensitive_ascii ... ok
[INFO] [stdout] test ops::natsort::tests::test_antisymmetry ... ok
[INFO] [stdout] test ops::natsort::tests::test_strip_leading_zeros ... ok
[INFO] [stdout] test ops::natsort::tests::test_natural_ascending ... ok
[INFO] [stdout] test ops::natsort::tests::test_file_sequence_order ... ok
[INFO] [stdout] test ops::natsort::tests::test_transitive_ordering ... ok
[INFO] [stdout] test ops::search::content::tests::search_content_case_sensitive_no_match ... ok
[INFO] [stdout] test ops::search::content::tests::search_content_classic_mac_cr_line_endings ... ok
[INFO] [stdout] test ops::natsort::tests::test_natsort_key_case_sensitive_no_fold ... ok
[INFO] [stdout] test ops::natsort::tests::test_natsort_key_mixed_alpha_numeric ... ok
[INFO] [stdout] test ops::search::content::tests::search_content_cancel_during_long_line_skip ... ok
[INFO] [stdout] test ops::search::content::tests::search_content_case_insensitive_match ... ok
[INFO] [stdout] test ops::helpers::tests::test_path_sizes_cancels_between_top_level_paths ... ok
[INFO] [stdout] test ops::search::content::tests::search_content_control_bytes_without_nul_are_binary ... ok
[INFO] [stdout] test ops::search::content::tests::search_content_skips_symlinked_file ... ok
[INFO] [stdout] test ops::search::content::tests::search_content_single_file_path ... ok
[INFO] [stdout] test ops::search::content::tests::search_content_empty_directory ... ok
[INFO] [stdout] test ops::natsort::tests::test_natsort_emoji_filenames ... ok
[INFO] [stdout] test ops::natsort::tests::test_natsort_sensitive_digits ... ok
[INFO] [stdout] test ops::search::content::tests::test_file_search_empty_query ... ok
[INFO] [stdout] test ops::search::content::tests::test_search_content_counts_skipped_long_lines ... ok
[INFO] [stdout] test ops::search::content::tests::test_search_content_reports_result_limit_truncation ... ok
[INFO] [stdout] test ops::search::name::tests::search_files_broken_symlink_does_not_abort ... ok
[INFO] [stdout] test ops::search::content::tests::test_search_content_does_not_follow_symlinked_directories ... ok
[INFO] [stdout] test ops::search::content::tests::test_search_content_preserves_first_truncation_reason ... ok
[INFO] [stdout] test ops::search::content::tests::test_file_search_search_content ... ok
[INFO] [stdout] test ops::search::content::tests::test_search_content_skips_binary_files ... ok
[INFO] [stdout] test ops::search::content::tests::test_search_content_strips_crlf ... ok
[INFO] [stdout] test ops::search::content::tests::test_search_content_skips_large_files ... ok
[INFO] [stdout] test ops::search::name::tests::search_files_empty_directory ... ok
[INFO] [stdout] test ops::search::name::tests::search_files_includes_symlinked_file_in_results ... ok
[INFO] [stdout] test ops::search::name::tests::search_files_unicode_filename ... ok
[INFO] [stdout] test ops::search::content::tests::search_content_symlinks_do_not_consume_item_budget ... ok
[INFO] [stdout] test ops::search::name::tests::test_file_search_search_files ... ok
[INFO] [stdout] test ops::search::name::tests::test_search_files_follows_symlinked_directories ... ok
[INFO] [stdout] test ops::search::content::tests::search_content_empty_pattern_short_circuits ... ok
[INFO] [stdout] test ops::search::pattern::tests::matches_os_non_utf8_dp_no_false_positive ... ok
[INFO] [stdout] test ops::search::pattern::tests::double_star_matches_everything ... ok
[INFO] [stdout] test ops::search::pattern::tests::star_inner_star_is_substring ... ok
[INFO] [stdout] test ops::search::pattern::tests::matches_bytes_refuses_non_ascii_insensitive_needle ... ok
[INFO] [stdout] test ops::search::name::tests::test_search_files_populates_owner_and_group ... ok
[INFO] [stdout] test ops::search::pattern::tests::test_file_search_matches_pattern_case_insensitive_ascii_substring ... ok
[INFO] [stdout] test ops::search::pattern::tests::test_file_search_matches_pattern_case_insensitive ... ok
[INFO] [stdout] test ops::search::name::tests::test_search_files_reports_missing_directory ... ok
[INFO] [stdout] test ops::search::pattern::tests::test_file_search_matches_pattern_exact ... ok
[INFO] [stdout] test ops::search::pattern::tests::empty_pattern_matches_everything ... ok
[INFO] [stdout] test ops::search::pattern::tests::test_file_search_matches_pattern_multi_star_order ... ok
[INFO] [stdout] test ops::search::pattern::tests::test_file_search_matches_pattern_multi_star_order_false ... ok
[INFO] [stdout] test ops::search::pattern::tests::test_file_search_matches_pattern_plain_contains ... ok
[INFO] [stdout] test ops::search::pattern::tests::test_file_search_matches_pattern_case_insensitive_no_alignment_false_negative ... ok
[INFO] [stdout] test ops::search::pattern::tests::test_file_search_matches_pattern_case_insensitive_unicode_substring ... ok
[INFO] [stdout] test ops::search::pattern::tests::matches_unicode_case_insensitive_str_path ... ok
[INFO] [stdout] test ops::search::pattern::tests::very_long_name_unicode_insensitive ... ok
[INFO] [stdout] test ops::search::pattern::tests::wildcard_question_matches_exactly_one_char ... ok
[INFO] [stdout] test ops::search::pattern::tests::very_long_name_plain_and_wildcard ... ok
[INFO] [stdout] test ops::search::pattern::tests::test_file_search_matches_pattern_wildcard_question ... ok
[INFO] [stdout] test ops::search::pattern::tests::wildcard_mixed_star_and_question ... ok
[INFO] [stdout] test ops::search::pattern::tests::wildcard_star_crosses_slash_in_dp ... ok
[INFO] [stdout] test ops::search::pattern::tests::test_file_search_matches_pattern_wildcard_star ... ok
[INFO] [stdout] test ops::search::walk::tests::should_recurse_false_on_metadata_error ... ok
[INFO] [stdout] test ops::sorting::tests::test_cmp_ignore_case_different_case ... ok
[INFO] [stdout] test ops::sorting::tests::test_case_insensitive_sorting ... ok
[INFO] [stdout] test ops::search::pattern::tests::test_file_search_matches_pattern_multi_star_case_insensitive ... ok
[INFO] [stdout] test ops::sorting::tests::test_cmp_ignore_case_different_words ... ok
[INFO] [stdout] test ops::sorting::tests::test_cmp_ignore_case_empty ... ok
[INFO] [stdout] test ops::sorting::tests::test_cmp_ignore_case_equal ... ok
[INFO] [stdout] test ops::sorting::tests::test_cmp_ignore_case_prefix ... ok
[INFO] [stdout] test ops::sorting::tests::test_cmp_ignore_case_turkish_dotted_i ... ok
[INFO] [stdout] test ops::sorting::tests::test_cycle_sort_mode ... ok
[INFO] [stdout] test ops::sorting::tests::test_directories_before_files ... ok
[INFO] [stdout] test ops::sorting::tests::test_get_extension_edge_cases ... ok
[INFO] [stdout] test ops::sorting::tests::test_ellipsis_first_all_modes ... ok
[INFO] [stdout] test ops::sorting::tests::test_empty_entries_list ... ok
[INFO] [stdout] test ops::sorting::tests::test_get_extension_hidden_files ... ok
[INFO] [stdout] test ops::sorting::tests::test_get_extension_no_extension ... ok
[INFO] [stdout] test ops::sorting::tests::test_get_extension_with_extension ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_btime_asc_none_after_some ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_btime_desc_none_after_some ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_btime_dir_first_false ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_btime_mixed_with_dirs ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_btime_sensitive_tiebreak ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_btime_same_btime_stable ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_btime_all_none ... ok
[INFO] [stdout] test ops::search::walk::tests::search_files_seeds_root_inode ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_by_extension_desc ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_by_extension_asc ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_by_mod_time_asc ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_by_size_asc ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_dir_first_false ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_by_mod_time_desc ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_by_size_desc ... ok
[INFO] [stdout] test ops::search::name::tests::test_search_files_symlink_cycle_does_not_loop ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_ellipsis_first_even_with_dir_first_false ... ok
[INFO] [stdout] test ops::search::walk::tests::seed_visited_dir_follows_root_symlink_to_target ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_extension_asc_sensitive_true ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_extension_dir_first_false ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_extension_stable ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_mod_time_asc_same_mtime_stable ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_mod_time_dir_first_false ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_entries_unicode ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_mtime_none_after_known ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_dir_first_false_sensitive_true ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_mod_time_sensitive_tiebreak ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_name_desc ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_natural_name_asc ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_natural_name_case_tiebreak_desc_reverses_asc ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_natural_name_case_tiebreak_matches_name_sort ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_natural_name_non_ascii ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_natural_name_desc ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_natural_name_desc_dir_first_false ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_natural_name_sensitive_tiebreak ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_natural_name_stable ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_natural_with_directories_first ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_sensitive_true ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_size_asc_dir_first_false ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_size_sensitive_tiebreak ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_size_stable ... ok
[INFO] [stdout] test ops::sorting::tests::test_sort_with_same_values ... ok
[INFO] [stdout] test ops::search::walk::tests::search_files_respects_depth_limit ... ok
[INFO] [stdout] test ui::dialogs::archive::tests::render_wide_grapheme_cursor_stays_inside_inner ... ok
[INFO] [stdout] test ui::dialogs::archive::tests::render_zero_width_inner_clamps_cursor_into_area ... ok
[INFO] [stdout] test ui::dialogs::confirm::tests::empty_file_list_renders_without_panic ... ok
[INFO] [stdout] test ui::dialogs::confirm::tests::clamp_file_rows_saturates_instead_of_wrapping ... ok
[INFO] [stdout] test ui::dialogs::confirm::tests::overwrite_dialog_renders_without_panic ... ok
[INFO] [stdout] test ui::dialogs::confirm::tests::zero_height_area_does_not_panic ... ok
[INFO] [stdout] test ui::dialogs::confirm::tests::zero_width_area_does_not_panic ... ok
[INFO] [stdout] test ui::dialogs::input::tests::emoji_grapheme_has_width_two ... ok
[INFO] [stdout] test ui::dialogs::input::tests::ascii_window_fits_whole_value ... ok
[INFO] [stdout] test ui::dialogs::input::tests::wide_grapheme_value_renders_without_panic ... ok
[INFO] [stdout] test ops::search::walk::tests::search_content_respects_depth_limit ... ok
[INFO] [stdout] test ui::dialogs::input::tests::cache_returns_consistent_result_across_calls ... ok
[INFO] [stdout] test ui::dialogs::input::tests::combining_marks_count_as_single_zero_extra_width ... ok
[INFO] [stdout] test ui::dialogs::input::tests::cursor_beyond_length_is_clamped ... ok
[INFO] [stdout] test ui::dialogs::layout::tests::centered_rect_30x5_clamps_to_minimums ... ok
[INFO] [stdout] test ui::dialogs::input::tests::wide_graphemes_scroll_keeps_cursor_in_view ... ok
[INFO] [stdout] test ui::dialogs::layout::tests::centered_rect_minimal_area_stays_in_bounds ... ok
[INFO] [stdout] test ui::dialogs::input::tests::wide_graphemes_use_display_width_not_count ... ok
[INFO] [stdout] test ui::dialogs::input::tests::zero_width_viewport_does_not_panic ... ok
[INFO] [stdout] test ui::dialogs::input::tests::zwj_emoji_is_one_grapheme ... ok
[INFO] [stdout] test ui::dialogs::layout::tests::centered_rect_overflow_percent_clamps_to_area ... ok
[INFO] [stdout] test ui::dialogs::input::tests::narrow_terminal_render_does_not_panic ... ok
[INFO] [stdout] test ui::dialogs::layout::tests::centered_rect_zero_area_is_zero_no_panic ... ok
[INFO] [stdout] test ui::dialogs::list_picker::tests::single_item_renders_without_panic ... ok
[INFO] [stdout] test ui::dialogs::confirm::tests::huge_file_count_does_not_wrap_or_panic ... ok
[INFO] [stdout] test ui::dialogs::list_picker::tests::out_of_range_selected_is_clamped_no_panic ... ok
[INFO] [stdout] test ui::dialogs::layout::tests::help_accessors_agree_with_geometry ... ok
[INFO] [stdout] test ui::dialogs::list_picker::tests::empty_list_renders_without_panic ... ok
[INFO] [stdout] test ui::dialogs::tests::help_scrollbar_does_not_overwrite_text_area ... ok
[INFO] [stdout] test ui::dialogs::tests::help_scroll_uses_wrapped_lines ... ok
[INFO] [stdout] test ui::dialogs::list_picker::tests::minimal_area_renders_without_panic ... ok
[INFO] [stdout] test ui::dialogs::tests::help_scrollbar_reserved_for_wrapped_single_line ... ok
[INFO] [stdout] test ui::dialogs::simple::tests::progress_dialog_nan_percent_does_not_panic ... ok
[INFO] [stdout] test ui::dialogs::simple::tests::dialogs_survive_degenerate_areas ... ok
[INFO] [stdout] test ui::dialogs::tests::list_picker_keeps_selected_visible ... ok
[INFO] [stdout] test ui::dialogs::tests::help_visible_height_matches_render_layout ... ok
[INFO] [stdout] test ui::dialogs::tests::overwrite_dialog_empty_files_returns_early ... ok
[INFO] [stdout] test ui::dialogs::tests::test_centered_rect_basic ... ok
[INFO] [stdout] test ui::dialogs::tests::test_centered_rect_full ... ok
[INFO] [stdout] test ui::dialogs::tests::test_centered_rect_with_offset ... ok
[INFO] [stdout] test ui::dialogs::tests::test_help_dialog_content_rect_small_terminal ... ok
[INFO] [stdout] test ui::dialogs::tests::test_help_dialog_content_rect ... ok
[INFO] [stdout] test ui::dialogs::tests::truncate_path_keeps_short_utf8_path ... ok
[INFO] [stdout] test ui::dialogs::tests::test_input_dialog_empty_value_has_warning_border ... ok
[INFO] [stdout] test ui::dialogs::tests::truncate_path_truncates_utf8_suffix_safely ... ok
[INFO] [stdout] test ui::dialogs::tests::test_render_confirmation_dialog_inner ... ok
[INFO] [stdout] test ui::dialogs::tests::test_render_confirmation_dialog_inner_empty_title_no_files ... ok
[INFO] [stdout] test ui::dialogs::tests::wrapped_line_count_long_line_narrow_area ... ok
[INFO] [stdout] test ui::dialogs::tests::wrapped_line_count_multi_word ... ok
[INFO] [stdout] test ui::dialogs::tests::test_properties_dialog_renders_content ... ok
[INFO] [stdout] test ui::dialogs::layout::tests::help_geometry_zero_area_no_panic ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_path_emoji_components ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_path_ending_in_parent_dir_keeps_tail ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_path_empty_path ... ok
[INFO] [stdout] test ui::dialogs::tests::wrapped_line_count_multiline ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_path_normal_case ... ok
[INFO] [stdout] test ui::dialogs::tests::wrapped_line_count_empty_text ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_path_wide_cjk_components ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_suffix_combining_mark_in_prefix ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_path_tiny_budget_no_double_separator ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_suffix_combining_mark_in_suffix ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_suffix_ellipsis_branch ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_suffix_fits_unchanged ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_suffix_prefix_branch ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_suffix_wide_chars_in_suffix ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_suffix_zero_width_is_empty ... ok
[INFO] [stdout] test ui::dir_tree::tests::indent_width_clamps_beyond_max_depth ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_suffix_no_char_fits_in_suffix_budget ... ok
[INFO] [stdout] test ui::dir_tree::tests::indent_widths_table_matches_unicode_width ... ok
[INFO] [stdout] test ui::dir_tree::tests::render_empty_entries_no_panic ... ok
[INFO] [stdout] test ui::dialogs::tests::wrapped_line_count_short_line_wide_area ... ok
[INFO] [stdout] test ui::dialogs::text::tests::truncate_path_trailing_slash_keeps_last_component ... ok
[INFO] [stdout] test ui::dir_tree::tests::render_few_entries_no_scrollbar ... ok
[INFO] [stdout] test ui::dir_tree::tests::render_help_bar_visible ... ok
[INFO] [stdout] test ui::dir_tree::tests::render_long_filename_is_truncated ... ok
[INFO] [stdout] test ui::dir_tree::tests::render_selected_highlighted ... ok
[INFO] [stdout] test ui::dir_tree::tests::truncate_name_handles_unicode ... ok
[INFO] [stdout] test ui::dir_tree::tests::truncate_name_short_name_unchanged ... ok
[INFO] [stdout] test ui::dir_tree::tests::render_single_entry_no_panic ... ok
[INFO] [stdout] test ui::dir_tree::tests::truncate_name_zero_width_returns_empty ... ok
[INFO] [stdout] test ui::dir_tree::tests::truncate_name_single_char_width ... ok
[INFO] [stdout] test ui::dir_tree::tests::render_many_entries_shows_scrollbar ... ok
[INFO] [stdout] test ui::dir_tree::tests::truncate_name_truncates_with_ellipsis ... ok
[INFO] [stdout] test ui::dir_tree::tests::truncate_wide_cjk_respects_column_width ... ok
[INFO] [stdout] test ui::dir_tree::tests::truncate_name_exact_fit ... ok
[INFO] [stdout] test ui::menu::tests::dropdown_item_widths_match_live_computation ... ok
[INFO] [stdout] test ui::dir_tree::tests::truncate_provided_width_matches_recomputed ... ok
[INFO] [stdout] test ui::dir_tree::tests::render_nested_entries_with_indent ... ok
[INFO] [stdout] test ui::menu::tests::render_first_menu_first_item ... ok
[INFO] [stdout] test ui::menu::tests::render_out_of_bounds_menu ... ok
[INFO] [stdout] test ui::menu::tests::render_second_menu_last_item ... ok
[INFO] [stdout] test ui::panels::tests::compute_category_empty_name_is_other ... ok
[INFO] [stdout] test ui::menu::tests::dropdown_width_overflow_saturates ... ok
[INFO] [stdout] test ui::menu::tests::scroll_moves_visible_items ... ok
[INFO] [stdout] test ui::menu::tests::render_with_tiny_terminal ... ok
[INFO] [stdout] test ui::menu::tests::render_out_of_bounds_item ... ok
[INFO] [stdout] test ui::panels::tests::test_format_brief_entry_line_basic ... ok
[INFO] [stdout] test ui::panels::tests::test_format_brief_entry_line_truncation ... ok
[INFO] [stdout] test ui::panels::tests::file_color_table_maps_categories_with_intended_bold ... ok
[INFO] [stdout] test ui::panels::tests::shorten_home_with_replaces_home_prefix_only ... ok
[INFO] [stdout] test ui::panels::tests::test_format_brief_entry_line_selected ... ok
[INFO] [stdout] test ui::panels::tests::test_format_entry_line_basic ... ok
[INFO] [stdout] test ui::panels::tests::test_format_entry_line_selected ... ok
[INFO] [stdout] test ui::panels::tests::test_format_entry_line_tiny_width_renders_only_marker ... ok
[INFO] [stdout] test ui::panels::tests::test_format_entry_line_truncation ... ok
[INFO] [stdout] test ui::panels::tests::test_format_entry_line_truncation_handles_unicode ... ok
[INFO] [stdout] test ui::panels::tests::test_format_entry_line_width_two ... ok
[INFO] [stdout] test ui::panels::tests::test_format_entry_line_with_permissions ... ok
[INFO] [stdout] test ui::menu::tests::render_each_menu_each_item ... ok
[INFO] [stdout] test ui::panels::tests::test_format_permissions_no_permissions ... ok
[INFO] [stdout] test ui::panels::tests::test_format_permissions_full ... ok
[INFO] [stdout] test ui::panels::tests::test_format_permissions_readonly ... ok
[INFO] [stdout] test ui::panels::tests::test_format_size_exact_1gb ... ok
[INFO] [stdout] test ui::panels::tests::test_format_size_exact_1kb ... ok
[INFO] [stdout] test ui::panels::tests::test_format_size_exact_1mb ... ok
[INFO] [stdout] test ui::panels::tests::test_format_size_just_under_1kb ... ok
[INFO] [stdout] test ui::panels::tests::test_format_size_kilobytes ... ok
[INFO] [stdout] test ui::panels::tests::test_format_size_one_byte ... ok
[INFO] [stdout] test ui::panels::tests::test_format_size_megabytes ... ok
[INFO] [stdout] test ui::panels::tests::test_format_size_u64_max ... ok
[INFO] [stdout] test ui::panels::tests::test_format_size_zero ... ok
[INFO] [stdout] test ui::panels::tests::test_format_size_bytes ... ok
[INFO] [stdout] test ui::panels::tests::test_format_time_unix_epoch_is_non_empty ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_ascii_theme ... ok
[INFO] [stdout] test ui::panels::tests::test_format_time_contains_date_separators ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_code ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_audio ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_archive ... ok
[INFO] [stdout] test ui::dialogs::tests::truncate_path_truncates_tiny_utf8_width_safely ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_config ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_default ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_executable ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_font ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_nerdfont_theme ... ok
[INFO] [stdout] test ui::dialogs::tests::truncate_path_preserves_filename ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_document ... ok
[INFO] [stdout] test ui::panels::tests::test_new_panel_state ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_video ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_symlink ... ok
[INFO] [stdout] test ui::panels::tests::test_panel_status_summary_empty_panel ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_directory ... ok
[INFO] [stdout] test ui::panels::tests::test_panel_status_summary_no_selection_when_zero ... ok
[INFO] [stdout] test ui::panels::tests::test_panel_status_summary_last_item ... ok
[INFO] [stdout] test ui::panels::tests::test_panel_status_summary_with_selection ... ok
[INFO] [stdout] test ui::panels::tests::test_get_file_icon_image ... ok
[INFO] [stdout] test ui::panels::tests::test_panel_status_summary_first_item ... ok
[INFO] [stdout] test ui::panels::tests::test_sanitize_ansi_escape_stripped ... ok
[INFO] [stdout] test ui::panels::tests::test_render_panel_empty_no_panic ... ok
[INFO] [stdout] test ui::panels::tests::test_render_function_bar_no_panic ... ok
[INFO] [stdout] test ui::panels::tests::test_render_status_bar_directory_shows_size_not_dir_label ... ok
[INFO] [stdout] test ui::panels::tests::test_render_status_bar_no_panic ... ok
[INFO] [stdout] test ui::panels::tests::test_render_panel_no_panic ... ok
[INFO] [stdout] test ui::panels::tests::test_sanitize_carriage_return_stripped ... ok
[INFO] [stdout] test ui::panels::tests::test_sanitize_clean_string_unchanged ... ok
[INFO] [stdout] test ui::panels::tests::test_sanitize_del_replaced ... ok
[INFO] [stdout] test ui::panels::tests::test_sanitize_mixed_control_chars ... ok
[INFO] [stdout] test ui::panels::tests::test_sanitize_newline_replaced ... ok
[INFO] [stdout] test ui::panels::tests::test_render_status_bar_size_is_unpadded ... ok
[INFO] [stdout] test ui::panels::tests::test_sanitize_bare_escape_replaced ... ok
[INFO] [stdout] test ui::panels::tests::test_sanitize_tab_replaced ... ok
[INFO] [stdout] test ui::panels::tests::test_sanitize_unicode_preserved ... ok
[INFO] [stdout] test ui::panels::tests::test_sanitize_null_byte_replaced ... ok
[INFO] [stdout] test ui::panels::tests::test_truncate_name_empty ... ok
[INFO] [stdout] test ui::panels::tests::test_truncate_name_unicode ... ok
[INFO] [stdout] test ui::panels::tests::test_truncate_name_with_ellipsis ... ok
[INFO] [stdout] test ui::panels::tests::test_truncate_name_no_truncation ... ok
[INFO] [stdout] test ui::panels::tests::test_truncate_to_width_narrow_chars_use_ellipsis ... ok
[INFO] [stdout] test ui::panels::tests::test_truncate_to_width_wide_char_doesnt_fit ... ok
[INFO] [stdout] test ui::tests::layout_overhead_rows_sums_components ... ok
[INFO] [stdout] test ui::panels::tests::test_truncate_to_width_wide_char_fits_exactly ... ok
[INFO] [stdout] test ui::panels::tests::test_truncate_to_width_wide_char_in_middle_fits_exactly ... ok
[INFO] [stdout] test ui::tests::dir_tree_overhead_rows_sums_components ... ok
[INFO] [stdout] test ui::theme::tests::category_color_maps_file_categories_to_theme_colors ... ok
[INFO] [stdout] test ui::theme::tests::function_bar_fg_only_inherits_to_label ... ok
[INFO] [stdout] test ui::theme::tests::defaults_match_when_no_config ... ok
[INFO] [stdout] test ui::theme::tests::function_bar_label_override_stays_independent ... ok
[INFO] [stdout] test ui::theme::tests::icon_theme_config_field_emoji ... ok
[INFO] [stdout] test ui::theme::tests::icon_theme_ascii_mapping ... ok
[INFO] [stdout] test ui::theme::tests::icon_theme_config_field_nerdfont ... ok
[INFO] [stdout] test ui::theme::tests::icon_theme_config_field_ascii ... ok
[INFO] [stdout] test ui::theme::tests::icon_theme_default_is_emoji ... ok
[INFO] [stdout] test ui::theme::tests::parse_color_css_named ... ok
[INFO] [stdout] test ui::theme::tests::parse_color_hex ... ok
[INFO] [stdout] test ui::theme::tests::parse_color_indexed ... ok
[INFO] [stdout] test ui::theme::tests::parse_color_named ... ok
[INFO] [stdout] test ui::theme::tests::parse_hex_color_non_ascii_does_not_panic ... ok
[INFO] [stdout] test ui::theme::tests::parse_color_invalid ... ok
[INFO] [stdout] test ui::theme::tests::preset_overrides_apply_on_top_of_base ... ok
[INFO] [stdout] test ui::theme::tests::preset_parsed_from_toml_table ... ok
[INFO] [stdout] test ui::theme::tests::preset_unknown_falls_back_to_modern ... ok
[INFO] [stdout] test ui::theme::tests::theme_colors_from_config_overrides ... ok
[INFO] [stdout] test ui::theme::tests::theme_config_from_toml ... ok
[INFO] [stdout] test ui::theme::tests::theme_config_from_toml_accepts_nerd_font_alias ... ok
[INFO] [stdout] test ui::theme::tests::theme_config_from_toml_invalid_icon_theme_keeps_colors ... ok
[INFO] [stdout] test ui::viewer::hex::tests_find_bytes::at_start ... ok
[INFO] [stdout] test ui::viewer::hex::tests_find_bytes::empty_needle ... ok
[INFO] [stdout] test ui::theme::tests::theme_config_from_toml_non_string_icon_theme_keeps_colors ... ok
[INFO] [stdout] test ui::viewer::hex::tests_find_bytes::at_end ... ok
[INFO] [stdout] test ui::viewer::hex::tests_find_bytes::multi_byte_found ... ok
[INFO] [stdout] test ui::viewer::hex::tests_find_bytes::multi_byte_not_found ... ok
[INFO] [stdout] test ui::viewer::hex::tests_find_bytes::needle_longer_than_haystack ... ok
[INFO] [stdout] test ui::viewer::hex::tests_find_bytes::single_byte_found ... ok
[INFO] [stdout] test ui::viewer::hex::tests_find_bytes::single_byte_not_found ... ok
[INFO] [stdout] test ui::viewer::tests::test_format_hex_line ... ok
[INFO] [stdout] test ui::viewer::tests::test_crlf_line_endings_stripped ... ok
[INFO] [stdout] test ui::viewer::tests::test_format_hex_line_clamps_to_sixteen_bytes ... ok
[INFO] [stdout] test ui::theme::tests::preset_classic_selects_navy_palette ... ok
[INFO] [stdout] test ui::theme::tests::preset_non_string_is_rejected ... ok
[INFO] [stdout] test ui::viewer::tests::test_format_line_with_highlight_fully_overlapping_skipped ... ok
[INFO] [stdout] test ui::panels::tests::test_format_brief_entry_line_tiny_width_renders_only_marker ... ok
[INFO] [stdout] test ui::viewer::tests::test_empty_file_wrap_layout_reports_single_line ... ok
[INFO] [stdout] test ui::viewer::tests::test_format_size ... ok
[INFO] [stdout] test ui::viewer::tests::test_hex_mode_search ... ok
[INFO] [stdout] test ui::viewer::tests::test_go_to_top_bottom ... ok
[INFO] [stdout] test ui::viewer::tests::test_hex_search_multibyte_query_does_not_panic ... ok
[INFO] [stdout] test ui::viewer::tests::test_hex_search_skips_offset_prefix ... ok
[INFO] [stdout] test ui::viewer::tests::test_hex_search_selects_match_at_or_after_current_line ... ok
[INFO] [stdout] test ui::viewer::tests::test_horizontal_scroll_uses_cached_max_line_width ... ok
[INFO] [stdout] test ui::viewer::tests::test_format_line_with_highlight_handles_unicode ... ok
[INFO] [stdout] test ui::viewer::tests::test_hex_text_search_invalid_utf8_maps_to_raw_bytes ... ok
[INFO] [stdout] test ui::viewer::tests::test_horizontal_scroll ... ok
[INFO] [stdout] test ui::viewer::tests::test_image_content_size_never_returns_zero_height ... ok
[INFO] [stdout] test ui::viewer::tests::test_image_file_has_correct_mode_after_toggle ... ok
[INFO] [stdout] test ui::viewer::tests::test_image_file_not_flagged_as_originally_binary ... ok
[INFO] [stdout] test ui::viewer::tests::test_image_preview_loader_stores_file_path ... ok
[INFO] [stdout] test ui::viewer::tests::test_image_preview_race_condition_guard_discards_mismatched_path ... ok
[INFO] [stdout] test ui::viewer::tests::test_format_line_with_highlight_overlapping_matches_no_duplicates ... ok
[INFO] [stdout] test ui::viewer::tests::test_line_display_width_matches_lossy_for_invalid_utf8 ... ok
[INFO] [stdout] test ui::viewer::tests::test_next_prev_match ... ok
[INFO] [stdout] test ui::viewer::tests::test_open_binary_file_defaults_to_hex_mode ... ok
[INFO] [stdout] test ui::viewer::tests::test_open_file_with_trailing_newline_omits_empty_tail ... ok
[INFO] [stdout] test ui::viewer::tests::test_open_image_file_sets_view_mode_to_image ... ok
[INFO] [stdout] test ui::viewer::tests::test_horizontal_scroll_uses_dynamic_line_number_width ... ok
[INFO] [stdout] test ui::viewer::tests::test_open_valid_replacement_character_is_not_invalid_utf8 ... ok
[INFO] [stdout] test ui::viewer::tests::test_page_up_down ... ok
[INFO] [stdout] test ui::viewer::tests::test_paragraph_horizontal_scroll_clamps_to_u16 ... ok
[INFO] [stdout] test ui::viewer::tests::test_parse_hex_query_distinguishes_too_short_from_invalid ... ok
[INFO] [stdout] test ui::viewer::tests::test_open_empty_file_has_placeholder ... ok
[INFO] [stdout] test ui::viewer::tests::test_line_number_width_expands_for_large_files ... ok
[INFO] [stdout] test ui::viewer::tests::test_render_image_view_does_not_panic ... ok
[INFO] [stdout] test ui::viewer::tests::test_scroll_down ... ok
[INFO] [stdout] test ui::viewer::tests::test_scroll_right_long_line_reaches_u16_max ... ok
[INFO] [stdout] test ui::viewer::tests::test_large_unicode_file ... ok
[INFO] [stdout] test ui::viewer::tests::test_scroll_right_zero_effective_width_clamps_to_zero ... ok
[INFO] [stdout] test ui::viewer::tests::test_render_viewer_reserves_last_row_for_status_bar ... ok
[INFO] [stdout] test ui::viewer::tests::test_open_file ... ok
[INFO] [stdout] test ui::viewer::tests::test_scroll_boundaries ... ok
[INFO] [stdout] test ui::viewer::tests::test_no_wrap_uses_logical_lines ... ok
[INFO] [stdout] test ui::viewer::tests::test_open_invalid_utf8_sets_warning ... ok
[INFO] [stdout] test ops::archive::sevenz::tests::extract_7z_roundtrip_preserves_contents ... ok
[INFO] [stdout] test ui::viewer::tests::test_search_deduplicates_matches_after_multi_char_lowercase ... ok
[INFO] [stdout] test ui::viewer::tests::test_search_line_match_cache_stores_unicode_byte_ranges ... ok
[INFO] [stdout] test ui::viewer::tests::test_search_replace_clears_line_match_cache ... ok
[INFO] [stdout] test ui::viewer::tests::test_search_unicode_match_uses_byte_offsets ... ok
[INFO] [stdout] test ui::viewer::tests::test_scroll_up ... ok
[INFO] [stdout] test ui::viewer::tests::test_search_unicode_repeated_matches_keep_byte_offsets ... ok
[INFO] [stdout] test ui::viewer::tests::test_should_open_as_text_allows_source_and_config_extensions ... ok
[INFO] [stdout] test ui::viewer::tests::test_should_open_as_text_allows_text_mime ... ok
[INFO] [stdout] test ui::viewer::tests::test_should_open_as_text_rejects_known_binary_mime ... ok
[INFO] [stdout] test ui::viewer::tests::test_search_empty_query_noop ... ok
[INFO] [stdout] test ui::viewer::tests::test_search_no_match_returns_none ... ok
[INFO] [stdout] test ui::viewer::tests::test_search ... ok
[INFO] [stdout] test ui::viewer::tests::test_toggle_hex_mode_invalidates_visual_cache ... ok
[INFO] [stdout] test ui::viewer::tests::test_toggle_hex_mode_with_image_file ... ok
[INFO] [stdout] test ui::viewer::tests::test_should_open_as_text_rejects_unknown_nul_bytes ... ok
[INFO] [stdout] test ui::viewer::tests::test_toggle_hex_mode_preserves_search_query ... ok
[INFO] [stdout] test ui::viewer::tests::test_toggle_wrap_clears_visual_heights ... ok
[INFO] [stdout] test ui::viewer::tests::test_source_code_ext_with_nul_bytes_opens_as_hex ... ok
[INFO] [stdout] test ui::viewer::tests::test_toggle_wrap_noop_in_image_mode ... ok
[INFO] [stdout] test ui::viewer::tests::test_toggle_states ... ok
[INFO] [stdout] test ui::viewer::tests::test_update_wrap_layout_zero_width_does_not_panic ... ok
[INFO] [stdout] test ui::viewer::tests::test_update_wrap_layout_skips_image_mode ... ok
[INFO] [stdout] test ui::viewer::tests::test_search_case_insensitive ... ok
[INFO] [stdout] test ui::viewer::tests::test_wrap_go_to_bottom_uses_visual_rows ... ok
[INFO] [stdout] test ui::viewer::tests::test_viewer_loader_drop_cancels_worker ... ok
[INFO] [stdout] test ui::viewer::tests::test_toggle_line_numbers_noop_in_image_mode ... ok
[INFO] [stdout] test ui::viewer::tests::test_visual_row_to_logical_roundtrip ... ok
[INFO] [stdout] test ui::viewer::tests::test_visual_row_to_logical_binary_search ... ok
[INFO] [stdout] test ui::viewer::tests::test_wrap_scroll_advances_by_visual_row ... ok
[INFO] [stdout] test ui::viewer::tests::test_search_scroll_clamp ... ok
[INFO] [stdout] test ui::viewer::tests::test_search_scroll_interaction ... ok
[INFO] [stdout] test ui::viewer::tests::test_wrap_scroll_with_narrow_width ... ok
[INFO] [stdout] test ui::viewer::tests::test_hex_text_search_finds_match_across_chunk_boundary ... ok
[INFO] [stdout] test ui::viewer::tests::test_hex_text_search_no_duplicate_across_chunks ... ok
[INFO] [stdout] test ops::chunk_copy::tests::cancel_mid_copy_large_file ... ok
[INFO] [stdout] test ops::chunk_copy::tests::overwrite_cancel_midway_preserves_original_dest ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_with_progress_cancel_mid_operation ... ok
[INFO] [stdout] test ops::search::content::tests::test_search_content_truncation_keeps_multiple_reasons ... ok
[INFO] [stdout] test ops::file_ops::tests::test_copy_dir_recursive_exceeds_depth_limit ... ok
[INFO] [stdout] test ops::search::name::tests::test_search_files_truncates_after_item_limit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 981 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.74s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/lc-25462119c32bfe85)
[INFO] [stdout] 
[INFO] [stdout] running 302 tests
[INFO] [stdout] test input::command_line::tests::cmd_ctrl_w_deletes_word ... ok
[INFO] [stdout] test input::command_line::tests::cmd_cursor_respects_char_boundaries ... ok
[INFO] [stdout] test input::command_line::tests::cmd_backspace_deletes_char ... ok
[INFO] [stdout] test input::command_line::tests::cmd_ctrl_e_moves_to_end ... ok
[INFO] [stdout] test input::command_line::tests::cmd_backspace_at_start_does_nothing ... ok
[INFO] [stdout] test input::command_line::tests::cmd_ctrl_w_at_start_keeps_history_index ... ok
[INFO] [stdout] test input::command_line::tests::cmd_delete_word_backward_first_word ... ok
[INFO] [stdout] test input::command_line::tests::cmd_multibyte_char_cursor ... ok
[INFO] [stdout] test input::command_line::tests::cmd_esc_clears ... ok
[INFO] [stdout] test input::command_line::tests::cmd_right_moves_cursor ... ok
[INFO] [stdout] test input::command_line::tests::cmd_up_loads_history ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_backspace_at_start ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_delete ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_emoji_insert ... ok
[INFO] [stdout] test input::command_line::tests::cmd_left_moves_cursor ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_left_right ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_multibyte_backspace ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_multibyte_insert ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_rejects_multibyte_char_past_byte_limit ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_home_end ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_insert_char ... ok
[INFO] [stdout] test input::command_line::tests::cmd_insert_char ... ok
[INFO] [stdout] test input::command_line::tests::cmd_right_at_end_does_nothing ... ok
[INFO] [stdout] test input::command_line::tests::cmd_left_at_start_does_nothing ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_backspace ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_delete_at_end ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_emoji_backspace ... ok
[INFO] [stdout] test input::command_line::tests::cmd_down_restores_draft ... ok
[INFO] [stdout] test input::directory_tree::tests::directory_tree_visible_height_calc ... ok
[INFO] [stdout] test input::directory_tree::tests::set_tree_diagnostic_status_empty ... ok
[INFO] [stdout] test input::directory_tree::tests::set_tree_diagnostic_status_multiple ... ok
[INFO] [stdout] test input::directory_tree::tests::set_tree_diagnostic_status_single ... ok
[INFO] [stdout] test input::directory_tree::tests::tree_down_at_end_does_nothing ... ok
[INFO] [stdout] test input::directory_tree::tests::tree_empty_entries_doesnt_panic ... ok
[INFO] [stdout] test input::directory_tree::tests::tree_down_moves ... ok
[INFO] [stdout] test input::directory_tree::tests::tree_end_goes_to_last ... ok
[INFO] [stdout] test input::directory_tree::tests::tree_esc_returns_normal ... ok
[INFO] [stdout] test input::directory_tree::tests::tree_home_resets ... ok
[INFO] [stdout] test input::mouse::tests::handle_middle_click_in_dialog_consumed ... ok
[INFO] [stdout] test input::directory_tree::tests::tree_up_at_top_does_nothing ... ok
[INFO] [stdout] test input::mouse::tests::handle_right_click_in_dialog_emits_esc ... ok
[INFO] [stdout] test input::mouse::tests::drag_select_range ... ok
[INFO] [stdout] test input::mouse::tests::handle_middle_click_in_panel_emits_f5 ... ok
[INFO] [stdout] test input::mouse::tests::handle_right_click_in_menu_emits_esc ... ok
[INFO] [stdout] test input::mouse::tests::mouse_archive_create_input_click_positions_cursor ... ok
[INFO] [stdout] test input::mouse::tests::mouse_archive_extract_button_cancel_dismisses ... ok
[INFO] [stdout] test input::mouse::tests::handle_right_click_in_panel_emits_esc ... ok
[INFO] [stdout] test input::mouse::tests::mouse_archive_extract_input_click_positions_cursor ... ok
[INFO] [stdout] test input::mouse::tests::mouse_archive_extract_button_click_selects_ok ... ok
[INFO] [stdout] test input::mouse::tests::mouse_up_clears_drag_anchor ... ok
[INFO] [stdout] test input::mouse::tests::mouse_menu_dropdown_outside_restores_previous_mode ... ok
[INFO] [stdout] test input::mouse::tests::mouse_input_dialog_outside_preserves_text ... ok
[INFO] [stdout] test input::mouse::tests::mouse_function_bar_zero_width_does_not_panic ... ok
[INFO] [stdout] test input::mouse::tests::mouse_input_dialog_inside_consumes_click ... ok
[INFO] [stdout] test input::mouse::tests::mouse_confirm_click_with_overwrite_conflict_shows_overwrite_dialog ... ok
[INFO] [stdout] test input::mouse::tests::mouse_confirm_click_without_conflict_starts_action ... ok
[INFO] [stdout] test input::mouse::tests::mouse_scroll_handles_help_dialog ... ok
[INFO] [stdout] test input::mouse::tests::mouse_confirm_click_preserves_status_message ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_allows_char_at_exact_byte_limit ... ok
[INFO] [stdout] test input::mouse::tests::mouse_confirm_click_keeps_new_status_message ... ok
[INFO] [stdout] test input::command_line::tests::cmd_ctrl_u_kills_to_beginning ... ok
[INFO] [stdout] test input::dialogs::tests::text_edit_insert_middle ... ok
[INFO] [stdout] test input::command_line::tests::cmd_ctrl_a_moves_to_start ... ok
[INFO] [stdout] test input::pickers::tests::compare_mode_picker_navigate ... ok
[INFO] [stdout] test input::mouse::tests::passive_dialog_click_is_consumed_and_preserves_mode ... ok
[INFO] [stdout] test input::pickers::tests::history_picker_esc_returns_normal ... ok
[INFO] [stdout] test input::pickers::tests::history_picker_navigate_bounds ... ok
[INFO] [stdout] test input::pickers::tests::hotlist_picker_delete_prompts_then_deletes ... ok
[INFO] [stdout] test input::pickers::tests::hotlist_picker_empty_hotlist_enter ... ok
[INFO] [stdout] test input::pickers::tests::user_menu_picker_empty_list ... ok
[INFO] [stdout] test tests::background_load::archive_list_ok_opens_extract_dialog ... ok
[INFO] [stdout] test tests::background_load::archive_list_err_reports_and_returns_to_normal ... ok
[INFO] [stdout] test tests::background_load::tree_build_result_enters_directory_tree ... ok
[INFO] [stdout] test tests::compare::compare_directories_quick_empty_dirs ... ok
[INFO] [stdout] test tests::compare::compare_directories_identical_content_mixed_types_symlinks ... ok
[INFO] [stdout] test tests::compare::compare_directories_reports_summary ... ok
[INFO] [stdout] test tests::compare::compare_directories_size_mode_reports_mismatches ... ok
[INFO] [stdout] test tests::compare::compare_mode_picker_maps_index_to_mode ... ok
[INFO] [stdout] test tests::compare::compare_mode_picker_esc_cancels ... ok
[INFO] [stdout] test tests::dialogs::chmod_invalid_input_shows_error_stays_in_dialog ... ok
[INFO] [stdout] test tests::dialogs::confirm_delete_opens_dialog ... ok
[INFO] [stdout] test tests::compare::compare_directories_marks_unique_entries_selected ... ok
[INFO] [stdout] test input::pickers::tests::history_picker_enter_empty_history ... ok
[INFO] [stdout] test tests::dialogs::parse_octal_mode_edge_cases ... ok
[INFO] [stdout] test tests::dialogs::confirm_enter_with_pending_action_starts_action ... ok
[INFO] [stdout] test tests::dialogs::chmod_esc_dismisses_without_changing_mode ... ok
[INFO] [stdout] test input::pickers::tests::hotlist_picker_delete_cancel_keeps_entry ... ok
[INFO] [stdout] test tests::dialogs::dialog_with_long_title_does_not_overflow ... ok
[INFO] [stdout] test tests::dialogs::parse_octal_mode_accepts_valid_input ... ok
[INFO] [stdout] test tests::history::history_dedup_different_commands ... ok
[INFO] [stdout] test tests::history::history_cap_at_100 ... ok
[INFO] [stdout] test tests::history::history_dedup_of_existing_entry_at_cap_preserves_all_uniques ... ok
[INFO] [stdout] test tests::history::history_dedup_non_consecutive_moves_to_end ... ok
[INFO] [stdout] test tests::background_load::archive_listing_runs_off_thread_and_opens_dialog ... ok
[INFO] [stdout] test tests::dialogs::list_picker_overlay_renders_title ... ok
[INFO] [stdout] test tests::dialogs::status_bar_at_bottom ... ok
[INFO] [stdout] test tests::history::history_picker_enter_loads_command_line ... ok
[INFO] [stdout] test tests::dialogs::dialog_overlay_centered ... ok
[INFO] [stdout] test tests::dialogs::confirm_file_transfer_copy_opens_dialog ... ok
[INFO] [stdout] test tests::dialogs::confirm_enter_without_pending_action_dismisses_dialog ... ok
[INFO] [stdout] test tests::dialogs::help_dialog_renders_help_text ... ok
[INFO] [stdout] test tests::dialogs::progress_dialog_nan_percent_handled ... ok
[INFO] [stdout] test tests::history::history_picker_down_at_last_clamps ... ok
[INFO] [stdout] test tests::history::history_picker_empty_list_all_directions_clamped ... ok
[INFO] [stdout] test tests::dialogs::menu_dropdown_renders_over_panels ... ok
[INFO] [stdout] test tests::dialogs::dialog_overlay_renders_error_text ... ok
[INFO] [stdout] test tests::history::history_picker_enter_on_empty_history_closes_to_normal ... ok
[INFO] [stdout] test tests::history::history_picker_enter_selected_beyond_len ... ok
[INFO] [stdout] test tests::history::history_picker_home_end ... ok
[INFO] [stdout] test tests::history::history_picker_typed_char_is_noop ... ok
[INFO] [stdout] test tests::history::history_picker_page_up_down_are_noops ... ok
[INFO] [stdout] test tests::history::history_picker_up_at_zero_clamps ... ok
[INFO] [stdout] test tests::history::history_skips_empty_command ... ok
[INFO] [stdout] test tests::history::history_skips_whitespace_command ... ok
[INFO] [stdout] test tests::history::history_whitespace_after_valid_command ... ok
[INFO] [stdout] test tests::keybinds::alt_backspace_empty_history_does_nothing ... ok
[INFO] [stdout] test tests::keybinds::alt_backspace_failure_preserves_history ... ok
[INFO] [stdout] test tests::keybinds::alt_enter_on_dotdot_does_nothing ... ok
[INFO] [stdout] test tests::keybinds::alt_c_opens_quick_cd ... ok
[INFO] [stdout] test tests::history::history_picker_esc_cancels ... ok
[INFO] [stdout] test tests::keybinds::alt_unhandled_does_nothing ... ok
[INFO] [stdout] test tests::keybinds::alt_k_does_not_move_cursor ... ok
[INFO] [stdout] test tests::keybinds::alt_enter_shows_properties_dialog ... ok
[INFO] [stdout] test tests::keybinds::ctrl_down_arrow_falls_through_to_navigation ... ok
[INFO] [stdout] test tests::keybinds::directory_tree_page_down_uses_terminal_height ... ok
[INFO] [stdout] test tests::keybinds::ctrl_s_starts_search_mode ... ok
[INFO] [stdout] test tests::keybinds::alt_up_arrow_falls_through_to_navigation ... ok
[INFO] [stdout] test tests::dialogs::menu_bar_rendered_at_top ... ok
[INFO] [stdout] test tests::keybinds::alt_j_does_not_start_search_mode ... ok
[INFO] [stdout] test tests::keybinds::alt_backspace_navigates_to_parent ... ok
[INFO] [stdout] test tests::keybinds::alt_x_opens_command_line ... ok
[INFO] [stdout] test tests::keybinds::directory_tree_page_up_uses_terminal_height ... ok
[INFO] [stdout] test tests::keybinds::f10_sets_should_quit ... ok
[INFO] [stdout] test tests::keybinds::f4_no_current_entry_does_not_launch ... ok
[INFO] [stdout] test tests::keybinds::f5_with_empty_panel_does_nothing ... ok
[INFO] [stdout] test tests::keybinds::f6_opens_move_confirm_dialog ... ok
[INFO] [stdout] test tests::keybinds::f7_opens_create_directory_dialog ... ok
[INFO] [stdout] test tests::keybinds::page_down_clamps_to_last_entry ... ok
[INFO] [stdout] test tests::keybinds::shift_j_falls_through_to_navigation_down ... ok
[INFO] [stdout] test tests::keybinds::launch_editor_no_current_entry_does_nothing ... ok
[INFO] [stdout] test tests::keybinds::f9_enters_menu_mode ... ok
[INFO] [stdout] test tests::keybinds::tab_clamps_cursor ... ok
[INFO] [stdout] test tests::keybinds::tab_switches_panel_right_to_left ... ok
[INFO] [stdout] test tests::keybinds::tab_switches_panel_left_to_right ... ok
[INFO] [stdout] test tests::keybinds::f5_opens_copy_confirm_dialog ... ok
[INFO] [stdout] test tests::history::history_dedup_consecutive ... ok
[INFO] [stdout] test tests::keyevents::dispatch_resize_event_returns_true ... ok
[INFO] [stdout] test tests::keybinds::launch_editor_directory_entry_does_not_launch ... ok
[INFO] [stdout] test tests::keybinds::command_line_up_loads_last_history_entry ... ok
[INFO] [stdout] test tests::keyevents::dispatch_test_event_exposes_viewer_loader_on_f3 ... ok
[INFO] [stdout] test tests::keybinds::shift_k_falls_through_to_navigation_up ... ok
[INFO] [stdout] test tests::keyevents::dispatch_test_event_viewer_and_job_default_none ... ok
[INFO] [stdout] test tests::keybinds::ctrl_h_toggles_hidden ... ok
[INFO] [stdout] test tests::dialogs::chmod_valid_input_applies_mode_and_dismisses ... ok
[INFO] [stdout] test tests::keyevents::dispatch_mouse_click_moves_cursor ... ok
[INFO] [stdout] test tests::keyevents::key_press_triggers_search_initiation ... ok
[INFO] [stdout] test tests::keybinds::ctrl_u_swaps_panels ... ok
[INFO] [stdout] test tests::keyevents::dispatch_unhandled_event_returns_false ... ok
[INFO] [stdout] test tests::keyevents::key_release_is_ignored ... ok
[INFO] [stdout] test tests::keyevents::key_repeat_destructive_is_ignored ... ok
[INFO] [stdout] test tests::keyevents::key_repeat_text_edit_updates_input_dialog ... ok
[INFO] [stdout] test tests::menu::menu_cancel_from_search_restores_search_mode ... ok
[INFO] [stdout] test tests::menu::menu_cancel_with_no_prev_mode_defaults_to_normal ... ok
[INFO] [stdout] test tests::menu::menu_cancel_from_normal_returns_to_normal ... ok
[INFO] [stdout] test tests::keyevents::key_repeat_navigation_moves_cursor ... ok
[INFO] [stdout] test tests::menu::menu_command_line_clears_stale_prev_mode ... ok
[INFO] [stdout] test tests::menu::menu_history_opens_picker ... ok
[INFO] [stdout] test tests::keyevents::non_printable_keys_do_not_trigger_search ... ok
[INFO] [stdout] test tests::menu::menu_hotlist_opens_picker ... ok
[INFO] [stdout] test tests::menu::menu_rename_opens_input_dialog_with_current_name ... ok
[INFO] [stdout] test tests::menu::menu_cancel_with_f9_restores_prev_mode ... ok
[INFO] [stdout] test tests::menu::menu_right_panel_listing_mode_toggles_right ... ok
[INFO] [stdout] test tests::menu::menu_right_panel_filter_applies_to_right_panel ... ok
[INFO] [stdout] test tests::menu::menu_toggle_hidden_files ... ok
[INFO] [stdout] test tests::misc::config_load_full_toml_parses_all_fields ... ok
[INFO] [stdout] test tests::misc::config_load_invalid_toml ... ok
[INFO] [stdout] test tests::misc::config_load_missing_file_ok ... ok
[INFO] [stdout] test tests::history::history_picker_navigate_up_down ... ok
[INFO] [stdout] test tests::menu::run_selected_menu_action_fallback_to_normal ... ok
[INFO] [stdout] test tests::misc::config_xdg_present ... ok
[INFO] [stdout] test tests::keyevents::dispatch_test_event_exposes_job_on_confirmed_delete ... ok
[INFO] [stdout] test tests::misc::file_name_str_root_returns_none ... ok
[INFO] [stdout] test tests::misc::file_name_str_valid_utf8 ... ok
[INFO] [stdout] test tests::overwrite::archive_extract_enter_with_conflict_shows_overwrite_dialog_without_starting_action ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_all_conflicts_returns_all_names ... ok
[INFO] [stdout] test tests::keyevents::create_directory_trims_surrounding_whitespace ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_copy_directory_source_no_conflict ... ok
[INFO] [stdout] test tests::overwrite::archive_extract_left_toggles_selection_without_moving_text_cursor ... ok
[INFO] [stdout] test tests::misc::file_name_str_non_utf8_returns_lossy ... ok
[INFO] [stdout] test tests::menu::menu_reset_filter_clears_filter_and_preserves_focus ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_copy_empty_sources_no_panic ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_copy_nonexistent_dest_no_panic ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_copy_overwrite_true_no_conflict ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_copy_symlink_source_conflict ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_copy_duplicate_sources_different_dirs_conflict ... ok
[INFO] [stdout] test tests::misc::config_fallback_no_xdg_no_home ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_create_archive_overwrite_true_no_conflict ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_create_archive_dest_exists_conflict ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_create_archive_dest_not_exists_no_conflict ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_delete_no_conflict ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_extract_archive_overwrite_true_no_conflict ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_broken_symlink_at_dest_is_conflict ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_no_conflicts_returns_none ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_one_conflict_returns_some ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_pending_action_none_returns_none ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_source_equals_dest_skipped ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_move_overwrite_no_conflict ... ok
[INFO] [stdout] test tests::pickers::archive_menu_picker_navigate_bounds ... ok
[INFO] [stdout] test tests::pickers::archive_menu_picker_esc_returns_normal ... ok
[INFO] [stdout] test tests::pickers::history_picker_home_end ... ok
[INFO] [stdout] test tests::pickers::archive_menu_picker_home_end ... ok
[INFO] [stdout] test tests::pickers::hotlist_picker_delete_middle_and_last ... ok
[INFO] [stdout] test tests::pickers::hotlist_picker_add_and_dedup ... ok
[INFO] [stdout] test tests::menu::menu_right_panel_refresh_refreshes_right ... ok
[INFO] [stdout] test tests::pickers::list_picker_returns_early_if_not_list_picker_mode ... ok
[INFO] [stdout] test tests::pickers::picker_escape_returns_normal ... ok
[INFO] [stdout] test tests::pickers::hotlist_picker_unmapped_char_is_noop ... ok
[INFO] [stdout] test tests::pickers::picker_navigation_clamps_at_bounds_empty_and_single ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_move_conflict ... ok
[INFO] [stdout] test tests::pickers::picker_page_up_down_are_noops ... ok
[INFO] [stdout] test tests::pickers::picker_three_items_no_wrap_at_bounds ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_move_empty_sources_no_panic ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_extract_archive_no_conflict_empty_dest ... ok
[INFO] [stdout] test tests::keybinds::ctrl_r_refreshes ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_move_same_file_no_conflict ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_extract_archive_conflict_with_existing_file ... ok
[INFO] [stdout] test tests::overwrite::check_overwrite_copy_directory_source_conflict ... ok
[INFO] [stdout] test tests::pickers::picker_typed_char_is_noop_when_not_a_hotkey ... ok
[INFO] [stdout] test tests::menu::menu_rename_confirms_and_renames_file ... ok
[INFO] [stdout] test tests::menu::menu_right_panel_sort_changes_right_panel ... ok
[INFO] [stdout] test tests::menu::menu_rename_collision_shows_error_message ... ok
[INFO] [stdout] test tests::search::apply_search_filter_no_match_clears_entries ... ok
[INFO] [stdout] test tests::search::apply_search_filter_partial_match ... ok
[INFO] [stdout] test tests::pickers::hotlist_picker_enter_navigates_to_selected_directory ... ok
[INFO] [stdout] test tests::menu::menu_sort_preserves_current_entry_focus ... ok
[INFO] [stdout] test tests::search::apply_search_filter_empty_pattern_shows_all ... ok
[INFO] [stdout] test tests::search::apply_search_filter_exact_match ... ok
[INFO] [stdout] test tests::pickers::hotlist_picker_home_end ... ok
[INFO] [stdout] test tests::search::search_backspace_to_empty_clears_search ... ok
[INFO] [stdout] test tests::selection::insert_on_last_entry_cursor_stays_selection_toggled ... ok
[INFO] [stdout] test tests::search::search_clear_resets_scroll_offset ... ok
[INFO] [stdout] test tests::selection::insert_on_dotdot_only_entry_no_toggle_cursor_stays ... ok
[INFO] [stdout] test tests::selection::reposition_cursor_empty_list_no_panic ... ok
[INFO] [stdout] test tests::selection::insert_on_dotdot_skips_toggle_and_moves ... ok
[INFO] [stdout] test tests::selection::insert_toggles_current_on_then_moves_down ... ok
[INFO] [stdout] test tests::selection::reposition_cursor_none_name_unchanged ... ok
[INFO] [stdout] test tests::search::search_esc_restores_entries_documents_cursor ... ok
[INFO] [stdout] test tests::selection::selected_or_current_paths_dotdot_current_returns_empty ... ok
[INFO] [stdout] test tests::selection::reposition_cursor_finds_matching_name ... ok
[INFO] [stdout] test tests::search::search_enter_preserves_current_entry_focus ... ok
[INFO] [stdout] test tests::selection::selected_or_current_paths_no_selection_returns_current ... ok
[INFO] [stdout] test tests::selection::insert_toggles_current_off_stays_on_last ... ok
[INFO] [stdout] test tests::search::search_enter_clears_filter_and_restores_unfiltered_entries ... ok
[INFO] [stdout] test tests::search::search_backspace_shortens_query_and_cursor ... ok
[INFO] [stdout] test tests::selection::selected_or_current_paths_empty_panel ... ok
[INFO] [stdout] test tests::search::apply_search_filter_unicode_combining_chars ... ok
[INFO] [stdout] test tests::selection::selected_or_current_paths_all_dotdot_selected_fallback ... ok
[INFO] [stdout] test tests::selection::reposition_cursor_no_match_leaves_cursor ... ok
[INFO] [stdout] test tests::selection::selected_or_current_paths_fallback_to_cursor ... ok
[INFO] [stdout] test tests::selection::selected_or_current_paths_right_panel_fallback_to_cursor ... ok
[INFO] [stdout] test tests::selection::selected_or_current_paths_skips_dotdot ... ok
[INFO] [stdout] test tests::selection::selected_or_current_paths_uses_selection_when_present ... ok
[INFO] [stdout] test tests::selection::selected_or_current_paths_right_panel_uses_selection_when_present ... ok
[INFO] [stdout] test tests::selection::shift_selection_on_right_panel ... ok
[INFO] [stdout] test tests::selection::shift_selection_preserves_unrelated_entries ... ok
[INFO] [stdout] test tests::search::search_enter_refreshes_when_unfiltered_cache_is_dirty ... ok
[INFO] [stdout] test tests::selection::shift_arrow_then_shift_arrow_toggles_two ... ok
[INFO] [stdout] test tests::selection::shift_down_toggles_current_then_moves ... ok
[INFO] [stdout] test tests::selection::shift_down_on_dotdot_skips_toggle_and_moves ... ok
[INFO] [stdout] test tests::search::search_mode_with_empty_panel_handles_char_gracefully ... ok
[INFO] [stdout] test tests::search::search_mode_with_empty_panel_handles_enter_gracefully ... ok
[INFO] [stdout] test tests::selection::shift_up_toggles_current_then_moves ... ok
[INFO] [stdout] test tests::user_menu::empty_user_menu_file_with_no_entries_shows_error ... ok
[INFO] [stdout] test tests::user_menu::empty_user_menu_no_file ... ok
[INFO] [stdout] test tests::user_menu::user_menu_file_menu_no_menu_file_shows_error ... ok
[INFO] [stdout] test tests::user_menu::f2_no_user_menu_file_shows_error ... ok
[INFO] [stdout] test tests::selection::shift_wraparound_down_on_last_and_up_on_first ... ok
[INFO] [stdout] test tests::user_menu::f2_loads_user_menu_file_with_entries ... ok
[INFO] [stdout] test tests::user_menu::user_menu_picker_enter_out_of_bounds_selection_is_clamped ... ok
[INFO] [stdout] test tests::user_menu::user_menu_picker_esc_closes ... ok
[INFO] [stdout] test tests::search::search_mode_with_empty_panel_handles_esc_gracefully ... ok
[INFO] [stdout] test tests::user_menu::user_menu_picker_navigate ... ok
[INFO] [stdout] test tests::user_menu::user_menu_picker_boundary_bottom_no_wrap ... ok
[INFO] [stdout] test tests::search::apply_search_filter_unicode_cjk ... ok
[INFO] [stdout] test tests::user_menu::user_menu_picker_boundary_top_no_wrap ... ok
[INFO] [stdout] test tests::user_menu::user_menu_file_menu_with_entries_opens_picker ... ok
[INFO] [stdout] test tests::search::apply_search_filter_unicode_emoji ... ok
[INFO] [stdout] test tests::viewer::viewer_scroll_up_down ... ok
[INFO] [stdout] test tests::viewer::viewer_search_wraps_around ... ok
[INFO] [stdout] test tests::viewer::viewer_page_up_page_down ... ok
[INFO] [stdout] test tests::viewer::viewer_search_esc_keeps_viewer_previous_mode ... ok
[INFO] [stdout] test tests::viewer::f3_viewer_clears_stale_prev_mode ... ok
[INFO] [stdout] test tests::viewer::viewer_viewport_taller_than_content ... ok
[INFO] [stdout] test tests::viewer::viewer_binary_file_opens_in_hex_mode ... ok
[INFO] [stdout] test tests::viewer::viewer_long_line_horizontal_scroll ... ok
[INFO] [stdout] test tests::viewer::viewer_crlf_line_endings ... ok
[INFO] [stdout] test tests::viewer::viewer_empty_file ... ok
[INFO] [stdout] test tests::user_menu::user_menu_picker_enter_dismisses ... ok
[INFO] [stdout] test tests::viewer::viewer_hex_mode_toggle ... ok
[INFO] [stdout] test tests::viewer::viewer_close_via_escape ... ok
[INFO] [stdout] test tests::viewer::viewer_invalid_utf8 ... ok
[INFO] [stdout] test tests::viewer::viewer_search ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 302 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests lc
[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" "730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125", kill_on_drop: false }`
[INFO] [stdout] 730e0e07df6425b2fd933cbbd654beaeace009c4bd51b7f485899ff1aadb0125
