[INFO] fetching crate pez 0.4.2...
[INFO] testing pez-0.4.2 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate pez 0.4.2 into /workspace/builds/worker-0-tc2/source
[INFO] removed /workspace/builds/worker-0-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate pez 0.4.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate pez 0.4.2
[INFO] tweaked toml for crates.io crate pez 0.4.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate pez 0.4.2 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate pez 0.4.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "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/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 34883e45615fa3203b8eb0051678260edcde927ff4877381820b40009955aa6e
[INFO] running `Command { std: "docker" "start" "-a" "34883e45615fa3203b8eb0051678260edcde927ff4877381820b40009955aa6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "34883e45615fa3203b8eb0051678260edcde927ff4877381820b40009955aa6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34883e45615fa3203b8eb0051678260edcde927ff4877381820b40009955aa6e", kill_on_drop: false }`
[INFO] [stdout] 34883e45615fa3203b8eb0051678260edcde927ff4877381820b40009955aa6e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d594fd370f5533e4bf398d5814fac2c7859a1abf38441fc95933bca37eebd3ec
[INFO] running `Command { std: "docker" "start" "-a" "d594fd370f5533e4bf398d5814fac2c7859a1abf38441fc95933bca37eebd3ec", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling libc v0.2.179
[INFO] [stderr]    Compiling find-msvc-tools v0.1.1
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling unicode-width v0.2.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling zmij v1.0.2
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling papergrid v0.17.0
[INFO] [stderr]    Compiling testing_table v0.3.0
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling cc v1.2.37
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling toml v0.9.10+spec-1.1.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling openssl-src v300.5.3+3.5.4
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libgit2-sys v0.18.3+1.9.2
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tabled_derive v0.11.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tabled v0.20.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling clap_complete v4.5.64
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling git2 v0.20.3
[INFO] [stderr]    Compiling pez v0.4.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 20s
[INFO] running `Command { std: "docker" "inspect" "d594fd370f5533e4bf398d5814fac2c7859a1abf38441fc95933bca37eebd3ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d594fd370f5533e4bf398d5814fac2c7859a1abf38441fc95933bca37eebd3ec", kill_on_drop: false }`
[INFO] [stdout] d594fd370f5533e4bf398d5814fac2c7859a1abf38441fc95933bca37eebd3ec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bafe749a5756258b553aaafa4ff202d3f813293c75daded8ecef0c70173ae738
[INFO] running `Command { std: "docker" "start" "-a" "bafe749a5756258b553aaafa4ff202d3f813293c75daded8ecef0c70173ae738", kill_on_drop: false }`
[INFO] [stderr]    Compiling pez v0.4.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 10.72s
[INFO] running `Command { std: "docker" "inspect" "bafe749a5756258b553aaafa4ff202d3f813293c75daded8ecef0c70173ae738", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bafe749a5756258b553aaafa4ff202d3f813293c75daded8ecef0c70173ae738", kill_on_drop: false }`
[INFO] [stdout] bafe749a5756258b553aaafa4ff202d3f813293c75daded8ecef0c70173ae738
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 97176e054c50fcde9d438340a26fea46819945ce62b4c635b4c2fe17b4951286
[INFO] running `Command { std: "docker" "start" "-a" "97176e054c50fcde9d438340a26fea46819945ce62b4c635b4c2fe17b4951286", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pez-32323e603db055f8)
[INFO] [stdout] 
[INFO] [stdout] running 195 tests
[INFO] [stdout] test cli::tests::parse_jobs_override ... ok
[INFO] [stdout] test cli::tests::parse_jobs_after_subcommand ... ok
[INFO] [stdout] test cmd::activate::tests::run_fish_returns_script ... ok
[INFO] [stdout] test cli::tests::jobs_override_rejects_zero ... ok
[INFO] [stdout] test cmd::activate::tests::script_contains_guard_and_suppress_flag ... ok
[INFO] [stdout] test cli::tests::parse_verbose_after_subcommand ... ok
[INFO] [stdout] test cmd::activate::tests::targets_not_dropped ... ok
[INFO] [stdout] test cmd::activate::tests::uninstall_emits_before_command ... ok
[INFO] [stdout] test cmd::activate::tests::uninstall_stdin_is_tapped ... ok
[INFO] [stdout] test cmd::completion::tests::append_dynamic_completions_inserts_single_newline ... ok
[INFO] [stdout] test cmd::completion::tests::append_dynamic_completions_skips_duplicate_newline ... ok
[INFO] [stdout] test cli::tests::resolve_absolute_path_does_not_require_current_dir ... ok
[INFO] [stdout] test cmd::activate::tests::global_flags_are_skipped ... ok
[INFO] [stdout] test cmd::completion::tests::build_fish_completion_emits_dynamic_section ... ok
[INFO] [stdout] test cmd::files::tests::from_help_returns_none ... ok
[INFO] [stdout] test cmd::files::tests::render_paths_returns_display_strings ... ok
[INFO] [stdout] test cmd::files::tests::should_skip_from_parse_returns_true_for_help ... ok
[INFO] [stdout] test cmd::doctor::tests::render_plain_lines_prefixes_statuses ... ok
[INFO] [stdout] test cmd::doctor::tests::doctor_reports_missing_repos_and_files ... ok
[INFO] [stdout] test cmd::doctor::tests::run_does_not_warn_without_errors ... ok
[INFO] [stdout] test cmd::doctor::tests::has_error_detects_errors ... ok
[INFO] [stdout] test cmd::init::tests::test_create_config_already_exists ... ok
[INFO] [stdout] test cmd::init::tests::test_create_config ... ok
[INFO] [stdout] test cmd::files::tests::should_skip_from_parse_errors_on_invalid_args ... ok
[INFO] [stdout] test cli::tests::resolve_owner_repo_and_variants ... ok
[INFO] [stdout] test cmd::init::tests::test_create_config_creates_missing_dir ... ok
[INFO] [stdout] test cmd::files::tests::from_uninstall_with_stdin_reads_reader ... ok
[INFO] [stdout] # Print an optspec for argparse to handle cmd's options that are independent of any subcommand.
[INFO] [stdout] function __fish_pez_global_optspecs
[INFO] [stdout] 	string join \n v/verbose jobs= h/help V/version
[INFO] [stdout] end
[INFO] [stdout] 
[INFO] [stdout] function __fish_pez_needs_command
[INFO] [stdout] 	# Figure out if the current invocation already has a command.
[INFO] [stdout] 	set -l cmd (commandline -opc)
[INFO] [stdout] 	set -e cmd[1]
[INFO] [stdout] 	argparse -s (__fish_pez_global_optspecs) -- $cmd 2>/dev/null
[INFO] [stdout] 	or return
[INFO] [stdout] 	if set -q argv[1]
[INFO] [stdout] 		# Also print the command, so this can be used to figure out what it is.
[INFO] [stdout] 		echo $argv[1]
[INFO] [stdout] 		return 1
[INFO] [stdout] 	end
[INFO] [stdout] 	return 0
[INFO] [stdout] end
[INFO] [stdout] 
[INFO] [stdout] function __fish_pez_using_subcommand
[INFO] [stdout] 	set -l cmd (__fish_pez_needs_command)
[INFO] [stdout] 	test -z "$cmd"
[INFO] [stdout] 	and return 1
[INFO] [stdout] 	contains -- $cmd[1] $argv
[INFO] [stdout] end
[INFO] [stdout] 
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -s V -l version -d 'Print version'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "init" -d 'Initialize pez'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "install" -d 'Install fish plugin(s)'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "uninstall" -d 'Uninstall fish plugin(s)'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "upgrade" -d 'Upgrade installed fish plugin(s)'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "list" -d 'List installed fish plugins'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "prune" -d 'Prune uninstalled plugins'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "completions" -d 'Generate shell completion scripts'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "activate" -d 'Output shell activation code'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "doctor" -d 'Diagnose common setup issues'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "migrate" -d 'Migrate from fisher (reads fish_plugins)'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "files" -d 'List installed files for plugins'
[INFO] [stdout] complete -c pez -n "__fish_pez_needs_command" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand init" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand init" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand init" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand install" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand install" -s f -l force -d 'Force install even if the plugin is already installed'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand install" -s p -l prune -d 'Prune uninstalled plugins'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand install" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand install" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand uninstall" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand uninstall" -s f -l force -d 'Force uninstall even if the plugin data directory does not exist'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand uninstall" -l stdin -d 'Read plugin repos from stdin (one per line)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand uninstall" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand uninstall" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand upgrade" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand upgrade" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand upgrade" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand list" -l format -d 'List format' -r -f -a "plain\t''
[INFO] [stdout] table\t''
[INFO] [stdout] json\t''"
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand list" -l filter -d 'Filter plugins by source kind' -r -f -a "all\t''
[INFO] [stdout] local\t''
[INFO] [stdout] remote\t''"
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand list" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand list" -l outdated -d 'Show only outdated plugins'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand list" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand list" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand prune" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand prune" -s f -l force -d 'Force prune even if the plugin data directory does not exist'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand prune" -l dry-run -d 'Dry run without actually removing any files'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand prune" -s y -l yes -d 'Confirm all prompts'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand prune" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand prune" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand completions" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand completions" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand completions" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand activate" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand activate" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand activate" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand doctor" -l format -d 'Output format' -r -f -a "json\t''"
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand doctor" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand doctor" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand doctor" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand migrate" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand migrate" -l dry-run -d 'Do not write files; print planned changes'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand migrate" -l force -d 'Overwrite existing pez.toml plugin list instead of merging'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand migrate" -l install -d 'Immediately install migrated plugins'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand migrate" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand migrate" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand files" -l dir -d 'Filter by destination directory (conf.d or all)' -r -f -a "conf.d\t''
[INFO] [stdout] all\t''"
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand files" -l format -d 'Output format (paths or json)' -r -f -a "paths\t''
[INFO] [stdout] json\t''"
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand files" -l from -d 'Derive target plugins by parsing argv for a subcommand (install/update/upgrade/uninstall/remove)' -r -f -a "install\t''
[INFO] [stdout] update\t''
[INFO] [stdout] upgrade\t''
[INFO] [stdout] uninstall\t''
[INFO] [stdout] remove\t''"
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand files" -l jobs -d 'Override job concurrency for explicit install clones, upgrade, uninstall, and prune (default: 4 when unset)' -r
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand files" -l all -d 'List files for all installed plugins'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand files" -s v -l verbose -d 'Increase output verbosity (-v for info, -vv for debug)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand files" -s h -l help -d 'Print help'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "init" -d 'Initialize pez'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "install" -d 'Install fish plugin(s)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "uninstall" -d 'Uninstall fish plugin(s)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "upgrade" -d 'Upgrade installed fish plugin(s)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "list" -d 'List installed fish plugins'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "prune" -d 'Prune uninstalled plugins'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "completions" -d 'Generate shell completion scripts'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "activate" -d 'Output shell activation code'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "doctor" -d 'Diagnose common setup issues'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "migrate" -d 'Migrate from fisher (reads fish_plugins)'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "files" -d 'List installed files for plugins'
[INFO] [stdout] complete -c pez -n "__fish_pez_using_subcommand help; and not __fish_seen_subcommand_from init install uninstall upgrade list prune completions activate doctor migrate files help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
[INFO] [stdout] # Dynamic completions for installed plugins
[INFO] [stdout] function __pez_installed_plugins
[INFO] [stdout]     command pez list --format plain 2>/dev/null
[INFO] [stdout] end
[INFO] [stdout] 
[INFO] [stdout] complete -c pez -n '__fish_seen_subcommand_from uninstall upgrade' -f -a '(__pez_installed_plugins)'
[INFO] [stdout] test cmd::completion::tests::generate_fish_completion_returns_output ... ok
[INFO] [stdout] test cmd::install::tests::ensure_repo_parent_creates_missing_parent ... ok
[INFO] [stdout] test cmd::install::tests::ensure_repo_parent_skips_existing_parent_file ... ok
[INFO] [stdout] test cmd::files::tests::lists_conf_d_paths_sorted_and_deduped ... ok
[INFO] [stdout] test cmd::files::tests::from_install_without_plugins_uses_lock ... ok
[INFO] [stdout] test cmd::install::tests::test_add_existing_plugin_to_config ... ok
[INFO] [stdout] test cli::tests::resolve_tilde_path_expands_and_marks_local ... ok
[INFO] [stdout] test cmd::files::tests::errors_without_plugins_and_not_all ... ok
[INFO] [stdout] test cmd::install::tests::test_handle_existing_repository_with_force ... ok
[INFO] [stdout] test cmd::install::tests::test_repository_handling_without_force ... ok
[INFO] [stdout] test cmd::list::tests::describe_selection_formats_variants ... ok
[INFO] [stdout] test cmd::install::tests::test_add_new_plugin_to_existing_config ... ok
[INFO] [stdout] test cmd::install::tests::clone_plugins_prefers_locked_commit_when_not_forced ... ok
[INFO] [stdout] test cmd::install::tests::test_add_plugin_in_empty_config ... ok
[INFO] [stdout] test cmd::list::tests::list_outdated_falls_back_when_selector_missing ... ok
[INFO] [stdout] test cmd::list::tests::list_outdated_respects_version_selector ... ok
[INFO] [stdout] test cmd::list::tests::list_outdated_skips_tag_pinned_plugin ... ok
[INFO] [stdout] test cmd::install::tests::emit_event_only_for_conf_d ... ok
[INFO] [stdout] test cmd::install::tests::install_all_clones_when_repo_missing_for_locked_plugin ... ok
[INFO] [stdout] test cmd::install::tests::install_all_force_keeps_local_data_dir ... ok
[INFO] [stdout] test cmd::install::tests::install_all_force_reclones_remote_repo ... ok
[INFO] [stdout] test cmd::list::tests::list_table_selector_matches_repo ... ok
[INFO] [stdout] test cmd::list::tests::test_display_plugins ... ok
[INFO] [stdout] test cmd::migrate::tests::describe_spec_falls_back_to_repo_for_empty_base ... ok
[INFO] [stdout] test cmd::migrate::tests::describe_spec_uses_suffix_and_skips_empty_suffix ... ok
[INFO] [stdout] test cmd::install::tests::install_all_local_repo_existing_path_no_force ... ok
[INFO] [stdout] test cmd::install::tests::install_all_reports_ignored_lock_plugins_when_prune_false ... ok
[INFO] [stdout] test cmd::install::tests::install_all_new_remote_repo_no_force_does_not_bail ... ok
[INFO] [stdout] [
[INFO] [stdout]   {
[INFO] [stdout]     "commit": "abcdefghi",
[INFO] [stdout]     "name": "remote",
[INFO] [stdout]     "repo": "owner/remote",
[INFO] [stdout]     "selector": "branch:main",
[INFO] [stdout]     "source": "https://github.com/owner/remote"
[INFO] [stdout]   },
[INFO] [stdout]   {
[INFO] [stdout]     "commit": "localsha",
[INFO] [stdout]     "name": "local",
[INFO] [stdout]     "repo": "owner/local",
[INFO] [stdout]     "selector": null,
[INFO] [stdout]     "source": "/tmp/local"
[INFO] [stdout]   }
[INFO] [stdout] ]test cmd::list::tests::list_json_includes_selector ... ok
[INFO] [stdout] test cmd::install::tests::run_installs_local_plugin_and_updates_lock ... ok
[INFO] [stdout] test cmd::files::tests::run_outputs_json_paths ... ok
[INFO] [stdout] test cmd::migrate::tests::migrated_ref_suffixes_render ... ok
[INFO] [stdout] test cmd::list::tests::list_outdated_emits_plain_output ... ok
[INFO] [stdout] test cmd::list::tests::list_outdated_json_includes_commits ... ok
[INFO] [stdout] test cmd::migrate::tests::preserves_custom_url_when_incoming_is_unpinned_repo ... ok
[INFO] [stdout] test cmd::migrate::tests::preserves_custom_url_when_pinned_ref_matches ... ok
[INFO] [stdout] test cmd::migrate::tests::should_update_existing_allows_path_updates ... ok
[INFO] [stdout] test cmd::init::tests::test_run_creates_config_in_env_dir ... ok
[INFO] [stdout] test cmd::migrate::tests::should_update_existing_handles_unpinned_sources ... ok
[INFO] [stdout] test cmd::migrate::tests::should_update_existing_preserves_custom_url ... ok
[INFO] [stdout] test cmd::migrate::tests::should_update_existing_tracks_ref_changes ... ok
[INFO] [stdout] test cmd::list::tests::list_outdated_table_includes_short_commits ... ok
[INFO] [stdout] owner/remote
[INFO] [stdout] test cmd::list::tests::list_run_filters_remote_sources ... ok
[INFO] [stdout] test cmd::list::tests::list_run_writes_output ... ok
[INFO] [stdout] +--------+--------------+---------------------------------+-------------+---------+
[INFO] [stdout] | name   | repo         | source                          | selector    | commit  |
[INFO] [stdout] +--------+--------------+---------------------------------+-------------+---------+
[INFO] [stdout] | remote | owner/remote | https://github.com/owner/remote | branch:main | abcdefg |
[INFO] [stdout] +--------+--------------+---------------------------------+-------------+---------+
[INFO] [stdout] | local  | owner/local  | /tmp/local                      | -           | localsh |
[INFO] [stdout] +--------+--------------+---------------------------------+-------------+---------+test cmd::list::tests::list_table_includes_selector_and_short_commit ... ok
[INFO] [stdout] test cmd::migrate::tests::dry_run_does_not_add_new_entries ... ok
[INFO] [stdout] test cmd::migrate::tests::dry_run_force_does_not_overwrite_config ... ok
[INFO] [stdout] test cmd::migrate::tests::dry_run_with_install_does_not_install ... ok
[INFO] [stdout] test cmd::prune::tests::dry_run_warns_when_repo_missing_without_force ... ok
[INFO] [stdout] test cmd::migrate::tests::ignores_blank_and_comment_lines_without_warning ... ok
[INFO] [stdout] test cmd::migrate::tests::install_skipped_when_no_planned_changes ... ok
[INFO] [stdout] test cmd::migrate::tests::keeps_existing_version_when_migrated_entry_is_unpinned ... ok
[INFO] [stdout] test cmd::migrate::tests::migrates_ssh_url_entry ... ok
[INFO] [stdout] test cmd::prune::tests::prune_parallel_does_not_save_when_no_sources_removed ... ok
[INFO] [stdout] test cmd::prune::tests::prune_parallel_aborts_without_yes_when_confirm_false ... ok
[INFO] [stdout] test cmd::prune::tests::prune_parallel_missing_repo_with_force_removes_plugin ... ok
[INFO] [stdout] test cmd::prune::tests::test_find_unused_plugins ... ok
[INFO] [stdout] test cmd::prune::tests::prune_parallel_skips_confirm_when_yes ... ok
[INFO] [stdout] test cmd::migrate::tests::migrates_versioned_entries ... ok
[INFO] [stdout] test cmd::prune::tests::prune_parallel_removes_unused_plugin_and_keeps_used ... ok
[INFO] [stdout] test cmd::prune::tests::test_prune ... ok
[INFO] [stdout] test cmd::prune::tests::prune_parallel_missing_repo_without_force_keeps_lock ... ok
[INFO] [stdout] test cmd::prune::tests::test_prune_empty_config_missing_data_dir_with_force ... ok
[INFO] [stdout] test cmd::prune::tests::test_prune_dry_run ... ok
[INFO] [stdout] test cmd::prune::tests::test_prune_empty_config_without_yes_and_confirm_removal_true ... ok
[INFO] [stdout] test cmd::prune::tests::test_prune_empty_config_missing_data_dir_without_force ... ok
[INFO] [stdout] test cmd::prune::tests::test_prune_empty_config_with_yes ... ok
[INFO] [stdout] test cmd::prune::tests::test_prune_empty_config_without_yes_and_confirm_removal_false ... ok
[INFO] [stdout] test cmd::prune::tests::test_prune_empty_remove_plugins ... ok
[INFO] [stdout] test cmd::uninstall::tests::read_plugins_from_reader_filters_and_sorts_entries ... ok
[INFO] [stdout] test cmd::uninstall::tests::normalize_plugins_removes_duplicates_preserving_first_occurrence ... ok
[INFO] [stdout] test cmd::list::tests::list_outdated_respects_branch_selector ... ok
[INFO] [stdout] test cmd::files::tests::from_install_parses_targets_with_options ... ok
[INFO] [stdout] test cmd::migrate::tests::skips_empty_ref_entries ... ok
[INFO] [stdout] test cmd::migrate::tests::skips_fisher_repo_but_keeps_other_entries ... ok
[INFO] [stdout] test cmd::migrate::tests::skips_git_at_url_with_ref_suffix ... ok
[INFO] [stdout] test cmd::migrate::tests::skips_url_entries_with_ref_suffix ... ok
[INFO] [stdout] test cmd::migrate::tests::updates_existing_entry_with_version ... ok
[INFO] [stdout] test cmd::migrate::tests::updates_existing_pinned_entry_when_ref_changes ... ok
[INFO] [stdout] test cmd::prune::tests::confirm_removal_accepts_yes_input ... ok
[INFO] [stdout] test cmd::prune::tests::confirm_removal_rejects_non_yes_input ... ok
[INFO] [stdout] test config::internal_tests::ensure_plugin_for_repo_inserts_default_spec ... ok
[INFO] [stdout] test config::internal_tests::from_resolved_builds_path_spec ... ok
[INFO] [stdout] test config::internal_tests::from_resolved_builds_repo_spec ... ok
[INFO] [stdout] test config::internal_tests::from_resolved_builds_url_spec ... ok
[INFO] [stdout] test config::internal_tests::one_of_rule_enforced ... ok
[INFO] [stdout] test config::internal_tests::path_requires_absolute_or_tilde ... ok
[INFO] [stdout] test config::internal_tests::repo_to_resolved_latest ... ok
[INFO] [stdout] test config::internal_tests::url_without_scheme_normalizes ... ok
[INFO] [stdout] test config::tests::get_name_falls_back_to_repo_name ... ok
[INFO] [stdout] test config::tests::get_name_prefers_explicit_name ... ok
[INFO] [stdout] test config::tests::one_of_rule_enforced ... ok
[INFO] [stdout] test config::tests::path_requires_absolute_or_tilde ... ok
[INFO] [stdout] test config::tests::repo_to_resolved_latest ... ok
[INFO] [stdout] test config::tests::url_without_scheme_normalizes ... ok
[INFO] [stdout] test git::tests::checkout_commit_updates_worktree ... ok
[INFO] [stdout] test config::internal_tests::ensure_plugin_from_resolved_inserts_once ... ok
[INFO] [stdout] test cmd::uninstall::tests::run_bails_without_plugins_or_stdin ... ok
[INFO] [stdout] test cmd::prune::tests::run_removes_unused_plugin ... ok
[INFO] [stdout] test cmd::uninstall::tests::test_uninstall_honors_target_dir_override ... ok
[INFO] [stdout] test git::tests::is_local_source_recognizes_prefixes ... ok
[INFO] [stdout] test git::tests::checkout_ref_resolves_tag_commit ... ok
[INFO] [stdout] test git::tests::pick_tag_for_version_dotted_non_semver_prefix ... ok
[INFO] [stdout] test git::tests::pick_tag_for_version_missing_non_semver_returns_none ... ok
[INFO] [stdout] test git::tests::pick_tag_for_version_non_semver_dotted_suffix ... ok
[INFO] [stdout] test cmd::uninstall::tests::run_uninstalls_plugins_from_args ... ok
[INFO] [stdout] test git::tests::get_latest_commit_sha_returns_head_commit ... ok
[INFO] [stdout] test git::tests::pick_tag_for_version_respects_minor_prefix ... ok
[INFO] [stdout] test git::tests::pick_tag_for_version_semver_prefix ... ok
[INFO] [stdout] test git::tests::setup_fetch_options_configures_download_tags ... ok
[INFO] [stdout] test git::tests::setup_remote_callbacks_configures_credentials ... ok
[INFO] [stdout] test lock_file::tests::add_plugin_rejects_duplicate_name ... ok
[INFO] [stdout] test cmd::uninstall::tests::run_reads_plugins_from_stdin ... ok
[INFO] [stdout] test git::tests::get_remote_name_accepts_three_part_ref ... ok
[INFO] [stdout] test lock_file::tests::contains_repo_returns_false_for_missing_repo ... ok
[INFO] [stdout] test lock_file::tests::add_plugin_rejects_duplicate_source ... ok
[INFO] [stdout] test models::tests::install_target_round_trip_preserves_raw ... ok
[INFO] [stdout] test git::tests::pick_tag_for_version_prefers_exact_semver_match ... ok
[INFO] [stdout] test models::tests::parse_standard_url_requires_owner_and_repo ... ok
[INFO] [stdout] test models::tests::parse_scp_like_requires_owner_and_repo ... ok
[INFO] [stdout] test cmd::uninstall::tests::test_uninstall_logs_repo_missing_without_force ... ok
[INFO] [stdout] test models::tests::install_target_resolves_host_metadata ... ok
[INFO] [stdout] test models::tests::target_dir_parsing_accepts_all_variants ... ok
[INFO] [stdout] test resolver::tests::maps_to_selection ... ok
[INFO] [stdout] test resolver::tests::parses_ref_kinds ... ok
[INFO] [stdout] test models::tests::plugin_repo_validation_rejects_invalid_segments ... ok
[INFO] [stdout] test utils::tests::colors_enabled_for_stderr_force_color_overrides_term ... ok
[INFO] [stdout] test lock_file::tests::plugin_get_name_prefers_explicit_name_or_last_path_segment ... ok
[INFO] [stdout] test utils::tests::colors_enabled_for_stderr_respects_no_color ... ok
[INFO] [stdout] test lock_file::tests::merge_plugins_updates_existing_and_adds_new ... ok
[INFO] [stdout] test cmd::uninstall::tests::test_uninstall_removes_repo_and_files_and_updates_lock_and_config ... ok
[INFO] [stdout] test utils::tests::copy_plugin_files_creates_target_dir_when_empty ... ok
[INFO] [stdout] test git::tests::get_latest_remote_commit_from_local_remote_repo ... ok
[INFO] [stdout] test utils::tests::copy_plugin_files_creates_nested_directories ... ok
[INFO] [stdout] test utils::tests::copy_plugin_files_recursive_copies_theme_files ... ok
[INFO] [stdout] test utils::tests::copy_plugin_files_includes_themes_and_counts ... ok
[INFO] [stdout] test utils::tests::event_display_formats ... ok
[INFO] [stdout] test models::tests::plugin_repo_parsing_variants ... ok
[INFO] [stdout] test utils::tests::labels_return_expected_strings ... ok
[INFO] [stdout] test cmd::uninstall::tests::uninstall_emits_events_only_for_conf_d_files ... ok
[INFO] [stdout] test git::tests::list_tags_fetches_remote_updates ... ok
[INFO] [stdout] test models::tests::plugin_spec_from_resolved_preserves_host_metadata ... ok
[INFO] [stdout] test cmd::upgrade::tests::run_upgrades_all_plugins ... ok
[INFO] [stdout] test cmd::upgrade::tests::run_upgrades_selected_plugins_and_emits_events ... ok
[INFO] [stdout] test cmd::upgrade::tests::test_upgrade_logs_already_up_to_date ... ok
[INFO] [stdout] test cmd::upgrade::tests::upgrade_plugin_updates_repo_checkout_and_files ... ok
[INFO] [stdout] test cmd::upgrade::tests::upgrade_plugin_uses_pinned_selection_for_repo ... ok
[INFO] [stdout] test utils::tests::load_pez_config_dir_ignores_target_dir_when_unset ... ok
[INFO] [stdout] test utils::tests::colors_enabled_for_term_on_tty ... ok
[INFO] [stdout] test config::tests::expand_tilde_resolves_home_variants ... ok
[INFO] [stdout] test utils::tests::test_copy_plugin_files ... ok
[INFO] [stdout] test utils::tests::test_copy_plugin_files_dedupe_skip_on_duplicate ... ok
[INFO] [stdout] test utils::tests::copy_plugin_files_from_repo_copies_files_without_warning ... ok
[INFO] [stdout] test utils::tests::copy_plugin_files_from_repo_warns_when_empty ... ok
[INFO] [stdout] test utils::tests::test_copy_plugin_files_skips_non_file_entries ... ok
[INFO] [stdout] test utils::tests::emit_event_warns_when_stem_missing ... ok
[INFO] [stdout] test utils::tests::emit_event_logs_error_on_failed_command ... ok
[INFO] [stdout] test utils::tests::home_dir_uses_home_env ... ok
[INFO] [stdout] test utils::tests::load_fish_config_dir_honors_target_dir ... ok
[INFO] [stdout] test utils::tests::load_fish_data_dir_falls_back_to_home ... ok
[INFO] [stdout] test utils::tests::load_fish_data_dir_prefers_fish_user_data_dir ... ok
[INFO] [stdout] test utils::tests::load_fish_data_dir_uses_xdg_data_home ... ok
[INFO] [stdout] test utils::tests::load_jobs_falls_back_to_env_when_override_absent ... ok
[INFO] [stdout] test utils::tests::load_jobs_prefers_cli_override ... ok
[INFO] [stdout] test utils::tests::load_or_create_config_creates_missing_dir ... ok
[INFO] [stdout] test utils::tests::load_or_create_lock_file_creates_missing_dir ... ok
[INFO] [stdout] test utils::tests::load_pez_config_dir_prefers_config_dir_over_target_dir ... ok
[INFO] [stdout] test utils::tests::test_copy_plugin_files_deep_directories ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 195 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.77s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_main.rs (/opt/rustwide/target/debug/deps/cli_main-ad8666d2627473ac)
[INFO] [stdout] running 3 tests
[INFO] [stdout] test cli_init_creates_config ... ok
[INFO] [stdout] test cli_install_local_plugin_copies_files ... ok
[INFO] [stdout] test cli_verbose_flags_keep_info_for_zero_and_one ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "97176e054c50fcde9d438340a26fea46819945ce62b4c635b4c2fe17b4951286", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "97176e054c50fcde9d438340a26fea46819945ce62b4c635b4c2fe17b4951286", kill_on_drop: false }`
[INFO] [stdout] 97176e054c50fcde9d438340a26fea46819945ce62b4c635b4c2fe17b4951286
