[INFO] cloning repository https://github.com/Esgrove/cli-tools
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Esgrove/cli-tools" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEsgrove%2Fcli-tools", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEsgrove%2Fcli-tools'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 125578c46aef45d069ce2da61411046861bf7b33
[INFO] testing Esgrove/cli-tools against beta-2026-01-20 for beta-1.94-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEsgrove%2Fcli-tools" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/Esgrove/cli-tools
[INFO] finished tweaking git repo https://github.com/Esgrove/cli-tools
[INFO] tweaked toml for git repo https://github.com/Esgrove/cli-tools written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Esgrove/cli-tools on toolchain beta-2026-01-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Esgrove/cli-tools 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" "+beta-2026-01-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e7e3cd1bc9eaec84c3dfab86535a4adc7eb686134a7cf2d70fefdc8b9b933000
[INFO] running `Command { std: "docker" "start" "-a" "e7e3cd1bc9eaec84c3dfab86535a4adc7eb686134a7cf2d70fefdc8b9b933000", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e7e3cd1bc9eaec84c3dfab86535a4adc7eb686134a7cf2d70fefdc8b9b933000", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7e3cd1bc9eaec84c3dfab86535a4adc7eb686134a7cf2d70fefdc8b9b933000", kill_on_drop: false }`
[INFO] [stdout] e7e3cd1bc9eaec84c3dfab86535a4adc7eb686134a7cf2d70fefdc8b9b933000
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 617959cca1dbe32b90f4672d2f51abad2c2585ed2350a24aba784f12b1c08e32
[INFO] running `Command { std: "docker" "start" "-a" "617959cca1dbe32b90f4672d2f51abad2c2585ed2350a24aba784f12b1c08e32", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling find-msvc-tools v0.1.8
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling aws-lc-rs v1.15.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling time-macros v0.2.26
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling cc v1.2.54
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling time v0.3.46
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling aws-lc-sys v0.37.0
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling libz-sys v1.1.23
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling zmij v1.0.17
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling libgit2-sys v0.18.3+1.9.2
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling zlib-rs v0.5.5
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling kasuari v0.4.11
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling psl-types v2.0.11
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling publicsuffix v2.3.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling flate2 v1.1.8
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling typed-path v0.12.1
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling zip v7.2.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling cookie_store v0.22.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rust_xlsxwriter_derive v0.2.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling serde_spanned v1.0.4
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling serde_bytes v0.11.19
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling trash v5.2.5
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling toml v0.9.11+spec-1.1.0
[INFO] [stderr]    Compiling indicatif v0.18.3
[INFO] [stderr]    Compiling rust_xlsxwriter v0.92.4
[INFO] [stderr]    Compiling serde_bencode v0.2.4
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling titlecase v3.6.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling ctrlc v3.5.1
[INFO] [stderr]    Compiling clap_complete v4.5.65
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling difference v2.0.0
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling git2 v0.20.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.1
[INFO] [stderr]    Compiling cli-tools v8.9.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 15s
[INFO] running `Command { std: "docker" "inspect" "617959cca1dbe32b90f4672d2f51abad2c2585ed2350a24aba784f12b1c08e32", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "617959cca1dbe32b90f4672d2f51abad2c2585ed2350a24aba784f12b1c08e32", kill_on_drop: false }`
[INFO] [stdout] 617959cca1dbe32b90f4672d2f51abad2c2585ed2350a24aba784f12b1c08e32
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e86d223bda1e91b30f6a0f45f92c68a4069e2616f37d53c1bdb1f4ac88a982e6
[INFO] running `Command { std: "docker" "start" "-a" "e86d223bda1e91b30f6a0f45f92c68a4069e2616f37d53c1bdb1f4ac88a982e6", kill_on_drop: false }`
[INFO] [stderr]    Compiling cli-tools v8.9.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 29.58s
[INFO] running `Command { std: "docker" "inspect" "e86d223bda1e91b30f6a0f45f92c68a4069e2616f37d53c1bdb1f4ac88a982e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e86d223bda1e91b30f6a0f45f92c68a4069e2616f37d53c1bdb1f4ac88a982e6", kill_on_drop: false }`
[INFO] [stdout] e86d223bda1e91b30f6a0f45f92c68a4069e2616f37d53c1bdb1f4ac88a982e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] be94a12ef3b60dd8613d9b61c25ac129e148764a070c676872d28e955e4e0cb0
[INFO] running `Command { std: "docker" "start" "-a" "be94a12ef3b60dd8613d9b61c25ac129e148764a070c676872d28e955e4e0cb0", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.50s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/cli_tools-d162ea59e0187a4a)
[INFO] [stdout] 
[INFO] [stdout] running 248 tests
[INFO] [stdout] test additional_path_utility_tests::get_relative_path_or_filename_no_filename ... ok
[INFO] [stdout] test additional_path_utility_tests::get_relative_path_or_filename_outside_root ... ok
[INFO] [stdout] test additional_path_utility_tests::get_unique_path_increments_multiple_times ... ok
[INFO] [stdout] test additional_path_utility_tests::get_unique_path_handles_no_extension ... ok
[INFO] [stdout] test additional_path_utility_tests::get_unique_path_returns_original_when_no_conflict ... ok
[INFO] [stdout] test additional_path_utility_tests::append_extension_preserves_directory ... ok
[INFO] [stdout] test additional_path_utility_tests::insert_suffix_preserves_directory ... ok
[INFO] [stdout] test assert_f64_eq_tests::equal_values ... ok
[INFO] [stdout] test color_diff_tests::addition_only ... ok
[INFO] [stdout] test additional_path_utility_tests::get_unique_path_increments_counter ... ok
[INFO] [stdout] test color_diff_tests::completely_different_strings ... ok
[INFO] [stdout] test assert_f64_eq_tests::very_close_values ... ok
[INFO] [stdout] test color_diff_tests::empty_strings ... ok
[INFO] [stdout] test color_diff_tests::identical_strings ... ok
[INFO] [stdout] test color_diff_tests::partial_change ... ok
[INFO] [stdout] test color_diff_tests::removal_only ... ok
[INFO] [stdout] test colorize_bool_tests::colorize_false ... ok
[INFO] [stdout] test color_diff_tests::stacked_mode ... ok
[INFO] [stdout] test colorize_bool_tests::colorize_true ... ok
[INFO] [stdout] test date::date_struct_tests::boundary_day_31 ... ok
[INFO] [stdout] test date::date_struct_tests::boundary_month_12 ... ok
[INFO] [stdout] test date::date_struct_tests::boundary_year_1990 ... ok
[INFO] [stdout] test date::date_struct_tests::boundary_year_1991 ... ok
[INFO] [stdout] test date::date_struct_tests::dash_format ... ok
[INFO] [stdout] test date::date_struct_tests::dash_format_pads_single_digits ... ok
[INFO] [stdout] test date::date_struct_tests::display_format ... ok
[INFO] [stdout] test date::date_struct_tests::dot_format ... ok
[INFO] [stdout] test date::date_struct_tests::dot_format_pads_single_digits ... ok
[INFO] [stdout] test date::date_struct_tests::parse_from_short_invalid_year_length ... ok
[INFO] [stdout] test date::date_struct_tests::parse_from_short_invalid_year_single_digit ... ok
[INFO] [stdout] test date::date_struct_tests::parse_from_short_valid ... ok
[INFO] [stdout] test date::date_struct_tests::swap_year_invalid_result ... ok
[INFO] [stdout] test date::date_struct_tests::swap_year_valid ... ok
[INFO] [stdout] test date::date_struct_tests::try_from_invalid_day_32 ... ok
[INFO] [stdout] test date::date_struct_tests::try_from_invalid_day_zero ... ok
[INFO] [stdout] test date::date_struct_tests::try_from_invalid_month_thirteen ... ok
[INFO] [stdout] test date::date_struct_tests::try_from_invalid_month_zero ... ok
[INFO] [stdout] test date::date_struct_tests::try_from_invalid_year_future ... ok
[INFO] [stdout] test date::date_struct_tests::try_from_invalid_year_too_old ... ok
[INFO] [stdout] test date::date_struct_tests::try_from_valid_date ... ok
[INFO] [stdout] test date::directory_tests::replace_file_date_with_directory_date ... ok
[INFO] [stdout] test date::directory_tests::no_date ... ok
[INFO] [stdout] test date::directory_tests::dd_mm_yyyy_format ... ok
[INFO] [stdout] test date::directory_tests::single_digit_date ... ok
[INFO] [stdout] test date::directory_tests::yyyy_mm_dd_format ... ok
[INFO] [stdout] test date::directory_tests::correct_format_with_different_separators ... ok
[INFO] [stdout] test date::filename_tests::date_format_mm_dd_yyyy_with_various_resolutions ... ok
[INFO] [stdout] test date::filename_tests::date_format_mm_dd_yyyy ... ok
[INFO] [stdout] test date::filename_tests::full_date ... ok
[INFO] [stdout] test date::filename_tests::correct_date_format_year_first ... ok
[INFO] [stdout] test date::filename_tests::correct_date_format ... ok
[INFO] [stdout] test date::filename_tests::extra_numbers ... ok
[INFO] [stdout] test date::filename_tests::no_date ... ok
[INFO] [stdout] test assert_f64_eq_tests::different_values - should panic ... ok
[INFO] [stdout] test assert_f64_eq_tests::close_values - should panic ... ok
[INFO] [stdout] test date::filename_tests::swap_year ... ok
[INFO] [stdout] test date::filename_tests::short_date ... ok
[INFO] [stdout] test date::directory_tests::unrecognized_date_format ... ok
[INFO] [stdout] test date::filename_tests::normal_date ... ok
[INFO] [stdout] test date::filename_tests::full_date_year_first ... ok
[INFO] [stdout] test date::filename_tests::single_digit_date ... ok
[INFO] [stdout] test date::filename_tests::swap_year_invalid_future_year ... ok
[INFO] [stdout] test date::regex_tests::full_date_valid_dates ... ok
[INFO] [stdout] test directory_utility_tests::is_directory_empty_true ... ok
[INFO] [stdout] test date::filename_tests::not_a_valid_date ... ok
[INFO] [stdout] test date::filename_tests::single_digit_date_with_full_year ... ok
[INFO] [stdout] test date::regex_tests::full_date_invalid_dates ... ok
[INFO] [stdout] test date::filename_tests::swap_year_does_not_trigger_without_flag ... ok
[INFO] [stdout] test date::regex_tests::correct_date_format ... ok
[INFO] [stdout] test dot_rename::config::compile_regex_patterns_tests::handles_empty_input ... ok
[INFO] [stdout] test dot_rename::config::dot_rename_config_display_tests::display_formats_config ... ok
[INFO] [stdout] test directory_utility_tests::is_directory_empty_with_file ... ok
[INFO] [stdout] test dot_rename::config::compile_regex_patterns_tests::compiles_valid_patterns ... ok
[INFO] [stdout] test dot_rename::config::compile_regex_patterns_tests::returns_error_for_invalid_pattern ... ok
[INFO] [stdout] test dot_rename::config::dot_rename_config_display_tests::display_shows_empty_lists ... ok
[INFO] [stdout] test dot_rename::config::dots_config_tests::from_toml_str_can_override_date_starts_with_year ... ok
[INFO] [stdout] test dot_rename::config::dots_config_tests::from_toml_str_parses_dots_section ... ok
[INFO] [stdout] test dot_rename::config::dots_config_tests::from_toml_str_default_date_starts_with_year_is_true ... ok
[INFO] [stdout] test dot_rename::config::dots_config_tests::from_toml_str_parses_include_list ... ok
[INFO] [stdout] test dot_rename::config::dots_config_tests::from_toml_str_invalid_toml_returns_error ... ok
[INFO] [stdout] test dot_rename::config::dots_config_tests::from_toml_str_parses_move_lists ... ok
[INFO] [stdout] test dot_rename::config::dot_rename_config_display_tests::display_shows_include_exclude ... ok
[INFO] [stdout] test dot_rename::config::dots_config_tests::from_toml_str_parses_empty_config ... ok
[INFO] [stdout] test dot_rename::config::dots_config_tests::from_toml_str_parses_prefix_dir_options ... ok
[INFO] [stdout] test dot_rename::config::dots_config_tests::from_toml_str_parses_replace_pairs ... ok
[INFO] [stdout] test dot_rename::config::parse_removes_tests::skips_empty_patterns ... ok
[INFO] [stdout] test dot_rename::config::parse_regex_substitutes_tests::ignores_incomplete_pairs ... ok
[INFO] [stdout] test dot_rename::config::dots_config_tests::from_toml_str_parses_regex_replace ... ok
[INFO] [stdout] test dot_rename::config::parse_regex_substitutes_tests::returns_error_for_invalid_regex ... ok
[INFO] [stdout] test dot_rename::config::parse_substitutes_tests::ignores_incomplete_pair ... ok
[INFO] [stdout] test dot_rename::config::parse_substitutes_tests::parses_valid_pairs ... ok
[INFO] [stdout] test dot_rename::config::parse_substitutes_tests::trims_whitespace ... ok
[INFO] [stdout] test dot_rename::config::parse_substitutes_tests::handles_empty_input ... ok
[INFO] [stdout] test dot_rename::config::parse_substitutes_tests::skips_empty_pattern ... ok
[INFO] [stdout] test dot_rename::config::parse_removes_tests::parses_valid_removes ... ok
[INFO] [stdout] test dot_rename::config::parse_removes_tests::trims_whitespace ... ok
[INFO] [stdout] test directory_utility_tests::is_directory_empty_with_subdir ... ok
[INFO] [stdout] test dot_rename::config::parse_regex_substitutes_tests::parses_valid_regex_pairs ... ok
[INFO] [stdout] test dot_rename::format::test_deduplicate_patterns::test_no_duplicates ... ok
[INFO] [stdout] test dot_rename::format::test_deduplicate_patterns::test_double_duplicate ... ok
[INFO] [stdout] test dot_rename::format::test_remove_from_start::test_consecutive_patterns ... ok
[INFO] [stdout] test dot_rename::format::test_deduplicate_patterns::test_triple_duplicate ... ok
[INFO] [stdout] test dot_rename::format::test_deduplicate_patterns::test_mixed_case_duplicates ... ok
[INFO] [stdout] test dot_rename::format::test_deduplicate_patterns::test_substitute_creates_duplicate ... ok
[INFO] [stdout] test dot_rename::format::test_remove_from_start::test_single_occurrence ... ok
[INFO] [stdout] test dot_rename::format::test_remove_from_start::test_no_patterns ... ok
[INFO] [stdout] test dot_rename::format::move_date_tests::test_valid_date ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_basic ... ok
[INFO] [stdout] test dot_rename::format::move_date_tests::test_short_date ... ok
[INFO] [stdout] test dot_rename::format::move_date_tests::test_no_match_with_valid_date ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_convert_case ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_date_year_first ... ok
[INFO] [stdout] test dot_rename::format::test_remove_from_start::test_partial_word_match ... ok
[INFO] [stdout] test dot_rename::format::test_remove_from_start::test_multiple_occurrences ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_empty_string ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_date_with_adjacent_resolution ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_date_mm_dd_yyyy ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_no_changes ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_with_brackets ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_with_combined_cases ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_with_dotcom ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_no_brackets ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_with_exclamations ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_with_extra_dots ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_date ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_with_parentheses ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_with_weird_characters ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_without_prefix_suffix ... ok
[INFO] [stdout] test dot_rename::format::tests::test_move_to_end ... ok
[INFO] [stdout] test dot_rename::format::tests::test_prefix_already_present_in_filename ... ok
[INFO] [stdout] test dot_rename::format::tests::test_prefix_dir_start_option ... ok
[INFO] [stdout] test dot_rename::format::tests::test_prefix_dir ... ok
[INFO] [stdout] test dot_rename::format::tests::test_prefix_and_suffix_together ... ok
[INFO] [stdout] test dot_rename::format::tests::test_prefix_with_explicit_name ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_with_newlines ... ok
[INFO] [stdout] test dot_rename::format::written_date_tests::test_edge_case_single_digit_day ... ok
[INFO] [stdout] test dot_rename::format::tests::test_suffix_already_present_in_filename ... ok
[INFO] [stdout] test dot_rename::format::tests::test_suffix_with_explicit_name ... ok
[INFO] [stdout] test dot_rename::format::written_date_tests::test_mixed_text ... ok
[INFO] [stdout] test dot_rename::format::written_date_tests::test_no_date_in_text ... ok
[INFO] [stdout] test dot_rename::format::written_date_tests::test_leading_and_trailing_spaces ... ok
[INFO] [stdout] test dot_rename::format::written_date_tests::test_single_date ... ok
[INFO] [stdout] test dot_rename::format::tests::test_move_to_start ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_and_suffix_cannot_both_be_set ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_already_present_in_filename ... ok
[INFO] [stdout] test dot_rename::format::tests::test_format_name_full_resolution ... ok
[INFO] [stdout] test dot_rename::format::tests::test_remove_identifier ... ok
[INFO] [stdout] test dot_rename::format::written_date_tests::test_multiple_dates ... ok
[INFO] [stdout] test dot_rename::format::tests::test_starts_with_five_or_more_digits ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_dir_recursive_uses_parent_directory_names ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_dir_with_deeply_nested_directories ... ok
[INFO] [stdout] test dot_rename::format::tests::test_prefix_dir_with_leading_digits ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_dir_non_recursive_uses_root_for_all ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_dir_empty_directory ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_recursive_different_subdirs_get_different_prefixes ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_recursive_empty_subdirectories ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_multiple_files_same_directory_get_same_prefix ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_recursive_with_include_filter ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_recursive_with_exclude_filter ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_dir_uses_root_directory_name ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_with_explicit_name ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_recursive_mode_includes_root_and_subdir_files ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_suffix_already_present_in_filename ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_suffix_dir_uses_root_directory_name ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_suffix_dir_recursive_uses_parent_directory_names ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_dir_with_numeric_directory_name ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_suffix_recursive_different_subdirs ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_suffix_with_explicit_name ... ok
[INFO] [stdout] test format_duration_tests::format_duration_seconds_hours ... ok
[INFO] [stdout] test format_duration_tests::format_duration_seconds_minutes ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_dir_start_prevents_date_reordering ... ok
[INFO] [stdout] test format_duration_tests::hours_minutes_seconds ... ok
[INFO] [stdout] test format_duration_tests::minutes_and_seconds ... ok
[INFO] [stdout] test format_duration_tests::format_duration_seconds_basic ... ok
[INFO] [stdout] test format_duration_tests::format_duration_seconds_negative ... ok
[INFO] [stdout] test format_size_tests::bytes_only ... ok
[INFO] [stdout] test format_size_tests::gigabytes ... ok
[INFO] [stdout] test format_size_tests::kilobytes ... ok
[INFO] [stdout] test format_size_tests::megabytes ... ok
[INFO] [stdout] test format_size_tests::terabytes ... ok
[INFO] [stdout] test hidden_file_tests::is_hidden_file ... ok
[INFO] [stdout] test hidden_file_tests::is_hidden_directory ... ok
[INFO] [stdout] test format_duration_tests::seconds_only ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_dir_start_with_5_digit_filename ... ok
[INFO] [stdout] test path_utility_tests::append_extension_to_path_basic ... ok
[INFO] [stdout] test hidden_file_tests::is_not_hidden_file ... ok
[INFO] [stdout] test network_path_tests::non_windows_always_false ... ok
[INFO] [stdout] test path_utility_tests::append_extension_to_path_no_extension ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_suffix_with_special_characters_in_directory_name ... ok
[INFO] [stdout] test path_utility_tests::get_normalized_file_name_and_extension_no_extension ... ok
[INFO] [stdout] test path_utility_tests::get_relative_path_or_filename_within_root ... ok
[INFO] [stdout] test path_utility_tests::get_unique_path_multiple_conflicts ... ok
[INFO] [stdout] test path_utility_tests::get_unique_path_no_conflict ... ok
[INFO] [stdout] test path_utility_tests::append_extension_to_path_with_directory ... ok
[INFO] [stdout] test path_utility_tests::get_relative_path_or_filename_same_as_root ... ok
[INFO] [stdout] test path_utility_tests::get_normalized_dir_name_basic ... ok
[INFO] [stdout] test path_utility_tests::get_normalized_file_name_and_extension_basic ... ok
[INFO] [stdout] test path_utility_tests::get_unique_path_no_extension ... ok
[INFO] [stdout] test path_utility_tests::get_unique_path_with_conflict ... ok
[INFO] [stdout] test path_utility_tests::insert_suffix_before_extension_no_extension ... ok
[INFO] [stdout] test path_utility_tests::insert_suffix_before_extension_basic ... ok
[INFO] [stdout] test path_utility_tests::insert_suffix_before_extension_multiple_dots ... ok
[INFO] [stdout] test path_utility_tests::path_to_file_extension_string_basic ... ok
[INFO] [stdout] test path_utility_tests::path_to_file_extension_string_no_extension ... ok
[INFO] [stdout] test path_utility_tests::os_str_to_string_basic ... ok
[INFO] [stdout] test path_utility_tests::path_to_file_stem_string_basic ... ok
[INFO] [stdout] test path_utility_tests::path_to_filename_string_basic ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_preserves_file_extension ... ok
[INFO] [stdout] test print_function_tests::print_error_does_not_panic ... ok
[INFO] [stdout] test path_utility_tests::path_to_string_basic ... ok
[INFO] [stdout] test print_function_tests::print_magenta_bold_does_not_panic ... ok
[INFO] [stdout] test print_function_tests::print_magenta_does_not_panic ... ok
[INFO] [stdout] test print_function_tests::print_warning_does_not_panic ... ok
[INFO] [stdout] test relative_path_tests::get_relative_path_from_cwd_returns_path ... ok
[INFO] [stdout] test print_function_tests::print_bold_does_not_panic ... ok
[INFO] [stdout] test print_function_tests::print_cyan_does_not_panic ... ok
[INFO] [stdout] test print_function_tests::print_green_does_not_panic ... ok
[INFO] [stdout] test resolve_path_tests::resolve_input_path_default ... ok
[INFO] [stdout] test resolve_path_tests::resolve_input_path_empty ... ok
[INFO] [stdout] test resolve_path_tests::resolve_input_path_valid ... ok
[INFO] [stdout] test resolve_path_tests::resolve_output_path_default ... ok
[INFO] [stdout] test resolve_path_tests::resolve_input_path_nonexistent ... ok
[INFO] [stdout] test resolve_path_tests::resolve_output_path_with_file ... ok
[INFO] [stdout] test resolve_path_tests::resolve_required_input_path_valid ... ok
[INFO] [stdout] test resolve_path_tests::resolve_required_input_path_empty ... ok
[INFO] [stdout] test resolve_path_tests::resolve_required_input_path_nonexistent ... ok
[INFO] [stdout] test show_diff_tests::show_diff_does_not_panic_on_different ... ok
[INFO] [stdout] test show_diff_tests::show_diff_does_not_panic_on_empty ... ok
[INFO] [stdout] test show_diff_tests::show_diff_does_not_panic_on_identical ... ok
[INFO] [stdout] test resolve_path_tests::resolve_required_input_path_whitespace ... ok
[INFO] [stdout] test system_directory_tests::is_system_directory_macos_trashes ... ok
[INFO] [stdout] test system_directory_tests::is_system_directory_path_normal_directory_unix ... ok
[INFO] [stdout] test system_directory_tests::is_system_directory_linux_lost_found ... ok
[INFO] [stdout] test system_directory_tests::is_system_directory_macos_spotlight ... ok
[INFO] [stdout] test system_directory_tests::is_system_directory_path_similar_name_unix ... ok
[INFO] [stdout] test system_directory_tests::is_system_directory_path_recycle_bin_case_insensitive_unix ... ok
[INFO] [stdout] test system_directory_tests::is_system_directory_path_recycle_bin_unix ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_with_special_characters_in_directory_name ... ok
[INFO] [stdout] test system_directory_tests::should_skip_entry_hidden_file ... ok
[INFO] [stdout] test system_directory_tests::is_system_directory_walkdir ... ok
[INFO] [stdout] test system_directory_tests::is_system_directory_path_system_volume_information_unix ... ok
[INFO] [stdout] test system_directory_tests::should_skip_entry_normal_file ... ok
[INFO] [stdout] test system_directory_tests::should_skip_entry_system_dir ... ok
[INFO] [stdout] test trash_or_delete_tests::returns_error_for_nonexistent_file ... ok
[INFO] [stdout] test trash_or_delete_tests::deletes_local_file ... ok
[INFO] [stdout] test path_utility_tests::insert_suffix_before_extension_with_directory ... ok
[INFO] [stdout] test relative_path_tests::path_to_string_relative_converts ... ok
[INFO] [stdout] test dot_rename::rename::test_prefix_suffix_options::test_prefix_with_date_reordering_full_date ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 248 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/dir_move/main.rs (/opt/rustwide/target/debug/deps/dirmove-63ef2f8f33956664)
[INFO] [stdout] 
[INFO] [stdout] running 441 tests
[INFO] [stdout] test config::cli_args_tests::config_from_args_default_min_prefix_chars_is_five ... ok
[INFO] [stdout] test config::cli_args_tests::config_from_args_ignored_group_names_lowercase ... ok
[INFO] [stdout] test config::cli_args_tests::config_from_args_ignored_group_parts_lowercase ... ok
[INFO] [stdout] test config::cli_args_tests::default_group_size_is_none ... ok
[INFO] [stdout] test config::cli_args_tests::config_from_args_uses_cli_min_prefix_chars ... ok
[INFO] [stdout] test config::cli_args_tests::config_from_args_force_enables_overwrite ... ok
[INFO] [stdout] test config::cli_args_tests::default_min_prefix_chars_is_none ... ok
[INFO] [stdout] test config::cli_args_tests::config_from_args_cli_flags_enable_options ... ok
[INFO] [stdout] test config::cli_args_tests::parses_combined_short_flags ... ok
[INFO] [stdout] test config::cli_args_tests::parses_ignored_group_parts_long_form ... ok
[INFO] [stdout] test config::cli_args_tests::parses_long_flags ... ok
[INFO] [stdout] test config::cli_args_tests::parses_min_prefix_chars ... ok
[INFO] [stdout] test config::cli_args_tests::parses_min_prefix_chars_long_form ... ok
[INFO] [stdout] test config::cli_args_tests::config_from_args_print_enables_dryrun ... ok
[INFO] [stdout] test config::cli_args_tests::parses_multiple_exclude_patterns ... ok
[INFO] [stdout] test config::cli_args_tests::parses_multiple_ignored_group_names ... ok
[INFO] [stdout] test config::cli_args_tests::parses_group_size ... ok
[INFO] [stdout] test config::cli_args_tests::parses_ignored_group_names_long_form ... ok
[INFO] [stdout] test config::cli_args_tests::config_from_args_includes_unpack_dirs_lowercase ... ok
[INFO] [stdout] test config::cli_args_tests::empty_arrays_by_default ... ok
[INFO] [stdout] test config::cli_args_tests::parses_multiple_prefix_ignores ... ok
[INFO] [stdout] test config::cli_args_tests::parses_multiple_ignored_group_parts ... ok
[INFO] [stdout] test config::cli_args_tests::rejects_invalid_group_size ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_default_min_prefix_chars_is_none ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_ignores_other_sections ... ok
[INFO] [stdout] test config::cli_args_tests::rejects_invalid_min_prefix_chars ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_invalid_toml_returns_error ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_parses_empty_config ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_parses_ignored_group_names ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_parses_ignored_group_parts ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_parses_include_exclude ... ok
[INFO] [stdout] test config::cli_args_tests::parses_multiple_unpack_directories ... ok
[INFO] [stdout] test config::cli_args_tests::parses_multiple_prefix_overrides ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_parses_min_prefix_chars ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_parses_prefix_options ... ok
[INFO] [stdout] test config::cli_args_tests::parses_path_argument ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_parses_unpack_directories ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_parses_min_group_size ... ok
[INFO] [stdout] test config::config_tests::from_toml_str_parses_dirmove_section ... ok
[INFO] [stdout] test database::tests::display_entry ... ok
[INFO] [stdout] test database::tests::different_spacing_same_entry ... ok
[INFO] [stdout] test config::cli_args_tests::config_from_args_includes_cli_patterns ... ok
[INFO] [stdout] test database::tests::normalize_name_function ... ok
[INFO] [stdout] test database::tests::insert_if_new_preserves_original ... ok
[INFO] [stdout] test dir_move::test_directory_matching::case_insensitive ... ok
[INFO] [stdout] test dir_move::test_directory_matching::basic_match ... ok
[INFO] [stdout] test database::tests::get_all_entries_sorted ... ok
[INFO] [stdout] test dir_move::test_directory_matching::concatenated_directory_matches_dotted_files ... ok
[INFO] [stdout] test dir_move::test_directory_matching::concatenated_directory_matches_dotted_files_without_prefix ... ok
[INFO] [stdout] test dir_move::test_directory_matching::dir_has_prefix_file_does_not ... ok
[INFO] [stdout] test dir_move::test_directory_matching::concatenated_directory_with_dotted_files_and_prefix ... ok
[INFO] [stdout] test dir_move::test_directory_matching::dots_replaced_with_spaces ... ok
[INFO] [stdout] test dir_move::test_directory_matching::empty_dirs ... ok
[INFO] [stdout] test dir_move::test_directory_matching::empty_files ... ok
[INFO] [stdout] test database::tests::upsert_updates_display_name ... ok
[INFO] [stdout] test database::tests::open_in_memory ... ok
[INFO] [stdout] test dir_move::test_directory_matching::file_has_prefix_dir_does_not ... ok
[INFO] [stdout] test dir_move::test_directory_matching::longer_match_wins ... ok
[INFO] [stdout] test dir_move::test_directory_matching::mixed_concatenated_and_dotted_filenames ... ok
[INFO] [stdout] test dir_move::test_directory_matching::mixed_separators ... ok
[INFO] [stdout] test dir_move::test_directory_matching::multiple_dirs ... ok
[INFO] [stdout] test database::tests::upsert_new_entry ... ok
[INFO] [stdout] test dir_move::test_directory_matching::no_matches ... ok
[INFO] [stdout] test database::tests::normalized_name_removes_spaces ... ok
[INFO] [stdout] test dir_move::test_directory_matching::concatenated_filename_matches_spaced_directory ... ok
[INFO] [stdout] test dir_move::test_directory_matching::partial_match ... ok
[INFO] [stdout] test dir_move::test_directory_matching::prefix_ignore_applied_to_both ... ok
[INFO] [stdout] test dir_move::test_directory_matching::special_characters_in_names ... ok
[INFO] [stdout] test dir_move::test_directory_matching::with_multiple_prefix_ignores ... ok
[INFO] [stdout] test dir_move::test_directory_matching::numbers_in_directory_name ... ok
[INFO] [stdout] test dir_move::test_directory_matching::with_prefix_ignore ... ok
[INFO] [stdout] test dir_move::test_directory_matching::with_repeated_prefix_ignore ... ok
[INFO] [stdout] test config::cli_args_tests::parses_multiple_include_patterns ... ok
[INFO] [stdout] test dir_move::test_full_flow::with_resolution_pattern ... ok
[INFO] [stdout] test dir_move::test_full_flow::files_with_2160p_resolution ... ok
[INFO] [stdout] test dir_move::test_full_flow::files_with_dimension_resolution ... ok
[INFO] [stdout] test dir_move::test_full_flow::with_glue_words ... ok
[INFO] [stdout] test dir_move::test_full_flow::short_prefix_with_shared_parts ... ok
[INFO] [stdout] test dir_move::test_full_flow::files_with_resolution_grouped_correctly ... ok
[INFO] [stdout] test dir_move::test_full_flow::simulation_with_filtering ... ok
[INFO] [stdout] test dir_move::test_full_flow::with_resolution_numbers ... ok
[INFO] [stdout] test dir_move::test_ignored_group_names::empty_ignored_list_allows_all ... ok
[INFO] [stdout] test dir_move::test_ignored_group_parts::empty_ignored_parts_allows_all ... ok
[INFO] [stdout] test dir_move::test_ignored_group_parts::does_not_filter_substring_matches ... ok
[INFO] [stdout] test dir_move::test_ignored_group_names::ignored_group_name_with_common_words ... ok
[INFO] [stdout] test dir_move::test_ignored_group_parts::multiple_ignored_parts ... ok
[INFO] [stdout] test dir_move::test_ignored_group_names::ignored_group_name_not_offered ... ok
[INFO] [stdout] test dir_move::test_ignored_group_names::multiple_ignored_group_names ... ok
[INFO] [stdout] test dir_move::test_ignored_group_parts::case_insensitive_matching ... ok
[INFO] [stdout] test dir_move::test_ignored_group_names::ignored_group_names_case_insensitive ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::case_insensitive_prefix_matching ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::dryrun_does_not_modify_files ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::empty_prefix_ignores_does_nothing ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::chained_prefix_stripping ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::merges_only_when_sibling_exists ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::merges_prefixed_directory_into_non_prefixed ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::multiple_prefix_ignores ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::no_merge_without_matching_target ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::non_recursive_ignores_subdirectories ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::recursive_deeply_nested ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::overwrites_existing_files_with_force_flag ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::merges_subdirectories ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::recursive_merges_at_multiple_levels ... ok
[INFO] [stdout] test dir_move::test_ignored_group_names::ignored_multi_part_group_name ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::recursive_merges_in_subdirectories ... ok
[INFO] [stdout] test dir_move::test_ignored_group_parts::filters_groups_containing_ignored_part ... ok
[INFO] [stdout] test dir_move::test_parent_directory_skipped::parent_dir_name_case_insensitive ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::skips_existing_files_without_overwrite ... ok
[INFO] [stdout] test dir_move::test_parent_directory_skipped::parent_dir_name_not_offered_as_new_dir ... ok
[INFO] [stdout] test dir_move::test_parent_directory_skipped::ignored_group_name_checked_after_prefix_strip ... ok
[INFO] [stdout] test dir_move::test_parent_directory_skipped::different_name_still_offered ... ok
[INFO] [stdout] test dir_move::test_parent_directory_skipped::prefix_ignore_multiple_prefixes_stripped ... ok
[INFO] [stdout] test dir_move::test_merge_prefixed_directories::only_merges_siblings_not_across_levels ... ok
[INFO] [stdout] test dir_move::test_parent_directory_skipped::prefix_ignore_stripped_from_dir_name ... ok
[INFO] [stdout] test dir_move::test_parent_directory_skipped::prefix_ignore_not_offered_as_dir_name ... ok
[INFO] [stdout] test dir_move::test_parent_directory_skipped::prefix_ignore_not_in_create_mode_dir_name ... ok
[INFO] [stdout] test dir_move::test_parent_directory_skipped::prefix_ignore_only_prefix_results_in_empty ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::min_group_size_affects_grouping ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::case_variations_grouped_together ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::files_appear_in_multiple_groups ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::no_files_no_groups ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::files_with_completely_different_prefixes ... ok
[INFO] [stdout] test dir_move::test_parent_directory_skipped::prefix_ignore_with_mixed_dotted_and_concatenated_names ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::prefers_concatenated_prefix_for_directory_name ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::prefix_ignores_strips_prefix_from_grouping ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::prefix_overrides_multiple_overrides ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::prefix_overrides_no_match_keeps_original ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::single_file_no_group ... ok
[INFO] [stdout] test dir_move::test_prefix_ignores::all_parts_are_ignored ... ok
[INFO] [stdout] test dir_move::test_prefix_ignores::case_insensitive_ignore ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::prefix_overrides_merge_groups ... ok
[INFO] [stdout] test dir_move::test_prefix_ignores::dot_prefix_multiple_ignores ... ok
[INFO] [stdout] test dir_move::test_prefix_ignores::dot_prefix_single_ignore ... ok
[INFO] [stdout] test dir_move::test_prefix_ignores::ignore_in_middle_not_stripped ... ok
[INFO] [stdout] test dir_move::test_prefix_ignores::multiple_ignores ... ok
[INFO] [stdout] test dir_move::test_prefix_ignores::no_ignores ... ok
[INFO] [stdout] test dir_move::test_prefix_ignores::no_match ... ok
[INFO] [stdout] test dir_move::test_prefix_ignores::repeated_prefix_in_name ... ok
[INFO] [stdout] test dir_move::test_prefix_ignores::single_ignore ... ok
[INFO] [stdout] test dir_move::test_prefix_overrides::empty_groups ... ok
[INFO] [stdout] test dir_move::test_prefix_overrides::matching_override ... ok
[INFO] [stdout] test dir_move::test_prefix_overrides::merges_groups ... ok
[INFO] [stdout] test dir_move::test_prefix_overrides::multiple_overrides ... ok
[INFO] [stdout] test dir_move::test_prefix_overrides::no_overrides ... ok
[INFO] [stdout] test dir_move::test_prefix_overrides::non_matching ... ok
[INFO] [stdout] test dir_move::test_prefix_overrides::override_more_specific_than_prefix ... ok
[INFO] [stdout] test dir_move::test_prefix_overrides::override_with_case_sensitivity ... ok
[INFO] [stdout] test dir_move::test_prefix_overrides::partial_match_only ... ok
[INFO] [stdout] test dir_move::test_prefix_ignores::is_ignored_prefix_exact_match ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::order_by_prefix_length ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::all_prefix_lengths_offered_complete_hierarchy ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::prefix_ignores_and_overrides_combined ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::min_group_size_respected_in_groups ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::alphanumeric_prefix_not_filtered ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::contiguity_glue_words_break_adjacency ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::contiguity_long_date_sequences ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::contiguity_dotted_vs_concatenated_large_group ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::contiguity_mixed_separators_large_dataset ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::large_file_set_multiple_series ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::contiguity_extended_prefix_groups ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::contiguity_prefix_appears_multiple_times ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::contiguity_resolution_in_middle_does_not_break ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::empty_filename_parts_handled ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::files_with_numeric_and_resolution_parts_filtered_for_grouping ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::four_part_prefix_uses_three_part_max ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::files_with_only_extension_no_prefix ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::contiguity_numbers_break_adjacency ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::groups_sorted_by_specificity_longest_prefix_first ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::hyphenated_names_treated_as_single_part ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::mixed_case_and_format_all_normalized_correctly ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::long_single_word_prefix_forms_valid_group ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::contiguity_three_part_prefix_various_forms ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::min_group_size_one_creates_single_file_groups ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::same_prefix_different_case_grouped ... FAILED
[INFO] [stdout] test dir_move::test_realistic_grouping::mixed_extensions_same_prefix_grouped ... ok
[INFO] [stdout] test dir_move::test_prefix_groups::dot_separated_and_concatenated_grouped_together ... FAILED
[INFO] [stdout] test dir_move::test_realistic_grouping::concatenated_vs_dotted_same_name_grouped_with_concat_preferred ... FAILED
[INFO] [stdout] test dir_move::test_realistic_grouping::min_group_size_respected_correctly ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::non_contiguous_parts_do_not_form_group ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::multiple_valid_groupings_all_offered ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::rejected_group_files_remain_available_for_next_group ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::realistic_scenario_seven_files_four_share_two_part_prefix ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::single_character_prefix_forms_group ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::prefix_ignore_strips_common_prefixes_for_better_grouping ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::very_long_filename_prefix_extraction ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::user_can_reject_specific_group_and_use_broader_one ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::substring_prefix_does_not_incorrectly_match ... ok
[INFO] [stdout] test dir_move::test_stripped_name_filtering_integration::case_insensitive_ignored_group_name_after_stripping ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::underscore_names_not_split ... ok
[INFO] [stdout] test dir_move::test_stripped_name_filtering_integration::multi_word_ignored_group_name_after_stripping ... ok
[INFO] [stdout] test dir_move::test_stripped_name_filtering_integration::partial_match_not_filtered ... ok
[INFO] [stdout] test dir_move::test_stripped_name_filtering_integration::case_insensitive_prefix_ignore_result ... ok
[INFO] [stdout] test dir_move::test_stripped_name_filtering_integration::prefix_ignore_partial_match_not_filtered ... ok
[INFO] [stdout] test dir_move::test_stripped_name_filtering_integration::multiple_prefix_ignores_chain_to_ignored_group_name ... ok
[INFO] [stdout] test dir_move::test_stripped_name_filtering_integration::empty_after_full_strip_is_skipped ... ok
[INFO] [stdout] test dir_move::test_stripped_name_filtering_integration::real_world_scenario_release_group_filtering ... ok
[INFO] [stdout] test dir_move::test_stripped_name_filtering_integration::stripped_name_matches_ignored_group_name_not_offered ... ok
[INFO] [stdout] test dir_move::test_stripped_name_filtering_integration::valid_name_after_stripping_is_offered ... ok
[INFO] [stdout] test dir_move::test_unpack::alternating_match_non_match_dirs ... ok
[INFO] [stdout] test dir_move::test_stripped_name_filtering_integration::stripped_name_is_prefix_ignore_not_offered ... ok
[INFO] [stdout] test dir_move::test_unpack::case_insensitive_dirname_match ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::three_part_prefix_coexists_with_two_part_and_one_part ... ok
[INFO] [stdout] test dir_move::test_unpack::deeply_nested_structure ... ok
[INFO] [stdout] test dir_move::test_unpack::basic_preserves_structure_and_removes_matched_dir ... ok
[INFO] [stdout] test dir_move::test_unpack::chain_with_non_matching_subdirs_moved_directly ... ok
[INFO] [stdout] test dir_move::test_unpack::collect_info_counts_correctly ... ok
[INFO] [stdout] test dir_move::test_unpack::dryrun_preserves_empty_matched_directory ... ok
[INFO] [stdout] test dir_move::test_unpack::chain_with_files_at_multiple_levels ... ok
[INFO] [stdout] test dir_move::test_unpack::contains_unpack_directory_helper ... ok
[INFO] [stdout] test dir_move::test_unpack::does_not_prune_unrelated_empty_dirs ... ok
[INFO] [stdout] test dir_move::test_unpack::collect_candidates_filters_nested ... ok
[INFO] [stdout] test dir_move::test_unpack::handles_special_characters_in_names ... ok
[INFO] [stdout] test dir_move::test_unpack::dryrun_does_not_modify_files ... ok
[INFO] [stdout] test dir_move::test_unpack::nested_chain_single_summary ... ok
[INFO] [stdout] test dir_move::test_unpack::empty_unpack_names_does_nothing ... ok
[INFO] [stdout] test dir_move::test_unpack::mixed_files_and_directories ... ok
[INFO] [stdout] test dir_move::test_unpack::moves_non_matching_dirs_directly ... ok
[INFO] [stdout] test dir_move::test_unpack::multiple_unpack_names ... ok
[INFO] [stdout] test dir_move::test_unpack::multiple_matching_dirs_at_different_levels ... ok
[INFO] [stdout] test dir_move::test_realistic_grouping::mixed_content_multiple_distinct_groups_with_noise ... ok
[INFO] [stdout] test dir_move::test_unpack::nested_chain_multiple_non_matching_dirs ... ok
[INFO] [stdout] test dir_move::test_unpack::nested_matching_dirs_are_flattened ... ok
[INFO] [stdout] test dir_move::test_unpack::nested_chain_with_non_matching_dir_between ... ok
[INFO] [stdout] test dir_move::test_unpack::preserves_file_content ... ok
[INFO] [stdout] test dir_move::test_unpack::no_matching_directories ... ok
[INFO] [stdout] test dir_move::test_unpack::non_recursive_only_checks_root_level ... ok
[INFO] [stdout] test dir_move::test_unpack::skips_existing_file_without_overwrite ... ok
[INFO] [stdout] test dir_move::test_unpack::skips_existing_directory_without_overwrite ... ok
[INFO] [stdout] test dir_move::test_unpack::overwrites_existing_file_with_overwrite ... ok
[INFO] [stdout] test dir_move::test_unpack::separate_trees_get_separate_processing ... ok
[INFO] [stdout] test dir_move::test_unwanted_directories::deleted ... ok
[INFO] [stdout] test dir_move::test_unwanted_directories::deleted_recursive ... ok
[INFO] [stdout] test dir_move::test_unwanted_directories::skipped_in_collect_directories ... ok
[INFO] [stdout] test dir_move::test_unwanted_directories::case_insensitive ... ok
[INFO] [stdout] test dir_move::test_unwanted_directories::dryrun_preserves ... ok
[INFO] [stdout] test dir_move::test_unwanted_directories::collect_unwanted_and_unpack_combined ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::broader_group_includes_extended_names ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::distinct_studio_names_form_separate_groups ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::completely_different_files_isolated ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::dotted_vs_concatenated_with_varied_prefixes ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::empty_prefix_ignore_list_no_effect ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::mixed_content_with_noise_files ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::numeric_looking_prefix_ignore ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::prefix_ignore_does_not_strip_from_middle ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::files_without_dots_form_single_groups ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::prefix_ignore_case_insensitive ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::near_match_similar_names_different_groups ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::prefix_ignore_multiple_ignored_prefixes ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::substring_in_middle_not_matched ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::prefix_ignore_with_similar_non_matching_files ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::prefix_ignore_groups_files_with_and_without_prefix ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::multiple_prefix_ignores_comprehensive ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::single_letter_prefix_ignore ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::specific_groups_separate_from_unrelated_names ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::common_short_words_excluded ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::near_match_extra_prefix_not_grouped ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::config_override_allows_short_prefixes ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::count_prefix_chars_helper_works_correctly ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::dotted_prefix_char_count_excludes_dots ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::dotted_prefix_included_when_chars_meet_threshold ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::long_prefix_always_included ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::emoji_prefix_counted_as_chars ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::exact_threshold_includes_prefix ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::min_chars_one_allows_single_char ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::high_threshold_excludes_most_single_words ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::integration_dotted_long_prefix_included ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::integration_dotted_short_prefix_excluded ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::high_threshold_excludes_all_short_dotted ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::min_chars_zero_allows_all ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::short_prefix_excluded_with_default_min_chars ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::short_prefix_included_with_low_min_chars ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::three_part_dotted_prefix_included_when_long_enough ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::three_part_dotted_prefix_char_count ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::short_names_not_grouped_with_default_config ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::threshold_zero_allows_all_dotted_prefixes ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::two_part_prefix_affected_by_min_chars ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::unicode_chars_counted_correctly ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::unicode_dotted_prefix_counted_correctly ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::mixed_dotted_and_single_word_with_threshold ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::threshold_exact_boundary_dotted ... ok
[INFO] [stdout] test utils::test_contiguity::case_insensitive_concatenated ... ok
[INFO] [stdout] test utils::test_contiguity::case_insensitive_exact_match ... ok
[INFO] [stdout] test utils::test_contiguity::case_insensitive_mixed_case ... ok
[INFO] [stdout] test utils::test_contiguity::concatenated_prefix_matches_dotted_original ... ok
[INFO] [stdout] test utils::test_contiguity::concatenated_three_part_prefix_matches_dotted ... ok
[INFO] [stdout] test utils::test_contiguity::empty_prefix_parts ... ok
[INFO] [stdout] test utils::test_contiguity::episode_code_as_part ... ok
[INFO] [stdout] test utils::test_contiguity::exact_concatenated_match_not_substring ... ok
[INFO] [stdout] test utils::test_contiguity::exact_three_part_match_at_start ... ok
[INFO] [stdout] test utils::test_contiguity::exact_two_part_match_at_end ... ok
[INFO] [stdout] test utils::test_contiguity::exact_two_part_match_at_start ... ok
[INFO] [stdout] test utils::test_contiguity::exact_two_part_match_in_middle ... ok
[INFO] [stdout] test utils::test_contiguity::extended_dotted_prefix_matches_concatenated ... ok
[INFO] [stdout] test utils::test_contiguity::extended_prefix_all_forms_match ... ok
[INFO] [stdout] test utils::test_contiguity::extended_prefix_matches ... ok
[INFO] [stdout] test utils::test_contiguity::extended_prefix_matches_longer_concatenated ... ok
[INFO] [stdout] test utils::test_contiguity::extended_single_part_prefix_matches ... ok
[INFO] [stdout] test utils::test_contiguity::extended_single_part_prefix_various_extensions ... ok
[INFO] [stdout] test utils::test_contiguity::long_filename_match_deep_in_middle ... ok
[INFO] [stdout] test utils::test_contiguity::long_filename_non_contiguous ... ok
[INFO] [stdout] test utils::test_contiguity::matches_first_occurrence ... ok
[INFO] [stdout] test utils::test_contiguity::case_insensitive_concatenated_reverse ... ok
[INFO] [stdout] test utils::test_contiguity::exact_single_part_match ... ok
[INFO] [stdout] test utils::test_contiguity::mixed_concatenated_in_middle ... ok
[INFO] [stdout] test utils::test_contiguity::partial_match_not_sufficient ... ok
[INFO] [stdout] test utils::test_contiguity::parts_in_wrong_order ... ok
[INFO] [stdout] test utils::test_contiguity::numeric_parts_are_literal ... ok
[INFO] [stdout] test utils::test_contiguity::prefix_matches_including_extension_part ... ok
[INFO] [stdout] test utils::test_contiguity::prefix_part_not_in_filename ... ok
[INFO] [stdout] test utils::test_contiguity::realistic_adult_site_with_date ... ok
[INFO] [stdout] test utils::test_contiguity::realistic_adult_site_without_date ... ok
[INFO] [stdout] test utils::test_contiguity::realistic_movie_title_contiguous ... ok
[INFO] [stdout] test utils::test_contiguity::realistic_movie_with_year ... ok
[INFO] [stdout] test utils::test_contiguity::prefix_longer_than_filename ... ok
[INFO] [stdout] test utils::test_contiguity::dotted_prefix_matches_concatenated_original ... ok
[INFO] [stdout] test utils::test_contiguity::dotted_three_part_prefix_matches_concatenated ... ok
[INFO] [stdout] test utils::test_contiguity::single_concatenated_prefix_matches_three_dotted ... ok
[INFO] [stdout] test utils::test_contiguity::resolution_pattern_as_part ... ok
[INFO] [stdout] test utils::test_contiguity::realistic_tv_show_pattern ... ok
[INFO] [stdout] test utils::test_contiguity::prefix_matches_entire_filename_except_extension ... ok
[INFO] [stdout] test utils::test_contiguity::single_part_filename ... ok
[INFO] [stdout] test utils::test_contiguity::long_filename_match_at_start ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::test_min_prefix_chars::mixed_lengths_correct_grouping ... ok
[INFO] [stdout] test utils::test_contiguity::three_parts_with_gap_in_middle ... ok
[INFO] [stdout] test utils::test_contiguity::three_variations_of_same_name_concatenated ... ok
[INFO] [stdout] test utils::test_contiguity::three_variations_of_same_name_partial_concat ... ok
[INFO] [stdout] test utils::test_contiguity::three_variations_reverse_partial_concat ... ok
[INFO] [stdout] test utils::test_contiguity::two_parts_separated_by_date ... ok
[INFO] [stdout] test utils::test_contiguity::very_long_dotted_name_matches_concatenated ... ok
[INFO] [stdout] test utils::test_contiguity::three_variations_of_same_name_dotted ... ok
[INFO] [stdout] test utils::test_contiguity::two_parts_separated_by_single_number ... ok
[INFO] [stdout] test utils::test_file_extension_exclusion::extension_case_insensitive_exclusion ... ok
[INFO] [stdout] test utils::test_file_extension_exclusion::double_extension_only_last_excluded ... ok
[INFO] [stdout] test utils::test_file_extension_exclusion::extension_not_included_as_candidate ... ok
[INFO] [stdout] test utils::test_file_extension_exclusion::long_extension_excluded ... ok
[INFO] [stdout] test utils::test_file_extension_exclusion::extension_not_part_of_multi_part_candidate ... ok
[INFO] [stdout] test utils::test_file_extension_exclusion::extension_not_included_even_when_common ... ok
[INFO] [stdout] test utils::test_file_extension_exclusion::valid_candidates_still_found_without_extension ... ok
[INFO] [stdout] test utils::test_file_extension_exclusion::name_that_looks_like_extension_at_non_extension_position ... ok
[INFO] [stdout] test utils::test_contiguity::repeated_single_part ... ok
[INFO] [stdout] test utils::test_filtering::all_numeric_except_extension ... ok
[INFO] [stdout] test utils::test_filtering::case_insensitive_resolution ... ok
[INFO] [stdout] test utils::test_filtering::complex_filtering_year_resolution_glue ... ok
[INFO] [stdout] test utils::test_filtering::consecutive_dots ... ok
[INFO] [stdout] test utils::test_filtering::empty_string ... ok
[INFO] [stdout] test utils::test_filtering::generic_movie_name ... ok
[INFO] [stdout] test utils::test_filtering::generic_tv_show ... ok
[INFO] [stdout] test utils::test_filtering::keeps_4k_not_matched_by_resolution_regex ... ok
[INFO] [stdout] test utils::test_filtering::glue_words_case_insensitive ... ok
[INFO] [stdout] test utils::test_filtering::keeps_mixed_alphanumeric ... ok
[INFO] [stdout] test utils::test_filtering::multiple_resolutions ... ok
[INFO] [stdout] test utils::test_filtering::only_extension_left ... ok
[INFO] [stdout] test utils::test_filtering::preserves_episode_codes ... ok
[INFO] [stdout] test utils::test_filtering::removes_1080p ... ok
[INFO] [stdout] test utils::test_filtering::removes_2160p ... ok
[INFO] [stdout] test utils::test_filtering::removes_720p ... ok
[INFO] [stdout] test utils::test_filtering::no_dots_in_name ... ok
[INFO] [stdout] test utils::test_filtering::no_numeric_parts ... ok
[INFO] [stdout] test utils::test_filtering::removes_and_glue_word ... ok
[INFO] [stdout] test utils::test_filtering::removes_all_glue_words ... ok
[INFO] [stdout] test utils::test_filtering::removes_multiple_numeric ... ok
[INFO] [stdout] test utils::test_filtering::removes_dimension_format ... ok
[INFO] [stdout] test utils::test_filtering::removes_multiple_glue_words ... ok
[INFO] [stdout] test utils::test_filtering::removes_smaller_dimension ... ok
[INFO] [stdout] test utils::test_filtering::removes_year ... ok
[INFO] [stdout] test utils::test_filtering::single_part ... ok
[INFO] [stdout] test utils::test_filtering::removes_the_glue_word ... ok
[INFO] [stdout] test utils::test_get_all_n_part_sequences::four_part_sequences_exact_length ... ok
[INFO] [stdout] test utils::test_get_all_n_part_sequences::no_dots_multi_part_returns_empty ... ok
[INFO] [stdout] test utils::test_get_all_n_part_sequences::no_dots_single_part ... ok
[INFO] [stdout] test utils::test_get_all_n_part_sequences::realistic_filename_three_parts ... ok
[INFO] [stdout] test utils::test_get_all_n_part_sequences::realistic_filename ... ok
[INFO] [stdout] test utils::test_get_all_n_part_sequences::single_part_sequences ... ok
[INFO] [stdout] test utils::test_get_all_n_part_sequences::too_few_parts ... ok
[INFO] [stdout] test utils::test_get_all_n_part_sequences::three_part_sequences ... ok
[INFO] [stdout] test utils::test_get_all_n_part_sequences::two_part_sequences ... ok
[INFO] [stdout] test utils::test_get_all_n_part_sequences::zero_parts_returns_empty ... ok
[INFO] [stdout] test utils::test_position_agnostic_matching::group_name_in_middle_of_filename ... ok
[INFO] [stdout] test utils::test_position_agnostic_matching::group_name_not_found_when_not_contiguous ... ok
[INFO] [stdout] test utils::test_position_agnostic_matching::dotted_group_name_in_middle ... ok
[INFO] [stdout] test utils::test_position_agnostic_matching::mixed_prefix_and_middle_positions ... ok
[INFO] [stdout] test utils::test_position_agnostic_matching::prefix_matches_normalized_finds_anywhere ... ok
[INFO] [stdout] test utils::test_position_agnostic_matching::concatenated_and_dotted_at_various_positions ... ok
[INFO] [stdout] test utils::test_position_agnostic_matching::prefix_matches_normalized_three_part_anywhere ... ok
[INFO] [stdout] test utils::test_position_agnostic_matching::prefix_matches_normalized_two_part_anywhere ... ok
[INFO] [stdout] test utils::test_position_agnostic_matching::realistic_scenario_with_dates_in_middle ... ok
[INFO] [stdout] test utils::test_prefix_candidates::dot_separated_matches_concatenated ... ok
[INFO] [stdout] test utils::test_prefix_candidates::case_insensitive_prefix_matching ... ok
[INFO] [stdout] test utils::test_prefix_candidates::dot_separated_three_parts_matches_concatenated ... ok
[INFO] [stdout] test utils::test_prefix_candidates::dot_separated_with_mixed_case ... ok
[INFO] [stdout] test utils::test_prefix_candidates::dot_separated_two_parts_match_single_word ... ok
[INFO] [stdout] test utils::test_prefix_candidates::empty_file_list ... ok
[INFO] [stdout] test utils::test_prefix_candidates::file_not_in_list ... ok
[INFO] [stdout] test utils::test_prefix_candidates::fallback_to_two_part_when_no_three_part_matches ... ok
[INFO] [stdout] test utils::test_prefix_candidates::identical_single_word_prefix_grouped ... ok
[INFO] [stdout] test utils::test_prefix_candidates::high_min_group_size_filters_all ... ok
[INFO] [stdout] test utils::test_prefix_candidates::long_name_decade_in_title ... ok
[INFO] [stdout] test utils::test_prefix_candidates::identical_prefix_files_are_grouped ... ok
[INFO] [stdout] test utils::test_prefix_candidates::long_name_documentary_with_regions ... ok
[INFO] [stdout] test utils::test_prefix_candidates::long_name_season_with_year_in_name ... ok
[INFO] [stdout] test utils::test_prefix_candidates::long_name_franchise_with_year_variations ... ok
[INFO] [stdout] test utils::test_prefix_candidates::long_name_with_date_after_prefix ... ok
[INFO] [stdout] test utils::test_prefix_candidates::long_name_mixed_year_positions ... ok
[INFO] [stdout] test utils::test_prefix_candidates::long_name_with_only_year_after_prefix ... ok
[INFO] [stdout] test utils::test_prefix_candidates::long_name_with_version_and_year ... ok
[INFO] [stdout] test utils::test_prefix_candidates::long_name_with_year_after_prefix ... ok
[INFO] [stdout] test utils::test_prefix_candidates::many_files_same_prefix ... ok
[INFO] [stdout] test utils::test_prefix_candidates::min_group_size_one ... ok
[INFO] [stdout] test utils::test_prefix_candidates::min_group_size_at_exact_threshold ... ok
[INFO] [stdout] test utils::test_prefix_candidates::min_group_size_one_matches_single_file ... ok
[INFO] [stdout] test utils::test_prefix_candidates::min_group_size_filters_small_groups ... ok
[INFO] [stdout] test utils::test_prefix_candidates::mixed_case_variations_all_group_together ... ok
[INFO] [stdout] test utils::test_prefix_candidates::mixed_prefixes_different_third_parts ... ok
[INFO] [stdout] test utils::test_prefix_candidates::mixed_years_without_filtering ... ok
[INFO] [stdout] test utils::test_prefix_candidates::movie_series_with_years ... ok
[INFO] [stdout] test utils::test_prefix_candidates::no_matches_below_threshold ... ok
[INFO] [stdout] test utils::test_prefix_candidates::only_two_files_high_threshold ... ok
[INFO] [stdout] test utils::test_prefix_candidates::prefers_longer_prefix_over_short_with_more_matches ... ok
[INFO] [stdout] test utils::test_prefix_candidates::numeric_filtering_groups_correctly ... ok
[INFO] [stdout] test utils::test_prefix_candidates::prefix_matches_normalized_single_part ... ok
[INFO] [stdout] test utils::test_prefix_candidates::normalize_prefix_removes_dots_and_lowercases ... ok
[INFO] [stdout] test utils::test_prefix_candidates::prefix_matches_normalized_no_match ... ok
[INFO] [stdout] test utils::test_prefix_candidates::prefix_matches_normalized_two_parts ... ok
[INFO] [stdout] test utils::test_prefix_candidates::prefix_matches_normalized_three_parts ... ok
[INFO] [stdout] test utils::test_prefix_candidates::prefix_matches_normalized_starts_with ... ok
[INFO] [stdout] test utils::test_prefix_candidates::prioritizes_longer_prefix ... ok
[INFO] [stdout] test utils::test_prefix_candidates::short_names_with_extensions ... ok
[INFO] [stdout] test utils::test_prefix_candidates::respects_min_group_size ... ok
[INFO] [stdout] test utils::test_prefix_candidates::returns_all_viable_options_for_alternatives ... ok
[INFO] [stdout] test utils::test_prefix_candidates::simple_prefix_multiple_files ... ok
[INFO] [stdout] test utils::test_prefix_candidates::single_word_fallback ... ok
[INFO] [stdout] test utils::test_prefix_candidates::single_file_no_match ... ok
[INFO] [stdout] test utils::test_prefix_candidates::three_part_dot_separated_match_single_word ... ok
[INFO] [stdout] test utils::test_contiguity::two_parts_separated_by_word ... ok
[INFO] [stdout] test utils::test_prefix_candidates::three_part_prefix_with_mixed_fourth_parts ... ok
[INFO] [stdout] test utils::test_contiguity::very_long_concatenated_name ... ok
[INFO] [stdout] test utils::test_prefix_candidates::with_filtered_numeric_parts ... ok
[INFO] [stdout] test utils::test_prefix_candidates::tv_show_generic_scenario ... ok
[INFO] [stdout] test utils::test_prefix_candidates::tv_show_season_episodes ... ok
[INFO] [stdout] test dir_move::test_varied_prefix_grouping::three_part_prefix_with_ignores_and_noise ... ok
[INFO] [stdout] test utils::test_position_agnostic_matching::group_name_at_various_positions ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- dir_move::test_prefix_groups::same_prefix_different_case_grouped stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'dir_move::test_prefix_groups::same_prefix_different_case_grouped' (407) panicked at src/bin/dir_move/dir_move.rs:1868:9:
[INFO] [stdout] Should have Summer.Vacation group
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d351d9ac1e2 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d351d9ac1e2 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d351d9ac1e2 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5d351d9ac1e2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5d351d9be27a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5d351d9be27a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x5d351d977706 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d351d977706 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5d351d98a859 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5d351d98a859 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5d351d98a6f1 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5d351d3bef6e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5d351d3bef6e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d351d98aad2 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5d351d98aad2 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5d351d98a94a - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5d351d985069 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5d351d96aa4d - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5d351d9c7f4c - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d351d25a74b - dirmove::dir_move::test_prefix_groups::same_prefix_different_case_grouped::h410caf2aaf35cdf3
[INFO] [stdout]                                at /opt/rustwide/workdir/src/bin/dir_move/dir_move.rs:1868:9
[INFO] [stdout]   20:     0x5d351d25a8c7 - dirmove::dir_move::test_prefix_groups::same_prefix_different_case_grouped::{{closure}}::he4efeaefafa4f236
[INFO] [stdout]                                at /opt/rustwide/workdir/src/bin/dir_move/dir_move.rs:1852:44
[INFO] [stdout]   21:     0x5d351d365af6 - core::ops::function::FnOnce::call_once::h8fd7da71f6a5525c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5d351d3bed6b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5d351d3bed6b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5d351d3d273a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5d351d3d273a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x5d351d3d273a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5d351d3d273a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5d351d3d273a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5d351d3d273a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5d351d3d273a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5d351d3acb94 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5d351d3acb94 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5d351d3b0452 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x5d351d3b0452 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x5d351d3b0452 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5d351d3b0452 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5d351d3b0452 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5d351d3b0452 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x5d351d3b0452 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5d351d9801bf - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x5d351d9801bf - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   42:     0x779e6fe48aa4 - <unknown>
[INFO] [stdout]   43:     0x779e6fed5a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- dir_move::test_prefix_groups::dot_separated_and_concatenated_grouped_together stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'dir_move::test_prefix_groups::dot_separated_and_concatenated_grouped_together' (393) panicked at src/bin/dir_move/dir_move.rs:1814:9:
[INFO] [stdout] Should prefer concatenated prefix 'PhotoLab' over dotted 'Photo.Lab'
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d351d9ac1e2 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d351d9ac1e2 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d351d9ac1e2 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5d351d9ac1e2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5d351d9be27a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5d351d9be27a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x5d351d977706 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d351d977706 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5d351d98a859 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5d351d98a859 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5d351d98a6f1 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5d351d3bef6e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5d351d3bef6e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d351d98aad2 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5d351d98aad2 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5d351d98a94a - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5d351d985069 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5d351d96aa4d - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5d351d9c7f4c - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d351d25ff7a - dirmove::dir_move::test_prefix_groups::dot_separated_and_concatenated_grouped_together::h63598ee5fdb8f398
[INFO] [stdout]                                at /opt/rustwide/workdir/src/bin/dir_move/dir_move.rs:1814:9
[INFO] [stdout]   20:     0x5d351d260017 - dirmove::dir_move::test_prefix_groups::dot_separated_and_concatenated_grouped_together::{{closure}}::h95771d5218564c42
[INFO] [stdout]                                at /opt/rustwide/workdir/src/bin/dir_move/dir_move.rs:1789:57
[INFO] [stdout]   21:     0x5d351d364426 - core::ops::function::FnOnce::call_once::h5d04a28c794631de
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5d351d3bed6b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5d351d3bed6b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5d351d3d273a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5d351d3d273a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x5d351d3d273a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5d351d3d273a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5d351d3d273a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5d351d3d273a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5d351d3d273a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5d351d3acb94 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5d351d3acb94 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5d351d3b0452 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x5d351d3b0452 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x5d351d3b0452 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5d351d3b0452 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5d351d3b0452 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5d351d3b0452 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x5d351d3b0452 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5d351d9801bf - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x5d351d9801bf - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   42:     0x779e6fe48aa4 - <unknown>
[INFO] [stdout]   43:     0x779e6fed5a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- dir_move::test_realistic_grouping::concatenated_vs_dotted_same_name_grouped_with_concat_preferred stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'dir_move::test_realistic_grouping::concatenated_vs_dotted_same_name_grouped_with_concat_preferred' (431) panicked at src/bin/dir_move/dir_move.rs:5130:9:
[INFO] [stdout] Should prefer concatenated form NeonLight, got keys: ["Light", "NEONLIGHT", "NEONLIGHT.Episode", "Neon", "Light.Episode", "Episode"]
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d351d9ac1e2 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d351d9ac1e2 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d351d9ac1e2 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5d351d9ac1e2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5d351d9be27a - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5d351d9be27a - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x5d351d977706 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d351d977706 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5d351d98a859 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5d351d98a859 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5d351d98a6f1 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5d351d3bef6e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5d351d3bef6e - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d351d98aad2 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5d351d98aad2 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5d351d98a918 - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5d351d985069 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5d351d96aa4d - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5d351d9c7f4c - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d351d34851a - dirmove::dir_move::test_realistic_grouping::concatenated_vs_dotted_same_name_grouped_with_concat_preferred::hf854b58c0fa67c33
[INFO] [stdout]                                at /opt/rustwide/workdir/src/bin/dir_move/dir_move.rs:5130:9
[INFO] [stdout]   20:     0x5d351d348737 - dirmove::dir_move::test_realistic_grouping::concatenated_vs_dotted_same_name_grouped_with_concat_preferred::{{closure}}::h6a86e5e8226af31e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/bin/dir_move/dir_move.rs:5107:72
[INFO] [stdout]   21:     0x5d351d361726 - core::ops::function::FnOnce::call_once::h011b7f1362368000
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5d351d3bed6b - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5d351d3bed6b - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5d351d3d273a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5d351d3d273a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x5d351d3d273a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5d351d3d273a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5d351d3d273a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5d351d3d273a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5d351d3d273a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5d351d3acb94 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5d351d3acb94 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5d351d3b0452 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x5d351d3b0452 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x5d351d3b0452 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5d351d3b0452 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5d351d3b0452 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5d351d3b0452 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x5d351d3b0452 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5d351d9801bf - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   41:     0x5d351d9801bf - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   42:     0x779e6fe48aa4 - <unknown>
[INFO] [stdout]   43:     0x779e6fed5a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     dir_move::test_prefix_groups::dot_separated_and_concatenated_grouped_together
[INFO] [stdout]     dir_move::test_prefix_groups::same_prefix_different_case_grouped
[INFO] [stdout]     dir_move::test_realistic_grouping::concatenated_vs_dotted_same_name_grouped_with_concat_preferred
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 438 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.49s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin dirmove`
[INFO] running `Command { std: "docker" "inspect" "be94a12ef3b60dd8613d9b61c25ac129e148764a070c676872d28e955e4e0cb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "be94a12ef3b60dd8613d9b61c25ac129e148764a070c676872d28e955e4e0cb0", kill_on_drop: false }`
[INFO] [stdout] be94a12ef3b60dd8613d9b61c25ac129e148764a070c676872d28e955e4e0cb0
