[INFO] cloning repository https://github.com/jakebromberg/git-worktree-tidy [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jakebromberg/git-worktree-tidy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjakebromberg%2Fgit-worktree-tidy", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjakebromberg%2Fgit-worktree-tidy'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ecaedc70a4d1c7540c46146054d0e5fb059c1415 [INFO] testing jakebromberg/git-worktree-tidy/ecaedc70a4d1c7540c46146054d0e5fb059c1415 against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjakebromberg%2Fgit-worktree-tidy" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jakebromberg/git-worktree-tidy [INFO] finished tweaking git repo https://github.com/jakebromberg/git-worktree-tidy [INFO] tweaked toml for git repo https://github.com/jakebromberg/git-worktree-tidy written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jakebromberg/git-worktree-tidy on toolchain 1.99.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jakebromberg/git-worktree-tidy already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86 [INFO] running `Command { std: "docker" "start" "f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling gix-trace v0.1.20 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Compiling bytesize v2.3.1 [INFO] [stderr] Compiling human_format v1.2.1 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling zlib-rs v0.6.2 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling heapless v0.8.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling jiff v0.2.28 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling hash32 v0.3.1 [INFO] [stderr] Compiling memmap2 v0.9.10 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling signal-hook v0.4.3 [INFO] [stderr] Compiling sha1-checked v0.10.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling nonempty v0.12.0 [INFO] [stderr] Compiling faster-hex v0.10.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling unicode-bom v2.0.3 [INFO] [stderr] Compiling prodash v31.0.0 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling kstring v2.0.2 [INFO] [stderr] Compiling gix-sec v0.14.1 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling uluru v3.1.0 [INFO] [stderr] Compiling clru v0.6.2 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling io-close v0.3.7 [INFO] [stderr] Compiling winnow v1.0.3 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling console v0.16.3 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling unit-prefix v0.5.2 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling arc-swap v1.9.1 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling which v8.0.2 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling toml v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling indicatif v0.18.4 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling dialoguer v0.12.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling maybe-async v0.2.10 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling gix-validate v0.11.2 [INFO] [stderr] Compiling gix-utils v0.3.3 [INFO] [stderr] Compiling gix-path v0.12.1 [INFO] [stderr] Compiling gix-error v0.2.4 [INFO] [stderr] Compiling gix-packetline v0.21.4 [INFO] [stderr] Compiling gix-imara-diff v0.2.2 [INFO] [stderr] Compiling gix-date v0.15.4 [INFO] [stderr] Compiling gix-features v0.48.1 [INFO] [stderr] Compiling gix-chunk v0.7.2 [INFO] [stderr] Compiling gix-quote v0.7.2 [INFO] [stderr] Compiling gix-actor v0.41.1 [INFO] [stderr] Compiling gix-command v0.9.1 [INFO] [stderr] Compiling gix-config-value v0.18.1 [INFO] [stderr] Compiling gix-hash v0.25.1 [INFO] [stderr] Compiling gix-hashtable v0.15.1 [INFO] [stderr] Compiling gix-object v0.61.0 [INFO] [stderr] Compiling gix-fs v0.21.2 [INFO] [stderr] Compiling gix-commitgraph v0.37.1 [INFO] [stderr] Compiling gix-glob v0.26.1 [INFO] [stderr] Compiling gix-bitmap v0.3.2 [INFO] [stderr] Compiling gix-url v0.36.1 [INFO] [stderr] Compiling gix-prompt v0.15.1 [INFO] [stderr] Compiling gix-tempfile v23.0.1 [INFO] [stderr] Compiling gix-mailmap v0.33.1 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling clap_complete v4.6.5 [INFO] [stderr] Compiling gix-lock v23.0.1 [INFO] [stderr] Compiling gix-attributes v0.33.1 [INFO] [stderr] Compiling gix-ignore v0.21.1 [INFO] [stderr] Compiling gix-shallow v0.12.1 [INFO] [stderr] Compiling gix-transport v0.57.1 [INFO] [stderr] Compiling gix-credentials v0.38.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling gix-revwalk v0.32.0 [INFO] [stderr] Compiling gix-ref v0.64.0 [INFO] [stderr] Compiling gix-traverse v0.58.0 [INFO] [stderr] Compiling gix-filter v0.31.0 [INFO] [stderr] Compiling gix-pathspec v0.18.1 [INFO] [stderr] Compiling gix-revision v0.46.0 [INFO] [stderr] Compiling gix-negotiate v0.32.0 [INFO] [stderr] Compiling gix-pack v0.71.0 [INFO] [stderr] Compiling gix-index v0.52.0 [INFO] [stderr] Compiling gix-discover v0.52.0 [INFO] [stderr] Compiling gix-config v0.57.0 [INFO] [stderr] Compiling gix-worktree-stream v0.33.0 [INFO] [stderr] Compiling gix-refspec v0.42.0 [INFO] [stderr] Compiling gix-archive v0.33.0 [INFO] [stderr] Compiling gix-protocol v0.62.0 [INFO] [stderr] Compiling gix-odb v0.81.0 [INFO] [stderr] Compiling gix-worktree v0.53.0 [INFO] [stderr] Compiling gix-diff v0.64.0 [INFO] [stderr] Compiling gix-dir v0.26.0 [INFO] [stderr] Compiling gix-worktree-state v0.31.0 [INFO] [stderr] Compiling gix-submodule v0.31.0 [INFO] [stderr] Compiling gix-status v0.31.0 [INFO] [stderr] Compiling gix-blame v0.14.0 [INFO] [stderr] Compiling gix v0.84.0 [INFO] [stderr] Compiling git-tidy-core v0.1.0 (/opt/rustwide/workdir/crates/git-tidy-core) [INFO] [stderr] Compiling git-remote-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-remote-tidy) [INFO] [stderr] Compiling git-tag-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-tag-tidy) [INFO] [stderr] Compiling git-repo-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-repo-tidy) [INFO] [stderr] Compiling git-config-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-config-tidy) [INFO] [stderr] Compiling git-branch-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-branch-tidy) [INFO] [stderr] Compiling git-stash-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-stash-tidy) [INFO] [stderr] Compiling git-lfs-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-lfs-tidy) [INFO] [stderr] Compiling git-worktree-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-worktree-tidy) [INFO] [stderr] Compiling git-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-tidy) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 3m 57s [INFO] running `Command { std: "docker" "inspect" "f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling assert_cmd v2.2.2 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling zerocopy-derive v0.8.39 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling criterion-plot v0.8.2 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling jwalk v0.8.1 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling gix-validate v0.11.2 [INFO] [stderr] Compiling gix-utils v0.3.3 [INFO] [stderr] Compiling gix-error v0.2.4 [INFO] [stderr] Compiling gix-packetline v0.21.4 [INFO] [stderr] Compiling gix-imara-diff v0.2.2 [INFO] [stderr] Compiling gix-path v0.12.1 [INFO] [stderr] Compiling gix-date v0.15.4 [INFO] [stderr] Compiling gix-chunk v0.7.2 [INFO] [stderr] Compiling gix-quote v0.7.2 [INFO] [stderr] Compiling gix-bitmap v0.3.2 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling criterion v0.8.2 [INFO] [stderr] Compiling gix-features v0.48.1 [INFO] [stderr] Compiling gix-command v0.9.1 [INFO] [stderr] Compiling gix-config-value v0.18.1 [INFO] [stderr] Compiling gix-url v0.36.1 [INFO] [stderr] Compiling gix-actor v0.41.1 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling gix-hash v0.25.1 [INFO] [stderr] Compiling gix-fs v0.21.2 [INFO] [stderr] Compiling gix-glob v0.26.1 [INFO] [stderr] Compiling gix-prompt v0.15.1 [INFO] [stderr] Compiling gix-transport v0.57.1 [INFO] [stderr] Compiling gix-mailmap v0.33.1 [INFO] [stderr] Compiling gix-credentials v0.38.1 [INFO] [stderr] Compiling gix-tempfile v23.0.1 [INFO] [stderr] Compiling gix-hashtable v0.15.1 [INFO] [stderr] Compiling gix-commitgraph v0.37.1 [INFO] [stderr] Compiling gix-object v0.61.0 [INFO] [stderr] Compiling gix-lock v23.0.1 [INFO] [stderr] Compiling gix-attributes v0.33.1 [INFO] [stderr] Compiling gix-ignore v0.21.1 [INFO] [stderr] Compiling gix-shallow v0.12.1 [INFO] [stderr] Compiling gix-revwalk v0.32.0 [INFO] [stderr] Compiling gix-ref v0.64.0 [INFO] [stderr] Compiling gix-pack v0.71.0 [INFO] [stderr] Compiling gix-traverse v0.58.0 [INFO] [stderr] Compiling gix-revision v0.46.0 [INFO] [stderr] Compiling gix-negotiate v0.32.0 [INFO] [stderr] Compiling gix-filter v0.31.0 [INFO] [stderr] Compiling gix-pathspec v0.18.1 [INFO] [stderr] Compiling gix-index v0.52.0 [INFO] [stderr] Compiling gix-refspec v0.42.0 [INFO] [stderr] Compiling gix-discover v0.52.0 [INFO] [stderr] Compiling gix-config v0.57.0 [INFO] [stderr] Compiling gix-worktree-stream v0.33.0 [INFO] [stderr] Compiling gix-protocol v0.62.0 [INFO] [stderr] Compiling gix-archive v0.33.0 [INFO] [stderr] Compiling gix-worktree v0.53.0 [INFO] [stderr] Compiling gix-odb v0.81.0 [INFO] [stderr] Compiling gix-diff v0.64.0 [INFO] [stderr] Compiling gix-dir v0.26.0 [INFO] [stderr] Compiling gix-submodule v0.31.0 [INFO] [stderr] Compiling gix-worktree-state v0.31.0 [INFO] [stderr] Compiling gix-status v0.31.0 [INFO] [stderr] Compiling gix-blame v0.14.0 [INFO] [stderr] Compiling gix v0.84.0 [INFO] [stderr] Compiling git-tidy-core v0.1.0 (/opt/rustwide/workdir/crates/git-tidy-core) [INFO] [stderr] Compiling git-repo-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-repo-tidy) [INFO] [stderr] Compiling git-remote-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-remote-tidy) [INFO] [stderr] Compiling git-branch-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-branch-tidy) [INFO] [stderr] Compiling git-lfs-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-lfs-tidy) [INFO] [stderr] Compiling git-tag-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-tag-tidy) [INFO] [stderr] Compiling git-config-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-config-tidy) [INFO] [stderr] Compiling git-stash-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-stash-tidy) [INFO] [stderr] Compiling git-worktree-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-worktree-tidy) [INFO] [stderr] Compiling git-tidy v0.1.0 (/opt/rustwide/workdir/crates/git-tidy) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 4m 52s [INFO] running `Command { std: "docker" "inspect" "f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.63s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/git_branch_tidy-2f273a4a1f03e9eb) [INFO] [stdout] [INFO] [stdout] running 59 tests [INFO] [stdout] test clean::tests::clean_all_includes_active ... ok [INFO] [stdout] test clean::tests::clean_deletes_merged_branches ... ok [INFO] [stdout] test clean::tests::clean_dry_run_mixed_local_and_remote_only ... ok [INFO] [stdout] test clean::tests::clean_dry_run_remote_only ... ok [INFO] [stdout] test clean::tests::clean_dry_run_makes_zero_delete_calls ... ok [INFO] [stdout] test clean::tests::clean_force_uses_branch_delete ... ok [INFO] [stdout] test clean::tests::clean_handles_delete_failure ... ok [INFO] [stdout] test clean::tests::clean_include_remote_deletes_remote_branch ... ok [INFO] [stdout] test clean::tests::clean_include_remote_warns_on_failure ... ok [INFO] [stdout] test clean::tests::clean_landed_by_content_uses_force_delete ... ok [INFO] [stdout] test clean::tests::clean_deletes_remote_only_branch ... ok [INFO] [stdout] test clean::tests::clean_skips_active_by_default ... ok [INFO] [stdout] test clean::tests::clean_skips_current_branch ... ok [INFO] [stdout] test clean::tests::clean_strict_skips_landed_by_content ... ok [INFO] [stdout] test cli::tests::behind_threshold_custom ... ok [INFO] [stdout] test cli::tests::behind_threshold_default ... ok [INFO] [stdout] test cli::tests::clean_with_flags ... ok [INFO] [stdout] test cli::tests::clean_all_flag ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::default_command_is_scan ... ok [INFO] [stdout] test cli::tests::scan_include_remote_flag ... ok [INFO] [stdout] test cli::tests::scan_porcelain_flag ... ok [INFO] [stdout] test cli::tests::scan_with_directory ... ok [INFO] [stdout] test output::tests::annotations_human_order_remote_diverged_remote_deleted ... ok [INFO] [stdout] test cli::tests::match_and_exclude_flags ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::human_output_remote_only_annotation ... ok [INFO] [stdout] test output::tests::human_output_with_partial ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test output::tests::row_extras_empty_for_non_partial ... ok [INFO] [stdout] test output::tests::annotations_empty_when_no_flags ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test output::tests::json_output_includes_remote_only_field ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test output::tests::row_extras_lists_unmatched_for_landed_partial ... ok [INFO] [stdout] test output::tests::porcelain_annotations_order_remote_only_remote_deleted_diverged ... ok [INFO] [stdout] test output::tests::row_has_one_cell_per_column ... ok [INFO] [stdout] test output::tests::porcelain_fields_count_is_eight ... ok [INFO] [stdout] test output::tests::row_ratio_and_ab_hidden_when_empty ... ok [INFO] [stdout] test output::tests::porcelain_fields_order_and_types ... ok [INFO] [stdout] test output::tests::row_ratio_present_for_landed_partial ... ok [INFO] [stdout] test output::tests::row_status_and_branch_always_present ... ok [INFO] [stdout] test output::tests::porcelain_fields_path_first ... ok [INFO] [stdout] test scan::tests::scan_classifies_mixed_branches ... ok [INFO] [stdout] test scan::tests::scan_skips_default_branch ... ok [INFO] [stdout] test scan::tests::scan_marks_current_branch ... ok [INFO] [stdout] test output::tests::porcelain_output_remote_only_annotation ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test output::tests::row_ab_present_when_ahead_or_behind_nonzero ... ok [INFO] [stdout] test output::tests::row_branch_cell_carries_current_marker ... ok [INFO] [stdout] test cli::tests::scan_json_flag ... ok [INFO] [stdout] test scan::tests::run_scan_repos_skips_repo_when_entity_filter_excludes_all_branches ... ok [INFO] [stdout] test scan::tests::scan_warns_when_remote_tracking_refs_errors_with_include_remote ... ok [INFO] [stdout] test output::tests::row_branch_cell_pads_unstarred_for_alignment ... ok [INFO] [stdout] test scan::tests::scan_discovers_remote_only_branches ... ok [INFO] [stdout] test scan::tests::scan_remote_only_skips_default_branch_and_head ... ok [INFO] [stdout] test scan::tests::scan_excludes_remote_only_when_flag_false ... ok [INFO] [stdout] test scan::tests::scan_drops_repo_when_current_branch_errors ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_mock ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 59 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/git_branch_tidy-69b6fbd2cfbdb7d9) [INFO] [stdout] [INFO] [stdout] running 59 tests [INFO] [stdout] test clean::tests::clean_dry_run_makes_zero_delete_calls ... ok [INFO] [stdout] test clean::tests::clean_all_includes_active ... ok [INFO] [stdout] test clean::tests::clean_dry_run_remote_only ... ok [INFO] [stdout] test clean::tests::clean_force_uses_branch_delete ... ok [INFO] [stdout] test clean::tests::clean_dry_run_mixed_local_and_remote_only ... ok [INFO] [stdout] test clean::tests::clean_deletes_merged_branches ... ok [INFO] [stdout] test clean::tests::clean_deletes_remote_only_branch ... ok [INFO] [stdout] test clean::tests::clean_handles_delete_failure ... ok [INFO] [stdout] test clean::tests::clean_include_remote_deletes_remote_branch ... ok [INFO] [stdout] test clean::tests::clean_include_remote_warns_on_failure ... ok [INFO] [stdout] test clean::tests::clean_skips_active_by_default ... ok [INFO] [stdout] test clean::tests::clean_skips_current_branch ... ok [INFO] [stdout] test clean::tests::clean_strict_skips_landed_by_content ... ok [INFO] [stdout] test cli::tests::behind_threshold_custom ... ok [INFO] [stdout] test cli::tests::behind_threshold_default ... ok [INFO] [stdout] test cli::tests::clean_all_flag ... ok [INFO] [stdout] test cli::tests::clean_with_flags ... ok [INFO] [stdout] test cli::tests::default_command_is_scan ... ok [INFO] [stdout] test cli::tests::scan_include_remote_flag ... ok [INFO] [stdout] test cli::tests::scan_porcelain_flag ... ok [INFO] [stdout] test cli::tests::match_and_exclude_flags ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test output::tests::annotations_empty_when_no_flags ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test cli::tests::scan_json_flag ... ok [INFO] [stdout] test output::tests::annotations_human_order_remote_diverged_remote_deleted ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::human_output_remote_only_annotation ... ok [INFO] [stdout] test output::tests::human_output_with_partial ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test output::tests::json_output_includes_remote_only_field ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test output::tests::porcelain_fields_count_is_eight ... ok [INFO] [stdout] test output::tests::porcelain_annotations_order_remote_only_remote_deleted_diverged ... ok [INFO] [stdout] test output::tests::porcelain_fields_order_and_types ... ok [INFO] [stdout] test output::tests::porcelain_fields_path_first ... ok [INFO] [stdout] test output::tests::porcelain_output_remote_only_annotation ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test output::tests::row_branch_cell_pads_unstarred_for_alignment ... ok [INFO] [stdout] test output::tests::row_extras_empty_for_non_partial ... ok [INFO] [stdout] test output::tests::row_extras_lists_unmatched_for_landed_partial ... ok [INFO] [stdout] test output::tests::row_ratio_present_for_landed_partial ... ok [INFO] [stdout] test output::tests::row_status_and_branch_always_present ... ok [INFO] [stdout] test scan::tests::scan_classifies_mixed_branches ... ok [INFO] [stdout] test clean::tests::clean_landed_by_content_uses_force_delete ... ok [INFO] [stdout] test scan::tests::scan_skips_default_branch ... ok [INFO] [stdout] test scan::tests::scan_marks_current_branch ... ok [INFO] [stdout] test output::tests::row_ab_present_when_ahead_or_behind_nonzero ... ok [INFO] [stdout] test cli::tests::scan_with_directory ... ok [INFO] [stdout] test output::tests::row_ratio_and_ab_hidden_when_empty ... ok [INFO] [stdout] test output::tests::row_has_one_cell_per_column ... ok [INFO] [stdout] test scan::tests::scan_drops_repo_when_current_branch_errors ... ok [INFO] [stdout] test scan::tests::scan_excludes_remote_only_when_flag_false ... ok [INFO] [stdout] test scan::tests::scan_remote_only_skips_default_branch_and_head ... ok [INFO] [stdout] test scan::tests::scan_warns_when_remote_tracking_refs_errors_with_include_remote ... ok [INFO] [stdout] test scan::tests::scan_discovers_remote_only_branches ... ok [INFO] [stdout] test scan::tests::run_scan_repos_skips_repo_when_entity_filter_excludes_all_branches ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_mock ... ok [INFO] [stdout] test output::tests::row_branch_cell_carries_current_marker ... ok [INFO] [stderr] Running tests/integration_clean.rs (/opt/rustwide/target/release/deps/integration_clean-3e3d664c6365e9d4) [INFO] [stdout] [INFO] [stdout] test result: ok. 59 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test clean_dry_run_does_not_delete ... ok [INFO] [stdout] test clean_safe_refuses_unmerged_branch ... ok [INFO] [stdout] test clean_deletes_merged_branch_in_real_repo ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.45s [INFO] [stdout] [INFO] [stderr] Running tests/integration_scan.rs (/opt/rustwide/target/release/deps/integration_scan-979b91c7d89298ed) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test scan_skips_repo_without_default_branch ... ok [INFO] [stdout] test scan_entity_filter_includes_matching_branches ... ok [INFO] [stdout] test scan_marks_current_branch_in_real_repo ... ok [INFO] [stdout] test scan_entity_filter_exclude_takes_precedence ... ok [INFO] [stdout] test scan_real_repo_with_mixed_branches ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/git_config_tidy-9cfd698391b23034) [INFO] [stdout] [INFO] [stdout] running 38 tests [INFO] [stdout] test cli::tests::default_command_is_lint ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::fix_with_flags ... ok [INFO] [stdout] test cli::tests::lint_json_flag ... ok [INFO] [stdout] test cli::tests::lint_with_directory ... ok [INFO] [stdout] test cli::tests::fix_json_flag ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test cli::tests::lint_porcelain_flag ... ok [INFO] [stdout] test fix::tests::fix_removes_orphaned_config ... ok [INFO] [stdout] test fix::tests::fix_dry_run_makes_zero_calls ... ok [INFO] [stdout] test fix::tests::fix_handles_removal_failure ... ok [INFO] [stdout] test lint::tests::lint_repo_alias_not_shadowing_is_ignored ... ok [INFO] [stdout] test lint::tests::lint_repo_clean_config_no_issues ... ok [INFO] [stdout] test lint::tests::lint_repo_skips_existing_branch_config ... ok [INFO] [stdout] test cli::tests::fix_short_flags ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test types::tests::issue_kind_labels ... ok [INFO] [stdout] test lint::tests::lint_repo_mixed_issues_sorted_by_priority ... ok [INFO] [stdout] test types::tests::issue_kind_severity ... ok [INFO] [stdout] test types::tests::issue_kind_priority_order ... ok [INFO] [stdout] test output::tests::human_output_single_issue_noun ... ok [INFO] [stdout] test fix::tests::fix_mixed_fixable_and_non_fixable ... ok [INFO] [stdout] test types::tests::parse_branch_simple ... ok [INFO] [stdout] test fix::tests::fix_skips_non_fixable_issues ... ok [INFO] [stdout] test types::tests::parse_branch_rejects_non_branch_keys ... ok [INFO] [stdout] test types::tests::parse_branch_with_dot ... ok [INFO] [stdout] test types::tests::parse_branch_with_slash ... ok [INFO] [stdout] test types::tests::severity_labels ... ok [INFO] [stdout] test lint::tests::lint_repo_detects_alias_shadows_builtin ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test lint::tests::lint_repo_deduplicates_orphaned_branch_entries ... ok [INFO] [stdout] test types::tests::parse_branch_rejects_unknown_suffix ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test types::tests::json_config_issue_from_issue ... ok [INFO] [stdout] test lint::tests::run_lint_repos_with_mock ... ok [INFO] [stdout] test lint::tests::lint_repo_detects_orphaned_branch_config ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/git_config_tidy-c10b6eddb9953a5b) [INFO] [stdout] [INFO] [stdout] running 38 tests [INFO] [stdout] test cli::tests::fix_short_flags ... ok [INFO] [stdout] test cli::tests::fix_json_flag ... ok [INFO] [stdout] test cli::tests::fix_with_flags ... ok [INFO] [stdout] test cli::tests::lint_with_directory ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test cli::tests::default_command_is_lint ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::lint_porcelain_flag ... ok [INFO] [stdout] test fix::tests::fix_dry_run_makes_zero_calls ... ok [INFO] [stdout] test fix::tests::fix_handles_removal_failure ... ok [INFO] [stdout] test cli::tests::lint_json_flag ... ok [INFO] [stdout] test fix::tests::fix_mixed_fixable_and_non_fixable ... ok [INFO] [stdout] test fix::tests::fix_removes_orphaned_config ... ok [INFO] [stdout] test fix::tests::fix_skips_non_fixable_issues ... ok [INFO] [stdout] test lint::tests::lint_repo_alias_not_shadowing_is_ignored ... ok [INFO] [stdout] test lint::tests::lint_repo_clean_config_no_issues ... ok [INFO] [stdout] test lint::tests::lint_repo_detects_alias_shadows_builtin ... ok [INFO] [stdout] test lint::tests::lint_repo_detects_orphaned_branch_config ... ok [INFO] [stdout] test lint::tests::lint_repo_skips_existing_branch_config ... ok [INFO] [stdout] test lint::tests::lint_repo_mixed_issues_sorted_by_priority ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::human_output_single_issue_noun ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test lint::tests::run_lint_repos_with_mock ... ok [INFO] [stdout] test types::tests::issue_kind_labels ... ok [INFO] [stdout] test types::tests::issue_kind_priority_order ... ok [INFO] [stdout] test lint::tests::lint_repo_deduplicates_orphaned_branch_entries ... ok [INFO] [stdout] test types::tests::issue_kind_severity ... ok [INFO] [stdout] test types::tests::json_config_issue_from_issue ... ok [INFO] [stdout] test types::tests::parse_branch_simple ... ok [INFO] [stdout] test types::tests::parse_branch_with_slash ... ok [INFO] [stdout] test types::tests::severity_labels ... ok [INFO] [stdout] test types::tests::parse_branch_rejects_unknown_suffix ... ok [INFO] [stdout] test types::tests::parse_branch_with_dot ... ok [INFO] [stdout] test types::tests::parse_branch_rejects_non_branch_keys ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/integration_fix.rs (/opt/rustwide/target/release/deps/integration_fix-97e4e2f2d51a3d6e) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test fix_dry_run_preserves_config ... ok [INFO] [stdout] test fix_removes_orphaned_config ... ok [INFO] [stdout] test fix_json_writes_valid_json_to_stdout_and_progress_to_stderr ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stderr] Running tests/integration_lint.rs (/opt/rustwide/target/release/deps/integration_lint-8981b6bc8895720f) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test lint_clean_repo_has_no_issues ... ok [INFO] [stdout] test lint_detects_alias_shadowing_builtin ... ok [INFO] [stdout] test lint_detects_orphaned_branch_config ... ok [INFO] [stdout] test lint_existing_branch_not_orphaned ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/git_lfs_tidy-05c7e78b55b95831) [INFO] [stdout] [INFO] [stdout] running 46 tests [INFO] [stdout] test clean::tests::clean_handles_prune_failure ... ok [INFO] [stdout] test clean::tests::clean_healthy_items_skipped ... ok [INFO] [stdout] test clean::tests::clean_prune_orphaned ... ok [INFO] [stdout] test clean::tests::clean_with_no_orphaned_is_noop ... ok [INFO] [stdout] test clean::tests::clean_real_prune_marks_dry_run_false ... ok [INFO] [stdout] test output::tests::format_bytes_bytes ... ok [INFO] [stdout] test output::tests::format_bytes_kilobytes ... ok [INFO] [stdout] test output::tests::format_bytes_megabytes ... ok [INFO] [stdout] test clean::tests::clean_without_prune_flag_skips_orphaned ... ok [INFO] [stdout] test output::tests::format_bytes_gigabytes ... ok [INFO] [stdout] test output::tests::human_output_single_item_noun ... ok [INFO] [stdout] test output::tests::human_output_size_column_visible_when_all_sizes_none ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test scan::tests::parse_size_plain_bytes ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_lfs_raw_bytes_and_full_oid ... ok [INFO] [stdout] test scan::tests::parse_size_rejects_overflow ... ok [INFO] [stdout] test scan::tests::parse_size_rejects_negative ... ok [INFO] [stdout] test scan::tests::parse_size_with_b_suffix ... ok [INFO] [stdout] test scan::tests::parse_size_with_space ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_size_none_is_empty_field ... ok [INFO] [stdout] test scan::tests::lfs_prune_calls_tracked ... ok [INFO] [stdout] test scan::tests::scan_excludes_lfs_tracked_from_untracked ... ok [INFO] [stdout] test clean::tests::clean_dry_run_does_not_prune ... ok [INFO] [stdout] test scan::tests::parse_size_case_insensitive ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test scan::tests::parse_size_gigabytes ... ok [INFO] [stdout] test scan::tests::parse_size_kilobytes ... ok [INFO] [stdout] test scan::tests::lfs_prune_error ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test scan::tests::parse_size_invalid ... ok [INFO] [stdout] test output::tests::tidyitem_row_shape_lfs ... ok [INFO] [stdout] test scan::tests::parse_size_megabytes ... ok [INFO] [stdout] test output::tests::tidyitem_row_size_none_renders_empty_some_not_none ... ok [INFO] [stdout] test scan::tests::scan_lfs_not_installed_still_finds_large_blobs ... ok [INFO] [stdout] test scan::tests::scan_with_large_untracked_blobs ... ok [INFO] [stdout] test scan::tests::scan_with_healthy_lfs_files ... ok [INFO] [stdout] test scan::tests::scan_with_orphaned_objects ... ok [INFO] [stdout] test types::tests::classification_priority_order ... ok [INFO] [stdout] test types::tests::json_lfs_item_from_info ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test types::tests::json_lfs_item_missing_size ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_mock ... ok [INFO] [stdout] test scan::tests::scan_with_missing_lfs_files ... ok [INFO] [stdout] test types::tests::classification_labels ... ok [INFO] [stdout] test clean::tests::clean_prints_missing_recommendation ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/git_lfs_tidy-54d26c8d540dfbb7) [INFO] [stdout] [INFO] [stdout] running 55 tests [INFO] [stdout] test clean::tests::clean_healthy_items_skipped ... ok [INFO] [stdout] test clean::tests::clean_handles_prune_failure ... ok [INFO] [stdout] test clean::tests::clean_dry_run_does_not_prune ... ok [INFO] [stdout] test clean::tests::clean_prune_orphaned ... ok [INFO] [stdout] test clean::tests::clean_real_prune_marks_dry_run_false ... ok [INFO] [stdout] test clean::tests::clean_prints_missing_recommendation ... ok [INFO] [stdout] test clean::tests::clean_with_no_orphaned_is_noop ... ok [INFO] [stdout] test cli::tests::clean_with_flags ... ok [INFO] [stdout] test clean::tests::clean_without_prune_flag_skips_orphaned ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::clean_default_thresholds ... ok [INFO] [stdout] test cli::tests::scan_depth ... ok [INFO] [stdout] test cli::tests::scan_size_threshold ... ok [INFO] [stdout] test cli::tests::scan_with_directory ... ok [INFO] [stdout] test output::tests::format_bytes_bytes ... ok [INFO] [stdout] test output::tests::format_bytes_gigabytes ... ok [INFO] [stdout] test output::tests::format_bytes_kilobytes ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::human_output_single_item_noun ... ok [INFO] [stdout] test output::tests::human_output_size_column_visible_when_all_sizes_none ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_lfs_raw_bytes_and_full_oid ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_size_none_is_empty_field ... ok [INFO] [stdout] test output::tests::tidyitem_row_shape_lfs ... ok [INFO] [stdout] test output::tests::tidyitem_row_size_none_renders_empty_some_not_none ... ok [INFO] [stdout] test output::tests::format_bytes_megabytes ... ok [INFO] [stdout] test scan::tests::lfs_prune_calls_tracked ... ok [INFO] [stdout] test scan::tests::lfs_prune_error ... ok [INFO] [stdout] test scan::tests::parse_size_case_insensitive ... ok [INFO] [stdout] test scan::tests::parse_size_gigabytes ... ok [INFO] [stdout] test scan::tests::parse_size_invalid ... ok [INFO] [stdout] test scan::tests::parse_size_kilobytes ... ok [INFO] [stdout] test scan::tests::parse_size_megabytes ... ok [INFO] [stdout] test scan::tests::parse_size_plain_bytes ... ok [INFO] [stdout] test scan::tests::parse_size_rejects_negative ... ok [INFO] [stdout] test scan::tests::parse_size_rejects_overflow ... ok [INFO] [stdout] test scan::tests::parse_size_with_b_suffix ... ok [INFO] [stdout] test scan::tests::parse_size_with_space ... ok [INFO] [stdout] test scan::tests::scan_lfs_not_installed_still_finds_large_blobs ... ok [INFO] [stdout] test scan::tests::scan_with_healthy_lfs_files ... ok [INFO] [stdout] test scan::tests::scan_excludes_lfs_tracked_from_untracked ... ok [INFO] [stdout] test scan::tests::scan_with_missing_lfs_files ... ok [INFO] [stdout] test scan::tests::scan_with_large_untracked_blobs ... ok [INFO] [stdout] test scan::tests::scan_with_orphaned_objects ... ok [INFO] [stdout] test types::tests::classification_labels ... ok [INFO] [stdout] test types::tests::classification_priority_order ... ok [INFO] [stdout] test types::tests::json_lfs_item_missing_size ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test types::tests::json_lfs_item_from_info ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_mock ... ok [INFO] [stdout] test cli::tests::default_command_is_scan ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test cli::tests::scan_json_flag ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running tests/integration_clean.rs (/opt/rustwide/target/release/deps/integration_clean-1ea7d505c1eb5ebd) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test clean_dry_run_with_untracked_blobs ... ok [INFO] [stdout] test clean_with_no_orphaned_is_noop ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s [INFO] [stdout] [INFO] [stderr] Running tests/integration_scan.rs (/opt/rustwide/target/release/deps/integration_scan-e73d2bb5fb1ee332) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test scan_repo_with_no_commits ... ok [INFO] [stdout] test scan_repo_with_no_large_blobs ... ok [INFO] [stdout] test scan_repo_with_large_blob_below_threshold ... ok [INFO] [stdout] test scan_repo_with_large_blob ... ok [INFO] [stdout] test scan_threshold_edge_case ... ok [INFO] [stdout] test scan_multiple_repos ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/git_remote_tidy-21f57a9325f083a4) [INFO] [stdout] [INFO] [stdout] running 46 tests [INFO] [stdout] test clean::tests::clean_all_includes_orphaned ... ok [INFO] [stdout] test clean::tests::clean_handles_removal_failure ... ok [INFO] [stdout] test clean::tests::clean_orphaned_prunes_refs ... ok [INFO] [stdout] test clean::tests::clean_removes_unreachable ... ok [INFO] [stdout] test clean::tests::clean_origin_with_force ... ok [INFO] [stdout] test clean::tests::clean_dry_run_makes_zero_calls ... ok [INFO] [stdout] test clean::tests::clean_origin_requires_force ... ok [INFO] [stdout] test clean::tests::clean_skips_orphaned_by_default ... ok [INFO] [stdout] test clean::tests::clean_skips_active_by_default ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::human_output_hides_tracking_column_when_all_zero ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_null_url_is_empty_field ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_remote_field_order ... ok [INFO] [stdout] test output::tests::json_output_orphaned_null_url ... ok [INFO] [stdout] test output::tests::tidyitem_row_orphaned_null_url_renders_empty ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test output::tests::tidyitem_row_shape_remote ... ok [INFO] [stdout] test output::tests::tidyitem_row_tracking_singular_noun ... ok [INFO] [stdout] test scan::tests::classify_reachable_remote ... ok [INFO] [stdout] test scan::tests::classify_offline_skips_reachability ... ok [INFO] [stdout] test scan::tests::classify_unreachable_remote ... ok [INFO] [stdout] test scan::tests::detect_orphaned_remote ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test scan::tests::is_origin_flag ... ok [INFO] [stdout] test cli::tests::scan_with_directory ... ok [INFO] [stdout] test scan::tests::scan_sorts_by_priority ... ok [INFO] [stdout] test types::tests::classification_labels ... ok [INFO] [stdout] test types::tests::classification_priority_order ... ok [INFO] [stdout] test output::tests::human_output_single_remote_noun ... ok [INFO] [stdout] test cli::tests::default_command_is_scan ... ok [INFO] [stdout] test cli::tests::offline_flag ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test cli::tests::clean_all_flag ... ok [INFO] [stdout] test cli::tests::clean_with_flags ... ok [INFO] [stdout] test cli::tests::offline_flag_with_clean ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test types::tests::json_remote_from_info ... ok [INFO] [stdout] test types::tests::json_remote_orphaned_null_url ... ok [INFO] [stdout] test cli::tests::match_and_exclude_flags ... ok [INFO] [stdout] test scan::tests::run_scan_repos_skips_repo_when_entity_filter_excludes_all_remotes ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_mock ... ok [INFO] [stdout] test scan::tests::scan_warns_when_remote_tracking_refs_errors ... ok [INFO] [stdout] test output::tests::tidyitem_row_tracking_zero_is_none ... ok [INFO] [stdout] test cli::tests::scan_json_flag ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/git_remote_tidy-c22b3aa9f18a47c3) [INFO] [stdout] [INFO] [stdout] running 46 tests [INFO] [stdout] test clean::tests::clean_skips_orphaned_by_default ... ok [INFO] [stdout] test clean::tests::clean_skips_active_by_default ... ok [INFO] [stdout] test clean::tests::clean_removes_unreachable ... ok [INFO] [stdout] test clean::tests::clean_all_includes_orphaned ... ok [INFO] [stdout] test clean::tests::clean_orphaned_prunes_refs ... ok [INFO] [stdout] test clean::tests::clean_dry_run_makes_zero_calls ... ok [INFO] [stdout] test clean::tests::clean_origin_with_force ... ok [INFO] [stdout] test clean::tests::clean_handles_removal_failure ... ok [INFO] [stdout] test clean::tests::clean_origin_requires_force ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::human_output_single_remote_noun ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_null_url_is_empty_field ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_remote_field_order ... ok [INFO] [stdout] test output::tests::tidyitem_row_orphaned_null_url_renders_empty ... ok [INFO] [stdout] test output::tests::tidyitem_row_tracking_singular_noun ... ok [INFO] [stdout] test output::tests::json_output_orphaned_null_url ... ok [INFO] [stdout] test output::tests::tidyitem_row_shape_remote ... ok [INFO] [stdout] test output::tests::tidyitem_row_tracking_zero_is_none ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test scan::tests::classify_offline_skips_reachability ... ok [INFO] [stdout] test scan::tests::is_origin_flag ... ok [INFO] [stdout] test cli::tests::default_command_is_scan ... ok [INFO] [stdout] test cli::tests::scan_json_flag ... ok [INFO] [stdout] test output::tests::human_output_hides_tracking_column_when_all_zero ... ok [INFO] [stdout] test cli::tests::scan_with_directory ... ok [INFO] [stdout] test scan::tests::scan_sorts_by_priority ... ok [INFO] [stdout] test scan::tests::classify_reachable_remote ... ok [INFO] [stdout] test types::tests::classification_priority_order ... ok [INFO] [stdout] test cli::tests::offline_flag ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test types::tests::classification_labels ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test cli::tests::clean_all_flag ... ok [INFO] [stdout] test cli::tests::match_and_exclude_flags ... ok [INFO] [stdout] test cli::tests::offline_flag_with_clean ... ok [INFO] [stdout] test types::tests::json_remote_orphaned_null_url ... ok [INFO] [stdout] test scan::tests::detect_orphaned_remote ... ok [INFO] [stdout] test types::tests::json_remote_from_info ... ok [INFO] [stdout] test scan::tests::scan_warns_when_remote_tracking_refs_errors ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_mock ... ok [INFO] [stdout] test scan::tests::run_scan_repos_skips_repo_when_entity_filter_excludes_all_remotes ... ok [INFO] [stdout] test cli::tests::clean_with_flags ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test scan::tests::classify_unreachable_remote ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s [INFO] [stdout] [INFO] [stderr] Running tests/integration_clean.rs (/opt/rustwide/target/release/deps/integration_clean-df593651a1020331) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test clean_prunes_orphaned_refs ... ok [INFO] [stdout] test clean_dry_run_does_not_remove ... ok [INFO] [stdout] test clean_removes_remote_in_real_repo ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s [INFO] [stdout] [INFO] [stderr] Running tests/integration_scan.rs (/opt/rustwide/target/release/deps/integration_scan-d899c2f6447fe4ea) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test scan_empty_repo_no_remotes ... ok [INFO] [stdout] test scan_entity_filter_exclude_takes_precedence ... ok [INFO] [stdout] test scan_offline_mode ... ok [INFO] [stdout] test scan_repo_with_orphaned_refs ... ok [INFO] [stdout] test scan_repo_with_unreachable_remote ... ok [INFO] [stdout] test scan_entity_filter_includes_matching_remotes ... ok [INFO] [stdout] test scan_real_repo_with_reachable_remote ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/git_repo_tidy-ce5142bf739bdd9e) [INFO] [stdout] [INFO] [stdout] running 59 tests [INFO] [stdout] test clean::tests::clean_skips_active ... ok [INFO] [stdout] test clean::tests::clean_orphaned_only ... ok [INFO] [stdout] test clean::tests::clean_stale_only ... ok [INFO] [stdout] test clean::tests::clean_deletes_dirty_with_force ... ok [INFO] [stdout] test clean::tests::clean_deletes_orphaned ... ok [INFO] [stdout] test clean::tests::clean_deletes_stale ... ok [INFO] [stdout] test clean::tests::clean_mixed_scenario ... ok [INFO] [stdout] test clean::tests::clean_dry_run ... ok [INFO] [stdout] test clean::tests::clean_handles_delete_failure ... ok [INFO] [stdout] test clean::tests::clean_skips_dirty_without_force ... ok [INFO] [stdout] test output::tests::clean_repo_has_no_annotation ... ok [INFO] [stdout] test output::tests::dirty_annotation_singular ... ok [INFO] [stdout] test output::tests::dirty_annotation_plural ... ok [INFO] [stdout] test output::tests::human_output_no_dirty_note_in_summary ... ok [INFO] [stdout] test output::tests::human_output_summary ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test cli::tests::stale_months_custom ... ok [INFO] [stdout] test cli::tests::scan_with_directory ... ok [INFO] [stdout] test cli::tests::noise_pattern_flags ... ok [INFO] [stdout] test cli::tests::clean_with_flags ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::scan_json_flag ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test cli::tests::offline_flag ... ok [INFO] [stdout] test cli::tests::no_default_noise_flag ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test scan::tests::classify_dirty_orphaned ... ok [INFO] [stdout] test cli::tests::stale_months_default ... ok [INFO] [stdout] test scan::tests::classify_orphaned_no_remote ... ok [INFO] [stdout] test scan::tests::classify_stale_repo ... ok [INFO] [stdout] test scan::tests::classify_orphaned_unreachable_remote ... ok [INFO] [stdout] test scan::tests::classify_offline_mode_assumes_reachable ... ok [INFO] [stdout] test scan::tests::classify_uses_du_fn ... ok [INFO] [stdout] test scan::tests::classify_active_repo ... ok [INFO] [stdout] test scan::tests::classify_dirty_active ... ok [INFO] [stdout] test scan::tests::classify_list_remotes_error_does_not_classify_as_orphaned ... ok [INFO] [stdout] test scan::tests::classify_empty_repo_with_remote ... ok [INFO] [stdout] test scan::tests::classify_dirty_stale ... ok [INFO] [stdout] test types::tests::format_disk_size_fractional_gb ... ok [INFO] [stdout] test cli::tests::clean_filter_flags ... ok [INFO] [stdout] test types::tests::format_disk_size_bytes ... ok [INFO] [stdout] test cli::tests::default_command_is_scan ... ok [INFO] [stdout] test types::tests::format_disk_size_gigabytes ... ok [INFO] [stdout] test scan::tests::classify_noise_patterns_filter_dirty ... ok [INFO] [stdout] test types::tests::format_disk_size_kilobytes ... ok [INFO] [stdout] test types::tests::classification_labels ... ok [INFO] [stdout] test types::tests::format_disk_size_megabytes ... ok [INFO] [stdout] test types::tests::classification_priority_order ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test types::tests::format_last_commit_age_many_days ... ok [INFO] [stdout] test types::tests::format_last_commit_age_none ... ok [INFO] [stdout] test types::tests::format_last_commit_age_one_day ... ok [INFO] [stdout] test types::tests::format_last_commit_age_today ... ok [INFO] [stdout] test types::tests::json_repo_orphaned_no_remote ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_du_mock ... ok [INFO] [stdout] test scan::tests::run_scan_repos_parallel_multiple_repos ... ok [INFO] [stdout] test types::tests::json_repo_from_info ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 59 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/git_repo_tidy-4fd8cbc480072d2b) [INFO] [stdout] [INFO] [stdout] running 59 tests [INFO] [stdout] test clean::tests::clean_skips_active ... ok [INFO] [stdout] test clean::tests::clean_dry_run ... ok [INFO] [stdout] test clean::tests::clean_deletes_dirty_with_force ... ok [INFO] [stdout] test clean::tests::clean_mixed_scenario ... ok [INFO] [stdout] test clean::tests::clean_skips_dirty_without_force ... ok [INFO] [stdout] test clean::tests::clean_handles_delete_failure ... ok [INFO] [stdout] test clean::tests::clean_orphaned_only ... ok [INFO] [stdout] test clean::tests::clean_stale_only ... ok [INFO] [stdout] test clean::tests::clean_deletes_orphaned ... ok [INFO] [stdout] test output::tests::dirty_annotation_singular ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::human_output_no_dirty_note_in_summary ... ok [INFO] [stdout] test cli::tests::offline_flag ... ok [INFO] [stdout] test cli::tests::scan_with_directory ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::no_default_noise_flag ... ok [INFO] [stdout] test cli::tests::default_command_is_scan ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test cli::tests::noise_pattern_flags ... ok [INFO] [stdout] test cli::tests::clean_with_flags ... ok [INFO] [stdout] test cli::tests::scan_json_flag ... ok [INFO] [stdout] test cli::tests::clean_filter_flags ... ok [INFO] [stdout] test cli::tests::stale_months_default ... ok [INFO] [stdout] test output::tests::human_output_summary ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test clean::tests::clean_deletes_stale ... ok [INFO] [stdout] test output::tests::dirty_annotation_plural ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test output::tests::clean_repo_has_no_annotation ... ok [INFO] [stdout] test cli::tests::stale_months_custom ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test scan::tests::classify_empty_repo_with_remote ... ok [INFO] [stdout] test scan::tests::classify_list_remotes_error_does_not_classify_as_orphaned ... ok [INFO] [stdout] test scan::tests::classify_dirty_stale ... ok [INFO] [stdout] test scan::tests::classify_dirty_active ... ok [INFO] [stdout] test scan::tests::classify_noise_patterns_filter_dirty ... ok [INFO] [stdout] test scan::tests::classify_active_repo ... ok [INFO] [stdout] test types::tests::classification_labels ... ok [INFO] [stdout] test types::tests::classification_priority_order ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test types::tests::format_disk_size_bytes ... ok [INFO] [stdout] test types::tests::format_disk_size_fractional_gb ... ok [INFO] [stdout] test types::tests::format_disk_size_kilobytes ... ok [INFO] [stdout] test types::tests::format_disk_size_gigabytes ... ok [INFO] [stdout] test types::tests::format_disk_size_megabytes ... ok [INFO] [stdout] test types::tests::format_last_commit_age_many_days ... ok [INFO] [stdout] test scan::tests::classify_offline_mode_assumes_reachable ... ok [INFO] [stdout] test scan::tests::classify_orphaned_no_remote ... ok [INFO] [stdout] test scan::tests::classify_stale_repo ... ok [INFO] [stdout] test scan::tests::classify_dirty_orphaned ... ok [INFO] [stdout] test types::tests::format_last_commit_age_none ... ok [INFO] [stdout] test scan::tests::classify_orphaned_unreachable_remote ... ok [INFO] [stdout] test types::tests::format_last_commit_age_today ... ok [INFO] [stdout] test types::tests::format_last_commit_age_one_day ... ok [INFO] [stdout] test types::tests::json_repo_from_info ... ok [INFO] [stdout] test types::tests::json_repo_orphaned_no_remote ... ok [INFO] [stdout] test scan::tests::classify_uses_du_fn ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_du_mock ... ok [INFO] [stdout] test scan::tests::run_scan_repos_parallel_multiple_repos ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 59 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/integration_clean.rs (/opt/rustwide/target/release/deps/integration_clean-8cfd7e1cb637a905) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test clean_force_deletes_dirty_repo ... ok [INFO] [stdout] test clean_skips_dirty_repo ... ok [INFO] [stdout] test clean_removes_orphaned_repo ... ok [INFO] [stdout] test clean_dry_run_preserves_repo ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.35s [INFO] [stdout] [INFO] [stderr] Running tests/integration_scan.rs (/opt/rustwide/target/release/deps/integration_scan-d7ad3e64617926a8) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test scan_dirty_repo ... ok [INFO] [stdout] test scan_orphaned_no_remote ... ok [INFO] [stdout] test scan_reclaimable_bytes ... ok [INFO] [stdout] test scan_active_repo_with_remote ... ok [INFO] [stdout] test scan_stale_repo ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.48s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/git_stash_tidy-31c2760ca9d148ce) [INFO] [stdout] [INFO] [stdout] running 50 tests [INFO] [stdout] test clean::tests::clean_drops_committed_stashes ... ok [INFO] [stdout] test clean::tests::clean_drops_in_descending_order ... ok [INFO] [stdout] test clean::tests::clean_drops_orphaned_stashes_by_default ... ok [INFO] [stdout] test clean::tests::clean_committed_only_skips_orphaned ... ok [INFO] [stdout] test clean::tests::clean_all_includes_aged ... ok [INFO] [stdout] test clean::tests::clean_aged_only ... ok [INFO] [stdout] test clean::tests::clean_dry_run_makes_zero_drop_calls ... ok [INFO] [stdout] test clean::tests::clean_handles_drop_failure ... ok [INFO] [stdout] test clean::tests::clean_skips_aged_by_default ... ok [INFO] [stdout] test clean::tests::parse_stash_index_invalid ... ok [INFO] [stdout] test clean::tests::clean_skips_active_by_default ... ok [INFO] [stdout] test cli::tests::clean_aged_only_flag ... ok [INFO] [stdout] test cli::tests::clean_all_flag ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::default_command_is_scan ... ok [INFO] [stdout] test cli::tests::match_and_exclude_flags ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test cli::tests::scan_porcelain_flag ... ok [INFO] [stdout] test cli::tests::clean_with_flags ... ok [INFO] [stdout] test cli::tests::scan_with_directory ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_stash_field_order ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::tidyitem_row_age_today_and_one_day ... ok [INFO] [stdout] test cli::tests::scan_json_flag ... ok [INFO] [stdout] test output::tests::tidyitem_row_shape_stash ... ok [INFO] [stdout] test scan::tests::classify_active_stash ... ok [INFO] [stdout] test cli::tests::age_threshold_custom ... ok [INFO] [stdout] test cli::tests::age_threshold_default ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_null_branch_and_age_are_empty_fields ... ok [INFO] [stdout] test scan::tests::classify_aged_stash ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test scan::tests::classify_detached_head_stash_is_not_orphaned ... ok [INFO] [stdout] test scan::tests::classify_orphaned_stash ... ok [INFO] [stdout] test scan::tests::classify_half_similar_stash_is_not_committed ... ok [INFO] [stdout] test scan::tests::classify_unparseable_message_recent ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test scan::tests::scan_groups_by_repo ... ok [INFO] [stdout] test scan::tests::classify_committed_stash ... ok [INFO] [stdout] test scan::tests::classify_unparseable_message_aged ... ok [INFO] [stdout] test types::tests::classification_priority_order ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test types::tests::parse_branch_on_format ... ok [INFO] [stdout] test types::tests::parse_branch_empty ... ok [INFO] [stdout] test types::tests::parse_branch_unknown_format ... ok [INFO] [stdout] test scan::tests::run_scan_repos_skips_repo_when_entity_filter_excludes_all_stashes ... ok [INFO] [stdout] test types::tests::parse_branch_wip_format ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_mock ... ok [INFO] [stdout] test clean::tests::parse_stash_index_valid ... ok [INFO] [stdout] test output::tests::tidyitem_row_age_none_renders_empty_cell ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/git_stash_tidy-551c1a20d10f53c7) [INFO] [stdout] [INFO] [stdout] running 50 tests [INFO] [stdout] test clean::tests::clean_dry_run_makes_zero_drop_calls ... ok [INFO] [stdout] test clean::tests::clean_drops_committed_stashes ... ok [INFO] [stdout] test clean::tests::clean_aged_only ... ok [INFO] [stdout] test clean::tests::clean_drops_orphaned_stashes_by_default ... ok [INFO] [stdout] test clean::tests::clean_drops_in_descending_order ... ok [INFO] [stdout] test clean::tests::clean_handles_drop_failure ... ok [INFO] [stdout] test clean::tests::clean_skips_aged_by_default ... ok [INFO] [stdout] test clean::tests::clean_committed_only_skips_orphaned ... ok [INFO] [stdout] test clean::tests::clean_skips_active_by_default ... ok [INFO] [stdout] test clean::tests::clean_all_includes_aged ... ok [INFO] [stdout] test clean::tests::parse_stash_index_invalid ... ok [INFO] [stdout] test clean::tests::parse_stash_index_valid ... ok [INFO] [stdout] test cli::tests::age_threshold_custom ... ok [INFO] [stdout] test cli::tests::clean_aged_only_flag ... ok [INFO] [stdout] test cli::tests::age_threshold_default ... ok [INFO] [stdout] test cli::tests::clean_all_flag ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::scan_json_flag ... ok [INFO] [stdout] test cli::tests::scan_porcelain_flag ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test cli::tests::default_command_is_scan ... ok [INFO] [stdout] test cli::tests::scan_with_directory ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_stash_field_order ... ok [INFO] [stdout] test output::tests::tidyitem_row_age_none_renders_empty_cell ... ok [INFO] [stdout] test output::tests::tidyitem_row_shape_stash ... ok [INFO] [stdout] test cli::tests::clean_with_flags ... ok [INFO] [stdout] test scan::tests::classify_active_stash ... ok [INFO] [stdout] test scan::tests::classify_aged_stash ... ok [INFO] [stdout] test scan::tests::classify_detached_head_stash_is_not_orphaned ... ok [INFO] [stdout] test scan::tests::classify_half_similar_stash_is_not_committed ... ok [INFO] [stdout] test cli::tests::match_and_exclude_flags ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test output::tests::tidyitem_row_age_today_and_one_day ... ok [INFO] [stdout] test scan::tests::classify_committed_stash ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test scan::tests::classify_orphaned_stash ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_null_branch_and_age_are_empty_fields ... ok [INFO] [stdout] test scan::tests::classify_unparseable_message_aged ... ok [INFO] [stdout] test scan::tests::scan_groups_by_repo ... ok [INFO] [stdout] test types::tests::classification_priority_order ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test types::tests::parse_branch_unknown_format ... ok [INFO] [stdout] test scan::tests::classify_unparseable_message_recent ... ok [INFO] [stdout] test types::tests::parse_branch_empty ... ok [INFO] [stdout] test types::tests::parse_branch_on_format ... ok [INFO] [stdout] test types::tests::parse_branch_wip_format ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_mock ... ok [INFO] [stdout] test scan::tests::run_scan_repos_skips_repo_when_entity_filter_excludes_all_stashes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/integration_clean.rs (/opt/rustwide/target/release/deps/integration_clean-051bf1af0cf38c34) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test clean_dry_run_does_not_drop ... ok [INFO] [stdout] test clean_drops_stash_in_real_repo ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s [INFO] [stdout] [INFO] [stderr] Running tests/integration_scan.rs (/opt/rustwide/target/release/deps/integration_scan-3a8605f0d721dbca) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test scan_empty_repo_no_stashes ... ok [INFO] [stdout] test scan_real_repo_with_stashes ... ok [INFO] [stdout] test scan_repo_with_orphaned_stash ... ok [INFO] [stdout] test scan_entity_filter_includes_matching_stashes ... ok [INFO] [stdout] test scan_entity_filter_exclude_takes_precedence ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/git_tag_tidy-9930a13bf8853ab1) [INFO] [stdout] [INFO] [stdout] running 57 tests [INFO] [stdout] test clean::tests::clean_deletes_stale ... ok [INFO] [stdout] test clean::tests::clean_deletes_local_only ... ok [INFO] [stdout] test clean::tests::clean_local_only_flag ... ok [INFO] [stdout] test clean::tests::clean_include_remote ... ok [INFO] [stdout] test clean::tests::clean_force_deletes_synced ... ok [INFO] [stdout] test clean::tests::clean_handles_deletion_failure ... ok [INFO] [stdout] test clean::tests::clean_release_tag_protection ... ok [INFO] [stdout] test clean::tests::clean_release_tag_with_force ... ok [INFO] [stdout] test clean::tests::clean_skips_synced_by_default ... ok [INFO] [stdout] test clean::tests::clean_stale_only_flag ... ok [INFO] [stdout] test cli::tests::clean_all_flag ... ok [INFO] [stdout] test clean::tests::clean_dry_run_makes_zero_calls ... ok [INFO] [stdout] test clean::tests::clean_all_includes_remote_only ... ok [INFO] [stdout] test cli::tests::default_command_is_scan ... ok [INFO] [stdout] test cli::tests::clean_include_remote_flag ... ok [INFO] [stdout] test cli::tests::clean_with_flags ... ok [INFO] [stdout] test cli::tests::clean_stale_only_flag ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::human_output_omits_date_column_when_all_missing ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::scan_json_flag ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test cli::tests::scan_with_directory ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test cli::tests::clean_local_only_flag ... ok [INFO] [stdout] test cli::tests::offline_flag ... ok [INFO] [stdout] test cli::tests::match_and_exclude_flags ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_date_none_is_empty_field ... ok [INFO] [stdout] test scan::tests::classify_offline_local_treated_as_synced ... ok [INFO] [stdout] test output::tests::human_output_single_tag_noun ... ok [INFO] [stdout] test cli::tests::offline_flag_with_clean ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_tag_full_commit_and_remote_join ... ok [INFO] [stdout] test clean::tests::clean_skips_remote_only_by_default ... ok [INFO] [stdout] test output::tests::tidyitem_row_date_none_renders_none_not_empty ... ok [INFO] [stdout] test output::tests::tidyitem_row_shape_tag ... ok [INFO] [stdout] test scan::tests::classify_local_only ... ok [INFO] [stdout] test scan::tests::classify_offline_unreachable_still_stale ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test scan::tests::classify_remote_only ... ok [INFO] [stdout] test output::tests::human_output_shows_date_column_when_any_present ... ok [INFO] [stdout] test scan::tests::classify_stale_unreachable_commit ... ok [INFO] [stdout] test scan::tests::classify_synced ... ok [INFO] [stdout] test scan::tests::scan_no_remotes_treats_reachable_as_synced ... ok [INFO] [stdout] test scan::tests::scan_with_mixed_tags ... ok [INFO] [stdout] test types::tests::classification_labels ... ok [INFO] [stdout] test types::tests::is_release_tag_name_no_prefix ... ok [INFO] [stdout] test types::tests::classification_priority_order ... ok [INFO] [stdout] test scan::tests::classify_stale_unreachable_local_only ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test types::tests::is_release_tag_name_v_prefix ... ok [INFO] [stdout] test types::tests::json_tag_from_info ... ok [INFO] [stdout] test scan::tests::scan_sort_order ... ok [INFO] [stdout] test types::tests::json_tag_remote_only_empty_commit ... ok [INFO] [stdout] test types::tests::is_release_tag_name_rejects_non_release ... ok [INFO] [stdout] test scan::tests::run_scan_repos_skips_repo_when_entity_filter_excludes_all_tags ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_mock ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/git_tag_tidy-8b72199a67f1661c) [INFO] [stdout] [INFO] [stdout] running 57 tests [INFO] [stdout] test clean::tests::clean_deletes_local_only ... ok [INFO] [stdout] test clean::tests::clean_all_includes_remote_only ... ok [INFO] [stdout] test clean::tests::clean_dry_run_makes_zero_calls ... ok [INFO] [stdout] test clean::tests::clean_force_deletes_synced ... ok [INFO] [stdout] test clean::tests::clean_handles_deletion_failure ... ok [INFO] [stdout] test clean::tests::clean_include_remote ... ok [INFO] [stdout] test clean::tests::clean_local_only_flag ... ok [INFO] [stdout] test clean::tests::clean_release_tag_protection ... ok [INFO] [stdout] test clean::tests::clean_release_tag_with_force ... ok [INFO] [stdout] test clean::tests::clean_skips_remote_only_by_default ... ok [INFO] [stdout] test clean::tests::clean_skips_synced_by_default ... ok [INFO] [stdout] test clean::tests::clean_stale_only_flag ... ok [INFO] [stdout] test cli::tests::clean_all_flag ... ok [INFO] [stdout] test cli::tests::clean_local_only_flag ... ok [INFO] [stdout] test cli::tests::clean_with_flags ... ok [INFO] [stdout] test cli::tests::default_command_is_scan ... ok [INFO] [stdout] test cli::tests::clean_stale_only_flag ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::offline_flag ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::human_output_omits_date_column_when_all_missing ... ok [INFO] [stdout] test output::tests::human_output_with_warnings ... ok [INFO] [stdout] test cli::tests::match_repo_and_exclude_repo_flags ... ok [INFO] [stdout] test output::tests::porcelain_output_tab_delimited ... ok [INFO] [stdout] test cli::tests::scan_with_directory ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_date_none_is_empty_field ... ok [INFO] [stdout] test output::tests::human_output_shows_date_column_when_any_present ... ok [INFO] [stdout] test output::tests::tidyitem_porcelain_tag_full_commit_and_remote_join ... ok [INFO] [stdout] test output::tests::tidyitem_row_date_none_renders_none_not_empty ... ok [INFO] [stdout] test scan::tests::classify_offline_local_treated_as_synced ... ok [INFO] [stdout] test scan::tests::classify_offline_unreachable_still_stale ... ok [INFO] [stdout] test output::tests::tidyitem_row_shape_tag ... ok [INFO] [stdout] test scan::tests::classify_local_only ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test cli::tests::clean_include_remote_flag ... ok [INFO] [stdout] test scan::tests::classify_remote_only ... ok [INFO] [stdout] test scan::tests::classify_stale_unreachable_commit ... ok [INFO] [stdout] test scan::tests::classify_stale_unreachable_local_only ... ok [INFO] [stdout] test scan::tests::classify_synced ... ok [INFO] [stdout] test scan::tests::scan_no_remotes_treats_reachable_as_synced ... ok [INFO] [stdout] test scan::tests::scan_sort_order ... ok [INFO] [stdout] test scan::tests::scan_with_mixed_tags ... ok [INFO] [stdout] test types::tests::counts_increment_and_total ... ok [INFO] [stdout] test types::tests::is_release_tag_name_rejects_non_release ... ok [INFO] [stdout] test types::tests::classification_labels ... ok [INFO] [stdout] test types::tests::is_release_tag_name_v_prefix ... ok [INFO] [stdout] test types::tests::classification_priority_order ... ok [INFO] [stdout] test types::tests::json_tag_from_info ... ok [INFO] [stdout] test types::tests::json_tag_remote_only_empty_commit ... ok [INFO] [stdout] test types::tests::is_release_tag_name_no_prefix ... ok [INFO] [stdout] test output::tests::human_output_single_tag_noun ... ok [INFO] [stdout] test cli::tests::offline_flag_with_clean ... ok [INFO] [stdout] test cli::tests::scan_json_flag ... ok [INFO] [stdout] test scan::tests::run_scan_repos_with_mock ... ok [INFO] [stdout] test scan::tests::run_scan_repos_skips_repo_when_entity_filter_excludes_all_tags ... ok [INFO] [stdout] test clean::tests::clean_deletes_stale ... ok [INFO] [stdout] test cli::tests::match_and_exclude_flags ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/integration_clean.rs (/opt/rustwide/target/release/deps/integration_clean-313de0f38913d6ca) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test clean_dry_run_preserves_tags ... ok [INFO] [stdout] test clean_removes_stale_tag ... ok [INFO] [stdout] test clean_removes_local_only_tag ... ok [INFO] [stdout] test clean_include_remote_deletes_from_remote ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s [INFO] [stdout] [INFO] [stderr] Running tests/integration_scan.rs (/opt/rustwide/target/release/deps/integration_scan-d8ee7918b80db8a4) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test scan_empty_repo_no_tags ... ok [INFO] [stdout] test scan_annotated_tag ... ok [INFO] [stdout] test scan_entity_filter_exclude_takes_precedence ... ok [INFO] [stdout] test scan_entity_filter_includes_matching_tags ... ok [INFO] [stdout] test scan_stale_tag ... ok [INFO] [stdout] test scan_local_only_tag ... ok [INFO] [stdout] test scan_synced_tag ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/git_tidy-ab915ce96217d97b) [INFO] [stdout] [INFO] [stdout] running 96 tests [INFO] [stdout] test cli::tests::audit_subcommand_explicit ... ok [INFO] [stdout] test cli::tests::audit_with_json_flag ... ok [INFO] [stdout] test cli::tests::audit_with_porcelain_flag ... ok [INFO] [stdout] test cli::tests::audit_with_subprocess_flag ... ok [INFO] [stdout] test cli::tests::audit_with_tools_filter ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::default_command_is_none ... ok [INFO] [stdout] test cli::tests::directory_argument ... ok [INFO] [stdout] test cli::tests::explain_subcommand_no_term ... ok [INFO] [stdout] test cli::tests::directory_with_audit_subcommand ... ok [INFO] [stdout] test cli::tests::explain_subcommand_with_term ... ok [INFO] [stdout] test completions::tests::audit_help_with_metacharacters_is_escaped ... ok [INFO] [stdout] test completions::tests::escape_zsh_help_does_not_escape_dollar ... ok [INFO] [stdout] test completions::tests::escape_zsh_help_collapses_newlines ... ok [INFO] [stdout] test completions::tests::escape_zsh_help_escapes_special_chars ... ok [INFO] [stdout] test completions::tests::escape_zsh_help_uses_close_reopen_idiom_for_apostrophe ... ok [INFO] [stdout] test completions::tests::introspected_audit_flags_are_not_empty ... ok [INFO] [stdout] test completions::tests::output_contains_all_tool_aliases ... ok [INFO] [stdout] test completions::tests::output_contains_audit ... ok [INFO] [stdout] test completions::tests::output_contains_explain ... ok [INFO] [stdout] test completions::tests::output_contains_audit_flags ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_explain_not_intercepted ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_plural_forms ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_single_form_tools ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_singular_forms ... ok [INFO] [stdout] test completions::tests::output_contains_tool_delegation ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_directory_path_not_intercepted ... ok [INFO] [stdout] test completions::tests::escape_zsh_help_output_parses_as_zsh_when_embedded_in_arguments_spec ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_explain_not_intercepted ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_flag_not_intercepted ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_relative_path_not_intercepted ... ok [INFO] [stdout] test explain::tests::full_output_contains_every_term ... ok [INFO] [stdout] test completions::tests::generated_completion_parses_as_zsh ... ok [INFO] [stdout] test explain::tests::single_term_case_insensitive ... ok [INFO] [stdout] test explain::tests::single_term_hyphenated ... ok [INFO] [stdout] test explain::tests::single_term_found ... ok [INFO] [stdout] test inprocess::tests::panic_message_handles_unknown_payload ... ok [INFO] [stdout] test completions::tests::output_does_not_invoke_itself_at_source_time ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_unrecognized_word ... ok [INFO] [stdout] test inprocess::tests::panic_message_handles_static_str_panic ... ok [INFO] [stdout] test explain::tests::single_term_not_found ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_audit_not_intercepted ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_unknown ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_audit_not_intercepted ... ok [INFO] [stdout] test inprocess::tests::panic_message_handles_string_panic ... ok [INFO] [stdout] test inprocess::tests::scan_to_result_captures_error ... ok [INFO] [stdout] test inprocess::tests::scan_to_result_omits_zero_counts ... ok [INFO] [stdout] test inprocess::tests::spinner_done_error ... ok [INFO] [stdout] test inprocess::tests::spinner_done_single_count ... ok [INFO] [stdout] test inprocess::tests::spinner_done_with_counts ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_no_args ... ok [INFO] [stdout] test completions::tests::output_starts_with_compdef ... ok [INFO] [stdout] test inprocess::tests::spinner_done_zero_counts ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::human_output_not_verbose_hides_found ... ok [INFO] [stdout] test output::tests::human_output_with_error ... ok [INFO] [stdout] test output::tests::human_output_verbose_shows_found ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test runner::tests::audit_some_tools_missing ... ok [INFO] [stdout] test output::tests::porcelain_output_format ... ok [INFO] [stdout] test inprocess::tests::scan_worktrees_with_empty_mock ... ok [INFO] [stdout] test runner::tests::audit_tool_returns_invalid_json ... ok [INFO] [stdout] test runner::tests::audit_with_filter ... ok [INFO] [stdout] test inprocess::tests::unknown_tool_returns_error ... ok [INFO] [stdout] test runner::tests::audit_tool_returns_error ... ok [INFO] [stdout] test runner::tests::filter_full_name ... ok [INFO] [stdout] test runner::tests::filter_short_name ... ok [INFO] [stdout] test runner::tests::filter_no_match ... ok [INFO] [stdout] test runner::tests::filter_tool_word ... ok [INFO] [stdout] test runner::tests::parse_classification_field ... ok [INFO] [stdout] test runner::tests::parse_empty_array ... ok [INFO] [stdout] test output::tests::porcelain_output_with_error ... ok [INFO] [stdout] test runner::tests::parse_invalid_json ... ok [INFO] [stdout] test runner::tests::parse_items_missing_field ... ok [INFO] [stdout] test runner::tests::audit_all_tools_found ... ok [INFO] [stdout] test types::tests::audit_result_serializes ... ok [INFO] [stdout] test types::tests::tool_specs_aliases_are_unique ... ok [INFO] [stdout] test types::tests::tool_specs_aliases_dont_collide_with_commands ... ok [INFO] [stdout] test types::tests::tool_result_serializes ... ok [INFO] [stdout] test types::tests::tool_specs_all_have_aliases ... ok [INFO] [stdout] test types::tests::tool_specs_binary_names ... ok [INFO] [stdout] test runner::tests::parse_non_array_json ... ok [INFO] [stdout] test types::tests::tool_specs_config_uses_lint_and_kind ... ok [INFO] [stdout] test inprocess::tests::scan_branches_with_empty_mock ... ok [INFO] [stdout] test inprocess::tests::scan_stashes_with_empty_mock ... ok [INFO] [stdout] test inprocess::tests::scan_lfs_with_empty_mock ... ok [INFO] [stdout] test inprocess::tests::lint_config_with_empty_mock ... ok [INFO] [stdout] test runner::tests::audit_no_tools_found ... ok [INFO] [stdout] test types::tests::tool_specs_count ... ok [INFO] [stdout] test runner::tests::parse_kind_field ... ok [INFO] [stdout] test explain::tests::full_output_contains_all_sections ... ok [INFO] [stdout] test output::tests::human_output_no_missing ... ok [INFO] [stdout] test cli::tests::audit_with_verbose_flag ... ok [INFO] [stdout] test explain::tests::multi_section_term_returns_all_matches ... ok [INFO] [stdout] test types::tests::tool_specs_others_use_scan_and_classification ... ok [INFO] [stdout] test inprocess::tests::parallel_tool_scans_preserve_order ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 96 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/git_tidy-df1b46bc89564493) [INFO] [stdout] [INFO] [stdout] running 96 tests [INFO] [stdout] test cli::tests::audit_with_json_flag ... ok [INFO] [stdout] test cli::tests::audit_subcommand_explicit ... ok [INFO] [stdout] test cli::tests::audit_with_porcelain_flag ... ok [INFO] [stdout] test cli::tests::audit_with_tools_filter ... ok [INFO] [stdout] test cli::tests::audit_with_subprocess_flag ... ok [INFO] [stdout] test cli::tests::audit_with_verbose_flag ... ok [INFO] [stdout] test cli::tests::completions_subcommand_zsh ... ok [INFO] [stdout] test cli::tests::default_command_is_none ... ok [INFO] [stdout] test cli::tests::directory_argument ... ok [INFO] [stdout] test cli::tests::directory_with_audit_subcommand ... ok [INFO] [stdout] test cli::tests::explain_subcommand_no_term ... ok [INFO] [stdout] test completions::tests::audit_help_with_metacharacters_is_escaped ... ok [INFO] [stdout] test completions::tests::escape_zsh_help_collapses_newlines ... ok [INFO] [stdout] test completions::tests::escape_zsh_help_does_not_escape_dollar ... ok [INFO] [stdout] test completions::tests::escape_zsh_help_escapes_special_chars ... ok [INFO] [stdout] test completions::tests::escape_zsh_help_uses_close_reopen_idiom_for_apostrophe ... ok [INFO] [stdout] test completions::tests::introspected_audit_flags_are_not_empty ... ok [INFO] [stdout] test completions::tests::output_contains_all_tool_aliases ... ok [INFO] [stdout] test completions::tests::output_contains_tool_delegation ... ok [INFO] [stdout] test completions::tests::output_does_not_invoke_itself_at_source_time ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_audit_not_intercepted ... ok [INFO] [stdout] test completions::tests::output_contains_audit_flags ... ok [INFO] [stdout] test completions::tests::output_starts_with_compdef ... ok [INFO] [stdout] test completions::tests::escape_zsh_help_output_parses_as_zsh_when_embedded_in_arguments_spec ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_explain_not_intercepted ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_plural_forms ... ok [INFO] [stdout] test cli::tests::explain_subcommand_with_term ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_no_args ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_relative_path_not_intercepted ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_unrecognized_word ... ok [INFO] [stdout] test explain::tests::full_output_contains_all_sections ... ok [INFO] [stdout] test explain::tests::full_output_contains_every_term ... ok [INFO] [stdout] test completions::tests::output_contains_explain ... ok [INFO] [stdout] test completions::tests::output_contains_audit ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_single_form_tools ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_directory_path_not_intercepted ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_explain_not_intercepted ... ok [INFO] [stdout] test explain::tests::single_term_case_insensitive ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_singular_forms ... ok [INFO] [stdout] test explain::tests::single_term_found ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_audit_not_intercepted ... ok [INFO] [stdout] test inprocess::tests::scan_to_result_omits_zero_counts ... ok [INFO] [stdout] test explain::tests::single_term_hyphenated ... ok [INFO] [stdout] test explain::tests::single_term_not_found ... ok [INFO] [stdout] test dispatch::tests::try_dispatch_flag_not_intercepted ... ok [INFO] [stdout] test explain::tests::multi_section_term_returns_all_matches ... ok [INFO] [stdout] test dispatch::tests::resolve_alias_unknown ... ok [INFO] [stdout] test inprocess::tests::spinner_done_with_counts ... ok [INFO] [stdout] test inprocess::tests::spinner_done_zero_counts ... ok [INFO] [stdout] test inprocess::tests::unknown_tool_returns_error ... ok [INFO] [stdout] test output::tests::human_output_basic ... ok [INFO] [stdout] test output::tests::human_output_no_missing ... ok [INFO] [stdout] test output::tests::human_output_not_verbose_hides_found ... ok [INFO] [stdout] test output::tests::human_output_verbose_shows_found ... ok [INFO] [stdout] test output::tests::human_output_with_error ... ok [INFO] [stdout] test inprocess::tests::panic_message_handles_unknown_payload ... ok [INFO] [stdout] test inprocess::tests::scan_to_result_captures_error ... ok [INFO] [stdout] test inprocess::tests::scan_worktrees_with_empty_mock ... ok [INFO] [stdout] test inprocess::tests::spinner_done_error ... ok [INFO] [stdout] test inprocess::tests::spinner_done_single_count ... ok [INFO] [stdout] test completions::tests::generated_completion_parses_as_zsh ... ok [INFO] [stdout] test inprocess::tests::lint_config_with_empty_mock ... ok [INFO] [stdout] test inprocess::tests::scan_lfs_with_empty_mock ... ok [INFO] [stdout] test inprocess::tests::scan_branches_with_empty_mock ... ok [INFO] [stdout] test inprocess::tests::scan_stashes_with_empty_mock ... ok [INFO] [stdout] test inprocess::tests::parallel_tool_scans_preserve_order ... ok [INFO] [stdout] test output::tests::json_output_valid ... ok [INFO] [stdout] test inprocess::tests::panic_message_handles_static_str_panic ... ok [INFO] [stdout] test inprocess::tests::panic_message_handles_string_panic ... ok [INFO] [stdout] test output::tests::porcelain_output_format ... ok [INFO] [stdout] test output::tests::porcelain_output_with_error ... ok [INFO] [stdout] test runner::tests::audit_all_tools_found ... ok [INFO] [stdout] test runner::tests::audit_no_tools_found ... ok [INFO] [stdout] test runner::tests::audit_some_tools_missing ... ok [INFO] [stdout] test runner::tests::audit_tool_returns_error ... ok [INFO] [stdout] test runner::tests::audit_tool_returns_invalid_json ... ok [INFO] [stdout] test runner::tests::audit_with_filter ... ok [INFO] [stdout] test runner::tests::filter_full_name ... ok [INFO] [stdout] test runner::tests::filter_no_match ... ok [INFO] [stdout] test runner::tests::filter_short_name ... ok [INFO] [stdout] test runner::tests::filter_tool_word ... ok [INFO] [stdout] test runner::tests::parse_classification_field ... ok [INFO] [stdout] test runner::tests::parse_empty_array ... ok [INFO] [stdout] test runner::tests::parse_invalid_json ... ok [INFO] [stdout] test runner::tests::parse_items_missing_field ... ok [INFO] [stdout] test runner::tests::parse_kind_field ... ok [INFO] [stdout] test runner::tests::parse_non_array_json ... ok [INFO] [stdout] test types::tests::audit_result_serializes ... ok [INFO] [stdout] test types::tests::tool_result_serializes ... ok [INFO] [stdout] test types::tests::tool_specs_aliases_are_unique ... ok [INFO] [stdout] test types::tests::tool_specs_aliases_dont_collide_with_commands ... ok [INFO] [stdout] test types::tests::tool_specs_all_have_aliases ... ok [INFO] [stdout] test types::tests::tool_specs_binary_names ... ok [INFO] [stdout] test types::tests::tool_specs_config_uses_lint_and_kind ... ok [INFO] [stdout] test types::tests::tool_specs_count ... ok [INFO] [stdout] test types::tests::tool_specs_others_use_scan_and_classification ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 96 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/release/deps/integration-b6348c6f3dda9654) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test audit_filter_limits_tools ... ok [INFO] [stdout] test full_audit_human_output_end_to_end ... ok [INFO] [stdout] test full_audit_porcelain_roundtrip ... ok [INFO] [stdout] test full_audit_json_roundtrip ... ok [INFO] [stdout] test full_audit_multiple_tools ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/git_tidy_core-901f2769e9e2c28b) [INFO] [stdout] [INFO] [stdout] running 281 tests [INFO] [stdout] test caching::tests::fetch_prune_deduplicates ... ok [INFO] [stdout] test caching::tests::diff_commit_on_ref_cached ... ok [INFO] [stdout] test caching::tests::diff_commit_files_cached ... ok [INFO] [stdout] test caching::tests::fetch_prune_different_repos ... ok [INFO] [stdout] test caching::tests::lfs_installed_cached ... ok [INFO] [stdout] test caching::tests::list_builtin_commands_cached ... ok [INFO] [stdout] test caching::tests::diff_commit_cached ... ok [INFO] [stdout] test caching::tests::list_local_branches_cached ... ok [INFO] [stdout] test caching::tests::list_remotes_cached ... ok [INFO] [stdout] test caching::tests::log_grep_cached ... ok [INFO] [stdout] test caching::tests::log_grep_different_needles_not_shared ... ok [INFO] [stdout] test caching::tests::ls_remote_check_cached ... ok [INFO] [stdout] test caching::tests::rev_parse_verify_cached ... ok [INFO] [stdout] test caching::tests::fetch_prune_single_flight_under_concurrency ... ok [INFO] [stdout] test caching::tests::rev_parse_verify_different_refspecs_not_shared ... ok [INFO] [stdout] test caching::tests::symbolic_ref_cached ... ok [INFO] [stdout] test caching::tests::uncached_methods_pass_through_every_call ... ok [INFO] [stdout] test classification::tests::classify_branch_active ... ok [INFO] [stdout] test classification::tests::classify_active_branch ... ok [INFO] [stdout] test classification::tests::classify_branch_local_only_active ... ok [INFO] [stdout] test classification::tests::classify_branch_diverged ... ok [INFO] [stdout] test classification::tests::classify_branch_local_only_landed ... ok [INFO] [stdout] test classification::tests::classify_branch_merged ... ok [INFO] [stdout] test classification::tests::classify_branch_local ... ok [INFO] [stdout] test classification::tests::classify_branch_merged_ahead_zero_skips_is_ancestor ... ok [INFO] [stdout] test classification::tests::classify_dangling_ref_returns_landed_stale ... ok [INFO] [stdout] test classification::tests::classify_dangling_ref_with_dirty_files ... ok [INFO] [stdout] test classification::tests::classify_detached_head_local ... ok [INFO] [stdout] test classification::tests::classify_detached_head_merged ... ok [INFO] [stdout] test classification::tests::classify_detached_head_zeros_remote_fields ... ok [INFO] [stdout] test classification::tests::classify_diverged_branch ... ok [INFO] [stdout] test classification::tests::classify_merged_branch ... ok [INFO] [stdout] test classification::tests::classify_dirty_branch ... ok [INFO] [stdout] test classification::tests::classify_remote_branch_active ... ok [INFO] [stdout] test classification::tests::classify_remote_branch_landed ... ok [INFO] [stdout] test classification::tests::classify_local_branch ... ok [INFO] [stdout] test classification::tests::detect_default_branch_local_master ... ok [INFO] [stdout] test classification::tests::detect_default_branch_local_main ... ok [INFO] [stdout] test classification::tests::classify_remote_branch_diverged ... ok [INFO] [stdout] test classification::tests::detect_default_branch_none ... ok [INFO] [stdout] test classification::tests::detect_default_branch_probe_main ... ok [INFO] [stdout] test classification::tests::detect_default_branch_probe_master ... ok [INFO] [stdout] test clean::tests::act_can_write_to_out ... ok [INFO] [stdout] test classification::tests::detect_default_branch_symbolic_ref ... ok [INFO] [stdout] test clean::tests::act_cleaned_collected_in_order ... ok [INFO] [stdout] test clean::tests::act_error_short_circuits ... ok [INFO] [stdout] test clean::tests::act_failed_aggregated_and_loop_continues ... ok [INFO] [stdout] test clean::tests::act_skipped_counts_alongside_decide_skips ... ok [INFO] [stdout] test clean::tests::act_write_failure_propagates_and_short_circuits ... ok [INFO] [stdout] test clean::tests::decide_skip_is_counted_and_act_not_called ... ok [INFO] [stdout] test clean::tests::empty_input_yields_empty_result ... ok [INFO] [stdout] test clean::tests::mixed_outcomes_route_to_distinct_buckets ... ok [INFO] [stdout] test cli::tests::common_args_directory_after_subcommand ... ok [INFO] [stdout] test cli::tests::repo_filter_args_global_after_subcommand ... ok [INFO] [stdout] test cli::tests::common_args_directory_before_subcommand ... ok [INFO] [stdout] test cli::tests::resolve_directory_with_none ... ok [INFO] [stdout] test cli::tests::shared_commands_coexist_with_tool_commands ... ok [INFO] [stdout] test cli::tests::shared_commands_parses_completions_bash ... ok [INFO] [stdout] test cli::tests::resolve_directory_with_some ... ok [INFO] [stdout] test cli::tests::shared_commands_parses_completions_fish ... ok [INFO] [stdout] test cli::tests::shared_commands_parses_completions_zsh ... ok [INFO] [stdout] test cli::tests::validate_directory_exists ... ok [INFO] [stdout] test cli::tests::validate_directory_not_found ... ok [INFO] [stdout] test config::tests::default_config_path_returns_expected_structure ... ok [INFO] [stdout] test config::tests::load_config_file_missing ... ok [INFO] [stdout] test config::tests::resolve_deduplicates_extras ... ok [INFO] [stdout] test config::tests::resolve_defaults_only ... ok [INFO] [stdout] test config::tests::resolve_no_defaults ... ok [INFO] [stdout] test cli::tests::output_format_from_flags ... ok [INFO] [stdout] test config::tests::resolve_with_excludes ... ok [INFO] [stdout] test config::tests::load_config_file_empty ... ok [INFO] [stdout] test config::tests::resolve_no_defaults_ignores_excludes ... ok [INFO] [stdout] test config::tests::resolve_with_extras ... ok [INFO] [stdout] test classification::tests::classify_remote_deleted ... ok [INFO] [stdout] test config::tests::load_config_file_no_noise_section ... ok [INFO] [stdout] test config::tests::load_config_file_valid_toml ... ok [INFO] [stdout] test counts::tests::get_returns_zero_for_absent_label ... ok [INFO] [stdout] test counts::tests::increment_accumulates_per_label ... ok [INFO] [stdout] test counts::tests::iter_yields_only_nonzero_buckets_in_sorted_order ... ok [INFO] [stdout] test counts::tests::serializes_as_inner_map ... ok [INFO] [stdout] test counts::tests::total_sums_all_buckets ... ok [INFO] [stdout] test config::tests::load_config_file_invalid_toml ... ok [INFO] [stdout] test classification::tests::classify_branch_remote_deleted ... ok [INFO] [stdout] test date::tests::days_since_known_date ... ok [INFO] [stdout] test config::tests::resolve_all_three_layers ... ok [INFO] [stdout] test counts::tests::from_pairs_drops_zero_and_accumulates_duplicates ... ok [INFO] [stdout] test date::tests::invalid_date_returns_none ... ok [INFO] [stdout] test date::tests::days_since_today_is_zero ... ok [INFO] [stdout] test dirty::tests::check_dirty_custom_patterns ... ok [INFO] [stdout] test dirty::tests::check_dirty_empty ... ok [INFO] [stdout] test dirty::tests::check_dirty_all_noise ... ok [INFO] [stdout] test date::tests::format_iso_date_matches_civil ... ok [INFO] [stdout] test dirty::tests::check_dirty_rename_extracts_new_path ... ok [INFO] [stdout] test date::tests::round_trip_civil ... ok [INFO] [stdout] test date::tests::past_date_returns_positive_days ... ok [INFO] [stdout] test dirty::tests::is_noise_custom_suffix_pattern ... ok [INFO] [stdout] test dirty::tests::is_noise_ds_store ... ok [INFO] [stdout] test dirty::tests::is_noise_empty_patterns ... ok [INFO] [stdout] test dirty::tests::is_noise_lockfiles ... ok [INFO] [stdout] test dirty::tests::is_noise_custom_exact_pattern ... ok [INFO] [stdout] test dirty::tests::is_noise_pycache ... ok [INFO] [stdout] test dirty::tests::check_dirty_staged_changes ... ok [INFO] [stdout] test dirty::tests::check_dirty_mixed ... ok [INFO] [stdout] test dirty::tests::is_noise_pyc ... ok [INFO] [stdout] test dirty::tests::is_not_noise_regular_files ... ok [INFO] [stdout] test discovery::tests::discover_repos_nonexistent_directory ... ok [INFO] [stdout] test discovery::tests::discover_repos_falls_back_to_current_dir_if_repo ... ok [INFO] [stdout] test discovery::tests::discover_repos_prefers_child_repos_over_self ... ok [INFO] [stdout] test discovery::tests::discover_repos_keeps_repo_via_inner_symlink_within_root ... ok [INFO] [stdout] test discovery::tests::discover_repos_finds_real_repo ... ok [INFO] [stdout] test discovery::tests::discover_repos_multiple ... ok [INFO] [stdout] test discovery::tests::discover_repos_does_not_recurse_into_repos ... ok [INFO] [stdout] test discovery::tests::discover_repos_skips_repo_escaping_scan_root_via_symlink ... ok [INFO] [stdout] test discovery::tests::discover_repos_respects_depth_limit ... ok [INFO] [stdout] test discovery::tests::discover_repos_skips_non_repo_dirs ... ok [INFO] [stdout] test fetch::tests::parallel_fetch_empty_repos ... ok [INFO] [stdout] test fetch::tests::parallel_fetch_collects_all_repos ... ok [INFO] [stdout] test discovery::tests::discover_repos_skips_worktrees ... ok [INFO] [stdout] test fetch::tests::parallel_fetch_single_repo ... ok [INFO] [stdout] test filter::tests::empty_filter_matches_everything ... ok [INFO] [stdout] test filter::tests::exclude_is_case_insensitive ... ok [INFO] [stdout] test filter::tests::exclude_only_passes_non_matching ... ok [INFO] [stdout] test filter::tests::exclude_rejects_matching_names ... ok [INFO] [stdout] test filter::tests::exclude_takes_precedence_over_include ... ok [INFO] [stdout] test filter::tests::filter_paths_empty_filter_returns_all ... ok [INFO] [stdout] test filter::tests::filter_paths_filters_by_basename ... ok [INFO] [stdout] test filter::tests::filter_paths_uses_basename_not_full_path ... ok [INFO] [stdout] test filter::tests::filter_paths_with_exclude ... ok [INFO] [stdout] test filter::tests::include_is_case_insensitive ... ok [INFO] [stdout] test discovery::tests::discover_repos_finds_nested_repos ... ok [INFO] [stdout] test git::tests::parse_human_bytes_no_suffix ... ok [INFO] [stdout] test discovery::tests::discover_repos_empty_directory ... ok [INFO] [stdout] test filter::tests::include_matches_substring ... ok [INFO] [stdout] test filter::tests::include_without_match_rejects ... ok [INFO] [stdout] test filter::tests::is_empty_false_with_exclude ... ok [INFO] [stdout] test git::tests::parse_human_bytes_various ... ok [INFO] [stdout] test git::tests::parse_human_bytes_short_suffix ... ok [INFO] [stdout] test git::tests::parse_lfs_prune_dry_run_basic ... ok [INFO] [stdout] test filter::tests::is_empty_false_with_include ... ok [INFO] [stdout] test git::tests::parse_lfs_prune_dry_run_no_match ... ok [INFO] [stdout] test filter::tests::is_empty_when_both_empty ... ok [INFO] [stdout] test filter::tests::multiple_include_patterns_use_or_semantics ... ok [INFO] [stdout] test filter::tests::new_lowercases_patterns ... ok [INFO] [stdout] test git::tests::parse_lfs_prune_dry_run_with_checkmark ... ok [INFO] [stdout] test git::tests::parse_log_oneline_keeps_commits_with_empty_subjects ... ok [INFO] [stdout] test git::tests::parse_log_oneline_empty ... ok [INFO] [stdout] test git::tests::parse_log_oneline_basic ... ok [INFO] [stdout] test git::tests::parse_log_oneline_subject_with_spaces ... ok [INFO] [stdout] test git::tests::parse_worktree_list_basic ... ok [INFO] [stdout] test git::tests::parse_worktree_list_all_prunable ... ok [INFO] [stdout] test git::tests::parse_worktree_list_detached_head ... ok [INFO] [stdout] test git::tests::parse_worktree_list_skips_prunable ... ok [INFO] [stdout] test git::tests::parse_human_bytes_invalid ... ok [INFO] [stdout] test landed::tests::build_fuzzy_search_term_returns_empty_when_no_long_tokens ... ok [INFO] [stdout] test git::tests::truncate_command_passes_short_commands_through ... ok [INFO] [stdout] test landed::tests::detect_landed_all_matched ... ok [INFO] [stdout] test git::tests::chunk_pathspecs_empty_input_yields_no_batches ... ok [INFO] [stdout] test landed::tests::detect_landed_empty_branch ... ok [INFO] [stdout] test landed::tests::detect_landed_cached_skips_redundant_commits ... ok [INFO] [stdout] test landed::tests::detect_landed_none_matched ... ok [INFO] [stdout] test landed::tests::detect_landed_partial ... ok [INFO] [stdout] test landed::tests::build_fuzzy_search_term_filters_short_tokens ... ok [INFO] [stdout] test landed::tests::diff_similarity_different ... ok [INFO] [stdout] test git::tests::chunk_pathspecs_oversized_single_path_gets_its_own_batch ... ok [INFO] [stdout] test landed::tests::jaccard_disjoint ... ok [INFO] [stdout] test landed::tests::diff_similarity_identical ... ok [INFO] [stdout] test landed::tests::jaccard_similar ... ok [INFO] [stdout] test landed::tests::jaccard_identical ... ok [INFO] [stdout] test landed::tests::detect_landed_patch_similarity ... ok [INFO] [stdout] test landed::tests::max_unmatched_stops_evaluation ... ok [INFO] [stdout] test landed::tests::max_unmatched_resets_on_match ... ok [INFO] [stdout] test discovery::tests::discover_repos_skips_hidden_directories ... ok [INFO] [stdout] test landed::tests::skip_patch_similarity_skips_patch_stage ... ok [INFO] [stdout] test landed::tests::build_fuzzy_search_term_is_deterministic_across_runs ... ok [INFO] [stdout] test landed::tests::strip_cc_prefix_feat ... ok [INFO] [stdout] test landed::tests::strip_cc_prefix_fix_with_scope ... ok [INFO] [stdout] test landed::tests::strip_cc_prefix_none ... ok [INFO] [stdout] test landed::tests::tokenize_basic ... ok [INFO] [stdout] test landed::tests::tokenize_with_special_chars ... ok [INFO] [stdout] test git::tests::chunk_pathspecs_keeps_batches_under_budget ... ok [INFO] [stdout] test output::tests::ahead_behind_nonzero ... ok [INFO] [stdout] test landed::tests::strip_cc_prefix_breaking ... ok [INFO] [stdout] test output::tests::ahead_behind_zero ... ok [INFO] [stdout] test output::tests::align_derives ... ok [INFO] [stdout] test landed::tests::combined_similarity_same_meaning ... ok [INFO] [stdout] test output::tests::column_spec_constructors_are_const ... ok [INFO] [stdout] test output::tests::column_spec_is_copy ... ok [INFO] [stdout] test output::tests::column_spec_left_constructor ... ok [INFO] [stdout] test output::tests::explain_hint_output ... ok [INFO] [stdout] test output::tests::format_porcelain_empty_input_writes_nothing ... ok [INFO] [stdout] test output::tests::format_porcelain_field_count_stable_across_rows ... ok [INFO] [stdout] test output::tests::format_porcelain_joins_fields_with_tab ... ok [INFO] [stdout] test output::tests::format_porcelain_no_trailing_newline_swallowed ... ok [INFO] [stdout] test output::tests::format_porcelain_one_line_per_item ... ok [INFO] [stdout] test output::tests::format_porcelain_preserves_empty_fields ... ok [INFO] [stdout] test output::tests::format_table_alignment_left_pads_trailing ... ok [INFO] [stdout] test output::tests::format_table_alignment_right_pads_leading ... ok [INFO] [stdout] test output::tests::format_table_aligns_wide_unicode_cells_by_display_width ... ok [INFO] [stdout] test output::tests::format_table_all_empty_annotations_emit_no_suffix ... ok [INFO] [stdout] test output::tests::format_table_annotations_and_extras_together ... ok [INFO] [stdout] test output::tests::format_table_empty_annotations_no_suffix ... ok [INFO] [stdout] test output::tests::format_table_empty_extras_is_no_op ... ok [INFO] [stdout] test output::tests::format_table_empty_input_writes_nothing ... ok [INFO] [stdout] test landed::tests::strip_cc_prefix_chore_scope_bang ... ok [INFO] [stdout] test output::tests::format_table_hides_column_when_every_row_is_none ... ok [INFO] [stdout] test output::tests::format_table_every_line_starts_with_two_space_gutter ... ok [INFO] [stdout] test output::tests::format_table_keeps_column_when_at_least_one_some ... ok [INFO] [stdout] test output::tests::format_table_no_trailing_whitespace_on_any_line ... ok [INFO] [stdout] test output::tests::format_table_multiple_annotations_join_with_comma_space ... ok [INFO] [stdout] test output::tests::format_table_panics_in_debug_when_row_length_mismatches_columns - should panic ... FAILED [INFO] [stdout] test output::tests::format_table_row_extras_indented_four_spaces ... ok [INFO] [stdout] test output::tests::format_table_renders_cow_owned_cells_end_to_end ... ok [INFO] [stdout] test landed::tests::detect_landed_cached_reuses_matched_commits ... ok [INFO] [stdout] test output::tests::column_spec_right_constructor ... ok [INFO] [stdout] test discovery::tests::discover_repos_finds_repos_at_multiple_depths ... ok [INFO] [stdout] test output::tests::format_table_extras_preserve_order ... ok [INFO] [stdout] test output::tests::landed_ratio_other ... ok [INFO] [stdout] test output::tests::format_table_single_annotation_no_separator ... ok [INFO] [stdout] test output::tests::format_table_header_width_dominates_when_no_cell_is_longer ... ok [INFO] [stdout] test output::tests::landed_ratio_partial ... ok [INFO] [stdout] test output::tests::format_table_single_row_renders_header_and_row ... ok [INFO] [stdout] test output::tests::repo_display_name_normal ... ok [INFO] [stdout] test output::tests::format_table_skips_empty_annotation_tokens ... ok [INFO] [stdout] test output::tests::repo_display_name_root_path ... ok [INFO] [stdout] test output::tests::summary_line_format ... ok [INFO] [stdout] test output::tests::warnings_output ... ok [INFO] [stdout] test output::tests::format_table_trims_trailing_whitespace_from_row_extras ... ok [INFO] [stdout] test output::tests::worktree_impl::annotations_dirty_diverged_remote_deleted_in_order ... ok [INFO] [stdout] test output::tests::worktree_impl::annotations_dirty_pluralizes_count ... ok [INFO] [stdout] test output::tests::format_table_widths_widen_with_longest_cell ... ok [INFO] [stdout] test output::tests::format_table_writes_nothing_when_all_columns_hidden ... ok [INFO] [stdout] test output::tests::worktree_impl::porcelain_annotations_csv_order_remote_diverged_dirty ... ok [INFO] [stdout] test output::tests::format_table_writes_nothing_when_columns_const_is_empty ... ok [INFO] [stdout] test output::tests::worktree_impl::porcelain_fields_count_is_nine ... ok [INFO] [stdout] test output::tests::worktree_impl::porcelain_field_zero_is_worktree_dir_and_field_one_is_parent_repo ... ok [INFO] [stdout] test output::tests::worktree_impl::row_detached_branch_renders_marker ... ok [INFO] [stdout] test output::tests::warnings_empty ... ok [INFO] [stdout] test output::tests::worktree_impl::annotations_empty_when_clean ... ok [INFO] [stdout] test output::tests::worktree_impl::porcelain_branch_empty_when_detached ... ok [INFO] [stdout] test output::tests::landed_ratio_by_content ... ok [INFO] [stdout] test output::tests::worktree_impl::row_extras_empty_for_non_partial ... ok [INFO] [stdout] test output::tests::worktree_impl::row_has_five_cells ... ok [INFO] [stdout] test output::tests::worktree_impl::row_landed_has_no_ratio_no_ahead_behind ... ok [INFO] [stdout] test output::tests::worktree_impl::row_partial_has_ratio_and_ahead_behind ... ok [INFO] [stdout] test output::tests::worktree_impl::row_active_with_ahead_has_ahead_behind ... ok [INFO] [stdout] test output::tests::worktree_impl::porcelain_fields_order_matches_documented_contract ... ok [INFO] [stdout] test output::tests::summary_line_worktrees ... ok [INFO] [stdout] test output::tests::worktree_impl::row_directory_uses_path_file_name ... ok [INFO] [stdout] test output::tests::write_json_pretty_basic ... ok [INFO] [stdout] test progress::tests::disabled_returns_hidden_spinner ... ok [INFO] [stdout] test progress::tests::bar_sets_length_and_message ... ok [INFO] [stdout] test progress::tests::enabled_returns_some_for_multi ... ok [INFO] [stdout] test progress::tests::disabled_returns_none_for_multi ... ok [INFO] [stdout] test progress::tests::forwarding_bar_inserts_into_multi ... ok [INFO] [stdout] test progress::tests::disabled_returns_hidden_bar ... ok [INFO] [stdout] test output::tests::worktree_impl::row_extras_landed_partial_lists_unmatched_commits ... ok [INFO] [stdout] test progress::tests::forwarding_is_enabled ... ok [INFO] [stdout] test progress::tests::new_detects_tty ... ok [INFO] [stdout] test testutil::mock_fidelity_tests::find_large_blobs_filters_by_threshold ... ok [INFO] [stdout] test testutil::mock_fidelity_tests::find_large_blobs_threshold_is_inclusive_at_boundary ... ok [INFO] [stdout] test testutil::mock_fidelity_tests::log_touching_files_specific_response_is_order_insensitive ... ok [INFO] [stdout] test progress::tests::spinner_sets_message ... ok [INFO] [stdout] test types::tests::extract_landed_active ... ok [INFO] [stdout] test testutil::mock_fidelity_tests::log_touching_files_specific_takes_priority_over_wildcard ... ok [INFO] [stdout] test types::tests::extract_landed_by_content ... ok [INFO] [stdout] test types::tests::classification_label_trait ... ok [INFO] [stdout] test testutil::mock_fidelity_tests::log_touching_files_specific_response_does_not_match_different_files ... ok [INFO] [stdout] test testutil::mock_fidelity_tests::log_touching_files_specific_match_returns_registered_results ... ok [INFO] [stdout] test types::tests::extract_landed_partial ... ok [INFO] [stdout] test testutil::mock_fidelity_tests::find_large_blobs_threshold_zero_returns_everything ... ok [INFO] [stdout] test types::tests::extract_landed_structural ... ok [INFO] [stdout] test types::tests::landed_stale_priority_same_as_landed ... ok [INFO] [stdout] test scan::pipeline_tests::fetch_disabled_does_not_fetch ... ok [INFO] [stdout] test scan::pipeline_tests::collects_classifier_warnings ... ok [INFO] [stdout] test scan::pipeline_tests::fetch_failure_warning_precedes_classify_warnings ... ok [INFO] [stdout] test scan::pipeline_tests::folds_counts_and_total_across_repos ... ok [INFO] [stdout] test scan::pipeline_tests::fetch_enabled_fetches_each_repo ... ok [INFO] [stdout] test scan::pipeline_tests::fetch_completes_before_classify ... ok [INFO] [stdout] test scan::pipeline_tests::sets_group_name_and_path ... ok [INFO] [stdout] test scan::pipeline_tests::skips_empty_groups ... ok [INFO] [stdout] test git::tests::truncate_command_caps_huge_argument_lists ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- output::tests::format_table_panics_in_debug_when_row_length_mismatches_columns stdout ---- [INFO] [stdout] note: test did not panic as expected at crates/git-tidy-core/src/output.rs:1164:8 [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] output::tests::format_table_panics_in_debug_when_row_length_mismatches_columns [INFO] [stdout] [INFO] [stdout] test result: FAILED. 280 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `-p git-tidy-core --lib` [INFO] running `Command { std: "docker" "inspect" "f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86", kill_on_drop: false }` [INFO] [stdout] f2d53b24a9d3272b81fdba75c7e72a4daa179bf31f0b2dc1e4bfc7b636cd5f86