[INFO] cloning repository https://github.com/Jastinog/fcmd [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jastinog/fcmd" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJastinog%2Ffcmd", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJastinog%2Ffcmd'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cbf95e06dd13e2550764c5df18b7e154bfa07734 [INFO] testing Jastinog/fcmd against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJastinog%2Ffcmd" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Jastinog/fcmd [INFO] finished tweaking git repo https://github.com/Jastinog/fcmd [INFO] tweaked toml for git repo https://github.com/Jastinog/fcmd written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Jastinog/fcmd on toolchain 1.99.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Jastinog/fcmd already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ratatui-macros v0.7.1 [INFO] [stderr] Downloaded ratatui-termwiz v0.1.1 [INFO] [stderr] Downloaded ratatui-crossterm v0.1.1 [INFO] [stderr] Downloaded ratatui-widgets v0.3.1 [INFO] [stderr] Downloaded ratatui v0.30.1 [INFO] [stderr] Downloaded ratatui-core v0.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20 [INFO] running `Command { std: "docker" "start" "47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20", 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" "47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20", 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" "47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling pkg-config v0.3.33 [INFO] [stderr] Compiling bitflags v2.13.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling log v0.4.32 [INFO] [stderr] Compiling memchr v2.8.1 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling either v1.16.0 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling unicode-segmentation v1.13.3 [INFO] [stderr] Compiling cc v1.2.63 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling compact_str v0.9.1 [INFO] [stderr] Compiling lru v0.18.0 [INFO] [stderr] Compiling mio v1.2.1 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling critical-section v1.2.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling libsqlite3-sys v0.38.1 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling lzma-sys v0.1.20 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling line-clipping v0.3.7 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling strum_macros v0.28.0 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling kasuari v0.4.12 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling strum v0.28.0 [INFO] [stderr] Compiling ratatui-core v0.1.1 [INFO] [stderr] Compiling scroll_derive v0.13.1 [INFO] [stderr] Compiling quick-xml v0.39.4 [INFO] [stderr] Compiling ratatui-widgets v0.3.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling bumpalo v3.20.3 [INFO] [stderr] Compiling zip v2.4.2 [INFO] [stderr] Compiling linked-hash-map v0.5.6 [INFO] [stderr] Compiling winnow v1.0.3 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling ratatui-macros v0.7.1 [INFO] [stderr] Compiling yaml-rust v0.4.5 [INFO] [stderr] Compiling plist v1.9.0 [INFO] [stderr] Compiling fancy-regex v0.16.2 [INFO] [stderr] Compiling zopfli v0.8.3 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling ratatui-crossterm v0.1.1 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling scroll v0.13.0 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling displaydoc v0.2.6 [INFO] [stderr] Compiling xattr v1.6.1 [INFO] [stderr] Compiling hashlink v0.12.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling filetime v0.2.29 [INFO] [stderr] Compiling fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling fallible-iterator v0.3.0 [INFO] [stderr] Compiling plain v0.2.3 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling libbz2-rs-sys v0.2.5 [INFO] [stderr] Compiling chrono v0.4.45 [INFO] [stderr] Compiling toml v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling bzip2 v0.6.1 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling syntect v5.3.0 [INFO] [stderr] Compiling goblin v0.10.7 [INFO] [stderr] Compiling tar v0.4.46 [INFO] [stderr] Compiling xz2 v0.1.7 [INFO] [stderr] Compiling ratatui v0.30.1 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling rusqlite v0.40.1 [INFO] [stderr] Compiling fcmd v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 6m 23s [INFO] running `Command { std: "docker" "inspect" "47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20", 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" "47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling xattr v1.6.1 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling tar v0.4.46 [INFO] [stderr] Compiling ratatui-crossterm v0.1.1 [INFO] [stderr] Compiling ratatui v0.30.1 [INFO] [stderr] Compiling fcmd v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 1m 18s [INFO] running `Command { std: "docker" "inspect" "47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20", 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" "47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.26s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/fcmd-c6b7fbaf0e788f9f) [INFO] [stdout] [INFO] [stdout] running 767 tests [INFO] [stdout] test app::archive::tests::archive_tree_collapse_expand ... ok [INFO] [stdout] test app::archive::tests::archive_tree_search ... ok [INFO] [stdout] test app::archive::tests::archive_tree_basic ... ok [INFO] [stdout] test app::archive::tests::matching_entry_count_filters ... ok [INFO] [stdout] test app::archive::tests::create_archive_unknown_format_rejected ... ok [INFO] [stdout] test app::bookmarks::tests::add_bookmark_prompt_non_dir_rejected ... ok [INFO] [stdout] test app::archive::tests::create_archive_spawns_task ... ok [INFO] [stdout] test app::bookmarks::tests::handle_bookmark_add_char_and_esc ... ok [INFO] [stdout] test app::bookmarks::tests::handle_bookmark_add_empty_enter_noop ... ok [INFO] [stdout] test app::archive::tests::extract_entry_spawns_task_and_conflict_channel ... ok [INFO] [stdout] test app::archive::tests::extract_all_requires_double_x ... ok [INFO] [stdout] test app::bookmarks::tests::handle_bookmark_rename_enter ... ok [INFO] [stdout] test app::bookmarks::tests::handle_bookmark_add_enter_creates ... ok [INFO] [stdout] test app::archive::tests::create_archive_refuses_existing_output_from_worker ... ok [INFO] [stdout] test app::bookmarks::tests::handle_bookmark_rename_esc ... ok [INFO] [stdout] test app::bookmarks::tests::handle_bookmarks_d_last_exits ... ok [INFO] [stdout] test app::bookmarks::tests::handle_bookmarks_empty_exits ... ok [INFO] [stdout] test app::bulk_rename::tests::bulk_rename_edit_mode ... ok [INFO] [stdout] test app::bookmarks::tests::handle_bookmarks_G_g ... ok [INFO] [stdout] test app::bookmarks::tests::handle_bookmarks_j_k_navigation ... ok [INFO] [stdout] test app::bookmarks::tests::rename_bookmark_nonexistent ... ok [INFO] [stdout] test app::bookmarks::tests::handle_bookmarks_d_deletes ... ok [INFO] [stdout] test app::bookmarks::tests::handle_bookmarks_esc_exits ... ok [INFO] [stdout] test app::bulk_rename::tests::changed_count_after_edit ... ok [INFO] [stdout] test app::bulk_rename::tests::changed_count_initially_zero ... ok [INFO] [stdout] test app::bulk_rename::tests::find_replace_basic ... ok [INFO] [stdout] test app::bulk_rename::tests::find_replace_no_match ... ok [INFO] [stdout] test app::bulk_rename::tests::find_replace_with_separator ... ok [INFO] [stdout] test app::bulk_rename::tests::has_conflicts_duplicate ... ok [INFO] [stdout] test app::bulk_rename::tests::has_conflicts_empty ... ok [INFO] [stdout] test app::bulk_rename::tests::has_conflicts_existing_sibling_on_disk ... ok [INFO] [stdout] test app::bulk_rename::tests::bulk_rename_remove_entry ... ok [INFO] [stdout] test app::bulk_rename::tests::conflict_indices_marks_duplicates ... ok [INFO] [stdout] test app::bulk_rename::tests::no_conflict_renaming_onto_a_batch_members_original_name ... ok [INFO] [stdout] test app::bulk_rename::tests::no_conflicts_when_valid ... ok [INFO] [stdout] test app::chmod::tests::adjust_scroll_cursor_above ... ok [INFO] [stdout] test app::chmod::tests::format_rwx_000 ... ok [INFO] [stdout] test app::bulk_rename::tests::bulk_rename_empty_edit_kept_as_conflict ... ok [INFO] [stdout] test app::chmod::tests::adjust_scroll_cursor_below ... ok [INFO] [stdout] test app::chmod::tests::chown_picker_list_height_calculation ... ok [INFO] [stdout] test app::bulk_rename::tests::bulk_rename_undo_line ... ok [INFO] [stdout] test app::chmod::tests::format_rwx_755 ... ok [INFO] [stdout] test app::bulk_rename::tests::bulk_rename_esc_exits ... ok [INFO] [stdout] test app::command::tests::execute_command_select_pattern ... ok [INFO] [stdout] test app::chmod::tests::format_rwx_644 ... ok [INFO] [stdout] test app::bulk_rename::tests::bulk_rename_nav_movement ... ok [INFO] [stdout] test app::bulk_rename::tests::enter_bulk_rename_from_selected ... ok [INFO] [stdout] test app::chmod::tests::handle_chmod_accepts_octal_digits ... ok [INFO] [stdout] test app::command::tests::execute_command_tabclose ... ok [INFO] [stdout] test app::command::tests::execute_command_sort_name ... ok [INFO] [stdout] test app::command::tests::execute_command_sort_size ... ok [INFO] [stdout] test app::command::tests::handle_command_backspace_pops ... ok [INFO] [stdout] test app::command::tests::execute_command_quit ... ok [INFO] [stdout] test app::command::tests::execute_command_unknown_shows_status ... ok [INFO] [stdout] test app::command::tests::handle_command_esc_clears_and_exits ... ok [INFO] [stdout] test app::command::tests::handle_command_char_appends ... ok [INFO] [stdout] test app::command::tests::handle_command_enter_executes ... ok [INFO] [stdout] test app::chmod::tests::handle_chmod_esc_exits_and_clears ... ok [INFO] [stdout] test app::dialogs::tests::handle_confirm_cancel_with_marks_returns_select ... ok [INFO] [stdout] test app::dialogs::tests::handle_confirm_cancel_no_marks ... ok [INFO] [stdout] test app::command::tests::execute_command_tabnew ... ok [INFO] [stdout] test app::dialogs::tests::handle_confirm_enter_does_not_delete ... ok [INFO] [stdout] test app::dialogs::tests::handle_confirm_quit_cancel_returns_normal ... ok [INFO] [stdout] test app::command::tests::execute_command_unselect_clears ... ok [INFO] [stdout] test app::command::tests::execute_command_hidden_toggles ... ok [INFO] [stdout] test app::dialogs::tests::handle_confirm_scroll_clamped ... ok [INFO] [stdout] test app::dialogs::tests::request_quit_no_tasks_quits_immediately ... ok [INFO] [stdout] test app::dialogs::tests::handle_help_esc_returns_normal ... ok [INFO] [stdout] test app::file_ops::tests::failed_undo_pushes_records_back ... ok [INFO] [stdout] test app::file_ops::tests::execute_delete_spawns_task_and_returns_normal ... ok [INFO] [stdout] test app::dialogs::tests::position_theme_cursors_finds_in_second_group ... ok [INFO] [stdout] test app::dialogs::tests::position_theme_cursors_finds_in_group ... ok [INFO] [stdout] test app::dialogs::tests::handle_confirm_scroll_down_up ... ok [INFO] [stdout] test app::file_ops::tests::copy_to_other_panel_dual_yanks_and_pastes ... ok [INFO] [stdout] test app::file_ops::tests::request_delete_paths_empty_shows_message ... ok [INFO] [stdout] test app::dialogs::tests::request_quit_with_running_task_asks_first ... ok [INFO] [stdout] test app::file_ops::tests::move_to_other_panel_dual_with_file ... ok [INFO] [stdout] test app::file_ops::tests::paste_to_current_panel ... ok [INFO] [stdout] test app::file_ops::tests::refresh_panels_select_sets_tree_dirty ... ok [INFO] [stdout] test app::file_ops::tests::request_delete_paths_enters_confirm ... ok [INFO] [stdout] test app::file_ops::tests::repeated_paste_of_same_register_is_refused ... ok [INFO] [stdout] test app::file_ops::tests::refresh_panels_sets_tree_dirty ... ok [INFO] [stdout] test app::file_ops::tests::reload_active_panel_removes_cache ... ok [INFO] [stdout] test app::file_ops::tests::yank_targeted_empty_shows_message ... ok [INFO] [stdout] test app::file_ops::tests::undo_with_records_spawns_op ... ok [INFO] [stdout] test app::file_ops::tests::yank_targeted_with_file ... ok [INFO] [stdout] test app::find::tests::accept_find_empty_is_noop ... ok [INFO] [stdout] test app::filter::tests::esc_reverts_to_previous_filter ... ok [INFO] [stdout] test app::filter::tests::backspace_to_empty_clears_filter ... ok [INFO] [stdout] test app::filter::tests::typing_narrows_listing ... ok [INFO] [stdout] test app::find::tests::handle_find_ctrl_j_k_navigation ... ok [INFO] [stdout] test app::filter::tests::enter_keeps_filter ... ok [INFO] [stdout] test app::find::tests::handle_find_backspace_pops ... ok [INFO] [stdout] test app::find::tests::handle_find_char_appends_to_query ... ok [INFO] [stdout] test app::find::tests::handle_find_esc_closes ... ok [INFO] [stdout] test app::file_ops::tests::targeted_path_types_dir_entry ... ok [INFO] [stdout] test app::file_ops::tests::targeted_path_types_returns_selected ... ok [INFO] [stdout] test app::git::tests::git_priority_ordering ... ok [INFO] [stdout] test app::git::tests::parse_added_file ... ok [INFO] [stdout] test app::git::tests::parent_propagation_priority ... ok [INFO] [stdout] test app::git::tests::parse_rename_uses_new_path ... ok [INFO] [stdout] test app::git::tests::parse_deleted_file ... ok [INFO] [stdout] test app::git::tests::parse_modified_file ... ok [INFO] [stdout] test app::git::tests::parse_quoted_path ... ok [INFO] [stdout] test app::git::tests::parse_staged_modified ... ok [INFO] [stdout] test app::git::tests::ensure_git_status_skips_when_root_matches ... ok [INFO] [stdout] test app::git::tests::parse_short_line_returns_none ... ok [INFO] [stdout] test app::git::tests::refresh_git_skips_if_already_in_progress ... ok [INFO] [stdout] test app::find::tests::handle_find_up_down_navigation ... ok [INFO] [stdout] test app::find::tests::handle_find_tab_switches_scope ... ok [INFO] [stdout] test app::git::tests::parse_staged_deleted ... ok [INFO] [stdout] test app::git::tests::unquote_handles_escapes ... ok [INFO] [stdout] test app::git::tests::parse_untracked_file ... ok [INFO] [stdout] test app::git_ops::tests::apply_git_stage_err_reports_message ... ok [INFO] [stdout] test app::info::tests::format_size_bytes ... ok [INFO] [stdout] test app::git_ops::tests::apply_git_stage_ok_reports_count ... ok [INFO] [stdout] test app::info::tests::format_size_detailed_large_shows_bytes ... ok [INFO] [stdout] test app::info::tests::format_size_detailed_small_no_extra ... ok [INFO] [stdout] test app::info::tests::format_size_kilobytes ... ok [INFO] [stdout] test app::info::tests::format_size_gigabytes ... ok [INFO] [stdout] test app::info::tests::format_size_megabytes ... ok [INFO] [stdout] test app::info::tests::handle_info_scroll_and_esc ... ok [INFO] [stdout] test app::input::tests::enter_rename_prefills_name ... ok [INFO] [stdout] test app::git_ops::tests::stage_on_dotdot_is_noop ... ok [INFO] [stdout] test app::git_ops::tests::apply_git_diff_empty_shows_no_changes ... ok [INFO] [stdout] test app::input::tests::enter_command_clears_input ... ok [INFO] [stdout] test app::input::tests::enter_rename_skips_dotdot ... ok [INFO] [stdout] test app::git_ops::tests::diff_on_dotdot_is_noop ... ok [INFO] [stdout] test app::input::tests::enter_search_saves_cursor ... ok [INFO] [stdout] test app::input::tests::enter_create_clears_input ... ok [INFO] [stdout] test app::git_ops::tests::apply_git_diff_opens_viewer ... ok [INFO] [stdout] test app::input::tests::handle_normal_a_enters_create ... ok [INFO] [stdout] test app::input::tests::enter_visual_sets_anchor ... ok [INFO] [stdout] test app::input::tests::handle_normal_G_goes_bottom ... ok [INFO] [stdout] test app::input::tests::handle_normal_j_moves_down ... ok [INFO] [stdout] test app::input::tests::handle_normal_colon_enters_command ... ok [INFO] [stdout] test app::input::tests::handle_normal_i_enters_info ... ok [INFO] [stdout] test app::input::tests::handle_normal_k_moves_up ... ok [INFO] [stdout] test app::input::tests::handle_normal_f1_opens_help ... ok [INFO] [stdout] test app::input::tests::handle_normal_tree_focused_delegates ... ok [INFO] [stdout] test app::input::tests::handle_normal_q_quits ... ok [INFO] [stdout] test app::input::tests::handle_normal_slash_enters_search ... ok [INFO] [stdout] test app::input::tests::handle_normal_v_enters_visual ... ok [INFO] [stdout] test app::input::tests::handle_normal_tab_cycles_panel ... ok [INFO] [stdout] test app::input::tests::handle_normal_esc_clears_marks ... ok [INFO] [stdout] test app::input::tests::pending_gg_goes_top ... ok [INFO] [stdout] test app::input::tests::pending_sn_sets_sort_name ... ok [INFO] [stdout] test app::marks::tests::goto_mark_not_set_shows_message ... ok [INFO] [stdout] test app::marks::tests::clear_visual_mark_removes_any_level ... ok [INFO] [stdout] test app::input::tests::pending_ss_sets_sort_size ... ok [INFO] [stdout] test app::marks::tests::goto_mark_set_spawns_nav_check ... ok [INFO] [stdout] test app::marks::tests::select_all_and_enter_select_mode ... ok [INFO] [stdout] test app::marks::tests::jump_next_visual_mark_none_shows_message ... ok [INFO] [stdout] test app::marks::tests::jump_next_visual_mark_finds_marked ... ok [INFO] [stdout] test app::marks::tests::jump_next_visual_mark_wraps ... ok [INFO] [stdout] test app::marks::tests::select_all_marks_all_non_dotdot ... ok [INFO] [stdout] test app::marks::tests::clear_visual_mark_no_mark_shows_message ... ok [INFO] [stdout] test app::marks::tests::set_mark_stores_path ... ok [INFO] [stdout] test app::marks::tests::toggle_visual_mark_skips_dotdot ... ok [INFO] [stdout] test app::mouse::tests::click_past_last_entry_keeps_cursor ... ok [INFO] [stdout] test app::marks::tests::unselect_all_clears ... ok [INFO] [stdout] test app::mouse::tests::click_focuses_the_clicked_panel ... ok [INFO] [stdout] test app::mouse::tests::click_selects_entry_under_pointer ... ok [INFO] [stdout] test app::mouse::tests::scroll_down_moves_cursor_of_panel_under_pointer ... ok [INFO] [stdout] test app::mouse::tests::mouse_kinds_report_redraw_only_when_acted_on ... ok [INFO] [stdout] test app::mouse::tests::mouse_events_hitting_nothing_report_no_redraw ... ok [INFO] [stdout] test app::marks::tests::toggle_visual_mark_cycles_levels ... ok [INFO] [stdout] test app::mouse::tests::mouse_ignored_in_overlay_modes ... ok [INFO] [stdout] test app::navigation::tests::close_tab_single_tab_noop ... ok [INFO] [stdout] test app::mouse::tests::tab_bar_click_switches_tab ... ok [INFO] [stdout] test app::navigation::tests::equalize_points_other_panel_at_active_dir ... ok [INFO] [stdout] test app::navigation::tests::exit_mode_on_tab_switch_visual ... ok [INFO] [stdout] test app::navigation::tests::close_tab_removes_and_clamps ... ok [INFO] [stdout] test app::navigation::tests::exit_mode_on_tab_switch_select ... ok [INFO] [stdout] test app::navigation::tests::focus_next_wraps_without_tree ... ok [INFO] [stdout] test app::navigation::tests::focus_next_last_panel_wraps_to_tree ... ok [INFO] [stdout] test app::git_ops::tests::stage_on_file_spawns_op ... ok [INFO] [stdout] test app::navigation::tests::focus_next_from_tree_to_panel ... ok [INFO] [stdout] test app::navigation::tests::follow_symlink_on_non_symlink_reports ... ok [INFO] [stdout] test app::marks::tests::two_goto_marks_both_queue_results ... ok [INFO] [stdout] test app::navigation::tests::focus_prev_tree_wraps_to_last_panel ... ok [INFO] [stdout] test app::navigation::tests::navigate_cached_resets_panel_state ... ok [INFO] [stdout] test app::navigation::tests::navigate_cached_applies_sort_prefs ... ok [INFO] [stdout] test app::mouse::tests::click_outside_any_region_is_ignored ... ok [INFO] [stdout] test app::navigation::tests::next_tab_prev_tab_wrapping ... ok [INFO] [stdout] test app::navigation::tests::request_open_editor_closes_viewer ... ok [INFO] [stdout] test app::navigation::tests::follow_symlink_resolves_off_thread ... ok [INFO] [stdout] test app::navigation::tests::request_open_editor_sets_path ... ok [INFO] [stdout] test app::navigation::tests::set_layout_updates ... ok [INFO] [stdout] test app::navigation::tests::refresh_current_panel_marks_tree_dirty ... ok [INFO] [stdout] test app::navigation::tests::new_tab_creates_and_switches ... ok [INFO] [stdout] test app::navigation::tests::single_tab_next_prev_noop ... ok [INFO] [stdout] test app::navigation::tests::save_current_sort_removes_default ... ok [INFO] [stdout] test app::navigation::tests::swap_panels_exchanges_contents ... ok [INFO] [stdout] test app::navigation::tests::focus_prev_from_panel_to_tree ... ok [INFO] [stdout] test app::navigation::tests::toggle_hidden_toggles_all_panels ... ok [INFO] [stdout] test app::navigation::tests::set_sort_updates_mode ... ok [INFO] [stdout] test app::navigation::tests::which_key_hints_with_pending_after_delay ... ok [INFO] [stdout] test app::navigation::tests::toggle_tree_enables_and_focuses ... ok [INFO] [stdout] test app::navigation::tests::update_preview_skips_same_path ... ok [INFO] [stdout] test app::navigation::tests::which_key_hints_without_pending ... ok [INFO] [stdout] test app::navigation::tests::which_key_hints_with_pending_too_recent ... ok [INFO] [stdout] test app::polling::tests::conflict_answer_restores_previous_mode ... ok [INFO] [stdout] test app::navigation::tests::toggle_sort_reverse_flips ... ok [INFO] [stdout] test app::polling::tests::poll_conflicts_waits_for_text_input_to_close ... ok [INFO] [stdout] test app::navigation::tests::toggle_transparent_flips ... ok [INFO] [stdout] test app::polling::tests::poll_dir_sizes_load_noop_when_none ... ok [INFO] [stdout] test app::polling::tests::poll_dir_sizes_load_receives_data ... ok [INFO] [stdout] test app::polling::tests::poll_du_noop_when_no_progress ... ok [INFO] [stdout] test app::polling::tests::poll_git_handles_closed_channel ... ok [INFO] [stdout] test app::polling::tests::poll_du_progress_updates_status ... ok [INFO] [stdout] test app::polling::tests::poll_git_finished_replaces_stale_entries ... ok [INFO] [stdout] test app::polling::tests::start_du_already_running_shows_message ... ok [INFO] [stdout] test app::polling::tests::poll_tasks_noop_when_empty ... ok [INFO] [stdout] test app::polling::tests::start_du_no_dirs_shows_message ... ok [INFO] [stdout] test app::rename::tests::handle_create_char_input ... ok [INFO] [stdout] test app::polling::tests::poll_git_noop_when_no_progress ... ok [INFO] [stdout] test app::rename::tests::handle_create_enter_empty_noop ... ok [INFO] [stdout] test app::polling::tests::poll_git_receives_finished ... ok [INFO] [stdout] test app::rename::tests::handle_rename_backspace_and_empty_exits ... ok [INFO] [stdout] test app::rename::tests::handle_rename_char_input ... ok [INFO] [stdout] test app::rename::tests::handle_rename_esc_exits ... ok [INFO] [stdout] test app::rename::tests::handle_create_esc_exits ... ok [INFO] [stdout] test app::search::tests::search_backspace_empty_restores_cursor ... ok [INFO] [stdout] test app::search::tests::search_char_appends_and_jumps ... ok [INFO] [stdout] test app::search::tests::search_backspace_pops ... ok [INFO] [stdout] test app::search::tests::search_enter_keeps_position ... ok [INFO] [stdout] test app::search::tests::search_enter_empty_restores_cursor ... ok [INFO] [stdout] test app::search::tests::search_esc_restores_cursor_and_clears ... ok [INFO] [stdout] test app::navigation::tests::which_key_unknown_pending_returns_none ... ok [INFO] [stdout] test app::select_pattern::tests::enter_select_pattern_sets_star_default ... ok [INFO] [stdout] test app::select_pattern::tests::enter_unselect_pattern_sets_star ... ok [INFO] [stdout] test app::navigation::tests::update_preview_clears_when_disabled ... ok [INFO] [stdout] test app::polling::tests::poll_find_noop_when_no_find_state ... ok [INFO] [stdout] test app::polling::tests::poll_du_receives_finished ... ok [INFO] [stdout] test app::rename::tests::handle_rename_enter_empty_noop ... ok [INFO] [stdout] test app::search::tests::search_next_wraps_around ... ok [INFO] [stdout] test app::select_pattern::tests::invert_selection_deselects_all ... ok [INFO] [stdout] test app::search::tests::search_prev_wraps_backward ... ok [INFO] [stdout] test app::search::tests::search_no_match_shows_status ... ok [INFO] [stdout] test app::select_pattern::tests::invert_selection_from_empty ... ok [INFO] [stdout] test app::select_pattern::tests::invert_selection_partial ... ok [INFO] [stdout] test app::select_pattern::tests::select_pattern_backspace_empty_is_noop ... ok [INFO] [stdout] test app::select_pattern::tests::select_pattern_enter_matches_all ... ok [INFO] [stdout] test app::select_pattern::tests::select_pattern_backspace_pops ... ok [INFO] [stdout] test app::select_pattern::tests::select_pattern_empty_exits ... ok [INFO] [stdout] test app::select_pattern::tests::select_pattern_char_appends ... ok [INFO] [stdout] test app::select_pattern::tests::unselect_pattern_all_cleared_returns_normal ... ok [INFO] [stdout] test app::select_pattern::tests::select_pattern_esc_exits ... ok [INFO] [stdout] test app::select_pattern::tests::unselect_pattern_esc_returns_to_select_if_marks ... ok [INFO] [stdout] test app::select_pattern::tests::select_pattern_no_match_returns_normal ... ok [INFO] [stdout] test app::select_pattern::tests::unselect_pattern_esc_returns_normal_if_no_marks ... ok [INFO] [stdout] test app::select_pattern::tests::unselect_pattern_removes_matching ... ok [INFO] [stdout] test app::task_manager::tests::add_copy_returns_unique_ids ... ok [INFO] [stdout] test app::task_manager::tests::cancel_all_flags_running_tasks ... ok [INFO] [stdout] test app::task_manager::tests::add_archive_creates_task ... ok [INFO] [stdout] test app::task_manager::tests::new_starts_empty ... ok [INFO] [stdout] test app::task_manager::tests::add_archive_extract_labels_extract ... ok [INFO] [stdout] test app::task_manager::tests::phantoms_for_ignores_finished ... ok [INFO] [stdout] test app::task_manager::tests::add_move_creates_task ... ok [INFO] [stdout] test app::task_manager::tests::poll_all_delete_finished ... ok [INFO] [stdout] test app::tasks::tests::cancel_selected_sets_flag ... ok [INFO] [stdout] test app::tasks::tests::clear_finished_removes_completed ... ok [INFO] [stdout] test app::task_manager::tests::remove_finished_keeps_running ... ok [INFO] [stdout] test app::task_manager::tests::add_delete_creates_task ... ok [INFO] [stdout] test app::task_manager::tests::poll_all_archive_finished ... ok [INFO] [stdout] test app::task_manager::tests::phantoms_for_returns_matching ... ok [INFO] [stdout] test app::task_manager::tests::poll_all_archive_error_marks_failure ... ok [INFO] [stdout] test app::task_manager::tests::poll_all_copy_finished ... ok [INFO] [stdout] test app::task_manager::tests::remove_finished_clears_completed ... ok [INFO] [stdout] test app::tasks::tests::open_tasks_with_task_enters_mode ... ok [INFO] [stdout] test app::tasks::tests::esc_exits_tasks_mode ... ok [INFO] [stdout] test app::tests::apply_info_load_in_info_mode ... ok [INFO] [stdout] test app::tasks::tests::open_tasks_empty_shows_message ... ok [INFO] [stdout] test app::tests::apply_info_load_not_in_info_mode_ignored ... ok [INFO] [stdout] test app::tests::cmd_bdel_nonexistent ... ok [INFO] [stdout] test app::tests::bookmark_esc_returns_normal ... ok [INFO] [stdout] test app::tests::cmd_brename_missing_newname ... ok [INFO] [stdout] test app::tests::cmd_bookmark_no_dir ... ok [INFO] [stdout] test app::tests::cmd_brename_no_arg ... ok [INFO] [stdout] test app::tests::add_bookmark_sorted_insert ... ok [INFO] [stdout] test app::tests::cmd_cd_no_arg ... ok [INFO] [stdout] test app::tests::apply_tree_data_mismatched_start_dir_discarded ... ok [INFO] [stdout] test app::tests::cmd_empty_noop ... ok [INFO] [stdout] test app::tests::cmd_du_starts ... ok [INFO] [stdout] test app::tests::apply_tree_data_matching_start_dir ... ok [INFO] [stdout] test app::tests::cmd_mark_stores ... ok [INFO] [stdout] test app::tests::cmd_mkdir_no_arg ... ok [INFO] [stdout] test app::tests::add_bookmark_update_existing ... ok [INFO] [stdout] test app::tests::cmd_quit_excl ... ok [INFO] [stdout] test app::tests::bookmark_cursor_navigation ... ok [INFO] [stdout] test app::tests::cmd_marks_empty ... ok [INFO] [stdout] test app::tests::cmd_sort_invalid ... ok [INFO] [stdout] test app::tests::copy_to_other_panel_single_layout_blocked ... ok [INFO] [stdout] test app::tests::cmd_marks_shows_list ... ok [INFO] [stdout] test app::tests::cmd_mark_invalid ... ok [INFO] [stdout] test app::tests::cmd_touch_no_arg ... ok [INFO] [stdout] test app::tests::cmd_rename_no_arg ... ok [INFO] [stdout] test app::tests::enter_select_and_mark_sets_mode ... ok [INFO] [stdout] test app::tests::enter_visual_sets_mode_and_anchor ... ok [INFO] [stdout] test app::tests::exit_select_preserves_marks ... ok [INFO] [stdout] test app::tests::focus_next_exits_tree ... ok [INFO] [stdout] test app::tests::handle_chmod_backspace_empty_exits ... ok [INFO] [stdout] test app::tests::focus_prev_cycles_panels ... ok [INFO] [stdout] test app::tests::exit_visual_clears_anchor ... ok [INFO] [stdout] test app::tests::focus_next_cycles_panels ... ok [INFO] [stdout] test app::tests::focus_prev_enters_tree ... ok [INFO] [stdout] test app::tests::cmd_sort_all_modes ... ok [INFO] [stdout] test app::tests::handle_chmod_empty_enter_exits ... ok [INFO] [stdout] test app::tests::handle_chmod_invalid_digit_shows_error ... ok [INFO] [stdout] test app::tests::handle_chmod_invalid_mode_shows_error ... ok [INFO] [stdout] test app::tests::handle_chown_no_picker_exits ... ok [INFO] [stdout] test app::tests::handle_chown_esc_exits ... ok [INFO] [stdout] test app::tests::handle_chown_navigation ... ok [INFO] [stdout] test app::tests::load_ids_are_unique_across_panels ... ok [INFO] [stdout] test app::tests::handle_theme_picker_jk_moves_cursor ... ok [INFO] [stdout] test app::tests::invert_selection_from_all ... ok [INFO] [stdout] test app::tests::invert_selection_from_none ... ok [INFO] [stdout] test app::tests::jump_next_visual_mark_empty ... ok [INFO] [stdout] test app::tests::jump_next_visual_mark_wraps ... ok [INFO] [stdout] test app::tests::move_to_other_panel_empty_nothing ... ok [INFO] [stdout] test app::tests::jump_next_visual_mark_finds_next ... ok [INFO] [stdout] test app::tests::poll_info_du_replaces_placeholders ... ok [INFO] [stdout] test app::tests::open_bookmarks_empty_shows_message ... ok [INFO] [stdout] test app::tests::move_to_other_panel_single_layout_blocked ... ok [INFO] [stdout] test app::tests::paste_empty_register ... ok [INFO] [stdout] test app::tests::next_tab_wraps ... ok [INFO] [stdout] test app::tests::open_bookmarks_non_empty_enters_mode ... ok [INFO] [stdout] test app::tests::prev_tab_wraps ... ok [INFO] [stdout] test app::tests::request_delete_empty_shows_message ... ok [INFO] [stdout] test app::tests::remove_bookmark_by_name_removes ... ok [INFO] [stdout] test app::tests::rename_bookmark_updates_name ... ok [INFO] [stdout] test app::tests::resort_invalidates_in_flight_load ... ok [INFO] [stdout] test app::tests::request_delete_enters_confirm ... ok [INFO] [stdout] test app::tests::search_no_match ... ok [INFO] [stdout] test app::tests::search_prev_empty_query_shows_hint ... ok [INFO] [stdout] test app::tests::search_empty_query_shows_hint ... ok [INFO] [stdout] test app::tests::search_next_wraps ... ok [INFO] [stdout] test app::tests::search_case_insensitive ... ok [INFO] [stdout] test app::tests::search_prev_wraps ... ok [INFO] [stdout] test app::tests::search_jump_finds_match ... ok [INFO] [stdout] test app::tests::select_all_marks_everything ... ok [INFO] [stdout] test app::tests::select_esc_clears_marks ... ok [INFO] [stdout] test app::tests::select_gg_goes_top ... ok [INFO] [stdout] test app::tests::select_j_k_moves_cursor ... ok [INFO] [stdout] test app::tests::select_G_goes_bottom ... ok [INFO] [stdout] test app::tests::select_pattern_esc_exits ... ok [INFO] [stdout] test app::tests::select_pattern_star_marks_all ... ok [INFO] [stdout] test app::tests::select_pattern_no_match_returns_normal ... ok [INFO] [stdout] test app::tests::select_pattern_rs_marks_only_rs ... ok [INFO] [stdout] test app::tests::select_shift_down_marks_and_moves ... ok [INFO] [stdout] test app::tests::select_v_enters_visual ... ok [INFO] [stdout] test app::tests::single_tab_no_switch ... ok [INFO] [stdout] test app::tests::select_yank_clears_marks ... ok [INFO] [stdout] test app::tests::set_layout_clamps_active ... ok [INFO] [stdout] test app::tests::set_mark_stores_path ... ok [INFO] [stdout] test app::tests::set_mark_status_message ... ok [INFO] [stdout] test app::tests::stale_batch_is_dropped ... ok [INFO] [stdout] test app::tests::stale_finish_does_not_poison_cache ... ok [INFO] [stdout] test app::tests::tab_switch_exits_visual ... ok [INFO] [stdout] test app::tests::session_paths_check_moves_stale_panels_to_fallback ... ok [INFO] [stdout] test app::tests::visual_G_goes_to_bottom ... ok [INFO] [stdout] test app::tests::unselect_pattern_removes_matching ... ok [INFO] [stdout] test app::tests::toggle_visual_mark_cycles ... ok [INFO] [stdout] test app::tests::unselect_all_clears ... ok [INFO] [stdout] test app::tests::undo_empty_stack ... ok [INFO] [stdout] test app::tests::visual_esc_exits ... ok [INFO] [stdout] test app::tests::unselect_pattern_clears_all_returns_normal ... ok [INFO] [stdout] test app::tests::visual_g_g_goes_to_top ... ok [INFO] [stdout] test app::tests::toggle_visual_mark_skips_dotdot ... ok [INFO] [stdout] test app::tests::yank_targeted_single ... ok [INFO] [stdout] test app::tests::visual_j_k_moves_cursor ... ok [INFO] [stdout] test app::tests::yank_targeted_empty ... ok [INFO] [stdout] test app::tests::visual_yank_sets_register ... ok [INFO] [stdout] test app::tree::tests::tree_G_goes_to_last ... ok [INFO] [stdout] test app::tree::tests::tree_j_increments_selected ... ok [INFO] [stdout] test app::tests::visual_v_exits ... ok [INFO] [stdout] test app::tree::tests::tree_q_quits ... ok [INFO] [stdout] test app::tree::tests::tree_k_decrements_selected ... ok [INFO] [stdout] test app::viewer::tests::search_esc_clears ... ok [INFO] [stdout] test app::viewer::tests::slash_enters_search ... ok [INFO] [stdout] test app::viewer::tests::failed_chunk_read_leaves_paging_retryable ... ok [INFO] [stdout] test app::tree::tests::tree_tab_unfocuses ... ok [INFO] [stdout] test app::viewer::tests::esc_closes ... ok [INFO] [stdout] test app::viewer::tests::scroll_down_up ... ok [INFO] [stdout] test app::viewer::tests::search_char_input_populates_matches ... ok [INFO] [stdout] test app::tests::visual_tab_exits_and_cycles ... ok [INFO] [stdout] test app::viewer::tests::g_and_G ... ok [INFO] [stdout] test archive::extract::tests::sanitize_strips_traversal ... ok [INFO] [stdout] test archive::extract::tests::sanitize_pure_traversal_reduces_to_empty ... ok [INFO] [stdout] test archive::extract::tests::symlink_target_within_accepts_safe_and_rejects_escaping ... ok [INFO] [stdout] test archive::tests::copy_with_cancel_stops_midstream ... ok [INFO] [stdout] test archive::tests::create_stream_honours_cancel_flag ... ok [INFO] [stdout] test archive::tests::create_stream_reports_progress_and_count ... ok [INFO] [stdout] test archive::extract::tests::zip_datetime_maps_to_expected_systemtime ... ok [INFO] [stdout] test archive::tests::archive_stem_strips_known_extensions ... ok [INFO] [stdout] test archive::tests::create_zip_archive ... ok [INFO] [stdout] test archive::tests::extract_stream_abort_stops_early ... ok [INFO] [stdout] test archive::tests::format_detection ... ok [INFO] [stdout] test archive::tests::extract_stream_resolver_only_called_on_existing ... ok [INFO] [stdout] test archive::tests::extract_stream_reports_progress_with_total ... ok [INFO] [stdout] test archive::tests::extract_stream_honours_cancel_flag ... ok [INFO] [stdout] test archive::tests::list_and_extract_tar_gz ... ok [INFO] [stdout] test archive::tests::is_archive_works ... ok [INFO] [stdout] test archive::tests::sniff_detects_misnamed_zip ... ok [INFO] [stdout] test archive::tests::extract_stream_skip_vs_overwrite_on_conflict ... ok [INFO] [stdout] test archive::tests::roundtrip_tar_zst ... ok [INFO] [stdout] test archive::tests::roundtrip_preserves_exec_bit_and_symlink_tar ... ok [INFO] [stdout] test archive::tests::synthesizes_missing_dirs ... ok [INFO] [stdout] test archive::tests::roundtrip_preserves_exec_bit_and_symlink_zip ... ok [INFO] [stdout] test archive::tests::list_and_extract_zip ... ok [INFO] [stdout] test archive::tests::symlink_slip_through_planted_symlink_is_blocked ... ok [INFO] [stdout] test exe::suspicious::tests::flags_known_apis_case_and_suffix_insensitive ... ok [INFO] [stdout] test exe::tests::report_rejects_non_executable ... ok [INFO] [stdout] test exe::suspicious::tests::ignores_benign_apis ... ok [INFO] [stdout] test exe::tests::entropy_extremes ... ok [INFO] [stdout] test archive::tests::tar_symlink_with_traversing_target_is_refused ... ok [INFO] [stdout] test archive::tests::zip_slip_traversal_is_neutralized ... ok [INFO] [stdout] test fs::ops::tests::auto_rename_multiple ... ok [INFO] [stdout] test fs::du::tests::dir_stats_counts ... ok [INFO] [stdout] test fs::du::tests::dir_stats_empty ... ok [INFO] [stdout] test fs::ops::tests::auto_rename_handles_no_extension ... ok [INFO] [stdout] test exe::tests::slice_clamps_past_eof ... ok [INFO] [stdout] test archive::tests::tar_symlink_with_absolute_target_is_refused ... ok [INFO] [stdout] test fs::ops::tests::auto_rename_no_conflict ... ok [INFO] [stdout] test fs::ops::tests::auto_rename_no_extension ... ok [INFO] [stdout] test fs::ops::tests::auto_rename_with_existing ... ok [INFO] [stdout] test fs::ops::tests::copy_dir_into_itself_is_rejected ... ok [INFO] [stdout] test fs::ops::tests::copy_file_onto_itself_is_rejected ... ok [INFO] [stdout] test fs::ops::tests::copy_file_checked_copies_distinct_files ... ok [INFO] [stdout] test fs::ops::tests::copy_file_checked_refuses_symlink_to_source ... ok [INFO] [stdout] test fs::ops::tests::copy_file_checked_refuses_hard_link_to_source ... ok [INFO] [stdout] test fs::ops::tests::copy_dir_preserves_structure ... ok [INFO] [stdout] test fs::ops::tests::copy_symlink_preserves_link ... ok [INFO] [stdout] test fs::ops::tests::copy_timestamps_preserves_mtime ... ok [INFO] [stdout] test fs::ops::tests::copy_dir_progress_preserves_permissions ... ok [INFO] [stdout] test fs::ops::tests::copy_path_progress_file ... ok [INFO] [stdout] test fs::ops::tests::copy_dir_recursive ... ok [INFO] [stdout] test fs::ops::tests::create_symlink_makes_link_to_target ... ok [INFO] [stdout] test fs::ops::tests::create_hardlink_shares_inode ... ok [INFO] [stdout] test fs::ops::tests::copy_to_sibling_with_shared_prefix_is_allowed ... ok [INFO] [stdout] test fs::ops::tests::create_symlink_preserves_relative_target ... ok [INFO] [stdout] test fs::ops::tests::filename_helper ... ok [INFO] [stdout] test fs::ops::tests::copy_path_progress_symlink ... ok [INFO] [stdout] test fs::ops::tests::mkdir_creates_directory ... ok [INFO] [stdout] test fs::ops::tests::mkdir_rejects_path_traversal ... ok [INFO] [stdout] test fs::ops::tests::copy_path_progress_directory ... ok [INFO] [stdout] test fs::ops::tests::create_symlink_rejects_existing_name ... ok [INFO] [stdout] test fs::ops::tests::move_path_progress_directory ... ok [INFO] [stdout] test fs::ops::tests::path_size_empty_dir ... ok [INFO] [stdout] test fs::ops::tests::path_size_file ... ok [INFO] [stdout] test fs::ops::tests::path_size_nested_dirs ... ok [INFO] [stdout] test fs::ops::tests::path_size_nonexistent ... ok [INFO] [stdout] test fs::ops::tests::paste_skips_move_to_same_dir ... ok [INFO] [stdout] test fs::ops::tests::policy_decide_overwrite_newer_both_ways ... ok [INFO] [stdout] test fs::ops::tests::policy_sticky_choices_preempt ... ok [INFO] [stdout] test fs::ops::tests::remove_path_file ... ok [INFO] [stdout] test fs::ops::tests::path_size_dir ... ok [INFO] [stdout] test fs::ops::tests::policy_abort_is_error ... ok [INFO] [stdout] test fs::ops::tests::remove_path_unlinks_symlink_without_touching_target ... ok [INFO] [stdout] test fs::ops::tests::move_dir_merge_skip_keeps_skipped_source_files ... ok [INFO] [stdout] test fs::ops::tests::remove_path_dir ... ok [INFO] [stdout] test fs::ops::tests::touch_creates_file ... ok [INFO] [stdout] test fs::ops::tests::rename_rejects_path_traversal ... ok [INFO] [stdout] test fs::ops::tests::path_size_symlink ... ok [INFO] [stdout] test fs::ops::tests::touch_rejects_existing ... ok [INFO] [stdout] test fs::ops::tests::rename_works ... ok [INFO] [stdout] test fs::ops::tests::undo_copied_file_removes_copy ... ok [INFO] [stdout] test fs::ops::tests::undo_created_removes_file ... ok [INFO] [stdout] test fs::ops::tests::undo_moved_restores_src ... ok [INFO] [stdout] test bg_panic::tests::append_report_keeps_every_report ... ok [INFO] [stdout] test fs::ops::tests::rename_rejects_existing_target ... ok [INFO] [stdout] test fs::ops::tests::undo_renamed ... ok [INFO] [stdout] test fs::ops::tests::undo_stack_ignores_empty ... ok [INFO] [stdout] test fs::ops::tests::move_path_progress_same_device ... ok [INFO] [stdout] test fs::ops::tests::undo_copied_removes_dst ... ok [INFO] [stdout] test fs::ops::tests::undo_stack_max_limit ... ok [INFO] [stdout] test fs::ops::tests::validate_name_accepts_normal ... ok [INFO] [stdout] test fs::ops::tests::undo_copied_dir_removes_dst ... ok [INFO] [stdout] test fs::ops::tests::undo_multiple_records_reversed ... ok [INFO] [stdout] test fs::ops::tests::validate_name_rejects_dotdot ... ok [INFO] [stdout] test fs::ops::tests::validate_name_rejects_single_dot ... ok [INFO] [stdout] test fs::ops::tests::undo_partial_failure_reports_remaining ... ok [INFO] [stdout] test fs::ops::tests::undo_created_file ... ok [INFO] [stdout] test fs::ops::tests::touch_rejects_path_traversal ... ok [INFO] [stdout] test fs::ops::tests::validate_name_rejects_slash ... ok [INFO] [stdout] test fs::ops::tests::validate_name_rejects_traversal ... ok [INFO] [stdout] test fs::tests::disk_free_root_is_plausible ... ok [INFO] [stdout] test fs::tests::disk_free_nonexistent_is_none ... ok [INFO] [stdout] test fs::perms::tests::chmod_changes_permissions ... ok [INFO] [stdout] test fs::perms::tests::chmod_nonexistent_fails ... ok [INFO] [stdout] test fs::ops::tests::undo_stack_push_pop ... ok [INFO] [stdout] test model::panel::tests::adjust_scroll_follows_cursor ... ok [INFO] [stdout] test fs::ops::tests::validate_name_accepts_unicode ... ok [INFO] [stdout] test model::panel::tests::apply_entries_clamps_stale_visual_anchor ... ok [INFO] [stdout] test model::panel::tests::apply_entries_clears_anchor_when_empty ... ok [INFO] [stdout] test fs::ops::tests::validate_name_rejects_backslash ... ok [INFO] [stdout] test model::panel::tests::dir_cache_lru_eviction ... ok [INFO] [stdout] test model::panel::tests::dir_cache_update_existing ... ok [INFO] [stdout] test fs::ops::tests::validate_name_accepts_dots_in_name ... ok [INFO] [stdout] test model::panel::tests::filter_is_case_insensitive_including_non_ascii ... ok [INFO] [stdout] test model::panel::tests::dir_cache_clear ... ok [INFO] [stdout] test model::panel::tests::dir_cache_insert_and_get ... ok [INFO] [stdout] test model::panel::tests::move_up_clamps_at_zero ... ok [INFO] [stdout] test model::panel::tests::load_dir_real_filesystem ... ok [INFO] [stdout] test model::panel::tests::page_up_down_with_empty_panel ... ok [INFO] [stdout] test model::panel::tests::resort_entries_dotdot_stays_first ... ok [INFO] [stdout] test model::panel::tests::navigation_move_up_down ... ok [INFO] [stdout] test model::panel::tests::navigation_page_up_down ... ok [INFO] [stdout] test model::panel::tests::resort_entries_empty ... ok [INFO] [stdout] test model::panel::tests::dir_cache_remove ... ok [INFO] [stdout] test model::panel::tests::dir_cache_promote_on_get ... ok [INFO] [stdout] test model::panel::tests::move_down_clamps_at_end ... ok [INFO] [stdout] test model::panel::tests::navigation_empty_panel ... ok [INFO] [stdout] test model::panel::tests::sort_by_extension ... ok [INFO] [stdout] test model::panel::tests::navigation_go_top_bottom ... ok [INFO] [stdout] test model::panel::tests::resort_entries_reorders ... ok [INFO] [stdout] test model::panel::tests::selected_entry_empty ... ok [INFO] [stdout] test model::panel::tests::sort_missing_timestamps_handled ... ok [INFO] [stdout] test model::panel::tests::sort_mode_label_roundtrip ... ok [INFO] [stdout] test model::panel::tests::sort_reverse ... ok [INFO] [stdout] test model::panel::tests::targeted_count_with_marks ... ok [INFO] [stdout] test model::panel::tests::targeted_paths_marks_override ... ok [INFO] [stdout] test model::panel::tests::targeted_paths_single ... ok [INFO] [stdout] test model::panel::tests::targeted_paths_skips_dotdot ... ok [INFO] [stdout] test model::panel::tests::targeted_paths_visual_range ... ok [INFO] [stdout] test model::panel::tests::toggle_mark_and_move ... ok [INFO] [stdout] test model::panel::tests::toggle_mark_skips_dotdot ... ok [INFO] [stdout] test model::panel::tests::visual_range_none_without_anchor ... ok [INFO] [stdout] test model::panel::tests::visual_range_with_anchor ... ok [INFO] [stdout] test model::panel::tests::selected_entry_in_bounds ... ok [INFO] [stdout] test model::panel::tests::sort_by_created ... ok [INFO] [stdout] test model::panel::tests::sort_by_extension_ordering ... ok [INFO] [stdout] test model::panel::tests::sort_by_modified ... ok [INFO] [stdout] test model::tree::tests::build_tree_collapsed_dir_not_expanded ... ok [INFO] [stdout] test model::panel::tests::sort_by_name ... ok [INFO] [stdout] test model::panel::tests::sort_by_size ... ok [INFO] [stdout] test model::panel::tests::sort_mode_from_label_unknown ... ok [INFO] [stdout] test preview::tests::extract_strings_ascii_runs_with_offsets ... ok [INFO] [stdout] test model::tree::tests::build_tree_hides_hidden_files ... ok [INFO] [stdout] test model::tree::tests::build_tree_expands_path_to_current ... ok [INFO] [stdout] test model::tree::tests::build_tree_manually_expanded_dir ... ok [INFO] [stdout] test model::tree::tests::build_tree_root_is_current ... ok [INFO] [stdout] test model::tree::tests::build_tree_prefixes_correct ... ok [INFO] [stdout] test model::tree::tests::build_tree_shows_hidden_files ... ok [INFO] [stdout] test preview::tests::from_text_splits_and_sanitizes_lines ... ok [INFO] [stdout] test preview::tests::hex_position_non_binary ... ok [INFO] [stdout] test preview::tests::hex_position_binary ... ok [INFO] [stdout] test preview::tests::extract_strings_finds_utf16le ... ok [INFO] [stdout] test preview::tests::load_binary_file ... ok [INFO] [stdout] test preview::tests::extract_strings_respects_min_len_and_cap ... ok [INFO] [stdout] test preview::tests::load_directory_preview ... ok [INFO] [stdout] test preview::tests::load_empty_file ... ok [INFO] [stdout] test preview::tests::load_first_never_switches_to_hex ... ok [INFO] [stdout] test preview::tests::load_full_binary_detection_nul_byte ... ok [INFO] [stdout] test preview::tests::load_full_high_control_ratio_binary ... ok [INFO] [stdout] test preview::tests::load_first_pages_large_files ... ok [INFO] [stdout] test preview::tests::load_text_file ... ok [INFO] [stdout] test preview::tests::load_too_large_file ... ok [INFO] [stdout] test preview::tests::loading_placeholder_sets_title ... ok [INFO] [stdout] test preview::tests::read_more_hex_pages_past_first_block ... ok [INFO] [stdout] test preview::tests::load_full_text_no_binary ... ok [INFO] [stdout] test preview::tests::sanitize_control_chars ... ok [INFO] [stdout] test preview::tests::load_nonexistent_file ... ok [INFO] [stdout] test preview::tests::sanitize_empty ... ok [INFO] [stdout] test preview::tests::sanitize_tab_alignment ... ok [INFO] [stdout] test preview::tests::load_partial_reads_limited_lines ... ok [INFO] [stdout] test preview::tests::sanitize_multiple_tabs ... ok [INFO] [stdout] test preview::tests::sanitize_tab_mid_line ... ok [INFO] [stdout] test preview::tests::sanitize_plain_text ... ok [INFO] [stdout] test preview::tests::sanitize_tab_start_of_line ... ok [INFO] [stdout] test preview::tests::sanitize_unicode_preserved ... ok [INFO] [stdout] test preview::tests::scroll_down_and_up_sequence ... ok [INFO] [stdout] test preview::tests::scroll_down_clamps_at_max ... ok [INFO] [stdout] test preview::tests::scroll_up_already_at_zero ... ok [INFO] [stdout] test preview::tests::scroll_down_empty_lines ... ok [INFO] [stdout] test preview::tests::scroll_up_clamps_at_zero ... ok [INFO] [stdout] test preview::tests::text_position_binary_returns_zeros ... ok [INFO] [stdout] test preview::tests::text_position_empty ... ok [INFO] [stdout] test preview::tests::text_position_normal ... ok [INFO] [stdout] test preview::tests::load_partial_side_panel ... ok [INFO] [stdout] test preview::tests::sanitize_mixed ... ok [INFO] [stdout] test search::tests::adjust_scroll_follows_selected ... ok [INFO] [stdout] test search::tests::adjust_scroll_zero_height_noop ... ok [INFO] [stdout] test search::tests::adjust_scroll_follows_selected_down ... ok [INFO] [stdout] test search::tests::elapsed_str_none ... ok [INFO] [stdout] test search::tests::fuzzy_case_insensitive ... ok [INFO] [stdout] test search::tests::adjust_scroll_follows_selected_up ... ok [INFO] [stdout] test search::tests::fuzzy_exact_match ... ok [INFO] [stdout] test search::tests::fuzzy_consecutive_bonus ... ok [INFO] [stdout] test search::tests::fuzzy_longer_text_penalty ... ok [INFO] [stdout] test search::tests::fuzzy_empty_query ... ok [INFO] [stdout] test search::tests::fuzzy_no_match ... ok [INFO] [stdout] test search::tests::fuzzy_path_separator_bonus ... ok [INFO] [stdout] test search::tests::fuzzy_query_longer_than_text ... ok [INFO] [stdout] test search::tests::fuzzy_single_char_match ... ok [INFO] [stdout] test search::tests::fuzzy_subsequence ... ok [INFO] [stdout] test search::tests::get_item_out_of_bounds ... ok [INFO] [stdout] test search::tests::get_item_and_selected_path ... ok [INFO] [stdout] test search::tests::move_down_empty_noop ... ok [INFO] [stdout] test search::tests::move_down_increments_selected ... ok [INFO] [stdout] test search::tests::move_down_wraps_at_end ... ok [INFO] [stdout] test search::tests::move_up_at_zero_noop ... ok [INFO] [stdout] test search::tests::move_up_decrements_selected ... ok [INFO] [stdout] test search::tests::parse_grep_basic ... ok [INFO] [stdout] test preview::tests::load_binary_hex_format ... ok [INFO] [stdout] test search::tests::parse_grep_no_line_number ... ok [INFO] [stdout] test search::tests::parse_grep_text_contains_colons ... ok [INFO] [stdout] test search::tests::parse_grep_empty_match_text ... ok [INFO] [stdout] test search::tests::recv_next_applies_queued_entries_in_one_batch ... ok [INFO] [stdout] test model::tree::tests::build_tree_dirs_before_files ... ok [INFO] [stdout] test search::tests::selected_is_dir_true ... ok [INFO] [stdout] test search::tests::selected_path_at_index ... ok [INFO] [stdout] test search::tests::selected_path_empty ... ok [INFO] [stdout] test search::tests::selected_is_dir_false ... ok [INFO] [stdout] test search::tests::selected_is_dir_empty ... ok [INFO] [stdout] test search::tests::new_local_keeps_its_walker_handle ... ok [INFO] [stdout] test search::tests::spinner_frame_increments ... ok [INFO] [stdout] test search::tests::spinner_returns_nonempty ... ok [INFO] [stdout] test search::tests::switch_scope_preserves_query ... ok [INFO] [stdout] test search::tests::update_filter_no_match ... ok [INFO] [stdout] test search::tests::update_filter_resets_selected_and_scroll ... ok [INFO] [stdout] test search::tests::update_filter_with_fuzzy_query ... ok [INFO] [stdout] test search::tests::update_filter_empty_query_shows_all ... ok [INFO] [stdout] test storage::tests::bookmarks_rename ... ok [INFO] [stdout] test search::tests::update_filter_fuzzy_both_match ... ok [INFO] [stdout] test search::tests::update_filter_narrows_results ... ok [INFO] [stdout] test search::tests::total_and_filtered_counts ... ok [INFO] [stdout] test storage::tests::dir_sizes_save_load ... ok [INFO] [stdout] test storage::tests::bookmarks_crud ... ok [INFO] [stdout] test search::tests::switch_scope_preserves_query_content ... ok [INFO] [stdout] test storage::tests::dir_sort_default_removes_row ... ok [INFO] [stdout] test storage::tests::session_save_preserves_transparent ... ok [INFO] [stdout] test storage::tests::session_save_load ... ok [INFO] [stdout] test storage::tests::dir_sort_save_load ... ok [INFO] [stdout] test storage::tests::session_save_preserves_theme ... ok [INFO] [stdout] test storage::tests::git_statuses_save_load ... ok [INFO] [stdout] test storage::tests::git_statuses_overwrite ... ok [INFO] [stdout] test storage::tests::transparent_save_load ... ok [INFO] [stdout] test storage::tests::theme_save_load ... ok [INFO] [stdout] test storage::tests::visual_marks_crud ... ok [INFO] [stdout] test storage::tests::layout_save_load ... ok [INFO] [stdout] test tests::drain_applies_whole_burst_under_cap ... ok [INFO] [stdout] test theme::tests::is_light_theme_dark_bg ... ok [INFO] [stdout] test theme::tests::is_light_theme_near_threshold ... ok [INFO] [stdout] test theme::tests::is_light_theme_invalid_toml ... ok [INFO] [stdout] test theme::tests::default_theme_has_distinct_colors ... ok [INFO] [stdout] test tests::drain_stops_at_quit_and_leaves_the_rest_queued ... ok [INFO] [stdout] test tests::drain_caps_batch_without_dropping_the_surplus ... ok [INFO] [stdout] test theme::tests::all_builtin_themes_parse ... ok [INFO] [stdout] test tests::drain_reports_no_frame_for_unhandled_events ... ok [INFO] [stdout] test theme::tests::is_light_theme_white_bg ... ok [INFO] [stdout] test theme::tests::resolve_color_hex ... ok [INFO] [stdout] test ui::overlays::tasks::tests::progress_bar_fills_proportionally ... ok [INFO] [stdout] test ui::tests::not_too_small_at_minimums ... ok [INFO] [stdout] test ui::tests::too_small_below_minimums ... ok [INFO] [stdout] test ui::util::tests::centered_rect_max_size ... ok [INFO] [stdout] test ui::util::tests::centered_rect_min_size ... ok [INFO] [stdout] test ui::util::tests::centered_rect_small_area ... ok [INFO] [stdout] test ui::util::tests::display_width_ascii ... ok [INFO] [stdout] test ui::util::tests::display_width_cjk ... ok [INFO] [stdout] test ui::util::tests::display_width_combining ... ok [INFO] [stdout] test ui::util::tests::centered_rect_basic ... ok [INFO] [stdout] test theme::tests::parse_hex_valid ... ok [INFO] [stdout] test ui::util::tests::display_width_emoji ... ok [INFO] [stdout] test theme::tests::parse_hex_invalid ... ok [INFO] [stdout] test theme::tests::resolve_color_unknown_fallback ... ok [INFO] [stdout] test ui::util::tests::fit_truncated_truncates_and_no_pad ... ok [INFO] [stdout] test theme::tests::resolve_color_reference ... ok [INFO] [stdout] test ui::util::tests::format_time_old ... ok [INFO] [stdout] test ui::util::tests::fit_truncated_fills_remaining ... ok [INFO] [stdout] test ui::util::tests::pad_basic ... ok [INFO] [stdout] test ui::util::tests::fit_truncated_reserved_exceeds_total ... ok [INFO] [stdout] test ui::util::tests::pad_cjk ... ok [INFO] [stdout] test ui::util::tests::pad_exact_width ... ok [INFO] [stdout] test ui::util::tests::truncate_basic ... ok [INFO] [stdout] test ui::util::tests::truncate_cjk_boundary ... ok [INFO] [stdout] test ui::util::tests::format_time_recent ... ok [INFO] [stdout] test ui::util::tests::pad_already_wider ... ok [INFO] [stdout] test ui::util::tests::truncate_left_no_truncation_needed ... ok [INFO] [stdout] test ui::util::tests::truncate_left_tiny_budget ... ok [INFO] [stdout] test ui::util::tests::truncate_left_keeps_tail ... ok [INFO] [stdout] test ui::util::tests::truncate_empty_string ... ok [INFO] [stdout] test ui::util::tests::pad_zero_width ... ok [INFO] [stdout] test ui::util::tests::truncate_left_cjk_boundary ... ok [INFO] [stdout] test ui::overlays::tasks::tests::progress_bar_bounds ... ok [INFO] [stdout] test ui::util::tests::display_width_nerd_font_icons ... ok [INFO] [stdout] test ui::util::tests::fit_truncated_cjk_pad ... ok [INFO] [stdout] test ui::util::tests::visible_tail_fits ... ok [INFO] [stdout] test ui::util::tests::visible_tail_zero ... ok [INFO] [stdout] test util::icons::tests::dir_generic ... ok [INFO] [stdout] test util::icons::tests::dir_git ... ok [INFO] [stdout] test util::icons::tests::dir_src ... ok [INFO] [stdout] test util::icons::tests::dotdot_entry ... ok [INFO] [stdout] test util::icons::tests::ext_rs ... ok [INFO] [stdout] test util::icons::tests::no_extension ... ok [INFO] [stdout] test util::icons::tests::special_cargo_toml ... ok [INFO] [stdout] test util::icons::tests::special_dockerfile ... ok [INFO] [stdout] test util::icons::tests::special_gitignore ... ok [INFO] [stdout] test util::icons::tests::special_readme ... ok [INFO] [stdout] test ui::util::tests::truncate_max_cols_zero ... ok [INFO] [stdout] test ui::util::tests::truncate_no_truncation_needed ... ok [INFO] [stdout] test ui::util::tests::visible_tail_cjk_no_overflow ... ok [INFO] [stdout] test util::icons::tests::unknown_extension ... ok [INFO] [stdout] test ui::util::tests::visible_tail_scrolls ... ok [INFO] [stdout] test util::natsort::tests::basic_numeric ... ok [INFO] [stdout] test util::natsort::tests::case_insensitive ... ok [INFO] [stdout] test util::natsort::tests::cyrillic_names ... ok [INFO] [stdout] test util::natsort::tests::dates ... ok [INFO] [stdout] test util::natsort::tests::dotfiles ... ok [INFO] [stdout] test util::natsort::tests::mixed_ascii_and_unicode ... ok [INFO] [stdout] test util::natsort::tests::no_numbers ... ok [INFO] [stdout] test util::natsort::tests::pure_numbers ... ok [INFO] [stdout] test util::natsort::tests::version_numbers ... ok [INFO] [stdout] test util::icons::tests::dir_node_modules ... ok [INFO] [stdout] test util::natsort::tests::leading_zeros ... ok [INFO] [stdout] test util::tests::format_bytes_ranges ... ok [INFO] [stdout] test util::natsort::tests::mixed_alpha_numeric ... ok [INFO] [stdout] test util::tests::format_duration_seconds_and_minutes ... ok [INFO] [stdout] test util::tests::glob_combined ... ok [INFO] [stdout] test util::icons::tests::ext_js ... ok [INFO] [stdout] test util::tests::glob_consecutive_stars ... ok [INFO] [stdout] test util::tests::glob_empty ... ok [INFO] [stdout] test util::tests::glob_exact_match ... ok [INFO] [stdout] test util::icons::tests::ext_py ... ok [INFO] [stdout] test util::tests::glob_pattern_longer_than_text ... ok [INFO] [stdout] test util::tests::glob_question_mark ... ok [INFO] [stdout] test util::tests::glob_star_at_start ... ok [INFO] [stdout] test util::tests::glob_unicode ... ok [INFO] [stdout] test util::tests::glob_multiple_stars ... ok [INFO] [stdout] test viewer::hexsearch::tests::advance_retreat_wrap ... ok [INFO] [stdout] test viewer::hexsearch::tests::hits_in_window ... ok [INFO] [stdout] test util::tests::glob_only_question_marks ... ok [INFO] [stdout] test util::tests::glob_no_exponential_backtracking ... ok [INFO] [stdout] test util::natsort::tests::empty_and_whitespace ... ok [INFO] [stdout] test util::tests::glob_star_at_end ... ok [INFO] [stdout] test viewer::highlight::tests::empty_returns_none ... ok [INFO] [stdout] test viewer::hexsearch::tests::recompute_ascii_match ... ok [INFO] [stdout] test viewer::hexsearch::tests::odd_nibbles_fall_back_to_ascii ... ok [INFO] [stdout] test viewer::hexsearch::tests::recompute_finds_non_overlapping ... ok [INFO] [stdout] test util::tests::glob_star_wildcard ... ok [INFO] [stdout] test viewer::inspect::tests::little_and_big_endian_integers ... ok [INFO] [stdout] test viewer::inspect::tests::past_end_offset_yields_only_offset ... ok [INFO] [stdout] test viewer::inspect::tests::truncated_near_eof_omits_wide_fields ... ok [INFO] [stdout] test viewer::layout::tests::no_wrap_is_one_row_per_line ... ok [INFO] [stdout] test viewer::inspect::tests::unix_and_filetime_format ... ok [INFO] [stdout] test viewer::layout::tests::wrap_multiple_lines_maps_correctly ... ok [INFO] [stdout] test viewer::layout::tests::wrap_empty_line_keeps_one_row ... ok [INFO] [stdout] test viewer::search::tests::advance_and_retreat_wrap ... ok [INFO] [stdout] test viewer::hexsearch::tests::non_hex_text_is_ascii ... ok [INFO] [stdout] test viewer::layout::tests::wrap_splits_long_line ... ok [INFO] [stdout] test viewer::layout::tests::wrap_wide_char_gets_own_row ... ok [INFO] [stdout] test viewer::hexsearch::tests::parses_hex_pattern ... ok [INFO] [stdout] test viewer::search::tests::empty_query_clears_matches ... ok [INFO] [stdout] test viewer::hexsearch::tests::quote_forces_ascii ... ok [INFO] [stdout] test viewer::search::tests::smart_case_lowercase_query_is_insensitive ... ok [INFO] [stdout] test viewer::search::tests::recompute_finds_case_insensitive_positions ... ok [INFO] [stdout] test viewer::search::tests::advance_no_matches_returns_false ... ok [INFO] [stdout] test viewer::search::tests::recompute_multiple_per_line ... ok [INFO] [stdout] test viewer::search::tests::smart_case_uppercase_query_is_sensitive ... ok [INFO] [stdout] test viewer::tests::goto_offset_places_cursor_and_clamps ... ok [INFO] [stdout] test viewer::tests::hex_cols_for_width_picks_multiple_of_8 ... ok [INFO] [stdout] test viewer::tests::hex_cursor_step_moves_and_scrolls ... ok [INFO] [stdout] test viewer::tests::parse_offset_forms ... ok [INFO] [stdout] test viewer::tests::width_change_reanchors_scroll_by_byte ... ok [INFO] [stdout] test viewer::highlight::tests::unknown_extension_returns_none ... ok [INFO] [stdout] test viewer::highlight::tests::highlights_rust_source ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 767 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20", kill_on_drop: false }` [INFO] [stdout] 47a0a928378b262ab56f2bc2065ee028573dbc95e4c67c44d66c1aea1c8f5d20