[INFO] cloning repository https://github.com/questdb/middle-manager
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/questdb/middle-manager" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquestdb%2Fmiddle-manager", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquestdb%2Fmiddle-manager'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2c275d798c9fb66c113b9413aae85c21d4b41162
[INFO] testing questdb/middle-manager against 1.99.0-beta.8 for beta-1.100-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquestdb%2Fmiddle-manager" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/questdb/middle-manager
[INFO] finished tweaking git repo https://github.com/questdb/middle-manager
[INFO] tweaked toml for git repo https://github.com/questdb/middle-manager written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/questdb/middle-manager on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/questdb/middle-manager already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/questdb/parquet2`
[INFO] [stderr]     Updating git submodule `https://github.com/apache/parquet-testing.git`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded derive_arbitrary v1.4.2
[INFO] [stderr]   Downloaded tree-sitter-json v0.24.8
[INFO] [stderr]   Downloaded wezterm-blob-leases v0.1.1
[INFO] [stderr]   Downloaded atomic v0.6.1
[INFO] [stderr]   Downloaded deflate64 v0.1.12
[INFO] [stderr]   Downloaded tree-sitter-toml-ng v0.7.0
[INFO] [stderr]   Downloaded tree-sitter-highlight v0.25.10
[INFO] [stderr]   Downloaded csscolorparser v0.6.2
[INFO] [stderr]   Downloaded lab v0.11.0
[INFO] [stderr]   Downloaded mac_address v1.1.8
[INFO] [stderr]   Downloaded vtparse v0.6.2
[INFO] [stderr]   Downloaded memmem v0.1.1
[INFO] [stderr]   Downloaded ratatui-crossterm v0.1.0
[INFO] [stderr]   Downloaded zip v2.4.2
[INFO] [stderr]   Downloaded bzip2 v0.5.2
[INFO] [stderr]   Downloaded arbitrary v1.4.2
[INFO] [stderr]   Downloaded vte v0.15.0
[INFO] [stderr]   Downloaded strum v0.27.2
[INFO] [stderr]   Downloaded line-clipping v0.3.7
[INFO] [stderr]   Downloaded wezterm-dynamic v0.2.1
[INFO] [stderr]   Downloaded wezterm-input-types v0.1.0
[INFO] [stderr]   Downloaded euclid v0.22.14
[INFO] [stderr]   Downloaded wezterm-color-types v0.3.0
[INFO] [stderr]   Downloaded termios v0.3.3
[INFO] [stderr]   Downloaded redox_syscall v0.7.4
[INFO] [stderr]   Downloaded strum_macros v0.27.2
[INFO] [stderr]   Downloaded lru v0.16.4
[INFO] [stderr]   Downloaded ratatui-termwiz v0.1.0
[INFO] [stderr]   Downloaded terminfo v0.9.0
[INFO] [stderr]   Downloaded wezterm-dynamic-derive v0.1.1
[INFO] [stderr]   Downloaded wezterm-bidi v0.2.3
[INFO] [stderr]   Downloaded finl_unicode v1.4.0
[INFO] [stderr]   Downloaded ratatui-macros v0.7.0
[INFO] [stderr]   Downloaded tree-sitter-javascript v0.23.1
[INFO] [stderr]   Downloaded tar v0.4.45
[INFO] [stderr]   Downloaded bytemuck v1.25.0
[INFO] [stderr]   Downloaded tree-sitter v0.25.10
[INFO] [stderr]   Downloaded ratatui v0.30.0
[INFO] [stderr]   Downloaded ratatui-core v0.1.0
[INFO] [stderr]   Downloaded ratatui-widgets v0.3.0
[INFO] [stderr]   Downloaded tree-sitter-c v0.23.4
[INFO] [stderr]   Downloaded serial-unix v0.4.0
[INFO] [stderr]   Downloaded termios v0.2.2
[INFO] [stderr]   Downloaded ioctl-rs v0.1.6
[INFO] [stderr]   Downloaded lz4 v1.28.1
[INFO] [stderr]   Downloaded grep-matcher v0.1.8
[INFO] [stderr]   Downloaded termwiz v0.23.3
[INFO] [stderr]   Downloaded portable-pty v0.8.1
[INFO] [stderr]   Downloaded parquet-format-safe v0.2.4
[INFO] [stderr]   Downloaded bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]   Downloaded tree-sitter-bash v0.23.3
[INFO] [stderr]   Downloaded brotli-decompressor v2.5.1
[INFO] [stderr]   Downloaded libc v0.2.185
[INFO] [stderr]   Downloaded serial v0.4.0
[INFO] [stderr]   Downloaded streaming-decompression v0.1.2
[INFO] [stderr]   Downloaded serial-core v0.4.0
[INFO] [stderr]   Downloaded grep-regex v0.1.14
[INFO] [stderr]   Downloaded serial-windows v0.4.0
[INFO] [stderr]   Downloaded grep-searcher v0.1.16
[INFO] [stderr]   Downloaded memmap2 v0.9.10
[INFO] [stderr]   Downloaded deltae v0.3.2
[INFO] [stderr]   Downloaded brotli v3.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d
[INFO] running `Command { std: "docker" "start" "25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d", 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" "25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d", 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" "25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling zstd-safe v6.0.6
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling lru v0.16.4
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling brotli-decompressor v2.5.1
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling grep-matcher v0.1.8
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling lzma-rs v0.3.0
[INFO] [stderr]    Compiling streaming-decompression v0.1.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling encoding_rs_io v0.1.7
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling termios v0.2.2
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling serial-core v0.4.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling ioctl-rs v0.1.6
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling serial-unix v0.4.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling serial v0.4.0
[INFO] [stderr]    Compiling brotli v3.5.0
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling xxhash-rust v0.8.15
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling deflate64 v0.1.12
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling constant_time_eq v0.3.1
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling parquet-format-safe v0.2.4
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling tar v0.4.45
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]    Compiling bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]    Compiling tree-sitter-json v0.24.8
[INFO] [stderr]    Compiling tree-sitter-toml-ng v0.7.0
[INFO] [stderr]    Compiling tree-sitter-java v0.23.5
[INFO] [stderr]    Compiling tree-sitter-python v0.23.6
[INFO] [stderr]    Compiling tree-sitter-c v0.23.4
[INFO] [stderr]    Compiling tree-sitter-go v0.23.4
[INFO] [stderr]    Compiling tree-sitter-javascript v0.23.1
[INFO] [stderr]    Compiling tree-sitter-rust v0.23.3
[INFO] [stderr]    Compiling tree-sitter-bash v0.23.3
[INFO] [stderr]    Compiling tree-sitter v0.25.10
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling xz2 v0.1.7
[INFO] [stderr]    Compiling bzip2 v0.5.2
[INFO] [stderr]    Compiling vte v0.15.0
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling grep-regex v0.1.14
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[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 ignore v0.4.25
[INFO] [stderr]    Compiling grep-searcher v0.1.16
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling filedescriptor v0.8.3
[INFO] [stderr]    Compiling portable-pty v0.8.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling tree-sitter-highlight v0.25.10
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling zstd v0.12.4
[INFO] [stderr]    Compiling lz4 v1.28.1
[INFO] [stderr]    Compiling parquet2 v0.17.2 (https://github.com/questdb/parquet2?branch=main#486279b6)
[INFO] [stderr]    Compiling middle-manager v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 41s
[INFO] running `Command { std: "docker" "inspect" "25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d", 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" "25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling tar v0.4.45
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling middle-manager v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 25.30s
[INFO] running `Command { std: "docker" "inspect" "25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d", 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" "25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.40s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/middle_manager-b8d3a14fcb7454a8)
[INFO] [stdout] 
[INFO] [stdout] running 120 tests
[INFO] [stdout] test azure_blob::tests::resolve_path_account_root ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_container_no_trailing_slash ... ok
[INFO] [stdout] test azure_blob::tests::extract_field_account_name ... ok
[INFO] [stdout] test azure_blob::tests::extract_field_missing ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_fixed_container_root ... ok
[INFO] [stdout] test azure_blob::tests::azure_display_label ... ok
[INFO] [stdout] test azure_blob::tests::azure_to_prefix ... ok
[INFO] [stdout] test azure_blob::tests::to_prefix_nested ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_container_and_blob ... ok
[INFO] [stdout] test azure_blob::tests::to_prefix_root ... ok
[INFO] [stdout] test azure_blob::tests::to_prefix_trailing_slash ... ok
[INFO] [stdout] test gcs::tests::gcs_display_label ... ok
[INFO] [stdout] test gcs::tests::gcs_to_prefix ... ok
[INFO] [stdout] test azure_blob::tests::to_prefix_single_segment ... ok
[INFO] [stdout] test azure_blob::tests::extract_field_blob_endpoint ... ok
[INFO] [stdout] test azure_blob::tests::parse_azure_listing_basic ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_nested_dirs ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_container_trailing_slash ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_fixed_container_subpath ... ok
[INFO] [stdout] test gcs::tests::gcs_uri_building ... ok
[INFO] [stdout] test nfs_client::tests::normalize_no_change ... ok
[INFO] [stdout] test nfs_client::tests::normalize_parent_dir ... ok
[INFO] [stdout] test nfs_client::tests::normalize_multiple_parent ... ok
[INFO] [stdout] test azure_blob::tests::azure_empty_listing ... ok
[INFO] [stdout] test nfs_client::tests::normalize_above_root ... ok
[INFO] [stdout] test nfs_client::tests::normalize_cur_dir ... ok
[INFO] [stdout] test s3::tests::parse_iso8601_invalid ... ok
[INFO] [stdout] test gcs::tests::parse_gcs_listing_basic ... ok
[INFO] [stdout] test s3::tests::display_label_with_endpoint ... ok
[INFO] [stdout] test s3::tests::display_label_plain ... ok
[INFO] [stdout] test azure_blob::tests::to_prefix_empty_path ... ok
[INFO] [stdout] test s3::tests::parse_iso8601_with_offset ... ok
[INFO] [stdout] test s3::tests::parse_iso8601_rfc3339 ... ok
[INFO] [stdout] test s3::tests::s3_to_prefix ... ok
[INFO] [stdout] test panel::tests::select_by_name_selects_parent_entry ... ok
[INFO] [stdout] test s3::tests::parse_s3_listing_empty_bucket ... ok
[INFO] [stdout] test panel::tests::select_by_name_nonexistent_leaves_selection_unchanged ... ok
[INFO] [stdout] test panel::tests::select_by_name_finds_existing_entry ... ok
[INFO] [stdout] test s3::tests::parse_s3_listing_basic ... ok
[INFO] [stdout] test s3::tests::parse_s3_listing_root_prefix ... ok
[INFO] [stdout] test s3::tests::parse_s3_listing_skips_prefix_marker ... ok
[INFO] [stdout] test s3::tests::s3_uri_building ... ok
[INFO] [stdout] test sftp::tests::parse_permission_string_basic ... ok
[INFO] [stdout] test sftp::tests::parse_ls_non_entry_line ... ok
[INFO] [stdout] test sftp::tests::parse_ls_filename_with_spaces ... ok
[INFO] [stdout] test sftp::tests::parse_ls_symlink ... ok
[INFO] [stdout] test sftp::tests::parse_permission_string_short ... ok
[INFO] [stdout] test sftp::tests::shell_quote_backslashes ... ok
[INFO] [stdout] test sftp::tests::parse_ls_dotdot_at_root ... ok
[INFO] [stdout] test sftp::tests::parse_full_ls_output ... ok
[INFO] [stdout] test sftp::tests::shell_quote_backtick ... ok
[INFO] [stdout] test sftp::tests::parse_ls_empty_line ... ok
[INFO] [stdout] test sftp::tests::parse_sftp_ls_filters_sftp_prompt ... ok
[INFO] [stdout] test sftp::tests::parse_ls_directory ... ok
[INFO] [stdout] test sftp::tests::shell_quote_double_quotes ... ok
[INFO] [stdout] test sftp::tests::parse_permission_string_setuid ... ok
[INFO] [stdout] test sftp::tests::shell_quote_spaces ... ok
[INFO] [stdout] test sftp::tests::shell_quote_normal_filename ... ok
[INFO] [stdout] test sftp::tests::shell_quote_carriage_return_returns_sentinel ... ok
[INFO] [stdout] test smb_client::tests::home_dir_is_root ... ok
[INFO] [stdout] test sftp::tests::parse_ls_file ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_empty_output ... ok
[INFO] [stdout] test sftp::tests::parse_ls_file_with_year ... ok
[INFO] [stdout] test sftp::tests::shell_quote_basic ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_hidden_file ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_line_directory ... ok
[INFO] [stdout] test sftp::tests::shell_quote_newline_returns_sentinel ... ok
[INFO] [stdout] test sftp::tests::shell_quote_null_byte_returns_sentinel ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_skip_summary ... ok
[INFO] [stdout] test sftp::tests::shell_quote_tab_allowed ... ok
[INFO] [stdout] test smb_client::tests::smb_quote_special_chars ... ok
[INFO] [stdout] test sftp::tests::shell_quote_empty_string ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_conversion ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_empty ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_double_quotes_escaped ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_root ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_line_dotdot ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_line_file ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_all_special_chars ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_backslashes_escaped ... ok
[INFO] [stdout] test smb_client::tests::display_label_format ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_semicolons_escaped ... ok
[INFO] [stdout] test ssh::tests::parse_ssh_config_basic ... ok
[INFO] [stdout] test ssh::tests::parse_ssh_config_comments_only ... ok
[INFO] [stdout] test ssh::tests::parse_ssh_config_multiple_identity_files ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_simple ... ok
[INFO] [stdout] test webdav::tests::parse_propfind_basic ... ok
[INFO] [stdout] test ssh::tests::quick_connect_at_sign_only ... ok
[INFO] [stdout] test ssh::tests::quick_connect_empty ... ok
[INFO] [stdout] test ssh::tests::quick_connect_host_only ... ok
[INFO] [stdout] test ssh::tests::quick_connect_unicode_host ... ok
[INFO] [stdout] test ssh::tests::parse_ssh_config_empty ... ok
[INFO] [stdout] test ssh::tests::parse_ssh_config_equals_syntax ... ok
[INFO] [stdout] test webdav::tests::percent_decode_utf8 ... ok
[INFO] [stdout] test ssh::tests::ssh_host_ssh_args ... ok
[INFO] [stdout] test ssh::tests::quick_connect_user_host ... ok
[INFO] [stdout] test webdav::tests::local_name_strips_prefix ... ok
[INFO] [stdout] test ssh::tests::quick_connect_user_host_port ... ok
[INFO] [stdout] test webdav::tests::parse_propfind_empty_directory ... ok
[INFO] [stdout] test webdav::tests::percent_decode_works ... ok
[INFO] [stdout] test webdav::tests::url_encode_path_works ... ok
[INFO] [stdout] test webdav::tests::webdav_base_url_trailing_slash_stripped ... ok
[INFO] [stdout] test webdav::tests::webdav_display_label ... ok
[INFO] [stdout] test webdav::tests::parse_propfind_name_from_href ... ok
[INFO] [stdout] test webdav::tests::parse_propfind_no_namespace_prefix ... ok
[INFO] [stdout] test webdav::tests::percent_decode_incomplete_sequence ... ok
[INFO] [stdout] test webdav::tests::percent_decode_plus_sign_preserved ... ok
[INFO] [stdout] test webdav::tests::webdav_display_label_no_scheme ... ok
[INFO] [stdout] test webdav::tests::webdav_insecure_defaults_false ... ok
[INFO] [stdout] test webdav::tests::webdav_display_label_http ... ok
[INFO] [stdout] test webdav::tests::webdav_home_dir_is_root ... ok
[INFO] [stdout] test webdav::tests::webdav_insecure_true ... ok
[INFO] [stdout] test webdav::tests::webdav_url_for_root ... ok
[INFO] [stdout] test webdav::tests::webdav_url_for_spaces_encoded ... ok
[INFO] [stdout] test webdav::tests::webdav_url_for_subpath ... ok
[INFO] [stdout] test nfs_client::tests::local_path_traversal_falls_back_to_mount_point ... ok
[INFO] [stdout] test nfs_client::tests::local_path_empty ... ok
[INFO] [stdout] test nfs_client::tests::local_path_normal ... ok
[INFO] [stdout] test nfs_client::tests::local_path_root ... ok
[INFO] [stdout] test nfs_client::tests::local_path_dotdot_within_mount ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 120 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/middle_manager-eb0a44601c36fd60)
[INFO] [stdout] 
[INFO] [stdout] running 953 tests
[INFO] [stdout] test app::azure_auth_dialog_tests::max_focus_azcli_idle_has_three_zones ... ok
[INFO] [stdout] test app::azure_auth_dialog_tests::active_input_mut_returns_pat_or_tenant_by_mode ... ok
[INFO] [stdout] test app::copy_dest_heuristic_tests::empty_path_is_not_file_path ... ok
[INFO] [stdout] test app::azure_auth_dialog_tests::mode_next_cycles_pat_browser_azcli ... ok
[INFO] [stdout] test app::azure_auth_dialog_tests::has_input_only_for_pat_and_browser ... ok
[INFO] [stdout] test app::copy_dest_heuristic_tests::bare_directory_name_with_trailing_sep_is_directory ... ok
[INFO] [stdout] test app::copy_dest_heuristic_tests::existing_regular_file_is_file_path ... ok
[INFO] [stdout] test app::azure_auth_dialog_tests::mode_prev_is_inverse_of_next ... ok
[INFO] [stdout] test app::azure_auth_dialog_tests::focus_predicates_pat_mode ... ok
[INFO] [stdout] test app::copy_dest_heuristic_tests::trailing_slash_is_treated_as_directory ... ok
[INFO] [stdout] test app::copy_dest_heuristic_tests::existing_directory_without_trailing_slash_is_directory ... ok
[INFO] [stdout] test app::editor_key_map_tests::alt_page_down_jumps_to_bottom ... ok
[INFO] [stdout] test app::editor_key_map_tests::alt_page_up_jumps_to_top ... ok
[INFO] [stdout] test app::editor_key_map_tests::plain_page_down_does_not_select ... ok
[INFO] [stdout] test app::editor_key_map_tests::plain_page_up_does_not_select ... ok
[INFO] [stdout] test app::azure_auth_dialog_tests::focus_predicates_azcli_mode_skips_input_zone ... ok
[INFO] [stdout] test app::azure_auth_dialog_tests::max_focus_pat_idle_has_four_zones ... ok
[INFO] [stdout] test app::copy_dest_heuristic_tests::sibling_filename_does_not_confuse_heuristic ... ok
[INFO] [stdout] test app::editor_key_map_tests::ctrl_shift_right_selects_word_right ... ok
[INFO] [stdout] test app::copy_dest_heuristic_tests::nonexistent_path_without_trailing_slash_is_file_path ... ok
[INFO] [stdout] test app::editor_key_map_tests::ctrl_shift_left_selects_word_left ... ok
[INFO] [stdout] test app::azure_auth_dialog_tests::max_focus_browser_idle_has_four_zones ... ok
[INFO] [stdout] test app::azure_auth_dialog_tests::max_focus_azcli_in_flight_has_two_zones ... ok
[INFO] [stdout] test app::azure_auth_dialog_tests::focus_predicates_in_flight_only_bar_and_cancel ... ok
[INFO] [stdout] test app::editor_key_map_tests::shift_home_selects_line_start ... ok
[INFO] [stdout] test app::editor_key_map_tests::shift_end_selects_line_end ... ok
[INFO] [stdout] test app::editor_key_map_tests::shift_down_selects_down ... ok
[INFO] [stdout] test app::editor_key_map_tests::shift_left_selects_left ... ok
[INFO] [stdout] test app::editor_key_map_tests::shift_page_down_maps_to_select_page_down ... ok
[INFO] [stdout] test app::fuzzy_tests::all_files_match_no_panic ... ok
[INFO] [stdout] test app::fuzzy_tests::apply_completion_from_empty_prefix ... ok
[INFO] [stdout] test app::editor_key_map_tests::select_page_down_survives_dispatch_in_editor_state ... ok
[INFO] [stdout] test app::fuzzy_tests::apply_common_prefix_empty_completions ... ok
[INFO] [stdout] test app::fuzzy_tests::apply_completion_basic ... ok
[INFO] [stdout] test app::fuzzy_tests::apply_common_prefix_extends ... ok
[INFO] [stdout] test app::fuzzy_tests::dotfiles ... ok
[INFO] [stdout] test app::fuzzy_tests::duplicate_chars_in_query ... ok
[INFO] [stdout] test app::fuzzy_tests::empty_file_list ... ok
[INFO] [stdout] test app::fuzzy_tests::apply_common_prefix_no_extension ... ok
[INFO] [stdout] test app::fuzzy_tests::expand_empty_input ... ok
[INFO] [stdout] test app::fuzzy_tests::expand_absolute_path ... ok
[INFO] [stdout] test app::fuzzy_tests::expand_tilde ... ok
[INFO] [stdout] test app::fuzzy_tests::case_insensitive ... ok
[INFO] [stdout] test app::editor_key_map_tests::shift_up_selects_up ... ok
[INFO] [stdout] test app::fuzzy_tests::empty_query_matches_all ... ok
[INFO] [stdout] test app::editor_key_map_tests::shift_page_up_maps_to_select_page_up ... ok
[INFO] [stdout] test app::fuzzy_tests::expand_absolute_trailing_slash ... ok
[INFO] [stdout] test app::fuzzy_tests::expand_just_tilde ... ok
[INFO] [stdout] test app::fuzzy_tests::no_match_missing_chars ... ok
[INFO] [stdout] test app::fuzzy_tests::expand_tilde_trailing_slash ... ok
[INFO] [stdout] test app::fuzzy_tests::path_match ... ok
[INFO] [stdout] test app::fuzzy_tests::exact_match ... ok
[INFO] [stdout] test app::fuzzy_tests::fuzzy_search_state_update_results ... ok
[INFO] [stdout] test app::fuzzy_tests::prefix_match ... ok
[INFO] [stdout] test app::fuzzy_tests::populate_completions_invalid_dir ... ok
[INFO] [stdout] test app::fuzzy_tests::collect_files_skips_git ... ok
[INFO] [stdout] test app::fuzzy_tests::extension_only_match ... ok
[INFO] [stdout] test app::fuzzy_tests::filename_match_beats_path_match ... ok
[INFO] [stdout] test app::fuzzy_tests::query_longer_than_candidate_rejected ... ok
[INFO] [stdout] test app::fuzzy_tests::consecutive_bonus ... ok
[INFO] [stdout] test app::fuzzy_tests::query_equals_candidate ... ok
[INFO] [stdout] test app::fuzzy_tests::shorter_path_preferred ... ok
[INFO] [stdout] test app::editor_key_map_tests::shift_right_selects_right ... ok
[INFO] [stdout] test app::fuzzy_tests::middle_of_filename ... ok
[INFO] [stdout] test app::fuzzy_tests::repeated_pattern_picks_best ... ok
[INFO] [stdout] test app::fuzzy_tests::results_truncated_at_100 ... ok
[INFO] [stdout] test app::fuzzy_tests::query_with_slash ... ok
[INFO] [stdout] test app::fuzzy_tests::no_match_wrong_order ... ok
[INFO] [stdout] test app::fuzzy_tests::special_chars_in_paths ... ok
[INFO] [stdout] test app::fuzzy_tests::deeply_nested_path ... ok
[INFO] [stdout] test app::fuzzy_tests::single_char_query ... ok
[INFO] [stdout] test app::fuzzy_tests::substring_chars_in_order ... ok
[INFO] [stdout] test app::fuzzy_tests::unicode_filenames ... ok
[INFO] [stdout] test app::fuzzy_tests::navigate_results_wraps ... ok
[INFO] [stdout] test azure_auth::tests::extract_code_works ... ok
[INFO] [stdout] test azure_auth::tests::urldecoded_basic ... ok
[INFO] [stdout] test azure_auth::tests::urlencoded_passthrough ... ok
[INFO] [stdout] test azure_blob::tests::azure_display_label ... ok
[INFO] [stdout] test azure_blob::tests::azure_empty_listing ... ok
[INFO] [stdout] test app::fuzzy_tests::word_boundary_bonus ... ok
[INFO] [stdout] test azure_blob::tests::azure_to_prefix ... ok
[INFO] [stdout] test azure_auth::tests::code_verifier_is_valid ... ok
[INFO] [stdout] test azure_auth::tests::extract_code_missing ... ok
[INFO] [stdout] test azure_blob::tests::extract_field_account_name ... ok
[INFO] [stdout] test azure_blob::tests::extract_field_blob_endpoint ... ok
[INFO] [stdout] test azure_blob::tests::extract_field_missing ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_account_root ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_container_trailing_slash ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_fixed_container_root ... ok
[INFO] [stdout] test azure_blob::tests::parse_azure_listing_basic ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_container_and_blob ... ok
[INFO] [stdout] test app::azure_auth_dialog_tests::exactly_one_predicate_true_per_zone_across_modes ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_fixed_container_subpath ... ok
[INFO] [stdout] test ci::tests::parse_azure_url_no_build_id ... ok
[INFO] [stdout] test ci::tests::parse_details_url_azure ... ok
[INFO] [stdout] test azure_auth::tests::extract_error_works ... ok
[INFO] [stdout] test azure_auth::tests::urlencoded_basic ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_container_no_trailing_slash ... ok
[INFO] [stdout] test ci::tests::parse_details_url_github ... ok
[INFO] [stdout] test ci::tests::parse_details_url_github_no_job ... ok
[INFO] [stdout] test diff_viewer::tests::clear_search_removes_matches ... ok
[INFO] [stdout] test diff_viewer::tests::clear_selection_works ... ok
[INFO] [stdout] test diff_viewer::tests::counts_correct ... ok
[INFO] [stdout] test diff_viewer::tests::current_line_returns_right_side ... ok
[INFO] [stdout] test azure_blob::tests::to_prefix_empty_path ... ok
[INFO] [stdout] test azure_blob::tests::to_prefix_nested ... ok
[INFO] [stdout] test azure_blob::tests::to_prefix_single_segment ... ok
[INFO] [stdout] test diff_viewer::tests::cursor_down_and_up ... ok
[INFO] [stdout] test azure_blob::tests::to_prefix_trailing_slash ... ok
[INFO] [stdout] test diff_viewer::tests::cursor_down_clamps_to_last ... ok
[INFO] [stdout] test ci::tests::ci_check_display_name ... ok
[INFO] [stdout] test diff_viewer::tests::cursor_home_and_end ... ok
[INFO] [stdout] test ci::tests::parse_details_url_unknown ... ok
[INFO] [stdout] test diff_viewer::tests::cursor_left_at_start_stays ... ok
[INFO] [stdout] test diff_viewer::tests::cursor_left_wraps_to_prev_line ... ok
[INFO] [stdout] test diff_viewer::tests::line_numbers_continuous_after_deletions ... ok
[INFO] [stdout] test diff_viewer::tests::next_change_skips_equal ... ok
[INFO] [stdout] test diff_viewer::tests::next_change_skips_whole_hunk ... ok
[INFO] [stdout] test diff_viewer::tests::page_up_and_down ... ok
[INFO] [stdout] test diff_viewer::tests::parse_change_pairs_delete_then_add ... ok
[INFO] [stdout] test diff_viewer::tests::parse_context_only ... ok
[INFO] [stdout] test diff_viewer::tests::parse_deleted_file_all_deletions ... ok
[INFO] [stdout] test diff_viewer::tests::parse_empty_diff ... ok
[INFO] [stdout] test diff_viewer::tests::parse_more_deletes_than_adds ... ok
[INFO] [stdout] test clipboard::tests::base64_encode_basic ... ok
[INFO] [stdout] test diff_viewer::tests::parse_multi_line_change ... ok
[INFO] [stdout] test azure_blob::tests::resolve_path_nested_dirs ... ok
[INFO] [stdout] test azure_blob::tests::to_prefix_root ... ok
[INFO] [stdout] test ci::tests::ci_status_sort_priority_ordering ... ok
[INFO] [stdout] test diff_viewer::tests::prev_change_at_start_stays ... ok
[INFO] [stdout] test diff_viewer::tests::prev_change_jumps_backward ... ok
[INFO] [stdout] test diff_viewer::tests::parse_new_file_all_additions ... ok
[INFO] [stdout] test diff_viewer::tests::parse_pure_additions ... ok
[INFO] [stdout] test diff_viewer::tests::parse_no_newline_marker_ignored ... ok
[INFO] [stdout] test diff_viewer::tests::prev_change_skips_to_hunk_start ... ok
[INFO] [stdout] test diff_viewer::tests::scroll_follows_cursor ... ok
[INFO] [stdout] test diff_viewer::tests::parse_pure_deletions ... ok
[INFO] [stdout] test diff_viewer::tests::search_case_insensitive ... ok
[INFO] [stdout] test diff_viewer::tests::search_next_wraps_around ... ok
[INFO] [stdout] test diff_viewer::tests::search_prev_wraps_around ... ok
[INFO] [stdout] test diff_viewer::tests::search_empty_query_no_matches ... ok
[INFO] [stdout] test diff_viewer::tests::cursor_right_at_end_stays ... ok
[INFO] [stdout] test diff_viewer::tests::cursor_right_wraps_to_next_line ... ok
[INFO] [stdout] test diff_viewer::tests::cursor_to_top_and_bottom ... ok
[INFO] [stdout] test diff_viewer::tests::line_numbers_continuous_after_additions ... ok
[INFO] [stdout] test diff_viewer::tests::next_change_at_end_stays ... ok
[INFO] [stdout] test diff_viewer::tests::switch_side_toggles ... ok
[INFO] [stdout] test editor::tests::bom_detected_at_open ... ok
[INFO] [stdout] test diff_viewer::tests::select_down_extends_to_next_line ... ok
[INFO] [stdout] test diff_viewer::tests::select_right_creates_selection ... ok
[INFO] [stdout] test diff_viewer::tests::selection_empty_by_default ... ok
[INFO] [stdout] test diff_viewer::tests::switch_side_clamps_col ... ok
[INFO] [stdout] test editor::tests::clear_selection_on_regular_move ... ok
[INFO] [stdout] test editor::tests::click_at_clears_selection ... ok
[INFO] [stdout] test editor::tests::bom_preserved_on_save_when_line_0_edited ... ok
[INFO] [stdout] test diff_viewer::tests::selection_cleared_on_side_switch ... ok
[INFO] [stdout] test diff_viewer::tests::selected_text_single_line ... ok
[INFO] [stdout] test editor::tests::clear_selection_resets_after_select_page_down ... ok
[INFO] [stdout] test editor::tests::click_at_positions_cursor ... ok
[INFO] [stdout] test editor::tests::bom_stripped_from_displayed_line_0 ... ok
[INFO] [stdout] test editor::tests::bom_preserved_on_save_when_unmodified ... ok
[INFO] [stdout] test diff_viewer::tests::search_finds_matches ... ok
[INFO] [stdout] test editor::tests::char_at_display_col_ascii ... ok
[INFO] [stdout] test editor::tests::char_at_display_col_wide_char_boundary_jumps_past ... ok
[INFO] [stdout] test editor::tests::clear_selection_resets_anchor ... ok
[INFO] [stdout] test editor::tests::bom_preserved_on_save_when_unmodified_line_0 ... ok
[INFO] [stdout] test editor::tests::display_col_of_ascii ... ok
[INFO] [stdout] test editor::tests::click_at_with_scroll ... ok
[INFO] [stdout] test editor::tests::display_col_of_wide_chars ... ok
[INFO] [stdout] test editor::tests::click_past_end_of_line_clamps ... ok
[INFO] [stdout] test editor::tests::double_click_selects_word ... ok
[INFO] [stdout] test editor::tests::display_col_to_orig_col_basic ... ok
[INFO] [stdout] test editor::tests::display_col_to_orig_col_with_control_char ... ok
[INFO] [stdout] test editor::tests::display_col_of_control_chars_zero_width ... ok
[INFO] [stdout] test editor::tests::display_col_to_orig_col_with_scroll ... ok
[INFO] [stdout] test editor::tests::display_col_of_tabs ... ok
[INFO] [stdout] test editor::tests::display_col_to_orig_col_with_tab ... ok
[INFO] [stdout] test editor::tests::click_on_gutter_ignored ... ok
[INFO] [stdout] test editor::tests::no_bom_on_plain_ascii ... ok
[INFO] [stdout] test editor::tests::drag_creates_selection ... ok
[INFO] [stdout] test editor::tests::no_undo_for_noop_operations ... ok
[INFO] [stdout] test editor::tests::multiple_undo_redo_cycle ... ok
[INFO] [stdout] test editor::tests::double_click_selects_word_with_underscore ... ok
[INFO] [stdout] test editor::tests::repeat_preserves_backward_direction ... ok
[INFO] [stdout] test editor::tests::redo_on_empty_stack ... ok
[INFO] [stdout] test editor::tests::redo_cleared_on_new_edit ... ok
[INFO] [stdout] test editor::tests::double_click_selects_word_at_start ... ok
[INFO] [stdout] test editor::tests::repeat_prev_after_forward_dialog_search_goes_backward ... ok
[INFO] [stdout] test editor::tests::repeat_after_backward_dialog_search_continues_backward ... ok
[INFO] [stdout] test editor::tests::scroll_to_cursor_keeps_tab_cursor_visible ... ok
[INFO] [stdout] test editor::tests::repeat_reverse_flips_backward_to_forward ... ok
[INFO] [stdout] test editor::tests::repeat_reverse_flips_forward_to_backward ... ok
[INFO] [stdout] test editor::tests::repeat_preserves_query_and_case_sensitive ... ok
[INFO] [stdout] test editor::tests::repeat_preserves_forward_direction ... ok
[INFO] [stdout] test editor::tests::redo_insert_char ... ok
[INFO] [stdout] test editor::tests::scroll_to_cursor_ascii_one_cell_from_right_edge ... ok
[INFO] [stdout] test editor::tests::scroll_to_cursor_pulls_back_when_cursor_moves_left ... ok
[INFO] [stdout] test editor::tests::scroll_to_cursor_no_op_when_visible_cols_zero ... ok
[INFO] [stdout] test editor::tests::scroll_to_cursor_stays_put_when_cursor_in_viewport ... ok
[INFO] [stdout] test editor::tests::scroll_to_cursor_keeps_wide_char_cursor_visible ... ok
[INFO] [stdout] test editor::tests::save_twice_does_not_accumulate_boms ... ok
[INFO] [stdout] test editor::tests::search_empty_query ... ok
[INFO] [stdout] test editor::tests::search_backward_does_not_refind_same_match ... ok
[INFO] [stdout] test editor::tests::search_case_sensitive_misses ... ok
[INFO] [stdout] test editor::tests::search_case_insensitive ... ok
[INFO] [stdout] test editor::tests::search_forward_skips_cursor_position ... ok
[INFO] [stdout] test editor::tests::search_forward_basic ... ok
[INFO] [stdout] test editor::tests::search_column_matches_editor_column_crlf ... ok
[INFO] [stdout] test editor::tests::search_mid_line_match ... ok
[INFO] [stdout] test editor::tests::search_forward_then_backward_cycles ... ok
[INFO] [stdout] test editor::tests::search_multiple_matches_same_line ... ok
[INFO] [stdout] test editor::tests::search_not_found ... ok
[INFO] [stdout] test editor::tests::select_after_search_starts_fresh ... ok
[INFO] [stdout] test editor::tests::select_all ... ok
[INFO] [stdout] test editor::tests::select_after_reverse_search_starts_fresh ... ok
[INFO] [stdout] test editor::tests::search_backward_basic ... ok
[INFO] [stdout] test editor::tests::select_left_after_forward_search_cursor_was_elsewhere ... ok
[INFO] [stdout] test editor::tests::select_left_at_line_start_wraps ... ok
[INFO] [stdout] test editor::tests::select_left_after_forward_search ... ok
[INFO] [stdout] test editor::tests::search_forward_wraps_around ... ok
[INFO] [stdout] test editor::tests::select_left_single_char ... ok
[INFO] [stdout] test editor::tests::search_then_select_right_crlf_file ... ok
[INFO] [stdout] test editor::tests::select_line_start ... ok
[INFO] [stdout] test editor::tests::select_page_down_extends_existing_selection ... ok
[INFO] [stdout] test editor::tests::select_page_down_clamps_at_end_of_file ... ok
[INFO] [stdout] test editor::tests::select_down_selects_to_same_col ... ok
[INFO] [stdout] test editor::tests::select_page_down_sets_anchor_and_advances_cursor ... ok
[INFO] [stdout] test editor::tests::select_page_up_clamps_at_top_of_file ... ok
[INFO] [stdout] test editor::tests::select_line_end ... ok
[INFO] [stdout] test editor::tests::search_backward_wraps_around ... ok
[INFO] [stdout] test editor::tests::select_right_at_line_end_wraps ... ok
[INFO] [stdout] test editor::tests::select_right_exact_text_boundary ... ok
[INFO] [stdout] test editor::tests::select_right_from_middle ... ok
[INFO] [stdout] test editor::tests::select_right_multiple_chars ... ok
[INFO] [stdout] test editor::tests::select_right_single_char ... ok
[INFO] [stdout] test editor::tests::select_page_up_sets_anchor_and_retreats_cursor ... ok
[INFO] [stdout] test editor::tests::select_right_then_left_cancels ... ok
[INFO] [stdout] test app::fuzzy_tests::populate_completions_case_insensitive ... ok
[INFO] [stdout] test editor::tests::search_backward_multiple_same_line ... ok
[INFO] [stdout] test editor::tests::select_right_then_up ... ok
[INFO] [stdout] test editor::tests::select_word_right_at_line_2 ... ok
[INFO] [stdout] test editor::tests::selection_range_multi_line_reversed ... ok
[INFO] [stdout] test editor::tests::selection_range_none_when_no_anchor ... ok
[INFO] [stdout] test editor::tests::selected_text_multi_line ... ok
[INFO] [stdout] test app::fuzzy_tests::populate_completions_real_fs ... ok
[INFO] [stdout] test app::fuzzy_tests::populate_completions_with_prefix ... ok
[INFO] [stdout] test editor::tests::selected_text_reversed ... ok
[INFO] [stdout] test editor::tests::selection_range_same_line_forward ... ok
[INFO] [stdout] test editor::tests::selection_range_same_line_reversed ... ok
[INFO] [stdout] test editor::tests::select_up_from_second_line ... ok
[INFO] [stdout] test editor::tests::triple_click_selects_line ... ok
[INFO] [stdout] test editor::tests::short_file_without_bom_is_fine ... ok
[INFO] [stdout] test editor::tests::select_word_right_at_top_of_file ... ok
[INFO] [stdout] test editor::tests::shift_click_extends_selection ... ok
[INFO] [stdout] test editor::tests::undo_breaks_group_on_whitespace ... ok
[INFO] [stdout] test editor::tests::undo_delete_backward ... ok
[INFO] [stdout] test editor::tests::undo_delete_backward_join ... ok
[INFO] [stdout] test editor::tests::selected_text_single_line ... ok
[INFO] [stdout] test editor::tests::undo_all_then_redo_all ... ok
[INFO] [stdout] test editor::tests::undo_delete_line ... ok
[INFO] [stdout] test editor::tests::undo_insert_at_beginning_of_file ... ok
[INFO] [stdout] test editor::tests::undo_delete_forward_at_end_of_line ... ok
[INFO] [stdout] test editor::tests::undo_delete_line_single_line_file ... ok
[INFO] [stdout] test editor::tests::undo_insert_char ... ok
[INFO] [stdout] test editor::tests::undo_insert_newline ... ok
[INFO] [stdout] test editor::tests::undo_newline_at_end_of_file ... ok
[INFO] [stdout] test editor::tests::word_left_basic ... ok
[INFO] [stdout] test editor::tests::selection_range_multi_line_forward ... ok
[INFO] [stdout] test editor::tests::undo_delete_line_last_line ... ok
[INFO] [stdout] test editor::tests::word_left_wraps_to_prev_line ... ok
[INFO] [stdout] test editor::tests::word_right_basic ... ok
[INFO] [stdout] test editor::tests::word_right_with_punctuation ... ok
[INFO] [stdout] test editor::tests::word_right_wraps_to_next_line ... ok
[INFO] [stdout] test editor::tests::undo_on_empty_stack ... ok
[INFO] [stdout] test file_search::tests::after_context ... ok
[INFO] [stdout] test editor::tests::undo_preserves_cursor_position ... ok
[INFO] [stdout] test file_search::tests::basic_regex_search ... ok
[INFO] [stdout] test file_search::tests::before_and_after_context ... ok
[INFO] [stdout] test file_search::tests::basic_literal_search ... ok
[INFO] [stdout] test file_search::tests::case_sensitive_default ... ok
[INFO] [stdout] test file_search::tests::crlf_line_terminators ... ok
[INFO] [stdout] test file_search::tests::before_context ... ok
[INFO] [stdout] test editor::tests::word_left_with_punctuation ... ok
[INFO] [stdout] test editor::tests::undo_groups_consecutive_typing ... ok
[INFO] [stdout] test file_search::tests::case_insensitive ... ok
[INFO] [stdout] test file_search::tests::file_type_select ... ok
[INFO] [stdout] test azure_auth::tests::code_challenge_is_base64url ... ok
[INFO] [stdout] test file_search::tests::follow_symlinks ... ok
[INFO] [stdout] test file_search::tests::file_type_negate ... ok
[INFO] [stdout] test file_search::tests::glob_filter_comma_separated ... ok
[INFO] [stdout] test file_search::tests::file_type_multiple ... ok
[INFO] [stdout] test file_search::tests::hidden_files_excluded_by_default ... ok
[INFO] [stdout] test file_search::tests::invert_match ... ok
[INFO] [stdout] test file_search::tests::filter_matches_by_text ... ok
[INFO] [stdout] test file_search::tests::hidden_files_included ... ok
[INFO] [stdout] test file_search::tests::max_count_across_files ... ok
[INFO] [stdout] test file_search::tests::max_count_per_file ... ok
[INFO] [stdout] test file_search::tests::filter_empty_shows_all ... ok
[INFO] [stdout] test file_search::tests::filter_case_insensitive ... ok
[INFO] [stdout] test file_search::tests::max_depth ... ok
[INFO] [stdout] test file_search::tests::multiline_search ... ok
[INFO] [stdout] test file_search::tests::no_trim_by_default ... ok
[INFO] [stdout] test file_search::tests::max_filesize_filter ... ok
[INFO] [stdout] test file_search::tests::parse_filesize_bytes ... ok
[INFO] [stdout] test file_search::tests::parse_filesize_empty ... ok
[INFO] [stdout] test file_search::tests::parse_filesize_kilo ... ok
[INFO] [stdout] test file_search::tests::parse_filesize_invalid ... ok
[INFO] [stdout] test file_search::tests::parse_filesize_mega ... ok
[INFO] [stdout] test file_search::tests::parse_filesize_overflow ... ok
[INFO] [stdout] test file_search::tests::parse_filesize_giga ... ok
[INFO] [stdout] test file_search::tests::rg_file_types_populated ... ok
[INFO] [stdout] test file_search::tests::glob_filter_exclude ... ok
[INFO] [stdout] test file_search::tests::search_state_cancel_on_drop ... ok
[INFO] [stdout] test file_search::tests::filter_matches_by_path ... ok
[INFO] [stdout] test file_search::tests::glob_filter_include ... ok
[INFO] [stdout] test file_search::tests::trim_whitespace ... ok
[INFO] [stdout] test file_search::tests::multiline_dotall ... ok
[INFO] [stdout] test file_search::tests::filter_clamp_selected ... ok
[INFO] [stdout] test fs_ops::tests::conflict_append ... ok
[INFO] [stdout] test fs_ops::tests::append_to_nonexistent_creates_file ... ok
[INFO] [stdout] test file_search::tests::whole_word ... ok
[INFO] [stdout] test fs_ops::tests::conflict_rename ... ok
[INFO] [stdout] test fs_ops::tests::conflict_overwrite ... ok
[INFO] [stdout] test file_search::tests::gitignore_respected ... ok
[INFO] [stdout] test file_search::tests::smart_case_mixed_query ... ok
[INFO] [stdout] test file_search::tests::whole_line ... ok
[INFO] [stdout] test file_search::tests::smart_case_lowercase_query ... ok
[INFO] [stdout] test file_search::tests::no_gitignore ... ok
[INFO] [stdout] test fs_ops::tests::conflict_rename_multiple_copies ... ok
[INFO] [stdout] test fs_ops::tests::copy_entry_to_fails_if_parent_missing ... ok
[INFO] [stdout] test fs_ops::tests::conflict_skip ... ok
[INFO] [stdout] test fs_ops::tests::copy_directory_recursive ... ok
[INFO] [stdout] test fs_ops::tests::copy_empty_directory ... ok
[INFO] [stdout] test fs_ops::tests::copy_empty_file ... ok
[INFO] [stdout] test fs_ops::tests::copy_empty_file_sparse ... ok
[INFO] [stdout] test fs_ops::tests::copy_entry_to_append_policy_concatenates ... ok
[INFO] [stdout] test fs_ops::tests::copy_entry_delegates_to_copy_entry_to ... ok
[INFO] [stdout] test file_search::tests::search_state_navigation ... ok
[INFO] [stdout] test file_search::tests::search_state_lifecycle ... ok
[INFO] [stdout] test fs_ops::tests::copy_entry_to_overwrites_existing_target ... ok
[INFO] [stdout] test fs_ops::tests::copy_entry_to_renames_directory ... ok
[INFO] [stdout] test fs_ops::tests::copy_preserves_permissions ... ok
[INFO] [stdout] test fs_ops::tests::copy_entry_to_renames_on_conflict_when_policy_is_rename ... ok
[INFO] [stdout] test fs_ops::tests::copy_entry_to_target_in_sibling_name_space ... ok
[INFO] [stdout] test fs_ops::tests::copy_entry_to_renames_single_file ... ok
[INFO] [stdout] test fs_ops::tests::copy_symlink_preserves_target ... ok
[INFO] [stdout] test fs_ops::tests::copy_preserves_xattrs ... ok
[INFO] [stdout] test fs_ops::tests::copy_entry_to_skips_when_target_exists_and_policy_is_skip ... ok
[INFO] [stdout] test fs_ops::tests::copy_single_file_basic ... ok
[INFO] [stdout] test fs_ops::tests::copy_preserves_directory_permissions ... ok
[INFO] [stdout] test fs_ops::tests::copy_entry_to_preserves_content_of_large_file ... ok
[INFO] [stdout] test fs_ops::tests::copy_symlink_relative_target ... ok
[INFO] [stdout] test fs_ops::tests::copy_to_same_directory_with_rename ... ok
[INFO] [stdout] test fs_ops::tests::copy_to_same_directory_with_skip ... ok
[INFO] [stdout] test fs_ops::tests::cow_copy_falls_back_gracefully ... ok
[INFO] [stdout] test fs_ops::tests::copy_with_manual_copy_disable_write_cache ... ok
[INFO] [stdout] test fs_ops::tests::exec_copy_item_dir ... ok
[INFO] [stdout] test fs_ops::tests::exec_copy_item_file ... ok
[INFO] [stdout] test fs_ops::tests::exec_copy_item_symlink ... ok
[INFO] [stdout] test fs_ops::tests::copy_large_file ... ok
[INFO] [stdout] test fs_ops::tests::exec_copy_item_with_permissions ... ok
[INFO] [stdout] test fs_ops::tests::move_entry_to_skips_on_existing_target_with_skip_policy ... ok
[INFO] [stdout] test fs_ops::tests::move_entry_to_renames_single_file_same_fs ... ok
[INFO] [stdout] test fs_ops::tests::multi_level_with_symlinks ... ok
[INFO] [stdout] test fs_ops::tests::plan_copy_delegates_to_plan_copy_to ... ok
[INFO] [stdout] test fs_ops::tests::plan_copy_empty_directory ... ok
[INFO] [stdout] test fs_ops::tests::move_entry_delegates_to_move_entry_to ... ok
[INFO] [stdout] test fs_ops::tests::plan_copy_smart_mode_preserves_inner_symlinks ... ok
[INFO] [stdout] test fs_ops::tests::plan_copy_directory_tree ... ok
[INFO] [stdout] test fs_ops::tests::move_entry_directory ... ok
[INFO] [stdout] test fs_ops::tests::move_entry_same_fs_rename ... ok
[INFO] [stdout] test fs_ops::tests::move_entry_with_conflict_rename ... ok
[INFO] [stdout] test fs_ops::tests::move_entry_with_conflict_skip ... ok
[INFO] [stdout] test fs_ops::tests::plan_copy_flat_file ... ok
[INFO] [stdout] test fs_ops::tests::plan_copy_with_symlink_preserve ... ok
[INFO] [stdout] test fs_ops::tests::rename_no_extension ... ok
[INFO] [stdout] test fs_ops::tests::plan_copy_to_directory_uses_dest_as_root ... ok
[INFO] [stdout] test fs_ops::tests::resolve_dest_returns_none_for_skip ... ok
[INFO] [stdout] test fs_ops::tests::plan_copy_to_produces_single_item_with_exact_dst ... ok
[INFO] [stdout] test fs_ops::tests::resolve_dest_returns_renamed_for_rename ... ok
[INFO] [stdout] test fs_ops::tests::resolve_dest_returns_same_for_overwrite ... ok
[INFO] [stdout] test fs_ops::tests::multi_level_directory_copy ... ok
[INFO] [stdout] test fs_ops::tests::resolve_dest_returns_some_for_new_file ... ok
[INFO] [stdout] test fs_ops::tests::symlink_preserve_mode ... ok
[INFO] [stdout] test fs_ops::tests::sparse_copy_preserves_content ... ok
[INFO] [stdout] test fs_ops::tests::symlink_preserve_mode_dir ... ok
[INFO] [stdout] test fs_ops::tests::unique_name_increments ... ok
[INFO] [stdout] test fs_ops::tests::unique_name_no_extension ... ok
[INFO] [stdout] test fs_ops::tests::unique_name_nonexistent_returns_self ... ok
[INFO] [stdout] test fs_ops::tests::symlink_smart_mode_follows_top_level_dir ... ok
[INFO] [stdout] test gcs::tests::gcs_display_label ... ok
[INFO] [stdout] test fs_ops::tests::unique_name_basic ... ok
[INFO] [stdout] test fs_ops::tests::symlink_follow_mode ... ok
[INFO] [stdout] test gcs::tests::gcs_to_prefix ... ok
[INFO] [stdout] test gcs::tests::parse_gcs_listing_basic ... ok
[INFO] [stdout] test gcs::tests::gcs_uri_building ... ok
[INFO] [stdout] test hex_viewer::tests::ascii_cursor_left_at_zero_stays ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_down_at_last_row_clamps ... ok
[INFO] [stdout] test hex_viewer::tests::ascii_cursor_left_moves_byte ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_right_at_last_byte_nibble0_goes_to_nibble1 ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_right_at_last_byte_nibble1_stays ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_left_nibble_alternation ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_row_end_last_partial_row ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_left_at_origin_stays ... ok
[INFO] [stdout] test hex_viewer::tests::clear_selection_removes_anchor ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_row_start ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_down_normal ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_row_end ... ok
[INFO] [stdout] test hex_viewer::tests::get_byte_from_file ... ok
[INFO] [stdout] test hex_viewer::tests::get_byte_out_of_range ... ok
[INFO] [stdout] test hex_viewer::tests::get_byte_with_modification_overlay ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_up_normal ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_right_nibble_alternation ... ok
[INFO] [stdout] test hex_viewer::tests::ascii_cursor_right_at_end_stays ... ok
[INFO] [stdout] test hex_viewer::tests::ascii_cursor_right_moves_byte ... ok
[INFO] [stdout] test hex_viewer::tests::goto_offset_empty_string_fails ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_up_at_first_row_clamps_to_zero ... ok
[INFO] [stdout] test hex_viewer::tests::goto_offset_past_file_size_fails ... ok
[INFO] [stdout] test hex_viewer::tests::goto_offset_at_file_size_fails ... ok
[INFO] [stdout] test hex_viewer::tests::goto_offset_last_byte ... ok
[INFO] [stdout] test hex_viewer::tests::goto_offset_no_prefix ... ok
[INFO] [stdout] test hex_viewer::tests::cursor_move_clears_selection ... ok
[INFO] [stdout] test hex_viewer::tests::goto_offset_zero ... ok
[INFO] [stdout] test hex_viewer::tests::goto_offset_with_upper_0x_prefix ... ok
[INFO] [stdout] test hex_viewer::tests::goto_offset_with_0x_prefix ... ok
[INFO] [stdout] test hex_viewer::tests::goto_offset_invalid_hex_fails ... ok
[INFO] [stdout] test hex_viewer::tests::goto_offset_resets_nibble ... ok
[INFO] [stdout] test hex_viewer::tests::goto_offset_with_whitespace ... ok
[INFO] [stdout] test hex_viewer::tests::input_hex_nibble_empty_file_noop ... ok
[INFO] [stdout] test hex_viewer::tests::input_ascii_empty_file_noop ... ok
[INFO] [stdout] test hex_viewer::tests::is_binary_detects_null ... ok
[INFO] [stdout] test hex_viewer::tests::is_binary_text_file ... ok
[INFO] [stdout] test hex_viewer::tests::modified_flag_set_on_edit ... ok
[INFO] [stdout] test hex_viewer::tests::input_hex_nibble_at_last_byte ... ok
[INFO] [stdout] test hex_viewer::tests::modified_flag_cleared_on_full_undo ... ok
[INFO] [stdout] test hex_viewer::tests::input_hex_nibble_sequence ... ok
[INFO] [stdout] test hex_viewer::tests::page_up_at_top ... ok
[INFO] [stdout] test hex_viewer::tests::parse_hex_pattern_empty ... ok
[INFO] [stdout] test hex_viewer::tests::page_down_at_bottom ... ok
[INFO] [stdout] test hex_viewer::tests::parse_hex_pattern_mixed_case ... ok
[INFO] [stdout] test hex_viewer::tests::parse_hex_pattern_invalid_chars ... ok
[INFO] [stdout] test hex_viewer::tests::parse_hex_pattern_odd_digits ... ok
[INFO] [stdout] test hex_viewer::tests::parse_hex_pattern_packed ... ok
[INFO] [stdout] test hex_viewer::tests::open_single_byte_file ... ok
[INFO] [stdout] test hex_viewer::tests::parse_hex_pattern_spaced ... ok
[INFO] [stdout] test hex_viewer::tests::parse_hex_pattern_whitespace_only ... ok
[INFO] [stdout] test hex_viewer::tests::open_empty_file ... ok
[INFO] [stdout] test hex_viewer::tests::input_ascii_writes_and_advances ... ok
[INFO] [stdout] test hex_viewer::tests::parse_hex_pattern_tabs_and_spaces ... ok
[INFO] [stdout] test hex_viewer::tests::modified_flag_cleared_on_save ... ok
[INFO] [stdout] test hex_viewer::tests::parse_hex_pattern_single_byte ... ok
[INFO] [stdout] test hex_viewer::tests::open_exact_row_boundary ... ok
[INFO] [stdout] test hex_viewer::tests::input_hex_nibble_overwrites_existing ... ok
[INFO] [stdout] test hex_viewer::tests::save_multiple_scattered_modifications ... ok
[INFO] [stdout] test hex_viewer::tests::scroll_follows_cursor_down ... ok
[INFO] [stdout] test hex_viewer::tests::save_clears_undo_redo ... ok
[INFO] [stdout] test hex_viewer::tests::save_no_modifications_noop ... ok
[INFO] [stdout] test hex_viewer::tests::redo_empty_stack_noop ... ok
[INFO] [stdout] test hex_viewer::tests::save_then_get_byte_reads_saved_value ... ok
[INFO] [stdout] test hex_viewer::tests::redo_after_undo ... ok
[INFO] [stdout] test hex_viewer::tests::scroll_up_at_zero ... ok
[INFO] [stdout] test hex_viewer::tests::scroll_to_top_and_bottom ... ok
[INFO] [stdout] test hex_viewer::tests::scroll_follows_cursor_up ... ok
[INFO] [stdout] test hex_viewer::tests::input_ascii_at_last_byte_no_advance ... ok
[INFO] [stdout] test hex_viewer::tests::search_empty_pattern ... ok
[INFO] [stdout] test hex_viewer::tests::search_finds_modified_bytes ... ok
[INFO] [stdout] test hex_viewer::tests::search_backward_from_start ... ok
[INFO] [stdout] test hex_viewer::tests::search_forward_successive_finds_all ... ok
[INFO] [stdout] test hex_viewer::tests::search_backward_wraps ... ok
[INFO] [stdout] test hex_viewer::tests::search_backward_not_found ... ok
[INFO] [stdout] test hex_viewer::tests::search_not_found_sets_status ... ok
[INFO] [stdout] test hex_viewer::tests::search_modification_hides_original_pattern ... ok
[INFO] [stdout] test hex_viewer::tests::search_empty_file ... ok
[INFO] [stdout] test hex_viewer::tests::redo_cleared_on_new_edit ... ok
[INFO] [stdout] test hex_viewer::tests::search_pattern_longer_than_file ... ok
[INFO] [stdout] test hex_viewer::tests::scroll_down_clamped ... ok
[INFO] [stdout] test hex_viewer::tests::search_single_byte_pattern ... ok
[INFO] [stdout] test hex_viewer::tests::search_forward_skips_current_offset ... ok
[INFO] [stdout] test hex_viewer::tests::search_not_found_clears_match ... ok
[INFO] [stdout] test hex_viewer::tests::multiple_edits_same_byte_undo_sequence ... ok
[INFO] [stdout] test hex_viewer::tests::search_backward_basic ... ok
[INFO] [stdout] test hex_viewer::tests::select_all_empty_file_noop ... ok
[INFO] [stdout] test hex_viewer::tests::select_page_down ... ok
[INFO] [stdout] test hex_viewer::tests::search_wraps_around ... ok
[INFO] [stdout] test hex_viewer::tests::search_pattern_at_offset_zero_from_elsewhere ... ok
[INFO] [stdout] test hex_viewer::tests::select_page_up_from_end ... ok
[INFO] [stdout] test hex_viewer::tests::search_stores_last_pattern ... ok
[INFO] [stdout] test hex_viewer::tests::search_only_match_is_at_cursor_not_found ... ok
[INFO] [stdout] test hex_viewer::tests::select_down_creates_selection ... ok
[INFO] [stdout] test hex_viewer::tests::selected_text_hex_format ... ok
[INFO] [stdout] test hex_viewer::tests::select_all_covers_entire_file ... ok
[INFO] [stdout] test hex_viewer::tests::select_left_creates_selection ... ok
[INFO] [stdout] test hex_viewer::tests::select_right_then_left_shrinks ... ok
[INFO] [stdout] test hex_viewer::tests::search_single_byte_at_cursor_wraps_to_self ... ok
[INFO] [stdout] test hex_viewer::tests::select_right_creates_selection ... ok
[INFO] [stdout] test hex_viewer::tests::selected_text_no_selection ... ok
[INFO] [stdout] test hex_viewer::tests::selected_text_reversed_selection ... ok
[INFO] [stdout] test hex_viewer::tests::selected_text_single_byte ... ok
[INFO] [stdout] test hex_viewer::tests::select_up_creates_selection ... ok
[INFO] [stdout] test hex_viewer::tests::search_pattern_at_end_of_file ... ok
[INFO] [stdout] test hex_viewer::tests::selected_text_with_modifications ... ok
[INFO] [stdout] test hex_viewer::tests::selection_info_1_byte ... ok
[INFO] [stdout] test hex_viewer::tests::selected_text_ascii_format ... ok
[INFO] [stdout] test hex_viewer::tests::selection_info_4_bytes ... ok
[INFO] [stdout] test hex_viewer::tests::selection_info_3_bytes_shows_count ... ok
[INFO] [stdout] test hex_viewer::tests::selection_info_2_bytes_le_be ... ok
[INFO] [stdout] test hex_viewer::tests::selection_info_no_selection ... ok
[INFO] [stdout] test hex_viewer::tests::selected_text_ascii_non_printable ... ok
[INFO] [stdout] test hex_viewer::tests::selection_info_signed_negative ... ok
[INFO] [stdout] test hex_viewer::tests::undo_empty_stack_noop ... ok
[INFO] [stdout] test hex_viewer::tests::toggle_ascii_clears_nibble ... ok
[INFO] [stdout] test hex_viewer::tests::selection_info_with_modifications ... ok
[INFO] [stdout] test hex_viewer::tests::selection_info_8_bytes ... ok
[INFO] [stdout] test hex_viewer::tests::single_byte_edit_and_save ... ok
[INFO] [stdout] test hex_viewer::tests::undo_moves_cursor_to_edit_location ... ok
[INFO] [stdout] test hex_viewer::tests::single_byte_cursor_stays ... ok
[INFO] [stdout] test hex_viewer::tests::visible_rows_data_applies_modifications ... ok
[INFO] [stdout] test hex_viewer::tests::visible_rows_data_empty_file ... ok
[INFO] [stdout] test hex_viewer::tests::selection_info_large_selection_shows_count ... ok
[INFO] [stdout] test hex_viewer::tests::selection_none_by_default ... ok
[INFO] [stdout] test nfs_client::tests::normalize_above_root ... ok
[INFO] [stdout] test nfs_client::tests::normalize_cur_dir ... ok
[INFO] [stdout] test nfs_client::tests::normalize_no_change ... ok
[INFO] [stdout] test nfs_client::tests::normalize_parent_dir ... ok
[INFO] [stdout] test panel::tests::select_by_name_nonexistent_leaves_selection_unchanged ... ok
[INFO] [stdout] test hex_viewer::tests::undo_single_edit ... ok
[INFO] [stdout] test panel::tests::select_by_name_selects_parent_entry ... ok
[INFO] [stdout] test parquet_viewer::tests::alignment_decimal_int_right_aligns ... ok
[INFO] [stdout] test parquet_viewer::tests::alignment_temporal_logical_types_left_align ... ok
[INFO] [stdout] test parquet_viewer::tests::byte_stream_split_float_reassembles ... ok
[INFO] [stdout] test parquet_viewer::tests::byte_stream_split_int64_reassembles ... ok
[INFO] [stdout] test parquet_viewer::tests::alignment_numeric_types_right_align ... ok
[INFO] [stdout] test panel::tests::select_by_name_finds_existing_entry ... ok
[INFO] [stdout] test parquet_viewer::tests::click_beyond_last_visible_col_no_column_hit ... ok
[INFO] [stdout] test parquet_viewer::tests::click_hits_first_visible_col ... ok
[INFO] [stdout] test parquet_viewer::tests::click_outside_data_rows_no_row_hit ... ok
[INFO] [stdout] test parquet_viewer::tests::click_past_total_rows_clamped_to_none ... ok
[INFO] [stdout] test parquet_viewer::tests::click_respects_frozen_column_hit ... ok
[INFO] [stdout] test parquet_viewer::tests::cmp_values_descending_reverses ... ok
[INFO] [stdout] test parquet_viewer::tests::cmp_values_lexicographic_fallback ... ok
[INFO] [stdout] test parquet_viewer::tests::cmp_values_mixed_uses_lexicographic ... ok
[INFO] [stdout] test parquet_viewer::tests::cmp_values_negative_numbers ... ok
[INFO] [stdout] test parquet_viewer::tests::cmp_values_numeric_beats_lexicographic ... ok
[INFO] [stdout] test parquet_viewer::tests::csv_escape_doubles_internal_quotes ... ok
[INFO] [stdout] test parquet_viewer::tests::csv_escape_plain_passthrough ... ok
[INFO] [stdout] test parquet_viewer::tests::csv_escape_quotes_newlines_and_cr ... ok
[INFO] [stdout] test parquet_viewer::tests::alignment_strings_and_bytes_left_align ... ok
[INFO] [stdout] test nfs_client::tests::local_path_root ... ok
[INFO] [stdout] test parquet_viewer::tests::csv_escape_quotes_when_delimiter_present ... ok
[INFO] [stdout] test parquet_viewer::tests::delta_binary_packed_respects_max_values ... ok
[INFO] [stdout] test parquet_viewer::tests::delta_binary_packed_roundtrip_i64 ... ok
[INFO] [stdout] test parquet_viewer::tests::delta_byte_array_preserves_prefix_chain ... ok
[INFO] [stdout] test parquet_viewer::tests::delta_length_byte_array_max_values_caps_output ... ok
[INFO] [stdout] test parquet_viewer::tests::delta_length_byte_array_roundtrip_strings ... ok
[INFO] [stdout] test parquet_viewer::tests::format_i32_time_routes_through_time_of_day ... ok
[INFO] [stdout] test parquet_viewer::tests::format_i64_timestamp_local_has_no_z ... ok
[INFO] [stdout] test parquet_viewer::tests::format_i64_timestamp_marks_utc ... ok
[INFO] [stdout] test parquet_viewer::tests::int96_overflow_value_returns_marker_instead_of_panicking ... ok
[INFO] [stdout] test parquet_viewer::tests::format_i64_time_routes_through_time_of_day ... ok
[INFO] [stdout] test parquet_viewer::tests::int96_bytes_formatter_matches_plain_decoder ... ok
[INFO] [stdout] test parquet_viewer::tests::json_quote_unicode ... ok
[INFO] [stdout] test parquet_viewer::tests::json_quote_escapes_special_chars ... ok
[INFO] [stdout] test parquet_viewer::tests::nearest_visible_forward_skips_hidden ... ok
[INFO] [stdout] test parquet_viewer::tests::nearest_visible_none_when_all_hidden ... ok
[INFO] [stdout] test parquet_viewer::tests::nearest_visible_wraps_when_none_forward ... ok
[INFO] [stdout] test parquet_viewer::tests::interleave_with_nulls_no_def_levels_returns_raw ... ok
[INFO] [stdout] test parquet_viewer::tests::plain_byte_array_strips_control_but_keeps_newline ... ok
[INFO] [stdout] test parquet_viewer::tests::plain_byte_array_hex_for_non_string ... ok
[INFO] [stdout] test parquet_viewer::tests::regex_invalid_pattern_escaped_fallback ... ok
[INFO] [stdout] test parquet_viewer::tests::regex_literal_search_matches_substring ... ok
[INFO] [stdout] test parquet_viewer::tests::render_ndjson_line_basic_row ... ok
[INFO] [stdout] test parquet_viewer::tests::render_ndjson_line_escapes_special_chars_in_values ... ok
[INFO] [stdout] test parquet_viewer::tests::render_ndjson_line_nulls_are_bare ... ok
[INFO] [stdout] test parquet_viewer::tests::render_ndjson_line_preserves_column_order ... ok
[INFO] [stdout] test parquet_viewer::tests::rle_boolean_v1_framing_decodes ... ok
[INFO] [stdout] test parquet_viewer::tests::regex_pattern_search_supports_alternation ... ok
[INFO] [stdout] test parquet_viewer::tests::rle_boolean_v2_framing_decodes ... ok
[INFO] [stdout] test parquet_viewer::tests::sanitize_for_line_strips_newlines ... ok
[INFO] [stdout] test parquet_viewer::tests::sanitize_preserves_newlines ... ok
[INFO] [stdout] test parquet_viewer::tests::selection_toggle_roundtrip ... ok
[INFO] [stdout] test parquet_viewer::tests::search_wrap_flag_set_when_wrapping_forward ... ok
[INFO] [stdout] test parquet_viewer::tests::thousands_handles_negative ... ok
[INFO] [stdout] test parquet_viewer::tests::interleave_with_nulls_threads_values ... ok
[INFO] [stdout] test parquet_viewer::tests::thousands_inserts_commas ... ok
[INFO] [stdout] test parquet_viewer::tests::thousands_non_integer_passes_through ... ok
[INFO] [stdout] test parquet_viewer::tests::time_of_day_millis_no_fraction ... ok
[INFO] [stdout] test parquet_viewer::tests::time_of_day_millis_with_fraction ... ok
[INFO] [stdout] test parquet_viewer::tests::time_of_day_nanos_full_precision ... ok
[INFO] [stdout] test parquet_viewer::tests::time_of_day_negative_wraps_into_day ... ok
[INFO] [stdout] test parquet_viewer::tests::time_of_day_over_24h_wraps ... ok
[INFO] [stdout] test parquet_viewer::tests::time_of_day_micros_ns_precision ... ok
[INFO] [stdout] test parquet_viewer::tests::timestamp_microsecond_precision ... ok
[INFO] [stdout] test parquet_viewer::tests::timestamp_millisecond_precision ... ok
[INFO] [stdout] test parquet_viewer::tests::timestamp_nanosecond_precision ... ok
[INFO] [stdout] test parquet_viewer::tests::timestamp_no_subseconds_when_nanos_zero ... ok
[INFO] [stdout] test pr_diff::tests::collapse_or_parent_collapses_expanded_dir ... ok
[INFO] [stdout] test pr_diff::tests::collapse_or_parent_jumps_to_parent_from_file ... ok
[INFO] [stdout] test pr_diff::tests::collapse_or_parent_on_collapsed_dir_jumps_to_parent ... ok
[INFO] [stdout] test pr_diff::tests::enter_on_deleted_file_returns_none ... ok
[INFO] [stdout] test pr_diff::tests::enter_on_dir_re_expands ... ok
[INFO] [stdout] test pr_diff::tests::enter_on_dir_toggles_collapse ... ok
[INFO] [stdout] test pr_diff::tests::enter_on_file_returns_path ... ok
[INFO] [stdout] test pr_diff::tests::jump_next_match_cycles ... ok
[INFO] [stdout] test pr_diff::tests::jump_prev_match_cycles ... ok
[INFO] [stdout] test pr_diff::tests::nav_move_down_and_up ... ok
[INFO] [stdout] test pr_diff::tests::nav_move_to_top_bottom ... ok
[INFO] [stdout] test pr_diff::tests::nav_page_down_clamps ... ok
[INFO] [stdout] test pr_diff::tests::nav_scroll_follows_selection ... ok
[INFO] [stdout] test pr_diff::tests::quick_search_case_insensitive ... ok
[INFO] [stdout] test pr_diff::tests::quick_search_finds_dir ... ok
[INFO] [stdout] test pr_diff::tests::quick_search_finds_file ... ok
[INFO] [stdout] test pr_diff::tests::quick_search_no_match_stays ... ok
[INFO] [stdout] test pr_diff::tests::status_counts_correct ... ok
[INFO] [stdout] test pr_diff::tests::status_markers ... ok
[INFO] [stdout] test pr_diff::tests::tree_collapse_hides_children ... ok
[INFO] [stdout] test pr_diff::tests::tree_collapse_nested_dir ... ok
[INFO] [stdout] test pr_diff::tests::tree_empty_files ... ok
[INFO] [stdout] test pr_diff::tests::tree_flat_files ... ok
[INFO] [stdout] test pr_diff::tests::tree_mixed_root_and_nested ... ok
[INFO] [stdout] test pr_diff::tests::tree_nested_dirs ... ok
[INFO] [stdout] test pr_diff::tests::tree_sibling_dirs ... ok
[INFO] [stdout] test pr_diff::tests::tree_single_dir ... ok
[INFO] [stdout] test s3::tests::display_label_plain ... ok
[INFO] [stdout] test s3::tests::display_label_with_endpoint ... ok
[INFO] [stdout] test nfs_client::tests::local_path_dotdot_within_mount ... ok
[INFO] [stdout] test s3::tests::parse_iso8601_rfc3339 ... ok
[INFO] [stdout] test s3::tests::parse_iso8601_with_offset ... ok
[INFO] [stdout] test s3::tests::parse_s3_listing_basic ... ok
[INFO] [stdout] test s3::tests::parse_s3_listing_empty_bucket ... ok
[INFO] [stdout] test s3::tests::parse_s3_listing_root_prefix ... ok
[INFO] [stdout] test s3::tests::parse_s3_listing_skips_prefix_marker ... ok
[INFO] [stdout] test s3::tests::s3_to_prefix ... ok
[INFO] [stdout] test parquet_viewer::tests::thousands_small_numbers_unchanged ... ok
[INFO] [stdout] test s3::tests::parse_iso8601_invalid ... ok
[INFO] [stdout] test saved_connections::tests::display_label_azure ... ok
[INFO] [stdout] test saved_connections::tests::display_label_nfs ... ok
[INFO] [stdout] test saved_connections::tests::display_label_s3 ... ok
[INFO] [stdout] test saved_connections::tests::display_label_s3_with_endpoint ... ok
[INFO] [stdout] test saved_connections::tests::display_label_smb ... ok
[INFO] [stdout] test saved_connections::tests::display_label_ssh ... ok
[INFO] [stdout] test saved_connections::tests::display_label_unknown_protocol ... ok
[INFO] [stdout] test saved_connections::tests::display_label_webdav ... ok
[INFO] [stdout] test saved_connections::tests::display_label_gcs ... ok
[INFO] [stdout] test s3::tests::s3_uri_building ... ok
[INFO] [stdout] test pr_diff::tests::enter_on_dir_collapses ... ok
[INFO] [stdout] test saved_connections::tests::load_invalid_json_returns_empty ... ok
[INFO] [stdout] test saved_connections::tests::load_nonexistent_returns_empty ... ok
[INFO] [stdout] test saved_connections::tests::save_and_load_round_trip ... ok
[INFO] [stdout] test saved_connections::tests::save_creates_file_with_valid_json ... ok
[INFO] [stdout] test saved_connections::tests::save_sets_directory_permissions_0700 ... ok
[INFO] [stdout] test nfs_client::tests::local_path_normal ... ok
[INFO] [stdout] test saved_connections::tests::serde_round_trip ... ok
[INFO] [stdout] test nfs_client::tests::local_path_traversal_falls_back_to_mount_point ... ok
[INFO] [stdout] test session::tests::attach_command_already_prefixed ... ok
[INFO] [stdout] test saved_connections::tests::serde_skips_none_fields ... ok
[INFO] [stdout] test session::tests::format_session_list_empty ... ok
[INFO] [stdout] test session::tests::format_session_list_one_session ... ok
[INFO] [stdout] test session::tests::format_session_list_plural_windows ... ok
[INFO] [stdout] test saved_connections::tests::serde_missing_fields_default_to_none ... ok
[INFO] [stdout] test session::tests::prefixed_name_adds_prefix ... ok
[INFO] [stdout] test sftp::tests::parse_ls_directory ... ok
[INFO] [stdout] test sftp::tests::parse_ls_dotdot_at_root ... ok
[INFO] [stdout] test sftp::tests::parse_ls_empty_line ... ok
[INFO] [stdout] test sftp::tests::parse_ls_file ... ok
[INFO] [stdout] test sftp::tests::parse_ls_file_with_year ... ok
[INFO] [stdout] test sftp::tests::parse_ls_filename_with_spaces ... ok
[INFO] [stdout] test sftp::tests::parse_ls_non_entry_line ... ok
[INFO] [stdout] test sftp::tests::parse_full_ls_output ... ok
[INFO] [stdout] test sftp::tests::parse_permission_string_basic ... ok
[INFO] [stdout] test sftp::tests::parse_ls_symlink ... ok
[INFO] [stdout] test parquet_viewer::tests::nearest_visible_reverse_works ... ok
[INFO] [stdout] test sftp::tests::parse_permission_string_short ... ok
[INFO] [stdout] test saved_connections::tests::save_overwrites_previous ... ok
[INFO] [stdout] test saved_connections::tests::save_empty_list ... ok
[INFO] [stdout] test sftp::tests::parse_permission_string_setuid ... ok
[INFO] [stdout] test saved_connections::tests::save_sets_file_permissions_0600 ... ok
[INFO] [stdout] test sftp::tests::shell_quote_backtick ... ok
[INFO] [stdout] test sftp::tests::parse_sftp_ls_filters_sftp_prompt ... ok
[INFO] [stdout] test sftp::tests::shell_quote_carriage_return_returns_sentinel ... ok
[INFO] [stdout] test sftp::tests::shell_quote_newline_returns_sentinel ... ok
[INFO] [stdout] test sftp::tests::shell_quote_null_byte_returns_sentinel ... ok
[INFO] [stdout] test sftp::tests::shell_quote_double_quotes ... ok
[INFO] [stdout] test sftp::tests::shell_quote_spaces ... ok
[INFO] [stdout] test sftp::tests::shell_quote_empty_string ... ok
[INFO] [stdout] test sftp::tests::shell_quote_tab_allowed ... ok
[INFO] [stdout] test smb_client::tests::home_dir_is_root ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_empty_output ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_hidden_file ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_line_directory ... ok
[INFO] [stdout] test smb_client::tests::display_label_format ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_line_dotdot ... ok
[INFO] [stdout] test nfs_client::tests::normalize_multiple_parent ... ok
[INFO] [stdout] test parquet_viewer::tests::display_width_handles_cjk_and_emoji ... ok
[INFO] [stdout] test session::tests::attach_command_format ... ok
[INFO] [stdout] test sftp::tests::shell_quote_basic ... ok
[INFO] [stdout] test sftp::tests::shell_quote_normal_filename ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_line_file ... ok
[INFO] [stdout] test smb_client::tests::parse_ls_skip_summary ... ok
[INFO] [stdout] test smb_client::tests::smb_quote_special_chars ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_backslashes_escaped ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_conversion ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_semicolons_escaped ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_root ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_all_special_chars ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_double_quotes_escaped ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_empty ... ok
[INFO] [stdout] test ssh::tests::parse_ssh_config_equals_syntax ... ok
[INFO] [stdout] test ssh::tests::parse_ssh_config_empty ... ok
[INFO] [stdout] test ssh::tests::quick_connect_host_only ... ok
[INFO] [stdout] test ssh::tests::quick_connect_user_host ... ok
[INFO] [stdout] test hex_viewer::tests::undo_all_then_redo_all ... ok
[INFO] [stdout] test ssh::tests::ssh_host_ssh_args ... ok
[INFO] [stdout] test terminal::tests::encode_alt_prefix ... ok
[INFO] [stdout] test ssh::tests::parse_ssh_config_multiple_identity_files ... ok
[INFO] [stdout] test ssh::tests::quick_connect_at_sign_only ... ok
[INFO] [stdout] test ssh::tests::quick_connect_empty ... ok
[INFO] [stdout] test ssh::tests::parse_ssh_config_comments_only ... ok
[INFO] [stdout] test smb_client::tests::to_smb_path_simple ... ok
[INFO] [stdout] test ssh::tests::parse_ssh_config_basic ... ok
[INFO] [stdout] test terminal::tests::parse_colon_but_no_digits ... ok
[INFO] [stdout] test terminal::tests::parse_file_line_col ... ok
[INFO] [stdout] test terminal::tests::parse_just_extension_no_path ... ok
[INFO] [stdout] test terminal::tests::parse_line_zero_rejected ... ok
[INFO] [stdout] test terminal::tests::parse_no_file_ref ... ok
[INFO] [stdout] test terminal::tests::parse_nonexistent_file ... ok
[INFO] [stdout] test terminal::tests::parse_simple_file_line ... ok
[INFO] [stdout] test ssh::tests::quick_connect_unicode_host ... ok
[INFO] [stdout] test ssh::tests::quick_connect_user_host_port ... ok
[INFO] [stdout] test text_input::tests::backspace ... ok
[INFO] [stdout] test text_input::tests::insert_and_cursor ... ok
[INFO] [stdout] test text_input::tests::move_clears_selection ... ok
[INFO] [stdout] test text_input::tests::selection_delete ... ok
[INFO] [stdout] test text_input::tests::selection_replace ... ok
[INFO] [stdout] test text_input::tests::shift_arrows ... ok
[INFO] [stdout] test theme::tests::far_manager_next_is_questdb_dark ... ok
[INFO] [stdout] test theme::tests::far_manager_prev_is_questdb_dark ... ok
[INFO] [stdout] test theme::tests::questdb_dark_next_is_far_manager ... ok
[INFO] [stdout] test theme::tests::questdb_dark_prev_is_far_manager ... ok
[INFO] [stdout] test terminal::tests::parse_in_parens ... ok
[INFO] [stdout] test terminal::tests::parse_in_quotes ... ok
[INFO] [stdout] test sftp::tests::shell_quote_backslashes ... ok
[INFO] [stdout] test terminal::tests::encode_unicode_char ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::display_width_ascii ... ok
[INFO] [stdout] test text_input::tests::select_all_and_backspace ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::display_width_col_zero ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::display_width_empty ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::display_width_past_end ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::display_width_tab ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::display_width_wide_chars ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::display_width_with_tab ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::display_width_with_wide_chars ... ok
[INFO] [stdout] test terminal::tests::encode_ctrl_c ... ok
[INFO] [stdout] test terminal::tests::encode_function_keys ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::truncate_empty ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::truncate_exact_width ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::truncate_short_string_unchanged ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::truncate_tab_expansion ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::digit_count_single_digits ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::truncate_wide_char_boundary ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::truncate_zero_width ... ok
[INFO] [stdout] test ui::editor_view::tests::cursor_at_end_of_short_line_middle ... ok
[INFO] [stdout] test ui::editor_view::tests::cursor_at_end_of_short_line_up_selection ... ok
[INFO] [stdout] test ui::editor_view::tests::display_col_no_tabs ... ok
[INFO] [stdout] test ui::editor_view::tests::display_col_with_scroll ... ok
[INFO] [stdout] test ui::editor_view::tests::display_col_tab_at_start ... ok
[INFO] [stdout] test ui::editor_view::tests::display_col_with_tabs ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::truncate_cuts_at_limit ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::digit_count_multi_digits ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::digit_count_zero ... ok
[INFO] [stdout] test terminal::tests::encode_basic_keys ... ok
[INFO] [stdout] test theme::tests::round_trip_next_prev ... ok
[INFO] [stdout] test ui::editor_view::tests::line_outside_selection ... ok
[INFO] [stdout] test ui::editor_view::tests::multi_line_middle_line ... ok
[INFO] [stdout] test ui::editor_view::tests::empty_line_in_selection ... ok
[INFO] [stdout] test ui::editor_view::tests::multi_line_start_line ... ok
[INFO] [stdout] test ui::editor_view::tests::single_line_selection_middle ... ok
[INFO] [stdout] test ui::help_dialog::tests::case_insensitive_highlight ... ok
[INFO] [stdout] test ui::help_dialog::tests::filter_matching_section_name_includes_all_section_entries ... ok
[INFO] [stdout] test ui::help_dialog::tests::empty_filter_returns_all_entries ... ok
[INFO] [stdout] test ui::help_dialog::tests::help_lines_is_cached ... ok
[INFO] [stdout] test ui::help_dialog::tests::match_at_end ... ok
[INFO] [stdout] test ui::help_dialog::tests::help_lines_returns_non_empty ... ok
[INFO] [stdout] test ui::help_dialog::tests::match_at_start ... ok
[INFO] [stdout] test ui::help_dialog::tests::multiple_matches ... ok
[INFO] [stdout] test ui::help_dialog::tests::case_insensitive_matching ... ok
[INFO] [stdout] test ui::diff_viewer_view::tests::display_width_ascii_col ... ok
[INFO] [stdout] test ui::help_dialog::tests::filter_matching_description ... ok
[INFO] [stdout] test ui::editor_view::tests::multi_line_end_line ... ok
[INFO] [stdout] test ui::editor_view::tests::no_selection ... ok
[INFO] [stdout] test ui::editor_view::tests::selection_with_horizontal_scroll ... ok
[INFO] [stdout] test ui::help_dialog::tests::filter_matching_key ... ok
[INFO] [stdout] test ui::help_dialog::tests::non_matching_filter_returns_no_matches_message ... ok
[INFO] [stdout] test ui::help_dialog::tests::no_needle_returns_full_text ... ok
[INFO] [stdout] test ui::menu::tests::dropdown_click_outside_returns_none ... ok
[INFO] [stdout] test ui::menu::tests::is_active_sort_matches_name ... ok
[INFO] [stdout] test ui::menu::tests::dropdown_click_on_separator_returns_none ... ok
[INFO] [stdout] test ui::menu::tests::is_active_sort_matches_date ... ok
[INFO] [stdout] test ui::help_dialog::tests::single_match_splits_three_spans ... ok
[INFO] [stdout] test nfs_client::tests::local_path_empty ... ok
[INFO] [stdout] test ui::menu::tests::all_menus_have_items ... ok
[INFO] [stdout] test ui::menu::tests::is_active_sort_non_sort_action ... ok
[INFO] [stdout] test ui::menu::tests::dropdown_click_on_second_item ... ok
[INFO] [stdout] test ui::menu::tests::selectable_count_skips_separators ... ok
[INFO] [stdout] test ui::menu::tests::dropdown_click_on_border_returns_none ... ok
[INFO] [stdout] test ui::menu::tests::selected_action_returns_action ... ok
[INFO] [stdout] test ui::menu::tests::dropdown_click_on_first_item ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::ascii_fits_no_scroll ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::ascii_cursor_mid_string ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::cursor_at_zero ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::cursor_between_multibyte_chars ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::multibyte_narrow_run ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::visible_start_is_always_char_boundary ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::zero_available_does_not_panic ... ok
[INFO] [stdout] test ui::parquet_view::tests::fit_aligned_right_pads_empty_string ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::scrolls_when_ascii_overflows ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::scrolls_with_multibyte_chars ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::wide_cjk_char_takes_two_columns ... ok
[INFO] [stdout] test ui::parquet_view::tests::fit_pads_ascii_to_exact_width ... ok
[INFO] [stdout] test ui::parquet_view::tests::invalid_json_returns_none ... ok
[INFO] [stdout] test ui::parquet_view::tests::json_object_is_pretty_printed ... ok
[INFO] [stdout] test ui::parquet_view::tests::fit_truncates_without_splitting_wide_glyphs ... ok
[INFO] [stdout] test ui::parquet_view::tests::json_primitive_returns_none ... ok
[INFO] [stdout] test ui::tests::truncate_ascii_exact_max ... ok
[INFO] [stdout] test ui::tests::truncate_ascii_shorter_than_max ... ok
[INFO] [stdout] test ui::parquet_view::tests::fit_aligned_right_puts_padding_on_left ... ok
[INFO] [stdout] test ui::tests::truncate_cjk_characters ... ok
[INFO] [stdout] test ui::tests::truncate_emoji ... ok
[INFO] [stdout] test ui::tests::truncate_empty_string ... ok
[INFO] [stdout] test ui::tests::truncate_max_width_zero ... ok
[INFO] [stdout] test ui::tests::truncate_mixed_ascii_multibyte ... ok
[INFO] [stdout] test vt::attrs::tests::bold_dim_mutual_exclusion ... ok
[INFO] [stdout] test vt::attrs::tests::default_attrs ... ok
[INFO] [stdout] test vt::attrs::tests::independent_flags ... ok
[INFO] [stdout] test vt::cell::tests::append_combining ... ok
[INFO] [stdout] test vt::cell::tests::attr_delegation ... ok
[INFO] [stdout] test vt::cell::tests::continuation ... ok
[INFO] [stdout] test vt::cell::tests::empty_cell ... ok
[INFO] [stdout] test vt::cell::tests::set_ascii ... ok
[INFO] [stdout] test vt::cell::tests::set_wide ... ok
[INFO] [stdout] test vt::color::tests::default_is_default ... ok
[INFO] [stdout] test vt::color::tests::equality ... ok
[INFO] [stdout] test vt::grid::tests::auto_wrap_off ... ok
[INFO] [stdout] test vt::grid::tests::auto_wrap_on ... ok
[INFO] [stdout] test vt::grid::tests::cursor_clamp ... ok
[INFO] [stdout] test vt::grid::tests::cursor_movement ... ok
[INFO] [stdout] test ui::menu::tests::is_active_sort_out_of_bounds_returns_false ... ok
[INFO] [stdout] test vt::grid::tests::erase_display_all ... ok
[INFO] [stdout] test ui::menu::tests::selectable_to_item_roundtrip ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::empty_text ... ok
[INFO] [stdout] test vt::grid::tests::full_screen_scroll_is_o1 ... ok
[INFO] [stdout] test vt::grid::tests::line_feed_at_bottom_scrolls ... ok
[INFO] [stdout] test ui::tests::truncate_ascii_longer_than_max ... ok
[INFO] [stdout] test vt::grid::tests::new_grid_dimensions ... ok
[INFO] [stdout] test vt::cell::tests::clear_cell ... ok
[INFO] [stdout] test vt::grid::tests::save_restore_cursor ... ok
[INFO] [stdout] test vt::grid::tests::scroll_up_adds_to_scrollback ... ok
[INFO] [stdout] test vt::grid::tests::partial_scroll_region_no_scrollback ... ok
[INFO] [stdout] test vt::grid::tests::scrollback_visible ... ok
[INFO] [stdout] test vt::grid::tests::resize ... ok
[INFO] [stdout] test vt::grid::tests::set_pos_basic ... ok
[INFO] [stdout] test vt::grid::tests::scroll_region ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::multibyte_narrow_char_bullet ... ok
[INFO] [stdout] test vt::parser::tests::auto_wrap_disable ... ok
[INFO] [stdout] test vt::parser::tests::basic_text ... ok
[INFO] [stdout] test vt::parser::tests::bel_accepted ... ok
[INFO] [stdout] test vt::parser::tests::btop_startup_sequence ... ok
[INFO] [stdout] test ui::parquet_view::tests::json_array_is_pretty_printed ... ok
[INFO] [stdout] test vt::parser::tests::cursor_home_no_params ... ok
[INFO] [stdout] test vt::parser::tests::cursor_position_cup ... ok
[INFO] [stdout] test vt::parser::tests::cursor_zero_params_default ... ok
[INFO] [stdout] test vt::parser::tests::cursor_position_hvp ... ok
[INFO] [stdout] test vt::grid::tests::tab_stops ... ok
[INFO] [stdout] test vt::parser::tests::alternate_screen ... ok
[INFO] [stdout] test vt::parser::tests::cursor_movement ... ok
[INFO] [stdout] test vt::parser::tests::decsed_decsel ... ok
[INFO] [stdout] test vt::parser::tests::combining_char_append ... ok
[INFO] [stdout] test vt::parser::tests::cursor_home ... ok
[INFO] [stdout] test vt::parser::tests::decstbm_reset_no_params ... ok
[INFO] [stdout] test ui::menu::tests::is_active_sort_matches_size ... ok
[INFO] [stdout] test ui::panel_view::compute_scroll_tests::mixed_ascii_bullet_cjk ... ok
[INFO] [stdout] test vt::parser::tests::decsc_decrc ... ok
[INFO] [stdout] test vt::parser::tests::delete_cells_batch ... ok
[INFO] [stdout] test vt::parser::tests::delete_lines ... ok
[INFO] [stdout] test vt::parser::tests::hide_cursor ... ok
[INFO] [stdout] test vt::parser::tests::ed_mode3_clears_scrollback ... ok
[INFO] [stdout] test vt::parser::tests::insert_cells_batch ... ok
[INFO] [stdout] test vt::parser::tests::erase_backward_edge ... ok
[INFO] [stdout] test vt::parser::tests::ed_mode2_preserves_scrollback ... ok
[INFO] [stdout] test vt::parser::tests::ris_preserves_scrollback_capacity ... ok
[INFO] [stdout] test vt::parser::tests::multiple_sgr_in_one_sequence ... ok
[INFO] [stdout] test vt::parser::tests::erase_display ... ok
[INFO] [stdout] test vt::parser::tests::insert_delete_chars ... ok
[INFO] [stdout] test vt::parser::tests::overwrite_wide_char_left_half ... ok
[INFO] [stdout] test vt::parser::tests::erase_line ... ok
[INFO] [stdout] test vt::parser::tests::insert_lines ... ok
[INFO] [stdout] test vt::parser::tests::overwrite_wide_char_right_half ... ok
[INFO] [stdout] test vt::parser::tests::resize ... ok
[INFO] [stdout] test vt::parser::tests::newline_cr_lf ... ok
[INFO] [stdout] test vt::parser::tests::scroll_region_scroll ... ok
[INFO] [stdout] test vt::parser::tests::sgr_bright_colors ... ok
[INFO] [stdout] test vt::parser::tests::scrollback ... ok
[INFO] [stdout] test vt::parser::tests::sgr_red_fg ... ok
[INFO] [stdout] test vt::parser::tests::sgr_malformed_bg_continues ... ok
[INFO] [stdout] test vt::parser::tests::sgr_malformed_fg_continues ... ok
[INFO] [stdout] test vt::parser::tests::scroll_region ... ok
[INFO] [stdout] test vt::parser::tests::sgr_reset ... ok
[INFO] [stdout] test vt::parser::tests::sgr_rgb_color ... ok
[INFO] [stdout] test vt::parser::tests::sgr_256_color ... ok
[INFO] [stdout] test vt::parser::tests::window_manipulation_accepted ... ok
[INFO] [stdout] test vt::parser::tests::wrap_writes_char_on_next_line ... ok
[INFO] [stdout] test vt::parser::tests::wide_char ... ok
[INFO] [stdout] test vt::parser::tests::wide_char_1col_screen ... ok
[INFO] [stdout] test vt::screen::tests::new_screen ... ok
[INFO] [stdout] test vt::screen::tests::no_wrap_mode ... ok
[INFO] [stdout] test vt::parser::tests::wide_char_2col_screen ... ok
[INFO] [stdout] test vt::parser::tests::wide_char_wrap_at_end ... ok
[INFO] [stdout] test vt::screen::tests::sgr_colors ... ok
[INFO] [stdout] test vt::parser::tests::sgr_strikethrough ... ok
[INFO] [stdout] test vt::parser::tests::synchronized_output_accepted ... ok
[INFO] [stdout] test vt::parser::tests::tab ... ok
[INFO] [stdout] test webdav::tests::local_name_strips_prefix ... ok
[INFO] [stdout] test vt::screen::tests::text_basic ... ok
[INFO] [stdout] test webdav::tests::parse_propfind_basic ... ok
[INFO] [stdout] test webdav::tests::parse_propfind_no_namespace_prefix ... ok
[INFO] [stdout] test vt::screen::tests::erase_display ... ok
[INFO] [stdout] test vt::screen::tests::decsc_decrc ... ok
[INFO] [stdout] test vt::screen::tests::sgr_strikethrough ... ok
[INFO] [stdout] test vt::screen::tests::text_wraps_at_end ... ok
[INFO] [stdout] test webdav::tests::percent_decode_plus_sign_preserved ... ok
[INFO] [stdout] test vt::screen::tests::text_wide_char ... ok
[INFO] [stdout] test webdav::tests::webdav_base_url_trailing_slash_stripped ... ok
[INFO] [stdout] test webdav::tests::webdav_display_label ... ok
[INFO] [stdout] test webdav::tests::webdav_display_label_no_scheme ... ok
[INFO] [stdout] test webdav::tests::webdav_home_dir_is_root ... ok
[INFO] [stdout] test webdav::tests::percent_decode_utf8 ... ok
[INFO] [stdout] test webdav::tests::webdav_insecure_defaults_false ... ok
[INFO] [stdout] test webdav::tests::parse_propfind_empty_directory ... ok
[INFO] [stdout] test webdav::tests::webdav_insecure_true ... ok
[INFO] [stdout] test webdav::tests::webdav_url_for_root ... ok
[INFO] [stdout] test webdav::tests::webdav_url_for_subpath ... ok
[INFO] [stdout] test webdav::tests::percent_decode_incomplete_sequence ... ok
[INFO] [stdout] test webdav::tests::parse_propfind_name_from_href ... ok
[INFO] [stdout] test webdav::tests::percent_decode_works ... ok
[INFO] [stdout] test webdav::tests::webdav_url_for_spaces_encoded ... ok
[INFO] [stdout] test webdav::tests::url_encode_path_works ... ok
[INFO] [stdout] test webdav::tests::webdav_display_label_http ... ok
[INFO] [stdout] test vt::parser::tests::sgr_bold ... ok
[INFO] [stdout] test vt::screen::tests::cup_positions_cursor ... ok
[INFO] [stdout] test editor::tests::search_forward_wrap_large_file ... ok
[INFO] [stdout] test editor::tests::search_forward_large_file ... ok
[INFO] [stdout] test editor::tests::search_backward_wrap_large_file ... ok
[INFO] [stdout] test editor::tests::search_backward_large_file ... ok
[INFO] [stdout] test editor::tests::search_backward_findnext_large_file ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_remote.rs (/opt/rustwide/target/debug/deps/integration_remote-45c4fedb374a0a75)
[INFO] [stdout] test result: ok. 953 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.58s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test s3mock::test_s3_mkdir_and_delete ... ok
[INFO] [stdout] test s3mock::test_s3_upload_and_download ... ok
[INFO] [stdout] test webdav::test_webdav_propfind_parsing ... ok
[INFO] [stdout] test smb::test_smb_ls_parser ... ok
[INFO] [stdout] test azurite::test_azure_list_containers ... ok
[INFO] [stdout] test azurite::test_azure_blob_upload_and_list ... ok
[INFO] [stdout] test s3mock::test_s3_read_dir_with_files ... ok
[INFO] [stdout] test s3mock::test_s3_read_dir_empty_bucket ... ok
[INFO] [stdout] test sftp::test_sftp_read_dir_home ... ok
[INFO] [stdout] test sftp::test_sftp_mkdir_and_rmdir ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests middle_manager
[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" "25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d", kill_on_drop: false }`
[INFO] [stdout] 25ffb53989d76da12d4b2e7a8dfa9bff91eaf031c215fbe0cd486defb92d311d
