[INFO] cloning repository https://github.com/bivvy-dev/bivvy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bivvy-dev/bivvy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbivvy-dev%2Fbivvy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbivvy-dev%2Fbivvy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fc5eef0e8ee7e00ec90cd1bf41a33e9babe943e0
[INFO] testing bivvy-dev/bivvy against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbivvy-dev%2Fbivvy" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/bivvy-dev/bivvy
[INFO] finished tweaking git repo https://github.com/bivvy-dev/bivvy
[INFO] tweaked toml for git repo https://github.com/bivvy-dev/bivvy written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bivvy-dev/bivvy on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/bivvy-dev/bivvy 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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded digest v0.11.2
[INFO] [stderr]   Downloaded sha2 v0.11.0
[INFO] [stderr]   Downloaded vte_generate_state_changes v0.1.2
[INFO] [stderr]   Downloaded vt100 v0.15.2
[INFO] [stderr]   Downloaded vte v0.11.1
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.70
[INFO] [stderr]   Downloaded potential_utf v0.1.5
[INFO] [stderr]   Downloaded crypto-common v0.2.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.120
[INFO] [stderr]   Downloaded dyn-clone v1.0.20
[INFO] [stderr]   Downloaded zerofrom-derive v0.1.7
[INFO] [stderr]   Downloaded cpufeatures v0.3.0
[INFO] [stderr]   Downloaded yoke-derive v0.8.2
[INFO] [stderr]   Downloaded jni-sys-macros v0.4.1
[INFO] [stderr]   Downloaded predicates-tree v1.0.13
[INFO] [stderr]   Downloaded ptyprocess v0.4.1
[INFO] [stderr]   Downloaded block-buffer v0.12.0
[INFO] [stderr]   Downloaded jni-sys v0.4.1
[INFO] [stderr]   Downloaded doc-comment v0.3.4
[INFO] [stderr]   Downloaded tabwriter v1.4.1
[INFO] [stderr]   Downloaded float-cmp v0.10.0
[INFO] [stderr]   Downloaded idna_adapter v1.2.2
[INFO] [stderr]   Downloaded ref-cast-impl v1.0.25
[INFO] [stderr]   Downloaded predicates-core v1.0.10
[INFO] [stderr]   Downloaded zerofrom v0.1.7
[INFO] [stderr]   Downloaded async-object-pool v0.2.0
[INFO] [stderr]   Downloaded termtree v0.5.1
[INFO] [stderr]   Downloaded ref-cast v1.0.25
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.120
[INFO] [stderr]   Downloaded serde_regex v1.1.0
[INFO] [stderr]   Downloaded hyper-rustls v0.27.9
[INFO] [stderr]   Downloaded conpty v0.5.1
[INFO] [stderr]   Downloaded schemars_derive v1.2.1
[INFO] [stderr]   Downloaded tinystr v0.8.3
[INFO] [stderr]   Downloaded arraydeque v0.5.1
[INFO] [stderr]   Downloaded path-tree v0.8.3
[INFO] [stderr]   Downloaded hybrid-array v0.4.11
[INFO] [stderr]   Downloaded icu_properties v2.2.0
[INFO] [stderr]   Downloaded zerovec-derive v0.11.3
[INFO] [stderr]   Downloaded writeable v0.6.3
[INFO] [stderr]   Downloaded stringmetrics v2.2.2
[INFO] [stderr]   Downloaded marked-yaml v0.8.0
[INFO] [stderr]   Downloaded dialoguer v0.12.0
[INFO] [stderr]   Downloaded cmake v0.1.58
[INFO] [stderr]   Downloaded predicates v3.1.4
[INFO] [stderr]   Downloaded yoke v0.8.2
[INFO] [stderr]   Downloaded assert_cmd v2.2.1
[INFO] [stderr]   Downloaded rustls-pki-types v1.14.1
[INFO] [stderr]   Downloaded rustls-platform-verifier v0.7.0
[INFO] [stderr]   Downloaded yaml-rust2 v0.10.4
[INFO] [stderr]   Downloaded icu_provider v2.2.0
[INFO] [stderr]   Downloaded litemap v0.8.2
[INFO] [stderr]   Downloaded jni-macros v0.22.4
[INFO] [stderr]   Downloaded const-oid v0.10.2
[INFO] [stderr]   Downloaded rustls-webpki v0.103.13
[INFO] [stderr]   Downloaded expectrl v0.7.1
[INFO] [stderr]   Downloaded clap_complete v4.6.3
[INFO] [stderr]   Downloaded typenum v1.20.0
[INFO] [stderr]   Downloaded icu_locale_core v2.2.0
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.120
[INFO] [stderr]   Downloaded icu_normalizer_data v2.2.0
[INFO] [stderr]   Downloaded icu_normalizer v2.2.0
[INFO] [stderr]   Downloaded headers v0.4.1
[INFO] [stderr]   Downloaded schemars v1.2.1
[INFO] [stderr]   Downloaded reqwest v0.13.3
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.120
[INFO] [stderr]   Downloaded zerotrie v0.2.4
[INFO] [stderr]   Downloaded icu_collections v2.2.0
[INFO] [stderr]   Downloaded cc v1.2.61
[INFO] [stderr]   Downloaded js-sys v0.3.97
[INFO] [stderr]   Downloaded zerovec v0.11.6
[INFO] [stderr]   Downloaded insta v1.47.2
[INFO] [stderr]   Downloaded hyper v1.9.0
[INFO] [stderr]   Downloaded iri-string v0.7.12
[INFO] [stderr]   Downloaded webpki-root-certs v1.0.7
[INFO] [stderr]   Downloaded icu_properties_data v2.2.0
[INFO] [stderr]   Downloaded jni v0.22.4
[INFO] [stderr]   Downloaded aws-lc-rs v1.16.3
[INFO] [stderr]   Downloaded simd_cesu8 v1.1.1
[INFO] [stderr]   Downloaded rustls v0.23.40
[INFO] [stderr]   Downloaded web-sys v0.3.97
[INFO] [stderr]   Downloaded tokio v1.52.1
[INFO] [stderr]   Downloaded httpmock v0.8.3
[INFO] [stderr]   Downloaded aws-lc-sys v0.40.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2b22f64896a20011817c922aa527a562c15478fd5990ddd771e87f41a9aaa088
[INFO] running `Command { std: "docker" "start" "-a" "2b22f64896a20011817c922aa527a562c15478fd5990ddd771e87f41a9aaa088", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b22f64896a20011817c922aa527a562c15478fd5990ddd771e87f41a9aaa088", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b22f64896a20011817c922aa527a562c15478fd5990ddd771e87f41a9aaa088", kill_on_drop: false }`
[INFO] [stdout] 2b22f64896a20011817c922aa527a562c15478fd5990ddd771e87f41a9aaa088
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e777c24d32839294055a08115cbd3437ed5fc42b9d2dc71dca7b3ea6598c5a67
[INFO] running `Command { std: "docker" "start" "-a" "e777c24d32839294055a08115cbd3437ed5fc42b9d2dc71dca7b3ea6598c5a67", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling aws-lc-rs v1.16.3
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling hybrid-array v0.4.11
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling aws-lc-sys v0.40.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling doc-comment v0.3.4
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling yaml-rust2 v0.10.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling digest v0.11.2
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling include_dir v0.7.4
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling dialoguer v0.12.0
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling marked-yaml v0.8.0
[INFO] [stderr]    Compiling clap_complete v4.6.3
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling bivvy v1.10.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 26s
[INFO] running `Command { std: "docker" "inspect" "e777c24d32839294055a08115cbd3437ed5fc42b9d2dc71dca7b3ea6598c5a67", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e777c24d32839294055a08115cbd3437ed5fc42b9d2dc71dca7b3ea6598c5a67", kill_on_drop: false }`
[INFO] [stdout] e777c24d32839294055a08115cbd3437ed5fc42b9d2dc71dca7b3ea6598c5a67
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 50e2424c1a9877d23796e0d7b42a025f652e586ace887c0b14c0e1f93c667bee
[INFO] running `Command { std: "docker" "start" "-a" "50e2424c1a9877d23796e0d7b42a025f652e586ace887c0b14c0e1f93c667bee", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling async-lock v3.4.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling vte_generate_state_changes v0.1.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling dialoguer v0.12.0
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling aws-lc-sys v0.40.0
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling headers-core v0.3.0
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling assert_cmd v2.2.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling headers v0.4.1
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling vte v0.11.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling async-object-pool v0.2.0
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling serde_regex v1.1.0
[INFO] [stderr]    Compiling tabwriter v1.4.1
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling path-tree v0.8.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling stringmetrics v2.2.2
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling insta v1.47.2
[INFO] [stderr]    Compiling vt100 v0.15.2
[INFO] [stderr]    Compiling ptyprocess v0.4.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling expectrl v0.7.1
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling httpmock v0.8.3
[INFO] [stderr]    Compiling aws-lc-rs v1.16.3
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling bivvy v1.10.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3m 35s
[INFO] running `Command { std: "docker" "inspect" "50e2424c1a9877d23796e0d7b42a025f652e586ace887c0b14c0e1f93c667bee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "50e2424c1a9877d23796e0d7b42a025f652e586ace887c0b14c0e1f93c667bee", kill_on_drop: false }`
[INFO] [stdout] 50e2424c1a9877d23796e0d7b42a025f652e586ace887c0b14c0e1f93c667bee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 501978a1dd8db04f9f64bc1a4c703adef528c3e43298a4368a1444f124ff635d
[INFO] running `Command { std: "docker" "start" "-a" "501978a1dd8db04f9f64bc1a4c703adef528c3e43298a4368a1444f124ff635d", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bivvy-bf321d1cb3d2218e)
[INFO] [stdout] 
[INFO] [stdout] running 2440 tests
[INFO] [stdout] test cache::entry::tests::cache_entry_expiration ... ok
[INFO] [stdout] test cache::entry::tests::cache_entry_age ... ok
[INFO] [stdout] test cache::entry::tests::cache_entry_creation ... ok
[INFO] [stdout] test cache::entry::tests::cache_entry_with_etag ... ok
[INFO] [stdout] test cache::entry::tests::cache_entry_with_commit_sha ... ok
[INFO] [stdout] test cache::entry::tests::expired_entry_has_zero_remaining_ttl ... ok
[INFO] [stdout] test cache::entry::tests::cache_key_format ... ok
[INFO] [stdout] test cache::entry::tests::remaining_ttl_calculation ... ok
[INFO] [stdout] test cache::revalidation::tests::needs_revalidation_check ... ok
[INFO] [stdout] test cache::revalidation::tests::revalidation_result_variants ... ok
[INFO] [stdout] test cache::store::tests::cache_store_creation ... ok
[INFO] [stdout] test cache::entry::tests::cache_entry_with_size ... ok
[INFO] [stdout] test cache::store::tests::different_entries_have_different_paths ... ok
[INFO] [stdout] test cache::store::tests::list_entries ... ok
[INFO] [stdout] test cache::store::tests::read_content ... ok
[INFO] [stdout] test cache::store::tests::clear_cache ... ok
[INFO] [stdout] test cache::store::tests::load_nonexistent_returns_none ... ok
[INFO] [stdout] test cache::store::tests::content_path_is_deterministic ... ok
[INFO] [stdout] test cache::store::tests::remove_nonexistent_returns_false ... ok
[INFO] [stdout] test cache::tests::default_cache_dir_valid ... ok
[INFO] [stdout] test cache::store::tests::remove_entry ... ok
[INFO] [stdout] test cache::validation::tests::format_duration_days ... ok
[INFO] [stdout] test cache::store::tests::store_and_load ... ok
[INFO] [stdout] test cache::store::tests::total_size_calculation ... ok
[INFO] [stdout] test cache::validation::tests::format_duration_hours ... ok
[INFO] [stdout] test cache::validation::tests::format_duration_minutes ... ok
[INFO] [stdout] test cache::validation::tests::cleanup_removes_expired ... ok
[INFO] [stdout] test cache::validation::tests::format_duration_seconds ... ok
[INFO] [stdout] test cache::validation::tests::parse_ttl_days ... ok
[INFO] [stdout] test cache::validation::tests::parse_ttl_minutes ... ok
[INFO] [stdout] test cache::validation::tests::parse_ttl_seconds ... ok
[INFO] [stdout] test cache::validation::tests::validate_expired_entry_ttl ... ok
[INFO] [stdout] test cache::validation::tests::validate_etag_needs_revalidation ... ok
[INFO] [stdout] test cache::validation::tests::validate_fresh_entry_ttl ... ok
[INFO] [stdout] test cache::validation::tests::validate_not_found ... ok
[INFO] [stdout] test cache::validation::tests::validate_git_needs_revalidation ... ok
[INFO] [stdout] test checks::change::tests::compute_file_hash ... ok
[INFO] [stdout] test checks::change::tests::compute_file_hash_exceeds_size_limit ... ok
[INFO] [stdout] test checks::change::tests::compute_glob_hash ... ok
[INFO] [stdout] test checks::change::tests::fail_fails_when_changed ... ok
[INFO] [stdout] test checks::change::tests::fail_passes_when_unchanged ... ok
[INFO] [stdout] test checks::change::tests::compute_command_hash ... ok
[INFO] [stdout] test checks::change::tests::glob_no_size_limit_allows_any_size ... ok
[INFO] [stdout] test checks::change::tests::glob_size_limit_not_exceeded ... ok
[INFO] [stdout] test cache::validation::tests::parse_ttl_hours ... ok
[INFO] [stdout] test cache::validation::tests::parse_ttl_no_suffix ... ok
[INFO] [stdout] test checks::change::tests::glob_size_limit_exceeded ... ok
[INFO] [stdout] test checks::change::tests::hash_file_differs_for_different_content ... ok
[INFO] [stdout] test checks::change::tests::hash_file_not_found ... ok
[INFO] [stdout] test checks::change::tests::hash_file_produces_consistent_hash ... ok
[INFO] [stdout] test checks::change::tests::hash_command_success ... ok
[INFO] [stdout] test checks::change::tests::hash_command_failure ... ok
[INFO] [stdout] test checks::change::tests::hash_command_consistent ... ok
[INFO] [stdout] test checks::change::tests::hash_glob_hashes_matching_files ... ok
[INFO] [stdout] test checks::change::tests::no_baseline_returns_indeterminate ... ok
[INFO] [stdout] test checks::change::tests::hash_glob_is_deterministic ... ok
[INFO] [stdout] test checks::change::tests::hash_glob_no_matches ... ok
[INFO] [stdout] test checks::change::tests::proceed_passes_when_changed ... ok
[INFO] [stdout] test checks::change::tests::require_passes_when_changed ... ok
[INFO] [stdout] test checks::change::tests::require_passes_when_unchanged ... ok
[INFO] [stdout] test checks::change::tests::size_limit_exceeded ... ok
[INFO] [stdout] test checks::change::tests::size_limit_none_always_passes ... ok
[INFO] [stdout] test checks::change::tests::size_limit_not_exceeded ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluate_all_checks_works_for_check_list ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_all_empty_passes ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_all_fails_when_one_fails ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_all_passes_when_all_pass ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_all_short_circuits_on_failure ... ok
[INFO] [stdout] test checks::change::tests::proceed_fails_when_unchanged ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_any_fails_when_all_fail ... ok
[INFO] [stdout] test checks::change::tests::hash_glob_changes_when_file_added ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_any_short_circuits_on_pass ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_any_empty_fails ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_any_passes_when_one_passes ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_file_not_found ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_glob_with_baseline ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_named_snapshot_baseline ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_no_baseline_returns_indeterminate ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_on_change_fail_changed_fails ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_command_with_baseline ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_size_limit_exceeded ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_with_different_baseline_proceed_passes ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_on_change_require_flags_step ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_command_first_run_with_correct_baseline ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_without_step_context_returns_indeterminate ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_workflow_scope_isolates_from_project ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_workflow_scope_uses_workflow_key ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_workflow_scope_without_workflow_name_falls_back ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_on_change_fail_unchanged_passes ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_change_with_matching_baseline_proceed_fails ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_execution_truthy ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_execution_falsy ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_nested_all_in_any ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_presence_binary_found ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_execution_failure ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_execution_success ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_presence_custom_success ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_presence_binary_missing ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_presence_custom_with_interpolation ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_execution_with_interpolation ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_presence_file_exists ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_with_deserialized_any_check ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_presence_file_missing ... ok
[INFO] [stdout] test checks::evaluator::tests::evaluator_with_deserialized_yaml_check ... ok
[INFO] [stdout] test checks::execution::tests::handles_nonexistent_command ... ok
[INFO] [stdout] test checks::execution::tests::falsy_passes_when_command_fails ... ok
[INFO] [stdout] test checks::execution::tests::falsy_fails_when_stdout_nonempty ... ok
[INFO] [stdout] test checks::execution::tests::falsy_passes_when_stdout_empty ... ok
[INFO] [stdout] test checks::execution::tests::long_command_truncated_in_description ... ok
[INFO] [stdout] test checks::execution::tests::runs_in_project_root_directory ... ok
[INFO] [stdout] test checks::execution::tests::success_fails_on_exit_nonzero ... ok
[INFO] [stdout] test checks::execution::tests::truthy_fails_when_stdout_empty ... ok
[INFO] [stdout] test checks::execution::tests::success_passes_on_exit_zero ... ok
[INFO] [stdout] test checks::presence::tests::absolute_path_works ... ok
[INFO] [stdout] test checks::execution::tests::truthy_fails_when_command_fails ... ok
[INFO] [stdout] test checks::presence::tests::binary_check_no_target_returns_error ... ok
[INFO] [stdout] test checks::presence::tests::binary_found_returns_passed ... ok
[INFO] [stdout] test checks::presence::tests::custom_check_no_command_returns_error ... ok
[INFO] [stdout] test checks::presence::tests::custom_command_failure ... ok
[INFO] [stdout] test checks::execution::tests::truthy_passes_when_stdout_nonempty ... ok
[INFO] [stdout] test checks::presence::tests::directory_exists_returns_passed ... ok
[INFO] [stdout] test checks::execution::tests::success_passes_with_real_command ... ok
[INFO] [stdout] test checks::presence::tests::does_not_look_like_path ... ok
[INFO] [stdout] test checks::presence::tests::explicit_kind_overrides_inference ... ok
[INFO] [stdout] test checks::presence::tests::directory_inferred_as_file_when_path_like ... ok
[INFO] [stdout] test checks::presence::tests::file_exists_returns_passed ... ok
[INFO] [stdout] test checks::presence::tests::file_check_no_target_returns_error ... ok
[INFO] [stdout] test checks::presence::tests::infer_kind_binary_for_simple_name ... ok
[INFO] [stdout] test checks::presence::tests::file_missing_returns_failed ... ok
[INFO] [stdout] test checks::presence::tests::custom_command_success ... ok
[INFO] [stdout] test checks::presence::tests::looks_like_path_with_dot ... ok
[INFO] [stdout] test checks::presence::tests::looks_like_path_with_slash ... ok
[INFO] [stdout] test checks::presence::tests::binary_missing_returns_failed ... ok
[INFO] [stdout] test checks::presence::tests::infer_kind_from_path_like_target ... ok
[INFO] [stdout] test checks::presence::tests::looks_like_path_with_tilde ... ok
[INFO] [stdout] test checks::tests::all_combinator_deserializes ... ok
[INFO] [stdout] test checks::tests::baseline_default_is_each_run ... ok
[INFO] [stdout] test checks::tests::change_check_default_size_limit_is_50mb ... ok
[INFO] [stdout] test checks::tests::change_check_default_scope_is_project ... ok
[INFO] [stdout] test checks::tests::change_check_deserializes_command_kind ... ok
[INFO] [stdout] test checks::presence::tests::infer_kind_from_command ... ok
[INFO] [stdout] test checks::tests::change_check_deserializes_glob_kind ... ok
[INFO] [stdout] test checks::tests::change_check_deserializes_with_proceed ... ok
[INFO] [stdout] test checks::tests::change_check_deserializes_workflow_scope ... ok
[INFO] [stdout] test checks::tests::change_check_with_all_fields ... ok
[INFO] [stdout] test checks::tests::change_check_deserializes_with_fail ... ok
[INFO] [stdout] test checks::tests::change_check_with_baseline_git ... ok
[INFO] [stdout] test checks::tests::check_result_failed ... ok
[INFO] [stdout] test checks::tests::check_list_deserializes_as_vec ... ok
[INFO] [stdout] test checks::tests::check_result_indeterminate ... ok
[INFO] [stdout] test checks::tests::check_result_passed ... ok
[INFO] [stdout] test checks::tests::check_serializes_roundtrip ... ok
[INFO] [stdout] test checks::tests::execution_check_deserializes_falsy_validation ... ok
[INFO] [stdout] test checks::tests::execution_check_deserializes_truthy_validation ... ok
[INFO] [stdout] test checks::tests::execution_check_deserializes_with_defaults ... ok
[INFO] [stdout] test checks::tests::full_change_check_yaml_roundtrip ... ok
[INFO] [stdout] test checks::tests::has_named_checks_false_for_all_unnamed_in_combinator ... ok
[INFO] [stdout] test checks::tests::has_named_checks_false_for_unnamed_check ... ok
[INFO] [stdout] test checks::tests::has_named_checks_recurses_into_combinators ... ok
[INFO] [stdout] test checks::tests::has_named_checks_true_for_named_check ... ok
[INFO] [stdout] test checks::tests::nested_combinators_deserialize ... ok
[INFO] [stdout] test checks::tests::on_change_fail_deserializes ... ok
[INFO] [stdout] test checks::tests::on_change_proceed_deserializes ... ok
[INFO] [stdout] test checks::tests::on_change_require_deserializes_from_string ... ok
[INFO] [stdout] test checks::tests::on_change_require_serializes_as_string ... ok
[INFO] [stdout] test checks::tests::presence_check_deserializes_custom_with_command ... ok
[INFO] [stdout] test checks::tests::any_combinator_deserializes ... ok
[INFO] [stdout] test checks::tests::presence_check_deserializes_with_binary_kind ... ok
[INFO] [stdout] test checks::tests::presence_check_deserializes_with_file_kind ... ok
[INFO] [stdout] test checks::tests::presence_check_without_kind_deserializes ... ok
[INFO] [stdout] test checks::tests::satisfaction_inline_check_deserializes ... ok
[INFO] [stdout] test checks::tests::satisfaction_cross_step_ref_deserializes ... ok
[INFO] [stdout] test checks::tests::satisfaction_ref_deserializes ... ok
[INFO] [stdout] test checks::tests::size_limit_default_is_50mb ... ok
[INFO] [stdout] test checks::tests::size_limit_deserializes_from_integer ... ok
[INFO] [stdout] test checks::tests::size_limit_deserializes_from_null ... ok
[INFO] [stdout] test checks::tests::size_limit_none_serializes_as_null ... ok
[INFO] [stdout] test checks::tests::size_limit_serializes_as_integer ... ok
[INFO] [stdout] test checks::tests::presence_check_with_name ... ok
[INFO] [stdout] test checks::tests::validation_mode_default_is_success ... ok
[INFO] [stdout] test checks::tests::satisfaction_condition_list_deserializes ... ok
[INFO] [stdout] test cli::args::tests::run_args_force_all_is_false_by_default ... ok
[INFO] [stdout] test cli::args::tests::run_args_force_parses_step_list ... ok
[INFO] [stdout] test cli::commands::add::tests::add_command_creation ... ok
[INFO] [stdout] test cli::args::tests::run_args_force_and_force_all_can_coexist ... ok
[INFO] [stdout] test cli::commands::add::tests::add_fails_without_config ... ok
[INFO] [stdout] test cli::args::tests::run_args_force_all_flag_sets_field_true ... ok
[INFO] [stdout] test cache::revalidation::tests::revalidator_creation ... ok
[INFO] [stdout] test cache::revalidation::tests::etag_revalidation_unchanged_on_304 ... ok
[INFO] [stdout] test cache::revalidation::tests::etag_revalidation_updates_cached_content_on_disk ... ok
[INFO] [stdout] test cli::commands::add::tests::add_to_workflow_updates_default ... ok
[INFO] [stdout] test cli::commands::add::tests::add_to_workflow_with_after ... ok
[INFO] [stdout] test cache::revalidation::tests::etag_revalidation_updated_on_200 ... ok
[INFO] [stdout] test cli::commands::add::tests::add_preserves_existing_comments ... ok
[INFO] [stdout] test cli::commands::add::tests::add_fails_for_duplicate_step ... ok
[INFO] [stdout] test cli::commands::add::tests::add_fails_for_unknown_template ... ok
[INFO] [stdout] test cli::commands::add::tests::add_shows_success_message ... ok
[INFO] [stdout] test cli::commands::add::tests::add_updates_workflow ... ok
[INFO] [stdout] test cli::commands::add::tests::insert_step_at_end_when_no_following_section ... ok
[INFO] [stdout] test cli::commands::add::tests::add_with_after ... ok
[INFO] [stdout] test cli::commands::add::tests::format_step_block_basic ... ok
[INFO] [stdout] test cli::commands::add::tests::insert_step_name_after ... ok
[INFO] [stdout] test cli::commands::add::tests::add_succeeds_with_valid_template ... ok
[INFO] [stdout] test cli::commands::add::tests::insert_step_name_after_nonexistent_appends ... ok
[INFO] [stdout] test cli::commands::add::tests::insert_step_name_empty_list ... ok
[INFO] [stdout] test cli::commands::cache::tests::list_empty_cache ... ok
[INFO] [stdout] test cli::commands::cache::tests::list_with_entries ... ok
[INFO] [stdout] test cli::commands::cache::tests::show_stats_empty ... ok
[INFO] [stdout] test cli::commands::cache::tests::show_stats_with_entries ... ok
[INFO] [stdout] test cli::commands::add::tests::insert_step_into_config_appends ... ok
[INFO] [stdout] test cli::commands::add::tests::format_step_block_custom_name ... ok
[INFO] [stdout] test cli::commands::add::tests::insert_step_into_config_no_steps_section ... ok
[INFO] [stdout] test cli::commands::add::tests::insert_step_name_appends ... ok
[INFO] [stdout] test cli::commands::config::tests::config_applies_config_default_output ... ok
[INFO] [stdout] test cli::commands::config::tests::config_command_creation ... ok
[INFO] [stdout] test cli::commands::config::tests::config_json_output ... ok
[INFO] [stdout] test cli::commands::config::tests::config_no_config ... ok
[INFO] [stdout] test cli::commands::completions::tests::generates_bash_completions ... ok
[INFO] [stdout] test cli::commands::config::tests::config_shows_config_path ... ok
[INFO] [stdout] test cli::commands::dispatcher::tests::command_result_failure ... ok
[INFO] [stdout] test cli::commands::completions::tests::generates_fish_completions ... ok
[INFO] [stdout] test cli::commands::dispatcher::tests::command_result_success ... ok
[INFO] [stdout] test cli::commands::config::tests::config_yaml_output ... ok
[INFO] [stdout] test cli::commands::display::tests::show_step_status_uses_correct_ui_method ... ok
[INFO] [stdout] test cli::commands::display::tests::status_icon_values ... ok
[INFO] [stdout] test cli::commands::display::tests::status_kind_conversion ... ok
[INFO] [stdout] test cli::commands::dispatcher::tests::dispatcher_creation ... ok
[INFO] [stdout] test cli::commands::display::tests::status_symbol_values ... ok
[INFO] [stdout] test cli::commands::feedback::tests::capture_feedback_basic ... ok
[INFO] [stdout] test cli::commands::feedback::tests::capture_feedback_skips_delivery_when_non_interactive ... ok
[INFO] [stdout] test cli::commands::feedback::tests::capture_feedback_with_tags ... ok
[INFO] [stdout] test cli::commands::feedback::tests::capture_interactive_non_interactive ... ok
[INFO] [stdout] test cli::commands::feedback::tests::category_from_tags_defaults_to_other ... ok
[INFO] [stdout] test cli::commands::feedback::tests::category_from_tags_finds_known_category ... ok
[INFO] [stdout] test cli::commands::display::tests::show_step_status_includes_icons ... ok
[INFO] [stdout] test cli::commands::feedback::tests::capture_feedback_skips_delivery_with_no_deliver_flag ... ok
[INFO] [stdout] test cli::commands::feedback::tests::feedback_args_parsing ... ok
[INFO] [stdout] test cli::commands::feedback::tests::feedback_category_options_exist ... ok
[INFO] [stdout] test cli::commands::feedback::tests::list_all_feedback ... ok
[INFO] [stdout] test cli::commands::feedback::tests::list_by_different_statuses ... ok
[INFO] [stdout] test cli::commands::feedback::tests::feedback_prompt_uses_neutral_framing ... ok
[INFO] [stdout] test cli::commands::feedback::tests::list_by_status ... ok
[INFO] [stdout] test cli::commands::feedback::tests::list_empty_feedback ... ok
[INFO] [stdout] test cli::commands::feedback::tests::list_feedback_by_tag ... ok
[INFO] [stdout] test cli::commands::completions::tests::generates_zsh_completions ... ok
[INFO] [stdout] test cli::commands::feedback::tests::list_invalid_status ... ok
[INFO] [stdout] test cli::commands::feedback::tests::list_feedback_with_entries ... ok
[INFO] [stdout] test cli::commands::feedback::tests::no_deliver_flag_parsing ... ok
[INFO] [stdout] test cli::commands::feedback::tests::resolve_feedback_entry ... ok
[INFO] [stdout] test cli::commands::feedback::tests::resolve_nonexistent_feedback ... ok
[INFO] [stdout] test cli::commands::feedback::tests::capture_feedback_offers_delivery_when_interactive ... ok
[INFO] [stdout] test cli::commands::feedback::tests::session_feedback_no_sessions ... ok
[INFO] [stdout] test cli::commands::feedback::tests::resolve_with_default_note ... ok
[INFO] [stdout] test cli::commands::feedback::tests::delivery_declined_saves_locally_only ... ok
[INFO] [stdout] test cli::commands::history::tests::clear_cancelled_when_user_declines_prompt ... ok
[INFO] [stdout] test cli::commands::history::tests::clear_prompts_when_interactive_without_force ... ok
[INFO] [stdout] test cli::commands::history::tests::history_args_accessor ... ok
[INFO] [stdout] test cli::commands::history::tests::history_command_creation ... ok
[INFO] [stdout] test cli::commands::feedback::tests::offer_delivery_shows_preview ... ok
[INFO] [stdout] test cli::commands::history::tests::clear_with_force_deletes_only_this_projects_logs ... ok
[INFO] [stdout] test cli::commands::history::tests::log_run_record_serializes_to_json ... ok
[INFO] [stdout] test cli::commands::history::tests::parse_since_days ... ok
[INFO] [stdout] test cli::commands::history::tests::parse_since_hours ... ok
[INFO] [stdout] test cli::commands::history::tests::parse_since_invalid ... ok
[INFO] [stdout] test cli::commands::history::tests::parse_since_minutes ... ok
[INFO] [stdout] test cli::commands::history::tests::parse_since_weeks ... ok
[INFO] [stdout] test cli::commands::history::tests::scan_log_dir_filters_other_projects ... ok
[INFO] [stdout] test cli::commands::history::tests::scan_log_dir_respects_limit ... ok
[INFO] [stdout] test cli::commands::history::tests::scan_log_dir_skips_logs_without_working_directory ... ok
[INFO] [stdout] test cli::commands::history::tests::history_no_runs ... ok
[INFO] [stdout] test cli::commands::history::tests::scan_log_files_with_jsonl_data ... ok
[INFO] [stdout] test cli::commands::history::tests::clear_reports_when_no_logs_match ... ok
[INFO] [stdout] test cli::commands::init::tests::create_config_header_and_settings ... ok
[INFO] [stdout] test cli::commands::init::tests::create_config_basic ... ok
[INFO] [stdout] test cli::commands::init::tests::config_exists_check ... ok
[INFO] [stdout] test cli::commands::init::tests::create_config_omits_schema_line_when_path_none ... ok
[INFO] [stdout] test cli::commands::init::tests::create_config_includes_schema_line_when_path_provided ... ok
[INFO] [stdout] test cli::commands::init::tests::create_config_no_steps_omits_steps_and_workflows ... ok
[INFO] [stdout] test cli::commands::history::tests::history_with_limit ... ok
[INFO] [stdout] test cli::commands::add::tests::add_with_custom_step_name ... ok
[INFO] [stdout] test cli::commands::init::tests::init_fails_if_config_exists ... ok
[INFO] [stdout] test cli::commands::add::tests::add_resolves_template_from_remote_http_source ... ok
[INFO] [stdout] test cli::commands::init::tests::create_config_with_template_check ... ok
[INFO] [stdout] test cli::commands::init::tests::create_config_with_templates ... ok
[INFO] [stdout] test cli::commands::add::tests::add_with_no_workflow ... ok
[INFO] [stdout] test cli::commands::init::tests::init_command_creation ... ok
[INFO] [stdout] test cli::commands::init::tests::init_interactive_shows_summary ... ok
[INFO] [stdout] test cli::commands::feedback::tests::quick_capture_with_tag_uses_category ... ok
[INFO] [stdout] test cli::commands::init::tests::init_does_not_duplicate_gitignore_entry ... ok
[INFO] [stdout] test cli::commands::init::tests::init_interactive_yes_runs_workflow ... ok
[INFO] [stdout] test cli::commands::init::tests::init_interactive_uses_multiselect ... ok
[INFO] [stdout] test cli::commands::init::tests::init_interactive_subset_selection ... ok
[INFO] [stdout] test cli::commands::init::tests::schema_path_resolves_under_home ... ok
[INFO] [stdout] test cli::commands::last::tests::last_args_accessor ... ok
[INFO] [stdout] test cli::commands::last::tests::last_command_creation ... ok
[INFO] [stdout] test cli::commands::last::tests::last_no_runs ... ok
[INFO] [stdout] test cli::commands::last::tests::outcome_status_kind_matches_run_ui ... ok
[INFO] [stdout] test cli::commands::last::tests::parse_log_preserves_step_order ... ok
[INFO] [stdout] test cli::commands::last::tests::parse_log_reads_workflow_completed_summary ... ok
[INFO] [stdout] test cli::commands::last::tests::parse_log_returns_none_without_workflow_completed ... ok
[INFO] [stdout] test cli::commands::last::tests::parse_log_round_trips_blocked ... ok
[INFO] [stdout] test cli::commands::last::tests::parse_log_round_trips_completed ... ok
[INFO] [stdout] test cli::commands::last::tests::parse_log_round_trips_declined ... ok
[INFO] [stdout] test cli::commands::last::tests::parse_log_round_trips_failed_and_captures_error ... ok
[INFO] [stdout] test cli::commands::last::tests::parse_log_round_trips_filtered_out ... ok
[INFO] [stdout] test cli::commands::last::tests::parse_log_round_trips_satisfied ... ok
[INFO] [stdout] test cli::commands::last::tests::parse_log_skips_unknown_outcome_strings ... ok
[INFO] [stdout] test cli::commands::last::tests::scan_log_dir_filters_other_projects ... ok
[INFO] [stdout] test cli::commands::last::tests::scan_log_dir_returns_empty_when_no_logs_match_project ... ok
[INFO] [stdout] test cli::commands::last::tests::scan_log_dir_skips_logs_without_workflow_completed ... ok
[INFO] [stdout] test cli::commands::last::tests::scan_log_dir_with_all_returns_runs_newest_first ... ok
[INFO] [stdout] test cli::commands::init::tests::init_non_interactive_skips_run_prompt ... ok
[INFO] [stdout] test cli::commands::init::tests::init_minimal_creates_config ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_command_creation ... ok
[INFO] [stdout] test cli::commands::init::tests::init_interactive_all_detected_by_default ... ok
[INFO] [stdout] test cli::commands::init::tests::init_with_ruby_project ... ok
[INFO] [stdout] test cli::commands::init::tests::init_updates_gitignore ... ok
[INFO] [stdout] test cli::commands::init::tests::init_interactive_prompts_run_after_init ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_no_config ... ok
[INFO] [stdout] test cli::commands::init::tests::init_with_force_overwrites ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_applies_config_default_output ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_invalid_config_circular_dependency ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_detects_self_dependency ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_unknown_target_errors_with_available_list ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_detects_undefined_dependency ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_step_target_loads_step_file ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_json_format ... ok
[INFO] [stdout] test cli::commands::list::tests::list_applies_config_default_output ... ok
[INFO] [stdout] test cli::commands::list::tests::list_command_creation ... ok
[INFO] [stdout] test cli::commands::list::tests::list_default_does_not_fail_on_broken_sibling_workflow ... ok
[INFO] [stdout] test cli::commands::list::tests::list_default_uses_discovery_for_workflow_files ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_sarif_format ... ok
[INFO] [stdout] test cli::commands::list::tests::list_json_skipped_step ... ok
[INFO] [stdout] test cli::commands::list::tests::list_json_output ... ok
[INFO] [stdout] test cli::commands::list::tests::list_json_steps_only ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_strict_mode_fails_on_warnings ... ok
[INFO] [stdout] test cli::commands::list::tests::list_json_workflows_only ... ok
[INFO] [stdout] test cli::commands::list::tests::list_no_config ... ok
[INFO] [stdout] test cli::commands::list::tests::list_shows_environment_from_env_flag ... ok
[INFO] [stdout] test cli::commands::list::tests::list_shows_dependency_tree ... ok
[INFO] [stdout] test cli::commands::list::tests::list_no_skipped_when_environment_matches ... ok
[INFO] [stdout] test cli::commands::list::tests::list_shows_skipped_steps_for_environment ... ok
[INFO] [stdout] test cli::commands::list::tests::list_shows_step_command ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_targeted_workflow_does_not_parse_other_workflow_files ... ok
[INFO] [stdout] test cli::commands::list::tests::list_shows_template_instead_of_command ... ok
[INFO] [stdout] test cli::commands::list::tests::list_shows_step_title_when_no_description ... ok
[INFO] [stdout] test cli::commands::list::tests::list_shows_workflow_description ... ok
[INFO] [stdout] test cli::commands::list::tests::list_shows_workflow_with_arrows ... ok
[INFO] [stdout] test cli::commands::list::tests::list_shows_step_description ... ok
[INFO] [stdout] test cli::commands::list::tests::list_steps_only ... ok
[INFO] [stdout] test cli::commands::list::tests::list_target_loads_single_workflow_file ... ok
[INFO] [stdout] test cli::commands::run::tests::build_options_default ... ok
[INFO] [stdout] test cli::commands::list::tests::list_with_config ... ok
[INFO] [stdout] test cli::commands::list::tests::list_unknown_target_errors ... ok
[INFO] [stdout] test cli::commands::run::tests::build_options_diagnostic_funnel_defaults_to_config_value ... ok
[INFO] [stdout] test cli::commands::run::tests::build_options_diagnostic_funnel_cli_flag_overrides_config ... ok
[INFO] [stdout] test cli::commands::run::tests::build_options_has_empty_provided_requirements ... ok
[INFO] [stdout] test cli::commands::run::tests::build_options_with_skip ... ok
[INFO] [stdout] test cli::commands::run::tests::config_diagnostic_funnel_deserialization ... ok
[INFO] [stdout] test cli::commands::run::tests::build_options_skip_behavior ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_valid_config ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_without_strict_passes_on_warnings ... ok
[INFO] [stdout] test cli::commands::lint::tests::lint_all_flag_uses_full_merge ... ok
[INFO] [stdout] test cli::commands::list::tests::list_all_uses_full_merge ... ok
[INFO] [stdout]       computed-output
[INFO] [stdout] test cli::commands::run::tests::computed_vars_available_in_step_commands ... ok
[INFO] [stdout] test cli::commands::list::tests::list_shows_environment_info ... FAILED
[INFO] [stdout]       hello
[INFO] [stdout] test cli::commands::run::tests::execute_ci_flag_shows_deprecation_warning ... ok
[INFO] [stdout] test cli::commands::run::tests::execute_dry_run_success ... ok
[INFO] [stdout] test cli::commands::run::tests::execute_applies_config_default_output ... ok
[INFO] [stdout]       hello
[INFO] [stdout] test cli::commands::run::tests::execute_cli_verbose_overrides_config_default ... ok
[INFO] [stdout] test cli::commands::run::tests::execute_dry_run_message_is_styled_in_red_with_blank_lines ... ok
[INFO] [stdout]       hello
[INFO] [stdout] test cli::commands::run::tests::execute_dry_run_with_template_shows_real_command ... ok
[INFO] [stdout] test cli::commands::run::tests::execute_unknown_workflow_does_not_duplicate_message ... ok
[INFO] [stdout] test cli::commands::run::tests::execute_real_workflow ... ok
[INFO] [stdout] test cli::commands::run::tests::execute_with_no_config_returns_error ... ok
[INFO] [stdout] test cli::commands::run::tests::execute_with_unknown_workflow ... ok
[INFO] [stdout]       hello
[INFO] [stdout]       world
[INFO] [stdout] test cli::commands::run::tests::execute_plural_steps_grammar ... ok
[INFO] [stdout]       hello
[INFO] [stdout] test cli::commands::run::tests::execute_shows_environment_in_header ... ok
[INFO] [stdout] test cli::commands::run::tests::merge_force_directives_cli_force_all_overrides_workflow_default ... ok
[INFO] [stdout] test cli::commands::run::tests::merge_force_directives_no_workflow_uses_cli_only ... ok
[INFO] [stdout] test cli::commands::run::tests::merge_force_directives_unions_force_lists ... ok
[INFO] [stdout] test cli::commands::run::tests::merge_force_directives_workflow_force_all_propagates ... ok
[INFO] [stdout]       hello
[INFO] [stdout] test cli::commands::run::tests::execute_explicit_workflow_overrides_env_default ... ok
[INFO] [stdout] test cli::commands::run::tests::resolve_environment_fallback_when_no_config ... ok
[INFO] [stdout] test cli::commands::run::tests::resolve_environment_flag_overrides_config_default ... ok
[INFO] [stdout] test cli::commands::run::tests::resolve_environment_uses_config_default ... ok
[INFO] [stdout] test cli::commands::run::tests::resolve_environment_uses_env_flag ... ok
[INFO] [stdout]       hello
[INFO] [stdout] test cli::commands::run::tests::execute_singular_step_grammar ... ok
[INFO] [stdout]       hello
[INFO] [stdout] test cli::commands::run::tests::execute_success_does_not_duplicate_message ... ok
[INFO] [stdout] test cli::commands::run::tests::execute_skipped_step_summary_shows_check_description ... ok
[INFO] [stdout]       hello
[INFO] [stdout] test cli::commands::run::tests::malformed_sibling_workflow_does_not_break_named_run ... ok
[INFO] [stdout] test cli::commands::run::tests::run_command_args ... ok
[INFO] [stdout] test cli::commands::run::tests::run_command_creation ... ok
[INFO] [stdout] test cli::commands::run::tests::resolve_steps_inline_step_still_works ... ok
[INFO] [stdout] test cli::commands::run::tests::resolve_steps_uses_template_for_brew_bundle ... ok
[INFO] [stdout]       fast
[INFO] [stdout] test cli::commands::run::tests::resolve_steps_errors_on_unknown_template ... ok
[INFO] [stdout] test cli::commands::run::tests::execute_with_environment_default_workflow ... ok
[INFO] [stdout] test cli::commands::schema::tests::schema_creates_parent_dirs ... ok
[INFO] [stdout]       hello
[INFO] [stdout] test cli::commands::schema::tests::schema_prints_to_stdout ... ok
[INFO] [stdout] test cli::commands::schema::tests::schema_output_is_valid_json_schema ... ok
[INFO] [stdout] test cli::commands::run::tests::execute_without_ci_flag_no_deprecation_warning ... ok
[INFO] [stdout] test cli::commands::schema::tests::schema_to_file_path ... ok
[INFO] [stdout] test cli::commands::snapshot::tests::collect_change_checks_finds_nested ... ok
[INFO] [stdout] test cli::commands::status::tests::format_requirement_status_missing ... ok
[INFO] [stdout] test cli::commands::status::tests::format_requirement_status_satisfied ... ok
[INFO] [stdout] test cli::commands::status::tests::format_requirement_status_unknown ... ok
[INFO] [stdout] test cli::commands::snapshot::tests::collect_change_checks_empty_when_no_changes ... ok
[INFO] [stdout] test cli::commands::status::tests::status_command_creation ... ok
[INFO] [stdout] test cli::commands::status::tests::status_no_config ... ok
[INFO] [stdout] test cli::commands::status::tests::status_applies_config_default_output ... ok
[INFO] [stdout] test cli::commands::schema::tests::schema_writes_to_file ... ok
[INFO] [stdout] test cli::commands::status::tests::status_no_skipped_when_environment_matches ... ok
[INFO] [stdout] test cli::commands::status::tests::status_no_requirements_section_when_no_requires ... ok
[INFO] [stdout] test cli::commands::status::tests::status_requirements_deduplicates ... ok
[INFO] [stdout] test cli::commands::status::tests::status_shows_environment_from_env_flag ... ok
[INFO] [stdout] test cli::commands::status::tests::status_shows_header_with_app_name ... ok
[INFO] [stdout] test cli::commands::status::tests::status_shows_hint_for_all_pending ... ok
[INFO] [stdout] test cli::commands::status::tests::status_shows_pending_for_never_run_steps ... ok
[INFO] [stdout]       hello
[INFO] [stdout] test cli::commands::status::tests::status_shows_environment_info ... FAILED
[INFO] [stdout] test cli::commands::run::tests::portable_workflow_file_runs_end_to_end ... ok
[INFO] [stdout] test cli::commands::status::tests::status_shows_skipped_steps_for_environment ... ok
[INFO] [stdout] test cli::commands::templates::tests::templates_command_creation ... ok
[INFO] [stdout] test cli::commands::status::tests::status_with_config ... ok
[INFO] [stdout] test cli::commands::status::tests::status_shows_steps_label ... ok
[INFO] [stdout] test cli::commands::status::tests::status_shows_requirements_section_when_requires_present ... ok
[INFO] [stdout] test cli::commands::run::tests::resolve_steps_with_environment_applies_overrides ... ok
[INFO] [stdout]       hello-from-vars
[INFO] [stdout] test cli::commands::run::tests::vars_available_in_step_commands ... ok
[INFO] [stdout] test cli::commands::templates::tests::templates_filter_nonexistent_category_shows_nothing ... ok
[INFO] [stdout] test cli::commands::templates::tests::templates_filter_by_category ... ok
[INFO] [stdout] test cli::commands::run::tests::summary_shows_aborted_hint ... ok
[INFO] [stdout] test cli::commands::update::tests::update_command_check_flag ... ok
[INFO] [stdout] test cli::commands::update::tests::update_command_creation ... ok
[INFO] [stdout] test cli::commands::update::tests::update_command_disable_auto_update_flag ... ok
[INFO] [stdout] test cli::commands::update::tests::update_command_enable_auto_update_flag ... ok
[INFO] [stdout] test cli::session_wrapper::tests::session_wrapper_capture_multiple_calls ... ok
[INFO] [stdout] test cli::session_wrapper::tests::session_wrapper_capture_output ... ok
[INFO] [stdout] test cli::commands::run::tests::summary_shows_recovery_detail ... ok
[INFO] [stdout] test cli::session_wrapper::tests::session_wrapper_creation ... ok
[INFO] [stdout] test cli::session_wrapper::tests::session_wrapper_finalize_exit_code ... ok
[INFO] [stdout] test cli::session_wrapper::tests::session_wrapper_get_latest_session_id_empty_store ... ok
[INFO] [stdout] test cli::session_wrapper::tests::session_wrapper_get_latest_session_id_returns_most_recent ... ok
[INFO] [stdout] test cli::session_wrapper::tests::session_wrapper_get_store ... ok
[INFO] [stdout] test cli::session_wrapper::tests::session_wrapper_metadata_modification ... ok
[INFO] [stdout] test cli::session_wrapper::tests::session_wrapper_session_id_accessor ... ok
[INFO] [stdout] test cli::session_wrapper::tests::session_wrapper_with_args ... ok
[INFO] [stdout] test config::discovery::tests::project_config_path_detects_existing_file ... ok
[INFO] [stdout] test config::discovery::tests::step_files_discovered ... ok
[INFO] [stdout] test config::discovery::tests::workflow_files_are_sorted ... ok
[INFO] [stdout] test config::discovery::tests::workflow_files_ignores_non_yaml ... ok
[INFO] [stdout] test cli::commands::templates::tests::templates_lists_all_categories ... ok
[INFO] [stdout] test config::discovery::tests::workflow_header_errors_on_missing_file ... ok
[INFO] [stdout] test config::discovery::tests::workflow_header_parses_legacy_format ... ok
[INFO] [stdout] test config::discovery::tests::workflow_path_handles_yaml_extension ... ok
[INFO] [stdout] test config::discovery::tests::workflow_header_parses_new_format ... ok
[INFO] [stdout] test config::env_file::tests::complex_env_file ... ok
[INFO] [stdout] test config::env_file::tests::handles_empty_values ... ok
[INFO] [stdout] test config::env_file::tests::handles_quoted_values ... ok
[INFO] [stdout] test config::env_file::tests::handles_values_with_equals ... ok
[INFO] [stdout] test config::env_file::tests::handles_lines_without_equals ... ok
[INFO] [stdout] test config::env_file::tests::load_optional_returns_empty_for_missing_file ... ok
[INFO] [stdout] test config::env_file::tests::handles_whitespace_around_equals ... ok
[INFO] [stdout] test config::env_file::tests::skips_comments ... ok
[INFO] [stdout] test config::env_file::tests::skips_empty_lines ... ok
[INFO] [stdout] test config::env_layer::tests::build_yaml_env_stack::empty_config_produces_empty_stack ... ok
[INFO] [stdout] test config::env_layer::tests::build_yaml_env_stack::missing_settings_env_file_is_an_error ... ok
[INFO] [stdout] test cli::commands::templates::tests::templates_lists_templates_from_remote_http_source ... ok
[INFO] [stdout] test config::env_file::tests::parses_simple_env_file ... ok
[INFO] [stdout] test config::env_layer::tests::build_yaml_env_stack::settings_env_file_layer_loads_from_disk ... ok
[INFO] [stdout] test config::env_layer::tests::build_yaml_env_stack::missing_workflow_env_file_is_an_error ... ok
[INFO] [stdout] test config::env_layer::tests::build_yaml_env_stack::settings_env_layer_is_pushed ... ok
[INFO] [stdout] test config::env_layer::tests::build_yaml_env_stack::settings_env_overrides_settings_env_file ... ok
[INFO] [stdout] test config::env_layer::tests::build_yaml_env_stack::workflow_env_file_layer_loads_from_disk ... ok
[INFO] [stdout] test config::env_layer::tests::build_yaml_env_stack::unknown_workflow_only_includes_global_layers ... ok
[INFO] [stdout] test config::env_layer::tests::build_yaml_env_stack::workflow_env_overrides_settings_env ... ok
[INFO] [stdout] test config::env_layer::tests::build_yaml_env_stack::workflow_env_overrides_workflow_env_file ... ok
[INFO] [stdout] test config::env_layer::tests::higher_layers_override_lower ... ok
[INFO] [stdout] test config::env_layer::tests::layer_contains_check ... ok
[INFO] [stdout] test config::env_layer::tests::layer_len_and_is_empty ... ok
[INFO] [stdout] test config::env_layer::tests::default_stack_is_empty ... ok
[INFO] [stdout] test config::env_layer::tests::resolve_merges_all_layers ... ok
[INFO] [stdout] test config::env_layer::tests::missing_key_returns_none ... ok
[INFO] [stdout] test config::env_layer::tests::multiple_overrides ... ok
[INFO] [stdout] test config::environment::tests::is_secret_matches_builtin_patterns ... ok
[INFO] [stdout] test config::env_layer::tests::stack_layer_count ... ok
[INFO] [stdout] test config::environment::tests::is_secret_matches_custom_patterns ... ok
[INFO] [stdout] test config::env_layer::tests::tracks_variable_source ... ok
[INFO] [stdout] test config::environment::tests::load_env_file_optional_returns_empty ... ok
[INFO] [stdout] test config::environment::tests::is_secret_matches_suffix_patterns ... ok
[INFO] [stdout] test config::environment::tests::load_env_file_not_found ... ok
[INFO] [stdout] test config::environment::tests::load_system_env_returns_current_env ... ok
[INFO] [stdout] test config::environment::tests::parse_dotenv_basic ... ok
[INFO] [stdout] test config::environment::tests::parse_dotenv_handles_equals_in_value ... ok
[INFO] [stdout] test config::environment::tests::load_env_file_works ... ok
[INFO] [stdout] test config::environment::tests::parse_dotenv_skips_comments_and_empty ... ok
[INFO] [stdout] test config::environment::tests::parse_dotenv_strips_quotes ... ok
[INFO] [stdout] test config::environment::tests::merge_env_overlays_correctly ... ok
[INFO] [stdout] test config::environment::tests::parse_dotenv_rejects_invalid_lines ... ok
[INFO] [stdout] test cli::commands::templates::tests::templates_shows_add_hint ... ok
[INFO] [stdout] test cli::commands::templates::tests::templates_shows_count ... ok
[INFO] [stdout] test cli::commands::templates::tests::templates_shows_custom_local_templates ... ok
[INFO] [stdout] test cli::commands::templates::tests::templates_shows_template_names_and_descriptions ... ok
[INFO] [stdout] test config::extends::tests::config_without_extends_unchanged ... ok
[INFO] [stdout] test config::extends::tests::depth_limit_enforced ... ok
[INFO] [stdout] test config::extends::tests::chained_extends ... ok
[INFO] [stdout] test config::extends::tests::circular_extends_detected ... ok
[INFO] [stdout] test config::extends::tests::empty_extends_unchanged ... ok
[INFO] [stdout] test config::extends::tests::extends_child_yaml_replaces_parent_ci_environment_block ... ok
[INFO] [stdout] test config::extends::tests::extends_cleared_from_result ... ok
[INFO] [stdout] test config::extends::tests::extends_env_override_adds_new_environment ... ok
[INFO] [stdout] test config::extends::tests::extends_inherits_only_environments_when_unset ... ok
[INFO] [stdout] test config::extends::tests::extends_env_override_preserves_unmentioned_environments ... ok
[INFO] [stdout] test config::extends::tests::resolver_custom_max_depth ... ok
[INFO] [stdout] test config::extends::tests::extends_env_override_replaces_ci_block ... ok
[INFO] [stdout] test config::extends::tests::extends_only_environments_replaces_list ... ok
[INFO] [stdout] test config::extends::tests::validate_extends_accepts_valid_urls ... ok
[INFO] [stdout] test config::extends::tests::validate_extends_allows_public_ip ... ok
[INFO] [stdout] test config::extends::tests::validate_extends_blocks_127_0_0_1 ... ok
[INFO] [stdout] test config::extends::tests::validate_extends_blocks_localhost ... ok
[INFO] [stdout] test config::extends::tests::validate_extends_blocks_metadata_ip ... ok
[INFO] [stdout] test config::extends::tests::validate_extends_blocks_private_10_range ... ok
[INFO] [stdout] test config::extends::tests::validate_extends_blocks_private_192_168_range ... ok
[INFO] [stdout] test config::extends::tests::validate_extends_rejects_empty_url ... ok
[INFO] [stdout] test config::extends::tests::validate_extends_rejects_non_http_url ... ok
[INFO] [stdout] test config::extends::tests::validate_extends_rejects_relative_path ... ok
[INFO] [stdout] test config::interpolation::tests::context_includes_builtin_bivvy_version ... ok
[INFO] [stdout] test config::interpolation::tests::context_with_env_sets_env ... ok
[INFO] [stdout] test config::interpolation::tests::context_with_project_adds_project_vars ... ok
[INFO] [stdout] test config::interpolation::tests::extract_variables_empty_for_literal ... ok
[INFO] [stdout] test config::interpolation::tests::extract_variables_returns_unique_names ... ok
[INFO] [stdout] test config::extends::tests::single_extends_merges_base ... ok
[INFO] [stdout] test config::extends::tests::multiple_extends_merge_in_order ... ok
[INFO] [stdout] test config::interpolation::tests::inputs_resolve_between_vars_and_env ... ok
[INFO] [stdout] test config::interpolation::tests::inputs_override_env ... ok
[INFO] [stdout] test config::interpolation::tests::parse_adjacent_variables ... ok
[INFO] [stdout] test config::interpolation::tests::parse_empty_string ... ok
[INFO] [stdout] test config::interpolation::tests::parse_escaped_dollar_brace ... ok
[INFO] [stdout] test config::interpolation::tests::parse_literal_only ... ok
[INFO] [stdout] test config::interpolation::tests::parse_dollar_without_brace ... ok
[INFO] [stdout] test config::extends::tests::invalid_yaml_response ... ok
[INFO] [stdout] test config::interpolation::tests::parse_mixed_escaped_and_real ... ok
[INFO] [stdout] test config::interpolation::tests::parse_multiple_variables ... ok
[INFO] [stdout] test config::interpolation::tests::parse_single_variable ... ok
[INFO] [stdout] test config::interpolation::tests::parse_variable_with_numbers ... ok
[INFO] [stdout] test config::interpolation::tests::parse_variable_with_surrounding_text ... ok
[INFO] [stdout] test config::interpolation::tests::resolve_multiple_variables ... ok
[INFO] [stdout] test config::interpolation::tests::parse_variable_with_underscore ... ok
[INFO] [stdout] test config::interpolation::tests::resolve_preserves_escaped ... ok
[INFO] [stdout] test config::interpolation::tests::resolve_string_fails_on_missing_variable ... ok
[INFO] [stdout] test config::interpolation::tests::resolve_string_uses_priority_order ... ok
[INFO] [stdout] test config::interpolation::tests::resolve_string_replaces_variables ... ok
[INFO] [stdout] test config::interpolation::tests::vars_override_inputs ... ok
[INFO] [stdout] test config::interpolation::tests::vars_resolve_between_preferences_and_env ... ok
[INFO] [stdout] test config::interpolation::tests::with_inputs_builder ... ok
[INFO] [stdout] test config::interpolation::tests::with_step_inputs_creates_scoped_context ... ok
[INFO] [stdout] test config::interpolation::tests::with_vars_builder ... ok
[INFO] [stdout] test config::interpolation::tests::resolve_string_with_default_prefers_context ... ok
[INFO] [stdout] test config::loader::tests::all_existing_returns_in_merge_order ... ok
[INFO] [stdout] test config::interpolation::tests::resolve_string_with_default_uses_default ... ok
[INFO] [stdout] test config::interpolation::tests::has_interpolation_returns_true_for_variables ... ok
[INFO] [stdout] test config::loader::tests::discover_accepts_yaml_extension ... ok
[INFO] [stdout] test config::loader::tests::discover_finds_local_overrides ... ok
[INFO] [stdout] test config::loader::tests::discover_finds_project_config ... ok
[INFO] [stdout] test config::loader::tests::discover_finds_split_steps ... ok
[INFO] [stdout] test config::loader::tests::discover_finds_split_workflows ... ok
[INFO] [stdout] test config::loader::tests::discover_ignores_non_yaml_in_split_dirs ... ok
[INFO] [stdout] test config::loader::tests::discover_returns_none_for_missing_configs ... ok
[INFO] [stdout] test config::loader::tests::empty_split_dirs_are_ignored ... ok
[INFO] [stdout] test config::loader::tests::ensure_global_config_creates_config_and_schema ... ok
[INFO] [stdout] test config::loader::tests::ensure_global_config_does_not_overwrite_existing ... ok
[INFO] [stdout] test config::loader::tests::ensure_global_config_updates_schema_on_rerun ... ok
[INFO] [stdout] test config::extends::tests::resolver_has_default_max_depth ... ok
[INFO] [stdout] test config::extends::tests::local_overrides_base ... ok
[INFO] [stdout] test config::loader::tests::find_project_root_finds_bivvy_dir ... ok
[INFO] [stdout] test config::loader::tests::find_project_root_finds_git_dir ... ok
[INFO] [stdout] test config::loader::tests::find_project_root_prefers_bivvy_over_git ... ok
[INFO] [stdout] test config::loader::tests::load_config_file_handles_empty_file ... ok
[INFO] [stdout] test config::loader::tests::load_config_file_parses_full_config ... ok
[INFO] [stdout] test config::extends::tests::unreachable_url_reports_which_url ... ok
[INFO] [stdout] test config::loader::tests::load_config_file_parses_valid_yaml ... ok
[INFO] [stdout] test config::loader::tests::load_config_value_returns_raw_value ... ok
[INFO] [stdout] test config::loader::tests::load_config_with_override_skips_merge ... ok
[INFO] [stdout] test config::loader::tests::load_config_file_returns_not_found_error ... ok
[INFO] [stdout] test config::loader::tests::config_without_extends_still_works ... ok
[INFO] [stdout] test config::loader::tests::extends_with_local_override_file ... ok
[INFO] [stdout] test config::loader::tests::already_trusted_url_is_fetched_without_prompt ... ok
[INFO] [stdout] test config::loader::tests::config_without_extends_skips_trust_check ... ok
[INFO] [stdout] test config::loader::tests::load_for_run_handles_legacy_workflow_layout ... ok
[INFO] [stdout] test config::loader::tests::extends_merges_before_local_override ... ok
[INFO] [stdout] test config::loader::tests::load_config_without_override_uses_merge ... ok
[INFO] [stdout] test cli::session_wrapper::tests::session_wrapper_cleanup_old_sessions ... ok
[INFO] [stdout] test config::loader::tests::load_for_run_local_overrides_workflow_step ... ok
[INFO] [stdout] test config::loader::tests::load_merged_config_loads_split_steps ... ok
[INFO] [stdout] test config::loader::tests::load_for_run_workflow_step_overrides_project_step ... ok
[INFO] [stdout] test config::loader::tests::load_project_config_errors_when_missing ... ok
[INFO] [stdout] test config::loader::tests::load_merged_config_fails_without_project_config ... ok
[INFO] [stdout] test config::loader::tests::load_single_step_file_parses_step_yaml ... ok
[INFO] [stdout] test config::loader::tests::load_single_workflow_file_parses_legacy_format ... ok
[INFO] [stdout] test config::loader::tests::load_single_workflow_file_parses_new_format ... ok
[INFO] [stdout] test config::loader::tests::load_project_config_reads_only_project_file ... ok
[INFO] [stdout] test config::loader::tests::parse_config_returns_parse_error_for_invalid_yaml ... ok
[INFO] [stdout] test config::loader::tests::load_for_run_only_loads_named_workflow_file ... ok
[INFO] [stdout] test config::loader::tests::load_merged_config_handles_new_format_workflow_files ... ok
[INFO] [stdout] test config::loader::tests::load_merged_config_loads_split_workflows ... ok
[INFO] [stdout] test config::loader::tests::split_files_sorted_for_deterministic_order ... ok
[INFO] [stdout] test config::loader::tests::load_merged_config_merges_project_and_local ... ok
[INFO] [stdout] test config::loader::tests::prompt_policy_rejects_on_user_denial ... ok
[INFO] [stdout] test config::loader::tests::load_merged_config_preserves_step_definitions ... ok
[INFO] [stdout] test config::loader::tests::local_overrides_override_split_files ... ok
[INFO] [stdout] test config::loader::tests::split_steps_only_counts_as_project_config ... ok
[INFO] [stdout] test config::loader::tests::prompt_policy_trusts_on_user_confirmation ... ok
[INFO] [stdout] test config::merger::tests::arrays_are_replaced_not_merged ... ok
[INFO] [stdout] test config::merger::tests::deep_merge_replaces_at_conflict_point ... ok
[INFO] [stdout] test config::merger::tests::deep_merge_without_leaves_behaves_as_before ... ok
[INFO] [stdout] test config::merger::tests::deeply_nested_merge ... ok
[INFO] [stdout] test config::merger::tests::empty_overlay_returns_base_unchanged ... ok
[INFO] [stdout] test config::merger::tests::leaf_key_adds_new_entries ... ok
[INFO] [stdout] test config::merger::tests::leaf_key_null_removes_entry ... ok
[INFO] [stdout] test config::loader::tests::reject_policy_errors_on_untrusted_url ... ok
[INFO] [stdout] test config::merger::tests::leaf_key_preserves_unmentioned_entries ... ok
[INFO] [stdout] test config::merger::tests::leaf_key_replaces_entry_values ... ok
[INFO] [stdout] test config::merger::tests::merge_empty_configs_returns_empty ... ok
[INFO] [stdout] test config::merger::tests::merge_configs_merges_multiple_in_order ... ok
[INFO] [stdout] test config::merger::tests::null_removes_inherited_value ... ok
[INFO] [stdout] test config::merger::tests::scalar_overlay_replaces_mapping_base ... ok
[INFO] [stdout] test config::remote::tests::bearer_auth_header_format ... ok
[INFO] [stdout] test config::merger::tests::nested_objects_merge_recursively ... ok
[INFO] [stdout] test config::loader::tests::load_merged_config_resolves_extends ... ok
[INFO] [stdout] test config::loader::tests::split_files_work_without_config_yml ... ok
[INFO] [stdout] test config::remote::tests::cache_path_is_deterministic ... ok
[INFO] [stdout] test config::loader::tests::split_steps_override_inline_steps ... ok
[INFO] [stdout] test config::loader::tests::trust_all_policy_auto_approves_urls ... ok
[INFO] [stdout] test config::remote::tests::clear_all_cache_removes_directory ... ok
[INFO] [stdout] test config::remote::tests::clear_all_cache_triggers_refetch ... ok
[INFO] [stdout] test config::loader::tests::split_step_with_full_config ... ok
[INFO] [stdout] test config::remote::tests::creates_fetcher_with_custom_timeout ... ok
[INFO] [stdout] test config::remote::tests::custom_auth_header_format ... ok
[INFO] [stdout] test config::loader::tests::split_steps_and_inline_steps_coexist ... ok
[INFO] [stdout] test config::remote::tests::clear_cache_removes_cached_file ... ok
[INFO] [stdout] test config::remote::tests::clear_cache_triggers_refetch ... ok
[INFO] [stdout] test config::remote::tests::corrupted_cache_triggers_refetch ... ok
[INFO] [stdout] test config::remote::tests::concurrent_cache_access_no_corruption ... ok
[INFO] [stdout] test config::remote::tests::creates_fetcher_with_custom_cache_dir ... ok
[INFO] [stdout] test config::remote::tests::fetch_returns_error_on_500 ... ok
[INFO] [stdout] test config::remote::tests::fetch_fresh_bypasses_cache ... ok
[INFO] [stdout] test config::remote::tests::creates_fetcher_with_default_timeout ... ok
[INFO] [stdout] test config::remote::tests::resolve_auth_bearer ... ok
[INFO] [stdout] test config::remote::tests::resolve_auth_custom_header ... ok
[INFO] [stdout] test config::remote::tests::resolve_auth_missing_env_var ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_auto_run_defaults_none ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_auto_run_omitted_when_none ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_auto_run_parses_false ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_auto_run_parses_true ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_confirm_defaults_false ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_confirm_omitted_when_false ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_confirm_parses ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_force_defaults_false ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_force_omitted_when_false ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_force_parses_true ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_rerun_window_defaults_none ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_rerun_window_omitted_when_none ... ok
[INFO] [stdout] test config::schema::tests::behavior_config_rerun_window_parses ... ok
[INFO] [stdout] test config::schema::tests::command_succeeds_alias_parses_as_execution ... ok
[INFO] [stdout] test config::schema::tests::completed_check_alias_parses_as_check ... ok
[INFO] [stdout] test config::schema::tests::custom_requirement_file_exists_check ... ok
[INFO] [stdout] test config::schema::tests::custom_requirement_parses ... ok
[INFO] [stdout] test config::schema::tests::custom_requirement_service_check_parses ... ok
[INFO] [stdout] test config::schema::tests::custom_requirement_with_install_template ... ok
[INFO] [stdout] test config::schema::tests::defaults_settings_has_correct_defaults ... ok
[INFO] [stdout] test config::schema::tests::defaults_settings_omitted_when_default ... ok
[INFO] [stdout] test config::schema::tests::defaults_settings_parses ... ok
[INFO] [stdout] test config::schema::tests::detects_git_from_dot_git_suffix ... ok
[INFO] [stdout] test config::schema::tests::detects_git_from_dot_git_suffix_with_trailing_slash ... ok
[INFO] [stdout] test config::schema::tests::detects_git_from_git_scheme ... ok
[INFO] [stdout] test config::schema::tests::detects_git_from_scp_style_url ... ok
[INFO] [stdout] test config::schema::tests::detects_git_from_ssh_scheme ... ok
[INFO] [stdout] test config::schema::tests::detects_http_for_plain_https_url ... ok
[INFO] [stdout] test config::schema::tests::effective_kind_falls_back_to_url_detection ... ok
[INFO] [stdout] test config::schema::tests::effective_kind_uses_explicit_when_set ... ok
[INFO] [stdout] test config::schema::tests::empty_config_has_defaults ... ok
[INFO] [stdout] test config::schema::tests::empty_requirements_defaults ... ok
[INFO] [stdout] test config::schema::tests::empty_vars_defaults ... ok
[INFO] [stdout] test config::schema::tests::environment_config_defaults ... ok
[INFO] [stdout] test config::schema::tests::environment_override_bare_null_parses_as_none ... ok
[INFO] [stdout] test config::schema::tests::environment_override_depends_on_parses ... ok
[INFO] [stdout] test config::schema::tests::environment_override_empty_string_is_not_null ... ok
[INFO] [stdout] test config::schema::tests::environment_override_title_parses ... ok
[INFO] [stdout] test config::schema::tests::execution_settings_default_rerun_window ... ok
[INFO] [stdout] test config::schema::tests::file_exists_alias_parses_as_presence ... ok
[INFO] [stdout] test config::schema::tests::ignores_removed_logging_and_log_path_fields ... ok
[INFO] [stdout] test config::schema::tests::logging_settings_parse_from_yaml ... ok
[INFO] [stdout] test config::schema::tests::logging_settings_to_retention_policy ... ok
[INFO] [stdout] test config::schema::tests::parses_all_check ... ok
[INFO] [stdout] test config::schema::tests::parses_any_check ... ok
[INFO] [stdout] test config::schema::tests::parses_computed_var ... ok
[INFO] [stdout] test config::schema::tests::parses_default_environment ... ok
[INFO] [stdout] test config::remote::tests::different_urls_have_different_cache_paths ... ok
[INFO] [stdout] test config::schema::tests::parses_environment_config ... ok
[INFO] [stdout] test config::schema::tests::parses_execution_check ... ok
[INFO] [stdout] test config::schema::tests::parses_extends_config ... ok
[INFO] [stdout] test config::schema::tests::parses_minimal_config ... ok
[INFO] [stdout] test config::schema::tests::parses_multiple_workflows ... ok
[INFO] [stdout] test config::schema::tests::parses_nested_composite_checks ... ok
[INFO] [stdout] test config::schema::tests::parses_precondition_all ... ok
[INFO] [stdout] test config::schema::tests::parses_precondition_execution ... ok
[INFO] [stdout] test config::schema::tests::parses_presence_check ... ok
[INFO] [stdout] test config::schema::tests::parses_secrets_config ... ok
[INFO] [stdout] test config::schema::tests::parses_mixed_vars ... ok
[INFO] [stdout] test config::schema::tests::parses_static_var ... ok
[INFO] [stdout] test config::schema::tests::parses_settings_with_env ... ok
[INFO] [stdout] test config::schema::tests::parses_step_only_environments ... ok
[INFO] [stdout] test config::schema::tests::parses_step_environments_override ... ok
[INFO] [stdout] test config::schema::tests::parses_step_with_hooks ... ok
[INFO] [stdout] test config::schema::tests::parses_step_with_inline_config ... ok
[INFO] [stdout] test config::schema::tests::parses_step_with_template ... ok
[INFO] [stdout] test config::schema::tests::parses_step_with_prompts ... ok
[INFO] [stdout] test config::schema::tests::parses_template_source_with_explicit_git_kind ... ok
[INFO] [stdout] test config::schema::tests::parses_template_source_with_explicit_http_kind ... ok
[INFO] [stdout] test config::schema::tests::parses_template_sources ... ok
[INFO] [stdout] test config::schema::tests::parses_workflow_definition ... ok
[INFO] [stdout] test config::schema::tests::parses_workflow_with_env ... ok
[INFO] [stdout] test config::schema::tests::precondition_defaults_none ... ok
[INFO] [stdout] test config::schema::tests::parses_workflow_with_overrides ... ok
[INFO] [stdout] test config::schema::tests::prompt_if_complete_alias_parses_as_prompt_on_rerun ... ok
[INFO] [stdout] test config::schema::tests::serialize_omits_default_values ... ok
[INFO] [stdout] test config::schema::tests::serialize_includes_non_default_values ... ok
[INFO] [stdout] test config::schema::tests::serialize_omits_empty_vars ... ok
[INFO] [stdout] test config::schema::tests::serialize_omits_none_precondition ... ok
[INFO] [stdout] test config::schema::tests::settings_default_environment_defaults_none ... ok
[INFO] [stdout] test config::schema::tests::step_config_defaults_to_empty_hooks ... ok
[INFO] [stdout] test config::schema::tests::step_config_parses_after_hooks ... ok
[INFO] [stdout] test config::schema::tests::step_config_parses_before_hooks ... ok
[INFO] [stdout] test config::schema::tests::step_config_parses_both_hooks ... ok
[INFO] [stdout] test config::schema::tests::step_config_requires_defaults_empty ... ok
[INFO] [stdout] test config::schema::tests::step_config_requires_parses ... ok
[INFO] [stdout] test config::schema::tests::step_config_tools_serializes_as_tools ... ok
[INFO] [stdout] test config::schema::tests::step_config_tools_is_canonical_name ... ok
[INFO] [stdout] test config::schema::tests::step_defaults_are_correct ... ok
[INFO] [stdout] test config::schema::tests::step_environment_override_auto_run_parses ... ok
[INFO] [stdout] test config::schema::tests::step_environments_defaults_empty ... ok
[INFO] [stdout] test config::schema::tests::step_only_environments_defaults_empty ... ok
[INFO] [stdout] test config::schema::tests::watches_field_parses_and_migrates_to_change_checks ... ok
[INFO] [stdout] test config::schema::tests::step_override_auto_run_parses ... ok
[INFO] [stdout] test config::schema::tests::watches_migration_merges_with_existing_checks ... ok
[INFO] [stdout] test config::schema::tests::workflow_auto_run_steps_defaults_none ... ok
[INFO] [stdout] test config::schema::tests::workflow_auto_run_steps_parses ... ok
[INFO] [stdout] test config::schema::tests::workflow_force_all_parses_true ... ok
[INFO] [stdout] test config::schema::tests::workflow_force_defaults_empty ... ok
[INFO] [stdout] test config::schema::tests::workflow_force_list_parses ... ok
[INFO] [stdout] test config::tests::serde_yaml_parses_basic_yaml ... ok
[INFO] [stdout] test config::tests::serde_yaml_handles_nested_structures ... ok
[INFO] [stdout] test config::trust::tests::load_nonexistent_returns_default ... ok
[INFO] [stdout] test config::trust::tests::revoke_removes_trust ... ok
[INFO] [stdout] test config::trust::tests::save_creates_parent_directories ... ok
[INFO] [stdout] test config::trust::tests::save_and_load ... ok
[INFO] [stdout] test config::trust::tests::trust_and_check ... ok
[INFO] [stdout] test config::trust::tests::trust_policy_variants ... ok
[INFO] [stdout] test config::trust::tests::trust_store_default_is_empty ... ok
[INFO] [stdout] test config::validator::tests::accepts_valid_computed_var ... ok
[INFO] [stdout] test config::trust::tests::save_uses_atomic_write ... ok
[INFO] [stdout] test config::validator::tests::accepts_valid_var_names ... ok
[INFO] [stdout] test config::validator::tests::detects_circular_dependency ... ok
[INFO] [stdout] test config::validator::tests::is_valid_var_name_helper ... ok
[INFO] [stdout] test config::validator::tests::no_var_errors_for_empty_vars ... ok
[INFO] [stdout] test config::validator::tests::valid_config_returns_no_errors ... ok
[INFO] [stdout] test config::validator::tests::validate_returns_result ... ok
[INFO] [stdout] test config::validator::tests::validates_builtin_var_collision_bivvy_version ... ok
[INFO] [stdout] test config::validator::tests::validates_builtin_var_collision_project_root ... ok
[INFO] [stdout] test config::validator::tests::validates_builtin_var_collision_project_name ... ok
[INFO] [stdout] test config::validator::tests::validates_computed_var_whitespace_only_command ... ok
[INFO] [stdout] test config::validator::tests::validates_depends_on_exists ... ok
[INFO] [stdout] test config::validator::tests::validates_empty_var_name ... ok
[INFO] [stdout] test config::validator::tests::validates_step_has_command_or_template ... ok
[INFO] [stdout] test config::validator::tests::validates_computed_var_empty_command ... ok
[INFO] [stdout] test config::validator::tests::validates_var_name_starting_with_digit ... ok
[INFO] [stdout] test config::validator::tests::validates_var_name_with_special_chars ... ok
[INFO] [stdout] test config::validator::tests::validates_workflow_override_in_workflow ... ok
[INFO] [stdout] test config::validator::tests::validates_var_name_with_spaces ... ok
[INFO] [stdout] test config::validator::tests::validates_workflow_step_exists ... ok
[INFO] [stdout] test config::vars::tests::evaluate_computed_var ... ok
[INFO] [stdout] test config::vars::tests::evaluate_computed_var_trims_whitespace ... ok
[INFO] [stdout] test config::vars::tests::evaluate_empty_vars ... ok
[INFO] [stdout] test config::vars::tests::evaluate_computed_var_fails_on_nonzero ... ok
[INFO] [stdout] test config::vars::tests::evaluate_static_var ... ok
[INFO] [stdout] test detection::command_detection::tests::command_detector_from_string ... ok
[INFO] [stdout] test detection::command_detection::tests::command_detector_not_found ... ok
[INFO] [stdout] test detection::command_detection::tests::command_succeeds_helper_false ... ok
[INFO] [stdout] test config::vars::tests::evaluate_mixed_vars ... ok
[INFO] [stdout] test detection::command_detection::tests::extract_version_semver ... ok
[INFO] [stdout] test config::remote::tests::fetch_returns_error_on_404 ... ok
[INFO] [stdout] test detection::conflicts::tests::detect_node_lockfile_conflict ... ok
[INFO] [stdout] test detection::conflicts::tests::detect_python_conflict ... ok
[INFO] [stdout] test detection::command_detection::tests::extract_version_no_match ... ok
[INFO] [stdout] test detection::conflicts::tests::detect_version_manager_conflict ... ok
[INFO] [stdout] test detection::command_detection::tests::extract_version_with_v ... ok
[INFO] [stdout] test detection::conflicts::tests::has_conflict_helper ... ok
[INFO] [stdout] test detection::conflicts::tests::no_conflicts_empty_project ... ok
[INFO] [stdout] test detection::conflicts::tests::no_conflict_with_single_lockfile ... ok
[INFO] [stdout] test detection::environment::tests::check_changes_no_changes ... ok
[INFO] [stdout] test detection::environment::tests::default_implementation ... ok
[INFO] [stdout] test detection::environment::tests::environment_detector_creation ... ok
[INFO] [stdout] test detection::environment::tests::get_shell_reload_command_returns_value ... ok
[INFO] [stdout] test detection::environment::tests::needs_shell_restart_for_version_managers ... ok
[INFO] [stdout] test detection::file_detection::tests::any_file_exists_helper ... ok
[INFO] [stdout] test detection::file_detection::tests::file_detector_all_requires_all ... ok
[INFO] [stdout] test detection::file_detection::tests::file_detector_all_with_all ... ok
[INFO] [stdout] test detection::file_detection::tests::file_detector_any_found ... ok
[INFO] [stdout] test detection::file_detection::tests::file_exists_helper ... ok
[INFO] [stdout] test detection::file_detection::tests::file_detector_any_not_found ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_empty_project ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_language_managers_composer ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_language_managers_dart ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_language_managers_deno ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_language_managers_dotnet ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_language_managers_gradle ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_language_managers_maven ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_language_managers_mix ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_language_managers_yarn ... ok
[INFO] [stdout] test detection::file_detection::tests::all_files_exist_helper ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_multiple_language_managers ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_version_manager_asdf ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_version_manager_mise ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_version_manager_pyenv_via_python_version ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_version_manager_rbenv_via_ruby_version ... ok
[INFO] [stdout] test detection::project::tests::detect_alembic_project ... ok
[INFO] [stdout] test detection::package_manager::tests::detect_version_manager_nvm_via_nvmrc ... ok
[INFO] [stdout] test detection::project::tests::detect_ansible_project_with_cfg ... ok
[INFO] [stdout] test detection::project::tests::detect_ansible_project_with_playbook ... ok
[INFO] [stdout] test detection::project::tests::detect_dart_project ... ok
[INFO] [stdout] test detection::project::tests::detect_deno_project ... ok
[INFO] [stdout] test detection::project::tests::detect_aws_cdk_project ... ok
[INFO] [stdout] test detection::project::tests::detect_docker_compose_new_format ... ok
[INFO] [stdout] test detection::project::tests::detect_diesel_project ... ok
[INFO] [stdout] test detection::project::tests::detect_docker_compose_project ... ok
[INFO] [stdout] test detection::project::tests::detect_dotnet_project_csproj ... ok
[INFO] [stdout] test detection::project::tests::detect_dotnet_project_sln ... ok
[INFO] [stdout] test detection::project::tests::detect_env_copy_needed ... ok
[INFO] [stdout] test detection::project::tests::detect_env_copy_not_needed_when_env_exists ... ok
[INFO] [stdout] test detection::project::tests::detect_env_copy_with_sample ... ok
[INFO] [stdout] test detection::project::tests::detect_elixir_project ... ok
[INFO] [stdout] test detection::project::tests::detect_flutter_project ... ok
[INFO] [stdout] test detection::project::tests::detect_django_project ... ok
[INFO] [stdout] test detection::project::tests::detect_gradle_project_with_groovy ... ok
[INFO] [stdout] test detection::project::tests::detect_gradle_project_with_kts ... ok
[INFO] [stdout] test detection::project::tests::detect_helm_project ... ok
[INFO] [stdout] test detection::project::tests::detect_lerna_monorepo ... ok
[INFO] [stdout] test detection::project::tests::detect_maven_project ... ok
[INFO] [stdout] test detection::project::tests::detect_laravel_project ... ok
[INFO] [stdout] test detection::project::tests::detect_multi_language_project ... ok
[INFO] [stdout] test detection::project::tests::detect_nextjs_project ... ok
[INFO] [stdout] test detection::project::tests::detect_nextjs_with_ts_config ... ok
[INFO] [stdout] test detection::project::tests::detect_node_project_with_yarn ... ok
[INFO] [stdout] test detection::project::tests::detect_nx_workspace ... ok
[INFO] [stdout] test detection::project::tests::detect_php_project ... ok
[INFO] [stdout] test detection::project::tests::detect_prisma_project ... ok
[INFO] [stdout] test detection::project::tests::detect_pre_commit ... ok
[INFO] [stdout] test detection::project::tests::detect_pulumi_project ... ok
[INFO] [stdout] test detection::project::tests::detect_python_project_with_poetry ... ok
[INFO] [stdout] test detection::project::tests::detect_remix_project ... ok
[INFO] [stdout] test detection::project::tests::detect_remix_project_via_root_tsx ... ok
[INFO] [stdout] test detection::project::tests::detect_rails_project ... ok
[INFO] [stdout] test detection::project::tests::detect_terraform_project ... ok
[INFO] [stdout] test detection::project::tests::detect_spring_boot_project ... ok
[INFO] [stdout] test detection::project::tests::detect_turborepo_workspace ... ok
[INFO] [stdout] test detection::project::tests::detect_terraform_project_with_versions_tf ... ok
[INFO] [stdout] test detection::project::tests::detect_unknown_project ... ok
[INFO] [stdout] test detection::project::tests::detect_vite_project ... ok
[INFO] [stdout] test detection::project::tests::detect_ruby_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_aws_cdk_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_django_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_deno_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_docker_compose_project ... ok
[INFO] [stdout] test detection::project::tests::has_type_helper ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_empty_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_dotnet_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_env_copy ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_elixir_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_laravel_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_helm_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_multi_language ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_nextjs_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_nx_workspace ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_php_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_pre_commit ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_prisma_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_pulumi_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_rails_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_kotlin_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_ruby_project ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_maven_project ... ok
[INFO] [stdout] test config::remote::tests::fetch_returns_yaml_content ... ok
[INFO] [stdout] test config::remote::tests::fetch_with_auth_accepts_https_url ... ok
[INFO] [stdout] test detection::types::tests::detection_kind_multiple ... ok
[INFO] [stdout] test detection::types::tests::detection_result_builder ... ok
[INFO] [stdout] test detection::types::tests::detection_result_found ... ok
[INFO] [stdout] test detection::types::tests::detection_result_not_found ... ok
[INFO] [stdout] test environment::detection::tests::ci_takes_priority_over_codespace ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_with_conflict ... ok
[INFO] [stdout] test environment::detection::tests::ci_takes_priority_over_docker ... ok
[INFO] [stdout] test environment::detection::tests::codespace_detected_without_ci ... ok
[INFO] [stdout] test environment::detection::tests::custom_rule_multiple_rules_for_same_env ... ok
[INFO] [stdout] test environment::detection::tests::custom_rule_presence_only ... ok
[INFO] [stdout] test environment::detection::tests::custom_rules_alphabetical_ordering ... ok
[INFO] [stdout] test environment::detection::tests::custom_rules_multiple_match_warns ... ok
[INFO] [stdout] test environment::detection::tests::custom_rules_take_priority_over_builtins ... ok
[INFO] [stdout] test environment::detection::tests::default_creates_detector ... ok
[INFO] [stdout] test environment::detection::tests::detect_ci_from_buildkite ... ok
[INFO] [stdout] test environment::detection::tests::detect_ci_from_ci_var ... ok
[INFO] [stdout] test environment::detection::tests::detect_ci_from_circleci ... ok
[INFO] [stdout] test environment::detection::tests::detect_ci_from_github_actions ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_terraform_project ... ok
[INFO] [stdout] test environment::detection::tests::detect_ci_from_gitlab_ci ... ok
[INFO] [stdout] test environment::detection::tests::detect_ci_from_tf_build ... ok
[INFO] [stdout] test environment::detection::tests::detect_ci_from_travis ... ok
[INFO] [stdout] test detection::runner::tests::suggestions_sorted_by_priority ... ok
[INFO] [stdout] test detection::runner::tests::full_detection_spring_boot_project ... ok
[INFO] [stdout] test environment::detection::tests::detect_codespace ... ok
[INFO] [stdout] test environment::detection::tests::detect_codespace_from_gitpod ... ok
[INFO] [stdout] test environment::detection::tests::detect_docker ... ok
[INFO] [stdout] test environment::detection::tests::detect_ci_tf_build_wrong_value ... FAILED
[INFO] [stdout] test environment::detection::tests::custom_rule_value_must_match ... FAILED
[INFO] [stdout] test environment::detection::tests::detect_ci_from_jenkins ... ok
[INFO] [stdout] test environment::resolver::tests::config_default_with_no_detection ... ok
[INFO] [stdout] test environment::resolver::tests::config_default_second_priority ... ok
[INFO] [stdout] test environment::resolver::tests::fallback_to_development ... ok
[INFO] [stdout] test environment::resolver::tests::flag_takes_highest_priority ... ok
[INFO] [stdout] test environment::resolver::tests::auto_detection_third_priority ... ok
[INFO] [stdout] test environment::resolver::tests::flag_with_no_other_sources ... ok
[INFO] [stdout] test environment::detection::tests::detect_nothing_in_clean_env ... FAILED
[INFO] [stdout] test environment::resolver::tests::is_known_custom ... ok
[INFO] [stdout] test environment::resolver::tests::is_known_unknown ... ok
[INFO] [stdout] test environment::resolver::tests::is_known_from_step_only_environments ... ok
[INFO] [stdout] test environment::resolver::tests::is_known_from_step_environments_key ... ok
[INFO] [stdout] test environment::resolver::tests::is_known_builtin ... ok
[INFO] [stdout] test environment::resolver::tests::known_environments_includes_builtins ... ok
[INFO] [stdout] test environment::resolver::tests::known_environments_includes_step_references ... ok
[INFO] [stdout] test environment::resolver::tests::known_environments_sorted ... ok
[INFO] [stdout] test environment::resolver::tests::resolve_custom_rule_detected ... ok
[INFO] [stdout] test environment::resolver::tests::resolve_custom_rule_via_detector ... ok
[INFO] [stdout] test environment::resolver::tests::resolve_from_config_uses_flag ... ok
[INFO] [stdout] test environment::resolver::tests::resolve_custom_rule_not_present_falls_back ... FAILED
[INFO] [stdout] test environment::resolver::tests::resolve_with_real_detector ... ok
[INFO] [stdout] test environment::resolver::tests::source_display_auto_detected ... ok
[INFO] [stdout] test environment::resolver::tests::source_display_config_default ... ok
[INFO] [stdout] test environment::resolver::tests::source_display_flag ... ok
[INFO] [stdout] test error::tests::command_failed_displays_command_and_code ... ok
[INFO] [stdout] test error::tests::config_not_found_displays_path ... ok
[INFO] [stdout] test error::tests::config_parse_error_displays_path_and_message ... ok
[INFO] [stdout] test error::tests::config_validation_error_displays_message ... ok
[INFO] [stdout] test error::tests::io_error_converts_from_std ... ok
[INFO] [stdout] test error::tests::requirement_check_failed_displays_requirement_and_message ... ok
[INFO] [stdout] test error::tests::requirement_missing_displays_requirement_and_message ... ok
[INFO] [stdout] test error::tests::result_type_alias_works ... ok
[INFO] [stdout] test error::tests::step_execution_error_displays_step_and_message ... ok
[INFO] [stdout] test error::tests::unknown_template_displays_name ... ok
[INFO] [stdout] test error::tests::untrusted_url_displays_url_and_hint ... ok
[INFO] [stdout] test feedback::delivery::tests::build_email_body_plain_text ... ok
[INFO] [stdout] test feedback::delivery::tests::build_email_subject_includes_category ... ok
[INFO] [stdout] test feedback::delivery::tests::build_github_body_includes_all_sections ... ok
[INFO] [stdout] test feedback::delivery::tests::build_github_body_includes_scrubbed_errors ... ok
[INFO] [stdout] test feedback::delivery::tests::build_github_body_includes_step_results_table ... ok
[INFO] [stdout] test feedback::delivery::tests::build_github_body_omits_empty_sections ... ok
[INFO] [stdout] test feedback::delivery::tests::build_github_body_omits_errors_when_none ... ok
[INFO] [stdout] test error::tests::circular_dependency_displays_cycle ... ok
[INFO] [stdout] test environment::resolver::tests::known_environments_deduplicates ... ok
[INFO] [stdout] test environment::resolver::tests::known_environments_includes_custom ... ok
[INFO] [stdout] test environment::resolver::tests::source_display_fallback ... ok
[INFO] [stdout] test feedback::delivery::tests::build_title_includes_category_and_message ... ok
[INFO] [stdout] test feedback::delivery::tests::build_title_truncates_long_messages ... ok
[INFO] [stdout] test feedback::delivery::tests::determine_method_other_routes_to_email ... ok
[INFO] [stdout] test feedback::delivery::tests::determine_method_unknown_defaults_to_email ... ok
[INFO] [stdout] test feedback::delivery::tests::determine_method_ux_routes_to_email ... ok
[INFO] [stdout] test feedback::delivery::tests::email_with_multiline_message ... ok
[INFO] [stdout] test feedback::delivery::tests::github_url_includes_labels ... ok
[INFO] [stdout] test feedback::delivery::tests::github_url_percent_encodes_body ... ok
[INFO] [stdout] test feedback::delivery::tests::github_url_percent_encodes_title ... ok
[INFO] [stdout] test feedback::delivery::tests::determine_method_bug_routes_to_github ... ok
[INFO] [stdout] test feedback::delivery::tests::determine_method_feature_routes_to_github ... ok
[INFO] [stdout] test feedback::delivery::tests::github_url_with_no_session_still_works ... ok
[INFO] [stdout] test feedback::delivery::tests::github_url_with_unicode_message ... ok
[INFO] [stdout] test feedback::delivery::tests::mailto_url_encodes_subject_and_body ... ok
[INFO] [stdout] test feedback::delivery::tests::mailto_url_handles_empty_body ... ok
[INFO] [stdout] test feedback::delivery::tests::scrub_handles_empty_input ... ok
[INFO] [stdout] test feedback::delivery::tests::github_url_truncates_long_body ... ok
[INFO] [stdout] test feedback::delivery::tests::github_url_truncation_preserves_message_and_context ... ok
[INFO] [stdout] test feedback::entry::tests::feedback_entry_creation ... ok
[INFO] [stdout] test feedback::entry::tests::feedback_entry_id_format ... ok
[INFO] [stdout] test feedback::entry::tests::feedback_entry_in_progress ... ok
[INFO] [stdout] test feedback::entry::tests::feedback_entry_serialization ... ok
[INFO] [stdout] test feedback::entry::tests::feedback_entry_status ... ok
[INFO] [stdout] test feedback::entry::tests::feedback_entry_with_session ... ok
[INFO] [stdout] test feedback::entry::tests::feedback_entry_with_tags ... ok
[INFO] [stdout] test feedback::entry::tests::feedback_entry_wont_fix ... ok
[INFO] [stdout] test feedback::entry::tests::feedback_status_default ... ok
[INFO] [stdout] test feedback::store::tests::feedback_store_empty ... ok
[INFO] [stdout] test feedback::store::tests::feedback_store_filter_by_status ... ok
[INFO] [stdout] test feedback::store::tests::feedback_store_filter_by_tag ... ok
[INFO] [stdout] test feedback::store::tests::feedback_store_get_by_id ... ok
[INFO] [stdout] test feedback::store::tests::feedback_store_get_by_session ... ok
[INFO] [stdout] test feedback::store::tests::feedback_store_multiple_entries ... ok
[INFO] [stdout] test feedback::store::tests::feedback_store_save_and_load ... ok
[INFO] [stdout] test feedback::store::tests::feedback_store_update ... ok
[INFO] [stdout] test feedback::store::tests::feedback_store_update_nonexistent ... ok
[INFO] [stdout] test feedback::tests::default_store_path_valid ... ok
[INFO] [stdout] test lint::diagnostic::tests::diagnostic_builder_pattern ... ok
[INFO] [stdout] test lint::diagnostic::tests::diagnostic_creation ... ok
[INFO] [stdout] test lint::diagnostic::tests::diagnostic_with_related_info ... ok
[INFO] [stdout] test lint::diagnostic::tests::diagnostic_with_suggestion ... ok
[INFO] [stdout] test lint::fix::tests::applies_multiple_fixes_to_same_file ... ok
[INFO] [stdout] test lint::fix::tests::applies_simple_fix ... ok
[INFO] [stdout] test lint::fix::tests::handles_file_not_found ... ok
[INFO] [stdout] test lint::fix::tests::preview_fixes_returns_descriptions ... ok
[INFO] [stdout] test lint::fix::tests::reports_unfixable_diagnostics ... ok
[INFO] [stdout] test lint::output::human::tests::formats_error_diagnostic ... ok
[INFO] [stdout] test feedback::delivery::tests::build_preview_contains_title_and_body ... ok
[INFO] [stdout] test lint::output::human::tests::formats_related_info ... ok
[INFO] [stdout] test feedback::delivery::tests::scrub_preserves_non_sensitive_content ... ok
[INFO] [stdout] test lint::output::human::tests::formats_summary_line ... ok
[INFO] [stdout] test feedback::delivery::tests::build_preview_email_shows_email_target ... ok
[INFO] [stdout] test lint::output::human::tests::no_summary_when_no_issues ... ok
[INFO] [stdout] test lint::output::json::tests::default_impl_works ... ok
[INFO] [stdout] test lint::output::json::tests::includes_location_when_present ... ok
[INFO] [stdout] test lint::output::human::tests::formats_suggestion ... ok
[INFO] [stdout] test lint::output::human::tests::formats_hint_diagnostic ... ok
[INFO] [stdout] test lint::output::human::tests::formats_warning_diagnostic ... ok
[INFO] [stdout] test lint::output::json::tests::omits_location_when_absent ... ok
[INFO] [stdout] test lint::output::json::tests::produces_valid_json ... ok
[INFO] [stdout] test lint::output::json::tests::summary_counts_by_severity ... ok
[INFO] [stdout] test lint::output::sarif::tests::maps_severity_to_sarif_level ... ok
[INFO] [stdout] test feedback::delivery::tests::scrub_replaces_home_dir ... ok
[INFO] [stdout] test lint::output::sarif::tests::includes_location_information ... ok
[INFO] [stdout] test lint::output::sarif::tests::includes_rule_definitions ... ok
[INFO] [stdout] test lint::output::sarif::tests::omits_column_one ... ok
[INFO] [stdout] test lint::output::sarif::tests::produces_valid_sarif ... ok
[INFO] [stdout] test lint::registry::tests::registry_default_is_empty ... ok
[INFO] [stdout] test lint::registry::tests::registry_iteration ... ok
[INFO] [stdout] test lint::registry::tests::registry_new_is_empty ... ok
[INFO] [stdout] test lint::registry::tests::registry_register_and_get ... ok
[INFO] [stdout] test lint::registry::tests::registry_with_builtins_has_rules ... ok
[INFO] [stdout] test lint::rule::tests::severity_display ... ok
[INFO] [stdout] test lint::rule::tests::severity_ordering ... ok
[INFO] [stdout] test lint::rule::tests::rule_id_display ... ok
[INFO] [stdout] test lint::rules::app_name::tests::passes_none_app_name ... ok
[INFO] [stdout] test lint::rules::app_name::tests::errors_on_empty_name ... ok
[INFO] [stdout] test lint::rule::tests::rule_id_equality ... ok
[INFO] [stdout] test lint::rules::app_name::tests::passes_valid_name ... ok
[INFO] [stdout] test lint::rules::check_fields::tests::check_and_checks_conflicts ... ok
[INFO] [stdout] test lint::rules::check_fields::tests::no_check_fields_produces_no_diagnostic ... ok
[INFO] [stdout] test lint::rules::check_fields::tests::single_new_check_is_fine ... ok
[INFO] [stdout] test lint::rules::app_name::tests::supports_fix_returns_true ... ok
[INFO] [stdout] test lint::rules::circular_dependency::tests::detects_simple_cycle ... ok
[INFO] [stdout] test lint::rules::circular_dependency::tests::detects_three_step_cycle ... ok
[INFO] [stdout] test lint::rules::circular_dependency::tests::no_cycle_in_diamond_deps ... ok
[INFO] [stdout] test lint::rules::circular_dependency::tests::no_cycle_in_valid_deps ... ok
[INFO] [stdout] test lint::rules::deprecated_fields::tests::collect_warnings_empty_for_clean_config ... ok
[INFO] [stdout] test lint::rules::deprecated_fields::tests::raw_yaml_detects_completed_check ... ok
[INFO] [stdout] test lint::rules::deprecated_fields::tests::raw_yaml_detects_log_path ... ok
[INFO] [stdout] test lint::rules::deprecated_fields::tests::raw_yaml_detects_marker_type ... ok
[INFO] [stdout] test lint::rules::app_name::tests::warns_on_spaces_in_name ... ok
[INFO] [stdout] test lint::rules::deprecated_fields::tests::raw_yaml_handles_missing_file ... ok
[INFO] [stdout] test lint::rules::deprecated_fields::tests::raw_yaml_detects_prompt_if_complete ... ok
[INFO] [stdout] test lint::rules::deprecated_fields::tests::raw_yaml_detects_watches ... ok
[INFO] [stdout] test lint::rules::required_fields::tests::detects_missing_app_name ... ok
[INFO] [stdout] test lint::rules::required_fields::tests::no_workflow_warning_when_workflows_exist ... ok
[INFO] [stdout] test lint::rules::deprecated_fields::tests::raw_yaml_scans_multiple_files ... ok
[INFO] [stdout] test lint::rules::deprecated_fields::tests::raw_yaml_no_warnings_for_clean_config ... ok
[INFO] [stdout] test lint::rules::required_fields::tests::passes_with_app_name ... ok
[INFO] [stdout] test lint::rules::required_fields::tests::warns_when_no_workflows ... ok
[INFO] [stdout] test lint::rules::self_dependency::tests::detects_self_dependency ... ok
[INFO] [stdout] test lint::rules::self_dependency::tests::passes_without_self_dependency ... ok
[INFO] [stdout] test lint::rules::self_dependency::tests::detects_self_dependency_with_other_deps ... ok
[INFO] [stdout] test config::remote::tests::fetch_with_auth_rejects_http_url ... ok
[INFO] [stdout] test lint::rules::deprecated_fields::tests::no_deprecated_fields_produces_no_warnings ... ok
[INFO] [stdout] test lint::rules::undefined_dependency::tests::detects_multiple_undefined_dependencies ... ok
[INFO] [stdout] test lint::rules::undefined_dependency::tests::detects_undefined_dependency ... ok
[INFO] [stdout] test lint::rules::undefined_dependency::tests::no_false_positives_with_no_dependencies ... ok
[INFO] [stdout] test lint::rules::undefined_dependency::tests::passes_with_valid_dependencies ... ok
[INFO] [stdout] test config::remote::tests::fetch_uses_cache_on_second_call ... ok
[INFO] [stdout] test config::remote::tests::fetch_with_auth_rejects_http_with_custom_header ... ok
[INFO] [stdout] test lint::rules::undefined_template::tests::passes_with_builtin_template ... ok
[INFO] [stdout] test lint::rules::undefined_workflow_force::tests::detects_undefined_step_in_workflow_force ... ok
[INFO] [stdout] test lint::rules::template_inputs::tests::detects_wrong_input_type ... ok
[INFO] [stdout] test lint::rules::template_inputs::tests::passes_with_required_input_provided ... ok
[INFO] [stdout] test lint::rules::undefined_workflow_force::tests::empty_force_list_passes ... ok
[INFO] [stdout] test lint::rules::template_inputs::tests::passes_when_required_input_satisfied_by_prompt ... ok
[INFO] [stdout] test lint::rules::undefined_workflow_force::tests::passes_when_all_force_entries_exist ... ok
[INFO] [stdout] test lint::rules::undefined_workflow_force::tests::reports_each_undefined_entry_separately ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::env_default_workflow_missing_detects_missing ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::env_default_workflow_missing_passes_when_none ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::lint_env_circular_dependency_base_ok ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::lint_ambiguous_env_null ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::env_default_workflow_missing_passes_when_exists ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::lint_env_circular_dependency_per_environment ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::lint_env_null_passes_when_key_exists_in_base ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::lint_redundant_environment_override ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::lint_redundant_override_passes_when_different ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::shadows_builtin_passes_for_custom ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::shadows_builtin_detects_ci ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::shadows_builtin_no_environments_no_diagnostics ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::unknown_env_in_only_passes_for_builtin ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::unknown_env_in_step_no_environments_no_diagnostics ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::unknown_env_in_step_passes_for_builtin ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::unknown_env_in_step_passes_for_defined ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::unreachable_override_detects_excluded ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::unreachable_override_empty_only_means_all ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::unreachable_override_passes_when_included ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::unknown_env_in_only_detects_unknown ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::unknown_env_in_step_detects_unknown ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::circular_dep_no_cycles_in_builtins ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::install_template_missing_no_duplicate_for_same_requirement ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::circular_dep_unknown_requirement_no_crash ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::circular_dep_no_requires_no_diagnostics ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::install_template_missing_no_requires_no_diagnostics ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::install_template_missing_passes_for_builtins ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::install_template_missing_warns_for_custom_without_template ... ok
[INFO] [stdout] test lint::rules::valid_environments::tests::unknown_env_in_only_empty_list_no_diagnostics ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::service_without_hint_passes_for_builtins ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::service_without_hint_no_requires_no_diagnostics ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::service_without_hint_warns_for_custom_service ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::unknown_requirement_detects_unknown ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::unknown_requirement_no_requires_no_diagnostics ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::unknown_requirement_multiple_unknowns ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::unknown_requirement_passes_with_custom ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::unknown_requirement_passes_with_builtin ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::service_without_hint_passes_for_non_service ... ok
[INFO] [stdout] test lint::schema::tests::check_enum_referenced ... ok
[INFO] [stdout] test lint::schema::tests::deserialize_rejects_unknown_root_field ... ok
[INFO] [stdout] test lint::schema::tests::default_impl_works ... ok
[INFO] [stdout] test lint::schema::tests::defaults_settings_rejects_unknown_fields ... ok
[INFO] [stdout] test lint::schema::tests::includes_all_top_level_properties ... ok
[INFO] [stdout] test lint::schema::tests::includes_canonical_id ... ok
[INFO] [stdout] test lint::rules::valid_requires::tests::service_without_hint_passes_when_hint_provided ... ok
[INFO] [stdout] test lint::schema::tests::generates_valid_json_schema ... ok
[INFO] [stdout] test lint::schema::tests::schema_json_is_valid ... ok
[INFO] [stdout] test lint::schema::tests::schema_is_valid_json ... ok
[INFO] [stdout] test lint::schema::tests::schema_json_matches_generated ... ok
[INFO] [stdout] test lint::schema::tests::step_config_rejects_unknown_fields ... ok
[INFO] [stdout] test lint::schema::tests::root_rejects_unknown_fields ... ok
[INFO] [stdout] test lint::schema::tests::steps_uses_additional_properties ... ok
[INFO] [stdout] test lint::rules::template_inputs::tests::detects_missing_required_input ... ok
[INFO] [stdout] test lint::schema::tests::workflow_config_rejects_unknown_fields ... ok
[INFO] [stdout] test lint::span::tests::span_file_path ... ok
[INFO] [stdout] test lint::schema::tests::settings_rejects_unknown_fields ... ok
[INFO] [stdout] test lint::span::tests::span_line_constructor ... ok
[INFO] [stdout] test logging::bus::tests::default_creates_empty_bus ... ok
[INFO] [stdout] test logging::bus::tests::empty_bus_emits_without_error ... ok
[INFO] [stdout] test logging::bus::tests::multiple_consumers_all_receive_events ... ok
[INFO] [stdout] test logging::bus::tests::single_consumer_receives_events ... ok
[INFO] [stdout] test lint::span::tests::span_new_constructor ... ok
[INFO] [stdout] test logging::events::tests::baseline_established_serializes ... ok
[INFO] [stdout] test logging::events::tests::baseline_updated_serializes ... ok
[INFO] [stdout] test logging::events::tests::check_evaluated_serializes_with_optional_fields ... ok
[INFO] [stdout] test logging::events::tests::check_evaluated_omits_none_fields ... ok
[INFO] [stdout] test lint::rules::undefined_template::tests::detects_undefined_template ... ok
[INFO] [stdout] test lint::rules::template_inputs::tests::warns_on_unknown_input ... ok
[INFO] [stdout] test logging::events::tests::config_loaded_serializes ... ok
[INFO] [stdout] test logging::events::tests::config_loaded_omits_empty_warnings ... ok
[INFO] [stdout] test lint::schema::tests::var_definition_generates_any_of ... ok
[INFO] [stdout] test lint::schema::tests::settings_includes_flattened_fields ... ok
[INFO] [stdout] test logging::events::tests::event_consumer_trait_works ... ok
[INFO] [stdout] test logging::events::tests::dependency_blocked_serializes ... ok
[INFO] [stdout] test logging::events::tests::precondition_evaluated_serializes ... ok
[INFO] [stdout] test logging::events::tests::recovery_action_taken_omits_none_command ... ok
[INFO] [stdout] test logging::events::tests::recovery_started_serializes ... ok
[INFO] [stdout] test logging::events::tests::requirement_gap_serializes ... ok
[INFO] [stdout] test logging::events::tests::satisfaction_evaluated_serializes ... ok
[INFO] [stdout] test logging::events::tests::rerun_detected_serializes ... ok
[INFO] [stdout] test logging::events::tests::input_method_arrow_select_serializes ... ok
[INFO] [stdout] test logging::events::tests::input_method_keypress_serializes ... ok
[INFO] [stdout] test logging::events::tests::input_method_typed_input_serializes ... ok
[INFO] [stdout] test logging::events::tests::snapshot_captured_serializes ... ok
[INFO] [stdout] test logging::events::tests::session_started_with_os_and_working_directory ... ok
[INFO] [stdout] test logging::events::tests::session_ended_serializes_to_json ... ok
[INFO] [stdout] test logging::events::tests::session_started_serializes_to_json ... ok
[INFO] [stdout] test logging::events::tests::step_decided_serializes_with_reason ... ok
[INFO] [stdout] test logging::events::tests::step_filtered_out_serializes ... ok
[INFO] [stdout] test logging::events::tests::step_decided_serializes_with_trace ... ok
[INFO] [stdout] test logging::events::tests::step_outcome_completed_round_trip ... ok
[INFO] [stdout] test logging::events::tests::step_outcome_failed_round_trip ... ok
[INFO] [stdout] test logging::events::tests::step_outcome_declined_round_trip ... ok
[INFO] [stdout] test logging::events::tests::step_outcome_filtered_out_round_trip ... ok
[INFO] [stdout] test logging::events::tests::step_completed_serializes_failure ... ok
[INFO] [stdout] test logging::events::tests::step_completed_serializes_success ... ok
[INFO] [stdout] test logging::events::tests::step_decided_omits_none_reason ... ok
[INFO] [stdout] test logging::events::tests::step_outcome_blocked_round_trip ... ok
[INFO] [stdout] test logging::events::tests::recovery_action_taken_serializes_with_command ... ok
[INFO] [stdout] test logging::events::tests::step_outcome_kind_as_str_matches_serde_tag ... ok
[INFO] [stdout] test logging::events::tests::step_outcome_kind_as_str_round_trips ... ok
[INFO] [stdout] test logging::events::tests::step_outcome_omits_none_optional_fields ... ok
[INFO] [stdout] test logging::events::tests::step_outcome_kind_from_str_rejects_unknown ... ok
[INFO] [stdout] test logging::events::tests::step_outcome_type_name_matches_serde_tag ... ok
[INFO] [stdout] test logging::events::tests::step_outcome_satisfied_round_trip ... ok
[INFO] [stdout] test logging::events::tests::step_output_serializes ... ok
[INFO] [stdout] test logging::events::tests::user_prompted_omits_empty_options ... ok
[INFO] [stdout] test logging::events::tests::step_skipped_serializes ... ok
[INFO] [stdout] test logging::events::tests::user_responded_keypress_serializes ... ok
[INFO] [stdout] test logging::events::tests::user_responded_typed_input_serializes ... ok
[INFO] [stdout] test logging::events::tests::step_starting_serializes ... ok
[INFO] [stdout] test logging::events::tests::user_prompted_serializes_with_options ... ok
[INFO] [stdout] test logging::events::tests::user_responded_arrow_select_serializes ... ok
[INFO] [stdout] test logging::events::tests::step_planned_serializes ... ok
[INFO] [stdout] test logging::events::tests::type_name_matches_serde_tag ... ok
[INFO] [stdout] test logging::events::tests::workflow_completed_serializes ... ok
[INFO] [stdout] test logging::events::tests::workflow_started_serializes ... ok
[INFO] [stdout] test logging::tests::default_log_dir_ends_with_bivvy_logs ... ok
[INFO] [stdout] test logging::tests::cleanup_deletes_old_files ... ok
[INFO] [stdout] test logging::tests::cleanup_handles_empty_directory ... ok
[INFO] [stdout] test logging::tests::cleanup_handles_nonexistent_directory ... ok
[INFO] [stdout] test logging::tests::event_logger_creates_directory_if_missing ... ok
[INFO] [stdout] test logging::tests::complex_event_round_trips_through_jsonl ... ok
[INFO] [stdout] test logging::tests::cleanup_ignores_non_jsonl_files ... ok
[INFO] [stdout] test logging::tests::event_logger_writes_jsonl ... ok
[INFO] [stdout] test logging::tests::list_project_logs_skips_files_without_session_started ... ok
[INFO] [stdout] test logging::tests::event_logger_flushes_on_drop ... ok
[INFO] [stdout] test logging::tests::event_logger_creates_log_file ... ok
[INFO] [stdout] test logging::tests::log_belongs_to_project_matches_canonical_path ... ok
[INFO] [stdout] test logging::tests::log_belongs_to_project_falls_back_to_literal_match_for_missing_dir ... ok
[INFO] [stdout] test logging::tests::list_project_logs_returns_empty_for_missing_dir ... ok
[INFO] [stdout] test logging::tests::log_entry_format_has_ts_session_and_event ... ok
[INFO] [stdout] test logging::tests::list_project_logs_includes_only_matching_project ... ok
[INFO] [stdout] test logging::tests::log_belongs_to_project_rejects_other_project ... ok
[INFO] [stdout] test logging::tests::log_working_directory_returns_none_when_field_missing ... ok
[INFO] [stdout] test logging::tests::multiple_events_produce_separate_lines ... ok
[INFO] [stdout] test logging::tests::sensitive_step_completed_error_redacted ... ok
[INFO] [stdout] test logging::tests::retention_policy_defaults ... ok
[INFO] [stdout] test logging::tests::log_working_directory_extracts_from_session_started ... ok
[INFO] [stdout] test logging::tests::non_sensitive_step_not_redacted ... ok
[INFO] [stdout] test logging::tests::log_working_directory_returns_none_without_session_started ... ok
[INFO] [stdout] test logging::tests::sensitive_step_output_redacted ... ok
[INFO] [stdout] test logging::tests::session_id_without_sess_prefix_still_works ... ok
[INFO] [stdout] test registry::builtin::tests::all_detectors_have_checks ... ok
[INFO] [stdout] test logging::tests::cleanup_respects_size_limit ... ok
[INFO] [stdout] test lint::rules::undefined_template::tests::passes_with_no_template ... ok
[INFO] [stdout] test registry::builtin::tests::all_expected_templates_load ... ok
[INFO] [stdout] test registry::builtin::tests::builtin_loader_source ... ok
[INFO] [stdout] test registry::builtin::tests::builtin_loader_get ... ok
[INFO] [stdout] test registry::builtin::tests::all_template_name_variants_resolve_in_registry ... ok
[INFO] [stdout] test registry::builtin::tests::all_templates_have_required_fields ... ok
[INFO] [stdout] test registry::builtin::tests::brew_template_has_correct_fields ... ok
[INFO] [stdout] test registry::builtin::tests::builtin_loader_detection_order ... ok
[INFO] [stdout] test registry::builtin::tests::builtin_loader_manifest ... ok
[INFO] [stdout] test registry::builtin::tests::expected_detectors_exist ... ok
[INFO] [stdout] test registry::builtin::tests::load_manifest_works ... ok
[INFO] [stdout] test registry::builtin::tests::load_detectors_succeeds ... ok
[INFO] [stdout] test registry::builtin::tests::builtin_loader_new ... ok
[INFO] [stdout] test registry::builtin::tests::builtin_loader_templates_for_current_platform ... ok
[INFO] [stdout] test registry::builtin::tests::cargo_template_detects_cargo_toml ... ok
[INFO] [stdout] test registry::builtin::tests::bundler_template_has_correct_fields ... ok
[INFO] [stdout] test registry::builtin::tests::has_template_returns_false_for_unknown ... ok
[INFO] [stdout] test registry::detector::tests::all_commands_merges_singular ... ok
[INFO] [stdout] test registry::detector::tests::all_commands_preserves_named ... ok
[INFO] [stdout] test registry::detector::tests::all_files_merges_singular ... ok
[INFO] [stdout] test registry::detector::tests::cache_prevents_redundant_evaluation ... ok
[INFO] [stdout] test registry::detector::tests::clear_cache_empties_cache ... ok
[INFO] [stdout] test registry::detector::tests::deserialize_detector_file ... ok
[INFO] [stdout] test registry::detector::tests::deserialize_detector_with_maps ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_all_returns_false_when_any_fails ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_all_returns_true_when_all_pass ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_bare_name_fails_when_nothing_matches ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_bare_name_passes_when_files_match ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_bare_name_passes_with_commands_only ... ok
[INFO] [stdout] test registry::builtin::tests::load_templates_includes_brew ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_commands_group_any_must_pass ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_command_singular ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_file_only_detector ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_file_singular_found ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_files_group_any_match ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_file_singular_missing ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_files_group_none_match ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_specific_file ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_specific_file_missing ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_unknown_detector_errors ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_specific_command ... ok
[INFO] [stdout] test registry::detector::tests::has_checks_false_when_empty ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_unknown_specific_command_errors ... ok
[INFO] [stdout] test registry::detector::tests::has_checks_true_with_command ... ok
[INFO] [stdout] test registry::detector::tests::parse_bare_name ... ok
[INFO] [stdout] test registry::detector::tests::parse_command_singular ... ok
[INFO] [stdout] test registry::detector::tests::parse_commands_group ... ok
[INFO] [stdout] test registry::detector::tests::parse_file_singular ... ok
[INFO] [stdout] test registry::detector::tests::parse_files_group ... ok
[INFO] [stdout] test registry::detector::tests::parse_invalid_group_errors ... ok
[INFO] [stdout] test registry::detector::tests::parse_specific_command ... ok
[INFO] [stdout] test registry::detector::tests::parse_specific_file ... ok
[INFO] [stdout] test registry::detector::tests::parse_specific_on_singular_errors_at_parse ... ok
[INFO] [stdout] test registry::fetch::git::tests::creates_fetcher_with_clone_dir ... ok
[INFO] [stdout] test registry::fetch::git::tests::different_repos_have_different_paths ... ok
[INFO] [stdout] test registry::fetch::git::tests::fetch_rejects_invalid_url_scheme ... ok
[INFO] [stdout] test registry::builtin::tests::load_templates_includes_yarn ... ok
[INFO] [stdout] test registry::fetch::git::tests::git_fetch_result_fields ... ok
[INFO] [stdout] test registry::builtin::tests::npm_template_loads_with_command ... ok
[INFO] [stdout] test registry::fetch::git::tests::has_updates_rejects_invalid_url_scheme ... ok
[INFO] [stdout] test registry::detector::tests::evaluate_command_only_detector ... ok
[INFO] [stdout] test registry::fetch::git::tests::invalid_repo_url_returns_error ... ok
[INFO] [stdout] test registry::builtin::tests::manifest_detection_order_references_valid_templates ... ok
[INFO] [stdout] test registry::builtin::tests::has_template_returns_true_for_builtin ... ok
[INFO] [stdout] test registry::fetch::git::tests::repo_path_is_deterministic ... ok
[INFO] [stdout] test registry::fetch::git::tests::repo_path_is_within_clone_dir ... ok
[INFO] [stdout] test registry::fetch::git::tests::repo_path_uses_hex_hash ... ok
[INFO] [stdout] test registry::fetch::git::tests::resolve_ref_rejects_invalid_url_scheme ... ok
[INFO] [stdout] test registry::fetch::git::tests::validate_accepts_git_protocol_url ... ok
[INFO] [stdout] test registry::fetch::git::tests::validate_accepts_https_url ... ok
[INFO] [stdout] test registry::fetch::git::tests::validate_accepts_scp_style_url ... ok
[INFO] [stdout] test registry::fetch::git::tests::validate_accepts_ssh_url ... ok
[INFO] [stdout] test registry::fetch::git::tests::validate_rejects_bare_path ... ok
[INFO] [stdout] test registry::fetch::git::tests::validate_rejects_file_url ... ok
[INFO] [stdout] test registry::fetch::git::tests::validate_rejects_ftp_url ... ok
[INFO] [stdout] test registry::fetch::git::tests::validate_rejects_http_url ... ok
[INFO] [stdout] test registry::fetch::git::tests::validate_rejects_relative_path ... ok
[INFO] [stdout] test registry::builtin::tests::manifest_lists_all_templates ... ok
[INFO] [stdout] test registry::fetch::git::tests::clone_from_local_bare_repo ... ok
[INFO] [stdout] test registry::fetch::http::tests::default_creates_fetcher ... ok
[INFO] [stdout] test registry::fetch::http::tests::custom_timeout ... ok
[INFO] [stdout] test registry::fetch::http::tests::default_timeout_is_30_seconds ... ok
[INFO] [stdout] test registry::fetch::git::tests::fetch_specific_subdirectory ... ok
[INFO] [stdout] test registry::fetch::http::tests::fetch_captures_etag ... ok
[INFO] [stdout] test registry::fetch::http::tests::empty_response_body_returned ... ok
[INFO] [stdout] test registry::fetch::http::tests::fetch_captures_last_modified ... ok
[INFO] [stdout] test registry::fetch::http::tests::fetch_if_changed_sends_if_none_match ... ok
[INFO] [stdout] test registry::fetch::git::tests::has_updates_false_when_no_new_commits ... ok
[INFO] [stdout] test registry::fetch::http::tests::fetch_response_fields ... ok
[INFO] [stdout] test registry::fetch::http::tests::fetch_response_optional_fields ... ok
[INFO] [stdout] test registry::fetch::http::tests::fetch_if_changed_returns_none_on_304 ... ok
[INFO] [stdout] test registry::fetch::http::tests::fetch_returns_error_on_500 ... ok
[INFO] [stdout] test registry::fetch::http::tests::fetch_if_changed_without_etag_does_normal_fetch ... ok
[INFO] [stdout] test registry::fetch::http::tests::fetch_if_changed_returns_content_on_200 ... ok
[INFO] [stdout] test registry::fetch::http::tests::fetch_returns_error_on_404 ... ok
[INFO] [stdout] test registry::fetch::http::tests::fetch_handles_missing_etag ... ok
[INFO] [stdout] test registry::fetch::git::tests::ref_resolution_branch ... ok
[INFO] [stdout] test registry::local::tests::local_loader_empty_without_templates ... ok
[INFO] [stdout] test registry::local::tests::local_loader_finds_project_templates ... ok
[INFO] [stdout] test registry::local::tests::local_loader_loads_nested_templates ... ok
[INFO] [stdout] test registry::local::tests::local_loader_returns_source ... ok
[INFO] [stdout] test registry::manifest::tests::all_template_names ... ok
[INFO] [stdout] test registry::manifest::tests::parse_registry_manifest ... ok
[INFO] [stdout] test registry::manifest::tests::templates_in_order ... ok
[INFO] [stdout] test registry::remote::tests::empty_loader_has_no_templates ... ok
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpzn3bOZ/templates-repo.git/
[INFO] [stderr] Cloning into '/tmp/.tmpzn3bOZ/work'...
[INFO] [stdout] test registry::fetch::http::tests::redirect_followed_by_default ... ok
[INFO] [stderr] warning: You appear to have cloned an empty repository.
[INFO] [stderr] done.
[INFO] [stdout] test registry::fetch::http::tests::sends_bivvy_user_agent ... ok
[INFO] [stdout] [main (root-commit) f8a94c8] Seed templates
[INFO] [stdout]  2 files changed, 12 insertions(+)
[INFO] [stdout]  create mode 100644 docs/excluded-tool.yml
[INFO] [stdout]  create mode 100644 templates/included-tool.yml
[INFO] [stdout] test registry::fetch::http::tests::utf8_content_preserved ... ok
[INFO] [stderr] To /tmp/.tmpzn3bOZ/templates-repo.git
[INFO] [stderr]  * [new branch]      HEAD -> main
[INFO] [stdout] test registry::fetch::http::tests::large_response_rejected ... ok
[INFO] [stdout] test registry::remote::tests::parse_invalid_content_returns_error ... ok
[INFO] [stdout] test registry::remote::tests::parse_single_template ... ok
[INFO] [stdout] test registry::remote::tests::parse_template_list ... ok
[INFO] [stdout] test registry::resolver::tests::all_template_requires_exist_in_requirement_registry ... ok
[INFO] [stdout] test registry::fetch::http::tests::wrong_content_type_still_returns_body ... ok
[INFO] [stdout] test registry::fetch::git::tests::has_updates_true_after_push ... ok
[INFO] [stdout] test registry::resolver::tests::all_templates_with_requires_are_covered_by_property_test ... ok
[INFO] [stdout] test registry::resolver::tests::effective_inputs_includes_defaults ... ok
[INFO] [stdout] test registry::remote::tests::git_source_loads_only_from_configured_subdir ... ok
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpkmD6rs/templates-repo.git/
[INFO] [stderr] Cloning into '/tmp/.tmpkmD6rs/work'...
[INFO] [stdout] test registry::resolver::tests::get_with_wrong_category_returns_none ... ok
[INFO] [stderr] warning: You appear to have cloned an empty repository.
[INFO] [stderr] done.
[INFO] [stdout] [main (root-commit) 2d16b84] Seed templates
[INFO] [stdout]  1 file changed, 6 insertions(+)
[INFO] [stdout]  create mode 100644 steps/build/nested-tool.yml
[INFO] [stdout] test registry::resolver::tests::has_with_correct_category ... ok
[INFO] [stdout] test registry::resolver::tests::builtin_templates_declare_correct_requires ... ok
[INFO] [stdout] test registry::fetch::git::tests::ref_resolution_tag ... ok
[INFO] [stdout] test registry::resolver::tests::registry_all_names_includes_builtin ... ok
[INFO] [stdout] test registry::resolver::tests::effective_inputs_prefers_provided ... ok
[INFO] [stdout] test registry::resolver::tests::get_with_correct_category ... ok
[INFO] [stdout] test registry::resolver::tests::has_with_wrong_category ... ok
[INFO] [stdout] test registry::resolver::tests::install_templates_are_resolvable ... ok
[INFO] [stderr] To /tmp/.tmpkmD6rs/templates-repo.git
[INFO] [stderr]  * [new branch]      HEAD -> main
[INFO] [stdout] test registry::resolver::tests::registry_detection_order ... ok
[INFO] [stdout] test registry::resolver::tests::registry_get_convenience_method ... ok
[INFO] [stdout] test registry::resolver::tests::registry_fails_for_unknown ... ok
[INFO] [stdout] test registry::resolver::tests::registry_caches_remote_templates ... ok
[INFO] [stdout] test registry::resolver::tests::registry_has_works ... ok
[INFO] [stdout] test registry::resolver::tests::registry_prefers_local_over_builtin ... ok
[INFO] [stdout] test registry::resolver::tests::registry_resolves_builtin ... ok
[INFO] [stdout] test registry::resolver::tests::resolve_builtin_with_correct_category ... ok
[INFO] [stdout] test registry::resolver::tests::resolve_builtin_with_wrong_category_fails ... ok
[INFO] [stdout] test registry::resolver::tests::resolve_namespaced_local_wrong_category_falls_through ... ok
[INFO] [stdout] test registry::resolver::tests::registry_resolves_from_remote_http ... ok
[INFO] [stdout] test registry::resolver::tests::template_ref_parse_empty_category_is_unqualified ... ok
[INFO] [stdout] test registry::resolver::tests::template_ref_parse_no_slash ... ok
[INFO] [stdout] test registry::resolver::tests::template_ref_parse_trailing_slash_is_unqualified ... ok
[INFO] [stdout] test registry::resolver::tests::template_ref_parse_unqualified ... ok
[INFO] [stdout] test registry::resolver::tests::template_ref_parse_qualified ... ok
[INFO] [stdout] test registry::remote::tests::git_source_recursively_walks_subdirectories ... ok
[INFO] [stdout] test registry::resolver::tests::registry_prefers_local_over_remote ... ok
[INFO] [stdout] test registry::resolver::tests::registry_remote_template_in_all_names ... ok
[INFO] [stdout] test registry::source::tests::cache_config_accessor ... ok
[INFO] [stdout] test registry::source::tests::default_cache_config ... ok
[INFO] [stdout] test registry::source::tests::git_source_id_defaults_to_head ... ok
[INFO] [stdout] test registry::source::tests::git_source_id_format ... ok
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmp6EgUXU/templates-repo.git/
[INFO] [stderr] Cloning into '/tmp/.tmp6EgUXU/work'...
[INFO] [stdout] test registry::source::tests::http_source_id_format ... ok
[INFO] [stdout] test registry::source::tests::parses_git_source ... ok
[INFO] [stdout] test registry::source::tests::parses_http_source ... ok
[INFO] [stdout] test registry::source::tests::source_ids_are_unique ... ok
[INFO] [stdout] test registry::source::tests::url_accessor ... ok
[INFO] [stdout] test registry::template::tests::effective_value_prefers_provided ... ok
[INFO] [stdout] test registry::template::tests::parse_full_template ... ok
[INFO] [stdout] test registry::template::tests::parse_minimal_template ... ok
[INFO] [stdout] test registry::template::tests::parse_template_with_inputs ... ok
[INFO] [stdout] test registry::template::tests::platform_is_current_matches ... ok
[INFO] [stderr] warning: You appear to have cloned an empty repository.
[INFO] [stdout] test registry::template::tests::template_source_ordering ... ok
[INFO] [stderr] done.
[INFO] [stdout] test registry::template::tests::template_step_requires_defaults_empty ... ok
[INFO] [stdout] test registry::template::tests::template_step_requires_parses ... ok
[INFO] [stdout] test registry::template::tests::validate_boolean_type ... ok
[INFO] [stdout] test registry::template::tests::validate_enum_type ... ok
[INFO] [stdout] test registry::template::tests::validate_required_input_missing ... ok
[INFO] [stdout] test registry::template::tests::validate_required_input_with_default ... ok
[INFO] [stdout] test registry::template::tests::validate_string_type ... ok
[INFO] [stdout] test registry::template_name::tests::all_array_is_exhaustive ... ok
[INFO] [stdout] test registry::resolver::tests::resolve_namespaced_prefers_local_over_builtin ... ok
[INFO] [stdout] test registry::template_name::tests::display_matches_as_str ... ok
[INFO] [stdout] test requirements::checker::deps::tests::circular_install_deps_detected ... ok
[INFO] [stdout] test requirements::checker::deps::tests::dependency_chain_resolves_in_order ... ok
[INFO] [stdout] test requirements::checker::deps::tests::max_depth_prevents_infinite_loop ... ok
[INFO] [stdout] test requirements::checker::deps::tests::node_depends_on_mise_when_no_manager ... ok
[INFO] [stdout] test requirements::checker::deps::tests::python_depends_on_mise_when_no_manager ... ok
[INFO] [stdout] test requirements::checker::deps::tests::requirement_with_no_deps_resolves_to_self ... ok
[INFO] [stdout] test requirements::checker::deps::tests::resolve_deps_does_not_duplicate ... ok
[INFO] [stdout] test requirements::checker::deps::tests::ruby_depends_on_mise_when_no_manager ... ok
[INFO] [stdout] test requirements::checker::deps::tests::unknown_requirement_in_deps_still_included ... ok
[INFO] [stdout] test registry::template_name::tests::partial_eq_str ... ok
[INFO] [stdout] test registry::resolver::tests::validate_inputs_accepts_valid_inputs ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::any_check_missing_when_no_subcheck_passes ... ok
[INFO] [stdout] test registry::resolver::tests::validate_inputs_catches_unknown_inputs ... ok
[INFO] [stdout] test registry::resolver::tests::unqualified_name_still_works ... ok
[INFO] [stdout] [main (root-commit) fb1eb8a] Seed templates
[INFO] [stdout]  2 files changed, 7 insertions(+)
[INFO] [stdout]  create mode 100644 broken.yml
[INFO] [stdout]  create mode 100644 ok-tool.yml
[INFO] [stdout] test registry::resolver::tests::validate_inputs_catches_missing_required ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::command_succeeds_sad_path_carries_install_hint ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::custom_requirement_file_exists_check_type ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::any_check_satisfied_when_one_subcheck_passes ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::file_exists_check_missing_when_file_absent ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::file_exists_check_satisfied_when_file_present ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::manager_check_falls_through_to_missing ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::custom_requirement_service_reachable_check_type ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::manager_detected_but_tool_not_installed_falls_through ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::service_reachable_happy_path_returns_satisfied ... ok
[INFO] [stderr] To /tmp/.tmp6EgUXU/templates-repo.git
[INFO] [stderr]  * [new branch]      HEAD -> main
[INFO] [stdout] test requirements::checker::evaluator::tests::service_reachable_returns_service_down_on_failure ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::service_reachable_returns_satisfied_on_success ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::service_reachable_sad_path_returns_service_down ... ok
[INFO] [stdout] test requirements::checker::network::tests::check_network_returns_bool ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::unknown_requirement_returns_unknown ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::system_path_returns_system_only ... ok
[INFO] [stdout] test requirements::checker::tests::check_step_with_none_provided_checks_all ... ok
[INFO] [stdout] test requirements::checker::tests::check_step_empty_requires_returns_no_gaps ... ok
[INFO] [stdout] test requirements::checker::tests::check_step_filters_out_satisfied ... ok
[INFO] [stdout] test requirements::checker::tests::check_step_with_provided_skips_requirements ... ok
[INFO] [stdout] test requirements::checker::tests::gap_checker_caches_results ... ok
[INFO] [stdout] test requirements::checker::tests::gap_checker_invalidate_all_clears_all ... ok
[INFO] [stdout] test requirements::checker::tests::provided_wins_over_step_requires ... ok
[INFO] [stdout] test requirements::checker::tests::provided_and_override_compose ... ok
[INFO] [stdout] test requirements::checker::tests::unknown_requirement_returns_unknown ... ok
[INFO] [stdout] test requirements::installer::tests::cache_not_invalidated_for_unrelated_requirement ... ok
[INFO] [stderr] sh: 1: nonexistent_binary_xyz123: not found
[INFO] [stdout] test requirements::checker::tests::gap_checker_invalidate_clears_cache ... ok
[INFO] [stdout] test requirements::installer::tests::default_context_prepend_path_deduplicates ... ok
[INFO] [stdout] test requirements::installer::tests::default_context_prepend_path_does_not_mutate_global_env ... ok
[INFO] [stdout] test requirements::installer::tests::cache_invalidated_after_service_start ... ok
[INFO] [stderr] sh: 1: bivvy_test_tool: not found
[INFO] [stdout] test requirements::installer::tests::empty_gaps_proceeds ... ok
[INFO] [stdout] test requirements::installer::tests::inactive_prepends_path_and_resolves ... ok
[INFO] [stdout] test requirements::installer::tests::inactive_with_no_parent_skips ... ok
[INFO] [stdout] test requirements::installer::tests::default_context_run_command_sees_prepended_path ... ok
[INFO] [stdout] test requirements::installer::tests::missing_install_failure ... ok
[INFO] [stdout] test requirements::installer::tests::missing_no_network_skips ... ok
[INFO] [stdout] test requirements::installer::tests::missing_no_template_shows_hint ... ok
[INFO] [stdout] test requirements::installer::tests::missing_install_declined_skips ... ok
[INFO] [stdout] test requirements::installer::tests::missing_install_success_but_not_on_path ... ok
[INFO] [stdout] test requirements::installer::tests::missing_prompts_install ... ok
[INFO] [stdout] test requirements::installer::tests::non_interactive_inactive_shows_warning ... ok
[INFO] [stdout] test requirements::installer::tests::non_interactive_missing_blocks ... ok
[INFO] [stdout] test requirements::installer::tests::non_interactive_inactive_blocks ... ok
[INFO] [stdout] test requirements::installer::tests::non_interactive_system_only_warns_and_proceeds ... ok
[INFO] [stdout] test requirements::installer::tests::non_interactive_service_down_blocks ... ok
[INFO] [stdout] test requirements::installer::tests::satisfied_gap_proceeds ... ok
[INFO] [stdout] test requirements::installer::tests::non_interactive_unknown_blocks ... ok
[INFO] [stdout] test requirements::installer::tests::service_down_no_start_command_skips ... ok
[INFO] [stdout] test requirements::installer::tests::service_down_offers_to_start ... ok
[INFO] [stdout] test requirements::installer::tests::service_down_start_failure_skips ... ok
[INFO] [stdout] test requirements::installer::tests::service_down_start_success_invalidates_cache ... ok
[INFO] [stdout] test requirements::installer::tests::service_down_decline_skips ... ok
[INFO] [stdout] test requirements::installer::tests::system_only_offers_managed_install ... ok
[INFO] [stdout] test requirements::installer::tests::system_only_warns_and_proceeds ... ok
[INFO] [stdout] test requirements::installer::tests::system_only_accepts_managed_install ... ok
[INFO] [stdout] test requirements::probe::tests::full_path_prepends_augmented ... ok
[INFO] [stdout] test requirements::probe::tests::empty_probe_has_no_augmented_path ... ok
[INFO] [stdout] test requirements::probe::tests::inactive_manager_fields_accessible ... ok
[INFO] [stdout] test requirements::installer::tests::missing_skips_on_decline ... ok
[INFO] [stdout] test requirements::probe::tests::is_executable_returns_false_for_non_executable_file ... ok
[INFO] [stdout] test requirements::probe::tests::is_executable_returns_false_for_nonexistent_file ... ok
[INFO] [stdout] test requirements::probe::tests::is_executable_returns_true_for_executable_file ... ok
[INFO] [stdout] test requirements::probe::tests::probe_augments_path_with_discovered_locations ... ok
[INFO] [stdout] test requirements::probe::tests::probe_env_var_with_nonexistent_path_falls_through ... ok
[INFO] [stdout] test requirements::probe::tests::probe_checks_env_var_before_default ... ok
[INFO] [stdout] test requirements::probe::tests::probe_falls_back_to_default_when_env_unset ... ok
[INFO] [stdout] test requirements::probe::tests::probe_manager_location_finds_binary_at_subpath ... ok
[INFO] [stdout] test requirements::probe::tests::probe_returns_none_when_nothing_found ... ok
[INFO] [stdout] test requirements::probe::tests::resolve_tool_path_finds_first_match ... ok
[INFO] [stdout] test requirements::probe::tests::probe_respects_rbenv_root ... ok
[INFO] [stdout] test requirements::probe::tests::resolve_tool_path_skips_non_executable ... ok
[INFO] [stdout] test requirements::registry::tests::command_succeeds_requirements_have_correct_checks ... ok
[INFO] [stdout] test requirements::registry::tests::custom_requirement_overrides_builtin ... ok
[INFO] [stdout] test requirements::registry::tests::managed_command_requirements_have_correct_checks ... ok
[INFO] [stdout] test requirements::registry::tests::node_depends_on_nvm_when_nvm_detected ... ok
[INFO] [stdout] test requirements::registry::tests::platform_current_returns_valid ... ok
[INFO] [stdout] test requirements::probe::tests::resolve_tool_path_returns_none_when_not_found ... ok
[INFO] [stdout] test requirements::registry::tests::python_uses_any_check_for_python3_and_python ... ok
[INFO] [stdout] test requirements::registry::tests::registry_get_unknown_returns_none ... ok
[INFO] [stdout] test requirements::registry::tests::registry_known_names_includes_builtins ... ok
[INFO] [stdout] test requirements::registry::tests::registry_get_known_returns_some ... ok
[INFO] [stdout] test requirements::registry::tests::registry_new_has_builtins ... ok
[INFO] [stdout] test requirements::registry::tests::registry_with_custom_adds_custom ... ok
[INFO] [stdout] test requirements::registry::tests::ruby_install_requires_defaults_to_mise ... ok
[INFO] [stdout] test requirements::registry::tests::ruby_install_requires_uses_rbenv_when_detected ... ok
[INFO] [stdout] test requirements::registry::tests::ruby_requirement_has_install_requires ... ok
[INFO] [stdout] test requirements::registry::tests::service_requirements_have_service_reachable_checks ... ok
[INFO] [stdout] test requirements::status::tests::gap_result_holds_requirement_and_status ... ok
[INFO] [stdout] test requirements::status::tests::inactive_cannot_proceed ... ok
[INFO] [stdout] test requirements::status::tests::missing_cannot_proceed ... ok
[INFO] [stdout] test requirements::registry::tests::requirements_with_dependencies_point_to_registered_requirements ... ok
[INFO] [stdout] test requirements::status::tests::missing_with_no_hints ... ok
[INFO] [stdout] test requirements::status::tests::satisfied_is_satisfied ... ok
[INFO] [stdout] test requirements::status::tests::service_down_cannot_proceed ... ok
[INFO] [stdout] test requirements::status::tests::service_down_without_start_command ... ok
[INFO] [stdout] test requirements::status::tests::system_only_fields_accessible ... ok
[INFO] [stdout] test requirements::status::tests::system_only_can_proceed_but_not_satisfied ... ok
[INFO] [stdout] test runner::decision::tests::block_reason_messages ... ok
[INFO] [stdout] test runner::decision::tests::blocked_by_failure_when_dep_failed ... ok
[INFO] [stdout] test runner::decision::tests::blocked_by_user_skip_multiple_deps_one_satisfied ... ok
[INFO] [stdout] test runner::decision::tests::blocked_by_user_skip_when_dep_skipped_and_unsatisfied ... ok
[INFO] [stdout] test requirements::registry::tests::ruby_depends_on_rbenv_when_rbenv_detected ... ok
[INFO] [stdout] test runner::decision::tests::effective_auto_run_step_false_no_override ... ok
[INFO] [stdout] test requirements::status::tests::unknown_cannot_proceed ... ok
[INFO] [stdout] test runner::decision::tests::effective_auto_run_step_false_override_true ... ok
[INFO] [stdout] test runner::decision::tests::effective_auto_run_uses_step_default ... ok
[INFO] [stdout] test runner::decision::tests::effective_prompt_uses_step_default ... ok
[INFO] [stdout] test runner::decision::tests::not_blocked_when_all_skipped_deps_satisfied ... ok
[INFO] [stdout] test runner::decision::tests::not_blocked_when_dep_not_skipped ... ok
[INFO] [stdout] test runner::decision::tests::not_blocked_when_dep_skipped_but_satisfied ... ok
[INFO] [stdout] test runner::decision::tests::not_blocked_when_dep_succeeded ... ok
[INFO] [stdout] test runner::decision::tests::skip_reason_messages ... ok
[INFO] [stdout] test runner::decision::tests::step_decision_variants ... ok
[INFO] [stdout] test runner::decision::tests::effective_prompt_override_takes_precedence ... ok
[INFO] [stdout] test runner::dependency::tests::builder_adds_step_with_dependencies ... ok
[INFO] [stdout] test runner::dependency::tests::builder_creates_empty_graph ... ok
[INFO] [stdout] test runner::dependency::tests::builder_rejects_unknown_dependency ... ok
[INFO] [stdout] test runner::dependency::tests::builder_tracks_dependents ... ok
[INFO] [stdout] test runner::dependency::tests::compute_skips_only ... ok
[INFO] [stdout] test runner::dependency::tests::compute_skips_run_anyway ... ok
[INFO] [stdout] test runner::decision::tests::effective_auto_run_override_takes_precedence ... ok
[INFO] [stdout] test runner::dependency::tests::compute_skips_with_dependents ... ok
[INFO] [stdout] test runner::dependency::tests::is_ready_dependencies_met ... ok
[INFO] [stdout] test runner::dependency::tests::is_ready_dependencies_not_met ... ok
[INFO] [stdout] test runner::dependency::tests::is_ready_no_dependencies ... ok
[INFO] [stdout] test runner::dependency::tests::longer_cycle_returns_full_path ... ok
[INFO] [stdout] test runner::dependency::tests::no_cycle_returns_none ... ok
[INFO] [stdout] test runner::dependency::tests::parallel_groups_diamond ... ok
[INFO] [stdout] test runner::dependency::tests::parallel_groups_empty_graph ... ok
[INFO] [stdout] test runner::dependency::tests::parallel_groups_independent_steps ... ok
[INFO] [stdout] test runner::dependency::tests::parallel_groups_linear_chain ... ok
[INFO] [stdout] test runner::dependency::tests::self_cycle_detected ... ok
[INFO] [stdout] test runner::dependency::tests::topo_sort_detects_simple_cycle ... ok
[INFO] [stdout] test runner::dependency::tests::topo_sort_diamond_dependency ... ok
[INFO] [stdout] test runner::dependency::tests::topo_sort_empty_graph ... ok
[INFO] [stdout] test runner::dependency::tests::topo_sort_linear_chain ... ok
[INFO] [stdout] test runner::dependency::tests::topo_sort_single_step ... ok
[INFO] [stdout] test runner::dependency::tests::transitive_dependents_direct ... ok
[INFO] [stdout] test runner::dependency::tests::transitive_dependents_indirect ... ok
[INFO] [stdout] test runner::dependency::tests::transitive_dependents_none ... ok
[INFO] [stdout] test runner::dependency::tests::builder_adds_single_step_without_dependencies ... ok
[INFO] [stdout] test runner::dependency::tests::simple_cycle_returns_path ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::auth_failure_classified ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::build_failure_plus_not_found ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::category_confidence_capped_at_0_7 ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::command_not_found_extracts_name ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::database_not_exist_extracts_name ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::empty_input_no_categories ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::connection_refused_classified ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::diminishing_returns ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::host_extraction ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::module_not_found_classified ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::permission_denied_classified ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::resource_limit_classified ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::port_conflict_classified ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::pg_dump_version_details_extracted ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::sync_issue_classified ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::system_constraint_classified ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::resource_limit_from_limit_keyword ... ok
[INFO] [stdout] test runner::diagnostic::classify::tests::version_mismatch_classified ... ok
[INFO] [stdout] test runner::diagnostic::contextualize::tests::confidence_clamped_to_1 ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::command_succeeds_happy_path_returns_satisfied ... ok
[INFO] [stdout] test runner::diagnostic::contextualize::tests::ecosystem_detection ... ok
[INFO] [stdout] test runner::diagnostic::contextualize::tests::not_found_boosted_by_install_command ... ok
[INFO] [stdout] test runner::diagnostic::contextualize::tests::connection_refused_boosted_by_requires ... ok
[INFO] [stdout] test runner::diagnostic::deduce::tests::docker_compose_connection_refused_suggests_open_docker ... ok
[INFO] [stdout] test runner::diagnostic::contextualize::tests::system_constraint_boosted_by_pip ... ok
[INFO] [stdout] test runner::diagnostic::deduce::tests::docker_daemon_connection_refused_suggests_open_docker ... ok
[INFO] [stdout] test runner::diagnostic::deduce::tests::merge_keeps_complementary ... ok
[INFO] [stdout] test runner::diagnostic::deduce::tests::merge_deduplicates_same_command ... ok
[INFO] [stdout] test runner::diagnostic::deduce::tests::permission_denied_script_suggests_chmod ... ok
[INFO] [stdout] test runner::diagnostic::deduce::tests::connection_refused_with_service ... ok
[INFO] [stdout] test runner::diagnostic::deduce::tests::port_conflict_suggests_lsof ... ok
[INFO] [stdout] test runner::diagnostic::deduce::tests::sync_issue_poetry ... ok
[INFO] [stdout] test runner::diagnostic::deduce::tests::version_mismatch_with_versions ... ok
[INFO] [stdout] test runner::diagnostic::deduce::tests::system_constraint_suggests_venv ... ok
[INFO] [stdout] test runner::diagnostic::deduce::tests::non_docker_connection_refused_does_not_suggest_docker ... ok
[INFO] [stdout] test runner::diagnostic::contextualize::tests::resorts_after_boost ... ok
[INFO] [stdout] test runner::diagnostic::extract::tests::empty_input_no_resolutions ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::command_succeeds_sad_path_returns_missing ... ok
[INFO] [stdout] test registry::remote::tests::git_source_skips_unparseable_yaml ... ok
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpvkl4e9/templates-repo.git/
[INFO] [stderr] Cloning into '/tmp/.tmpvkl4e9/work'...
[INFO] [stderr] warning: You appear to have cloned an empty repository.
[INFO] [stderr] done.
[INFO] [stdout] [main (root-commit) eac5de5] Seed templates
[INFO] [stdout]  1 file changed, 6 insertions(+)
[INFO] [stdout]  create mode 100644 git-tool.yml
[INFO] [stdout] test runner::diagnostic::extract::tests::install_command_aligns_with_version_mismatch ... ok
[INFO] [stdout] test runner::diagnostic::extract::tests::boilerplate_with_command_gets_penalty ... ok
[INFO] [stdout] test runner::diagnostic::extract::tests::alignment_boosts_confidence ... ok
[INFO] [stdout] test runner::diagnostic::extract::tests::extracts_backtick_command ... ok
[INFO] [stdout] test runner::diagnostic::extract::tests::existence_check_framing_demoted_for_version_mismatch ... ok
[INFO] [stdout] test runner::diagnostic::normalize::tests::collapses_blank_lines ... ok
[INFO] [stdout] test runner::diagnostic::normalize::tests::handles_bold_ansi ... ok
[INFO] [stdout] test runner::diagnostic::extract::tests::boilerplate_natural_language_is_dropped ... ok
[INFO] [stdout] test runner::diagnostic::extract::tests::natural_language_resolution ... ok
[INFO] [stdout] test runner::diagnostic::normalize::tests::handles_empty_input ... ok
[INFO] [stdout] test runner::diagnostic::extract::tests::pep668_extracts_resolutions ... ok
[INFO] [stdout] test runner::diagnostic::normalize::tests::normalizes_crlf ... ok
[INFO] [stdout] test runner::diagnostic::normalize::tests::complex_ansi_sequences ... ok
[INFO] [stdout] test runner::diagnostic::normalize::tests::trims_whitespace ... ok
[INFO] [stdout] test runner::diagnostic::normalize::tests::preserves_content_between_ansi ... ok
[INFO] [stdout] test runner::diagnostic::normalize::tests::strips_ansi_color_codes ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::eaddrinuse_tagged ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::error_code_tagged ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::error_keyword_tagged ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::hint_prefix_is_resolution ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::fatal_keyword_tagged ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::js_stack_frame_is_noise ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::pg_dump_error_line ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::note_prefix_is_resolution ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::python_exception_tagged ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::please_prefix_is_resolution ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::plain_text_is_noise ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::rake_task_line_is_noise ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::rails_boilerplate_is_noise ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::ruby_stack_frame_is_noise ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::see_full_trace_is_noise ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::multiline_segmentation ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::separator_is_noise ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::stack_trace_is_noise ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::ruby_exception_tagged ... ok
[INFO] [stdout] test runner::diagnostic::tests::diagnose_empty_output_produces_empty_diagnosis ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::try_prefix_is_resolution ... ok
[INFO] [stdout] test runner::diagnostic::tests::diagnose_permission_denied ... ok
[INFO] [stdout] test runner::diagnostic::tests::diagnose_module_not_found ... ok
[INFO] [stdout] test runner::diagnostic::tests::diagnose_connection_refused ... ok
[INFO] [stdout] test runner::diagnostic::tests::diagnose_port_conflict ... ok
[INFO] [stdout] test runner::display::step::tests::finish_completed_clears_region ... ok
[INFO] [stdout] test runner::display::step::tests::finish_label_comes_from_status_enum ... ok
[INFO] [stdout] test runner::display::step::tests::live_tail_capacity_per_mode ... ok
[INFO] [stdout] test runner::display::step::tests::non_interactive_prompt_uses_default ... ok
[INFO] [stdout] test runner::display::step::tests::non_interactive_step_display_step_number ... ok
[INFO] [stdout] test runner::display::step::tests::normalize_command_collapses_multiline ... ok
[INFO] [stdout] test runner::display::step::tests::normalize_command_preserves_short_single_line ... ok
[INFO] [stdout] test runner::display::step::tests::normalize_command_truncates_long_input ... ok
[INFO] [stdout] test runner::display::step::tests::start_running_mounts_region_in_normal_mode ... ok
[INFO] [stdout] test runner::display::step::tests::start_running_skipped_in_silent_mode ... ok
[INFO] [stdout] test runner::display::step::tests::step_number_formatted_correctly ... ok
[INFO] [stdout] test runner::display::step::tests::truncate_line_over_limit_truncated_with_ellipsis ... ok
[INFO] [stdout] test runner::display::step::tests::truncate_line_under_limit_is_unchanged ... ok
[INFO] [stderr] To /tmp/.tmpvkl4e9/templates-repo.git
[INFO] [stderr]  * [new branch]      HEAD -> main
[INFO] [stdout] test runner::display::step::tests::update_live_output_evicts_oldest ... ok
[INFO] [stdout] test runner::display::step::tests::finish_failed_clears_region ... ok
[INFO] [stdout] test runner::display::step::tests::update_live_output_skips_empty_lines ... ok
[INFO] [stdout] test runner::display::workflow::tests::non_interactive_ci_mode_skips_progress ... ok
[INFO] [stdout] test runner::diagnostic::tests::diagnose_externally_managed_python ... ok
[INFO] [stdout] test runner::display::workflow::tests::non_interactive_begin_step_returns_step_display ... ok
[INFO] [stdout] test runner::display::workflow::tests::terminal_progress_lifecycle ... ok
[INFO] [stdout] test runner::display::workflow::tests::terminal_begin_step_returns_step_display ... ok
[INFO] [stdout] test runner::display::workflow::tests::terminal_show_header_silent_skipped ... ok
[INFO] [stdout] test runner::display::workflow::tests::terminal_silent_mode_skips_progress ... ok
[INFO] [stdout] test runner::display::workflow::tests::terminal_workflow_display_construction_does_not_panic ... ok
[INFO] [stdout] test runner::display::workflow::tests::terminal_summary_renders_without_panic ... ok
[INFO] [stdout] test runner::engine::tests::auto_run_false_prompts_when_not_satisfied ... ok
[INFO] [stdout] test runner::engine::tests::auto_run_true_auto_runs_when_not_satisfied ... ok
[INFO] [stdout] test runner::engine::tests::cached_result_returned ... ok
[INFO] [stdout] test runner::engine::tests::auto_run_false_does_not_affect_satisfied_steps ... ok
[INFO] [stdout] test runner::engine::tests::confirm_takes_priority_over_auto_run ... ok
[INFO] [stdout] test runner::engine::tests::force_all_bypasses_satisfaction_for_unnamed_step ... ok
[INFO] [stdout] test runner::engine::tests::failed_dependency_blocks ... ok
[INFO] [stdout] test runner::engine::tests::fresh_step_no_checks_auto_runs ... ok
[INFO] [stdout] test runner::engine::tests::force_bypasses_satisfaction ... ok
[INFO] [stdout] test runner::diagnostic::extract::tests::restatement_of_failed_command_gets_penalty ... ok
[INFO] [stdout] test runner::diagnostic::segment::tests::backtick_with_action_is_resolution ... ok
[INFO] [stdout] test runner::engine::tests::sensitive_step_prompts ... ok
[INFO] [stdout] test runner::diagnostic::tests::diagnose_pg_dump_version_mismatch ... ok
[INFO] [stdout] test runner::engine::tests::confirm_step_prompts ... ok
[INFO] [stdout] test runner::engine::tests::satisfied_step_auto_skips ... ok
[INFO] [stdout] test runner::engine::tests::sensitive_takes_priority_over_confirm ... ok
[INFO] [stdout] test runner::engine::tests::sensitive_takes_priority_over_auto_run ... ok
[INFO] [stdout] test runner::engine::tests::skipped_unsatisfied_dependency_blocks ... ok
[INFO] [stdout] test runner::engine::tests::skipped_satisfied_dependency_allows_proceed ... ok
[INFO] [stdout] test runner::engine::tests::unknown_step_blocks ... ok
[INFO] [stdout] test runner::engine::tests::satisfied_via_history_with_prompt_on_rerun_prompts ... ok
[INFO] [stdout] test runner::engine::tests::step_level_force_bypasses_satisfaction ... ok
[INFO] [stdout] test runner::engine::tests::satisfied_via_history_without_prompt_on_rerun_auto_skips ... ok
[INFO] [stdout] test runner::patterns::docker::tests::docker_daemon_matches_any_step ... ok
[INFO] [stdout] test runner::patterns::docker::tests::docker_port_conflict_requires_docker_context ... ok
[INFO] [stdout] test runner::patterns::docker::tests::docker_port_conflict_bind_variant ... ok
[INFO] [stdout] test runner::patterns::docker::tests::docker_image_not_found_returns_hint ... ok
[INFO] [stdout] test runner::patterns::docker::tests::docker_port_conflict_matches ... ok
[INFO] [stdout] test runner::patterns::docker::tests::docker_network_was_not_found_variant ... ok
[INFO] [stdout] test runner::patterns::docker::tests::docker_network_not_found_matches ... ok
[INFO] [stdout] test runner::patterns::elixir::tests::mix_rebar_not_found_matches ... ok
[INFO] [stdout] test runner::patterns::elixir::tests::mix_pattern_wrong_context ... ok
[INFO] [stdout] test runner::patterns::general::tests::git_ssh_permission_denied_returns_hint ... ok
[INFO] [stdout] test runner::patterns::dotnet::tests::dotnet_framework_not_found_returns_hint ... ok
[INFO] [stdout] test runner::patterns::elixir::tests::mix_hex_not_found_matches ... ok
[INFO] [stdout] test runner::patterns::dotnet::tests::dotnet_specified_framework_variant ... ok
[INFO] [stdout] test runner::patterns::go::tests::go_checksum_mismatch_matches ... ok
[INFO] [stdout] test runner::patterns::go::tests::go_missing_sum_matches ... ok
[INFO] [stdout] test runner::patterns::general::tests::permission_denied_returns_hint ... ok
[INFO] [stdout] test runner::patterns::go::tests::go_pattern_requires_go_context ... ok
[INFO] [stdout] test runner::patterns::general::tests::git_ssh_requires_git_context ... ok
[INFO] [stdout] test runner::patterns::java::tests::java_home_not_set_returns_hint ... ok
[INFO] [stdout] test runner::patterns::general::tests::ssl_certificate_verify_failed_variant ... ok
[INFO] [stdout] test runner::patterns::java::tests::mvnw_permission_denied_matches ... ok
[INFO] [stdout] test runner::patterns::node::tests::node_corepack_not_enabled_excludes_unrelated ... ok
[INFO] [stdout] test runner::patterns::general::tests::ssl_certificate_error_returns_hint ... ok
[INFO] [stdout] test runner::patterns::java::tests::java_no_installation_detected ... ok
[INFO] [stdout] test runner::patterns::node::tests::node_engine_mismatch_excludes_unrelated ... ok
[INFO] [stdout] test runner::patterns::java::tests::java_version_unknown_returns_hint ... ok
[INFO] [stdout] test runner::patterns::java::tests::gradlew_permission_denied_matches ... ok
[INFO] [stdout] test runner::patterns::node::tests::node_corepack_not_enabled_matches_npm ... ok
[INFO] [stdout] test runner::patterns::node::tests::node_engine_mismatch_returns_hint ... ok
[INFO] [stdout] test runner::patterns::node::tests::node_openssl_matches_yarn_context ... ok
[INFO] [stdout] test runner::patterns::node::tests::node_openssl_returns_hint ... ok
[INFO] [stdout] test runner::patterns::node::tests::npm_eresolve_matches ... ok
[INFO] [stdout] test runner::patterns::node::tests::npm_eresolve_excludes_non_npm ... ok
[INFO] [stdout] test runner::patterns::node::tests::npm_module_not_found_matches ... ok
[INFO] [stdout] test runner::patterns::postgres::tests::postgres_db_not_exist_extracts_name ... ok
[INFO] [stdout] test runner::patterns::postgres::tests::postgres_conn_refused_matches ... ok
[INFO] [stdout] test runner::patterns::node::tests::npm_enospc_watchers_matches_inotify ... ok
[INFO] [stdout] test runner::patterns::postgres::tests::postgres_pgdump_version_mismatch_fires_without_requires ... ok
[INFO] [stdout] test runner::patterns::python::tests::pip_module_not_found_matches ... ok
[INFO] [stdout] test runner::patterns::node::tests::npm_enospc_watchers_matches ... ok
[INFO] [stdout] test runner::patterns::postgres::tests::postgres_pgdump_version_mismatch_returns_hint ... ok
[INFO] [stdout] test runner::patterns::node::tests::node_corepack_not_enabled_matches_yarn ... ok
[INFO] [stdout] test runner::patterns::python::tests::poetry_lock_inconsistent_matches ... ok
[INFO] [stdout] test runner::patterns::python::tests::python_externally_managed_matches ... ok
[INFO] [stdout] test runner::patterns::python::tests::pip_no_matching_distribution_returns_hint ... ok
[INFO] [stdout] test runner::patterns::python::tests::python_externally_managed_alternate_message ... ok
[INFO] [stdout] test runner::patterns::rails::tests::rails_migrations_pending_matches ... ok
[INFO] [stdout] test runner::patterns::python::tests::python_no_venv_module_matches ... ok
[INFO] [stdout] test runner::patterns::ruby::tests::bundler_native_ext_extracts_gem_name ... ok
[INFO] [stdout] test runner::patterns::rails::tests::rails_migrations_pending_rake_context ... ok
[INFO] [stdout] test runner::patterns::ruby::tests::bundler_version_conflict_matches ... ok
[INFO] [stdout] test runner::patterns::ruby::tests::bundler_native_ext_matches ... ok
[INFO] [stdout] test runner::patterns::ruby::tests::bundler_version_missing_extracts_version ... ok
[INFO] [stdout] test runner::patterns::rails::tests::rails_no_database_matches ... ok
[INFO] [stdout] test runner::patterns::ruby::tests::bundler_version_missing_matches ... ok
[INFO] [stdout] test runner::patterns::rust_cargo::tests::cargo_linker_not_found_wrong_context ... ok
[INFO] [stdout] test runner::patterns::ruby::tests::ruby_version_mismatch_returns_hint ... ok
[INFO] [stdout] test runner::patterns::rust_cargo::tests::cargo_linker_not_found_matches ... ok
[INFO] [stdout] test runner::patterns::rust_cargo::tests::cargo_pkg_config_build_command_variant ... ok
[INFO] [stdout] test runner::patterns::rust_cargo::tests::cargo_linker_not_found_alternate_message ... ok
[INFO] [stdout] test runner::patterns::rust_cargo::tests::cargo_lock_needs_update_matches ... ok
[INFO] [stdout] test runner::patterns::rust_cargo::tests::cargo_pkg_config_returns_hint ... ok
[INFO] [stdout] test runner::patterns::rails::tests::rails_relation_not_exist_matches ... ok
[INFO] [stdout] test runner::patterns::rust_cargo::tests::cargo_toolchain_missing_matches ... ok
[INFO] [stdout] test runner::patterns::tests::context_filter_excludes_unrelated ... ok
[INFO] [stdout] test runner::patterns::tests::find_fix_ignores_low_confidence ... ok
[INFO] [stdout] test runner::patterns::rust_cargo::tests::cargo_toolchain_missing_extracts_name ... ok
[INFO] [stdout] test runner::patterns::tests::first_match_wins ... ok
[INFO] [stdout] test runner::patterns::tests::high_confidence_returned_by_find_fix ... ok
[INFO] [stdout] test runner::patterns::tests::no_duplicate_pattern_names ... ok
[INFO] [stdout] test runner::patterns::tests::substitute_replaces_capture_groups ... ok
[INFO] [stdout] test runner::patterns::tests::low_confidence_returned_by_find_hint ... ok
[INFO] [stdout] test runner::plan::tests::plan_basic_ordering ... ok
[INFO] [stdout] test runner::patterns::tests::substitute_returns_none_for_missing_group ... ok
[INFO] [stdout] test runner::plan::tests::plan_environment_filtering ... ok
[INFO] [stdout] test runner::patterns::tests::no_match_returns_none ... ok
[INFO] [stdout] test runner::plan::tests::plan_only_flag_filters ... ok
[INFO] [stdout] test runner::plan::tests::plan_skip_flag_cascades ... ok
[INFO] [stdout] test runner::recovery::tests::confirm_fix_false_on_no ... ok
[INFO] [stdout] test runner::recovery::tests::confirm_fix_true_on_yes ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_abort ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_custom_fix_empty_falls_back_to_retry ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_custom_fix_when_hint_present ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_default_is_retry ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_excludes_fix_when_no_match ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_includes_fix_when_high_confidence ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_abort ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_advisory_only_resolutions_show_custom_fix ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_caps_total_options ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_custom_fix ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_default_is_retry ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_limits_fixes_to_three ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_no_custom_fix_without_resolutions ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_selects_first_fix ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_selects_second_fix ... ok
[INFO] [stdout] test runner::patterns::tests::context_command_contains_filters ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_shows_suggestions_for_medium_confidence ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_skip ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_multi_skips_fix_in_history ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_shell ... ok
[INFO] [stdout] test runner::recovery::tests::prompt_recovery_skips_fix_already_in_history ... ok
[INFO] [stdout] test runner::rerun_window::tests::default_is_four_hours ... ok
[INFO] [stdout] test runner::rerun_window::tests::display_days ... ok
[INFO] [stdout] test runner::recovery::tests::run_fix_returns_failure ... ok
[INFO] [stdout] test runner::recovery::tests::run_fix_returns_success ... ok
[INFO] [stdout] test runner::rerun_window::tests::display_forever ... ok
[INFO] [stdout] test runner::rerun_window::tests::display_hours ... ok
[INFO] [stdout] test runner::rerun_window::tests::display_minutes ... ok
[INFO] [stdout] test runner::rerun_window::tests::display_seconds ... ok
[INFO] [stdout] test runner::rerun_window::tests::display_never ... ok
[INFO] [stdout] test runner::rerun_window::tests::future_timestamp_within_window ... ok
[INFO] [stdout] test runner::rerun_window::tests::display_zero_seconds ... ok
[INFO] [stdout] test runner::rerun_window::tests::never_always_outside ... ok
[INFO] [stdout] test runner::rerun_window::tests::outside_window_old_timestamp ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_days ... ok
[INFO] [stdout] test runner::rerun_window::tests::forever_always_within ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_forever ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_hours ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_invalid_empty ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_invalid_no_suffix ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_minutes ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_never ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_seconds ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_with_whitespace ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_invalid_non_numeric ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_zero ... ok
[INFO] [stdout] test runner::rerun_window::tests::parse_invalid_suffix ... ok
[INFO] [stdout] test runner::rerun_window::tests::serde_round_trip_duration ... ok
[INFO] [stdout] test runner::rerun_window::tests::serde_round_trip_forever ... ok
[INFO] [stdout] test runner::rerun_window::tests::serde_round_trip_never ... ok
[INFO] [stdout] test runner::rerun_window::tests::within_window_at_boundary ... ok
[INFO] [stdout] test runner::rerun_window::tests::within_window_recent_timestamp ... ok
[INFO] [stdout] test runner::rerun_window::tests::serde_yaml_round_trip ... ok
[INFO] [stdout] test runner::satisfaction::compute_satisfaction_tests::check_passes_when_no_satisfied_when ... ok
[INFO] [stdout] test runner::satisfaction::compute_satisfaction_tests::check_takes_priority_over_rerun_window ... ok
[INFO] [stdout] test runner::satisfaction::compute_satisfaction_tests::no_last_success_not_satisfied_by_history ... ok
[INFO] [stdout] test runner::satisfaction::compute_satisfaction_tests::no_signals_not_satisfied ... ok
[INFO] [stdout] test runner::satisfaction::compute_satisfaction_tests::rerun_window_expired_not_satisfied ... ok
[INFO] [stdout] test runner::satisfaction::compute_satisfaction_tests::rerun_window_satisfies_when_recent ... ok
[INFO] [stdout] test runner::satisfaction::compute_satisfaction_tests::rerun_window_forever_always_satisfied ... ok
[INFO] [stdout] test runner::satisfaction::compute_satisfaction_tests::satisfied_when_fails_blocks_fallthrough ... ok
[INFO] [stdout] test runner::satisfaction::compute_satisfaction_tests::satisfied_when_passes ... ok
[INFO] [stdout] test runner::satisfaction::tests::collect_named_check_results_from_combinator ... ok
[INFO] [stdout] test runner::satisfaction::tests::collect_named_check_results_from_single_named_check ... ok
[INFO] [stdout] test runner::satisfaction::tests::inline_presence_check_not_satisfied_when_file_missing ... ok
[INFO] [stdout] test runner::satisfaction::tests::inline_presence_check_satisfied_when_file_exists ... ok
[INFO] [stdout] test runner::satisfaction::tests::mixed_ref_and_inline_conditions ... ok
[INFO] [stdout] test runner::satisfaction::tests::mixed_ref_and_inline_one_fails ... ok
[INFO] [stdout] test runner::satisfaction::tests::no_conditions_returns_none ... ok
[INFO] [stdout] test runner::satisfaction::tests::ref_not_found_fails ... ok
[INFO] [stdout] test runner::satisfaction::tests::multiple_conditions_all_pass ... ok
[INFO] [stdout] test runner::satisfaction::tests::multiple_conditions_all_must_pass ... ok
[INFO] [stdout] test runner::satisfaction::tests::ref_resolves_cross_step_named_check ... ok
[INFO] [stdout] test runner::satisfaction::tests::ref_resolves_same_step_named_check ... ok
[INFO] [stdout] test runner::satisfaction::tests::unnamed_checks_not_collected ... ok
[INFO] [stdout] test runner::step_manager::tests::step_indent_matches_step_number_width ... ok
[INFO] [stdout] test runner::satisfaction::compute_satisfaction_tests::rerun_window_never_not_satisfied ... ok
[INFO] [stdout] test runner::patterns::tests::find_hint_ignores_high_confidence ... ok
[INFO] [stdout] test runner::telemetry::tests::scrub_preserves_safe_text ... ok
[INFO] [stdout] test runner::telemetry::tests::scrub_removes_home_paths ... ok
[INFO] [stdout] test runner::telemetry::tests::scrub_removes_filesystem_paths ... ok
[INFO] [stdout] test runner::patterns::tests::all_patterns_compile ... ok
[INFO] [stdout] test runner::telemetry::tests::build_report_creates_correct_structure ... ok
[INFO] [stdout] test runner::telemetry::tests::failure_report_contains_no_paths ... ok
[INFO] [stdout] test runner::telemetry::tests::scrub_removes_secret_env_values ... ok
[INFO] [stdout] test runner::telemetry::tests::scrub_removes_sk_tokens ... ok
[INFO] [stdout] test registry::remote::tests::loads_templates_from_git_source_root ... ok
[INFO] [stdout] test runner::telemetry::tests::scrub_removes_tokens ... ok
[INFO] [stdout] test runner::workflow::tests::allow_failure_continues_to_next_step ... ok
[INFO] [stdout] test runner::telemetry::tests::scrub_truncates_long_output ... ok
[INFO] [stdout] test runner::workflow::tests::allow_failure_lets_all_dependent_steps_run ... ok
[INFO] [stdout] test runner::workflow::tests::allow_failure_suppresses_menu ... ok
[INFO] [stdout] test runner::telemetry::tests::telemetry_prompt_returns_no_thanks ... ok
[INFO] [stdout] test runner::workflow::tests::build_graph_validates_workflow ... ok
[INFO] [stdout] test runner::workflow::tests::dry_run_does_not_execute ... ok
[INFO] [stdout] test runner::workflow::tests::failed_step_stops_dependent_step ... ok
[INFO] [stdout] test runner::telemetry::tests::telemetry_prompt_returns_send ... ok
[INFO] [stdout] test runner::workflow::tests::auto_retry_succeeds ... ok
[INFO] [stdout] test runner::workflow::tests::independent_steps_continue_after_failure ... ok
[INFO] [stdout] test runner::telemetry::tests::telemetry_prompt_not_shown_when_never ... ok
[INFO] [stdout] test runner::workflow::tests::auto_retry_before_menu ... ok
[INFO] [stdout] test runner::telemetry::tests::telemetry_saves_report_to_disk ... ok
[INFO] [stdout] test runner::workflow::tests::hint_shown_on_low_confidence ... ok
[INFO] [stdout] test runner::workflow::tests::non_interactive_no_menu ... ok
[INFO] [stdout] test runner::workflow::tests::recovery_detail_in_skip ... ok
[INFO] [stdout] test runner::workflow::tests::recovery_abort_stops_workflow ... ok
[INFO] [stdout] test runner::workflow::tests::non_interactive_auto_retry ... ok
[INFO] [stdout] test runner::workflow::tests::recovery_fix_confirmed_retries ... ok
[INFO] [stdout] test runner::workflow::tests::recovery_abort_includes_partial_results ... ok
[INFO] [stdout] test runner::workflow::tests::run_filters_only_environments ... ok
[INFO] [stdout] test runner::workflow::tests::recovery_fix_declined_reprompts ... ok
[INFO] [stdout] test runner::workflow::tests::run_only_environments_skipped_steps_in_result ... ok
[INFO] [stdout] test runner::workflow::tests::run_options_should_force_returns_true_for_every_step_when_force_all ... ok
[INFO] [stdout] test runner::workflow::tests::run_options_should_force_returns_true_for_named_step ... ok
[INFO] [stdout] test runner::workflow::tests::run_includes_matching_only_environments ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_progress_emits_events ... ok
[INFO] [stdout] test runner::workflow::tests::run_empty_only_environments_runs_always ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_progress_reports_skips ... ok
[INFO] [stdout] test runner::workflow::tests::recovery_retry_succeeds ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_auto_runs_all_steps_without_prompting ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_progress_respects_only_environments ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_confirm_step_skipped_when_declined ... ok
[INFO] [stdout] test runner::workflow::tests::recovery_detail_in_retry ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_auto_skips_when_satisfied ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_errors_on_unknown_requirement ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_force_all_reruns_every_satisfied_step ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_blocked_step_shows_warning ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_executes_simple_step ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_error_block_indent_two_digit_total ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_interactive_warns_on_missing ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_error_block_indent_single_step ... ok
[INFO] [stdout] test runner::workflow::tests::recovery_skip_does_not_block_dependents ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_interactive_no_check_auto_runs ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_force_reruns_satisfied_step ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_non_interactive_fails_on_missing ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_no_gaps_when_requires_empty ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_sensitive_not_skippable_declined_errors ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_sensitive_step_prompts ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_no_prompt_when_non_interactive ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_no_prompt_when_not_skippable ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_silent_skip_when_not_interactive ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_shows_error_output_on_failure ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_satisfied_step_auto_skips_no_prompts ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_proceeds_when_all_satisfied ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_step_level_force_reruns_satisfied_step ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_workflow_non_interactive_suppresses_prompts ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_silent_skip_when_prompt_on_rerun_false ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_incomplete_check_auto_runs ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_step_override_disables_prompt_on_rerun ... ok
[INFO] [stdout] test runner::workflow::tests::run_workflow_with_skip ... ok
[INFO] [stdout] test runner::workflow::tests::runner_env_override_depends_on_cycle_detected ... ok
[INFO] [stdout] test runner::workflow::tests::runner_env_override_depends_on_changes_graph ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_warns_on_system_only ... ok
[INFO] [stdout] test runner::telemetry::tests::telemetry_auto_sends_when_always ... ok
[INFO] [stdout] test runner::workflow::tests::step_execution_error_stops_when_not_allow_failure ... ok
[INFO] [stdout] test runner::workflow::tests::transitive_dependency_blocked ... ok
[INFO] [stdout] test runner::workflow::tests::step_execution_error_does_not_abort_workflow ... ok
[INFO] [stdout] test runner::workflow::tests::run_with_ui_step_error_continues_with_allow_failure ... ok
[INFO] [stdout] test runner::workflow::tests::workflow_result_aborted_defaults_false ... ok
[INFO] [stdout] test secrets::mask::tests::add_secrets_batch ... ok
[INFO] [stdout] test secrets::mask::tests::ignores_empty_secrets ... ok
[INFO] [stdout] test secrets::mask::tests::masking_writer_handles_partial_lines ... ok
[INFO] [stdout] test secrets::mask::tests::masking_writer_masks_output ... ok
[INFO] [stdout] test secrets::mask::tests::custom_mask_string ... ok
[INFO] [stdout] test secrets::mask::tests::masks_multiple_occurrences ... ok
[INFO] [stdout] test secrets::mask::tests::masks_multiple_secrets ... ok
[INFO] [stdout] test secrets::mask::tests::masks_single_secret ... ok
[INFO] [stdout] test runner::workflow::tests::workflow_force_all_in_yaml_reruns_every_satisfied_step ... ok
[INFO] [stdout] test secrets::mask::tests::default_is_new ... ok
[INFO] [stdout] test secrets::mask::tests::no_masking_without_secrets ... ok
[INFO] [stdout] test secrets::pattern::tests::empty_patterns_match_nothing ... ok
[INFO] [stdout] test secrets::pattern::tests::loads_custom_secret_patterns_from_config ... ok
[INFO] [stdout] test runner::workflow::tests::run_workflow_in_order ... ok
[INFO] [stdout] test runner::workflow::tests::workflow_force_list_in_yaml_reruns_only_listed_steps ... ok
[INFO] [stdout] test secrets::pattern::tests::custom_patterns_work ... ok
[INFO] [stdout] test secrets::pattern::tests::does_not_match_non_secrets ... ok
[INFO] [stdout] test secrets::pattern::tests::finds_secrets_in_list ... ok
[INFO] [stdout] test secrets::pattern::tests::matches_api_key_variants ... ok
[INFO] [stdout] test secrets::pattern::tests::matcher_includes_custom_patterns_from_config ... ok
[INFO] [stdout] test secrets::pattern::tests::custom_patterns_are_exact_match ... ok
[INFO] [stdout] test session::id::tests::session_id_default ... ok
[INFO] [stdout] test session::id::tests::session_id_display ... ok
[INFO] [stdout] test session::id::tests::session_id_generation ... ok
[INFO] [stdout] test session::id::tests::session_id_parse_invalid ... ok
[INFO] [stdout] test session::id::tests::session_id_serialization ... ok
[INFO] [stdout] test session::id::tests::session_id_timestamp_extraction ... ok
[INFO] [stdout] test session::id::tests::session_id_from_string ... ok
[INFO] [stdout] test session::metadata::tests::session_metadata_add_error ... ok
[INFO] [stdout] test session::metadata::tests::session_metadata_add_step_result ... ok
[INFO] [stdout] test session::metadata::tests::session_metadata_creation ... ok
[INFO] [stdout] test session::metadata::tests::session_context_default ... ok
[INFO] [stdout] test requirements::checker::evaluator::tests::all_builtin_requirements_evaluate_without_panic ... ok
[INFO] [stdout] test session::metadata::tests::session_metadata_finalize ... ok
[INFO] [stdout] test session::metadata::tests::session_metadata_set_config ... ok
[INFO] [stdout] test session::metadata::tests::session_metadata_serialization ... ok
[INFO] [stdout] test session::metadata::tests::session_metadata_set_flag ... ok
[INFO] [stdout] test secrets::pattern::tests::matches_connection_strings ... ok
[INFO] [stdout] test session::store::tests::session_store_empty_list ... ok
[INFO] [stdout] test session::store::tests::session_store_get_latest_empty ... ok
[INFO] [stdout] test secrets::pattern::tests::matches_token_variants ... ok
[INFO] [stdout] test session::store::tests::session_store_load_nonexistent ... ok
[INFO] [stdout] test session::store::tests::session_store_save_and_load ... ok
[INFO] [stdout] test session::tests::default_store_path_valid ... ok
[INFO] [stdout] test shell::command::tests::command_result_tracks_duration ... ok
[INFO] [stdout] test session::store::tests::session_store_get_latest ... ok
[INFO] [stdout] test shell::command::tests::execute_failing_command ... ok
[INFO] [stdout] test secrets::pattern::tests::matches_password_variants ... ok
[INFO] [stdout] test session::store::tests::session_store_list_recent ... ok
[INFO] [stdout] test shell::command::tests::execute_streaming_captures_output ... ok
[INFO] [stdout] test shell::command::tests::execute_successful_command ... ok
[INFO] [stdout] test shell::command::tests::execute_with_cwd ... ok
[INFO] [stdout] test session::store::tests::session_store_cleanup ... ok
[INFO] [stdout] test shell::command::tests::execute_quiet_captures_silently ... ok
[INFO] [stdout] test shell::command::tests::execute_check_returns_bool ... ok
[INFO] [stdout] test shell::command::tests::execute_streaming_captures_stderr ... ok
[INFO] [stdout] test shell::command::tests::shell_flag_uses_non_login_non_interactive ... ok
[INFO] [stdout] test shell::platform::tests::config_files_for_bash ... ok
[INFO] [stdout] test shell::platform::tests::config_files_for_zsh ... ok
[INFO] [stdout] test shell::platform::tests::detect_shell_returns_info ... ok
[INFO] [stdout] test shell::platform::tests::is_ci_detects_environment ... ok
[INFO] [stdout] test shell::command::tests::execute_with_env ... ok
[INFO] [stdout] test shell::platform::tests::reload_command_includes_bivvy_continue ... ok
[INFO] [stdout] test shell::platform::tests::shell_type_from_executable ... ok
[INFO] [stdout] test shell::debug::tests::debug_shell_cwd ... ok
[INFO] [stdout] test shell::refresh::tests::exec_command_uses_shell_name ... ok
[INFO] [stdout] test shell::refresh::tests::default_creates_new_detector ... ok
[INFO] [stdout] test shell::refresh::tests::expected_count_tracks_additions ... ok
[INFO] [stdout] test shell::refresh::tests::detects_missing_path_additions ... ok
[INFO] [stdout] test shell::refresh::tests::message_indicates_count ... ok
[INFO] [stdout] test shell::refresh::tests::no_refresh_when_no_expectations ... ok
[INFO] [stdout] test shell::refresh::tests::shell_reload_info_detects_zsh ... ok
[INFO] [stdout] test shell::refresh::tests::no_refresh_when_paths_present ... ok
[INFO] [stdout] test shell::refresh::tests::shell_reload_info_detects_fish ... ok
[INFO] [stdout] test shell::resume::tests::clear_removes_state ... ok
[INFO] [stdout] test shell::resume::tests::exists_returns_false_when_no_state ... ok
[INFO] [stdout] test shell::resume::tests::reload_choice_descriptions ... ok
[INFO] [stdout] test shell::resume::tests::load_returns_none_when_no_state ... ok
[INFO] [stdout] test snapshots::tests::capture_named_snapshot ... ok
[INFO] [stdout] test snapshots::tests::delete_named_snapshot ... ok
[INFO] [stdout] test shell::resume::tests::saves_and_loads_resume_state ... ok
[INFO] [stdout] test shell::refresh::tests::shell_reload_info_unknown_shell ... ok
[INFO] [stdout] test snapshots::tests::different_config_hashes_are_isolated ... ok
[INFO] [stdout] test shell::debug::tests::debug_shell_env_vars ... ok
[INFO] [stdout] test snapshots::tests::delete_nonexistent_returns_false ... ok
[INFO] [stdout] test snapshots::tests::project_and_workflow_scopes_are_isolated ... ok
[INFO] [stdout] test session::metadata::tests::session_metadata_duration ... ok
[INFO] [stdout] test snapshots::tests::get_baseline_returns_none_when_missing ... ok
[INFO] [stdout] test snapshots::tests::list_named_excludes_internal ... ok
[INFO] [stdout] test snapshots::tests::empty_dir_load_all_works ... ok
[INFO] [stdout] test secrets::pattern::tests::matches_secret_variants ... ok
[INFO] [stdout] test snapshots::tests::snapshot_key_project_filename ... ok
[INFO] [stdout] test snapshots::tests::snapshot_key_workflow_filename ... ok
[INFO] [stdout] test snapshots::tests::record_updates_existing_baseline ... ok
[INFO] [stdout] test shell::refresh::tests::shell_reload_info_detects_bash ... ok
[INFO] [stdout] test state::history::tests::run_history_builder_failed ... ok
[INFO] [stdout] test state::history::tests::run_history_builder_success ... ok
[INFO] [stdout] test state::history::tests::run_history_builder_empty_steps ... ok
[INFO] [stdout] test state::history::tests::run_status_equality ... ok
[INFO] [stdout] test state::index::tests::project_index_default ... ok
[INFO] [stdout] test snapshots::tests::save_and_reload ... ok
[INFO] [stdout] test state::index::tests::project_entry_serializes ... ok
[INFO] [stdout] test snapshots::tests::record_and_retrieve_baseline ... ok
[INFO] [stdout] test state::index::tests::project_index_prune_removes_missing ... ok
[INFO] [stdout] test state::index::tests::project_index_prune_keeps_existing ... ok
[INFO] [stdout] test state::preferences::tests::preferences_default ... ok
[INFO] [stdout] test state::history::tests::run_record_serializes ... ok
[INFO] [stdout] test state::index::tests::project_index_update ... ok
[INFO] [stdout] test state::preferences::tests::preferences_serializes_correctly ... ok
[INFO] [stdout] test state::history::tests::run_history_builder_interrupted ... ok
[INFO] [stdout] test state::preferences::tests::preferences_save_and_load ... ok
[INFO] [stdout] test state::index::tests::project_index_list ... ok
[INFO] [stdout] test state::preferences::tests::preferences_template_sources ... ok
[INFO] [stdout] test state::preferences::tests::preferences_save_uses_atomic_write ... ok
[INFO] [stdout] test state::project::tests::project_id_nonexistent_path_fails ... ok
[INFO] [stdout] test state::project::tests::project_id_git_remote_is_none_for_non_git ... ok
[INFO] [stdout] test state::project::tests::project_id_same_path_same_hash ... ok
[INFO] [stdout] test state::project::tests::project_id_name_is_directory ... ok
[INFO] [stdout] test state::recorder::tests::records_step_completion ... ok
[INFO] [stdout] test state::recorder::tests::ignores_unrelated_events ... ok
[INFO] [stdout] test state::project::tests::project_id_from_path ... ok
[INFO] [stdout] test state::index::tests::project_index_get ... ok
[INFO] [stdout] test state::preferences::tests::preferences_load_nonexistent_returns_default ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_evidence_validation_fails_for_missing_file ... ok
[INFO] [stdout] test state::project::tests::project_id_different_paths_different_hash ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_flush_merges_runtime_into_persisted ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_flush_no_temp_file_remains ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_get_with_no_hash_checks ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_has_record ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_invalidate_all ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_invalidate_step ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_flush_writes_to_disk ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_load_invalid_json_returns_empty ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_load_from_disk ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_runtime_not_found ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_load_nonexistent_returns_empty ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_store_and_retrieve_runtime ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_runtime_takes_precedence ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_change_baseline_always_needs_reeval ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_command_success_always_needs_reeval ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_composite_all_valid ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_composite_empty_is_valid ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_structural_invalidation_step_hash ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_composite_one_invalid ... ok
[INFO] [stdout] test state::satisfaction::cache_tests::cache_structural_invalidation_config_hash ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_historical_run_invalid_for_failure ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_historical_run_validates_for_success ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_json_round_trip_all_variants ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_none_always_invalid ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_presence_binary_invalid_for_unknown ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_presence_binary_validates_for_known_binary ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_presence_file_invalid_when_missing ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_presence_absolute_path ... ok
[INFO] [stdout] test state::satisfaction::tests::evidence_presence_file_validates_when_exists ... ok
[INFO] [stdout] test state::satisfaction::tests::presence_kind_round_trip ... ok
[INFO] [stdout] test state::satisfaction::tests::satisfaction_record_json_round_trip ... ok
[INFO] [stdout] test state::satisfaction::tests::satisfaction_source_round_trip ... ok
[INFO] [stdout] test state::recorder::tests::shared_store_accessible_after_recording ... ok
[INFO] [stdout] test state::recorder::tests::records_step_skipped ... ok
[INFO] [stdout] test state::store::migration_tests::v3_state_loads_correctly ... ok
[INFO] [stdout] test state::project::tests::project_id_path_accessor ... ok
[INFO] [stdout] test state::recorder::tests::records_step_failure ... ok
[INFO] [stdout] test state::store::query_tests::status_summary ... ok
[INFO] [stdout] test state::store::migration_tests::migrate_v3_returns_no_baselines ... ok
[INFO] [stdout] test secrets::pattern::tests::pattern_count_is_correct ... ok
[INFO] [stdout] test state::store::step_state_tests::clear_all_steps ... ok
[INFO] [stdout] test state::store::migration_tests::migrate_v1_extracts_watches_hash_as_baseline ... ok
[INFO] [stdout] test state::store::tests::save_uses_atomic_write ... ok
[INFO] [stdout] test state::store::tests::state_store_new ... ok
[INFO] [stdout] test state::store::migration_tests::migrate_v2_drops_runs_field ... ok
[INFO] [stdout] test state::store::tests::step_status_serializes ... ok
[INFO] [stdout] test steps::executor::tests::actually_executed_only_for_real_runs ... ok
[INFO] [stdout] test steps::executor::tests::before_hook_failure_stops_execution ... ok
[INFO] [stdout] test state::store::tests::state_store_save_and_load ... ok
[INFO] [stdout] test steps::executor::tests::execute_step_dry_run ... ok
[INFO] [stdout] test steps::executor::tests::after_hooks_skipped_on_command_failure ... ok
[INFO] [stdout] test steps::executor::tests::execute_step_inputs_available_in_dry_run ... ok
[INFO] [stdout] test steps::executor::tests::execute_step_rejects_empty_command ... ok
[INFO] [stdout] test steps::executor::tests::execute_step_rejects_whitespace_only_command ... ok
[INFO] [stdout] test steps::executor::tests::execute_step_fails_on_hook_failure ... ok
[INFO] [stdout] test steps::executor::tests::execute_step_runs_command ... ok
[INFO] [stdout] test steps::executor::tests::execute_step_resolves_template_inputs ... ok
[INFO] [stdout] test steps::executor::tests::format_duration_formats_correctly ... ok
[INFO] [stdout] test state::store::step_state_tests::is_step_complete_false_for_failed ... ok
[INFO] [stdout] test steps::executor::tests::hooks_execute_in_order ... ok
[INFO] [stdout] test state::store::step_state_tests::clear_step ... ok
[INFO] [stdout] test state::store::step_state_tests::is_step_complete ... ok
[INFO] [stdout] test steps::executor::tests::execute_step_merges_env ... ok
[INFO] [stdout] test steps::executor::tests::step_env_overrides_base_env_when_shell_silent ... ok
[INFO] [stdout] test steps::executor::tests::step_result_recovery_detail_defaults_none ... ok
[INFO] [stdout] test steps::executor::tests::step_result_status ... ok
[INFO] [stdout] test steps::executor::tests::step_result_summary_line_includes_status ... ok
[INFO] [stdout] test steps::executor::tests::step_result_summary_line_skipped_shows_check_description ... ok
[INFO] [stdout] test steps::executor::tests::step_result_summary_line_skipped_without_check_result ... ok
[INFO] [stdout] test steps::executor::tests::step_status_display ... ok
[INFO] [stdout] test steps::executor::tests::step_status_display_char ... ok
[INFO] [stdout] test steps::executor::tests::step_status_is_terminal ... ok
[INFO] [stdout] test steps::executor::tests::was_check_passed_distinguishes_check_only_results ... ok
[INFO] [stdout] test steps::resolved::tests::apply_environment_overrides_adds_env_var ... ok
[INFO] [stdout] test steps::resolved::tests::apply_environment_overrides_ignores_none_fields ... ok
[INFO] [stdout] test steps::resolved::tests::apply_environment_overrides_removes_env_var ... ok
[INFO] [stdout] test steps::resolved::tests::apply_environment_overrides_replaces_command ... ok
[INFO] [stdout] test steps::resolved::tests::apply_environment_overrides_replaces_requires ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_applies_environment_overrides ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_auto_run_explicit_false ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_auto_run_none_defaults_true ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_carries_prompts ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_carries_satisfied_when ... ok
[INFO] [stdout] test steps::executor::tests::process_env_overrides_base_env ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_empty_only_environments ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_empty_satisfied_when_by_default ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_has_empty_inputs ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_no_override_for_unknown_environment ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_none_environment_skips_overrides ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_propagates_only_environments ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_uses_name_as_default_title ... ok
[INFO] [stdout] test steps::resolved::tests::from_config_works_without_template ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_applies_environment_overrides ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_carries_prompts ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_carries_satisfied_when ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_config_env_overrides_template_env ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_config_overrides_template ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_merges_env ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_none_environment_uses_base ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_no_input_when_not_provided_and_no_default ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_propagates_only_environments ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_resolves_provided_inputs ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_uses_default_when_input_not_provided ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_carries_requires_from_config ... ok
[INFO] [stdout] test steps::resolved::tests::from_template_uses_template_defaults ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_deduplicates_merged_requires ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_env_overrides_auto_run ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_env_overrides_check ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_env_overrides_depends_on ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_env_overrides_description ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_env_overrides_existing_env_var ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_env_overrides_retry ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_env_overrides_skippable ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_environment_override_precondition ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_env_overrides_title ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_includes_precondition ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_precondition_defaults_none ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_merges_template_and_config_requires ... ok
[INFO] [stdout] test steps::resolved::tests::resolved_step_requires_defaults_empty ... ok
[INFO] [stdout] test steps::resolved::tests::step_environment_override_defaults_all_none ... ok
[INFO] [stdout] test steps::sensitive::tests::default_handler ... ok
[INFO] [stdout] test steps::sensitive::tests::dry_run_hides_sensitive_command ... ok
[INFO] [stdout] test steps::sensitive::tests::is_dry_run_accessor ... ok
[INFO] [stdout] test steps::sensitive::tests::is_non_interactive_accessor ... ok
[INFO] [stdout] test steps::sensitive::tests::confirm_in_interactive_mode ... ok
[INFO] [stdout] test state::store::tests::state_store_load_nonexistent_returns_new ... ok
[INFO] [stdout] test steps::sensitive::tests::no_confirm_in_ci ... ok
[INFO] [stdout] test steps::sensitive::tests::no_confirm_in_non_interactive ... ok
[INFO] [stdout] test steps::sensitive::tests::sensitive_output_not_logged ... ok
[INFO] [stdout] test sys::tests::cache_dir_returns_some ... ok
[INFO] [stdout] test sys::tests::data_dir_returns_some ... ok
[INFO] [stdout] test sys::tests::data_local_dir_returns_some ... ok
[INFO] [stdout] test steps::executor::tests::execute_step_runs_hooks ... ok
[INFO] [stdout] test sys::tests::glob_match_no_wildcards ... ok
[INFO] [stdout] test sys::tests::glob_match_question_mark ... ok
[INFO] [stdout] test sys::tests::glob_finds_matching_files ... ok
[INFO] [stdout] test sys::tests::find_on_path_finds_sh ... ok
[INFO] [stdout] test sys::tests::find_on_path_returns_none_for_nonexistent ... ok
[INFO] [stdout] test sys::tests::glob_match_recursive ... ok
[INFO] [stdout] test sys::tests::glob_no_matches_returns_empty ... ok
[INFO] [stdout] test sys::tests::glob_nonexistent_dir_returns_empty ... ok
[INFO] [stdout] test sys::tests::glob_match_simple_wildcard ... ok
[INFO] [stdout] test sys::tests::home_dir_returns_some ... ok
[INFO] [stdout] test sys::tests::open_in_browser_does_not_panic ... ok
[INFO] [stdout] test sys::tests::percent_decode_handles_plus_as_space ... ok
[INFO] [stdout] test sys::tests::percent_decode_passthrough_plain ... ok
[INFO] [stdout] test sys::tests::percent_decode_roundtrip ... ok
[INFO] [stdout] test sys::tests::percent_encode_encodes_spaces_and_special ... ok
[INFO] [stdout] test sys::tests::percent_encode_encodes_unicode ... ok
[INFO] [stdout] test sys::tests::glob_recursive_pattern ... ok
[INFO] [stdout] test sys::tests::percent_encode_preserves_unreserved ... ok
[INFO] [stdout] test sys::tests::random_bytes_fills_buffer ... ok
[INFO] [stdout] test sys::tests::random_bytes_produces_different_values ... ok
[INFO] [stdout] test ui::hints::tests::after_add_hint ... ok
[INFO] [stdout] test ui::hints::tests::after_failed_run_no_steps ... ok
[INFO] [stdout] test ui::hints::tests::after_failed_run_with_steps ... ok
[INFO] [stdout] test ui::hints::tests::after_init_hint ... ok
[INFO] [stdout] test ui::hints::tests::after_successful_run_hint ... ok
[INFO] [stdout] test ui::hints::tests::all_pending_hint ... ok
[INFO] [stdout] test ui::hints::tests::some_pending_hint ... ok
[INFO] [stdout] test ui::icons::tests::all_variants_have_unique_brackets ... ok
[INFO] [stdout] test ui::icons::tests::all_variants_have_unique_icons ... ok
[INFO] [stdout] test ui::icons::tests::bracketed_returns_text_labels ... ok
[INFO] [stdout] test ui::icons::tests::format_includes_icon_and_message ... ok
[INFO] [stdout] test state::store::step_state_tests::record_step_result ... ok
[INFO] [stdout] test ui::icons::tests::format_plain_uses_brackets ... ok
[INFO] [stdout] test ui::icons::tests::from_run_status ... ok
[INFO] [stdout] test ui::icons::tests::from_state_step_status ... ok
[INFO] [stdout] test ui::icons::tests::from_steps_step_status ... ok
[INFO] [stdout] test ui::icons::tests::icon_returns_unicode_symbols ... ok
[INFO] [stdout] test ui::icons::tests::styled_returns_string_with_icon ... ok
[INFO] [stdout] test ui::mock::tests::mock_spinner_captures_finish ... ok
[INFO] [stdout] test ui::mock::tests::mock_spinner_error_status ... ok
[INFO] [stdout] test ui::mock::tests::mock_spinner_skipped_status ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_captures_error_blocks ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_captures_headers ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_captures_messages ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_captures_progress ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_captures_spinners ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_clear_resets ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_clear_resets_error_blocks ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_confirm_returns_bool_from_response ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_confirm_returns_false_for_no ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_confirm_uses_default ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_confirm_without_response_or_default_returns_false ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_error_block_empty_output_not_captured_as_message ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_error_block_without_hint ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_has_helpers ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_has_warning_helper ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_is_not_interactive ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_multiselect_empty_without_response_or_default ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_multiselect_returns_strings_from_default ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_multiselect_returns_strings_from_response ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_output_mode ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_prompt_falls_back_to_default ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_prompt_with_response ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_queued_confirm_responses ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_queued_responses_fallback_to_set_response ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_queued_responses_returned_in_order ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_set_interactive ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_set_output_mode ... ok
[INFO] [stdout] test ui::non_interactive::tests::ci_mode_is_stored ... ok
[INFO] [stdout] test ui::mock::tests::mock_ui_with_prompt_responses ... ok
[INFO] [stdout] test ui::non_interactive::tests::multiselect_prompt_uses_default ... ok
[INFO] [stdout] test ui::non_interactive::tests::multiselect_prompt_uses_env_override ... ok
[INFO] [stdout] test ui::non_interactive::tests::non_ci_mode_when_explicit ... ok
[INFO] [stdout] test ui::non_interactive::tests::non_interactive_is_not_interactive ... ok
[INFO] [stdout] test ui::non_interactive::tests::noop_spinner_error ... ok
[INFO] [stdout] test ui::non_interactive::tests::noop_spinner_methods ... ok
[INFO] [stdout] test ui::non_interactive::tests::noop_spinner_skipped ... ok
[INFO] [stdout] test ui::non_interactive::tests::output_mode_preserved ... ok
[INFO] [stdout] test ui::non_interactive::tests::prompt_fails_without_default ... ok
[INFO] [stdout] test ui::non_interactive::tests::prompt_uses_default ... ok
[INFO] [stdout] test ui::non_interactive::tests::prompt_uses_env_override ... ok
[INFO] [stdout] test ui::output::tests::check_passed_label_formats ... ok
[INFO] [stdout] test ui::output::tests::from_config_silent ... ok
[INFO] [stdout] test ui::output::tests::from_config_verbose ... ok
[INFO] [stdout] test ui::output::tests::from_config_quiet ... ok
[INFO] [stdout] test ui::output::tests::output_mode_default ... ok
[INFO] [stdout] test ui::output::tests::output_mode_from_str ... ok
[INFO] [stdout] test ui::output::tests::output_mode_shows_command_output ... ok
[INFO] [stdout] test ui::output::tests::output_mode_shows_spinners ... ok
[INFO] [stdout] test ui::output::tests::output_mode_shows_status ... ok
[INFO] [stdout] test ui::output::tests::output_new_and_mode ... ok
[INFO] [stdout] test ui::output::tests::rerun_prompt_label_formats ... ok
[INFO] [stdout] test ui::output::tests::satisfaction_label_formats ... ok
[INFO] [stdout] test ui::output::tests::verbose_stream_sink_indent ... ok
[INFO] [stdout] test ui::output::tests::verbose_stream_sink_skips_empty_lines ... ok
[INFO] [stdout] test ui::preflight::tests::non_interactive_empty_prompts ... ok
[INFO] [stdout] test ui::preflight::tests::non_interactive_env_override_takes_precedence ... ok
[INFO] [stdout] test ui::preflight::tests::non_interactive_fails_without_default ... ok
[INFO] [stdout] test ui::preflight::tests::non_interactive_mixed_sources ... ok
[INFO] [stdout] test ui::preflight::tests::non_interactive_multiple_prompts ... ok
[INFO] [stdout] test ui::preflight::tests::non_interactive_uses_defaults ... ok
[INFO] [stdout] test ui::preflight::tests::non_interactive_uses_env_override ... ok
[INFO] [stdout] test ui::presenter::tests::captures_step_completed_failure ... ok
[INFO] [stdout] test ui::presenter::tests::captures_step_completed_success ... ok
[INFO] [stdout] test ui::presenter::tests::captures_step_skipped ... ok
[INFO] [stdout] test ui::presenter::tests::captures_workflow_completed ... ok
[INFO] [stdout] test ui::presenter::tests::captures_workflow_started ... ok
[INFO] [stdout] test ui::presenter::tests::drain_messages_clears ... ok
[INFO] [stdout] test ui::progress::tests::format_duration_milliseconds ... ok
[INFO] [stdout] test ui::presenter::tests::ignores_unrelated_events ... ok
[INFO] [stdout] test ui::progress::tests::format_duration_minutes ... ok
[INFO] [stdout] test ui::progress::tests::format_duration_seconds ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_days ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_future_shows_just_now ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_hours ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_just_now ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_minutes ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_months ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_one_hour ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_one_minute ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_one_month ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_one_year ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_seconds_ago ... ok
[INFO] [stdout] test ui::progress::tests::relative_time_yesterday ... ok
[INFO] [stdout] test ui::progress::tests::step_progress_error_without_spinner ... ok
[INFO] [stdout] test ui::progress::tests::step_progress_skipped_without_spinner ... ok
[INFO] [stdout] [?25l[?25htest ui::progress::tests::step_progress_update_without_spinner ... ok
[INFO] [stdout] test ui::progress::tests::step_progress_without_spinner ... ok
[INFO] [stdout] test ui::prompts::tests::cursor_guard_restores_on_drop ... ok
[INFO] [stdout] test ui::prompts::tests::is_yes_no_returns_false_for_more_than_two ... ok
[INFO] [stdout] test ui::prompts::tests::is_yes_no_returns_false_for_other_options ... ok
[INFO] [stdout] test ui::prompts::tests::is_yes_no_returns_true_for_yes_no_options ... ok
[INFO] [stdout] test ui::prompts::tests::is_yes_no_returns_true_regardless_of_order ... ok
[INFO] [stdout] test ui::prompts::tests::prompt_creation ... ok
[INFO] [stdout] test ui::prompts::tests::prompt_type_confirm_creation ... ok
[INFO] [stdout] test ui::prompts::tests::prompt_type_multiselect_with_options ... ok
[INFO] [stdout] test ui::prompts::tests::prompt_type_select_with_options ... ok
[INFO] [stdout] test ui::prompts::tests::select_theme_creates_without_panic ... ok
[INFO] [stdout] test ui::prompts::tests::yes_no_and_multi_option_selects_error_consistently ... ok
[INFO] [stdout] test ui::prompts::tests::yes_no_prompt_does_not_crash_on_non_tty ... ok
[INFO] [stdout] test ui::spinner::tests::hidden_spinner ... ok
[INFO] [stdout] test ui::spinner::tests::hidden_spinner_progress_bar_returns_some ... ok
[INFO] [stdout] test ui::spinner::tests::live_output_callback_skips_empty_lines ... ok
[INFO] [stdout] test ui::spinner::tests::live_output_callback_truncates_long_lines ... ok
[INFO] [stdout] test ui::spinner::tests::live_output_callback_updates_bar ... ok
[INFO] [stdout] test ui::spinner::tests::spinner_creation ... ok
[INFO] [stdout] test ui::spinner::tests::progress_bar_returns_clone ... ok
[INFO] [stdout] test ui::spinner::tests::spinner_finish_error ... ok
[INFO] [stdout] test ui::spinner::tests::spinner_finish_skipped ... ok
[INFO] [stdout] test ui::spinner::tests::spinner_finish_success ... ok
[INFO] [stdout] test ui::surface::tests::pin_bottom_returns_handle_that_clears_on_drop ... ok
[INFO] [stdout] test ui::spinner::tests::spinner_set_message ... ok
[INFO] [stdout] test ui::spinner::tests::step_spinner_creates_formatted_message ... ok
[INFO] [stdout] test ui::surface::tests::println_does_not_panic_when_hidden ... ok
[INFO] [stdout] test ui::surface::tests::transient_region_finish_with_line_consumes_handle ... ok
[INFO] [stdout] test ui::surface::tests::surface_new_returns_shared_handle ... ok
[INFO] [stdout] test ui::surface::tests::transient_region_min_one_line ... ok
[INFO] [stdout] test ui::surface::tests::transient_region_set_message_passes_through ... ok
[INFO] [stdout] test ui::surface::tests::try_new_does_not_panic_in_test_environment ... ok
[INFO] [stdout] test ui::surface::tests::transient_region_sets_max_lines ... ok
[INFO] [stdout] test ui::surface::tests::with_cursor_freed_runs_closure ... ok
[INFO] [stdout] test ui::table::tests::table_adjusts_column_width ... ok
[INFO] [stdout] test ui::table::tests::table_empty ... ok
[INFO] [stdout] test ui::table::tests::table_handles_missing_cells ... ok
[INFO] [stdout] test ui::table::tests::table_multiple_columns_separators ... ok
[INFO] [stdout] test ui::table::tests::table_render_consistency ... ok
[INFO] [stdout] test ui::table::tests::table_uses_box_drawing ... ok
[INFO] [stdout] test ui::table::tests::table_with_rows ... ok
[INFO] [stdout] test ui::terminal::tests::attach_surface_routes_output ... ok
[INFO] [stdout] test ui::terminal::tests::create_ui_non_interactive ... ok
[INFO] [stdout] test ui::terminal::tests::create_ui_respects_mode ... ok
[INFO] [stdout] test ui::terminal::tests::create_ui_verbose_mode ... ok
[INFO] [stdout] test ui::terminal::tests::terminal_ui_creation ... ok
[INFO] [stdout] test ui::terminal::tests::terminal_ui_output_mode ... ok
[INFO] [stdout] test ui::tests::multiselect_multiple_selections ... ok
[INFO] [stdout] test ui::tests::multiselect_empty_selection_returns_empty_vec ... ok
[INFO] [stdout] test ui::progress::tests::format_duration_zero ... ok
[INFO] [stdout] test ui::tests::prompt_result_as_bool ... ok
[INFO] [stdout] test ui::tests::multiselect_single_selection ... ok
[INFO] [stdout] test ui::tests::prompt_option_creation ... ok
[INFO] [stdout] test ui::tests::prompt_result_as_bool_returns_none_for_strings ... ok
[INFO] [stdout] test ui::tests::prompt_result_as_string_string ... ok
[INFO] [stdout] test ui::tests::prompt_result_as_string_bool ... ok
[INFO] [stdout] test ui::tests::prompt_result_as_string_strings ... ok
[INFO] [stdout] test ui::tests::prompt_result_strings_preserves_order ... ok
[INFO] [stdout] test ui::tests::prompt_type_multiselect_stores_options ... ok
[INFO] [stdout] test ui::tests::prompt_type_select_stores_options ... ok
[INFO] [stdout] test ui::tests::prompt_type_variants ... ok
[INFO] [stdout] test ui::theme::tests::default_impl_matches_new ... ok
[INFO] [stdout] test ui::theme::tests::default_theme_creates_without_panic ... ok
[INFO] [stdout] test ui::theme::tests::plain_theme_creates_without_panic ... ok
[INFO] [stdout] test ui::theme::tests::new_theme_slots_exist ... ok
[INFO] [stdout] test ui::theme::tests::plain_theme_new_slots_exist ... ok
[INFO] [stdout] test ui::theme::tests::theme_formats_error ... ok
[INFO] [stdout] test ui::theme::tests::theme_formats_header ... ok
[INFO] [stdout] test ui::theme::tests::theme_formats_skipped ... ok
[INFO] [stdout] test ui::theme::tests::theme_formats_step ... ok
[INFO] [stdout] test steps::executor::tests::process_env_overrides_step_env ... ok
[INFO] [stdout] test ui::theme::tests::theme_formats_success ... ok
[INFO] [stdout] test ui::theme::tests::theme_formats_warning ... ok
[INFO] [stdout] test updates::auto_update::tests::apply_staged_update_returns_none_when_nothing_staged ... ok
[INFO] [stdout] test updates::auto_update::tests::check_staged_update_returns_none_when_no_staging ... ok
[INFO] [stdout] test steps::executor::tests::interpolation_resolves_against_merged_env ... ok
[INFO] [stdout] test updates::auto_update::tests::clear_staged_update_is_idempotent ... ok
[INFO] [stdout] test updates::auto_update::tests::is_update_process_running_returns_false_without_lock ... ok
[INFO] [stdout] test updates::auto_update::tests::lock_path_returns_lock_file ... ok
[INFO] [stdout] test updates::auto_update::tests::platform_target_contains_arch_and_os ... ok
[INFO] [stdout] test ui::progress::tests::step_progress_elapsed ... ok
[INFO] [stdout] test updates::auto_update::tests::should_spawn_returns_true_in_interactive_non_ci ... ok
[INFO] [stdout] test updates::auto_update::tests::should_spawn_returns_false_in_ci ... ok
[INFO] [stdout] test updates::auto_update::tests::should_spawn_returns_false_when_non_interactive ... ok
[INFO] [stdout] test updates::auto_update::tests::staged_binary_path_has_correct_name ... ok
[INFO] [stdout] test updates::auto_update::tests::staged_update_serialization_roundtrip ... ok
[INFO] [stdout] test updates::auto_update::tests::staged_metadata_path_returns_json_file ... ok
[INFO] [stdout] test updates::auto_update::tests::staging_dir_returns_path ... ok
[INFO] [stdout] test updates::auto_update::tests::replace_binary_with_temp_files ... ok
[INFO] [stdout] test updates::auto_update::tests::write_and_check_lock_file ... ok
[INFO] [stdout] test updates::install::tests::get_install_path_returns_path ... ok
[INFO] [stdout] test updates::install::tests::detect_install_method_returns_something ... ok
[INFO] [stdout] test updates::install::tests::install_method_clone ... ok
[INFO] [stdout] test updates::install::tests::install_method_debug ... ok
[INFO] [stdout] test updates::install::tests::install_method_equality ... ok
[INFO] [stdout] test updates::install::tests::install_method_name ... ok
[INFO] [stdout] test updates::install::tests::install_method_supports_auto_update ... ok
[INFO] [stdout] test updates::install::tests::install_method_update_command ... ok
[INFO] [stdout] test updates::install::tests::is_cargo_install_with_random_path ... ok
[INFO] [stdout] test updates::install::tests::is_homebrew_install_with_cellar_path ... ok
[INFO] [stdout] test updates::install::tests::is_cargo_install_with_cargo_bin ... ok
[INFO] [stdout] test updates::prompt::tests::prompt_for_update_with_manual_install ... ok
[INFO] [stdout] test updates::install::tests::is_homebrew_install_with_random_path ... ok
[INFO] [stdout] test updates::prompt::tests::check_and_prompt_update_non_interactive ... ok
[INFO] [stdout] test updates::prompt::tests::install_method_provides_update_command ... ok
[INFO] [stdout] test updates::prompt::tests::prompt_for_update_with_cargo ... ok
[INFO] [stdout] test updates::prompt::tests::prompt_for_update_with_manual_no_url ... ok
[INFO] [stdout] test updates::prompt::tests::prompt_for_update_with_unknown_install ... ok
[INFO] [stdout] test updates::version::tests::clear_cache_works ... ok
[INFO] [stdout] test updates::prompt::tests::suppress_and_check_notification ... ok
[INFO] [stdout] test updates::prompt::tests::suppress_notification_sets_env ... ok
[INFO] [stdout] test updates::version::tests::cache_path_is_valid ... ok
[INFO] [stdout] test updates::version::tests::is_newer_version_basic ... ok
[INFO] [stdout] test updates::version::tests::is_newer_version_empty_string ... ok
[INFO] [stdout] test updates::version::tests::is_newer_version_handles_prerelease ... ok
[INFO] [stdout] test updates::version::tests::is_newer_version_invalid_format ... ok
[INFO] [stdout] test updates::version::tests::is_newer_version_minor_bump ... ok
[INFO] [stdout] test updates::version::tests::is_newer_version_older ... ok
[INFO] [stdout] test updates::version::tests::is_newer_version_patch_bump ... ok
[INFO] [stdout] test updates::version::tests::is_newer_version_same ... ok
[INFO] [stdout] test updates::version::tests::is_newer_version_with_single_component ... ok
[INFO] [stdout] test updates::version::tests::is_newer_version_with_two_components ... ok
[INFO] [stdout] test updates::version::tests::update_info_creation ... ok
[INFO] [stdout] test updates::version::tests::update_info_serialization ... ok
[INFO] [stdout] test updates::version::tests::update_info_with_no_release_url ... ok
[INFO] [stdout] test updates::version::tests::is_newer_version_major_bump ... ok
[INFO] [stdout] test updates::version::tests::version_constant_exists ... ok
[INFO] [stdout] test steps::executor::tests::hooks_receive_step_env ... ok
[INFO] [stdout] test ui::surface::tests::with_cursor_freed_restores_target_on_panic ... ok
[INFO] [stdout] test updates::prompt::tests::show_update_notification_with_ui ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- cli::commands::list::tests::list_shows_environment_info stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'cli::commands::list::tests::list_shows_environment_info' (433) panicked at src/cli/commands/list.rs:641:9:
[INFO] [stdout] Should show resolved environment name
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cf560adba3a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cf560adba3a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cf560af6dba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cf560af6dba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5cf560ae2392 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5cf560ae2392 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5cf560ab472f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cf560ab472f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cf560ad1389 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cf55f9b666c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5cf55f9b666c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cf560ad1602 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5cf560ad1602 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5cf560ab481a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5cf560aa8f19 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cf560ab5b3d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5cf560af762c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cf55f254ae5 - bivvy[152315d26fa9c96f]::cli::commands::list::tests::list_shows_environment_info
[INFO] [stdout]                                at /opt/rustwide/workdir/src/cli/commands/list.rs:641:9
[INFO] [stdout]   20:     0x5cf55f220d07 - bivvy[152315d26fa9c96f]::cli::commands::list::tests::list_shows_environment_info::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/cli/commands/list.rs:617:37
[INFO] [stdout]   21:     0x5cf55f8e5b16 - <bivvy[152315d26fa9c96f]::cli::commands::list::tests::list_shows_environment_info::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5cf55f9a994b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cf55f9a994b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x5cf55f9b713b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5cf55f9b713b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x5cf55f9b0854 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x5cf55f9b0854 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x5cf55f9b9d42 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x5cf55f9b9d42 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5cf560ada66f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   41:     0x5cf560ada66f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x79762f02eaa4 - <unknown>
[INFO] [stdout]   43:     0x79762f0bba64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- cli::commands::status::tests::status_shows_environment_info stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'cli::commands::status::tests::status_shows_environment_info' (596) panicked at src/cli/commands/status.rs:817:9:
[INFO] [stdout] Should show resolved environment name
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cf560adba3a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cf560adba3a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cf560af6dba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cf560af6dba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5cf560ae2392 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5cf560ae2392 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5cf560ab472f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cf560ab472f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cf560ad1389 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cf55f9b666c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5cf55f9b666c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cf560ad1602 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5cf560ad1602 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5cf560ab481a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5cf560aa8f19 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cf560ab5b3d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5cf560af762c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cf55f5414e5 - bivvy[152315d26fa9c96f]::cli::commands::status::tests::status_shows_environment_info
[INFO] [stdout]                                at /opt/rustwide/workdir/src/cli/commands/status.rs:817:9
[INFO] [stdout]   20:     0x5cf55f4ff647 - bivvy[152315d26fa9c96f]::cli::commands::status::tests::status_shows_environment_info::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/cli/commands/status.rs:792:39
[INFO] [stdout]   21:     0x5cf55f8e6316 - <bivvy[152315d26fa9c96f]::cli::commands::status::tests::status_shows_environment_info::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5cf55f9a994b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cf55f9a994b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x5cf55f9b713b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5cf55f9b713b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x5cf55f9b0854 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x5cf55f9b0854 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x5cf55f9b9d42 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x5cf55f9b9d42 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5cf560ada66f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   41:     0x5cf560ada66f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x79762f02eaa4 - <unknown>
[INFO] [stdout]   43:     0x79762f0bba64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- environment::detection::tests::detect_ci_tf_build_wrong_value stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'environment::detection::tests::detect_ci_tf_build_wrong_value' (1216) panicked at src/environment/detection.rs:462:9:
[INFO] [stdout] assertion failed: detector.detect_with_env(env_fn).is_none()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cf560adba3a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cf560adba3a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cf560af6dba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cf560af6dba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5cf560ae2392 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5cf560ae2392 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5cf560ab472f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cf560ab472f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cf560ad1389 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cf55f9b666c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5cf55f9b666c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cf560ad1602 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5cf560ad1602 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5cf560ab481a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5cf560aa8f19 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cf560ab5b3d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5cf560af762c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cf560af75f2 - core[e929cb53b82a81ca]::panicking::panic
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5cf55f7042a1 - bivvy[152315d26fa9c96f]::environment::detection::tests::detect_ci_tf_build_wrong_value
[INFO] [stdout]                                at /opt/rustwide/workdir/src/environment/detection.rs:462:9
[INFO] [stdout]   21:     0x5cf55f6d4167 - bivvy[152315d26fa9c96f]::environment::detection::tests::detect_ci_tf_build_wrong_value::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/environment/detection.rs:458:40
[INFO] [stdout]   22:     0x5cf55f8c7a46 - <bivvy[152315d26fa9c96f]::environment::detection::tests::detect_ci_tf_build_wrong_value::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cf55f9a994b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5cf55f9a994b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5cf55f9b713b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5cf55f9b713b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5cf55f9b0854 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5cf55f9b0854 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5cf55f9b9d42 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5cf55f9b9d42 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5cf560ada66f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   42:     0x5cf560ada66f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x79762f02eaa4 - <unknown>
[INFO] [stdout]   44:     0x79762f0bba64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- environment::detection::tests::custom_rule_value_must_match stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'environment::detection::tests::custom_rule_value_must_match' (1203) panicked at src/environment/detection.rs:332:9:
[INFO] [stdout] assertion failed: detector.detect_with_env(env_fn).is_none()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cf560adba3a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cf560adba3a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cf560af6dba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cf560af6dba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5cf560ae2392 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5cf560ae2392 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5cf560ab472f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cf560ab472f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cf560ad1389 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cf55f9b666c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5cf55f9b666c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cf560ad1602 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5cf560ad1602 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5cf560ab481a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5cf560aa8f19 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cf560ab5b3d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5cf560af762c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cf560af75f2 - core[e929cb53b82a81ca]::panicking::panic
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5cf55f703a40 - bivvy[152315d26fa9c96f]::environment::detection::tests::custom_rule_value_must_match
[INFO] [stdout]                                at /opt/rustwide/workdir/src/environment/detection.rs:332:9
[INFO] [stdout]   21:     0x5cf55f6d4077 - bivvy[152315d26fa9c96f]::environment::detection::tests::custom_rule_value_must_match::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/environment/detection.rs:320:38
[INFO] [stdout]   22:     0x5cf55f8c7906 - <bivvy[152315d26fa9c96f]::environment::detection::tests::custom_rule_value_must_match::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cf55f9a994b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5cf55f9a994b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5cf55f9b713b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5cf55f9b713b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5cf55f9b0854 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5cf55f9b0854 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5cf55f9b9d42 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5cf55f9b9d42 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5cf560ada66f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   42:     0x5cf560ada66f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x79762f02eaa4 - <unknown>
[INFO] [stdout]   44:     0x79762f0bba64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- environment::detection::tests::detect_nothing_in_clean_env stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'environment::detection::tests::detect_nothing_in_clean_env' (1220) panicked at src/environment/detection.rs:210:9:
[INFO] [stdout] assertion failed: detector.detect_with_env(env_fn).is_none()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cf560adba3a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cf560adba3a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cf560af6dba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cf560af6dba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5cf560ae2392 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5cf560ae2392 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5cf560ab472f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cf560ab472f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cf560ad1389 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cf55f9b666c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5cf55f9b666c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cf560ad1602 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5cf560ad1602 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5cf560ab481a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5cf560aa8f19 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cf560ab5b3d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5cf560af762c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cf560af75f2 - core[e929cb53b82a81ca]::panicking::panic
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5cf55f70356e - bivvy[152315d26fa9c96f]::environment::detection::tests::detect_nothing_in_clean_env
[INFO] [stdout]                                at /opt/rustwide/workdir/src/environment/detection.rs:210:9
[INFO] [stdout]   21:     0x5cf55f6d4047 - bivvy[152315d26fa9c96f]::environment::detection::tests::detect_nothing_in_clean_env::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/environment/detection.rs:207:37
[INFO] [stdout]   22:     0x5cf55f8c78c6 - <bivvy[152315d26fa9c96f]::environment::detection::tests::detect_nothing_in_clean_env::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cf55f9a994b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5cf55f9a994b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5cf55f9b713b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5cf55f9b713b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5cf55f9b0854 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5cf55f9b0854 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5cf55f9b9d42 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5cf55f9b9d42 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5cf560ada66f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   42:     0x5cf560ada66f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x79762f02eaa4 - <unknown>
[INFO] [stdout]   44:     0x79762f0bba64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- environment::resolver::tests::resolve_custom_rule_not_present_falls_back stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'environment::resolver::tests::resolve_custom_rule_not_present_falls_back' (1238) panicked at src/environment/resolver.rs:395:9:
[INFO] [stdout] assertion failed: detected.is_none()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cf560adba3a - std[29689e6404d28ef9]::backtrace_rs::backtrace::trace_unsynchronized::<std[29689e6404d28ef9]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cf560adba3a - std[29689e6404d28ef9]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cf560adba3a - <<std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[e929cb53b82a81ca]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cf560af6dba - <core[e929cb53b82a81ca]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cf560af6dba - core[e929cb53b82a81ca]::fmt::write
[INFO] [stdout]    6:     0x5cf560ae2392 - std[29689e6404d28ef9]::io::default_write_fmt::<alloc[9d7caffeb3b5d2c6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5cf560ae2392 - <alloc[9d7caffeb3b5d2c6]::vec::Vec<u8> as std[29689e6404d28ef9]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5cf560ab472f - <std[29689e6404d28ef9]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cf560ab472f - std[29689e6404d28ef9]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cf560ad1389 - std[29689e6404d28ef9]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cf55f9b666c - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5cf55f9b666c - test[a24b3028667022f7]::test_main_inner::<test[a24b3028667022f7]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cf560ad1602 - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn for<'a, 'b> core[e929cb53b82a81ca]::ops::function::Fn<(&'a std[29689e6404d28ef9]::panic::PanicHookInfo<'b>,), Output = ()> + core[e929cb53b82a81ca]::marker::Send + core[e929cb53b82a81ca]::marker::Sync> as core[e929cb53b82a81ca]::ops::function::Fn<(&std[29689e6404d28ef9]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5cf560ad1602 - std[29689e6404d28ef9]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5cf560ab481a - std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5cf560aa8f19 - std[29689e6404d28ef9]::sys::backtrace::__rust_end_short_backtrace::<std[29689e6404d28ef9]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cf560ab5b3d - __rustc[3aed6af316653e63]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5cf560af762c - core[e929cb53b82a81ca]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cf560af75f2 - core[e929cb53b82a81ca]::panicking::panic
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5cf55f700dc9 - bivvy[152315d26fa9c96f]::environment::resolver::tests::resolve_custom_rule_not_present_falls_back
[INFO] [stdout]                                at /opt/rustwide/workdir/src/environment/resolver.rs:395:9
[INFO] [stdout]   21:     0x5cf55f6d3c57 - bivvy[152315d26fa9c96f]::environment::resolver::tests::resolve_custom_rule_not_present_falls_back::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/environment/resolver.rs:377:52
[INFO] [stdout]   22:     0x5cf55f8c7586 - <bivvy[152315d26fa9c96f]::environment::resolver::tests::resolve_custom_rule_not_present_falls_back::{closure#0} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cf55f9a994b - <fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5cf55f9a994b - test[a24b3028667022f7]::__rust_begin_short_backtrace::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, fn() -> core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5cf55f9b713b - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5cf55f9b713b - std[29689e6404d28ef9]::panicking::catch_unwind::<core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>, core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5cf55f9b713b - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<test[a24b3028667022f7]::run_test_in_process::{closure#0}>, core[e929cb53b82a81ca]::result::Result<(), alloc[9d7caffeb3b5d2c6]::string::String>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test_in_process
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5cf55f9b713b - test[a24b3028667022f7]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5cf55f9b0854 - test[a24b3028667022f7]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5cf55f9b0854 - std[29689e6404d28ef9]::sys::backtrace::__rust_begin_short_backtrace::<test[a24b3028667022f7]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5cf55f9b9d42 - <core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::do_call::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panicking::catch_unwind::<(), core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::panic::catch_unwind::<core[e929cb53b82a81ca]::panic::unwind_safe::AssertUnwindSafe<std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5cf55f9b9d42 - std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked::<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5cf55f9b9d42 - <std[29689e6404d28ef9]::thread::lifecycle::spawn_unchecked<test[a24b3028667022f7]::run_test::{closure#1}, ()>::{closure#1} as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5cf560ada66f - <alloc[9d7caffeb3b5d2c6]::boxed::Box<dyn core[e929cb53b82a81ca]::ops::function::FnOnce<(), Output = ()> + core[e929cb53b82a81ca]::marker::Send> as core[e929cb53b82a81ca]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   42:     0x5cf560ada66f - <std[29689e6404d28ef9]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ec6f9a5b4413f74386267ef8efc93712c2ce6db6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x79762f02eaa4 - <unknown>
[INFO] [stdout]   44:     0x79762f0bba64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     cli::commands::list::tests::list_shows_environment_info
[INFO] [stdout]     cli::commands::status::tests::status_shows_environment_info
[INFO] [stdout]     environment::detection::tests::custom_rule_value_must_match
[INFO] [stdout]     environment::detection::tests::detect_ci_tf_build_wrong_value
[INFO] [stdout]     environment::detection::tests::detect_nothing_in_clean_env
[INFO] [stdout]     environment::resolver::tests::resolve_custom_rule_not_present_falls_back
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 2434 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 19.79s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "501978a1dd8db04f9f64bc1a4c703adef528c3e43298a4368a1444f124ff635d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "501978a1dd8db04f9f64bc1a4c703adef528c3e43298a4368a1444f124ff635d", kill_on_drop: false }`
[INFO] [stdout] 501978a1dd8db04f9f64bc1a4c703adef528c3e43298a4368a1444f124ff635d
