[INFO] cloning repository https://github.com/m-tkg/Ozzel
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/m-tkg/Ozzel" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fm-tkg%2FOzzel", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fm-tkg%2FOzzel'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 66c40ff5a21371f7a187f8259c00f55da2d7b576
[INFO] testing m-tkg/Ozzel against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fm-tkg%2FOzzel" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/m-tkg/Ozzel
[INFO] finished tweaking git repo https://github.com/m-tkg/Ozzel
[INFO] tweaked toml for git repo https://github.com/m-tkg/Ozzel written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/m-tkg/Ozzel on toolchain 1.99.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/m-tkg/Ozzel 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.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c
[INFO] running `Command { std: "docker" "start" "ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c", 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" "ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c", 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" "ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling instability v0.3.13
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling cmov v0.5.4
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling ctutils v0.4.2
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling lru v0.18.2
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling line-clipping v0.3.8
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling hybrid-array v0.4.14
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling inout v0.2.2
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling zlib-rs v0.6.7
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling cpubits v0.1.1
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling clap_builder v4.6.5
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling time v0.3.55
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling hmac v0.13.0
[INFO] [stderr]    Compiling cipher v0.5.2
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling sha1 v0.11.0
[INFO] [stderr]    Compiling pbkdf2 v0.13.0
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling inotify v0.11.4
[INFO] [stderr]    Compiling aes v0.9.2
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling libbz2-rs-sys v0.2.5
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling typed-path v0.12.3
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling lzma-rs v0.3.0
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling fs4 v0.13.1
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling bzip2 v0.6.1
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]    Compiling toml v1.1.4+spec-1.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling trash v5.2.6
[INFO] [stderr]    Compiling zip v8.6.0
[INFO] [stderr]    Compiling darling_core v0.24.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling toml_edit v0.25.13+spec-1.1.0
[INFO] [stderr]    Compiling open v5.4.0
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling darling_macro v0.24.0
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling darling v0.24.0
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling clap v4.6.5
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling ratatui-macros v0.7.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling ozzel v0.1.22 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 29s
[INFO] running `Command { std: "docker" "inspect" "ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c", 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" "ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling zerocopy v0.8.55
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling cc v1.4.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling trash v5.2.6
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling zerocopy-derive v0.8.55
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling ratatui-macros v0.7.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling ozzel v0.1.22 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 01s
[INFO] running `Command { std: "docker" "inspect" "ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c", 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" "ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/ozzel-7cadebb86a0615ef)
[INFO] [stdout] 
[INFO] [stdout] running 906 tests
[INFO] [stdout] test action::tests::config_name_round_trips_through_deserialize_for_every_action ... ok
[INFO] [stdout] test action::tests::all_contains_every_variant_exactly_once ... ok
[INFO] [stdout] test action::tests::every_action_has_a_non_empty_description ... ok
[INFO] [stdout] test app::tests::attr_ops::chmod_digit_key_sets_the_highlighted_row_as_an_octal_digit ... ok
[INFO] [stdout] test app::tests::auto_refresh::an_external_change_forces_a_git_reprobe_for_that_pane ... ok
[INFO] [stdout] test app::tests::attr_ops::symlink_rejects_both_panes_on_the_same_directory ... ok
[INFO] [stdout] test app::tests::attr_ops::symlink_on_a_virtual_pane_is_rejected ... ok
[INFO] [stdout] test app::tests::attr_ops::symlink_confirms_then_creates_a_link_in_the_other_pane ... ok
[INFO] [stdout] test app::tests::auto_refresh::an_external_change_only_reloads_the_pane_it_belongs_to ... ok
[INFO] [stdout] test app::tests::auto_refresh::an_external_change_reloads_the_pane_on_the_next_event ... ok
[INFO] [stdout] test app::tests::attr_ops::chmod_dialog_opens_with_the_cursor_entrys_mode_and_applies_on_enter ... ok
[INFO] [stdout] test app::tests::attr_ops::touch_prompt_invalid_input_logs_an_error_and_changes_nothing ... ok
[INFO] [stdout] test app::tests::auto_refresh::auto_refresh_false_never_starts_a_watcher ... ok
[INFO] [stdout] test app::tests::attr_ops::file_info_on_a_symlink_shows_the_link_target ... ok
[INFO] [stdout] test app::tests::auto_refresh::an_external_change_keeps_the_cursor_on_the_same_entry ... ok
[INFO] [stdout] test app::tests::attr_ops::touch_prompt_short_date_format_zero_fills_the_time ... ok
[INFO] [stdout] test app::tests::auto_refresh::an_external_change_is_deferred_while_a_modal_is_open_then_applied ... ok
[INFO] [stdout] test app::tests::attr_ops::file_info_with_marks_appends_a_summary_row ... ok
[INFO] [stdout] test app::tests::attr_ops::touch_prompt_full_format_sets_the_mtime ... ok
[INFO] [stdout] test app::tests::diff_action::diff_opens_the_viewer_with_diff_syntax_and_unified_content ... ok
[INFO] [stdout] test app::tests::auto_refresh::an_external_change_keeps_marks ... ok
[INFO] [stdout] test app::tests::attr_ops::file_info_opens_a_modal_with_the_core_rows_and_closes_on_esc ... ok
[INFO] [stdout] test app::tests::diff_action::diff_with_both_panes_on_the_same_file_logs_an_error ... ok
[INFO] [stdout] test app::tests::diff_action::diff_of_identical_files_logs_and_stays_in_normal_mode ... ok
[INFO] [stdout] test app::tests::dispatch::keymap_resolves_q_and_ctrl_c_to_quit ... ok
[INFO] [stdout] test app::tests::dispatch::keymap_resolves_underscore_to_match_other_pane ... ok
[INFO] [stdout] test app::tests::diff_action::diff_with_no_same_named_file_logs_an_error ... ok
[INFO] [stdout] test app::tests::dispatch::cancel_tasks_action_logs_no_running_tasks_when_nothing_is_running ... ok
[INFO] [stdout] test app::tests::diff_action::diff_of_binary_files_logs_and_stays_in_normal_mode ... ok
[INFO] [stdout] test app::tests::dispatch::match_other_pane_on_the_same_directory_logs_and_leaves_the_pane_untouched ... ok
[INFO] [stdout] test app::tests::diff_action::diff_on_a_directory_logs_an_error ... ok
[INFO] [stdout] test app::tests::dispatch::match_other_pane_records_the_move_in_the_other_panes_own_history ... ok
[INFO] [stdout] test app::tests::dispatch::quit_confirm_declined_keeps_the_app_running_when_nothing_is_running ... ok
[INFO] [stdout] test app::tests::dispatch::switch_pane_toggles_active ... ok
[INFO] [stdout] test app::tests::dispatch::match_other_pane_then_history_back_returns_the_other_pane ... ok
[INFO] [stdout] test app::tests::dispatch::wants_mouse_capture_is_false_when_mouse_is_off_regardless_of_mode ... ok
[INFO] [stdout] test app::tests::dispatch::quit_action_confirms_by_default_then_quits_on_y ... ok
[INFO] [stdout] test app::tests::dispatch::wants_mouse_capture_is_false_in_viewer_log_and_help ... ok
[INFO] [stdout] test app::tests::dispatch::match_other_pane_moves_the_inactive_pane_and_leaves_focus_alone ... ok
[INFO] [stdout] test app::tests::dispatch::match_other_pane_applies_the_destinations_sort_preference ... ok
[INFO] [stdout] test app::tests::dispatch::wants_mouse_capture_is_true_in_normal_mode_when_mouse_is_on ... ok
[INFO] [stdout] test app::tests::dispatch::quit_with_confirm_quit_false_and_no_tasks_quits_immediately ... ok
[INFO] [stdout] test app::tests::dispatch::quit_tasks_running_confirm_is_unaffected_by_confirm_quit_false ... ok
[INFO] [stdout] test app::tests::dispatch::wants_mouse_capture_stays_true_in_prompt_confirm_and_select_modes ... ok
[INFO] [stdout] test app::tests::dispatch::swap_panes_swaps_cwd ... ok
[INFO] [stdout] test app::tests::dispatch::quit_with_running_task_asks_for_confirmation ... ok
[INFO] [stdout] test app::tests::external::edit_config_creates_the_template_when_missing_and_queues_reload ... ok
[INFO] [stdout] test app::tests::dispatch::wants_mouse_capture_stays_true_in_the_function_list_palette ... ok
[INFO] [stdout] test app::tests::external::command_line_prompt_commit_sets_pending_external ... ok
[INFO] [stdout] test app::tests::external::editor_stays_non_interactive_even_when_command_line_interactive_is_on ... ok
[INFO] [stdout] test app::tests::external::reload_config_success_swaps_the_keymap_and_logs ... ok
[INFO] [stdout] test app::tests::external::command_line_empty_input_cancels_without_pending_external ... ok
[INFO] [stdout] test app::tests::external::reload_config_unknown_top_level_key_keeps_the_old_config_and_logs ... ok
[INFO] [stdout] test app::tests::file_ops::collision_dialog_moves_on_the_keymap_cursor_keys ... ok
[INFO] [stdout] test app::tests::dispatch::cancel_tasks_action_sets_the_cancel_flag_on_every_running_task ... ok
[INFO] [stdout] test app::tests::external::open_editor_errors_when_cursor_is_on_a_directory ... ok
[INFO] [stdout] test app::tests::external::command_line_runs_interactive_when_configured ... ok
[INFO] [stdout] test app::tests::external::edit_config_falls_back_to_vim_when_no_editor_or_env_var_is_set ... ok
[INFO] [stdout] test app::tests::file_ops::collision_dialog_rename_to_another_existing_name_reasks ... ok
[INFO] [stdout] test app::tests::external::edit_config_does_not_overwrite_an_existing_config_file ... ok
[INFO] [stdout] test app::tests::external::open_editor_queues_suspended_command_with_configured_editor ... ok
[INFO] [stdout] test app::tests::external::reload_config_failure_keeps_the_old_config_and_keymap_and_logs ... ok
[INFO] [stdout] test app::tests::external::help_lines_and_settings_keybinding_lines_reflect_a_reloaded_keymap ... ok
[INFO] [stdout] test app::tests::external::reload_config_bad_keys_entry_keeps_the_old_keymap_and_logs ... ok
[INFO] [stdout] test app::tests::file_ops::confirm_ignores_unrelated_keys_and_cancels_on_esc ... ok
[INFO] [stdout] test app::tests::file_ops::collision_dialog_esc_cancels_the_whole_transfer ... ok
[INFO] [stdout] test app::tests::file_ops::collision_info_marks_the_newer_side ... ok
[INFO] [stdout] test app::tests::file_ops::copy_dir_path_copies_the_active_panes_cwd ... ok
[INFO] [stdout] test app::tests::file_ops::copy_confirm_declined_does_not_spawn_or_copy ... ok
[INFO] [stdout] test app::tests::file_ops::copy_path_on_the_parent_row_of_an_empty_directory_still_works ... ok
[INFO] [stdout] test app::tests::file_ops::copy_dir_path_follows_the_active_pane ... ok
[INFO] [stdout] test app::tests::file_ops::copy_path_on_the_parent_row_copies_the_parent_directory ... ok
[INFO] [stdout] test app::tests::file_ops::delete_confirmation_declined_keeps_file ... ok
[INFO] [stdout] test app::tests::file_ops::copy_collision_opens_the_dialog_even_with_confirm_operations_false ... ok
[INFO] [stdout] test app::tests::file_ops::delete_logs_every_target_path_up_front ... ok
[INFO] [stdout] test app::tests::file_ops::copy_path_queues_the_cursor_entrys_absolute_path ... ok
[INFO] [stdout] test app::tests::file_ops::collision_dialog_rename_transfers_under_the_new_name ... ok
[INFO] [stdout] test app::tests::file_ops::collision_dialog_overwrite_all_and_skip_all_batch_the_rest ... ok
[INFO] [stdout] test app::tests::file_ops::copy_action_confirms_by_default_then_spawns_a_background_task ... ok
[INFO] [stdout] test app::tests::file_ops::duplicate_prompt_is_prefilled_with_the_current_name ... ok
[INFO] [stdout] test app::tests::file_ops::collision_dialog_skip_leaves_the_destination_untouched ... ok
[INFO] [stdout] test app::tests::file_ops::copy_collision_opens_the_per_file_dialog_before_spawning ... ok
[INFO] [stdout] test app::tests::file_ops::duplicate_rejects_empty_separator_and_same_name ... ok
[INFO] [stdout] test app::tests::file_ops::copy_skips_confirm_when_confirm_operations_false_and_no_collision ... ok
[INFO] [stdout] test app::tests::file_ops::delete_cursor_anchor_applies_the_same_way_under_trash_behavior ... ok
[INFO] [stdout] test app::tests::file_ops::delete_requires_confirmation_then_removes_via_background_task ... ok
[INFO] [stdout] test app::tests::file_ops::mkdir_prompt_creates_directory_on_enter ... ok
[INFO] [stdout] test app::tests::file_ops::move_action_also_confirms_by_default ... ok
[INFO] [stdout] test app::tests::file_ops::copy_logs_every_source_and_destination_path_up_front ... ok
[INFO] [stdout] test app::tests::file_ops::delete_middle_entry_moves_cursor_to_the_entry_above ... ok
[INFO] [stdout] test app::tests::file_ops::rename_marks_excludes_marks_hidden_by_the_filter ... ok
[INFO] [stdout] test app::tests::file_ops::duplicate_rejects_a_colliding_destination_name ... ok
[INFO] [stdout] test app::tests::file_ops::rename_marks_without_marks_logs_an_error_not_a_cursor_fallback ... ok
[INFO] [stdout] test app::tests::file_ops::delete_first_entry_leaves_cursor_at_the_top ... ok
[INFO] [stdout] test app::tests::file_ops::rename_prompt_is_prefilled_and_commits ... ok
[INFO] [stdout] test app::tests::file_ops::copying_a_directory_symlink_copies_the_link_itself_not_the_target_tree ... ok
[INFO] [stdout] test app::tests::file_ops::rename_marks_walks_marked_entries_in_display_order_with_progress_titles ... ok
[INFO] [stdout] test app::tests::file_ops::delete_last_entry_moves_cursor_to_the_new_last_entry ... ok
[INFO] [stdout] test app::tests::file_ops::rename_marks_esc_cancels_the_remainder_keeping_finished_renames ... ok
[INFO] [stdout] test app::tests::file_search::enter_jumps_to_the_hit_with_the_cursor_on_it ... ok
[INFO] [stdout] test app::tests::file_search::incremental_typing_narrows_results_on_every_keystroke ... ok
[INFO] [stdout] test app::tests::file_search::esc_cancels_without_moving_the_pane ... ok
[INFO] [stdout] test app::tests::file_ops::deleting_a_directory_symlink_removes_only_the_link_leaving_the_target_intact ... ok
[INFO] [stdout] test app::tests::file_ops::duplicate_copies_the_source_to_the_new_name_in_the_same_directory ... ok
[INFO] [stdout] test app::tests::file_search::a_directory_hit_jumps_to_its_parent_with_the_cursor_on_the_directory ... ok
[INFO] [stdout] test app::tests::file_search::an_invalid_regex_matches_nothing_and_surfaces_the_error ... ok
[INFO] [stdout] test app::tests::file_search::file_search_opens_with_every_entry_listed ... ok
[INFO] [stdout] test app::tests::file_search::settings_toggle_persists_file_search_incremental ... ok
[INFO] [stdout] test app::tests::file_search::enter_run_mode_searches_on_enter_then_jumps_on_the_next_enter ... ok
[INFO] [stdout] test app::tests::file_search::file_search_is_rejected_in_a_virtual_pane ... ok
[INFO] [stdout] test app::tests::file_search::hidden_entries_follow_the_panes_show_hidden_flag ... ok
[INFO] [stdout] test app::tests::git_status::a_change_in_another_panes_git_directory_leaves_this_one_alone ... ok
[INFO] [stdout] test app::tests::git_status::a_change_in_the_git_directory_forces_a_reprobe_without_reloading_the_pane ... ok
[INFO] [stdout] test app::tests::git_status::git_probe_failure_logs_but_cancellation_stays_silent ... ok
[INFO] [stdout] test app::tests::git_status::git_probe_finished_does_not_reload_or_clear_marks_or_log ... ok
[INFO] [stdout] test app::tests::file_ops::two_concurrent_transfers_both_complete ... ok
[INFO] [stdout] test app::tests::git_diff_action::git_diff_without_a_git_status_logs_and_stays_in_normal_mode ... ok
[INFO] [stdout] test app::tests::git_status::git_status_result_lands_on_the_pane_that_asked ... ok
[INFO] [stdout] test app::tests::git_status::navigation_schedules_a_probe_per_pane_and_show_git_status_off_disables_it ... ok
[INFO] [stdout] test app::tests::git_status::result_for_a_directory_the_pane_left_is_dropped ... ok
[INFO] [stdout] test app::tests::git_status::stale_probe_result_is_dropped_when_a_newer_probe_exists ... ok
[INFO] [stdout] test app::tests::git_status::the_git_directory_is_watched_alongside_each_pane_cwd ... ok
[INFO] [stdout] test app::tests::git_status::task_completion_reload_forces_a_git_reprobe ... ok
[INFO] [stdout] test app::tests::mouse::double_click_on_a_directory_navigates_into_it ... ok
[INFO] [stdout] test app::tests::mouse::click_on_the_header_or_border_only_focuses_without_moving_the_cursor ... ok
[INFO] [stdout] test app::tests::mouse::drag_crossing_into_the_other_pane_does_not_mark_there_or_change_focus ... ok
[INFO] [stdout] test app::tests::mouse::drag_across_multiple_rows_toggles_every_row_swept_over_on ... ok
[INFO] [stdout] test app::tests::mouse::drag_direction_reversal_across_the_origin_recomputes_the_range ... ok
[INFO] [stdout] test app::tests::mouse::drag_over_a_row_marked_before_the_drag_toggles_off_then_reverts_on_retreat ... ok
[INFO] [stdout] test app::tests::mouse::hit_test_row_accounts_for_a_2_row_header ... ok
[INFO] [stdout] test app::tests::mouse::hit_test_row_honors_the_scroll_start_offset ... ok
[INFO] [stdout] test app::tests::mouse::hit_test_row_maps_a_click_inside_rows_area_to_an_entry_index ... ok
[INFO] [stdout] test app::tests::mouse::drag_retreat_reverts_rows_that_leave_the_range ... ok
[INFO] [stdout] test app::tests::mouse::hit_test_row_returns_none_outside_the_rows_area ... ok
[INFO] [stdout] test app::tests::mouse::dragging_over_already_marked_rows_toggles_them_back_off ... ok
[INFO] [stdout] test app::tests::mouse::left_click_does_not_mark_the_row_it_lands_on ... ok
[INFO] [stdout] test app::tests::mouse::left_click_on_an_entry_row_focuses_the_pane_and_moves_the_cursor ... ok
[INFO] [stdout] test app::tests::mouse::plain_click_never_touches_existing_marks ... ok
[INFO] [stdout] test app::tests::mouse::wheel_scroll_moves_the_cursor_of_the_pane_under_the_pointer_without_changing_focus ... ok
[INFO] [stdout] test app::tests::mouse::the_wheel_direction_is_inverted_relative_to_the_event_names ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_jump_menu_enter_navigates_active_pane ... ok
[INFO] [stdout] test app::tests::navigation::a_new_navigation_after_going_back_clears_the_forward_stack ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_jump_menu_esc_cancels_without_navigating ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_d_still_deletes_when_d_is_remapped_to_cursor_down ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_arrows_still_move_after_the_arrows_are_unbound ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_down_then_d_deletes_the_highlighted_entry ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_add_dedups_and_marks_dirty_only_when_actually_added ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_moves_the_cursor_on_a_remapped_cursor_down_key ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_digit_past_the_last_row_of_a_short_page_is_ignored ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_digit_jumps_straight_to_that_row_of_the_page ... ok
[INFO] [stdout] test app::tests::dispatch::cancel_tasks_action_makes_a_real_copy_worker_finish_cancelled ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_page_keys_clamp_at_both_ends ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_shift_down_moves_the_entry_and_carries_the_cursor ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_right_turns_the_page_and_digits_index_into_it ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_shift_up_at_the_top_is_a_no_op ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_reorder_wins_over_shift_up_being_bound_to_top ... ok
[INFO] [stdout] test app::tests::navigation::focus_left_and_focus_right_activate_the_named_pane ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_shift_up_moves_the_entry_back ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_shift_down_at_the_bottom_is_a_no_op ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_pages_on_a_remapped_focus_key ... ok
[INFO] [stdout] test app::tests::navigation::function_list_opens_empty_and_lists_every_action ... ok
[INFO] [stdout] test app::tests::navigation::function_list_moves_on_a_ctrl_remapped_cursor_key ... ok
[INFO] [stdout] test app::tests::navigation::function_list_enter_closes_the_palette_then_dispatches_the_highlighted_action ... ok
[INFO] [stdout] test app::tests::navigation::function_list_esc_cancels_without_dispatching_anything ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_page_turn_clamps_onto_a_short_final_page ... ok
[INFO] [stdout] test app::tests::navigation::function_list_typing_i_still_filters_instead_of_moving_the_cursor ... ok
[INFO] [stdout] test app::tests::navigation::function_list_typing_narrows_and_resets_the_cursor ... ok
[INFO] [stdout] test app::tests::navigation::go_home_errors_and_stays_put_when_configured_home_is_missing ... ok
[INFO] [stdout] test app::tests::navigation::history_back_and_forward_walk_the_per_pane_stack ... ok
[INFO] [stdout] test app::tests::navigation::history_forward_with_nothing_to_go_forward_to_logs_and_stays_put ... ok
[INFO] [stdout] test app::tests::navigation::history_back_with_nothing_to_go_back_to_logs_and_stays_put ... ok
[INFO] [stdout] test app::tests::navigation::go_home_jumps_to_configured_home_and_records_history ... ok
[INFO] [stdout] test app::tests::navigation::history_jump_menu_lists_most_recent_first_and_selects ... ok
[INFO] [stdout] test app::tests::navigation::history_jump_with_empty_history_logs_error_instead_of_opening_menu ... ok
[INFO] [stdout] test app::tests::navigation::history_menu_shift_down_only_moves_the_cursor ... ok
[INFO] [stdout] test app::tests::navigation::bookmark_menu_up_down_scrolling_crosses_a_page_boundary ... ok
[INFO] [stdout] test app::tests::navigation::history_menu_d_remapped_to_cursor_down_moves_the_cursor ... ok
[INFO] [stdout] test app::tests::navigation::jump_search_down_and_up_cycle_through_matches_with_wraparound ... ok
[INFO] [stdout] test app::tests::navigation::jump_search_enter_keeps_the_cursor_where_the_search_left_it ... ok
[INFO] [stdout] test app::tests::navigation::go_home_jumps_through_a_symlinked_home_target ... ok
[INFO] [stdout] test app::tests::navigation::history_menu_ignores_the_digit_and_page_keys ... ok
[INFO] [stdout] test app::tests::navigation::jump_search_esc_restores_the_cursor_to_where_the_search_started ... ok
[INFO] [stdout] test app::tests::navigation::jump_search_handles_japanese_prefixes_and_narrows_incrementally ... ok
[INFO] [stdout] test app::tests::navigation::jump_search_moves_cursor_to_the_first_case_insensitive_prefix_match ... ok
[INFO] [stdout] test app::tests::navigation::jump_search_never_matches_the_parent_entry ... ok
[INFO] [stdout] test app::tests::navigation::open_default_errors_when_no_entry_selected ... ok
[INFO] [stdout] test app::tests::navigation::jump_search_with_no_match_leaves_the_cursor_where_it_is ... ok
[INFO] [stdout] test app::tests::navigation::left_right_arrow_keys_switch_pane_focus_end_to_end ... ok
[INFO] [stdout] test app::tests::navigation::open_on_directory_navigates_and_records_history ... ok
[INFO] [stdout] test app::tests::pager::h_and_question_mark_both_open_help_end_to_end ... ok
[INFO] [stdout] test app::tests::pager::help_screen_less_style_scroll_keys_move_the_same_as_the_viewer ... ok
[INFO] [stdout] test app::tests::navigation::parent_navigation_also_records_history ... ok
[INFO] [stdout] test app::tests::pager::go_home_end_to_end_is_bound_only_to_tilde ... ok
[INFO] [stdout] test app::tests::pager::help_listing_reflects_a_keys_override_end_to_end ... ok
[INFO] [stdout] test app::tests::pager::help_action_opens_the_help_screen ... ok
[INFO] [stdout] test app::tests::pager::help_screen_scroll_clamps_and_closes_with_q_esc_or_h ... ok
[INFO] [stdout] test app::tests::pager::help_search_no_match_logs_and_leaves_search_idle ... ok
[INFO] [stdout] test app::tests::pager::help_search_finds_a_binding_row_n_wraps_and_esc_two_step_closes ... ok
[INFO] [stdout] test app::tests::pager::log_search_supports_japanese_patterns ... ok
[INFO] [stdout] test app::tests::pager::log_search_no_match_logs_an_error_and_leaves_search_idle ... ok
[INFO] [stdout] test app::tests::pager::log_search_finds_a_message_n_wraps_and_esc_two_step_closes ... ok
[INFO] [stdout] test app::tests::pager::help_search_handles_a_japanese_pattern_without_byte_offset_corruption ... ok
[INFO] [stdout] test app::tests::pager::log_view_less_style_scroll_keys_move_the_same_direction_as_up_down ... ok
[INFO] [stdout] test app::tests::pager::open_action_opens_the_built_in_viewer_on_a_file ... ok
[INFO] [stdout] test app::tests::pager::open_on_a_file_opens_the_viewer_instead_of_navigating ... ok
[INFO] [stdout] test app::tests::pager::open_on_a_dangling_symlink_logs_an_error_instead_of_opening_the_viewer ... ok
[INFO] [stdout] test app::tests::pager::log_wrapped_cache_invalidates_on_a_new_line_or_a_different_width ... ok
[INFO] [stdout] test app::tests::pager::open_on_a_directory_symlink_navigates_instead_of_opening_the_viewer ... ok
[INFO] [stdout] test app::tests::pager::log_view_scroll_keys_move_and_saturate ... ok
[INFO] [stdout] test app::tests::pager::open_opens_a_binary_file_directly_in_hex_mode ... ok
[INFO] [stdout] test app::tests::pager::show_log_opens_scrolled_to_the_bottom_and_q_closes_it ... ok
[INFO] [stdout] test app::tests::pager::open_on_a_file_symlink_opens_the_viewer_on_the_targets_content ... ok
[INFO] [stdout] test app::tests::pager::shift_h_opens_history_jump_and_h_no_longer_does ... ok
[INFO] [stdout] test app::tests::pager::viewer_enter_with_an_empty_pattern_cancels_like_esc ... ok
[INFO] [stdout] test app::tests::pager::viewer_backward_search_and_its_n_direction_is_inverted ... ok
[INFO] [stdout] test app::tests::pager::viewer_esc_while_editing_cancels_and_restores_the_previous_search ... ok
[INFO] [stdout] test app::tests::pager::viewer_esc_in_normal_state_clears_the_search_then_a_second_esc_closes ... ok
[INFO] [stdout] test app::tests::pager::viewer_hex_mode_search_matches_the_formatted_hex_dump_line ... ok
[INFO] [stdout] test app::tests::git_diff_action::git_diff_in_a_repository_with_no_commits_falls_back_to_the_index ... ok
[INFO] [stdout] test app::tests::pager::viewer_forward_search_jumps_to_the_first_match_at_or_below_the_top ... ok
[INFO] [stdout] test app::tests::pager::viewer_n_and_capital_n_cycle_forward_and_backward_with_wraparound ... ok
[INFO] [stdout] test app::tests::pager::viewer_left_right_scroll_horizontally_without_underflow ... ok
[INFO] [stdout] test app::tests::pager::viewer_hex_scroll_clamps_by_sixteen_byte_rows ... ok
[INFO] [stdout] test app::tests::pager::viewer_page_up_down_clamp_too ... ok
[INFO] [stdout] test app::tests::process_manager::a_process_list_event_replaces_the_snapshot_and_marks_the_frame_dirty ... ok
[INFO] [stdout] test app::tests::process_manager::a_probe_failing_is_not_logged_a_second_time_by_its_finished_event ... ok
[INFO] [stdout] test app::tests::process_manager::a_double_click_never_kills_anything ... ok
[INFO] [stdout] test app::tests::process_manager::a_process_probe_finishing_never_reloads_the_panes_or_clears_marks ... ok
[INFO] [stdout] test app::tests::pager::viewer_scroll_clamps_to_the_line_count ... ok
[INFO] [stdout] test app::tests::pager::viewer_tab_toggles_between_text_and_hex_and_resets_scroll ... ok
[INFO] [stdout] test app::tests::process_manager::a_refresh_keeps_the_cursor_on_the_same_pid_even_when_rows_reorder ... ok
[INFO] [stdout] test app::tests::pager::viewer_q_and_esc_close_back_to_normal ... ok
[INFO] [stdout] test app::tests::process_manager::a_refresh_clamps_the_cursor_when_the_process_under_it_has_exited ... ok
[INFO] [stdout] test app::tests::process_manager::a_ps_failure_lands_in_the_footer_and_only_logs_once_per_distinct_message ... ok
[INFO] [stdout] test app::tests::pager::viewer_vim_style_scroll_keys_behave_like_their_arrow_equivalents ... ok
[INFO] [stdout] test app::tests::pager::viewer_search_with_no_match_logs_an_error_and_leaves_search_idle ... ok
[INFO] [stdout] test app::tests::process_manager::a_successful_snapshot_clears_a_previous_failure_from_the_footer ... ok
[INFO] [stdout] test app::tests::process_manager::capital_x_asks_for_sigkill_instead ... ok
[INFO] [stdout] test app::tests::process_manager::closing_the_process_manager_cancels_the_in_flight_probe ... ok
[INFO] [stdout] test app::tests::process_manager::a_stale_probes_snapshot_is_dropped_once_a_newer_probe_is_in_flight ... ok
[INFO] [stdout] test app::tests::process_manager::clicking_a_row_moves_the_cursor_onto_that_process ... ok
[INFO] [stdout] test app::tests::process_manager::clicking_the_title_header_or_footer_leaves_the_cursor_alone ... ok
[INFO] [stdout] test app::tests::process_manager::clicking_the_blank_space_past_the_last_process_leaves_the_cursor_alone ... ok
[INFO] [stdout] test app::tests::process_manager::mouse_capture_stays_on_in_the_process_manager ... ok
[INFO] [stdout] test app::tests::process_manager::cursor_movement_follows_a_rebound_cursor_down_key ... ok
[INFO] [stdout] test app::tests::process_manager::clicking_a_row_honors_the_scroll_offset_the_frame_drew_with ... ok
[INFO] [stdout] test app::tests::process_manager::opening_the_process_manager_shows_the_loading_state_and_spawns_a_probe ... ok
[INFO] [stdout] test app::tests::process_manager::r_refreshes_even_with_auto_refresh_switched_off ... ok
[INFO] [stdout] test app::tests::process_manager::no_probe_is_spawned_while_the_process_manager_is_closed ... ok
[INFO] [stdout] test app::tests::process_manager::process_auto_refresh_false_never_spawns_a_periodic_probe ... ok
[INFO] [stdout] test app::tests::process_manager::no_second_probe_is_spawned_while_one_is_still_in_flight ... ok
[INFO] [stdout] test app::tests::process_manager::refusing_to_signal_pid_one ... ok
[INFO] [stdout] test app::tests::process_manager::pressing_a_sort_key_reorders_the_list_and_pressing_it_again_reverses_it ... ok
[INFO] [stdout] test app::tests::process_manager::re_sorting_keeps_the_cursor_on_the_same_process ... ok
[INFO] [stdout] test app::tests::process_manager::refusing_to_signal_ozzels_own_pid_logs_an_error_and_leaves_the_view_open ... ok
[INFO] [stdout] test app::tests::process_manager::the_sort_keys_are_matched_before_the_keymaps_cursor_navigation ... ok
[INFO] [stdout] test app::tests::process_manager::q_and_esc_both_close_the_process_manager_back_to_normal_mode ... ok
[INFO] [stdout] test app::tests::process_manager::the_mouse_is_ignored_while_a_kill_confirmation_is_up ... ok
[INFO] [stdout] test app::tests::process_manager::the_cursor_clamps_at_both_ends_instead_of_wrapping ... ok
[INFO] [stdout] test app::tests::settings::settings_action_opens_the_categories_screen ... ok
[INFO] [stdout] test app::tests::process_manager::the_wheel_over_an_empty_list_does_nothing ... ok
[INFO] [stdout] test app::tests::process_manager::the_wheel_scrolls_the_cursor_and_clamps_at_both_ends ... ok
[INFO] [stdout] test app::tests::settings::settings_categories_navigate_and_esc_closes ... ok
[INFO] [stdout] test app::tests::settings::settings_bool_toggle_saves_and_reloads_immediately ... ok
[INFO] [stdout] test app::tests::process_manager::x_opens_a_kill_confirmation_naming_the_process_and_esc_cancels_it ... ok
[INFO] [stdout] test app::tests::settings::settings_color_palette_pick_applies_the_named_color ... ok
[INFO] [stdout] test app::tests::settings::settings_color_hex_input_applies_a_custom_color ... ok
[INFO] [stdout] test app::tests::settings::settings_delete_behavior_editor_commits_the_selected_variant ... ok
[INFO] [stdout] test app::tests::settings::settings_keybinding_add_writes_bindings_and_applies_live ... ok
[INFO] [stdout] test app::tests::settings::settings_keybinding_remove_a_default_combo_writes_keys_none ... ok
[INFO] [stdout] test app::tests::settings::settings_toggle_persists_clear_on_suspend ... ok
[INFO] [stdout] test app::tests::sorting::apply_startup_sort_prefs_covers_both_panes ... ok
[INFO] [stdout] test app::tests::settings::settings_toggle_persists_cursor_memory_and_pushes_it_onto_both_panes ... ok
[INFO] [stdout] test app::tests::sorting::calc_dir_size_on_a_file_only_selection_logs_an_error ... ok
[INFO] [stdout] test app::tests::settings::settings_text_editor_sets_and_then_clears_an_optional_field ... ok
[INFO] [stdout] test app::tests::settings::settings_keybinding_capture_esc_cancels_without_writing ... ok
[INFO] [stdout] test app::tests::sorting::cycle_sort_records_the_pref_too ... ok
[INFO] [stdout] test app::tests::settings::settings_keybinding_capture_conflict_steal_moves_the_combo ... ok
[INFO] [stdout] test app::tests::settings::settings_viewer_entry_add_then_delete_round_trips ... ok
[INFO] [stdout] test app::tests::sorting::navigating_into_a_directory_restores_its_remembered_sort ... ok
[INFO] [stdout] test app::tests::sorting::sort_dialog_choices_and_labels_stay_index_aligned ... ok
[INFO] [stdout] test app::tests::sorting::navigating_without_a_pref_keeps_the_panes_current_sort ... ok
[INFO] [stdout] test app::tests::sorting::sort_dialog_enter_applies_and_records_the_pref ... ok
[INFO] [stdout] test app::tests::sorting::sort_dialog_esc_changes_nothing ... ok
[INFO] [stdout] test app::tests::sorting::sort_dialog_moves_on_the_keymap_cursor_keys_and_still_wraps ... ok
[INFO] [stdout] test app::tests::startup::load_initial_dirs_populates_both_panes_matching_a_plain_new ... ok
[INFO] [stdout] test app::tests::sorting::sort_dialog_opens_preselecting_the_current_state ... ok
[INFO] [stdout] test app::tests::startup::new_unloaded_builds_both_panes_with_no_entries_and_no_io ... ok
[INFO] [stdout] test app::tests::startup::load_initial_dirs_propagates_a_reload_failure ... ok
[INFO] [stdout] test app::tests::sync_dirs::nested_panes_are_rejected_both_ways ... ok
[INFO] [stdout] test app::tests::sync_dirs::mirror_choice_always_confirms_even_with_confirm_operations_off ... ok
[INFO] [stdout] test app::tests::sync_dirs::sync_dialog_moves_on_the_keymap_cursor_keys ... ok
[INFO] [stdout] test app::tests::sync_dirs::same_directory_panes_are_rejected ... ok
[INFO] [stdout] test app::tests::sync_dirs::sync_opens_the_mode_dialog ... ok
[INFO] [stdout] test app::tests::sorting::toggle_size_format_cycles_and_persists_to_the_config_file ... ok
[INFO] [stdout] test app::tests::sorting::calc_dir_size_task_stamps_the_pane_and_logs_a_total ... ok
[INFO] [stdout] test app::tests::unzip::unzip_on_a_directory_named_like_an_archive_is_rejected ... ok
[INFO] [stdout] test app::tests::unzip::unzip_extracts_a_tar_gz_into_a_stem_named_subdirectory ... ok
[INFO] [stdout] test app::tests::unzip::unzip_on_a_single_gz_refuses_when_the_payload_name_is_taken ... ok
[INFO] [stdout] test app::tests::unzip::unzip_on_an_unsupported_extension_logs_a_clear_error ... ok
[INFO] [stdout] test app::tests::virtual_dir::copy_dir_path_inside_an_archive_uses_the_header_label ... ok
[INFO] [stdout] test app::tests::sync_dirs::update_choice_with_confirm_on_goes_through_confirm_first ... ok
[INFO] [stdout] test app::tests::virtual_dir::copy_path_on_the_parent_row_inside_an_archive_walks_back_out ... ok
[INFO] [stdout] test app::tests::unzip::unzip_does_not_probe_a_tar_for_zip_encryption ... ok
[INFO] [stdout] test app::tests::virtual_dir::extension_viewer_command_falls_back_to_the_symlink_targets_extension ... ok
[INFO] [stdout] test app::tests::virtual_dir::extension_viewer_command_matches_case_insensitively_on_a_dotless_key ... ok
[INFO] [stdout] test app::tests::unzip::unzip_extracts_a_zip_into_a_new_stem_named_subdirectory ... ok
[INFO] [stdout] test app::tests::unzip::unzip_never_opens_an_overwrite_confirm ... ok
[INFO] [stdout] test app::tests::sync_dirs::update_choice_with_confirm_off_spawns_and_syncs ... ok
[INFO] [stdout] test app::tests::virtual_dir::filter_and_sort_work_on_a_virtual_listing ... ok
[INFO] [stdout] test app::tests::virtual_dir::match_other_pane_is_refused_while_the_active_pane_is_virtual ... ok
[INFO] [stdout] test app::tests::unzip::unzip_on_a_single_gz_writes_the_payload_without_a_wrapper_directory ... ok
[INFO] [stdout] test app::tests::virtual_dir::jump_to_a_bookmark_exits_virtual_directory_mode ... ok
[INFO] [stdout] test app::tests::virtual_dir::move_is_rejected_inside_a_virtual_directory ... ok
[INFO] [stdout] test app::tests::virtual_dir::match_other_pane_pulls_a_virtual_other_pane_out_of_its_archive ... ok
[INFO] [stdout] test app::tests::virtual_dir::open_on_a_file_with_a_configured_viewer_queues_an_external_command ... ok
[INFO] [stdout] test app::tests::virtual_dir::open_on_a_file_without_a_configured_viewer_falls_back_to_the_built_in_viewer ... ok
[INFO] [stdout] test app::tests::unzip::unzip_uniquifies_the_subdirectory_when_the_stem_is_taken ... ok
[INFO] [stdout] test app::tests::virtual_dir::mutating_actions_are_all_rejected_inside_a_virtual_directory ... ok
[INFO] [stdout] test app::tests::virtual_dir::open_on_a_zip_file_enters_virtual_directory_mode ... ok
[INFO] [stdout] test cli::tests::cli_parses_a_dot_slash_prefixed_update_directory_as_a_positional_arg ... ok
[INFO] [stdout] test app::tests::virtual_dir::open_on_a_text_file_inside_a_virtual_directory_opens_the_viewer ... ok
[INFO] [stdout] test cli::tests::cli_parses_cwd_file_alone_with_no_positional_directories ... ok
[INFO] [stdout] test cli::tests::cli_parses_cwd_file_combined_with_positional_directories ... ok
[INFO] [stdout] test cli::tests::cli_parses_two_positional_directories_with_no_subcommand ... ok
[INFO] [stdout] test cli::tests::cli_parses_update_as_a_subcommand_not_a_left_dir ... ok
[INFO] [stdout] test cli::tests::cli_parses_update_dash_dash_force ... ok
[INFO] [stdout] test cli::tests::cli_with_no_arguments_has_no_subcommand_and_no_dirs ... ok
[INFO] [stdout] test cli::tests::should_write_cwd_file_requires_both_the_flag_and_quit_cd ... ok
[INFO] [stdout] test color::tests::dim_color_clamps_an_out_of_range_factor ... ok
[INFO] [stdout] test app::tests::virtual_dir::open_on_an_archived_file_with_a_configured_viewer_falls_back_to_the_built_in_viewer ... ok
[INFO] [stdout] test color::tests::dim_color_maps_named_colors_to_an_approximate_rgb_before_scaling ... ok
[INFO] [stdout] test color::tests::dim_color_one_is_unchanged_rgb_and_zero_is_black ... ok
[INFO] [stdout] test color::tests::dim_color_passes_through_indexed_and_reset_unchanged ... ok
[INFO] [stdout] test color::tests::dim_color_scales_rgb_channels_by_the_factor ... ok
[INFO] [stdout] test app::tests::virtual_dir::virtual_directory_navigation_descends_and_exits_with_cursor_restored ... ok
[INFO] [stdout] test color::tests::parses_hex_colors ... ok
[INFO] [stdout] test cli::tests::write_cwd_file_writes_the_display_form_of_the_path ... ok
[INFO] [stdout] test color::tests::parses_light_green_in_both_spellings ... ok
[INFO] [stdout] test color::tests::parses_named_colors_case_insensitively ... ok
[INFO] [stdout] test color::tests::rejects_invalid_input ... ok
[INFO] [stdout] test cli::tests::write_cwd_file_overwrites_existing_content ... ok
[INFO] [stdout] test config::tests::an_ordinary_typo_error_does_not_get_the_unknown_key_hint ... ok
[INFO] [stdout] test config::tests::bindings_section_absent_is_empty ... ok
[INFO] [stdout] test config::tests::bindings_section_parses_action_to_key_array ... ok
[INFO] [stdout] test config::tests::colors_cursor_accepts_hex_color ... ok
[INFO] [stdout] test config::tests::colors_cursor_accepts_named_color ... ok
[INFO] [stdout] test config::tests::colors_cursor_inactive_accepts_hex_color ... ok
[INFO] [stdout] test config::tests::colors_cursor_inactive_accepts_named_color ... ok
[INFO] [stdout] test config::tests::colors_cursor_inactive_invalid_value_is_a_hard_parse_error ... ok
[INFO] [stdout] test config::tests::colors_cursor_invalid_value_is_a_hard_parse_error ... ok
[INFO] [stdout] test config::tests::colors_dim_inactive_can_be_set_to_false ... ok
[INFO] [stdout] test app::tests::virtual_dir::extract_via_copy_copies_marked_entry_to_the_other_panes_real_cwd ... ok
[INFO] [stdout] test config::tests::colors_directory_hidden_executable_accept_named_colors ... ok
[INFO] [stdout] test config::tests::confirm_operations_can_be_set_to_false ... ok
[INFO] [stdout] test config::tests::confirm_quit_absent_defaults_to_true ... ok
[INFO] [stdout] test config::tests::confirm_quit_can_be_set_to_false ... ok
[INFO] [stdout] test config::tests::colors_section_absent_falls_back_to_default_cursor_color ... ok
[INFO] [stdout] test config::tests::colors_dim_inactive_true_round_trips ... ok
[INFO] [stdout] test config::tests::confirm_operations_absent_defaults_to_true ... ok
[INFO] [stdout] test app::tests::virtual_dir::extract_via_copy_of_a_directory_extracts_the_whole_subtree ... ok
[INFO] [stdout] test config::tests::defaults_are_trash_and_empty_keys ... ok
[INFO] [stdout] test config::tests::example_config_bindings_section_matches_the_generated_defaults ... ok
[INFO] [stdout] test config::tests::ensure_config_file_exists_does_not_overwrite_an_existing_file ... ok
[INFO] [stdout] test config::tests::expand_tilde_bare_tilde_becomes_exactly_the_home_dir ... ok
[INFO] [stdout] test config::tests::expand_tilde_leaves_a_relative_non_tilde_path_untouched ... ok
[INFO] [stdout] test config::tests::expand_tilde_leaves_an_absolute_path_untouched ... ok
[INFO] [stdout] test config::tests::expand_tilde_leaves_the_tilde_user_form_untouched ... ok
[INFO] [stdout] test config::tests::expand_tilde_tilde_slash_rest_joins_onto_the_home_dir ... ok
[INFO] [stdout] test config::tests::example_config_toml_parses_cleanly ... ok
[INFO] [stdout] test config::tests::ensure_config_file_exists_creates_parent_dirs_and_writes_the_template ... ok
[INFO] [stdout] test config::tests::expand_tilde_with_no_home_dir_leaves_everything_untouched ... ok
[INFO] [stdout] test config::tests::falls_back_to_home_dot_config_when_xdg_is_relative ... ok
[INFO] [stdout] test config::tests::falls_back_to_home_dot_config_when_xdg_unset ... ok
[INFO] [stdout] test config::tests::malformed_toml_is_an_error_not_defaults ... ok
[INFO] [stdout] test config::tests::load_from_path_malformed_file_is_an_error ... ok
[INFO] [stdout] test config::tests::parse_config_expands_a_tilde_home ... ok
[INFO] [stdout] test config::tests::parse_config_leaves_an_absolute_home_untouched ... ok
[INFO] [stdout] test config::tests::none_when_neither_xdg_nor_home_resolve ... ok
[INFO] [stdout] test config::tests::go_home_with_a_tilde_config_and_a_symlinked_target_jumps_through_the_symlink ... ok
[INFO] [stdout] test config::tests::load_from_path_missing_file_is_default ... ok
[INFO] [stdout] test config::tests::mouse_can_be_set_to_false ... ok
[INFO] [stdout] test config::tests::process_auto_refresh_absent_defaults_to_true ... ok
[INFO] [stdout] test config::tests::load_from_path_parses_an_existing_file ... ok
[INFO] [stdout] test config::tests::parses_a_full_config_toml ... ok
[INFO] [stdout] test config::tests::quit_cd_can_be_set_to_false ... ok
[INFO] [stdout] test config::tests::process_auto_refresh_can_be_set_to_false ... ok
[INFO] [stdout] test config::tests::show_permissions_can_be_set_to_false ... ok
[INFO] [stdout] test config::tests::quit_cd_absent_defaults_to_true ... ok
[INFO] [stdout] test config::tests::viewers_section_absent_is_empty ... ok
[INFO] [stdout] test config::tests::xdg_config_home_takes_priority_when_absolute ... ok
[INFO] [stdout] test config::tests::viewers_section_parses_extension_to_command ... ok
[INFO] [stdout] test diff::tests::addition_and_removal_only ... ok
[INFO] [stdout] test diff::tests::changed_line_produces_headers_hunk_and_both_sides ... ok
[INFO] [stdout] test diff::tests::distant_changes_produce_separate_hunks ... ok
[INFO] [stdout] test entry::tests::dangling_symlink_resolves_to_no_target_and_is_not_dir_like ... ok
[INFO] [stdout] test diff::tests::identical_inputs_produce_an_empty_diff ... ok
[INFO] [stdout] test entry::tests::symlink_is_its_own_kind_not_followed ... ok
[INFO] [stdout] test entry::tests::symlink_to_a_directory_is_never_colored_executable_even_if_target_dir_is_searchable ... ok
[INFO] [stdout] test config::tests::unknown_key_inside_colors_is_a_hard_error_naming_the_key ... ok
[INFO] [stdout] test config::tests::unknown_top_level_key_is_a_hard_error_naming_the_key ... ok
[INFO] [stdout] test entry::tests::reads_files_dirs_and_hidden_flag ... ok
[INFO] [stdout] test entry::tests::executable_bit_marks_a_file_executable_but_not_a_directory ... ok
[INFO] [stdout] test external::tests::base64_encode_matches_known_vectors ... ok
[INFO] [stdout] test external::tests::build_viewer_cmdline_appends_the_path_when_there_is_no_curly_braces ... ok
[INFO] [stdout] test external::tests::base64_encode_round_trips_a_unicode_path ... ok
[INFO] [stdout] test external::tests::build_viewer_cmdline_substitutes_curly_braces ... ok
[INFO] [stdout] test external::tests::build_viewer_cmdline_quotes_a_path_with_spaces ... ok
[INFO] [stdout] test app::tests::git_diff_action::git_diff_on_an_untracked_entry_logs_and_stays_in_normal_mode ... ok
[INFO] [stdout] test entry::tests::symlink_to_a_directory_resolves_target_kind_dir_and_is_dir_like ... ok
[INFO] [stdout] test external::tests::build_viewer_cmdline_substitutes_multiple_curly_braces ... ok
[INFO] [stdout] test entry::tests::symlink_to_an_executable_file_is_colored_executable_by_target_mode ... ok
[INFO] [stdout] test app::tests::git_diff_action::git_diff_on_an_unmarked_entry_logs_and_stays_in_normal_mode ... ok
[INFO] [stdout] test entry::tests::symlink_to_a_file_resolves_target_kind_file_and_is_not_dir_like ... ok
[INFO] [stdout] test external::tests::osc52_copy_sequence_wraps_base64_in_the_osc52_escape ... ok
[INFO] [stdout] test external::tests::shell_quote_escapes_embedded_single_quotes ... ok
[INFO] [stdout] test external::tests::shell_quote_wraps_in_single_quotes ... ok
[INFO] [stdout] test external::tests::suspend_sequence_blanks_the_main_screen_after_leaving_the_alternate_one ... ok
[INFO] [stdout] test external::tests::suspend_sequence_without_clear_on_suspend_only_leaves_the_alternate_screen ... ok
[INFO] [stdout] test entry::tests::symlink_to_a_non_executable_file_is_not_colored_executable ... ok
[INFO] [stdout] test external::tests::unix_shell_command_interactive_adds_dash_i_before_dash_c ... ok
[INFO] [stdout] test external::tests::unix_shell_command_uses_shell_dash_c ... ok
[INFO] [stdout] test external::tests::windows_shell_command_uses_comspec_slash_c ... ok
[INFO] [stdout] test file_search::tests::collect_tree_recurses_and_excludes_the_root_itself ... ok
[INFO] [stdout] test file_search::tests::collect_tree_skips_hidden_entries_and_never_descends_into_hidden_dirs ... ok
[INFO] [stdout] test file_search::tests::collect_tree_truncates_at_max_entries ... ok
[INFO] [stdout] test file_search::tests::display_is_relative_to_the_root ... ok
[INFO] [stdout] test filter::tests::empty_input_means_no_filter ... ok
[INFO] [stdout] test file_search::tests::search_none_spec_matches_everything ... ok
[INFO] [stdout] test filter::tests::raw_preserves_original_typed_text ... ok
[INFO] [stdout] test file_search::tests::search_invalid_regex_matches_nothing_and_carries_the_error ... ok
[INFO] [stdout] test filter::tests::re_prefix_compiles_a_case_sensitive_regex ... ok
[INFO] [stdout] test filter::tests::substring_is_case_insensitive ... ok
[INFO] [stdout] test file_search::tests::search_substring_is_case_insensitive ... ok
[INFO] [stdout] test function_list::tests::matches_config_name_case_insensitively ... ok
[INFO] [stdout] test function_list::tests::empty_query_returns_every_action_in_order ... ok
[INFO] [stdout] test filter::tests::valid_filters_have_no_error ... ok
[INFO] [stdout] test git::tests::conflict_pairs_map_to_conflict ... ok
[INFO] [stdout] test filter::tests::substring_matches_japanese_text ... ok
[INFO] [stdout] test function_list::tests::narrows_to_nothing_when_no_match ... ok
[INFO] [stdout] test function_list::tests::matches_description_case_insensitively ... ok
[INFO] [stdout] test file_search::tests::search_re_prefix_is_a_case_sensitive_regex ... ok
[INFO] [stdout] test git::tests::non_utf8_paths_parse_lossily_without_panicking ... ok
[INFO] [stdout] test git::tests::pane_dir_below_repo_root_rebases_and_filters ... ok
[INFO] [stdout] test git::tests::plain_modified_added_deleted_and_untracked ... ok
[INFO] [stdout] test git::tests::deep_paths_aggregate_onto_the_pane_child_with_priority ... ok
[INFO] [stdout] test git::tests::rename_consumes_the_second_field ... ok
[INFO] [stdout] test git::tests::untracked_directory_entry_keeps_its_own_row ... ok
[INFO] [stdout] test filter::tests::invalid_regex_matches_nothing_but_reports_an_error ... ok
[INFO] [stdout] test git::tests::worktree_side_wins_over_index_side ... ok
[INFO] [stdout] test app::tests::git_diff_action::git_diff_with_empty_output_logs_and_stays_in_normal_mode ... ok
[INFO] [stdout] test git_cmd::tests::literal_pathspec_keeps_glob_metacharacters_verbatim ... ok
[INFO] [stdout] test git_cmd::tests::literal_pathspec_outside_the_dir_falls_back_to_the_file_name ... ok
[INFO] [stdout] test git::tests::empty_output_yields_no_statuses ... ok
[INFO] [stdout] test app::tests::git_diff_action::git_diff_of_a_modified_file_opens_the_viewer_with_diff_syntax ... ok
[INFO] [stdout] test git_cmd::tests::literal_pathspec_relativizes_and_prefixes ... ok
[INFO] [stdout] test help::tests::ends_with_the_modal_key_section ... ok
[INFO] [stdout] test help::tests::fixed_key_lines_document_the_bookmark_reorder_keys ... ok
[INFO] [stdout] test app::tests::git_diff_action::git_diff_handles_a_glob_metacharacter_in_the_file_name ... ok
[INFO] [stdout] test help::tests::reflects_a_keys_override ... ok
[INFO] [stdout] test app::tests::git_diff_action::git_diff_on_a_directory_row_diffs_its_whole_subtree ... ok
[INFO] [stdout] test help::tests::fixed_key_lines_document_the_process_manager_keys ... ok
[INFO] [stdout] test help::tests::skips_an_action_with_zero_combos_bound ... ok
[INFO] [stdout] test keymap::tests::apply_bindings_is_applied_after_keys_and_wins_on_overlap ... ok
[INFO] [stdout] test help::tests::includes_a_multi_bound_action_with_comma_joined_keys ... ok
[INFO] [stdout] test help::tests::reflects_a_bindings_override ... ok
[INFO] [stdout] test keymap::tests::apply_bindings_overrides_whatever_the_combo_previously_held ... ok
[INFO] [stdout] test keymap::tests::apply_bindings_rejects_the_old_enter_and_view_action_names ... ok
[INFO] [stdout] test keymap::tests::apply_bindings_binds_every_listed_combo_to_the_action ... ok
[INFO] [stdout] test keymap::tests::combos_for_an_unbound_action_is_empty ... ok
[INFO] [stdout] test keymap::tests::apply_bindings_rejects_a_bad_combo ... ok
[INFO] [stdout] test keymap::tests::combos_for_lists_every_key_bound_to_an_action_sorted ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_comma_to_edit_config ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_d_and_shift_d_both_to_delete ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_duplicate_and_copy_path ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_enter_and_o_both_to_open ... ok
[INFO] [stdout] test keymap::tests::apply_bindings_rejects_unknown_action_name ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_h_and_question_mark_to_help_and_shift_h_to_history ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_history_bookmark_home_and_external_keys ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_filter_and_zip_keys ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_history_back_and_forward_to_shift_arrows ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_ijkl_navigation_alongside_the_arrows ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_left_right_arrows_to_pane_focus ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_shift_enter_to_open_default_and_keeps_plain_enter ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_shift_up_down_to_top_bottom_and_keeps_home_end ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_show_log_and_function_list_to_shifted_letters ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_r_and_shift_r_both_to_rename ... ok
[INFO] [stdout] test keymap::tests::default_keymap_binds_w_to_swap_panes_and_u_to_unzip ... ok
[INFO] [stdout] test keymap::tests::default_keymap_go_home_is_bound_only_to_tilde ... ok
[INFO] [stdout] test keymap::tests::default_keymap_resolves_core_bindings ... ok
[INFO] [stdout] test keymap::tests::lowercase_k_does_not_conflict_with_shift_k_mkdir ... ok
[INFO] [stdout] test keymap::tests::menu_nav_follows_a_rebind ... ok
[INFO] [stdout] test keymap::tests::menu_nav_maps_only_the_two_cursor_actions ... ok
[INFO] [stdout] test keymap::tests::merge_overrides_rebinds_and_unbinds ... ok
[INFO] [stdout] test keymap::tests::open_default_action_is_unbound_by_default_but_rebindable ... ok
[INFO] [stdout] test keymap::tests::parses_named_keys ... ok
[INFO] [stdout] test keymap::tests::ordered_bindings_lists_every_bound_action_in_category_then_all_order ... ok
[INFO] [stdout] test keymap::tests::merge_overrides_rejects_unknown_action_name ... ok
[INFO] [stdout] test keymap::tests::merge_overrides_rejects_the_old_enter_and_view_action_names ... ok
[INFO] [stdout] test keymap::tests::parses_modifier_prefixes ... ok
[INFO] [stdout] test keymap::tests::parses_single_chars_preserving_case ... ok
[INFO] [stdout] test keymap::tests::quote_toml_string_escapes_backslash_and_quote ... ok
[INFO] [stdout] test keymap::tests::uppercase_combo_matches_a_real_terminal_keypress ... ok
[INFO] [stdout] test keymap::tests::to_bindings_toml_starts_with_the_bindings_header ... ok
[INFO] [stdout] test keymap::tests::to_bindings_toml_emits_valid_toml_for_the_backslash_binding ... ok
[INFO] [stdout] test logwrap::tests::format_timestamp_prefix_is_a_fixed_width_yyyy_mm_dd_hh_mm_ss ... ok
[INFO] [stdout] test keymap::tests::to_bindings_toml_round_trips_through_apply_bindings_to_the_default_keymap ... ok
[INFO] [stdout] test logwrap::tests::wrap_log_lines_hang_indents_continuation_rows_instead_of_repeating_the_timestamp ... ok
[INFO] [stdout] test logwrap::tests::wrap_log_lines_tail_empty_log_is_empty ... ok
[INFO] [stdout] test git_cmd::tests::output_of_a_non_repository_is_none ... ok
[INFO] [stdout] test logwrap::tests::wrap_log_lines_prefixes_the_first_row_with_the_timestamp ... ok
[INFO] [stdout] test keymap::tests::rejects_empty_and_multi_char_garbage ... ok
[INFO] [stdout] test logwrap::tests::wrap_log_lines_tail_matches_the_full_wrap_tail_when_lines_wrap_across_multiple_rows ... ok
[INFO] [stdout] test logwrap::tests::wrap_log_lines_tail_requesting_more_rows_than_exist_returns_everything ... ok
[INFO] [stdout] test logwrap::tests::wrap_log_lines_tail_stops_early_without_touching_lines_entirely_trimmed_away ... ok
[INFO] [stdout] test logwrap::tests::wrap_log_lines_tail_zero_width_is_empty ... ok
[INFO] [stdout] test logwrap::tests::wrap_log_lines_flattens_in_order_and_carries_is_error_per_row ... ok
[INFO] [stdout] test logwrap::tests::wrap_to_width_empty_string_is_one_empty_row ... ok
[INFO] [stdout] test logwrap::tests::wrap_log_lines_tail_zero_needed_rows_is_empty ... ok
[INFO] [stdout] test logwrap::tests::wrap_to_width_leaves_a_short_line_as_one_row ... ok
[INFO] [stdout] test logwrap::tests::wrap_to_width_never_splits_a_wide_japanese_grapheme ... ok
[INFO] [stdout] test logwrap::tests::wrap_to_width_splits_a_long_ascii_line_at_the_width ... ok
[INFO] [stdout] test logwrap::tests::wrap_to_width_zero_width_is_one_empty_row_not_a_panic ... ok
[INFO] [stdout] test logwrap::tests::wrap_log_lines_zero_width_is_empty ... ok
[INFO] [stdout] test mode::tests::backspace_removes_one_grapheme_not_one_byte ... ok
[INFO] [stdout] test mode::tests::cursor_display_col_accounts_for_wide_graphemes ... ok
[INFO] [stdout] test mode::tests::delete_removes_grapheme_after_cursor ... ok
[INFO] [stdout] test mode::tests::insert_and_value_round_trip_ascii ... ok
[INFO] [stdout] test mode::tests::insert_in_the_middle_of_japanese_text ... ok
[INFO] [stdout] test mode::tests::move_left_right_home_end_stay_in_bounds ... ok
[INFO] [stdout] test pane::tests::a_directory_symlink_sorts_with_real_directories_not_files ... ok
[INFO] [stdout] test ops::tests::chmod_sets_rwx_bits_and_preserves_special_bits ... ok
[INFO] [stdout] test ops::tests::create_unique_dir_does_not_reuse_an_existing_file_of_the_same_name ... ok
[INFO] [stdout] test ops::tests::create_unique_dir_uses_the_base_name_when_it_is_free ... ok
[INFO] [stdout] test ops::tests::create_unique_dir_appends_a_numeric_suffix_when_the_name_is_taken ... ok
[INFO] [stdout] test pane::tests::a_file_symlink_sorts_with_files_not_directories ... ok
[INFO] [stdout] test ops::tests::mkdir_creates_directory_and_rejects_duplicate ... ok
[INFO] [stdout] test ops::tests::rename_moves_within_same_directory ... ok
[INFO] [stdout] test ops::tests::mkdir_rejects_empty_and_separator_names ... ok
[INFO] [stdout] test ops::tests::create_symlink_makes_a_link_to_the_absolute_source ... ok
[INFO] [stdout] test ops::tests::set_times_works_on_a_directory ... ok
[INFO] [stdout] test ops::tests::create_symlink_rejects_an_existing_destination ... ok
[INFO] [stdout] test app::tests::git_diff_action::git_diff_covers_the_staged_side_too ... ok
[INFO] [stdout] test pane::tests::dirs_are_grouped_before_files_for_every_sort_key ... ok
[INFO] [stdout] test ops::tests::rename_rejects_empty_unchanged_separator_and_collision ... ok
[INFO] [stdout] test pane::tests::cache_reflects_a_filter_change ... ok
[INFO] [stdout] test pane::tests::a_remembered_entry_that_is_gone_falls_back_to_the_top ... ok
[INFO] [stdout] test pane::tests::cache_reflects_a_reload_that_adds_a_new_file ... ok
[INFO] [stdout] test pane::tests::cache_reflects_a_sort_change ... ok
[INFO] [stdout] test pane::tests::a_jump_restores_the_remembered_position_too ... ok
[INFO] [stdout] test pane::tests::entering_a_dangling_symlink_or_a_file_symlink_does_not_navigate ... ok
[INFO] [stdout] test pane::tests::filter_is_cleared_on_cwd_change ... ok
[INFO] [stdout] test pane::tests::marked_or_cursor_never_includes_parent_row ... ok
[INFO] [stdout] test pane::tests::move_cursor_wrapping_on_empty_listing_is_a_noop ... ok
[INFO] [stdout] test pane::tests::natural_cmp_orders_digit_runs_as_numbers ... ok
[INFO] [stdout] test pane::tests::jump_to_with_an_active_filter_shows_the_full_target_listing ... ok
[INFO] [stdout] test pane::tests::marked_or_cursor_still_returns_marks_hidden_by_the_active_filter ... ok
[INFO] [stdout] test pane::tests::move_cursor_wrapping_wraps_at_both_ends ... ok
[INFO] [stdout] test ops::tests::set_times_updates_the_modified_time ... ok
[INFO] [stdout] test pane::tests::marks_survive_reload_but_clear_on_cwd_change ... ok
[INFO] [stdout] test pane::tests::natural_sort_flag_switches_name_ordering ... ok
[INFO] [stdout] test pane::tests::parent_row_is_never_filtered_out ... ok
[INFO] [stdout] test pane::tests::set_dir_size_ignores_results_for_a_different_directory ... ok
[INFO] [stdout] test pane::tests::only_the_most_recent_visit_is_remembered ... ok
[INFO] [stdout] test pane::tests::cache_reflects_a_hidden_toggle ... ok
[INFO] [stdout] test pane::tests::a_cursor_left_on_the_parent_row_drops_the_remembered_position ... ok
[INFO] [stdout] test pane::tests::go_parent_at_filesystem_root_is_a_no_op ... ok
[INFO] [stdout] test pane::tests::repeated_calls_with_no_mutation_return_the_same_result ... ok
[INFO] [stdout] test pane::tests::sort_key_as_str_round_trips_through_from_str ... ok
[INFO] [stdout] test pane::tests::sort_key_cycles_through_all_variants ... ok
[INFO] [stdout] test pane::tests::sorts_by_extension_then_name ... ok
[INFO] [stdout] test pane::tests::sorts_by_mtime ... ok
[INFO] [stdout] test pane::tests::sorts_by_name_case_insensitively ... ok
[INFO] [stdout] test pane::tests::set_dir_size_stamps_entry_survives_reload_and_clears_on_navigation ... ok
[INFO] [stdout] test pane::tests::sorts_by_size ... ok
[INFO] [stdout] test pane::tests::set_filter_clamps_cursor_when_the_visible_list_shrinks ... ok
[INFO] [stdout] test pane::tests::set_filter_matches_japanese_substrings ... ok
[INFO] [stdout] test pane::tests::set_sort_applies_key_and_direction ... ok
[INFO] [stdout] test persist::tests::bookmarks_add_dedups ... ok
[INFO] [stdout] test persist::tests::bookmarks_move_at_either_end_is_a_no_op ... ok
[INFO] [stdout] test persist::tests::bookmarks_move_out_of_range_is_a_no_op ... ok
[INFO] [stdout] test persist::tests::bookmarks_move_swaps_with_the_neighbour ... ok
[INFO] [stdout] test pane::tests::toggle_mark_cursor_on_parent_row_is_a_no_op ... ok
[INFO] [stdout] test pane::tests::toggle_hidden_shows_and_hides_dotfiles ... ok
[INFO] [stdout] test pane::tests::descending_with_an_active_filter_shows_the_full_new_listing ... ok
[INFO] [stdout] test pane::tests::toggle_mark_all_marks_then_unmarks_every_real_entry ... ok
[INFO] [stdout] test persist::tests::bookmarks_paths_are_a_hash_set_free_ordered_list ... ok
[INFO] [stdout] test pane::tests::cursor_memory_restores_position_on_go_parent ... ok
[INFO] [stdout] test persist::tests::bookmarks_remove_path_removes_and_reports ... ok
[INFO] [stdout] test pane::tests::cursor_position_inside_a_directory_is_restored_when_it_is_re_entered ... ok
[INFO] [stdout] test pane::tests::marked_or_cursor_prefers_marks_over_cursor ... ok
[INFO] [stdout] test persist::tests::history_left_and_right_rings_are_independent ... ok
[INFO] [stdout] test persist::tests::history_record_dedups_and_moves_to_front ... ok
[INFO] [stdout] test pane::tests::entering_a_directory_symlink_descends_using_the_links_own_path_not_the_target ... ok
[INFO] [stdout] test pane::tests::turning_cursor_memory_off_drops_what_was_already_remembered ... ok
[INFO] [stdout] test persist::tests::history_record_caps_ring_length ... ok
[INFO] [stdout] test pane::tests::marked_or_cursor_falls_back_to_cursor_when_no_marks ... ok
[INFO] [stdout] test persist::tests::unix_data_dir_falls_back_to_home_local_share ... ok
[INFO] [stdout] test persist::tests::missing_file_is_empty_with_no_warning ... ok
[INFO] [stdout] test persist::tests::sort_prefs_record_dedups_and_moves_to_front ... ok
[INFO] [stdout] test process::tests::accepts_a_line_whose_command_field_is_empty ... ok
[INFO] [stdout] test pane::tests::toggle_mark_cursor_marks_and_advances ... ok
[INFO] [stdout] test persist::tests::unix_data_dir_ignores_relative_xdg_data_home ... ok
[INFO] [stdout] test persist::tests::persist_round_trips_a_reordered_bookmark_list ... ok
[INFO] [stdout] test pane::tests::set_filter_narrows_visible_entries ... ok
[INFO] [stdout] test persist::tests::persist_round_trips_bookmarks_through_a_tempdir ... ok
[INFO] [stdout] test persist::tests::persist_round_trips_history_through_a_tempdir ... ok
[INFO] [stdout] test persist::tests::sort_prefs_round_trip_through_a_tempdir ... ok
[INFO] [stdout] test persist::tests::corrupt_json_falls_back_to_empty_with_a_warning ... ok
[INFO] [stdout] test persist::tests::unix_data_dir_prefers_absolute_xdg_data_home ... ok
[INFO] [stdout] test pane::tests::with_cursor_memory_off_every_arrival_starts_at_the_top ... ok
[INFO] [stdout] test process::tests::send_signal_refuses_a_pid_that_does_not_fit_in_pid_t ... ok
[INFO] [stdout] test process::tests::an_unparsable_etime_becomes_none ... ok
[INFO] [stdout] test process::tests::derives_the_display_name_from_argv_zeros_basename ... ok
[INFO] [stdout] test process::tests::equal_rows_keep_a_stable_pid_order_regardless_of_direction ... ok
[INFO] [stdout] test process::tests::send_signal_refuses_pid_one ... ok
[INFO] [stdout] test process::tests::ignores_blank_and_whitespace_only_lines_without_counting_them ... ok
[INFO] [stdout] test process::tests::keeps_a_command_line_containing_spaces_intact_as_the_last_field ... ok
[INFO] [stdout] test process::tests::parses_a_macos_ps_line_whose_command_is_an_absolute_path ... ok
[INFO] [stdout] test process::tests::parses_a_typical_linux_ps_line_into_every_column ... ok
[INFO] [stdout] test process::tests::parses_etime_in_mm_ss_hh_mm_ss_and_dd_hh_mm_ss_forms ... ok
[INFO] [stdout] test process::tests::processes_with_an_unparsable_etime_sort_last_in_both_directions ... ok
[INFO] [stdout] test process::tests::reanchor_cursor_clamps_to_the_new_length_when_the_anchor_pid_is_gone ... ok
[INFO] [stdout] test process::tests::send_signal_refuses_pid_zero_so_it_can_never_hit_the_whole_process_group ... ok
[INFO] [stdout] test process::tests::reanchor_cursor_follows_the_same_pid_when_rows_move ... ok
[INFO] [stdout] test persist::tests::sort_prefs_record_caps_length ... ok
[INFO] [stdout] test process::tests::skips_a_line_with_too_few_columns_and_counts_it_as_skipped ... ok
[INFO] [stdout] test process::tests::sorting_by_cpu_descending_puts_the_busiest_process_first ... ok
[INFO] [stdout] test process::tests::sorting_by_name_is_case_insensitive_and_breaks_ties_by_pid ... ok
[INFO] [stdout] test process::tests::sorting_by_rss_orders_numerically_not_lexically ... ok
[INFO] [stdout] test process::tests::skips_a_header_line_whose_first_column_is_not_a_numeric_pid ... ok
[INFO] [stdout] test process::tests::strips_the_brackets_from_a_linux_kernel_thread_name ... ok
[INFO] [stdout] test search::tests::begin_opens_editing_and_remembers_the_previous_search ... ok
[INFO] [stdout] test search::tests::handle_input_key_enter_on_empty_pattern_cancels ... ok
[INFO] [stdout] test process::tests::truncates_a_pathologically_long_command_line_to_the_cap ... ok
[INFO] [stdout] test process::tests::send_signal_terminates_a_child_process ... ok
[INFO] [stdout] test process::tests::the_default_direction_is_descending_for_usage_columns_only ... ok
[INFO] [stdout] test search::tests::nearest_match_backward_wraps_to_the_last_match ... ok
[INFO] [stdout] test search::tests::handle_input_key_esc_restores_the_previous_search ... ok
[INFO] [stdout] test process::tests::truncating_a_command_line_never_splits_a_multibyte_character ... ok
[INFO] [stdout] test search::tests::run_reports_no_matches_as_err_and_leaves_idle ... ok
[INFO] [stdout] test search::tests::handle_input_key_types_then_confirms_on_enter ... ok
[INFO] [stdout] test search::tests::step_on_idle_search_is_a_no_op ... ok
[INFO] [stdout] test search::tests::nearest_match_forward_wraps_to_the_first_match ... ok
[INFO] [stdout] test search::tests::step_reverse_steps_backward ... ok
[INFO] [stdout] test settings::tests::combo_is_representable_accepts_ordinary_keys ... ok
[INFO] [stdout] test search::tests::step_advances_and_wraps ... ok
[INFO] [stdout] test search::tests::run_finds_matches_and_activates_the_search ... ok
[INFO] [stdout] test settings::tests::conflicting_action_is_none_for_an_unbound_combo ... ok
[INFO] [stdout] test settings::tests::conflicting_action_finds_the_current_owner_of_a_default_combo ... ok
[INFO] [stdout] test settings::tests::conflicting_action_is_none_when_the_action_already_owns_it ... ok
[INFO] [stdout] test settings::tests::display_color_prefers_the_palette_name_over_hex ... ok
[INFO] [stdout] test settings::tests::combo_is_representable_rejects_keys_format_combo_cannot_round_trip ... ok
[INFO] [stdout] test settings::tests::display_bool_reads_on_off ... ok
[INFO] [stdout] test settings::tests::every_static_item_renders_a_value ... ok
[INFO] [stdout] test settings::tests::item_value_display_reads_colors_from_the_colors_table ... ok
[INFO] [stdout] test settings::tests::item_value_display_reads_every_behavior_item_from_config ... ok
[INFO] [stdout] test settings::tests::item_value_display_reads_startup_optional_text ... ok
[INFO] [stdout] test settings::tests::display_optional_text_shows_a_placeholder_when_unset ... ok
[INFO] [stdout] test settings::tests::add_binding_appends_to_the_bindings_array_creating_it_if_needed ... ok
[INFO] [stdout] test tasks::archive::tests::entry_name_is_relative_to_targets_parent_with_forward_slashes ... ok
[INFO] [stdout] test settings::tests::add_binding_does_not_duplicate_an_already_present_combo ... ok
[INFO] [stdout] test settings::tests::remove_binding_falls_back_to_keys_none_for_a_default_combo ... ok
[INFO] [stdout] test settings::tests::remove_binding_overwrites_an_existing_keys_entry_for_the_same_combo ... ok
[INFO] [stdout] test tasks::archive::tests::is_valid_utf8_name_detects_non_utf8_bytes ... ok
[INFO] [stdout] test settings::tests::remove_binding_removes_from_bindings_array_when_present_there ... ok
[INFO] [stdout] test settings::tests::save_bool_preserves_comments_and_only_changes_the_target_key ... ok
[INFO] [stdout] test settings::tests::save_color_by_palette_name_writes_the_name_not_hex ... ok
[INFO] [stdout] test settings::tests::save_optional_text_writes_and_clears ... ok
[INFO] [stdout] test settings::tests::save_color_creates_the_colors_table_if_missing_and_preserves_other_content ... ok
[INFO] [stdout] test process::tests::signalling_a_pid_that_does_not_exist_is_an_error_rather_than_a_panic ... ok
[INFO] [stdout] test tasks::archive::tests::extract_collisions_reports_existing_names_only ... ok
[INFO] [stdout] test settings::tests::save_viewer_entry_adds_and_removes ... ok
[INFO] [stdout] test tasks::archive::tests::cancel_flag_set_before_start_aborts_zip_immediately ... ok
[INFO] [stdout] test settings::tests::save_viewer_entry_renaming_removes_the_old_extension ... ok
[INFO] [stdout] test settings::tests::remove_binding_deletes_the_array_entirely_once_empty ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_logs_and_skips_a_target_missing_from_a_tar_archive ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_extracts_a_single_file_from_a_tar_archive ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_extracts_a_whole_subtree_from_a_tar_archive ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_logs_and_skips_symlink_entries_in_a_tar_archive ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_logs_and_skips_a_target_missing_from_the_archive ... ok
[INFO] [stdout] test settings::tests::steal_sequence_moves_a_combo_from_one_action_to_another ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_on_a_single_gz_writes_the_payload_to_disk ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_all_without_a_password_fails_cleanly_on_an_encrypted_zip ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_all_rejects_a_tar_slip_entry ... ok
[INFO] [stdout] test tasks::archive::tests::zip_slip_entries_are_rejected_not_written_outside_dest ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_rejects_tar_slip_entries_within_the_extracted_subtree ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_rejects_zip_slip_entries_within_the_extracted_subtree ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_all_extracts_a_whole_tar_at_its_own_relative_paths ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_extracts_a_single_file ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_reads_an_encrypted_zip_with_the_password ... ok
[INFO] [stdout] test tasks::copy_move::tests::move_via_copy_then_delete_simulates_the_exdev_fallback ... ok
[INFO] [stdout] test tasks::archive::tests::zip_then_unzip_round_trips_a_nested_tree_with_japanese_names ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_extracts_a_whole_subtree_under_its_own_name ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_from_a_compressed_tar_gz_archive_round_trips ... ok
[INFO] [stdout] test tasks::copy_move::tests::run_move_relocates_and_removes_source ... ok
[INFO] [stdout] test tasks::delete::tests::permanent_delete_cancel_flag_set_before_start_aborts_immediately ... ok
[INFO] [stdout] test tasks::delete::tests::permanent_delete_partial_failure_is_logged_and_reported ... ok
[INFO] [stdout] test tasks::copy_move::tests::run_copy_reports_monotonic_progress_and_finishes_ok ... ok
[INFO] [stdout] test tasks::process_list::tests::a_cancelled_probe_reports_cancelled_without_a_snapshot ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_all_extracts_an_encrypted_zip_with_the_password ... ok
[INFO] [stdout] test tasks::delete::tests::permanent_delete_removes_files_and_dirs_with_monotonic_progress ... ok
[INFO] [stdout] test tasks::copy_move::tests::run_copy_recurses_into_directories_preserving_structure ... ok
[INFO] [stdout] test tasks::copy_move::tests::cancel_flag_set_before_start_aborts_immediately ... ok
[INFO] [stdout] test tasks::dir_size::tests::sums_files_recursively_and_reports_per_dir ... ok
[INFO] [stdout] test tasks::sync::tests::cancel_before_start_reports_cancelled_and_copies_nothing ... ok
[INFO] [stdout] test tasks::copy_move::tests::find_collisions_reports_only_existing_destinations ... ok
[INFO] [stdout] test tasks::sync::tests::mirror_keeps_same_named_directories_and_their_synced_contents ... ok
[INFO] [stdout] test tasks::sync::tests::mirror_replaces_kind_mismatch ... ok
[INFO] [stdout] test tasks::sync::tests::symlinks_are_synced_as_links_and_retargeted_when_different ... ok
[INFO] [stdout] test tasks::sync::tests::mtime_within_tolerance_does_not_recopy ... ok
[INFO] [stdout] test tasks::tests::apply_event_finished_err_is_flagged_as_error ... ok
[INFO] [stdout] test tasks::dir_size::tests::cancel_reports_cancelled_without_dir_size ... ok
[INFO] [stdout] test tasks::sync::tests::mirror_deletes_extra_files_and_directories ... ok
[INFO] [stdout] test tasks::archive::tests::run_extract_all_skips_zip_symlink_entries ... ok
[INFO] [stdout] test tasks::sync::tests::update_never_deletes_extra_destination_files ... ok
[INFO] [stdout] test tasks::tests::apply_event_finished_removes_task_and_summarizes ... ok
[INFO] [stdout] test tasks::sync::tests::summary_counts_copies_and_bytes ... ok
[INFO] [stdout] test tasks::sync::tests::update_skips_kind_mismatch_and_reports_it ... ok
[INFO] [stdout] test tasks::copy_move::tests::run_copy_honors_an_exact_renamed_destination ... ok
[INFO] [stdout] test tasks::sync::tests::update_copies_missing_files_and_nested_structure ... ok
[INFO] [stdout] test tasks::copy_move::tests::partial_failure_is_reported_as_finished_err_with_detail ... ok
[INFO] [stdout] test tasks::tests::throttle_allows_again_once_interval_elapses ... ok
[INFO] [stdout] test tasks::tests::task_ids_order_by_creation ... ok
[INFO] [stdout] test tasks::tests::throttle_allows_first_call_then_blocks_within_interval ... ok
[INFO] [stdout] test terminal::tests::mouse_capture_needs_sync_only_when_the_states_differ ... ok
[INFO] [stdout] test tasks::sync::tests::update_overwrites_older_dest_but_leaves_newer_dest_alone ... ok
[INFO] [stdout] test terminal::tests::startup_and_teardown_sequences_are_symmetric_round_trips ... ok
[INFO] [stdout] test terminal::tests::startup_sequence_pushes_keyboard_flags_after_entering_the_alternate_screen ... ok
[INFO] [stdout] test terminal::tests::startup_sequence_without_keyboard_enhancement_only_enters_the_alternate_screen ... ok
[INFO] [stdout] test terminal::tests::teardown_sequence_still_emits_the_defense_in_depth_pop_even_when_never_active ... ok
[INFO] [stdout] test terminal::tests::teardown_sequence_pops_keyboard_flags_before_leaving_the_alternate_screen ... ok
[INFO] [stdout] test ui::log_view::tests::bottom_anchoring_with_more_rows_available_than_content_keeps_everything ... ok
[INFO] [stdout] test ui::log_view::tests::bottom_anchoring_keeps_the_newest_wrapped_rows ... ok
[INFO] [stdout] test ui::log_view::tests::log_view_start_home_sentinel_scrolls_all_the_way_to_the_top ... ok
[INFO] [stdout] test ui::help_view::tests::footer_shows_search_prompt_hint ... ok
[INFO] [stdout] test ui::file_search_view::tests::enter_run_mode_flags_stale_results_in_the_title ... ok
[INFO] [stdout] test ui::help_view::tests::render_highlights_an_active_search_match ... ok
[INFO] [stdout] test ui::file_search_view::tests::popup_shows_title_hits_and_relative_paths ... ok
[INFO] [stdout] test ui::log_view::tests::log_view_start_saturates_at_zero_rather_than_underflowing ... ok
[INFO] [stdout] test ui::log_view::tests::log_view_start_scrolls_up_by_the_requested_amount ... ok
[INFO] [stdout] test tasks::copy_move::tests::copy_preserves_source_permissions_on_both_the_small_and_chunked_paths ... ok
[INFO] [stdout] test ui::file_search_view::tests::invalid_regex_shows_a_red_error_line ... ok
[INFO] [stdout] test ui::file_search_view::tests::truncated_snapshot_is_flagged_in_the_title ... ok
[INFO] [stdout] test ui::help_view::tests::render_draws_no_border_characters ... ok
[INFO] [stdout] test ui::log_view::tests::log_view_start_at_zero_scroll_is_bottom_anchored ... ok
[INFO] [stdout] test tasks::process_list::tests::running_ps_reports_a_snapshot_containing_this_test_process ... ok
[INFO] [stdout] test ui::modal::tests::history_menu_stays_unpaged_and_unnumbered ... ok
[INFO] [stdout] test ui::modal::tests::bookmark_menu_draws_one_numbered_page_with_a_page_indicator ... ok
[INFO] [stdout] test ui::modal::tests::archive_password_prompt_masks_the_typed_value ... ok
[INFO] [stdout] test ui::modal::tests::render_prompt_box_cursor_sits_at_the_end_of_the_typed_text ... ok
[INFO] [stdout] test ui::log_view::tests::log_view_start_when_content_fits_the_viewport_is_always_zero ... ok
[INFO] [stdout] test ui::modal::tests::bookmark_menu_last_page_is_short_and_still_indexed_from_one ... ok
[INFO] [stdout] test ui::modal::tests::bookmark_menu_page_follows_the_cursor ... ok
[INFO] [stdout] test ui::modal::tests::render_prompt_box_long_input_scrolls_so_the_cursor_stays_visible ... ok
[INFO] [stdout] test ui::modal::tests::render_prompt_box_shows_the_title_and_content_roughly_centered ... ok
[INFO] [stdout] test ui::pane_view::tests::cursor_row_style_background_is_actually_darker_not_just_dim_flagged ... ok
[INFO] [stdout] test ui::pane_view::tests::cursor_row_style_dims_when_pane_is_dimmed ... ok
[INFO] [stdout] test ui::log_view::tests::render_full_draws_no_border_characters ... ok
[INFO] [stdout] test ui::pane_view::tests::cursor_row_style_does_not_dim_when_pane_is_not_dimmed ... ok
[INFO] [stdout] test ui::pane_view::tests::cursor_row_style_ignores_type_color ... ok
[INFO] [stdout] test ui::pane_view::tests::format_permissions_dispatches_on_unix_mode_presence ... ok
[INFO] [stdout] test ui::pane_view::tests::format_free_space_matches_dyna_style_significant_figures ... ok
[INFO] [stdout] test ui::pane_view::tests::format_row_shows_dir_size_for_a_directory_symlink_and_appends_the_link_marker ... ok
[INFO] [stdout] test ui::pane_view::tests::entry_type_color_precedence_is_hidden_then_executable_then_directory ... ok
[INFO] [stdout] test ui::pane_view::tests::entry_type_color_treats_a_directory_symlink_like_a_directory ... ok
[INFO] [stdout] test ui::modal::tests::render_prompt_box_titles_match_every_prompt_kind ... ok
[INFO] [stdout] test ui::pane_view::tests::format_row_marks_prepend_asterisk ... ok
[INFO] [stdout] test ui::pane_view::tests::format_row_never_appends_the_link_marker_to_a_real_directory_or_file ... ok
[INFO] [stdout] test ui::pane_view::tests::group_thousands_places_commas_correctly ... ok
[INFO] [stdout] test ui::pane_view::tests::format_row_drops_permissions_column_when_show_perms_col_is_false ... ok
[INFO] [stdout] test ui::pane_view::tests::format_row_shows_dir_size_override_in_place_of_dir_marker ... ok
[INFO] [stdout] test ui::pane_view::tests::format_row_shows_human_size_for_a_file_symlink_and_still_appends_the_link_marker ... ok
[INFO] [stdout] test ui::pane_view::tests::human_size_formats_common_ranges ... ok
[INFO] [stdout] test ui::pane_view::tests::marked_row_style_dims_when_pane_is_dimmed ... ok
[INFO] [stdout] test ui::pane_view::tests::header_info_line_keeps_the_free_cell_when_the_branch_is_too_long ... ok
[INFO] [stdout] test ui::pane_view::tests::marked_row_style_wins_over_type_color ... ok
[INFO] [stdout] test ui::pane_view::tests::header_info_line_puts_branch_left_and_free_space_right ... ok
[INFO] [stdout] test ui::pane_view::tests::plain_row_style_dims_when_pane_is_dimmed ... ok
[INFO] [stdout] test ui::pane_view::tests::plain_row_style_is_bare_when_not_dimmed ... ok
[INFO] [stdout] test ui::pane_view::tests::plain_row_style_applies_type_color_and_combines_with_dim ... ok
[INFO] [stdout] test ui::pane_view::tests::format_row_parent_row_has_no_size_or_mtime ... ok
[INFO] [stdout] test ui::pane_view::tests::windows_permission_string_is_compact ... ok
[INFO] [stdout] test ui::pane_view::tests::format_size_dispatches_all_three_formats ... ok
[INFO] [stdout] test ui::pane_view::tests::unix_permission_string_formats_dir_and_bits ... ok
[INFO] [stdout] test ui::pane_view::tests::size_col_width_fits_the_widest_rendered_value ... ok
[INFO] [stdout] test ui::process_view::tests::the_kill_confirmation_box_names_the_target_pid_and_signal ... ok
[INFO] [stdout] test ui::pane_view::tests::render_inactive_dimmed_cursor_row_background_is_darker_than_active ... ok
[INFO] [stdout] test ui::process_view::tests::the_loading_state_says_so_instead_of_showing_an_empty_list ... ok
[INFO] [stdout] test ui::process_view::tests::the_process_view_renders_a_header_row_and_one_row_per_process ... ok
[INFO] [stdout] test ui::process_view::tests::a_ps_failure_is_shown_in_the_footer_with_the_previous_rows_still_listed ... ok
[INFO] [stdout] test ui::process_view::tests::the_process_view_truncates_a_long_command_instead_of_wrapping ... ok
[INFO] [stdout] test ui::process_view::tests::the_process_view_scrolls_to_keep_a_far_cursor_visible ... ok
[INFO] [stdout] test ui::process_view::tests::the_title_shows_the_current_sort_key_and_direction ... ok
[INFO] [stdout] test ui::settings_view::tests::keybinding_confirm_names_the_losing_action_on_a_conflict ... ok
[INFO] [stdout] test ui::settings_view::tests::categories_screen_lists_every_category ... ok
[INFO] [stdout] test ui::process_view::tests::the_reported_rows_area_starts_below_the_title_and_column_header ... ok
[INFO] [stdout] test ui::settings_view::tests::behavior_items_screen_shows_current_on_off_values ... ok
[INFO] [stdout] test ui::text::tests::pad_label_min1_always_adds_at_least_one_space ... ok
[INFO] [stdout] test ui::text::tests::pad_left_pads_on_the_left ... ok
[INFO] [stdout] test ui::process_view::tests::the_reported_start_follows_the_scrolled_window ... ok
[INFO] [stdout] test ui::text::tests::pad_right_accounts_for_wide_characters ... ok
[INFO] [stdout] test ui::text::tests::pad_right_is_noop_when_already_wide_enough ... ok
[INFO] [stdout] test ui::text::tests::slice_display_cols_clips_to_width ... ok
[INFO] [stdout] test ui::text::tests::slice_display_cols_applies_horizontal_offset ... ok
[INFO] [stdout] test ui::text::tests::slice_display_cols_offset_past_end_is_empty ... ok
[INFO] [stdout] test ui::text::tests::slice_display_cols_respects_wide_japanese_graphemes ... ok
[INFO] [stdout] test ui::text::tests::slice_display_cols_returns_whole_line_when_it_fits ... ok
[INFO] [stdout] test ui::text::tests::truncate_middle_favors_the_tail ... ok
[INFO] [stdout] test ui::text::tests::truncate_middle_is_grapheme_safe_for_wide_chars ... ok
[INFO] [stdout] test ui::settings_view::tests::keybindings_items_screen_shows_settings_own_default_combo ... ok
[INFO] [stdout] test ui::text::tests::truncate_middle_keeps_head_and_tail_with_ellipsis_between ... ok
[INFO] [stdout] test ui::text::tests::truncate_middle_returns_short_strings_unchanged ... ok
[INFO] [stdout] test ui::text::tests::truncate_middle_tiny_budgets_degrade_gracefully ... ok
[INFO] [stdout] test ui::text::tests::truncate_right_keeps_ascii_untouched_when_it_fits ... ok
[INFO] [stdout] test ui::tests::prompt_mode_leaves_the_bottom_status_bar_showing_the_normal_status_not_the_old_inline_input ... ok
[INFO] [stdout] test ui::text::tests::truncate_right_never_splits_a_japanese_grapheme ... ok
[INFO] [stdout] test ui::viewer_view::tests::highlighted_segments_coalesces_adjacent_matches_into_one_run ... ok
[INFO] [stdout] test ui::settings_view::tests::text_editor_shows_the_input_and_positions_the_cursor ... ok
[INFO] [stdout] test ui::viewer_view::tests::highlighted_segments_on_japanese_text_never_splits_a_grapheme ... ok
[INFO] [stdout] test ui::viewer_view::tests::highlighted_segments_respects_horizontal_scroll_and_width ... ok
[INFO] [stdout] test ui::viewer_view::tests::highlighted_segments_splits_into_unmatched_matched_unmatched_runs ... ok
[INFO] [stdout] test ui::viewer_view::tests::highlighted_segments_with_no_matches_is_one_unmatched_run ... ok
[INFO] [stdout] test ui::settings_view::tests::keybindings_items_screen_scrolls_to_keep_a_far_cursor_visible ... ok
[INFO] [stdout] test ui::viewer_view::tests::highlighted_segments_zero_width_is_empty ... ok
[INFO] [stdout] test ui::viewer_view::tests::render_backward_editing_search_shows_a_question_mark_prompt ... ok
[INFO] [stdout] test ui::viewer_view::tests::render_draws_no_border_characters ... ok
[INFO] [stdout] test ui::viewer_view::tests::slice_display_cols_clips_to_width ... ok
[INFO] [stdout] test ui::viewer_view::tests::render_editing_search_shows_the_prompt_and_typed_pattern_in_the_footer_row ... ok
[INFO] [stdout] test ui::viewer_view::tests::render_active_search_that_wrapped_shows_the_wrap_notice_in_the_footer ... ok
[INFO] [stdout] test ui::viewer_view::tests::render_active_search_shows_pattern_and_match_count_in_the_footer ... ok
[INFO] [stdout] test ui::viewer_view::tests::slice_display_cols_respects_wide_japanese_graphemes ... ok
[INFO] [stdout] test ui::viewer_view::tests::render_marks_search_matches_in_reverse_video ... ok
[INFO] [stdout] test update::tests::decide_update_newer_remote_version_installs ... ok
[INFO] [stdout] test update::tests::decide_update_newer_remote_version_installs_with_force_too ... ok
[INFO] [stdout] test update::tests::decide_update_same_version_with_force_installs_anyway ... ok
[INFO] [stdout] test update::tests::decide_update_same_version_without_force_is_already_latest ... ok
[INFO] [stdout] test update::tests::decide_update_unknown_remote_version_always_installs ... ok
[INFO] [stdout] test viewer::tests::expand_tabs_pads_to_next_tab_stop ... ok
[INFO] [stdout] test viewer::tests::format_hex_line_full_row_matches_xxd_style_layout ... ok
[INFO] [stdout] test viewer::tests::format_hex_line_non_printable_bytes_show_as_dot ... ok
[INFO] [stdout] test viewer::tests::format_hex_lines_matches_format_hex_line_row_by_row ... ok
[INFO] [stdout] test viewer::tests::format_hex_line_partial_last_line_pads_hex_but_not_ascii_gutter ... ok
[INFO] [stdout] test viewer::tests::binary_file_with_nul_byte_opens_in_hex_mode_not_rejected ... ok
[INFO] [stdout] test viewer::tests::matcher_find_ranges_empty_needle_matches_nothing ... ok
[INFO] [stdout] test viewer::tests::matcher_build_falls_back_to_literal_on_invalid_regex ... ok
[INFO] [stdout] test viewer::tests::matcher_build_prefers_a_valid_regex ... ok
[INFO] [stdout] test viewer::tests::loads_japanese_text_lossless ... ok
[INFO] [stdout] test viewer::tests::matcher_find_ranges_locates_every_match_by_byte_offset ... ok
[INFO] [stdout] test viewer::tests::loads_plain_text_lines ... ok
[INFO] [stdout] test virtual_dir::tests::archive_stem_falls_back_to_the_whole_name ... ok
[INFO] [stdout] test virtual_dir::tests::archive_stem_is_case_insensitive_like_detect_archive_kind ... ok
[INFO] [stdout] test viewer::tests::matcher_find_ranges_on_japanese_text ... ok
[INFO] [stdout] test viewer::tests::matcher_is_match_is_case_insensitive_for_both_kinds ... ok
[INFO] [stdout] test viewer::tests::non_utf8_bytes_are_decoded_lossily_not_rejected ... ok
[INFO] [stdout] test virtual_dir::tests::archive_stem_strips_the_whole_compound_suffix ... ok
[INFO] [stdout] test viewer::tests::nul_byte_beyond_sniff_window_is_not_detected ... ok
[INFO] [stdout] test viewer::tests::matcher_hex_dump_search_matches_the_formatted_line ... ok
[INFO] [stdout] test virtual_dir::tests::detect_archive_kind_matches_zip_and_every_tar_variant_case_insensitively ... ok
[INFO] [stdout] test virtual_dir::tests::header_label_at_archive_root_shows_a_bare_slash ... ok
[INFO] [stdout] test virtual_dir::tests::header_label_formats_archive_and_inner_path ... ok
[INFO] [stdout] test tasks::tests::apply_event_progress_updates_running_task ... ok
[INFO] [stdout] test virtual_dir::tests::cloning_a_virtual_dir_shares_the_same_cache ... ok
[INFO] [stdout] test virtual_dir::tests::extract_single_to_memory_from_tar_errors_on_a_missing_entry ... ok
[INFO] [stdout] test virtual_dir::tests::is_archive_file_matches_any_recognized_format ... ok
[INFO] [stdout] test virtual_dir::tests::extract_single_to_memory_errors_on_a_missing_entry ... ok
[INFO] [stdout] test virtual_dir::tests::extract_single_to_memory_reads_the_full_small_file ... ok
[INFO] [stdout] test virtual_dir::tests::enclosed_tar_path_rejects_parent_dir_and_absolute_paths ... ok
[INFO] [stdout] test virtual_dir::tests::listing_a_directory_with_no_entries_is_empty ... ok
[INFO] [stdout] test virtual_dir::tests::extract_single_to_memory_truncates_at_the_cap ... ok
[INFO] [stdout] test virtual_dir::tests::list_reuses_the_cache_even_after_the_archive_file_is_deleted ... ok
[INFO] [stdout] test virtual_dir::tests::encrypted_zip_lists_without_a_password ... ok
[INFO] [stdout] test virtual_dir::tests::list_refreshes_when_the_archive_is_replaced_with_different_content ... ok
[INFO] [stdout] test virtual_dir::tests::nested_listing_synthesizes_intermediate_directories ... ok
[INFO] [stdout] test virtual_dir::tests::root_listing_has_one_file_and_one_synthesized_dir ... ok
[INFO] [stdout] test virtual_dir::tests::single_extract_of_a_wrong_inner_name_fails ... ok
[INFO] [stdout] test virtual_dir::tests::encrypted_zip_read_without_password_is_password_required ... ok
[INFO] [stdout] test virtual_dir::tests::extract_single_to_memory_from_tar_truncates_at_the_cap ... ok
[INFO] [stdout] test virtual_dir::tests::plain_entries_in_a_zip_still_read_when_a_password_is_supplied ... ok
[INFO] [stdout] test virtual_dir::tests::single_bz2_lists_one_entry_with_unknown_size_and_extracts ... ok
[INFO] [stdout] test virtual_dir::tests::single_gz_respects_the_size_cap_and_reports_truncation ... ok
[INFO] [stdout] test virtual_dir::tests::single_gz_lists_one_entry_with_isize_and_extracts ... ok
[INFO] [stdout] test virtual_dir::tests::tar_listing_handles_japanese_names ... ok
[INFO] [stdout] test virtual_dir::tests::encrypted_zip_reads_with_the_right_password_and_rejects_a_wrong_one ... ok
[INFO] [stdout] test virtual_dir::tests::tar_nested_listing_synthesizes_intermediate_directories ... ok
[INFO] [stdout] test virtual_dir::tests::tar_root_listing_has_one_file_and_one_synthesized_dir ... ok
[INFO] [stdout] test virtual_dir::tests::tar_listing_shows_symlink_entries_visibly ... ok
[INFO] [stdout] test xdg::tests::env_dir_takes_priority_when_absolute ... ok
[INFO] [stdout] test virtual_dir::tests::tar_xz_listing_and_extraction_work ... ok
[INFO] [stdout] test virtual_dir::tests::zip_slip_entries_are_excluded_from_the_listing ... ok
[INFO] [stdout] test virtual_dir::tests::tar_slip_entries_are_excluded_from_the_listing ... ok
[INFO] [stdout] test xdg::tests::falls_back_to_home_and_fallback_subpath_when_env_dir_unset ... ok
[INFO] [stdout] test xdg::tests::falls_back_to_home_when_env_dir_is_relative ... ok
[INFO] [stdout] test xdg::tests::honors_whichever_home_fallback_subpath_the_caller_passes ... ok
[INFO] [stdout] test xdg::tests::none_when_neither_env_dir_nor_home_resolve ... ok
[INFO] [stdout] test virtual_dir::tests::tar_gz_and_tgz_listings_match_the_uncompressed_equivalent ... ok
[INFO] [stdout] test watcher::tests::a_real_watch_reports_a_file_created_in_the_watched_directory ... ok
[INFO] [stdout] test watcher::tests::sync_reports_a_path_that_cannot_be_watched_and_does_not_retry_it ... ok
[INFO] [stdout] test virtual_dir::tests::tar_bz2_listing_and_extraction_work ... ok
[INFO] [stdout] test virtual_dir::tests::verify_zip_password_accepts_right_rejects_wrong_and_passes_plain ... ok
[INFO] [stdout] test tasks::copy_move::tests::run_copy_of_a_large_file_goes_through_the_chunked_path_and_finishes_ok ... ok
[INFO] [stdout] test tasks::git_status::tests::a_real_repository_reports_its_git_dir_and_branch ... ok
[INFO] [stdout] test watcher::tests::a_file_written_inside_a_watched_directory_is_reported_as_that_directory ... ok
[INFO] [stdout] test watcher::tests::a_real_watch_ignores_a_change_in_a_sibling_directory ... ok
[INFO] [stdout] test viewer::tests::large_file_is_truncated_at_the_size_cap ... ok
[INFO] [stdout] test app::tests::dispatch::quit_confirmation_declined_keeps_running ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 906 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/ozzel-090ca5478f4d272f)
[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] [stderr]    Doc-tests ozzel
[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" "ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c", kill_on_drop: false }`
[INFO] [stdout] ff4970496ec745a2a10d2b8878fe34fcf2b94733571fdb4324e93230fe99c00c
