[INFO] fetching crate scooter-core 0.3.2... [INFO] testing scooter-core-0.3.2 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate scooter-core 0.3.2 into /workspace/builds/worker-2-tc2/source [INFO] started tweaking crates.io crate scooter-core 0.3.2 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate scooter-core 0.3.2 [INFO] tweaked toml for crates.io crate scooter-core 0.3.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate scooter-core 0.3.2 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate scooter-core 0.3.2 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "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/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f5efd067e5d3f87bfafd61dde3b3d8056b9510af0616d174d15b1cfc342defb3 [INFO] running `Command { std: "docker" "start" "-a" "f5efd067e5d3f87bfafd61dde3b3d8056b9510af0616d174d15b1cfc342defb3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f5efd067e5d3f87bfafd61dde3b3d8056b9510af0616d174d15b1cfc342defb3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f5efd067e5d3f87bfafd61dde3b3d8056b9510af0616d174d15b1cfc342defb3", kill_on_drop: false }` [INFO] [stdout] f5efd067e5d3f87bfafd61dde3b3d8056b9510af0616d174d15b1cfc342defb3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8ee3938770964c1486d7f11becb6e90b4c6b002e1d83faf360c872badae9648a [INFO] running `Command { std: "docker" "start" "-a" "8ee3938770964c1486d7f11becb6e90b4c6b002e1d83faf360c872badae9648a", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling ordered-float v2.10.1 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling arc-swap v1.8.2 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling log-mdc v0.1.0 [INFO] [stderr] Compiling mock_instant v0.6.0 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Compiling toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling toml_writer v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling termini v1.0.0 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling content_inspector v0.2.4 [INFO] [stderr] Compiling toml v1.0.3+spec-1.1.0 [INFO] [stderr] Compiling etcetera v0.11.0 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling onig_sys v69.9.1 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling thread-id v5.1.0 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling fancy-regex v0.17.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde-value v0.7.0 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling plist v1.8.0 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling onig v6.5.1 [INFO] [stderr] Compiling log4rs v1.4.0 [INFO] [stderr] Compiling syntect v5.3.0 [INFO] [stderr] Compiling simple-log v2.4.0 [INFO] [stderr] Compiling two-face v0.5.1 [INFO] [stderr] Compiling scooter-core v0.3.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.19s [INFO] running `Command { std: "docker" "inspect" "8ee3938770964c1486d7f11becb6e90b4c6b002e1d83faf360c872badae9648a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8ee3938770964c1486d7f11becb6e90b4c6b002e1d83faf360c872badae9648a", kill_on_drop: false }` [INFO] [stdout] 8ee3938770964c1486d7f11becb6e90b4c6b002e1d83faf360c872badae9648a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7921c97cd7687cc8cca7d3c33321f854c5492ec13a14c09f033dfaebca602cf2 [INFO] running `Command { std: "docker" "start" "-a" "7921c97cd7687cc8cca7d3c33321f854c5492ec13a14c09f033dfaebca602cf2", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling rand_core v0.10.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling serial_test_derive v3.4.0 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling chacha20 v0.10.0 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling rand v0.10.0 [INFO] [stderr] Compiling insta v1.46.3 [INFO] [stderr] Compiling scooter-core v0.3.2 (/opt/rustwide/workdir) [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling serial_test v3.4.0 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 18.23s [INFO] running `Command { std: "docker" "inspect" "7921c97cd7687cc8cca7d3c33321f854c5492ec13a14c09f033dfaebca602cf2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7921c97cd7687cc8cca7d3c33321f854c5492ec13a14c09f033dfaebca602cf2", kill_on_drop: false }` [INFO] [stdout] 7921c97cd7687cc8cca7d3c33321f854c5492ec13a14c09f033dfaebca602cf2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d8229cc1be5929428cbdef07462a3072352e14217a2fb620c2369b05091881b0 [INFO] running `Command { std: "docker" "start" "-a" "d8229cc1be5929428cbdef07462a3072352e14217a2fb620c2369b05091881b0", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.58s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/scooter_core-77feb04d748bae40) [INFO] [stdout] [INFO] [stdout] running 384 tests [INFO] [stdout] test app::tests::test_escape_deprecation_message_with_f_key ... ok [INFO] [stdout] test app::tests::test_flip_multi_select_direction ... ok [INFO] [stdout] test app::tests::test_escape_deprecation_message_with_no_mapping ... ok [INFO] [stdout] test app::tests::replacement_context_skips_stale_results ... ok [INFO] [stdout] test app::tests::test_escape_deprecation_message_with_ctrl_alt_q_keymap ... ok [INFO] [stdout] test app::tests::test_calculate_statistics_with_ignores_and_errors ... ok [INFO] [stdout] test app::tests::test_search_state_movement_top_bottom ... ok [INFO] [stdout] test app::tests::test_search_state_movement_half_page_increments ... ok [INFO] [stdout] test app::tests::test_selected_fields_movement ... ok [INFO] [stdout] test app::tests::test_toggle_all_selected_when_some_selected ... ok [INFO] [stdout] test app::tests::test_selected_fields_toggling ... ok [INFO] [stdout] test app::tests::test_toggle_all_selected_when_all_selected ... ok [INFO] [stdout] test app::tests::test_toggle_all_selected_when_no_results ... ok [INFO] [stdout] test app::tests::test_calculate_statistics_all_success ... ok [INFO] [stdout] test app::tests::test_toggle_all_selected_when_none_selected ... ok [INFO] [stdout] test app::tests::test_search_state_toggling ... ok [INFO] [stdout] test app::tests::test_search_state_movement_single ... ok [INFO] [stdout] test app::tests::test_search_state_movement_page_increments ... ok [INFO] [stdout] test config::tests::test_get_theme_enabled_with_theme ... ok [INFO] [stdout] test config::tests::test_get_theme_none ... ok [INFO] [stdout] test config::tests::test_all_default_keybindings_are_valid ... ok [INFO] [stdout] test app::tests::test_key_handling_unmapped_key_closes_popup ... ok [INFO] [stdout] test config::tests::test_multiple_keys_same_command_no_conflict ... ok [INFO] [stdout] test config::tests::test_full_config ... ok [INFO] [stdout] test config::tests::test_key_conflict_with_multiple_mappings ... ok [INFO] [stdout] test config::tests::test_key_conflict_within_same_section ... ok [INFO] [stdout] test config::tests::test_get_theme_disabled ... ok [INFO] [stdout] test app::tests::test_key_handling_quit_takes_precedent ... ok [INFO] [stdout] test config::tests::test_no_conflict_between_different_screens ... ok [INFO] [stdout] test config::tests::test_empty_config_file ... ok [INFO] [stdout] test config::tests::test_missing_editor_exit_field ... ok [INFO] [stdout] test config::tests::test_unknown_keys_field_rejected ... ok [INFO] [stdout] test config::tests::test_uppercase_char_conflict_detection ... ok [INFO] [stdout] test config::tests::test_no_conflict_between_general_and_screen_specific ... ok [INFO] [stdout] test config::tests::test_partial_config_editor_only ... ok [INFO] [stdout] test config::tests::test_partial_config_preview_only ... ok [INFO] [stdout] test diff::tests::test_addition_at_start ... ok [INFO] [stdout] test diff::tests::test_addition_at_end ... ok [INFO] [stdout] test diff::tests::test_empty_to_nonempty ... ok [INFO] [stdout] test diff::tests::test_completely_different_strings ... ok [INFO] [stdout] test diff::tests::test_crlf_in_content ... ok [INFO] [stdout] test diff::tests::test_identical_lines ... ok [INFO] [stdout] test diff::tests::test_single_char_difference ... ok [INFO] [stdout] test diff::tests::test_unicode_cjk_characters ... ok [INFO] [stdout] test diff::tests::test_newline_in_new_content ... ok [INFO] [stdout] test diff::tests::test_unicode_multibyte_chars ... ok [INFO] [stdout] test diff::tests::test_newline_in_old_content ... ok [INFO] [stdout] test diff::tests::test_nonempty_to_empty ... ok [INFO] [stdout] test fields::tests::test_cursor_position_with_wide_chars ... ok [INFO] [stdout] test diff::tests::test_replacement_with_only_newlines ... ok [INFO] [stdout] test fields::tests::test_byte_index_calculation ... ok [INFO] [stdout] test fields::tests::test_checkbox_field ... ok [INFO] [stdout] test fields::tests::test_focus_with_locked_disabled_fields ... ok [INFO] [stdout] test fields::tests::test_empty_text_edge_cases ... ok [INFO] [stdout] test fields::tests::test_focus_all_fields_disabled_and_locked ... ok [INFO] [stdout] test fields::tests::test_complex_unicode_scenarios ... ok [INFO] [stdout] test fields::tests::test_cursor_boundary_cases ... ok [INFO] [stdout] test fields::tests::test_initial_highlight_position_with_prepopulated_fields_disable_false ... ok [INFO] [stdout] test fields::tests::test_initial_highlight_position_with_prepopulated_fields_disable_true ... ok [INFO] [stdout] test fields::tests::test_focus_with_unlocked_disabled_fields ... ok [INFO] [stdout] test fields::tests::test_set_text_and_insert_text ... ok [INFO] [stdout] test fields::tests::test_word_navigation_special_cases ... ok [INFO] [stdout] test fields::tests::test_word_navigation_with_punctuation ... ok [INFO] [stdout] test fields::tests::test_search_fields ... ok [INFO] [stdout] test line_reader::tests::test_buf_read_ext_trait ... ok [INFO] [stdout] test fields::tests::test_visual_cursor_position ... ok [INFO] [stdout] test fields::tests::test_text_field_operations ... ok [INFO] [stdout] test line_reader::tests::test_lines_split_endings_empty_lines ... ok [INFO] [stdout] test line_reader::tests::test_lines_split_endings_empty ... ok [INFO] [stdout] test line_reader::tests::test_lines_split_endings_single_line_no_ending ... ok [INFO] [stdout] test fields::tests::test_unicode_text_handling ... ok [INFO] [stdout] test line_reader::tests::test_lines_split_endings_multiple_lines_mixed ... ok [INFO] [stdout] test line_reader::tests::test_lines_split_endings_single_line_with_lf ... ok [INFO] [stdout] test line_reader::tests::test_split_line_ending_crlf ... ok [INFO] [stdout] test line_reader::tests::test_split_line_ending_lf ... ok [INFO] [stdout] test line_reader::tests::test_split_line_ending_no_ending ... ok [INFO] [stdout] test line_reader::tests::test_split_line_ending_unicode ... ok [INFO] [stdout] test file_content::tests::test_invalidate_cache_entry ... ok [INFO] [stdout] test file_content::tests::test_clear_cache ... ok [INFO] [stdout] test line_reader::tests::test_unicode_content ... ok [INFO] [stdout] test diff::tests::test_empty_strings ... ok [INFO] [stdout] test line_reader::tests::test_large_line ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_empty_replacement ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_file_truncated_multiple_replacements ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_file_partially_truncated_single_replacement ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_happy_path_multiple_replacements ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_file_truncated_partial_match ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_first_replacement_succeeds_second_content_changed ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_preserves_trailing_content ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_happy_path_single_replacement ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_multiline_replacement ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_multiple_unicode_replacements ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_replacement_at_start ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_replacement_at_end ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_replacement_with_different_length ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_empty_file ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_file_content_changed ... ok [INFO] [stdout] test replace::tests::interpret_escapes_tests::test_tab ... ok [INFO] [stdout] test replace::tests::interpret_escapes_tests::test_no_escapes ... ok [INFO] [stdout] test replace::tests::interpret_escapes_tests::test_unrecognized_escapes_left_as_is ... ok [INFO] [stdout] test replace::tests::interpret_escapes_tests::test_mixed ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_byte_offsets_no_overlap_same_line ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_byte_offsets_across_lines ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_spanning_multiple_lines ... ok [INFO] [stdout] test replace::tests::interpret_escapes_tests::test_backslash ... ok [INFO] [stdout] test replace::tests::interpret_escapes_tests::test_carriage_return ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_unicode_replacement ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_unicode_content ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_byte_offsets_overlap_conflict ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_empty_results ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_no_conflict_adjacent_multiline_byte_ranges ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_byte_offsets_touching_no_conflict ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_chain_of_overlapping_conflicts ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_conflict_overlapping_byte_ranges ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_no_conflicts_sequential_byte_ranges ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_single_result ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_conflict_overlapping_multiline_byte_ranges ... ok [INFO] [stdout] test replace::tests::mark_conflicting_replacements_tests::test_sorting_by_byte_offset ... ok [INFO] [stdout] test replace::tests::interpret_escapes_tests::test_newline ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_zero_length_insertion ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_conflict_detection_byte_offsets_adjacent ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_conflict_detection_line_level_adjacent ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_conflict_detection_byte_offsets_with_overlap ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_adjacent_non_overlapping ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_conflict_detection_byte_offsets_no_overlap ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_file_changed_multiline_validation ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_conflict_overlapping_ranges ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_file_too_short_multiline ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_mixed_single_and_multiline ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiline_at_end_of_file ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiline_no_newline_in_replacement ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiple_overlapping_conflicts ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_partial_overlap ... ok [INFO] [stdout] test replace::tests::byte_mode_replace_tests::test_byte_mode_file_fully_truncated_single_replacement ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiple_matches_same_line_all_replaced ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiple_matches_same_line_no_conflict ... ok [INFO] [stdout] test replace::tests::permission_preservation_tests::test_replace_in_memory_preserves_permissions ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_non_overlapping_multiline_replacements ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_multiple_multiline_with_gaps ... ok [INFO] [stdout] test replace::tests::permission_preservation_tests::test_replace_in_file_preserves_permissions ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_unsorted_input ... ok [INFO] [stdout] test replace::tests::permission_preservation_tests::test_replace_preserves_permissive_permissions ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_single_line_between_multiline ... ok [INFO] [stdout] test replace::tests::multiline_replace_tests::test_single_multiline_replacement ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_true_match_case_true::test_case_sensitivity ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_false_match_case_true::test_case_sensitivity ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_false::test_basic_replacement ... ok [INFO] [stdout] test replace::tests::interpret_escapes_tests::test_trailing_backslash ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_true::test_basic_replacement ... ok [INFO] [stdout] test replace::tests::permission_preservation_tests::test_replace_preserves_restrictive_permissions ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_false::test_substring_matches ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_true::test_case_sensitivity ... ok [INFO] [stdout] test app::tests::test_escape_deprecation_message_with_default ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_false::test_case_insensitivity ... ok [INFO] [stdout] test fields::tests::test_delete_to_start ... ok [INFO] [stdout] test line_reader::tests::test_split_line_ending_empty ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_false_match_case_true::test_substring_matches ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_true::test_basic_replacement ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_false_match_case_true::test_complex_pattern ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_true::test_word_boundaries ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_false_match_case_false::test_complex_pattern_case_insensitive ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_false::test_substring_matches ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_true::test_case_sensitivity ... ok [INFO] [stdout] test config::tests::test_invalid_key_modifier_error_message ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_true::test_case_sensitivity ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_true_match_case_false::test_word_boundaries ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_false::test_basic_replacement ... ok [INFO] [stdout] test config::tests::test_invalid_key_code_error_message ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_false::test_word_boundaries ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_true_match_case_true::test_lookbehind ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_false::test_unicode ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fixed_string_tests::whole_word_true_match_case_false::test_case_insensitivity ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_false::test_complex_pattern ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_false_match_case_false::test_unicode_support ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_true_match_case_false::test_lookbehind_case_insensitive ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_false::test_basic_regex ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_true::test_case_sensitivity ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_false::test_word_boundaries ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_true::test_basic_regex ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_true::test_word_boundaries ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_false::test_basic_regex ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_empty_haystack ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_empty_search_regex ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_true::test_basic_regex ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_false_match_case_true::test_substring_matches ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_false::test_unicode_word_boundaries ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_case_sensitive ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::fancy_regex_pattern_tests::whole_word_true_match_case_true::test_lookahead ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::regex_pattern_tests::whole_word_true_match_case_false::test_special_characters ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_optional_patterns ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_multiple_replacements ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_single_char ... ok [INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_advanced_regex_lookaround_match ... ok [INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_fixed_string_match ... ok [INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_fixed_string_mismatch ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_special_regex_chars ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_no_match ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_basic_regex_patterns ... ok [INFO] [stdout] test replace::tests::search_file_tests::test_search_file_empty_search ... ok [INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_advanced_regex_lookaround_with_capture_groups ... ok [INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_regex_match ... ok [INFO] [stdout] test replace::tests::search_file_tests::test_search_file_nonexistent ... ok [INFO] [stdout] test replace::tests::replacement_for_match_in_haystack_tests::test_regex_match_with_capture_groups ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_multiple_matches ... ok [INFO] [stdout] test replace::tests::search_file_tests::test_search_file_advanced_regex_pattern ... ok [INFO] [stdout] test replace::tests::search_file_tests::test_search_file_multiple_matches ... ok [INFO] [stdout] test replace::tests::search_file_tests::test_search_file_regex_pattern ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_patterns_with_spaces ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_escaped_chars ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_complex_patterns ... ok [INFO] [stdout] test replace::tests::search_file_tests::test_search_file_simple_match ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_empty_strings ... ok [INFO] [stdout] test replace::tests::search_file_tests::test_search_file_no_matches ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_substring_no_match ... ok [INFO] [stdout] test replace::tests::test_calculate_statistics_with_errors ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_with_punctuation ... ok [INFO] [stdout] test replace::tests::search_file_tests::test_search_file_large_content ... ok [INFO] [stdout] test replace::tests::search_file_tests::test_search_file_unicode_content ... ok [INFO] [stdout] test replace::tests::search_file_tests::test_search_file_with_binary_content ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_word_boundaries ... ok [INFO] [stdout] test replace::tests::test_calculate_statistics_with_none_results ... ok [INFO] [stdout] test replace::tests::test_calculate_statistics_all_success ... ok [INFO] [stdout] test replace::tests::test_calculate_statistics_with_preview_error_converted ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_with_unicode ... ok [INFO] [stdout] test replace::tests::test_replace_chunked_nonexistent_file ... ok [INFO] [stdout] test replace::tests::test_replace_chunked_no_match ... ok [INFO] [stdout] test replace::tests::test_replace_directory_errors ... ok [INFO] [stdout] test replace::tests::test_replace_chunked_empty_file ... ok [INFO] [stdout] test replace::tests::test_replace_in_file_nonexistent_file ... ok [INFO] [stdout] test replace::tests::test_replace_all_in_file ... ok [INFO] [stdout] test replace::tests::test_replace_in_file_line_mismatch ... ok [INFO] [stdout] test replace::tests::test_replace_in_memory_empty_file ... ok [INFO] [stdout] test replace::tests::test_replace_in_file_success ... ok [INFO] [stdout] test replace::tests::test_replace_in_memory_no_match ... ok [INFO] [stdout] test replace::tests::test_split_results_all_included ... ok [INFO] [stdout] test replace::tests::test_split_results_mixed ... ok [INFO] [stdout] test replace::tests::test_replace_state_handle_command_results ... ok [INFO] [stdout] test replace::tests::test_replace_state_scroll_replacement_errors_up ... ok [INFO] [stdout] test replace::tests::test_split_results_separates_preview_errors ... ok [INFO] [stdout] test replace::tests::test_replace_in_memory_nonexistent_file ... ok [INFO] [stdout] test replace::tests::validate_search_result_correctness_tests::test_validate_search_result_correctness_advanced_regex_uses_haystack ... ok [INFO] [stdout] test replace::tests::test_replace_in_file_success_no_final_newline ... ok [INFO] [stdout] test replace::tests::test_replace_in_file_success_windows_newlines ... ok [INFO] [stdout] test replace::tests::validate_search_result_correctness_tests::test_validate_search_result_correctness_returns_error_on_missing_match ... ok [INFO] [stdout] test replace::tests::validate_search_result_correctness_tests::test_validate_search_result_correctness_returns_error_on_read_failure ... ok [INFO] [stdout] test run::tests::find_and_replace_text_line_mode_does_not_replace_newlines ... ok [INFO] [stdout] test run::tests::find_and_replace_text_multiline_replaces_across_lines ... ok [INFO] [stdout] test search::tests::file_searcher_tests::test_is_likely_binary_empty_extension ... ok [INFO] [stdout] test search::tests::file_searcher_tests::test_is_likely_binary_extensions ... ok [INFO] [stdout] test search::tests::file_searcher_tests::test_is_likely_binary_hidden_files ... ok [INFO] [stdout] test search::tests::file_searcher_tests::test_is_likely_binary_no_extension ... ok [INFO] [stdout] test search::tests::multiline_tests::test_create_search_result_multiline_match ... ok [INFO] [stdout] test search::tests::multiline_tests::test_create_search_result_single_line_match ... ok [INFO] [stdout] test search::tests::multiline_tests::test_crlf_match_ending_at_cr ... ok [INFO] [stdout] test run::tests::find_and_replace_text_line_mode_preserves_crlf ... ok [INFO] [stdout] test search::tests::multiline_tests::test_crlf_match_spanning_crlf_boundary ... ok [INFO] [stdout] test replace::tests::test_replace_chunked ... ok [INFO] [stdout] test search::tests::multiline_tests::test_crlf_match_ending_at_lf ... ok [INFO] [stdout] test replace::tests::test_replace_in_file_success_mixed_newlines ... ok [INFO] [stdout] test search::tests::multiline_tests::test_lf_match_ending_at_lf ... ok [INFO] [stdout] test search::tests::multiline_tests::test_line_index_single_line ... ok [INFO] [stdout] test search::tests::multiline_tests::test_lf_match_ending_at_lf_truly_no_next_line ... ok [INFO] [stdout] test search::tests::multiline_tests::test_line_index_multiple_lines ... ok [INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_fixed_string ... ok [INFO] [stdout] test search::tests::multiline_tests::test_lf_match_ending_at_lf_no_next_line ... ok [INFO] [stdout] test search::tests::multiline_tests::test_line_index_empty_lines ... ok [INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_line_endings_crlf ... ok [INFO] [stdout] test search::tests::file_searcher_tests::test_is_likely_binary_complex_paths ... ok [INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_line_endings_lf ... ok [INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_no_matches ... ok [INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_multiple_matches ... ok [INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_line_endings_none ... ok [INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_spanning_three_lines ... ok [INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_with_path ... ok [INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_pattern_at_end ... ok [INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_zero_length_match_start ... ok [INFO] [stdout] test search::tests::replace_any::test_no_match ... ok [INFO] [stdout] test search::tests::replace_any::test_simple_match_subword ... ok [INFO] [stdout] test search::tests::replace_any::test_unicode ... ok [INFO] [stdout] test replace::tests::test_unicode_in_file ... ok [INFO] [stdout] test search::tests::search_result_tests::test_display_error_with_complex_error_message ... ok [INFO] [stdout] test search::tests::replace_any::test_special_characters ... ok [INFO] [stdout] test search::tests::test_extract_lines_crlf_content_should_not_include_cr ... ok [INFO] [stdout] test search::tests::search_result_tests::test_display_error_with_unicode_path ... ok [INFO] [stdout] test search::tests::test_multiple_matches_per_line ... ok [INFO] [stdout] test search::tests::search_result_tests::test_display_error_with_error_result ... ok [INFO] [stdout] test search::tests::unicode_handling::test_unicode_normalization ... ok [INFO] [stdout] test search::tests::replace_any::test_word_boundaries ... ok [INFO] [stdout] test search::tests::replace_any::test_case_insensitive ... ok [INFO] [stdout] test search::tests::search_type_tests::test_search_type_emptiness ... ok [INFO] [stdout] test search::tests::replace_any::test_quantifiers ... ok [INFO] [stdout] test utils::tests::test_all_satisfy ... ok [INFO] [stdout] test utils::tests::test_ascii_full_string ... ok [INFO] [stdout] test search::tests::multiline_tests::test_search_multiline_regex_pattern ... ok [INFO] [stdout] test utils::tests::test_ascii_more_than_string ... ok [INFO] [stdout] test utils::tests::test_ascii_partial_string ... ok [INFO] [stdout] test utils::tests::test_ceil_div ... ok [INFO] [stdout] test utils::tests::test_chain ... ok [INFO] [stdout] test replace::tests::replace_if_match_tests::test_boundary_cases ... ok [INFO] [stdout] test utils::tests::test_array ... ok [INFO] [stdout] test utils::tests::test_file_not_found ... ok [INFO] [stdout] test search::tests::replace_any::test_lookaround ... ok [INFO] [stdout] test search::tests::unicode_handling::test_unicode_capture_groups ... ok [INFO] [stdout] test search::tests::unicode_handling::test_unicode_regex_classes ... ok [INFO] [stdout] test utils::tests::test_emoji ... ok [INFO] [stdout] test utils::tests::test_empty_string ... ok [INFO] [stdout] test utils::tests::test_empty ... ok [INFO] [stdout] test utils::tests::test_last_n_empty ... ok [INFO] [stdout] test utils::tests::test_last_string_n_empty ... ok [INFO] [stdout] test utils::tests::test_last_n_non_empty ... ok [INFO] [stdout] test utils::tests::test_last_n_string_non_empty ... ok [INFO] [stdout] test replace::tests::test_replace_in_memory ... ok [INFO] [stdout] test utils::tests::test_owned_vec ... ok [INFO] [stdout] test utils::tests::test_multibyte_chars ... ok [INFO] [stdout] test utils::tests::test_only_last_fails ... ok [INFO] [stdout] test utils::tests::test_range ... ok [INFO] [stdout] test utils::tests::test_none_satisfy ... ok [INFO] [stdout] test utils::tests::test_only_first_satisfies ... ok [INFO] [stdout] test replace::tests::search_file_tests::test_search_file_preserves_line_endings ... ok [INFO] [stdout] test replace::tests::test_replace_state_scroll_replacement_errors_down ... ok [INFO] [stdout] test utils::tests::test_range_exceeds_file_length ... ok [INFO] [stdout] test utils::tests::test_read_all_lines ... ok [INFO] [stdout] test utils::tests::test_read_from_beginning ... ok [INFO] [stdout] test utils::tests::test_read_lines_in_range ... ok [INFO] [stdout] test utils::tests::test_read_single_line ... ok [INFO] [stdout] test search::tests::unicode_handling::test_complex_unicode_replacement ... ok [INFO] [stdout] test utils::tests::test_empty_file ... ok [INFO] [stdout] test utils::tests::test_read_to_end ... ok [INFO] [stdout] test utils::tests::test_relative_path_file_in_dir ... ok [INFO] [stdout] test utils::tests::test_relative_path_nested ... ok [INFO] [stdout] test utils::tests::test_relative_path_not_ancestor ... ok [INFO] [stdout] test utils::tests::test_relative_path_parent_to_child ... ok [INFO] [stdout] test utils::tests::test_relative_path_root_cases ... ok [INFO] [stdout] test utils::tests::test_relative_path_same_dir ... ok [INFO] [stdout] test utils::tests::test_relative_path_same_file ... ok [INFO] [stdout] test utils::tests::test_relative_path_relative_paths ... ok [INFO] [stdout] test search::tests::replace_any::test_capture_groups ... ok [INFO] [stdout] test utils::tests::test_sanitize_control_chars ... ok [INFO] [stdout] test utils::tests::test_sanitize_empty_string ... ok [INFO] [stdout] test utils::tests::test_sanitize_carriage_returns ... ok [INFO] [stdout] test utils::tests::test_sanitize_only_control_chars ... ok [INFO] [stdout] test utils::tests::test_sanitize_newlines ... ok [INFO] [stdout] test utils::tests::test_sanitize_normal_text ... ok [INFO] [stdout] test utils::tests::test_sanitize_tabs ... ok [INFO] [stdout] test utils::tests::test_sanitize_unicode ... ok [INFO] [stdout] test utils::tests::test_single ... ok [INFO] [stdout] test utils::tests::test_split_empty ... ok [INFO] [stdout] test utils::tests::test_start_exceeds_file_length ... ok [INFO] [stdout] test utils::tests::test_relative_path_no_trailing_slash ... ok [INFO] [stdout] test utils::tests::test_some_satisfy ... ok [INFO] [stdout] test utils::tests::test_string_slice ... ok [INFO] [stdout] test search::tests::search_result_tests::test_display_error_panics_with_none_result - should panic ... ok [INFO] [stdout] test search::tests::search_result_tests::test_display_error_panics_with_success_result - should panic ... ok [INFO] [stdout] test utils::tests::test_largest_window_around ... ok [INFO] [stdout] test utils::tests::test_start_greater_than_end - should panic ... ok [INFO] [stdout] test utils::tests::test_unicode_chars ... ok [INFO] [stdout] test utils::tests::test_vec ... ok [INFO] [stdout] test utils::tests::test_with_strings ... ok [INFO] [stdout] test utils::tests::test_zero_chars ... ok [INFO] [stdout] test utils::tests::test_with_empty_lines ... ok [INFO] [stdout] test validation::tests::parse_search_text_tests::test_convert_regex_escapes_special_chars ... ok [INFO] [stdout] test validation::tests::parse_search_text_tests::test_convert_regex_whole_word ... ok [INFO] [stdout] test validation::tests::parse_search_text_tests::test_convert_regex_case_insensitive ... ok [INFO] [stdout] test validation::tests::parse_search_text_tests::test_fixed_string_with_regex_chars_case_insensitive ... ok [INFO] [stdout] test validation::tests::parse_search_text_tests::test_fixed_string_with_unbalanced_paren_in_case_insensitive_mode ... ok [INFO] [stdout] test validation::tests::test_fixed_strings_mode ... ok [INFO] [stdout] test validation::tests::parse_search_text_tests::test_convert_regex_whole_word_and_case_insensitive ... ok [INFO] [stdout] test validation::tests::parse_search_text_tests::test_convert_regex_from_existing_pattern ... ok [INFO] [stdout] test validation::tests::test_invalid_regex ... ok [INFO] [stdout] test validation::tests::test_invalid_include_glob ... ok [INFO] [stdout] test validation::tests::test_valid_configuration ... ok [INFO] [stdout] test utils::tests::test_start_greater_than_end_highlighted - should panic ... ok [INFO] [stdout] test utils::tests::test_highlighting_preserves_content ... ok [INFO] [stdout] test utils::tests::test_file_not_found_highlighted ... ok [INFO] [stdout] test utils::tests::test_typescript_syntax_available ... ok [INFO] [stdout] test utils::tests::test_start_exceeds_file_length_highlighted ... ok [INFO] [stdout] test utils::tests::test_empty_file_highlighted ... ok [INFO] [stdout] test utils::tests::test_read_lines_in_range_highlighted ... ok [INFO] [stdout] test utils::tests::test_read_to_end_highlighted ... ok [INFO] [stdout] test utils::tests::test_read_single_line_highlighted ... ok [INFO] [stdout] test utils::tests::test_read_all_lines_highlighted ... ok [INFO] [stdout] test utils::tests::test_with_empty_lines_highlighted ... ok [INFO] [stdout] test utils::tests::test_read_from_beginning_highlighted ... ok [INFO] [stdout] test utils::tests::test_range_exceeds_file_length_highlighted ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 384 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.42s [INFO] [stdout] [INFO] [stderr] Running tests/app.rs (/opt/rustwide/target/debug/deps/app-e31f001988aaface) [INFO] [stdout] [INFO] [stdout] running 27 tests [INFO] [stdout] test test_back_from_results ... ok [INFO] [stdout] test test_help_popup_on_performing_replacement ... ok [INFO] [stdout] test test_handle_key_event_show_help_menu ... ok [INFO] [stdout] test test_handle_key_event_enter_triggers_search_from_fields ... ok [INFO] [stdout] test test_error_popup_invalid_search ... ok [INFO] [stdout] test test_handle_key_event_toggle_preview_wrapping ... ok [INFO] [stdout] test test_error_popup_invalid_include_files ... ok [INFO] [stdout] test test_app_reset ... ok [INFO] [stdout] test test_handle_key_event_reset_command ... ok [INFO] [stdout] test test_help_popup_on_search_fields ... ok [INFO] [stdout] test test_keybinding_integration_with_disabled_fields ... ok [INFO] [stdout] test test_alt_u_unlocks_all_fields ... ok [INFO] [stdout] test test_help_popup_on_search_results ... ok [INFO] [stdout] test test_handle_key_event_quit_with_ctrl_c_takes_precedence_over_popup ... ok [INFO] [stdout] test test_replace_state ... ok [INFO] [stdout] test test_handle_key_event_backspace_in_search_fields ... ok [INFO] [stdout] test test_unlock_prepopulated_fields_via_alt_u ... ok [INFO] [stdout] test test_handle_key_event_unmapped_key_in_search_fields_focus_enters_chars ... ok [INFO] [stdout] test test_error_popup_invalid_exclude_files ... ok [INFO] [stdout] test test_help_popup_on_results ... ok [INFO] [stdout] test test_handle_key_event_unmapped_key_closes_popup ... ok [INFO] [stdout] test test_keymaps_performing_replacement ... ok [INFO] [stdout] test test_keymaps_popup ... ok [INFO] [stdout] test test_keymaps_search_progressing ... ok [INFO] [stdout] test test_keymaps_search_fields ... ok [INFO] [stdout] test test_keymaps_search_complete ... ok [INFO] [stdout] test test_keymaps_results ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Doc-tests scooter_core [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test src/line_reader.rs - line_reader::split_line_ending (line 108) ... ok [INFO] [stdout] test src/search.rs - search::FileSearcher::walk_files (line 389) - compile ... ok [INFO] [stdout] test src/line_reader.rs - line_reader::BufReadExt (line 77) ... ok [INFO] [stdout] test src/utils.rs - utils::largest_range_centered_on (line 113) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.13s; merged doctests compilation took 1.07s [INFO] running `Command { std: "docker" "inspect" "d8229cc1be5929428cbdef07462a3072352e14217a2fb620c2369b05091881b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d8229cc1be5929428cbdef07462a3072352e14217a2fb620c2369b05091881b0", kill_on_drop: false }` [INFO] [stdout] d8229cc1be5929428cbdef07462a3072352e14217a2fb620c2369b05091881b0