[INFO] fetching crate sedx 1.0.0... [INFO] testing sedx-1.0.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate sedx 1.0.0 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate sedx 1.0.0 [INFO] finished tweaking crates.io crate sedx 1.0.0 [INFO] tweaked toml for crates.io crate sedx 1.0.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate sedx 1.0.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate sedx 1.0.0 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded env_home v0.1.0 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.113 [INFO] [stderr] Downloaded wasm-bindgen v0.2.113 [INFO] [stderr] Downloaded unarray v0.1.4 [INFO] [stderr] Downloaded libredox v0.1.12 [INFO] [stderr] Downloaded wait-timeout v0.2.1 [INFO] [stderr] Downloaded dirs v6.0.0 [INFO] [stderr] Downloaded rand_xorshift v0.4.0 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.113 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.113 [INFO] [stderr] Downloaded matchers v0.2.0 [INFO] [stderr] Downloaded bit-set v0.8.0 [INFO] [stderr] Downloaded dirs-sys v0.5.0 [INFO] [stderr] Downloaded which v7.0.3 [INFO] [stderr] Downloaded option-ext v0.2.0 [INFO] [stderr] Downloaded redox_users v0.5.2 [INFO] [stderr] Downloaded rusty-fork v0.3.1 [INFO] [stderr] Downloaded js-sys v0.3.90 [INFO] [stderr] Downloaded bit-vec v0.8.0 [INFO] [stderr] Downloaded getrandom v0.4.1 [INFO] [stderr] Downloaded similar v2.7.0 [INFO] [stderr] Downloaded uuid v1.21.0 [INFO] [stderr] Downloaded proptest v1.10.0 [INFO] [stderr] Downloaded winsafe v0.0.19 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3687d0e2b97a2abe39ff7c1e469d8eb235cd5917f254cd77609b68164a77bf71 [INFO] running `Command { std: "docker" "start" "-a" "3687d0e2b97a2abe39ff7c1e469d8eb235cd5917f254cd77609b68164a77bf71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3687d0e2b97a2abe39ff7c1e469d8eb235cd5917f254cd77609b68164a77bf71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3687d0e2b97a2abe39ff7c1e469d8eb235cd5917f254cd77609b68164a77bf71", kill_on_drop: false }` [INFO] [stdout] 3687d0e2b97a2abe39ff7c1e469d8eb235cd5917f254cd77609b68164a77bf71 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 818dde7c8eaad719a16c287f4cad555db6232dc6638df0bf35988ea0bfeef686 [INFO] running `Command { std: "docker" "start" "-a" "818dde7c8eaad719a16c287f4cad555db6232dc6638df0bf35988ea0bfeef686", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling env_home v0.1.0 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling which v7.0.3 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling colored v3.1.1 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling sedx v1.0.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s [INFO] running `Command { std: "docker" "inspect" "818dde7c8eaad719a16c287f4cad555db6232dc6638df0bf35988ea0bfeef686", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "818dde7c8eaad719a16c287f4cad555db6232dc6638df0bf35988ea0bfeef686", kill_on_drop: false }` [INFO] [stdout] 818dde7c8eaad719a16c287f4cad555db6232dc6638df0bf35988ea0bfeef686 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2ecb35617ed7cc5e299e1968ec2088254180d5f18685788fe55fdabf3e1b27cf [INFO] running `Command { std: "docker" "start" "-a" "2ecb35617ed7cc5e299e1968ec2088254180d5f18685788fe55fdabf3e1b27cf", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling sedx v1.0.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling proptest v1.10.0 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 31.64s [INFO] running `Command { std: "docker" "inspect" "2ecb35617ed7cc5e299e1968ec2088254180d5f18685788fe55fdabf3e1b27cf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2ecb35617ed7cc5e299e1968ec2088254180d5f18685788fe55fdabf3e1b27cf", kill_on_drop: false }` [INFO] [stdout] 2ecb35617ed7cc5e299e1968ec2088254180d5f18685788fe55fdabf3e1b27cf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3a422e8bfc527076ddb479957bbbfb4ecc16ba18e2f4b8dc4b7658989d061279 [INFO] running `Command { std: "docker" "start" "-a" "3a422e8bfc527076ddb479957bbbfb4ecc16ba18e2f4b8dc4b7658989d061279", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sedx-d45c531e68d9da5a) [INFO] [stdout] [INFO] [stdout] running 294 tests [INFO] [stdout] test backup_manager::tests::test_backups_dir_returns_correct_path ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_multiple_files ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_empty_file_list ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_nonexistent_file_skipped ... ok [INFO] [stdout] test backup_manager::tests::test_backup_id_format ... ok [INFO] [stdout] test backup_manager::tests::test_get_last_backup_id_no_backups ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_single_file ... ok [INFO] [stdout] test backup_manager::tests::test_expression_preserved_in_metadata ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_special_characters_in_filename ... ok [INFO] [stdout] test backup_manager::tests::test_list_backups_empty ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_generates_unique_ids ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_large_file ... ok [INFO] [stdout] test backup_manager::tests::test_list_backups_ignores_invalid_directories ... ok [INFO] [stdout] test backup_manager::tests::test_parse_backup_metadata_empty_files ... ok [INFO] [stdout] test backup_manager::tests::test_parse_backup_metadata_invalid_json ... ok [INFO] [stdout] test backup_manager::tests::test_parse_backup_metadata_malformed_timestamp ... ok [INFO] [stdout] test backup_manager::tests::test_get_last_backup_id_single_backup ... ok [INFO] [stdout] test backup_manager::tests::test_get_last_backup_id_multiple_backups ... ok [INFO] [stdout] test backup_manager::tests::test_list_backups_multiple ... ok [INFO] [stdout] test backup_manager::tests::test_prune_backups_keep_all ... ok [INFO] [stdout] test backup_manager::tests::test_prune_backups_older_than_none_removed ... ok [INFO] [stdout] test backup_manager::tests::test_list_backups_sorted_by_timestamp ... ok [INFO] [stdout] test backup_manager::tests::test_parse_backup_metadata_missing_required_field ... ok [INFO] [stdout] test backup_manager::tests::test_remove_backup_existing ... ok [INFO] [stdout] test backup_manager::tests::test_parse_backup_metadata_valid ... ok [INFO] [stdout] test backup_manager::tests::test_remove_backup_nonexistent ... ok [INFO] [stdout] test backup_manager::tests::test_restore_backup_nonexistent_id ... ok [INFO] [stdout] test backup_manager::tests::test_prune_backups_older_than_removes_old ... ok [INFO] [stdout] test backup_manager::tests::test_restore_backup_preserves_file_permissions ... ok [INFO] [stdout] test backup_manager::tests::test_restore_backup_multiple_files ... ok [INFO] [stdout] test backup_manager::tests::test_with_directory_creates_directory ... ok [INFO] [stdout] test backup_manager::tests::test_multiple_backups_same_file_different_expressions ... ok [INFO] [stdout] test bre_converter::tests::test_anchors ... ok [INFO] [stdout] test bre_converter::tests::test_complex_bre_pattern ... ok [INFO] [stdout] test bre_converter::tests::test_complex_nested_patterns ... ok [INFO] [stdout] test bre_converter::tests::test_convert_alternation ... ok [INFO] [stdout] test bre_converter::tests::test_convert_backreferences ... ok [INFO] [stdout] test bre_converter::tests::test_character_classes ... ok [INFO] [stdout] test bre_converter::tests::test_convert_braces ... ok [INFO] [stdout] test bre_converter::tests::test_convert_backslash ... ok [INFO] [stdout] test bre_converter::tests::test_convert_parentheses ... ok [INFO] [stdout] test bre_converter::tests::test_convert_quantifiers ... ok [INFO] [stdout] test bre_converter::tests::test_convert_sed_backreferences ... ok [INFO] [stdout] test bre_converter::tests::test_digit_backreferences_in_pattern ... ok [INFO] [stdout] test bre_converter::tests::test_double_backslash_conversion ... ok [INFO] [stdout] test bre_converter::tests::test_double_backslash_replacement ... ok [INFO] [stdout] test bre_converter::tests::test_empty_groups ... ok [INFO] [stdout] test bre_converter::tests::test_escaped_sequences ... ok [INFO] [stdout] test bre_converter::tests::test_grouped_commands ... ok [INFO] [stdout] test bre_converter::tests::test_is_bre_pattern ... ok [INFO] [stdout] test bre_converter::tests::test_match_reference_in_replacement ... ok [INFO] [stdout] test bre_converter::tests::test_multiple_backreferences_in_replacement ... ok [INFO] [stdout] test bre_converter::tests::test_newline_escape_at_end ... ok [INFO] [stdout] test bre_converter::tests::test_alternation_patterns ... ok [INFO] [stdout] test bre_converter::tests::test_no_backreferences_in_text ... ok [INFO] [stdout] test backup_manager::tests::test_restore_backup_success ... ok [INFO] [stdout] test bre_converter::tests::test_no_conversion_needed ... ok [INFO] [stdout] test bre_converter::tests::test_pcre_pattern_unchanged ... ok [INFO] [stdout] test bre_converter::tests::test_repetition_quantifiers ... ok [INFO] [stdout] test bre_converter::tests::test_special_characters_preserved ... ok [INFO] [stdout] test bre_converter::tests::test_simple_patterns ... ok [INFO] [stdout] test backup_manager::tests::test_restore_backup_with_missing_backup_file ... ok [INFO] [stdout] test bre_converter::tests::test_trailing_backslash_pattern ... ok [INFO] [stdout] test backup_manager::tests::test_prune_backups_exact_count ... ok [INFO] [stdout] test bre_converter::tests::test_trailing_backslash_replacement ... ok [INFO] [stdout] test bre_converter::tests::test_unicode_patterns ... ok [INFO] [stdout] test bre_converter::tests::test_wildcard ... ok [INFO] [stdout] test capability::tests::test_can_stream_delete ... ok [INFO] [stdout] test capability::tests::test_can_stream_get ... ok [INFO] [stdout] test bre_converter::tests::test_no_backreference_conversion ... ok [INFO] [stdout] test capability::tests::test_can_stream_group_with_range ... ok [INFO] [stdout] test bre_converter::tests::test_mixed_backreferences_and_text ... ok [INFO] [stdout] test capability::tests::test_can_stream_group_without_range ... ok [INFO] [stdout] test capability::tests::test_can_stream_hold ... ok [INFO] [stdout] test capability::tests::test_can_stream_hold_append ... ok [INFO] [stdout] test capability::tests::test_can_stream_exchange ... ok [INFO] [stdout] test capability::tests::test_can_stream_insert ... ok [INFO] [stdout] test capability::tests::test_can_stream_multiple_commands_with_hold ... ok [INFO] [stdout] test capability::tests::test_can_stream_multiple_streamable_commands ... ok [INFO] [stdout] test capability::tests::test_can_stream_quit ... ok [INFO] [stdout] test capability::tests::test_can_stream_simple_substitution ... ok [INFO] [stdout] test capability::tests::test_can_stream_substitution_with_line_range ... ok [INFO] [stdout] test capability::tests::test_is_range_not_streamable_last_line_start ... ok [INFO] [stdout] test capability::tests::test_is_range_not_streamable_negated ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_line_to_line ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_line_to_pattern ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_pattern_to_line ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_pattern_to_pattern ... ok [INFO] [stdout] test capability::tests::test_can_stream_print ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_pattern_to_relative ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_stepping ... ok [INFO] [stdout] test command::tests::test_address_types ... ok [INFO] [stdout] test command::tests::test_command_equality ... ok [INFO] [stdout] test command::tests::test_substitution_flags_custom ... ok [INFO] [stdout] test command::tests::test_substitution_flags_default ... ok [INFO] [stdout] test config::tests::test_backup_config_default ... ok [INFO] [stdout] test config::tests::test_backup_config_with_custom_dir ... ok [INFO] [stdout] test config::tests::test_compatibility_config_all_modes ... ok [INFO] [stdout] test config::tests::test_compatibility_config_default ... ok [INFO] [stdout] test config::tests::test_config_all_option_none ... ok [INFO] [stdout] test config::tests::test_config_comment_preservation_in_output ... ok [INFO] [stdout] test config::tests::test_config_empty_sections_use_defaults ... ok [INFO] [stdout] test capability::tests::test_can_stream_substitution_with_pattern_range ... ok [INFO] [stdout] test config::tests::test_config_mode_variations_invalid ... ok [INFO] [stdout] test config::tests::test_config_parse_empty_toml_all_defaults ... ok [INFO] [stdout] test config::tests::test_config_parse_invalid_toml_fails ... ok [INFO] [stdout] test config::tests::test_config_parse_invalid_value_type_fails ... ok [INFO] [stdout] test config::tests::test_config_parse_partial_toml_uses_defaults ... ok [INFO] [stdout] test config::tests::test_config_serialize_deserialize_roundtrip ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_first_to_last ... ok [INFO] [stdout] test config::tests::test_config_serialize_order ... ok [INFO] [stdout] test config::tests::test_config_serialize_with_custom_values ... ok [INFO] [stdout] test config::tests::test_config_to_toml ... ok [INFO] [stdout] test config::tests::test_config_very_large_values ... ok [INFO] [stdout] test config::tests::test_config_with_extra_fields_is_ignored ... ok [INFO] [stdout] test config::tests::test_config_with_floating_point_precision ... ok [INFO] [stdout] test config::tests::test_config_zero_values ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test config::tests::test_ensure_complete_config_creates_new_file ... ok [INFO] [stdout] test config::tests::test_ensure_complete_config_handles_malformed_toml ... ok [INFO] [stdout] test config::tests::test_ensure_complete_config_preserves_valid_values ... ok [INFO] [stdout] test config::tests::test_load_config_empty_section_uses_defaults ... ok [INFO] [stdout] test config::tests::test_load_config_handles_invalid_toml ... ok [INFO] [stdout] test config::tests::test_load_config_parses_valid_toml ... ok [INFO] [stdout] test config::tests::test_partial_config_fills_missing_fields ... ok [INFO] [stdout] test config::tests::test_processing_config_custom_values ... ok [INFO] [stdout] test config::tests::test_processing_config_default ... ok [INFO] [stdout] test config::tests::test_validate_config_all_valid_modes ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_context_lines ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_context_lines_very_large ... ok [INFO] [stdout] test backup_manager::tests::test_auto_cleanup_on_create_backup ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_disk_usage_percent_very_large ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_disk_usage_percent_negative ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_memory_mb ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_size_gb_negative ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_size_gb_very_negative ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_mode ... ok [INFO] [stdout] test config::tests::test_validate_config_valid ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_mode_case_sensitive ... ok [INFO] [stdout] test config::tests::test_validate_config_optional_fields_none ... ok [INFO] [stdout] test config::tests::test_validate_config_multiple_invalid_fields ... ok [INFO] [stdout] test diff_formatter::tests::test_change_type_enum_added ... ok [INFO] [stdout] test diff_formatter::tests::test_change_type_enum_deleted ... ok [INFO] [stdout] test diff_formatter::tests::test_change_type_enum_unchanged ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_adds_ellipsis_for_distant_groups ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_boundary_conditions ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_empty_input ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_groups_nearby_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_large_context_size ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_no_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_no_context ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_single_change ... ok [INFO] [stdout] test diff_formatter::tests::test_format_changes_streaming ... ok [INFO] [stdout] test diff_formatter::tests::test_format_changes_streaming_empty ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_indicators ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_distant_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_empty_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_multiple_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_change_type_enum_modified ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_disk_usage_percent_over_100 ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_single_change ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_with_context_lines ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_streaming_mode ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_mode_empty ... ok [INFO] [stdout] test config::tests::test_validate_config_valid_boundary_values ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_printed_lines_mode ... ok [INFO] [stdout] test diff_formatter::tests::test_format_dry_run_header_basic ... ok [INFO] [stdout] test diff_formatter::tests::test_format_dry_run_header_complex_expression ... ok [INFO] [stdout] test diff_formatter::tests::test_format_execute_result_no_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_format_dry_run_header_with_special_chars ... ok [INFO] [stdout] test diff_formatter::tests::test_format_execute_result_multiple_files ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_single_backup ... ok [INFO] [stdout] test diff_formatter::tests::test_format_execute_result_single_file ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_empty ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_chronological_ordering ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_multiple_backups ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_various_expressions ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_with_no_files ... ok [INFO] [stdout] test diff_formatter::tests::test_format_preview_no_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_format_preview_with_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_line_change_clone ... ok [INFO] [stdout] test diff_formatter::tests::test_file_diff_all_change_types ... ok [INFO] [stdout] test disk_space::tests::test_bytes_to_human ... ok [INFO] [stdout] test diff_formatter::tests::test_line_change_creation ... ok [INFO] [stdout] test backup_manager::tests::test_prune_backups_keep_some ... ok [INFO] [stdout] test disk_space::tests::test_get_disk_space ... ok [INFO] [stdout] test ere_converter::tests::test_all_backreferences_single ... ok [INFO] [stdout] test ere_converter::tests::test_alternation_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_backreferences_with_text ... ok [INFO] [stdout] test ere_converter::tests::test_character_classes_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_backslash_sequences_replacement ... ok [INFO] [stdout] test ere_converter::tests::test_complex_ere_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_anchors_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_complex_replacement_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_complex_ere_replacement ... ok [INFO] [stdout] test ere_converter::tests::test_empty_and_simple_replacements ... ok [INFO] [stdout] test ere_converter::tests::test_escape_sequences ... ok [INFO] [stdout] test ere_converter::tests::test_escape_sequences_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_grouping_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_lookahead_lookbehind_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_match_reference_various ... ok [INFO] [stdout] test ere_converter::tests::test_convert_ere_backreferences ... ok [INFO] [stdout] test ere_converter::tests::test_mixed_replacement ... ok [INFO] [stdout] test ere_converter::tests::test_mixed_backreferences_pcre_format ... ok [INFO] [stdout] test ere_converter::tests::test_no_backreference_conversion ... ok [INFO] [stdout] test ere_converter::tests::test_non_capturing_groups ... ok [INFO] [stdout] test ere_converter::tests::test_pattern_pass_through ... ok [INFO] [stdout] test ere_converter::tests::test_pcre_format_preserved ... ok [INFO] [stdout] test ere_converter::tests::test_simple_patterns_pass_through ... ok [INFO] [stdout] test ere_converter::tests::test_quantifiers_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_special_regex_characters ... ok [INFO] [stdout] test ere_converter::tests::test_trailing_backslash_replacement ... ok [INFO] [stdout] test ere_converter::tests::test_wildcard_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_multiple_backreferences_various ... ok [INFO] [stdout] test ere_converter::tests::test_unicode_patterns ... ok [INFO] [stdout] test file_processor::cycle_tests::test_hold_space_h_g ... ok [INFO] [stdout] test diff_formatter::tests::test_preview_single_file_pluralization ... ok [INFO] [stdout] test file_processor::cycle_tests::test_hold_space_x ... ok [INFO] [stdout] test file_processor::cycle_tests::test_cycle_state_creation ... ok [INFO] [stdout] test file_processor::cycle_tests::test_line_iterator ... ok [INFO] [stdout] test diff_formatter::tests::test_preview_multiple_files_pluralization ... ok [INFO] [stdout] test ere_converter::tests::test_flags_and_modifiers ... ok [INFO] [stdout] test file_processor::cycle_tests::test_n_command_alone ... ok [INFO] [stdout] test file_processor::cycle_tests::test_substitution_basic ... ok [INFO] [stdout] test file_processor::cycle_tests::test_n_d_command_basic ... ok [INFO] [stdout] test file_processor::cycle_tests::test_line_iterator_read_next ... ok [INFO] [stdout] test file_processor::cycle_tests::test_substitution_and_hold ... ok [INFO] [stdout] test file_processor::tests::test_group_parsing ... ok [INFO] [stdout] test file_processor::tests::test_streaming_delete ... ok [INFO] [stdout] test file_processor::tests::test_streaming_delete_with_substitution ... ok [INFO] [stdout] test file_processor::cycle_tests::test_substitution_with_print_flag ... ok [INFO] [stdout] test file_processor::tests::test_streaming_case_insensitive ... ok [INFO] [stdout] test file_processor::tests::test_streaming_change ... ok [INFO] [stdout] test file_processor::tests::test_streaming_insert ... ok [INFO] [stdout] test file_processor::tests::test_streaming_numbered_substitution ... ok [INFO] [stdout] test file_processor::tests::test_streaming_group_with_range ... ok [INFO] [stdout] test file_processor::tests::test_streaming_global_substitution ... ok [INFO] [stdout] test file_processor::tests::test_streaming_passthrough ... ok [INFO] [stdout] test file_processor::tests::test_streaming_insert_and_substitute ... ok [INFO] [stdout] test file_processor::tests::test_streaming_quit_immediately ... ok [INFO] [stdout] test file_processor::tests::test_streaming_quit_at_line ... ok [INFO] [stdout] test file_processor::tests::test_streaming_threshold_detection ... ok [INFO] [stdout] test parser::tests::test_convert_flags ... ok [INFO] [stdout] test parser::tests::test_convert_pattern_bre ... ok [INFO] [stdout] test file_processor::tests::test_streaming_substitution ... ok [INFO] [stdout] test parser::tests::test_convert_pattern_ere ... ok [INFO] [stdout] test file_processor::tests::test_streaming_sliding_window_context ... ok [INFO] [stdout] test parser::tests::test_convert_pattern_pcre ... ok [INFO] [stdout] test parser::tests::test_convert_replacement_bre ... ok [INFO] [stdout] test parser::tests::test_convert_replacement_ere ... ok [INFO] [stdout] test parser::tests::test_convert_replacement_pcre ... ok [INFO] [stdout] test parser::tests::test_parse_delete ... ok [INFO] [stdout] test parser::tests::test_parse_group ... ok [INFO] [stdout] test parser::tests::test_parse_simple_substitution_pcre ... ok [INFO] [stdout] test file_processor::tests::test_streaming_print ... ok [INFO] [stdout] test file_processor::tests::test_streaming_pattern_range_delete ... ok [INFO] [stdout] test regex_error::tests::test_bre_mode_suggestions ... ok [INFO] [stdout] test parser::tests::test_parser_creates_with_flavor ... ok [INFO] [stdout] test regex_error::tests::test_find_unclosed_delimiter ... ok [INFO] [stdout] test regex_error::tests::test_display_formatting ... ok [INFO] [stdout] test regex_error::tests::test_compile_regex_with_context_failure ... ok [INFO] [stdout] test file_processor::tests::test_streaming_pattern_range_substitution ... ok [INFO] [stdout] test regex_error::tests::test_invalid_quantifier_nothing_to_repeat ... ok [INFO] [stdout] test regex_error::tests::test_unclosed_bracket ... ok [INFO] [stdout] test regex_error::tests::test_unclosed_parenthesis ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_escaped_backslash ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_mixed ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_multiple ... ok [INFO] [stdout] test file_processor::cycle_tests::test_substitution_global ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_single ... ok [INFO] [stdout] test sed_parser::tests::test_parse_delete_range ... ok [INFO] [stdout] test sed_parser::tests::test_parse_delete_pattern ... ok [INFO] [stdout] test sed_parser::tests::test_parse_delete_line ... ok [INFO] [stdout] test sed_parser::tests::test_parse_exchange_simple ... ok [INFO] [stdout] test sed_parser::tests::test_parse_exchange_with_pattern ... ok [INFO] [stdout] test parser::tests::test_parse_substitution_with_flags ... ok [INFO] [stdout] test sed_parser::tests::test_parse_get_append ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_ampersand ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_complex ... ok [INFO] [stdout] test sed_parser::tests::test_parse_hold_range_with_patterns ... ok [INFO] [stdout] test sed_parser::tests::test_parse_group_with_semicolons ... ok [INFO] [stdout] test sed_parser::tests::test_parse_hold_simple ... ok [INFO] [stdout] test sed_parser::tests::test_parse_hold_append_with_range ... ok [INFO] [stdout] test sed_parser::tests::test_parse_hold_with_address ... ok [INFO] [stdout] test sed_parser::tests::test_parse_print_line ... ok [INFO] [stdout] test sed_parser::tests::test_parse_print_range ... ok [INFO] [stdout] test sed_parser::tests::test_parse_range_substitution ... ok [INFO] [stdout] test sed_parser::tests::test_parse_simple_substitution ... ok [INFO] [stdout] test sed_parser::tests::test_parse_line_substitution ... ok [INFO] [stdout] test sed_parser::tests::test_parse_simple_group ... ok [INFO] [stdout] test sed_parser::tests::test_parse_get_simple ... ok [INFO] [stdout] test sed_parser::tests::test_parse_get_with_negation ... ok [INFO] [stdout] test file_processor::tests::test_streaming_append ... ok [INFO] [stdout] test regex_error::tests::test_compile_regex_with_context_success ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 294 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sedx-787b67992677b9a3) [INFO] [stdout] running 297 tests [INFO] [stdout] test backup_manager::tests::test_backups_dir_returns_correct_path ... ok [INFO] [stdout] test backup_manager::tests::test_backup_id_format ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_multiple_files ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_empty_file_list ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_nonexistent_file_skipped ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_single_file ... ok [INFO] [stdout] test backup_manager::tests::test_expression_preserved_in_metadata ... ok [INFO] [stdout] test backup_manager::tests::test_list_backups_empty ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_large_file ... ok [INFO] [stdout] test backup_manager::tests::test_list_backups_ignores_invalid_directories ... ok [INFO] [stdout] test backup_manager::tests::test_get_last_backup_id_single_backup ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_special_characters_in_filename ... ok [INFO] [stdout] test backup_manager::tests::test_get_last_backup_id_no_backups ... ok [INFO] [stdout] test backup_manager::tests::test_create_backup_generates_unique_ids ... ok [INFO] [stdout] test backup_manager::tests::test_parse_backup_metadata_empty_files ... ok [INFO] [stdout] test backup_manager::tests::test_parse_backup_metadata_invalid_json ... ok [INFO] [stdout] test backup_manager::tests::test_parse_backup_metadata_malformed_timestamp ... ok [INFO] [stdout] test backup_manager::tests::test_parse_backup_metadata_missing_required_field ... ok [INFO] [stdout] test backup_manager::tests::test_parse_backup_metadata_valid ... ok [INFO] [stdout] test backup_manager::tests::test_prune_backups_keep_all ... ok [INFO] [stdout] test backup_manager::tests::test_prune_backups_older_than_none_removed ... ok [INFO] [stdout] test backup_manager::tests::test_prune_backups_older_than_removes_old ... ok [INFO] [stdout] test backup_manager::tests::test_remove_backup_existing ... ok [INFO] [stdout] test backup_manager::tests::test_remove_backup_nonexistent ... ok [INFO] [stdout] test backup_manager::tests::test_list_backups_multiple ... ok [INFO] [stdout] test backup_manager::tests::test_get_last_backup_id_multiple_backups ... ok [INFO] [stdout] test backup_manager::tests::test_restore_backup_nonexistent_id ... ok [INFO] [stdout] test backup_manager::tests::test_restore_backup_success ... ok [INFO] [stdout] test backup_manager::tests::test_restore_backup_preserves_file_permissions ... ok [INFO] [stdout] test backup_manager::tests::test_with_directory_creates_directory ... ok [INFO] [stdout] test backup_manager::tests::test_restore_backup_with_missing_backup_file ... ok [INFO] [stdout] test bre_converter::tests::test_anchors ... ok [INFO] [stdout] test bre_converter::tests::test_character_classes ... ok [INFO] [stdout] test bre_converter::tests::test_complex_bre_pattern ... ok [INFO] [stdout] test bre_converter::tests::test_complex_nested_patterns ... ok [INFO] [stdout] test bre_converter::tests::test_convert_alternation ... ok [INFO] [stdout] test bre_converter::tests::test_convert_backreferences ... ok [INFO] [stdout] test bre_converter::tests::test_convert_backslash ... ok [INFO] [stdout] test bre_converter::tests::test_convert_braces ... ok [INFO] [stdout] test bre_converter::tests::test_convert_parentheses ... ok [INFO] [stdout] test bre_converter::tests::test_convert_quantifiers ... ok [INFO] [stdout] test bre_converter::tests::test_alternation_patterns ... ok [INFO] [stdout] test bre_converter::tests::test_convert_sed_backreferences ... ok [INFO] [stdout] test bre_converter::tests::test_digit_backreferences_in_pattern ... ok [INFO] [stdout] test bre_converter::tests::test_double_backslash_conversion ... ok [INFO] [stdout] test bre_converter::tests::test_double_backslash_replacement ... ok [INFO] [stdout] test bre_converter::tests::test_empty_groups ... ok [INFO] [stdout] test bre_converter::tests::test_escaped_sequences ... ok [INFO] [stdout] test backup_manager::tests::test_multiple_backups_same_file_different_expressions ... ok [INFO] [stdout] test bre_converter::tests::test_is_bre_pattern ... ok [INFO] [stdout] test backup_manager::tests::test_restore_backup_multiple_files ... ok [INFO] [stdout] test bre_converter::tests::test_match_reference_in_replacement ... ok [INFO] [stdout] test bre_converter::tests::test_multiple_backreferences_in_replacement ... ok [INFO] [stdout] test bre_converter::tests::test_newline_escape_at_end ... ok [INFO] [stdout] test bre_converter::tests::test_no_backreference_conversion ... ok [INFO] [stdout] test bre_converter::tests::test_no_backreferences_in_text ... ok [INFO] [stdout] test bre_converter::tests::test_mixed_backreferences_and_text ... ok [INFO] [stdout] test bre_converter::tests::test_no_conversion_needed ... ok [INFO] [stdout] test bre_converter::tests::test_pcre_pattern_unchanged ... ok [INFO] [stdout] test backup_manager::tests::test_list_backups_sorted_by_timestamp ... ok [INFO] [stdout] test bre_converter::tests::test_repetition_quantifiers ... ok [INFO] [stdout] test bre_converter::tests::test_simple_patterns ... ok [INFO] [stdout] test bre_converter::tests::test_special_characters_preserved ... ok [INFO] [stdout] test bre_converter::tests::test_trailing_backslash_replacement ... ok [INFO] [stdout] test bre_converter::tests::test_grouped_commands ... ok [INFO] [stdout] test bre_converter::tests::test_unicode_patterns ... ok [INFO] [stdout] test bre_converter::tests::test_trailing_backslash_pattern ... ok [INFO] [stdout] test bre_converter::tests::test_wildcard ... ok [INFO] [stdout] test capability::tests::test_can_stream_delete ... ok [INFO] [stdout] test backup_manager::tests::test_prune_backups_exact_count ... ok [INFO] [stdout] test capability::tests::test_can_stream_exchange ... ok [INFO] [stdout] test backup_manager::tests::test_auto_cleanup_on_create_backup ... ok [INFO] [stdout] test capability::tests::test_can_stream_get ... ok [INFO] [stdout] test capability::tests::test_can_stream_hold ... ok [INFO] [stdout] test capability::tests::test_can_stream_multiple_commands_with_hold ... ok [INFO] [stdout] test capability::tests::test_can_stream_insert ... ok [INFO] [stdout] test capability::tests::test_can_stream_multiple_streamable_commands ... ok [INFO] [stdout] test capability::tests::test_can_stream_substitution_with_line_range ... ok [INFO] [stdout] test capability::tests::test_can_stream_simple_substitution ... ok [INFO] [stdout] test capability::tests::test_can_stream_print ... ok [INFO] [stdout] test capability::tests::test_can_stream_quit ... ok [INFO] [stdout] test capability::tests::test_can_stream_substitution_with_pattern_range ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_first_to_last ... ok [INFO] [stdout] test capability::tests::test_can_stream_group_with_range ... ok [INFO] [stdout] test capability::tests::test_can_stream_group_without_range ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_line_to_pattern ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_pattern_to_pattern ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_pattern_to_line ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_line_to_line ... ok [INFO] [stdout] test capability::tests::test_can_stream_hold_append ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_pattern_to_relative ... ok [INFO] [stdout] test capability::tests::test_is_range_streamable_stepping ... ok [INFO] [stdout] test command::tests::test_address_types ... ok [INFO] [stdout] test command::tests::test_command_equality ... ok [INFO] [stdout] test command::tests::test_substitution_flags_default ... ok [INFO] [stdout] test config::tests::test_backup_config_default ... ok [INFO] [stdout] test config::tests::test_compatibility_config_all_modes ... ok [INFO] [stdout] test config::tests::test_compatibility_config_default ... ok [INFO] [stdout] test command::tests::test_substitution_flags_custom ... ok [INFO] [stdout] test config::tests::test_backup_config_with_custom_dir ... ok [INFO] [stdout] test config::tests::test_config_all_option_none ... ok [INFO] [stdout] test config::tests::test_config_empty_sections_use_defaults ... ok [INFO] [stdout] test config::tests::test_config_mode_variations_invalid ... ok [INFO] [stdout] test config::tests::test_config_parse_empty_toml_all_defaults ... ok [INFO] [stdout] test config::tests::test_config_comment_preservation_in_output ... ok [INFO] [stdout] test config::tests::test_config_parse_invalid_toml_fails ... ok [INFO] [stdout] test config::tests::test_config_serialize_with_custom_values ... ok [INFO] [stdout] test config::tests::test_config_parse_invalid_value_type_fails ... ok [INFO] [stdout] test config::tests::test_config_very_large_values ... ok [INFO] [stdout] test config::tests::test_config_to_toml ... ok [INFO] [stdout] test config::tests::test_config_parse_partial_toml_uses_defaults ... ok [INFO] [stdout] test config::tests::test_config_with_extra_fields_is_ignored ... ok [INFO] [stdout] test config::tests::test_config_serialize_order ... ok [INFO] [stdout] test config::tests::test_config_serialize_deserialize_roundtrip ... ok [INFO] [stdout] test config::tests::test_config_with_floating_point_precision ... ok [INFO] [stdout] test config::tests::test_config_zero_values ... ok [INFO] [stdout] test capability::tests::test_is_range_not_streamable_last_line_start ... ok [INFO] [stdout] test capability::tests::test_is_range_not_streamable_negated ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test config::tests::test_ensure_complete_config_creates_new_file ... ok [INFO] [stdout] test config::tests::test_ensure_complete_config_handles_malformed_toml ... ok [INFO] [stdout] test config::tests::test_ensure_complete_config_preserves_valid_values ... ok [INFO] [stdout] test config::tests::test_load_config_empty_section_uses_defaults ... ok [INFO] [stdout] test config::tests::test_load_config_handles_invalid_toml ... ok [INFO] [stdout] test config::tests::test_load_config_parses_valid_toml ... ok [INFO] [stdout] test config::tests::test_partial_config_fills_missing_fields ... ok [INFO] [stdout] test config::tests::test_processing_config_custom_values ... ok [INFO] [stdout] test config::tests::test_processing_config_default ... ok [INFO] [stdout] test config::tests::test_validate_config_all_valid_modes ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_context_lines ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_context_lines_very_large ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_disk_usage_percent_negative ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_disk_usage_percent_over_100 ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_disk_usage_percent_very_large ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_memory_mb ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_size_gb_negative ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_max_size_gb_very_negative ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_mode ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_mode_case_sensitive ... ok [INFO] [stdout] test config::tests::test_validate_config_invalid_mode_empty ... ok [INFO] [stdout] test config::tests::test_validate_config_multiple_invalid_fields ... ok [INFO] [stdout] test config::tests::test_validate_config_optional_fields_none ... ok [INFO] [stdout] test config::tests::test_validate_config_valid ... ok [INFO] [stdout] test config::tests::test_validate_config_valid_boundary_values ... ok [INFO] [stdout] test diff_formatter::tests::test_change_type_enum_added ... ok [INFO] [stdout] test diff_formatter::tests::test_change_type_enum_deleted ... ok [INFO] [stdout] test diff_formatter::tests::test_change_type_enum_modified ... ok [INFO] [stdout] test diff_formatter::tests::test_change_type_enum_unchanged ... ok [INFO] [stdout] test diff_formatter::tests::test_file_diff_all_change_types ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_adds_ellipsis_for_distant_groups ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_boundary_conditions ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_empty_input ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_groups_nearby_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_large_context_size ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_no_context ... ok [INFO] [stdout] test diff_formatter::tests::test_format_changes_streaming ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_no_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_distant_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_filter_lines_with_context_single_change ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_empty_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_printed_lines_mode ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_single_change ... ok [INFO] [stdout] test diff_formatter::tests::test_format_changes_streaming_empty ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_multiple_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_format_dry_run_header_basic ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_with_context_lines ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_indicators ... ok [INFO] [stdout] test diff_formatter::tests::test_format_diff_with_context_streaming_mode ... ok [INFO] [stdout] test diff_formatter::tests::test_format_dry_run_header_complex_expression ... ok [INFO] [stdout] test diff_formatter::tests::test_format_dry_run_header_with_special_chars ... ok [INFO] [stdout] test diff_formatter::tests::test_format_execute_result_multiple_files ... ok [INFO] [stdout] test diff_formatter::tests::test_format_execute_result_single_file ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_empty ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_multiple_backups ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_with_no_files ... ok [INFO] [stdout] test diff_formatter::tests::test_format_preview_no_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_format_execute_result_no_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_format_preview_with_changes ... ok [INFO] [stdout] test diff_formatter::tests::test_line_change_creation ... ok [INFO] [stdout] test diff_formatter::tests::test_line_change_clone ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_chronological_ordering ... ok [INFO] [stdout] test diff_formatter::tests::test_preview_multiple_files_pluralization ... ok [INFO] [stdout] test diff_formatter::tests::test_preview_single_file_pluralization ... ok [INFO] [stdout] test disk_space::tests::test_bytes_to_human ... ok [INFO] [stdout] test ere_converter::tests::test_alternation_in_patterns ... ok [INFO] [stdout] test disk_space::tests::test_get_disk_space ... ok [INFO] [stdout] test ere_converter::tests::test_all_backreferences_single ... ok [INFO] [stdout] test ere_converter::tests::test_anchors_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_backreferences_with_text ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_single_backup ... ok [INFO] [stdout] test diff_formatter::tests::test_format_history_various_expressions ... ok [INFO] [stdout] test backup_manager::tests::test_prune_backups_keep_some ... ok [INFO] [stdout] test ere_converter::tests::test_backslash_sequences_replacement ... ok [INFO] [stdout] test ere_converter::tests::test_character_classes_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_complex_ere_replacement ... ok [INFO] [stdout] test ere_converter::tests::test_complex_replacement_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_empty_and_simple_replacements ... ok [INFO] [stdout] test ere_converter::tests::test_escape_sequences ... ok [INFO] [stdout] test ere_converter::tests::test_flags_and_modifiers ... ok [INFO] [stdout] test ere_converter::tests::test_lookahead_lookbehind_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_complex_ere_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_convert_ere_backreferences ... ok [INFO] [stdout] test ere_converter::tests::test_mixed_backreferences_pcre_format ... ok [INFO] [stdout] test ere_converter::tests::test_grouping_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_mixed_replacement ... ok [INFO] [stdout] test ere_converter::tests::test_pcre_format_preserved ... ok [INFO] [stdout] test ere_converter::tests::test_no_backreference_conversion ... ok [INFO] [stdout] test ere_converter::tests::test_multiple_backreferences_various ... ok [INFO] [stdout] test ere_converter::tests::test_quantifiers_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_match_reference_various ... ok [INFO] [stdout] test ere_converter::tests::test_pattern_pass_through ... ok [INFO] [stdout] test ere_converter::tests::test_non_capturing_groups ... ok [INFO] [stdout] test ere_converter::tests::test_escape_sequences_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_trailing_backslash_replacement ... ok [INFO] [stdout] test ere_converter::tests::test_special_regex_characters ... ok [INFO] [stdout] test ere_converter::tests::test_wildcard_in_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_unicode_patterns ... ok [INFO] [stdout] test ere_converter::tests::test_simple_patterns_pass_through ... ok [INFO] [stdout] test file_processor::cycle_tests::test_line_iterator ... ok [INFO] [stdout] test file_processor::cycle_tests::test_hold_space_h_g ... ok [INFO] [stdout] test file_processor::cycle_tests::test_line_iterator_read_next ... ok [INFO] [stdout] test file_processor::cycle_tests::test_n_d_command_basic ... ok [INFO] [stdout] test file_processor::cycle_tests::test_cycle_state_creation ... ok [INFO] [stdout] test file_processor::cycle_tests::test_substitution_and_hold ... ok [INFO] [stdout] test file_processor::cycle_tests::test_substitution_with_print_flag ... ok [INFO] [stdout] test file_processor::cycle_tests::test_substitution_global ... ok [INFO] [stdout] test file_processor::cycle_tests::test_substitution_basic ... ok [INFO] [stdout] test file_processor::cycle_tests::test_hold_space_x ... ok [INFO] [stdout] test file_processor::tests::test_group_parsing ... ok [INFO] [stdout] test file_processor::cycle_tests::test_n_command_alone ... ok [INFO] [stdout] test file_processor::tests::test_streaming_delete ... ok [INFO] [stdout] test file_processor::tests::test_streaming_delete_with_substitution ... ok [INFO] [stdout] test file_processor::tests::test_streaming_case_insensitive ... ok [INFO] [stdout] test file_processor::tests::test_streaming_global_substitution ... ok [INFO] [stdout] test file_processor::tests::test_streaming_group_with_range ... ok [INFO] [stdout] test file_processor::tests::test_streaming_insert_and_substitute ... ok [INFO] [stdout] test file_processor::tests::test_streaming_insert ... ok [INFO] [stdout] test file_processor::tests::test_streaming_numbered_substitution ... ok [INFO] [stdout] test file_processor::tests::test_streaming_append ... ok [INFO] [stdout] test file_processor::tests::test_streaming_change ... ok [INFO] [stdout] test file_processor::tests::test_streaming_passthrough ... ok [INFO] [stdout] test file_processor::tests::test_streaming_quit_immediately ... ok [INFO] [stdout] test file_processor::tests::test_streaming_print ... ok [INFO] [stdout] test file_processor::tests::test_streaming_quit_at_line ... ok [INFO] [stdout] test logger::tests::test_init_debug_logging_disabled ... ok [INFO] [stdout] test parser::tests::test_convert_flags ... ok [INFO] [stdout] test parser::tests::test_convert_pattern_bre ... ok [INFO] [stdout] test parser::tests::test_convert_pattern_ere ... ok [INFO] [stdout] test parser::tests::test_convert_pattern_pcre ... ok [INFO] [stdout] test parser::tests::test_convert_replacement_bre ... ok [INFO] [stdout] test parser::tests::test_convert_replacement_ere ... ok [INFO] [stdout] test parser::tests::test_convert_replacement_pcre ... ok [INFO] [stdout] test file_processor::tests::test_streaming_threshold_detection ... ok [INFO] [stdout] test parser::tests::test_parse_delete ... ok [INFO] [stdout] test parser::tests::test_parse_group ... ok [INFO] [stdout] test parser::tests::test_parse_substitution_with_flags ... ok [INFO] [stdout] test file_processor::tests::test_streaming_pattern_range_delete ... ok [INFO] [stdout] test file_processor::tests::test_streaming_pattern_range_substitution ... ok [INFO] [stdout] test parser::tests::test_parser_creates_with_flavor ... ok [INFO] [stdout] test file_processor::tests::test_streaming_sliding_window_context ... ok [INFO] [stdout] test regex_error::tests::test_bre_mode_suggestions ... ok [INFO] [stdout] test regex_error::tests::test_display_formatting ... ok [INFO] [stdout] test regex_error::tests::test_compile_regex_with_context_failure ... ok [INFO] [stdout] test regex_error::tests::test_find_unclosed_delimiter ... ok [INFO] [stdout] test parser::tests::test_parse_simple_substitution_pcre ... ok [INFO] [stdout] test file_processor::tests::test_streaming_substitution ... ok [INFO] [stdout] test regex_error::tests::test_unclosed_parenthesis ... ok [INFO] [stdout] test regex_error::tests::test_unclosed_bracket ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_mixed ... ok [INFO] [stdout] test regex_error::tests::test_invalid_quantifier_nothing_to_repeat ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_multiple ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_single ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_complex ... ok [INFO] [stdout] test sed_parser::tests::test_parse_delete_pattern ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_escaped_backslash ... ok [INFO] [stdout] test sed_parser::tests::test_parse_delete_range ... ok [INFO] [stdout] test sed_parser::tests::test_parse_delete_line ... ok [INFO] [stdout] test sed_parser::tests::test_parse_exchange_simple ... ok [INFO] [stdout] test sed_parser::tests::test_parse_exchange_with_pattern ... ok [INFO] [stdout] test sed_parser::tests::test_backreference_conversion_ampersand ... ok [INFO] [stdout] test sed_parser::tests::test_parse_get_simple ... ok [INFO] [stdout] test sed_parser::tests::test_parse_get_append ... ok [INFO] [stdout] test sed_parser::tests::test_parse_hold_range_with_patterns ... ok [INFO] [stdout] test sed_parser::tests::test_parse_get_with_negation ... ok [INFO] [stdout] test sed_parser::tests::test_parse_hold_simple ... ok [INFO] [stdout] test sed_parser::tests::test_parse_line_substitution ... ok [INFO] [stdout] test sed_parser::tests::test_parse_hold_with_address ... ok [INFO] [stdout] test sed_parser::tests::test_parse_print_line ... ok [INFO] [stdout] test sed_parser::tests::test_parse_print_range ... ok [INFO] [stdout] test sed_parser::tests::test_parse_range_substitution ... ok [INFO] [stdout] test sed_parser::tests::test_parse_simple_group ... ok [INFO] [stdout] test sed_parser::tests::test_parse_simple_substitution ... ok [INFO] [stdout] test sed_parser::tests::test_parse_group_with_semicolons ... ok [INFO] [stdout] test sed_parser::tests::test_parse_hold_append_with_range ... ok [INFO] [stdout] test regex_error::tests::test_compile_regex_with_context_success ... ok [INFO] [stdout] test logger::tests::test_get_current_log_path ... ok [INFO] [stderr] Doc-tests sedx [INFO] [stdout] test logger::tests::test_can_write_to_var_log ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 297 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3a422e8bfc527076ddb479957bbbfb4ecc16ba18e2f4b8dc4b7658989d061279", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a422e8bfc527076ddb479957bbbfb4ecc16ba18e2f4b8dc4b7658989d061279", kill_on_drop: false }` [INFO] [stdout] 3a422e8bfc527076ddb479957bbbfb4ecc16ba18e2f4b8dc4b7658989d061279