[INFO] cloning repository https://github.com/gechr/ren [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gechr/ren" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgechr%2Fren", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgechr%2Fren'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 725c747defd2d2058aca78b38addeb63b76224ff [INFO] testing gechr/ren against 1.100.0-beta.1 for beta-1.100-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgechr%2Fren" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/gechr/ren [INFO] finished tweaking git repo https://github.com/gechr/ren [INFO] tweaked toml for git repo https://github.com/gechr/ren written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/gechr/ren on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/gechr/ren already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a [INFO] running `Command { std: "docker" "start" "a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.107 [INFO] [stderr] Compiling unicode-ident v1.0.26 [INFO] [stderr] Compiling quote v1.0.47 [INFO] [stderr] Compiling libc v0.2.189 [INFO] [stderr] Compiling rustversion v1.0.23 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling crossbeam-utils v0.8.23 [INFO] [stderr] Compiling log v0.4.34 [INFO] [stderr] Compiling cfg-if v1.0.5 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling crossbeam-epoch v0.9.21 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling aho-corasick v1.1.5 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling unicode-segmentation v1.13.3 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling encoding_rs v0.8.41 [INFO] [stderr] Compiling syn v3.0.6 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling syn v2.0.119 [INFO] [stderr] Compiling crossbeam-deque v0.8.8 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling clap_lex v1.1.1 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling rustix v1.1.5 [INFO] [stderr] Compiling smallvec v1.16.1 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling clap_builder v4.6.7 [INFO] [stderr] Compiling mio v1.2.3 [INFO] [stderr] Compiling regex-automata v0.4.18 [INFO] [stderr] Compiling bstr v1.13.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling simdutf8 v0.1.5 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling anyhow v1.0.104 [INFO] [stderr] Compiling multiversion_no_op v1.0.0 [INFO] [stderr] Compiling winnow v1.0.4 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling bitflags v2.13.2 [INFO] [stderr] Compiling core_detect v1.0.0 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling toml_parser v1.1.3+spec-1.1.0 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling regex v1.13.1 [INFO] [stderr] Compiling globset v0.4.20 [INFO] [stderr] Compiling toml_writer v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling arrayvec v0.7.8 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling toml v1.1.6+spec-1.1.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling Inflector v0.11.4 [INFO] [stderr] Compiling ignore v0.4.33 [INFO] [stderr] Compiling natord v1.0.9 [INFO] [stderr] Compiling multiversion-macros v0.9.0 [INFO] [stderr] Compiling clap_derive v4.6.7 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling multiversion v0.9.0 [INFO] [stderr] Compiling clap v4.6.7 [INFO] [stderr] Compiling clap_complete v4.6.11 [INFO] [stderr] Compiling num-format v0.4.4 [INFO] [stderr] Compiling ren v0.1.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.5.1 [INFO] [stderr] Compiling regex-automata v0.4.18 [INFO] [stderr] Compiling rustix v1.1.5 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling assert_cmd v2.2.2 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling fastrand v2.5.0 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling regex v1.13.1 [INFO] [stderr] Compiling bstr v1.13.1 [INFO] [stderr] Compiling Inflector v0.11.4 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling globset v0.4.20 [INFO] [stderr] Compiling ignore v0.4.33 [INFO] [stderr] Compiling ren v0.1.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 25.69s [INFO] running `Command { std: "docker" "inspect" "a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/build/ren/8669b5260dafe6ca/out/ren-8669b5260dafe6ca) [INFO] [stdout] [INFO] [stdout] running 186 tests [INFO] [stdout] test expressions::tests::build_subst_escapes_dollar_in_literal_mode ... ok [INFO] [stdout] test expressions::tests::build_subst_preserves_dollar_in_regex_mode ... ok [INFO] [stdout] test config::tests::kebab_case_keys_map_to_snake_fields ... ok [INFO] [stdout] test expressions::tests::empty_replacement_deletes_match ... ok [INFO] [stdout] test expressions::tests::ignore_case_matches_all_cases ... ok [INFO] [stdout] test expressions::tests::build_pattern_escapes_metacharacters_in_literal_mode ... ok [INFO] [stdout] test config::tests::empty_file_yields_default_config ... ok [INFO] [stdout] test config::tests::legacy_regexp_key_is_rejected ... ok [INFO] [stdout] test expressions::tests::list_files_find_only_compiles_a_matcher ... ok [INFO] [stdout] test config::tests::unknown_keys_are_rejected ... ok [INFO] [stdout] test expressions::tests::literal_find_replace_applies ... ok [INFO] [stdout] test expressions::tests::literal_mode_emits_dollar_references_verbatim ... ok [INFO] [stdout] test expressions::tests::parse_expression_requires_null_separator ... ok [INFO] [stdout] test expressions::tests::regex_capture_groups_swap ... ok [INFO] [stdout] test expressions::tests::regex_greedy_flag_drops_inverted_marker ... ok [INFO] [stdout] test expressions::tests::multiple_expressions_chain_in_order ... ok [INFO] [stdout] test expressions::tests::noop_find_eq_replace_is_filtered_out ... ok [INFO] [stdout] test expressions::tests::regex_default_is_non_greedy ... ok [INFO] [stdout] test preview::tests::common_prefix_suffix_empty_strings ... ok [INFO] [stdout] test expressions::tests::smart_case_variants_pin_all_seven ... ok [INFO] [stdout] test preview::tests::common_prefix_suffix_handles_multibyte_chars ... ok [INFO] [stdout] test preview::tests::common_prefix_suffix_identical_strings ... ok [INFO] [stdout] test preview::tests::common_prefix_suffix_no_overlap ... ok [INFO] [stdout] test preview::tests::common_prefix_suffix_shared_prefix_and_extension ... ok [INFO] [stdout] test preview::tests::accepted_entries_supports_quit_after_partial_accepts ... ok [INFO] [stdout] test preview::tests::decide_back_arrow_pops_and_decrements ... ok [INFO] [stdout] test preview::tests::decide_capital_a_pushes_accept ... ok [INFO] [stdout] test preview::tests::accepted_subset_filter_matches_decision_stack ... ok [INFO] [stdout] test preview::tests::decide_forward_arrow_is_reject ... ok [INFO] [stdout] test preview::tests::common_prefix_suffix_test_to_spec ... ok [INFO] [stdout] test preview::tests::decide_n_pushes_reject ... ok [INFO] [stdout] test preview::tests::decide_sequence_y_n_y_back_y_capital_a_n_back_y ... ok [INFO] [stdout] test preview::tests::decide_y_pushes_accept_and_returns_idx ... ok [INFO] [stdout] test preview::tests::display_parent_drops_cwd_prefix ... ok [INFO] [stdout] test rename::tests::build_plan_change_extension_empty_strips_extension ... ok [INFO] [stdout] test rename::tests::build_plan_change_extension_adds_to_extensionless_files ... ok [INFO] [stdout] test rename::tests::build_plan_change_extension_leading_dot_is_optional ... ok [INFO] [stdout] test rename::tests::build_plan_change_extension_replaces_whole_compound_extension ... ok [INFO] [stdout] test rename::tests::build_plan_change_extension_replaces_extension ... ok [INFO] [stdout] test expressions::tests::smart_replaces_in_basename ... ok [INFO] [stdout] test rename::tests::build_plan_exclude_scope_handles_dotfiles_and_extensionless ... ok [INFO] [stdout] test expressions::tests::word_regexp_matches_only_whole_words ... ok [INFO] [stdout] test rename::tests::build_plan_exclude_scope_matches_stem_only ... ok [INFO] [stdout] test rename::tests::build_plan_change_extension_combines_with_supplant ... ok [INFO] [stdout] test rename::tests::build_plan_counter_in_prepend_resets_per_parent_directory ... ok [INFO] [stdout] test rename::tests::build_plan_only_scope_skips_files_without_extension ... ok [INFO] [stdout] test rename::tests::build_plan_derives_depth_relative_to_root ... ok [INFO] [stdout] test rename::tests::build_plan_counter_in_append_resets_per_parent_directory ... ok [INFO] [stdout] test rename::tests::build_plan_smart_marker_width_is_per_parent_directory ... ok [INFO] [stdout] test rename::tests::build_plan_only_scope_matches_extension_and_preserves_stem ... ok [INFO] [stdout] test rename::tests::build_plan_prepend_and_append_share_per_parent_counter ... ok [INFO] [stdout] test rename::tests::build_plan_exclude_scope_preserves_trailing_dot ... ok [INFO] [stdout] test preview::tests::decide_back_arrow_on_empty_stack_returns_zero_and_keeps_stack ... ok [INFO] [stdout] test rename::tests::build_plan_target_dir_flattens_by_default ... ok [INFO] [stdout] test rename::tests::build_plan_supplant_with_include_extension_replaces_entire_basename ... ok [INFO] [stdout] test rename::tests::build_plan_target_dir_absolute_source_flattens ... ok [INFO] [stdout] test rename::tests::build_plan_supplant_literal_collapse_is_caught_by_validate ... ok [INFO] [stdout] test rename::tests::build_plan_supplant_replaces_stem_and_preserves_extension ... ok [INFO] [stdout] test rename::tests::build_plan_target_dir_trailing_slash_is_equivalent ... ok [INFO] [stdout] test rename::tests::build_plan_smart_marker_uses_directory_entry_count_for_width ... ok [INFO] [stdout] test rename::tests::cycle_a_to_b_b_to_a_swaps_contents ... ok [INFO] [stdout] test rename::tests::build_plan_target_dir_parents_preserves_structure ... ok [INFO] [stdout] test rename::tests::case_only_rename_observably_flips_dirent ... ok [INFO] [stdout] test rename::tests::include_dirs_depth_ordering_renames_inner_first ... ok [INFO] [stdout] test rename::tests::simple_rename_end_to_end ... ok [INFO] [stdout] test rename::tests::validate_errors_on_existing_external_target ... ok [INFO] [stdout] test rename::tests::split_stem_ext_handles_edge_cases ... ok [INFO] [stdout] test rename::tests::chain_a_to_b_b_to_c ... ok [INFO] [stdout] test scan::tests::test_is_candidate_path_accepts_regular_source_file ... ok [INFO] [stdout] test scan::tests::test_is_candidate_path_rejects_ctags_files ... ok [INFO] [stdout] test scan::tests::test_is_vcs_path_rejects_vcs_directories ... ok [INFO] [stdout] test scan::tests::test_parse_file_globs_dot_ignored ... ok [INFO] [stdout] test rename::tests::phase2_failure_triggers_per_depth_rollback ... ok [INFO] [stdout] test scan::tests::test_parse_file_globs_empty_string_is_empty ... ok [INFO] [stdout] test scan::tests::test_parse_file_globs_exact_filename ... ok [INFO] [stdout] test scan::tests::test_is_candidate_path_rejects_tilde_backup ... ok [INFO] [stdout] test scan::tests::test_is_vcs_path_accepts_regular_hidden_paths ... ok [INFO] [stdout] test rename::tests::noop_plan_filters_out_unchanged_basenames_and_apply_is_ok ... ok [INFO] [stdout] test scan::tests::test_parse_file_globs_negation ... ok [INFO] [stdout] test scan::tests::test_parse_file_globs_only_commas_is_empty ... ok [INFO] [stdout] test scan::tests::test_parse_file_globs_extension ... ok [INFO] [stdout] test scan::tests::test_parse_file_globs_mixed ... ok [INFO] [stdout] test rename::tests::validate_errors_on_within_plan_duplicate_targets ... ok [INFO] [stdout] test rename::tests::validate_passes_when_existing_target_is_an_old_in_plan ... ok [INFO] [stdout] test scan::tests::test_parse_file_globs_wildcard ... ok [INFO] [stdout] test scan::tests::test_walk_paths_hidden_includes_dotfiles ... ok [INFO] [stdout] test scan::tests::test_walk_paths_default_files_only_depth1 ... ok [INFO] [stdout] test scan::tests::test_walk_paths_multi_root_tags_each_record ... ok [INFO] [stdout] test scan::tests::test_walk_paths_natord_sort ... ok [INFO] [stdout] test scan::tests::test_walk_paths_include_dirs_depth1 ... ok [INFO] [stdout] test scan::tests::test_walk_paths_no_ignore_admits_gitignored ... ok [INFO] [stdout] test tests::test_arg_env_name_matches_clap_spec ... ok [INFO] [stdout] test scan::tests::test_walk_paths_with_file_set_glob ... ok [INFO] [stdout] test scan::tests::test_walk_paths_recursive_include_dirs ... ok [INFO] [stdout] test tests::test_change_extension_conflicts_with_scope_flags_on_cli ... ok [INFO] [stdout] test tests::test_cli_dirs_defaults_to_current_directory ... ok [INFO] [stdout] test scan::tests::test_walk_paths_recursive_files_only ... ok [INFO] [stdout] test tests::test_cli_change_extension_beats_shell_env_only_extension ... ok [INFO] [stdout] test tests::test_cli_dirs_with_recursive_flag_unchanged ... ok [INFO] [stdout] test tests::test_cli_dirs_uses_trailing_positionals ... ok [INFO] [stdout] test tests::test_cli_flag_wins_over_env_for_booleans ... ok [INFO] [stdout] test tests::test_cli_empty_change_extension_is_retained_for_stripping ... ok [INFO] [stdout] test tests::test_cli_is_find_only ... ok [INFO] [stdout] test tests::test_colorized_rename_line_handles_counter_transform ... ok [INFO] [stdout] test tests::test_cli_dirs_with_include_dirs_flag_unchanged ... ok [INFO] [stdout] test tests::test_cli_lower_beats_shell_env_upper ... ok [INFO] [stdout] test tests::test_colorized_rename_line_handles_lowercase_transform ... ok [INFO] [stdout] test tests::test_colorized_rename_line_highlights_only_changed_slice ... ok [INFO] [stdout] test tests::test_colorized_rename_line_highlights_whole_word_on_multi_run_edit ... ok [INFO] [stdout] test tests::test_colorized_rename_line_wholesale_replacement_not_speckled ... ok [INFO] [stdout] test tests::test_cli_is_regex_any_flag_enables_regex ... ok [INFO] [stdout] test tests::test_cli_write_beats_shell_env_dry_run ... ok [INFO] [stdout] test tests::test_cli_positional_skip ... ok [INFO] [stdout] test tests::test_create_missing_parents_creates_missing_dir ... ok [INFO] [stdout] test tests::test_cli_only_extension_beats_shell_env_include_extension ... ok [INFO] [stdout] test tests::test_create_missing_parents_skips_existing_dir ... ok [INFO] [stdout] test tests::test_create_missing_parents_errors_when_parent_is_a_file ... ok [INFO] [stdout] test tests::test_cli_paths_skips_find_and_replace ... ok [INFO] [stdout] test tests::test_compile_options_literal_find_replace ... ok [INFO] [stdout] test tests::test_display_path_preserves_plain_path ... ok [INFO] [stdout] test tests::test_compile_options_carries_regex_flags ... ok [INFO] [stdout] test tests::test_display_path_strips_leading_dot_slash ... ok [INFO] [stdout] test tests::test_compile_options_list_files_find_only ... ok [INFO] [stdout] test tests::test_directory_flag_parses_short_long_and_alias ... ok [INFO] [stdout] test tests::test_compile_options_expression_mode_drops_positionals ... ok [INFO] [stdout] test tests::test_compile_options_list_files_with_expressions_is_not_find_only ... ok [INFO] [stdout] test tests::test_empty_change_extension_env_is_ignored ... ok [INFO] [stdout] test tests::test_env_defaults_enable_boolean_flags ... ok [INFO] [stdout] test tests::test_directory_short_flag_freed_from_include_dirs ... ok [INFO] [stdout] test tests::test_env_only_extension_branch_of_mutex_group ... ok [INFO] [stdout] test tests::test_env_defaults_falsy_values_are_ignored ... ok [INFO] [stdout] test tests::test_has_ambiguous_digit_group_separator ... ok [INFO] [stdout] test tests::test_env_empty_string_for_optional_strings_is_unset ... ok [INFO] [stdout] test tests::test_env_empty_string_for_bool_is_rejected ... ok [INFO] [stdout] test tests::test_env_prepend_and_append_string_values ... ok [INFO] [stdout] test tests::test_expression_mode_without_paths_defaults_to_current_dir ... ok [INFO] [stdout] test tests::test_env_directory_string_value ... ok [INFO] [stdout] test tests::test_list_files_mode_treats_trailing_positionals_as_paths ... ok [INFO] [stdout] test tests::test_include_and_only_extension_are_mutex_on_cli ... ok [INFO] [stdout] test tests::test_parse_file_globs_delegated_to_scan ... ok [INFO] [stdout] test tests::test_preprocess_expression_args_compact_form ... ok [INFO] [stdout] test tests::test_list_files_without_find_pattern ... ok [INFO] [stdout] test tests::test_prepend_and_append_short_flags_parse ... ok [INFO] [stdout] test tests::test_lower_and_upper_are_mutex_on_cli ... ok [INFO] [stdout] test tests::test_summary_message_dry_run_uses_would_rename ... ok [INFO] [stdout] test tests::test_preprocess_expression_args_joins_pair_with_separator ... ok [INFO] [stdout] test tests::test_summary_message_large_counts_use_thousands_separators ... ok [INFO] [stdout] test tests::test_summary_message_combines_files_and_dirs ... ok [INFO] [stdout] test tests::test_shell_env_beats_config_in_mutex_group ... ok [INFO] [stdout] test tests::test_summary_message_plural_renamed ... ok [INFO] [stdout] test tests::test_summary_message_singular_renamed ... ok [INFO] [stdout] test tests::test_shell_env_beats_config_in_extension_group ... ok [INFO] [stdout] test tests::test_supplant_short_flag_parses ... ok [INFO] [stdout] test tests::test_tokenize_splits_on_subword_boundaries ... ok [INFO] [stdout] test tests::test_format_count_uses_requested_locale ... ok [INFO] [stdout] test tests::test_with_commas_preserves_small_values_without_grouping ... ok [INFO] [stdout] test tests::test_transform_short_flags_parse ... ok [INFO] [stdout] test tests::test_two_shell_env_vars_in_extension_group_errors ... ok [INFO] [stdout] test transforms::tests::apply_append_literal ... ok [INFO] [stdout] test tests::test_two_shell_env_vars_in_one_group_errors ... ok [INFO] [stdout] test tests::test_two_config_keys_in_one_group_errors ... ok [INFO] [stdout] test tests::test_write_and_dry_run_cli_conflict_errors ... ok [INFO] [stdout] test tests::test_write_and_preview_cli_conflict_errors ... ok [INFO] [stdout] test transforms::tests::apply_lower ... ok [INFO] [stdout] test transforms::tests::apply_lower_wins_when_both_set ... ok [INFO] [stdout] test transforms::tests::apply_append_with_counter_template ... ok [INFO] [stdout] test transforms::tests::apply_pipeline_order_lower_then_append_then_prepend ... ok [INFO] [stdout] test transforms::tests::apply_supplant_literal_replaces_whole_name ... ok [INFO] [stdout] test tests::test_write_short_alias_y_parses ... ok [INFO] [stdout] test transforms::tests::apply_supplant_runs_before_affixes_and_case ... ok [INFO] [stdout] test transforms::tests::apply_upper ... ok [INFO] [stdout] test transforms::tests::apply_prepend_and_append_share_counter ... ok [INFO] [stdout] test transforms::tests::apply_prepend_literal ... ok [INFO] [stdout] test transforms::tests::apply_pipeline_upper_branch ... ok [INFO] [stdout] test transforms::tests::counter_preserves_unrelated_braces ... ok [INFO] [stdout] test transforms::tests::apply_supplant_with_counter_template ... ok [INFO] [stdout] test transforms::tests::counter_with_surrounding_text ... ok [INFO] [stdout] test transforms::tests::counter_no_padding ... ok [INFO] [stdout] test transforms::tests::counter_zero_padded ... ok [INFO] [stdout] test transforms::tests::smart_marker_composes_with_literal_n ... ok [INFO] [stdout] test transforms::tests::apply_noop_when_all_unset ... ok [INFO] [stdout] test transforms::tests::smart_marker_grows_with_dir_count ... ok [INFO] [stdout] test tests::test_transforms_only_treats_all_positionals_as_paths ... ok [INFO] [stdout] test transforms::tests::has_placeholder_detects_all_forms ... ok [INFO] [stdout] test transforms::tests::apply_prepend_with_counter_template ... ok [INFO] [stdout] test transforms::tests::smart_marker_uses_at_least_two_digits ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 186 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/debug/build/ren/dd9dec3938524755/out/cli-dd9dec3938524755) [INFO] [stdout] [INFO] [stdout] running 32 tests [INFO] [stdout] test default_scope_is_depth_one ... ok [INFO] [stdout] test basic_rename_renames_only_matching_files ... ok [INFO] [stdout] test case_only_rename_flips_dirent_via_temp_hop ... ok [INFO] [stdout] test change_extension_flag_swaps_extension_and_keeps_stem ... ok [INFO] [stdout] test change_extension_conflicts_with_only_extension ... ok [INFO] [stdout] test change_extension_combines_with_supplant_to_rename_and_retype ... ok [INFO] [stdout] test create_dirs_makes_missing_parents_for_regex_target ... ok [INFO] [stdout] test change_extension_empty_strips_extension ... ok [INFO] [stdout] test directory_short_flag_no_longer_means_include_dirs ... ok [INFO] [stdout] test directory_relocates_preserving_subtree_with_parents ... ok [INFO] [stdout] test dry_run_is_the_default_without_write_flag ... ok [INFO] [stdout] test default_scope_protects_extension_from_rewrite ... ok [INFO] [stdout] test default_scope_renames_stem_and_reattaches_extension ... ok [INFO] [stdout] test directory_relocates_flattening_by_default ... ok [INFO] [stdout] test long_help_short_circuits_with_examples ... ok [INFO] [stdout] test include_extension_flag_matches_full_basename ... ok [INFO] [stdout] test duplicate_target_is_a_validation_error ... ok [INFO] [stdout] test list_files_prints_only_matching_basenames ... ok [INFO] [stdout] test only_extension_flag_matches_extension_and_preserves_stem ... ok [INFO] [stdout] test dry_run_makes_no_filesystem_changes ... ok [INFO] [stdout] test include_dirs_with_recursive_renames_dir_then_nested_file ... ok [INFO] [stdout] test short_help_short_circuits_with_usage ... ok [INFO] [stdout] test parents_without_directory_errors ... ok [INFO] [stdout] test recursive_renames_at_all_depths ... ok [INFO] [stdout] test stdin_mode_with_null_splits_on_nul ... ok [INFO] [stdout] test stdin_mode_reads_newline_separated_paths ... ok [INFO] [stdout] test smart_mode_renames_all_case_variants ... ok [INFO] [stdout] test write_and_dry_run_together_is_a_mutex_error ... ok [INFO] [stdout] test transform_only_single_file_path_is_renamed ... ok [INFO] [stdout] test multiple_expressions_apply_in_order_in_one_pass ... ok [INFO] [stdout] test null_with_explicit_paths_errors ... ok [INFO] [stdout] test missing_parent_without_create_dirs_fails_and_rolls_back ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a", kill_on_drop: false }` [INFO] [stdout] a92eb4cb34a9dca5ebed71d6a72c83a701a9f469bf8c52e65479afae229b299a