[INFO] cloning repository https://github.com/ebisawa/secretenv [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ebisawa/secretenv" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Febisawa%2Fsecretenv", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Febisawa%2Fsecretenv'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c6f977b5b0d1f33b2428d976c8736151450b7aaa [INFO] testing ebisawa/secretenv against master#562dee4820c458d823175268e41601d4c060588a for pr-154210 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Febisawa%2Fsecretenv" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ebisawa/secretenv [INFO] removed 0 missing tests [INFO] finished tweaking git repo https://github.com/ebisawa/secretenv [INFO] tweaked toml for git repo https://github.com/ebisawa/secretenv written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ebisawa/secretenv on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ebisawa/secretenv 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded temp-env v0.3.6 [INFO] [stderr] Downloaded uuid v1.22.0 [INFO] [stderr] Downloaded doctest-file v1.1.1 [INFO] [stderr] Downloaded outref v0.5.2 [INFO] [stderr] Downloaded jni-sys v0.3.1 [INFO] [stderr] Downloaded serial_test v3.4.0 [INFO] [stderr] Downloaded shellexpand v3.1.2 [INFO] [stderr] Downloaded uuid-simd v0.8.0 [INFO] [stderr] Downloaded shell-words v1.1.1 [INFO] [stderr] Downloaded bytecount v0.6.9 [INFO] [stderr] Downloaded argon2 v0.5.3 [INFO] [stderr] Downloaded dialoguer v0.12.0 [INFO] [stderr] Downloaded referencing v0.45.0 [INFO] [stderr] Downloaded fluent-uri v0.4.1 [INFO] [stderr] Downloaded fancy-regex v0.17.0 [INFO] [stderr] Downloaded webpki-root-certs v1.0.6 [INFO] [stderr] Downloaded jsonschema v0.45.0 [INFO] [stderr] Downloaded iri-string v0.7.11 [INFO] [stderr] Downloaded scc v2.4.0 [INFO] [stderr] Downloaded cc v1.2.57 [INFO] [stderr] Downloaded winnow v1.0.0 [INFO] [stderr] Downloaded bstr v1.12.1 [INFO] [stderr] Downloaded interprocess v2.4.0 [INFO] [stderr] Downloaded fraction v0.15.3 [INFO] [stderr] Downloaded unicode-general-category v1.1.0 [INFO] [stderr] Downloaded predicates v3.1.4 [INFO] [stderr] Downloaded serial_test_derive v3.4.0 [INFO] [stderr] Downloaded predicates-tree v1.0.13 [INFO] [stderr] Downloaded assert_cmd v2.2.0 [INFO] [stderr] Downloaded borrow-or-share v0.2.4 [INFO] [stderr] Downloaded float-cmp v0.10.0 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.64 [INFO] [stderr] Downloaded recvmsg v1.0.0 [INFO] [stderr] Downloaded num-cmp v0.1.0 [INFO] [stderr] Downloaded predicates-core v1.0.10 [INFO] [stderr] Downloaded jni-sys-macros v0.4.1 [INFO] [stderr] Downloaded serde_jcs v0.2.0 [INFO] [stderr] Downloaded ssh-agent-client-rs v1.1.2 [INFO] [stderr] Downloaded hpke v0.12.0 [INFO] [stderr] Downloaded aws-lc-sys v0.39.0 [INFO] [stderr] Downloaded jni-sys v0.4.1 [INFO] [stderr] Downloaded reqwest v0.13.2 [INFO] [stderr] Downloaded ryu-js v0.2.2 [INFO] [stderr] Downloaded sdd v3.0.10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4ee319474352061bdc1f7055c07c7e06a8a54a717e21fd30b5336229358bf6ce [INFO] running `Command { std: "docker" "start" "-a" "4ee319474352061bdc1f7055c07c7e06a8a54a717e21fd30b5336229358bf6ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4ee319474352061bdc1f7055c07c7e06a8a54a717e21fd30b5336229358bf6ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4ee319474352061bdc1f7055c07c7e06a8a54a717e21fd30b5336229358bf6ce", kill_on_drop: false }` [INFO] [stdout] 4ee319474352061bdc1f7055c07c7e06a8a54a717e21fd30b5336229358bf6ce [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c369961f64829ff6be465777cb3ee0e94547354f1560734736c666260ec54a53 [INFO] running `Command { std: "docker" "start" "-a" "c369961f64829ff6be465777cb3ee0e94547354f1560734736c666260ec54a53", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling zerocopy v0.8.47 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling aws-lc-rs v1.16.2 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling base64ct v1.8.3 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling num-bigint-dig v0.8.6 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling ff v0.13.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling group v0.13.0 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Compiling iri-string v0.7.11 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling unicode-general-category v1.1.0 [INFO] [stderr] Compiling borrow-or-share v0.2.4 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling winnow v1.0.0 [INFO] [stderr] Compiling aws-lc-sys v0.39.0 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling vsimd v0.8.0 [INFO] [stderr] Compiling outref v0.5.2 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling toml_parser v1.1.0+spec-1.1.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling uuid-simd v0.8.0 [INFO] [stderr] Compiling console v0.16.3 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling ryu-js v0.2.2 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Compiling num-cmp v0.1.0 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling toml_writer v1.1.0+spec-1.1.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling toml_datetime v1.1.0+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.1.0 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling bytecount v0.6.9 [INFO] [stderr] Compiling num v0.4.3 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling fraction v0.15.3 [INFO] [stderr] Compiling toml v1.1.0+spec-1.1.0 [INFO] [stderr] Compiling shellexpand v3.1.2 [INFO] [stderr] Compiling fd-lock v4.0.4 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling fancy-regex v0.17.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling dialoguer v0.12.0 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling crypto-bigint v0.5.5 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling polyval v0.6.2 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling rfc6979 v0.4.0 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling ghash v0.5.1 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling sec1 v0.7.3 [INFO] [stderr] Compiling ssh-encoding v0.2.0 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling ssh-cipher v0.2.0 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling pkcs1 v0.7.5 [INFO] [stderr] Compiling chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling argon2 v0.5.3 [INFO] [stderr] Compiling rsa v0.9.10 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling x25519-dalek v2.0.1 [INFO] [stderr] Compiling elliptic-curve v0.13.8 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling ecdsa v0.16.9 [INFO] [stderr] Compiling primeorder v0.13.6 [INFO] [stderr] Compiling fluent-uri v0.4.1 [INFO] [stderr] Compiling email_address v0.2.9 [INFO] [stderr] Compiling serde_jcs v0.2.0 [INFO] [stderr] Compiling p256 v0.13.2 [INFO] [stderr] Compiling p521 v0.13.3 [INFO] [stderr] Compiling p384 v0.13.1 [INFO] [stderr] Compiling referencing v0.45.0 [INFO] [stderr] Compiling hpke v0.12.0 [INFO] [stderr] Compiling ssh-key v0.6.7 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling ssh-agent-client-rs v1.1.2 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling rustls-webpki v0.103.10 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.13.2 [INFO] [stderr] Compiling jsonschema v0.45.0 [INFO] [stderr] Compiling secretenv v0.3.3-alpha (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 53s [INFO] running `Command { std: "docker" "inspect" "c369961f64829ff6be465777cb3ee0e94547354f1560734736c666260ec54a53", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c369961f64829ff6be465777cb3ee0e94547354f1560734736c666260ec54a53", kill_on_drop: false }` [INFO] [stdout] c369961f64829ff6be465777cb3ee0e94547354f1560734736c666260ec54a53 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] acde3f76860f9b44526a3e653479c408ba755b12de80e5bf109d525347281a6f [INFO] running `Command { std: "docker" "start" "-a" "acde3f76860f9b44526a3e653479c408ba755b12de80e5bf109d525347281a6f", kill_on_drop: false }` [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling assert_cmd v2.2.0 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling serial_test_derive v3.4.0 [INFO] [stderr] Compiling temp-env v0.3.6 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling serial_test v3.4.0 [INFO] [stderr] Compiling secretenv v0.3.3-alpha (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 17.60s [INFO] running `Command { std: "docker" "inspect" "acde3f76860f9b44526a3e653479c408ba755b12de80e5bf109d525347281a6f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "acde3f76860f9b44526a3e653479c408ba755b12de80e5bf109d525347281a6f", kill_on_drop: false }` [INFO] [stdout] acde3f76860f9b44526a3e653479c408ba755b12de80e5bf109d525347281a6f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 219adfdc4d31781480bc62588cf50e76a8776356e67dba91e93d0e26a7d2be59 [INFO] running `Command { std: "docker" "start" "-a" "219adfdc4d31781480bc62588cf50e76a8776356e67dba91e93d0e26a7d2be59", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/secretenv-5262ac380039a1b4) [INFO] [stdout] [INFO] [stdout] running 97 tests [INFO] [stdout] test cli::rewrap::tests::test_confirm_empty_report ... ok [INFO] [stdout] test cli::rewrap::tests::test_confirm_force_excludes_failed ... ok [INFO] [stdout] test cli::rewrap::tests::test_confirm_non_tty_without_force_errors ... ok [INFO] [stdout] test cli::rewrap::tests::test_confirm_not_configured_interactive_reject ... ok [INFO] [stdout] test cli::rewrap::tests::test_confirm_not_configured_interactive_accept ... ok [INFO] [stdout] test cli::rewrap::tests::test_confirm_verified_and_not_configured_mixed ... ok [INFO] [stdout] test cli::rewrap::tests::test_confirm_not_configured_without_force_errors ... ok [INFO] [stdout] test cli::rewrap::tests::test_confirm_failed_without_force_errors ... ok [INFO] [stdout] test cli::rewrap::tests::test_confirm_interactive_accept ... ok [INFO] [stdout] test feature::kv::builder::tests::test_builder_with_entries_appends ... ok [INFO] [stdout] test feature::envelope::signature::tests::test_sign_and_append_kv_sig_produces_sig_line ... ok [INFO] [stdout] test feature::key::generate::tests::test_ensure_kid_not_in_keystore_passes_when_absent ... ok [INFO] [stdout] test feature::kv::builder::tests::test_kv_document_entry_encoded_accessors ... ok [INFO] [stdout] test cli::rewrap::tests::test_confirm_force_with_no_failed_promotes_all ... ok [INFO] [stdout] test config::resolution::workspace::tests::expands_tilde_in_workspace_path ... ok [INFO] [stdout] test config::resolution::workspace::tests::returns_none_when_no_workspace_in_config ... ok [INFO] [stdout] test feature::kv::builder::tests::test_unsigned_doc_entry_keys ... ok [INFO] [stdout] test feature::kv::builder::tests::test_unsigned_doc_has_entry ... ok [INFO] [stdout] test feature::kv::builder::tests::test_unsigned_doc_set_entries_replaces_and_appends ... ok [INFO] [stdout] test feature::kv::builder::tests::test_unsigned_doc_unset_entry ... ok [INFO] [stdout] test feature::kv::builder::tests::test_builder_from_lines_with_some_wrap ... ok [INFO] [stdout] test feature::kv::builder::tests::test_unsigned_doc_update_timestamp ... ok [INFO] [stdout] test feature::kv::builder::tests::test_serialize_unsigned_format ... ok [INFO] [stdout] test feature::key::generate::tests::test_ensure_kid_not_in_keystore_fails_when_present_any_member ... ok [INFO] [stdout] test feature::kv::builder::tests::test_wrap_source_data_mut_promotes_raw_to_decoded ... ok [INFO] [stdout] test feature::kv::builder::tests::test_builder_new_creates_decoded_wrap ... ok [INFO] [stdout] test feature::kv::builder::tests::test_wrap_source_decoded_data ... ok [INFO] [stdout] test cli::rewrap::tests::test_confirm_interactive_mixed_responses ... ok [INFO] [stdout] test feature::kv::builder::tests::test_wrap_source_raw_data ... ok [INFO] [stdout] test cli::rewrap::tests::test_confirm_interactive_reject ... ok [INFO] [stdout] test feature::envelope::payload::tests::encrypt_file_payload_content_returns_valid_ciphertext ... ok [INFO] [stdout] test feature::member::promotion::tests::test_report_all_member_ids_returns_all_categories ... ok [INFO] [stdout] test feature::member::verification::tests::test_classify_empty ... ok [INFO] [stdout] test config::resolution::workspace::tests::returns_path_when_workspace_in_config ... ok [INFO] [stdout] test feature::member::promotion::tests::test_report_non_failed_member_ids_excludes_failed ... ok [INFO] [stdout] test feature::member::promotion::tests::test_report_verified_member_ids ... ok [INFO] [stdout] test feature::member::verification::tests::test_classify_all_verified ... ok [INFO] [stdout] test feature::member::verification::tests::test_classify_mixed ... ok [INFO] [stdout] test feature::kv::builder::tests::test_kv_document_entry_preserved_accessors ... ok [INFO] [stdout] test feature::envelope::signature::tests::test_sign_and_append_kv_sig_preserves_unsigned_content ... ok [INFO] [stdout] test format::content::tests::encrypted_content_detect_rejects_unknown ... ok [INFO] [stdout] test format::content::tests::file_enc_detect_rejects_non_json ... ok [INFO] [stdout] test format::content::tests::kv_enc_detect_rejects_json ... ok [INFO] [stdout] test format::content::tests::new_unchecked_preserves_content ... ok [INFO] [stdout] test feature::kv::builder::tests::test_unsigned_doc_wrap_mut_promotes ... ok [INFO] [stdout] test feature::kv::builder::tests::test_clear_disclosed_flags_clears_disclosed_true ... ok [INFO] [stdout] test feature::verify::key_loader::tests::test_enforce_recipient_key_not_expired_valid ... ok [INFO] [stdout] test feature::verify::key_loader::tests::test_enforce_recipient_key_not_expired_empty_expires_at ... ok [INFO] [stdout] test format::kv::enc::writer::tests::test_build_unsigned_kv_document_empty_entries ... ok [INFO] [stdout] test feature::kv::builder::tests::test_builder_from_lines_with_none_wrap_decodes_raw ... ok [INFO] [stdout] test format::kv::enc::writer::tests::test_build_unsigned_kv_document_normal ... ok [INFO] [stdout] test io::workspace::detection::tests::resolve_optional_workspace_preserves_explicit_path_errors ... ok [INFO] [stdout] test feature::kv::builder::tests::test_serialize_unsigned_raw_wrap_passthrough ... ok [INFO] [stdout] test feature::verify::key_loader::tests::test_enforce_recipient_key_not_expired_expired_fails ... ok [INFO] [stdout] test io::workspace::detection::tests::resolve_workspace_config_invalid_path_shows_config_source ... ok [INFO] [stdout] test io::workspace::detection::tests::resolve_optional_workspace_returns_none_when_nothing_is_configured ... ok [INFO] [stdout] test format::kv::enc::parser::tests::test_file_size_limit_exceeded ... ok [INFO] [stdout] test io::workspace::members::tests::test_delete_member_not_found ... ok [INFO] [stdout] test io::workspace::members::tests::test_delete_member_removes_file ... ok [INFO] [stdout] test io::workspace::members::tests::test_promote_specified_conflict_error ... ok [INFO] [stdout] test io::workspace::members::tests::test_promote_specified_empty_list ... ok [INFO] [stdout] test io::workspace::members::tests::test_find_active_member_by_kid_returns_matching_member ... ok [INFO] [stdout] test io::workspace::members::tests::test_promote_specified_not_found_error ... ok [INFO] [stdout] test io::workspace::detection::tests::resolve_workspace_env_var_takes_priority_over_config ... ok [INFO] [stdout] test feature::verify::key_loader::tests::test_public_key_expiry_warning_expired ... ok [INFO] [stdout] test io::workspace::members::tests::test_promote_specified_rejects_duplicate_kids_within_batch ... ok [INFO] [stdout] test io::workspace::detection::tests::resolve_workspace_from_config_toml ... ok [INFO] [stdout] test io::workspace::members::tests::test_promote_specified_rejects_kid_conflict_with_active_member ... ok [INFO] [stdout] test io::workspace::members::tests::test_save_member_content_active_error_uses_active_directory_name ... ok [INFO] [stdout] test io::workspace::members::tests::test_promote_specified_selects_only_specified ... ok [INFO] [stdout] test feature::verify::key_loader::tests::test_enforce_recipient_key_not_expired_empty_via_verify ... ok [INFO] [stdout] test io::workspace::members::tests::test_save_member_content_creates_directory_if_missing ... ok [INFO] [stdout] test model::kv_enc::tests::kv_entry_value_deserialize_with_disclosed_true ... ok [INFO] [stdout] test model::kv_enc::tests::kv_entry_value_deserialize_without_disclosed_defaults_false ... ok [INFO] [stdout] test model::kv_enc::tests::kv_entry_value_disclosed_false_omitted ... ok [INFO] [stdout] test feature::verify::key_loader::tests::test_verify_recipient_public_keys_expired_fails ... ok [INFO] [stdout] test support::json_limits::tests::accepts_nested_json_within_limit ... ok [INFO] [stdout] test io::workspace::members::tests::test_save_member_content_incoming_already_exists_no_force ... ok [INFO] [stdout] test model::kv_enc::tests::kv_entry_value_disclosed_true_serializes ... ok [INFO] [stdout] test support::json_limits::tests::accepts_array_within_limit ... ok [INFO] [stdout] test io::workspace::members::tests::test_save_member_content_force_overwrite ... ok [INFO] [stdout] test io::workspace::members::tests::test_save_member_content_incoming_new ... ok [INFO] [stdout] test io::workspace::members::tests::test_save_member_content_rejects_kid_conflict_with_incoming_member ... ok [INFO] [stdout] test support::json_limits::tests::handles_escaped_quotes_in_strings ... ok [INFO] [stdout] test support::json_limits::tests::ignores_braces_in_strings ... ok [INFO] [stdout] test support::json_limits::tests::rejects_excessive_depth ... ok [INFO] [stdout] test io::workspace::members::tests::test_save_member_content_rejects_kid_conflict_with_active_member ... ok [INFO] [stdout] test support::json_limits::tests::rejects_excessive_elements ... ok [INFO] [stdout] test support::json_limits::tests::accepts_simple_json ... ok [INFO] [stdout] test format::kv::enc::parser::tests::test_key_line_count_limit_exceeded ... ok [INFO] [stdout] test feature::verify::key_loader::tests::test_public_key_expiry_warning_expiring_soon ... ok [INFO] [stdout] test format::kv::enc::parser::tests::test_key_line_count_at_limit_is_accepted ... ok [INFO] [stdout] test feature::kv::builder::tests::test_clear_disclosed_flags_noop_when_all_false ... ok [INFO] [stdout] test feature::verify::key_loader::tests::test_verify_recipient_public_keys_valid ... ok [INFO] [stdout] test feature::verify::key_loader::tests::test_build_loaded_verifying_key_expired_warning ... ok [INFO] [stdout] test feature::verify::key_loader::tests::test_build_loaded_verifying_key_valid ... ok [INFO] [stdout] test format::kv::enc::parser::tests::test_file_size_at_limit_is_accepted ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 97 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/secretenv-c9e9c49b1a2aee06) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/cli_integration.rs (/opt/rustwide/target/debug/deps/cli_integration-0b2c0d9495fc9e11) [INFO] [stdout] [INFO] [stdout] running 178 tests [INFO] [stdout] test cli::config::test_config_set_creates_home_dir_if_missing ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_rejects_kv_enc_format ... ok [INFO] [stdout] test cli::config::test_config_set_and_list ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_command_exists ... ok [INFO] [stdout] test cli::config::test_config_get_nonexistent_key ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_help ... ok [INFO] [stdout] test cli::config::test_config_set_and_get ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_with_ssh_key_option ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_missing_input ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_rejects_plain_kv_format ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_with_kid_option ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_legacy_command_removed ... ok [INFO] [stdout] test cli::config::test_config_invalid_key_fails ... ok [INFO] [stdout] test cli::config::test_config_help ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_accepts_out_option_parsing ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_detects_file_enc_format_version3 ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_with_explicit_member_id ... ok [INFO] [stdout] test cli::config::test_config_unset_removes_value ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_with_member_id_from_env ... ok [INFO] [stdout] test cli::encrypt::recipients::test_encrypt_rejects_recipients_option ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_rejects_unknown_format ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_nonexistent_file_fails ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_with_workspace_option ... ok [INFO] [stdout] test cli::encrypt::output_path::test_encrypt_explicit_out_option_reports_output_path ... ok [INFO] [stdout] test cli::encrypt::format_detection::test_encrypt_always_produces_file_enc_for_dotenv ... ok [INFO] [stdout] test cli::encrypt::output_path::test_encrypt_default_output_is_encrypted_in_cwd ... ok [INFO] [stdout] test cli::encrypt::basic::test_encrypt_no_active_members_error ... ok [INFO] [stdout] test cli::encrypt::workspace::test_encrypt_member_id_mismatch ... ok [INFO] [stdout] test cli::encrypt::basic::test_encrypt_file_with_workspace ... ok [INFO] [stdout] test cli::encrypt::format_detection::test_encrypt_always_produces_file_enc_for_binary ... ok [INFO] [stdout] test cli::encrypt::workspace::test_set_creates_default_file ... ok [INFO] [stdout] test cli::encrypt::output_path::test_encrypt_explicit_out_option ... ok [INFO] [stdout] test cli::encrypt::recipients::test_encrypt_workspace_required ... ok [INFO] [stdout] test cli::decrypt::test_decrypt_file_enc_roundtrip_with_out ... ok [INFO] [stdout] test cli::init::key_generation::test_init_uses_existing_key ... ok [INFO] [stdout] test cli::init::member_id::test_init_with_member_id ... ok [INFO] [stdout] test cli::encrypt::recipients::test_encrypt_recipients_are_all_active_members ... ok [INFO] [stdout] test cli::init::key_generation::test_init_generates_key_if_missing ... ok [INFO] [stdout] test cli::init::key_generation::test_init_with_verbose_option ... ok [INFO] [stdout] test cli::init::output::test_init_new_workspace_new_key_output ... ok [INFO] [stdout] test cli::init::output::test_init_existing_workspace_existing_key_output ... ok [INFO] [stdout] test cli::init::output::test_init_already_member_ci_output ... ok [INFO] [stdout] test cli::init::member_id::test_init_with_env_member_id ... ok [INFO] [stdout] test cli::init::registration::test_init_registers_member ... ok [INFO] [stdout] test cli::init::registration::test_init_force_overwrite_member ... ok [INFO] [stdout] test cli::init::output::test_init_existing_workspace_new_key_output ... ok [INFO] [stdout] test cli::init::workspace::test_init_creates_workspace ... ok [INFO] [stdout] test cli::inspect::test_inspect_invalid_format_fails ... ok [INFO] [stdout] test cli::init::registration::test_init_existing_key_ignores_github_user_input ... ok [INFO] [stdout] test cli::inspect::test_inspect_nonexistent_file_fails ... ok [INFO] [stdout] test cli::inspect::test_inspect_file_enc_shows_metadata ... ok [INFO] [stdout] test cli::inspect::test_inspect_kv_enc_shows_metadata ... ok [INFO] [stdout] test cli::join::test_init_then_join_different_member ... ok [INFO] [stdout] test cli::inspect::test_inspect_kv_shows_entry_count ... ok [INFO] [stdout] test cli::env_key_mode::test_env_key_mode_rejects_encrypt ... ok [INFO] [stdout] test cli::env_key_mode::test_env_key_mode_allows_list ... ok [INFO] [stdout] test cli::join::test_join_incomplete_workspace_fails ... ok [INFO] [stdout] test cli::inspect::test_inspect_shows_signature_verification ... ok [INFO] [stdout] test cli::join::test_join_existing_key_ignores_github_user_input ... ok [INFO] [stdout] test cli::join::test_join_nonexistent_workspace_fails ... ok [INFO] [stdout] test cli::key::activate::test_key_activate_explicit_kid ... ok [INFO] [stdout] test cli::key::export::test_key_export_private_requires_explicit_output_destination ... ok [INFO] [stdout] test cli::key::export::test_key_export_private_rejects_stdout_and_out_together ... ok [INFO] [stdout] test cli::join::test_join_existing_workspace ... ok [INFO] [stdout] test cli::key::export::test_key_export_active ... ok [INFO] [stdout] test cli::join::test_join_force_overwrites_existing_member ... ok [INFO] [stdout] test cli::key::list::test_key_list_empty ... ok [INFO] [stdout] test cli::key::export::test_key_export_explicit_kid ... ok [INFO] [stdout] test cli::key::activate::test_key_activate_latest ... ok [INFO] [stdout] test cli::key::list::test_key_list_json_output ... ok [INFO] [stdout] test cli::key::list::test_key_list_auto_resolve_member_id ... ok [INFO] [stdout] test cli::key::new::test_key_new_expires_at_option ... ok [INFO] [stdout] test cli::key::list::test_key_list_basic ... ok [INFO] [stdout] test cli::key::new::test_key_new_generates_attestation ... ok [INFO] [stdout] test cli::key::new::test_key_new_default_activate ... ok [INFO] [stdout] test cli::key::new::test_key_new_generates_private_key ... ok [INFO] [stdout] test cli::key::new::test_key_new_generates_self_sig ... ok [INFO] [stdout] test cli::key::new::test_key_new_ssh_protection ... ok [INFO] [stdout] test cli::key::new::test_key_new_no_activate_option ... ok [INFO] [stdout] test cli::key::new::test_key_new_valid_for_1y ... ok [INFO] [stdout] test cli::env_key_mode::test_env_key_mode_rejects_set ... ok [INFO] [stdout] test cli::key::new::test_key_new_valid_for_30d ... ok [INFO] [stdout] test cli::kv::default_file::test_error_when_workspace_not_found ... ok [INFO] [stdout] test cli::key::remove::test_key_remove_active_with_force ... ok [INFO] [stdout] test cli::key::new::test_key_new_valid_for_6m ... ok [INFO] [stdout] test cli::env_key_mode::test_env_key_mode_rejects_rewrap ... ok [INFO] [stdout] test cli::key::remove::test_key_remove_active_without_force ... ok [INFO] [stdout] test cli::key::remove::test_key_remove_non_active ... ok [INFO] [stdout] test cli::kv::get::test_get_all_with_key_arg_fails ... ok [INFO] [stdout] test cli::env_key_mode::test_env_key_mode_rejects_init ... ok [INFO] [stdout] test cli::env_key_mode::test_env_key_mode_rejects_key_new ... ok [INFO] [stdout] test cli::kv::default_file::test_default_file_path_resolution ... ok [INFO] [stdout] test cli::env_key_mode::test_env_key_missing_password_fails ... ok [INFO] [stdout] test cli::kv::get::test_get_error_when_file_not_exists ... ok [INFO] [stdout] test cli::kv::import::test_import_empty_file_fails ... ok [INFO] [stdout] test cli::kv::get::test_get_with_key_format ... ok [INFO] [stdout] test cli::kv::get::test_get_without_key_and_all_fails ... ok [INFO] [stdout] test cli::kv::get::test_get_all ... ok [INFO] [stdout] test cli::kv::get::test_get_existing_key ... ok [INFO] [stdout] test cli::kv::import::test_import_invalid_dotenv_fails ... ok [INFO] [stdout] test cli::kv::get::test_get_nonexistent_key ... ok [INFO] [stdout] test cli::kv::import::test_import_nonexistent_file_fails ... ok [INFO] [stdout] test cli::kv::get::test_get_with_json_output ... ok [INFO] [stdout] test cli::kv::get::test_get_all_with_key ... ok [INFO] [stdout] test cli::key::export::test_key_export_private_writes_base64url_to_stdout_with_stdout_flag ... ok [INFO] [stdout] test cli::kv::name_option::test_get_with_nonexistent_name_fails ... ok [INFO] [stdout] test cli::kv::get::test_get_all_json ... ok [INFO] [stdout] test cli::kv::list::test_list_error_when_file_not_exists ... ok [INFO] [stdout] test cli::kv::import::test_import_with_json_output ... ok [INFO] [stdout] test cli::kv::name_option::test_list_with_name_option ... ok [INFO] [stdout] test cli::kv::name_option::test_set_without_name_option_defaults_to_default ... ok [INFO] [stdout] test cli::kv::name_option::test_run_with_name_option ... ok [INFO] [stdout] test cli::kv::import::test_import_dotenv_file ... ok [INFO] [stdout] test cli::kv::set::test_set_stdin_and_value_arg_conflicts ... ok [INFO] [stdout] test cli::env_key_mode::test_env_key_get_roundtrip ... ok [INFO] [stdout] test cli::kv::name_option::test_set_with_name_option_creates_named_file ... ok [INFO] [stdout] test cli::kv::name_option::test_set_get_with_name_option_roundtrip ... ok [INFO] [stdout] test cli::kv::set::test_set_without_workspace_fails ... ok [INFO] [stdout] test cli::kv::set::test_set_without_stdin_and_without_value_fails ... ok [INFO] [stdout] test cli::kv::set::test_set_creates_new_file ... ok [INFO] [stdout] test cli::kv::import::test_import_overwrites_existing_keys ... ok [INFO] [stdout] test cli::kv::list::test_list_all_keys ... ok [INFO] [stdout] test cli::kv::list::test_list_with_json_output ... ok [INFO] [stdout] test cli::member::test_member_list_empty_workspace ... ok [INFO] [stdout] test cli::member::test_member_add_invalid_file_fails ... ok [INFO] [stdout] test cli::kv::name_option::test_named_file_and_default_file_are_independent ... ok [INFO] [stdout] test cli::kv::set::test_set_multiple_keys ... ok [INFO] [stdout] test cli::key::export::test_key_export_private_writes_password_protected_key_file ... ok [INFO] [stdout] test cli::kv::name_option::test_unset_with_name_option ... ok [INFO] [stdout] test cli::member::test_member_add_duplicate_without_force_fails ... ok [INFO] [stdout] test cli::kv::unset::test_unset_nonexistent_key ... ok [INFO] [stdout] test cli::member::test_member_remove_nonexistent_fails ... ok [INFO] [stdout] test cli::kv::set::test_set_stdin_creates_new_file ... ok [INFO] [stdout] test cli::member::test_member_list_json_skips_invalid_member_file ... ok [INFO] [stdout] test cli::member::test_member_list_json_output ... ok [INFO] [stdout] test cli::kv::unset::test_unset_existing_key ... ok [INFO] [stdout] test cli::member::test_member_add_places_in_incoming ... ok [INFO] [stdout] test cli::member::test_member_list_shows_initialized_member ... ok [INFO] [stdout] test cli::env_key_mode::test_env_key_run_roundtrip ... ok [INFO] [stdout] test cli::member::test_member_show_unknown_member_fails ... ok [INFO] [stdout] test cli::member::test_member_remove_removes_from_workspace ... ok [INFO] [stdout] test cli::member::test_member_show_invalid_member_fails ... ok [INFO] [stdout] test cli::rewrap::preconditions::test_rewrap_help ... ok [INFO] [stdout] test cli::rewrap::preconditions::test_rewrap_nonexistent_workspace_fails ... ok [INFO] [stdout] test cli::member::test_member_show_displays_public_key ... ok [INFO] [stdout] test cli::member::test_member_verify_reports_offline_invalid_member ... ok [INFO] [stdout] test cli::rewrap::preconditions::test_rewrap_requires_workspace ... ok [INFO] [stdout] test cli::rewrap::membership::test_rewrap_adds_new_member ... ok [INFO] [stdout] test cli::rewrap::preconditions::test_rewrap_with_no_files_fails_gracefully ... ok [INFO] [stdout] test cli::env_key_mode::test_env_key_decrypt_roundtrip ... ok [INFO] [stdout] test cli::kv::set::test_set_updates_existing_key ... ok [INFO] [stdout] test cli::rewrap::operations::test_rewrap_noop_rewrites_file ... ok [INFO] [stdout] test cli::run::test_run_error_when_workspace_not_found ... ok [INFO] [stdout] test cli::kv::unset::test_unset_with_force ... ok [INFO] [stdout] test cli::rewrap::membership::test_rewrap_removes_member_file_enc ... ok [INFO] [stdout] test cli::run::test_run_help ... ok [INFO] [stdout] test cli::rewrap::membership::test_rewrap_multiple_files ... ok [INFO] [stdout] test cli::rewrap::operations::test_rewrap_clear_disclosure_history ... ok [INFO] [stdout] test cli::run::test_run_error_when_default_file_not_exists ... ok [INFO] [stdout] test cli::rewrap::membership::test_rewrap_removes_member_kv_enc ... ok [INFO] [stdout] test cli::rewrap::operations::test_rewrap_rotate_key ... ok [INFO] [stdout] test cli::run::test_run_no_command_fails ... ok [INFO] [stdout] test cli::verify::test_verify_nonexistent_file_fails ... ok [INFO] [stdout] test cli::run::test_run_does_not_inherit_nonstandard_parent_env ... ok [INFO] [stdout] test cli::rewrap::operations::test_rewrap_with_clear_disclosure_history_flag ... ok [INFO] [stdout] test cli::run::test_run_nonexistent_command_fails ... ok [INFO] [stdout] test cli::run::test_run_preserves_exit_code ... ok [INFO] [stdout] test cli::rewrap::operations::test_rewrap_with_rotate_key_flag ... ok [INFO] [stdout] test cli::run::test_run_preserves_standard_env_vars ... ok [INFO] [stdout] test cli::verify::test_verify_file_enc_tampered_fails ... ok [INFO] [stdout] test cli::rewrap::roundtrip::test_rewrap_file_enc_roundtrip ... ok [INFO] [stdout] test cli::rewrap::roundtrip::test_rewrap_kv_enc_roundtrip ... ok [INFO] [stdout] test cli::verify::test_verify_file_enc_valid_signature ... ok [INFO] [stdout] test cli::run::test_run_secret_env_overrides_standard_env_vars ... ok [INFO] [stdout] test cli::run::test_run_with_default_file ... ok [INFO] [stdout] test cli::verify::test_verify_kv_enc_valid_signature ... ok [INFO] [stdout] test cli::env_key_mode::test_env_key_wrong_password_fails ... ok [INFO] [stdout] test cli::run::test_run_with_multiple_env_vars ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 178 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 19.47s [INFO] [stdout] [INFO] [stderr] Running tests/unit.rs (/opt/rustwide/target/debug/deps/unit-ef835da10553530b) [INFO] [stdout] [INFO] [stdout] running 845 tests [INFO] [stdout] test app_context_env_dispatch_test::test_resolved_command_paths_loads_base_dir_and_keystore_root ... ok [INFO] [stdout] test app_context_env_dispatch_test::test_resolve_none_ssh_ctx_without_env_var_fails ... ok [INFO] [stdout] test app_context_env_dispatch_test::test_resolve_rejects_kid_in_env_mode ... ok [INFO] [stdout] test app_context_env_dispatch_test::test_resolve_none_ssh_ctx_requires_workspace ... ok [INFO] [stdout] test app_key_github_test::test_key_new_result_github_verification_not_configured_by_default ... ok [INFO] [stdout] test app_context_env_dispatch_test::test_resolve_rejects_member_id_in_env_mode ... ok [INFO] [stdout] test app_context_env_dispatch_test::test_resolve_member_context_uses_config_resolution_member_id ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_keystore_empty_returns_none ... ok [INFO] [stdout] test app_registration_test::test_build_join_registration_requires_ssh_context_for_generated_key ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_from_cli_argument ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_from_env_var ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_env_invalid_error ... ok [INFO] [stdout] test cli_identity_prompt_test::test_select_ssh_key_empty_candidates_fails ... ok [INFO] [stdout] test cli_identity_prompt_test::test_select_ssh_key_multiple_candidates_non_tty_fails ... ok [INFO] [stdout] test cli_identity_prompt_test::test_select_ssh_key_single_candidate_returns_zero ... ok [INFO] [stdout] test app_registration_test::test_resolve_registration_key_plan_missing_active_key ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_parse_ssh_signer_config_auto ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_parse_ssh_signer_config_case_sensitive ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_parse_ssh_signer_config_invalid ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_parse_ssh_signer_config_ssh_agent ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_resolve_ssh_signer_auto_with_agent ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_config_invalid_error ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_keystore_multiple_members_returns_none ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_parse_ssh_signer_config_ssh_keygen ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_resolve_ssh_signer_config_cli_ssh_keygen ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_resolve_ssh_signer_auto_with_explicit_key_prefers_agent_when_available ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_resolve_ssh_signer_config_env_var_ssh_agent ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_priority_env_over_config ... ok [INFO] [stdout] test cli_set_member_id_test::test_cli_set_parses_member_id_option ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_resolve_ssh_signer_ssh_agent ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_resolve_ssh_signer_ssh_keygen ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_ssh_signer_display ... ok [INFO] [stdout] test config_resolution_test::test_expand_tilde_no_tilde ... ok [INFO] [stdout] test config_resolution_test::test_expand_tilde_alone ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_from_keystore_single_member ... ok [INFO] [stdout] test config_resolution_test::test_resolve_github_user_from_cli ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_resolve_ssh_signer_auto_without_agent ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_resolve_ssh_signer_config_env_var_auto ... ok [INFO] [stdout] test config_resolution_test::test_resolve_github_user_none_when_no_source ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_priority_config_over_keystore ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_resolve_ssh_signer_config_default_is_auto ... ok [INFO] [stdout] test config_resolution_test::test_resolve_github_user_from_env ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_resolve_ssh_signer_config_env_var_ssh_keygen ... ok [INFO] [stdout] test config_resolution_test::test_resolve_github_user_priority_order ... ok [INFO] [stdout] test config_resolution_ssh_signer_test::test_resolve_ssh_signer_config_cli_ssh_agent ... ok [INFO] [stdout] test config_resolution_test::test_resolve_member_id_from_cli_argument ... ok [INFO] [stdout] test config_resolution_test::test_resolve_member_id_no_source_error ... ok [INFO] [stdout] test app_context_ssh_member_id_test::test_resolve_ssh_context_by_active_key_honors_member_id_option ... ok [INFO] [stdout] test config_resolution_test::test_resolve_member_id_from_env_var ... ok [INFO] [stdout] test config_resolution_test::test_resolve_ssh_key_candidate_cli_priority ... ok [INFO] [stdout] test config_resolution_test::test_resolve_ssh_key_candidate_explicit_missing ... ok [INFO] [stdout] test config_resolution_test::test_resolve_ssh_key_file_not_found_error ... ok [INFO] [stdout] test config_resolution_test::test_resolve_member_id_from_global_config ... ok [INFO] [stdout] test config_resolution_test::test_resolve_member_id_priority_order ... ok [INFO] [stdout] test config_resolution_test::test_resolve_member_id_nonexistent_keystore ... ok [INFO] [stdout] test config_resolution_test::test_resolve_member_id_from_single_keystore ... ok [INFO] [stdout] test config_resolution_test::test_resolve_member_id_multiple_keystore_error ... ok [INFO] [stdout] test config_resolution_test::test_resolve_ssh_key_from_global_config ... ok [INFO] [stdout] test config_resolution_test::test_resolve_ssh_key_tilde_expansion ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_priority_cli_over_env ... ok [INFO] [stdout] test config_resolution_test::test_resolve_member_id_empty_keystore ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_cli_invalid_error ... ok [INFO] [stdout] test config_types_test::test_config_deserialize_minimal ... ok [INFO] [stdout] test config_types_test::test_config_deserialize_auto ... ok [INFO] [stdout] test config_types_test::test_config_xdg_path_resolution ... ok [INFO] [stdout] test config_types_test::test_default_config ... ok [INFO] [stdout] test config_types_test::test_signing_method_config_serialization ... ok [INFO] [stdout] test config_types_test::test_signing_method_config_deserialization ... ok [INFO] [stdout] test config_types_test::test_config_deserialize_full ... ok [INFO] [stdout] test config_types_test::test_config_invalid_format ... ok [INFO] [stdout] test crypto_sign_ed25519_test::test_sign_bytes_returns_valid_structure ... ok [INFO] [stdout] test crypto_sign_ed25519_test::test_sign_kv_returns_valid_structure ... ok [INFO] [stdout] test crypto_sign_ed25519_test::test_verify_bytes_invalid_base64_error_message_sanitized ... ok [INFO] [stdout] test crypto_sign_ed25519_test::test_sign_bytes_deterministic ... ok [INFO] [stdout] test crypto_sign_ed25519_test::test_verify_bytes_rejects_wrong_algorithm ... ok [INFO] [stdout] test crypto_sign_ed25519_test::test_verify_bytes_accepts_valid_signature ... ok [INFO] [stdout] test crypto_sign_ed25519_test::test_verify_bytes_rejects_tampered_bytes ... ok [INFO] [stdout] test crypto_sign_ed25519_test::test_verify_kv_accepts_valid_signature ... ok [INFO] [stdout] test crypto_sign_ed25519_test::test_kv_lf_normalization_matters ... ok [INFO] [stdout] test crypto_test::test_ed25519_deterministic_signing ... ok [INFO] [stdout] test config_types_test::test_config_home_fallback ... ok [INFO] [stdout] test crypto_test::test_ed25519_signature_structure ... ok [INFO] [stdout] test crypto_test::test_ed25519_jcs_normalization_applied ... ok [INFO] [stdout] test crypto_test::test_ed25519_sign_verify_roundtrip ... ok [INFO] [stdout] test crypto_test::test_hpke_ciphertext_length ... ok [INFO] [stdout] test crypto_test::test_hpke_different_aad_error ... ok [INFO] [stdout] test crypto_test::test_hpke_different_info_error ... ok [INFO] [stdout] test crypto_test::test_ed25519_wrong_key_error ... ok [INFO] [stdout] test crypto_test::test_ed25519_tampered_document_error ... ok [INFO] [stdout] test crypto_test::test_hpke_enc_length ... ok [INFO] [stdout] test crypto_test::test_hpke_invalid_enc_error_message_sanitized ... ok [INFO] [stdout] test crypto_test::test_hpke_open_error_message_sanitized ... ok [INFO] [stdout] test crypto_test::test_plaintext_debug_redacts_contents ... ok [INFO] [stdout] test crypto_test::test_hpke_wrong_recipient_key_error ... ok [INFO] [stdout] test crypto_xchacha20_poly1305_test::test_xchacha20_empty_plaintext ... ok [INFO] [stdout] test crypto_xchacha20_poly1305_test::test_xchacha20_encrypt_decrypt_roundtrip ... ok [INFO] [stdout] test crypto_xchacha20_poly1305_test::test_xchacha20_aad_mismatch_error ... ok [INFO] [stdout] test crypto_xchacha20_poly1305_test::test_xchacha20_nonce_24_bytes ... ok [INFO] [stdout] test crypto_xchacha20_poly1305_test::test_xchacha20_tampered_ciphertext_error ... ok [INFO] [stdout] test crypto_xchacha20_poly1305_test::test_xchacha20_wrong_key_error ... ok [INFO] [stdout] test crypto_xchacha20_poly1305_test::test_xchacha20_wrong_key_error_message_sanitized ... ok [INFO] [stdout] test error_test::test_from_crypto_error_preserves_source ... ok [INFO] [stdout] test crypto_xchacha20_poly1305_test::test_xchacha20_wrong_nonce_error ... ok [INFO] [stdout] test error_test::test_from_crypto_error_uses_message_field ... ok [INFO] [stdout] test crypto_test::test_hpke_empty_plaintext ... ok [INFO] [stdout] test error_test::test_user_message_crypto_with_source_returns_context_only ... ok [INFO] [stdout] test error_test::test_user_message_crypto_returns_message_field ... ok [INFO] [stdout] test error_test::test_user_message_invalid_argument ... ok [INFO] [stdout] test error_test::test_user_message_not_found ... ok [INFO] [stdout] test error_test::test_user_message_schema_returns_fixed_string ... ok [INFO] [stdout] test feature_config_test::test_get_config_path_and_scope_global ... ok [INFO] [stdout] test crypto_sign_ed25519_test::test_verify_kv_rejects_tampered_content ... ok [INFO] [stdout] test feature_config_test::test_load_global_config ... ok [INFO] [stdout] test feature_config_test::test_validate_key_invalid ... ok [INFO] [stdout] test feature_config_test::test_validate_key_valid ... ok [INFO] [stdout] test feature_config_test::test_resolve_config_value_global ... ok [INFO] [stdout] test crypto_test::test_ed25519_payload_hash_verification ... ok [INFO] [stdout] test app_registration_test::test_resolve_registration_key_plan_existing_active_key ... ok [INFO] [stdout] test app_registration_test::test_apply_join_registration_rejects_duplicate_kid_in_workspace ... ok [INFO] [stdout] test app_registration_test::test_build_join_registration_reuses_existing_key_without_github_user ... ok [INFO] [stdout] test feature_context_crypto_validation_test::test_validate_ed25519_consistency ... ok [INFO] [stdout] test feature_context_crypto_validation_test::test_validate_okp_key ... ok [INFO] [stdout] test feature_context_crypto_validation_test::test_validate_okp_key_wrong_d_length ... ok [INFO] [stdout] test feature_context_crypto_validation_test::test_validate_ed25519_consistency_mismatch ... ok [INFO] [stdout] test feature_context_crypto_validation_test::test_validate_okp_key_wrong_crv ... ok [INFO] [stdout] test feature_context_crypto_validation_test::test_validate_okp_key_wrong_kty ... ok [INFO] [stdout] test feature_context_crypto_validation_test::test_validate_okp_key_wrong_x_length ... ok [INFO] [stdout] test feature_context_crypto_test::test_crypto_context_load_without_explicit_kid ... ok [INFO] [stdout] test feature_context_crypto_test::test_crypto_context_load ... ok [INFO] [stdout] test feature_context_crypto_test::test_crypto_context_load_fails_when_public_key_mismatches_private_key ... ok [INFO] [stdout] test feature_context_crypto_test::test_parse_verify_decrypt_file ... ok [INFO] [stdout] test feature_context_crypto_test::test_parse_verify_decrypt_kv ... ok [INFO] [stdout] test feature_context_env_key_integration_test::test_env_key_roundtrip_with_attested_keys ... ok [INFO] [stdout] test feature_context_env_key_integration_test::test_env_key_roundtrip_preserves_key_material_for_decryption ... ok [INFO] [stdout] test feature_context_env_key_integration_test::test_env_key_wrong_password_error ... ok [INFO] [stdout] test feature_context_env_key_integration_test::test_load_crypto_context_from_env_does_not_require_workspace_member_file ... ok [INFO] [stdout] test feature_context_env_key_test::test_decode_env_private_key ... ok [INFO] [stdout] test feature_context_env_key_test::test_env_key_invalid_base64_error ... ok [INFO] [stdout] test feature_context_expiry_test::test_build_warning_expiring_soon ... ok [INFO] [stdout] test feature_context_expiry_test::test_build_warning_valid_none ... ok [INFO] [stdout] test feature_context_expiry_test::test_build_warning_expired ... ok [INFO] [stdout] test feature_context_expiry_test::test_check_key_expiry_boundary_30_days ... ok [INFO] [stdout] test feature_context_expiry_test::test_check_key_expiry_boundary_31_days ... ok [INFO] [stdout] test feature_context_expiry_test::test_check_key_expiry_boundary_exactly_now ... ok [INFO] [stdout] test feature_context_expiry_test::test_check_key_expiry_expiring_soon ... ok [INFO] [stdout] test feature_context_expiry_test::test_check_key_expiry_expired ... ok [INFO] [stdout] test feature_context_expiry_test::test_check_key_expiry_invalid_format_fails ... ok [INFO] [stdout] test feature_context_expiry_test::test_enforce_not_expired_expired_fails ... ok [INFO] [stdout] test feature_context_expiry_test::test_check_key_expiry_valid ... ok [INFO] [stdout] test feature_context_expiry_test::test_enforce_not_expired_valid ... ok [INFO] [stdout] test feature_context_expiry_test::test_enforce_not_expired_expiring_soon ... ok [INFO] [stdout] test feature_context_ssh_match_test::test_find_candidate_by_fingerprint_empty_candidates_error ... ok [INFO] [stdout] test feature_context_ssh_match_test::test_find_candidate_by_fingerprint_first_of_many ... ok [INFO] [stdout] test feature_context_ssh_match_test::test_find_candidate_by_fingerprint_single_match ... ok [INFO] [stdout] test feature_context_ssh_match_test::test_find_candidate_by_fingerprint_no_match_error ... ok [INFO] [stdout] test feature_context_ssh_test::test_build_ssh_signing_context_from_selected_key ... ok [INFO] [stdout] test feature_context_ssh_test::test_build_ssh_signing_context_checks_determinism_when_enabled ... ok [INFO] [stdout] test feature_context_ssh_test::test_build_ssh_signing_context_skips_determinism_check_when_disabled ... ok [INFO] [stdout] test feature_context_ssh_test::test_check_determinism_via_context ... ok [INFO] [stdout] test feature_context_ssh_test::test_resolve_agent_with_explicit_nonexistent_key_fails ... ok [INFO] [stdout] test feature_context_ssh_test::test_resolve_agent_with_explicit_key_loads_pubkey_from_file ... ok [INFO] [stdout] test feature_context_ssh_test::test_resolve_and_build_ssh_signing_context_default ... ok [INFO] [stdout] test feature_context_ssh_test::test_resolve_and_build_ssh_signing_context_verbose ... ok [INFO] [stdout] test feature_context_ssh_test::test_resolve_ssh_key_candidates_with_explicit_key ... ok [INFO] [stdout] test feature_decrypt_test::test_decrypt_file_sid_mismatch ... ok [INFO] [stdout] test feature_decrypt_test::test_decrypt_document_file ... ok [INFO] [stdout] test feature_decrypt_test::test_decrypt_file_unsupported_aead ... ok [INFO] [stdout] test feature_decrypt_test::test_decrypt_file_wrong_payload_format ... ok [INFO] [stdout] test feature_decrypt_test::test_decrypt_file_wrong_format ... ok [INFO] [stdout] test feature_decrypt_test::test_file_enc_content_detect_rejects_kv_enc ... ok [INFO] [stdout] test feature_decrypt_test::test_file_enc_content_detect_rejects_plain_kv ... ok [INFO] [stdout] test feature_decrypt_test::test_file_enc_content_detect_accepts_file_enc ... ok [INFO] [stdout] test feature_decrypt_test::test_parse_verify_decrypt_file ... ok [INFO] [stdout] test feature_decrypt_test::test_verify_file_document_returns_verified ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_decrypt_kv_document_rid_mismatch_fails ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_decrypt_file_document_roundtrip ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_decrypt_kv_document_roundtrip ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_decrypt_kv_entries_empty ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_decrypt_kv_entries_multiple ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_find_wrap_item_by_kid ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_find_wrap_item_by_kid_not_found ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_hpke_aad_binding_defence_in_depth ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_find_wrap_item_by_kid_rid_mismatch_fails ... ok [INFO] [stdout] test feature_context_env_key_test::test_env_key_missing_password_error ... ok [INFO] [stdout] test feature_context_env_key_test::test_env_key_rejects_invalid_format ... ok [INFO] [stdout] test config_resolution_test::test_expand_tilde_with_slash ... ok [INFO] [stdout] test feature_context_env_key_test::test_env_key_rejects_sshsig_algorithm ... ok [INFO] [stdout] test feature_decrypt_unwrap_validation_test::test_plaintext_to_master_key ... ok [INFO] [stdout] test feature_decrypt_unwrap_validation_test::test_plaintext_to_master_key_wrong_length ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_unwrap_master_key_for_file ... ok [INFO] [stdout] test feature_decrypt_unwrap_validation_test::test_decode_wrap_item_fields_unsupported_alg ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_unwrap_master_key_for_file_wrong_member ... ok [INFO] [stdout] test feature_encrypt_kv_cek_test::test_derive_cek_different_sid ... ok [INFO] [stdout] test feature_encrypt_kv_cek_test::test_derive_cek_invalid_salt_length ... ok [INFO] [stdout] test feature_encrypt_kv_cek_test::test_derive_cek_different_salt ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_unwrap_master_key_from_wrap_item ... ok [INFO] [stdout] test feature_encrypt_kv_entry_test::test_build_kv_set_entries_new_keys_sorted_deterministically ... ok [INFO] [stdout] test feature_encrypt_kv_cek_test::test_derive_cek ... ok [INFO] [stdout] test feature_encrypt_kv_cek_test::test_derive_cek_different_mk ... ok [INFO] [stdout] test feature_encrypt_kv_entry_test::test_build_kv_set_entries_updates_and_adds_multiple_keys ... ok [INFO] [stdout] test feature_encrypt_kv_entry_test::test_build_kv_set_entry_preserves_wrap_token ... ok [INFO] [stdout] test feature_encrypt_kv_entry_test::test_build_kv_set_entries_preserves_existing_keys_not_in_map ... ok [INFO] [stdout] test feature_encrypt_kv_entry_test::test_build_kv_set_entry_replaces_existing_key ... ok [INFO] [stdout] test feature_encrypt_kv_entry_test::test_build_kv_set_entry_preserves_sid_and_created_at ... ok [INFO] [stdout] test feature_encrypt_kv_entry_test::test_build_kv_unset_entry_last_entry ... ok [INFO] [stdout] test feature_encrypt_kv_entry_test::test_build_kv_unset_entry_preserves_sid_and_created_at ... ok [INFO] [stdout] test feature_decrypt_unwrap_test::test_unwrap_master_key_for_file_wrong_kid ... ok [INFO] [stdout] test feature_encrypt_kv_entry_test::test_build_kv_unset_entry_preserves_wrap_token ... ok [INFO] [stdout] test feature_encrypt_kv_entry_test::test_build_kv_unset_entry_removes_target_key ... ok [INFO] [stdout] test feature_encrypt_test::test_encrypt_file_document_recipient_count_mismatch ... ok [INFO] [stdout] test feature_encrypt_wrap_test::test_build_wrap_item_for_kv ... ok [INFO] [stdout] test feature_encrypt_kv_entry_test::test_build_kv_set_entry_adds_new_key ... ok [INFO] [stdout] test feature_encrypt_wrap_test::test_build_wrap_item_for_file ... ok [INFO] [stdout] test feature_encrypt_wrap_test::test_build_wraps_for_recipients_file ... ok [INFO] [stdout] test feature_encrypt_wrap_test::test_build_wraps_for_recipients_rejects_count_over_limit ... ok [INFO] [stdout] test feature_encrypt_test::test_encrypt_file_document ... ok [INFO] [stdout] test feature_init_test::test_load_single_member_id_from_keystore_multiple_members ... ok [INFO] [stdout] test feature_init_test::test_load_single_member_id_from_keystore_nonexistent ... ok [INFO] [stdout] test feature_init_test::test_load_single_member_id_from_keystore_no_members ... ok [INFO] [stdout] test feature_init_test::test_load_single_member_id_from_keystore_one_member ... ok [INFO] [stdout] test feature_encrypt_wrap_test::test_build_wraps_for_recipients_kv ... ok [INFO] [stdout] test feature_init_test::test_resolve_keystore_root_default ... ok [INFO] [stdout] test feature_init_test::test_resolve_keystore_root_with_home ... ok [INFO] [stdout] test feature_init_test::test_resolve_workspace_creation_path_explicit ... ok [INFO] [stdout] test feature_init_test::test_resolve_workspace_creation_path_defaults_to_git_root_dot_secretenv ... ok [INFO] [stdout] test feature_init_test::test_save_member_document_creates_file ... ok [INFO] [stdout] test feature_init_test::test_ensure_key_exists_creates_new_key ... ok [INFO] [stdout] test feature_encrypt_test::test_encrypt_kv_document_via_inner_api ... ok [INFO] [stdout] test feature_init_test::test_ensure_key_exists_reuses_existing_key ... ok [INFO] [stdout] test feature_context_env_key_test::test_env_vars_cleared_after_successful_load ... ok [INFO] [stdout] test feature_context_env_key_test::test_is_env_key_mode_when_unset ... ok [INFO] [stdout] test feature_context_env_key_test::test_is_env_key_mode_when_set ... ok [INFO] [stdout] test feature_inspect_test::test_inspect_kv_enc_shows_head ... ok [INFO] [stdout] test feature_inspect_test::test_build_error_report ... ok [INFO] [stdout] test feature_inspect_test::test_inspect_kv_enc_with_verification ... ok [INFO] [stdout] test feature_inspect_test::test_build_success_report ... ok [INFO] [stdout] test feature_inspect_test::test_verify_file_document_report ... ok [INFO] [stdout] test feature_inspect_test::test_verify_kv_document_report ... ok [INFO] [stdout] test feature_inspect_verification_test::test_online_verification_display_github_failed ... ok [INFO] [stdout] test feature_inspect_verification_test::test_online_verification_display_github_verified ... ok [INFO] [stdout] test feature_inspect_verification_test::test_online_verification_display_no_supported_binding ... ok [INFO] [stdout] test feature_key_generate_test::test_build_identity_keys ... ok [INFO] [stdout] test feature_key_generate_test::test_build_private_key_plaintext_base64url_encoded ... ok [INFO] [stdout] test feature_inspect_test::test_inspect_file_enc_shows_format ... ok [INFO] [stdout] test feature_key_generate_test::test_build_private_key_plaintext_key_consistency ... ok [INFO] [stdout] test feature_key_generate_test::test_build_public_key ... ok [INFO] [stdout] test feature_key_generate_test::test_build_public_key_changes_kid_when_github_account_changes ... ok [INFO] [stdout] test feature_key_generate_test::test_build_public_key_self_signature_valid_base64url ... ok [INFO] [stdout] test feature_key_generate_test::test_build_public_key_with_github_account ... ok [INFO] [stdout] test feature_key_generate_test::test_build_private_key_plaintext_fields ... ok [INFO] [stdout] test feature_key_generate_test::test_derive_key_from_ssh_maps_non_deterministic_error ... ok [INFO] [stdout] test feature_key_generate_test::test_build_public_key_without_github_account ... ok [INFO] [stdout] test feature_key_generate_test::test_ensure_keystore_dir_creates_directory ... ok [INFO] [stdout] test feature_key_generate_test::test_ensure_keystore_dir_idempotent ... ok [INFO] [stdout] test feature_key_generate_test::test_derive_key_from_ssh_preserves_ssh_backend_errors ... ok [INFO] [stdout] test feature_key_generate_test::test_generate_keypairs ... ok [INFO] [stdout] test feature_key_generate_test::test_generate_key_rejects_skipped_determinism ... ok [INFO] [stdout] test feature_key_generate_test::test_load_signer_public_key_if_needed_default ... ok [INFO] [stdout] test feature_key_generate_test::test_load_signer_public_key_if_needed_no_signer_pub ... ok [INFO] [stdout] test feature_inspect_test::test_verify_kv_document_report_failure_wrong_key ... ok [INFO] [stdout] test feature_inspect_test::test_inspect_kv_enc_with_verification_failure_no_keystore ... ok [INFO] [stdout] test feature_key_generate_test::test_save_and_activate_activates ... ok [INFO] [stdout] test feature_key_manage_test::test_activate_key_not_found ... ok [INFO] [stdout] test feature_key_manage_test::test_export_key_active ... ok [INFO] [stdout] test feature_key_manage_test::test_export_key_explicit_display_kid ... ok [INFO] [stdout] test feature_inspect_test::test_verify_kv_document_report_with_embedded_signer_pub ... ok [INFO] [stdout] test feature_key_manage_test::test_list_keys_nonexistent_member ... ok [INFO] [stdout] test feature_key_manage_test::test_list_keys_single_member ... ok [INFO] [stdout] test feature_key_manage_test::test_remove_key_active_with_force ... ok [INFO] [stdout] test feature_key_manage_test::test_remove_key_active_without_force ... ok [INFO] [stdout] test feature_key_manage_test::test_activate_key_explicit_kid ... ok [INFO] [stdout] test feature_key_manage_test::test_activate_key_auto_select_latest ... ok [INFO] [stdout] test feature_key_portable_export_test::test_export_password_7_chars_fails ... ok [INFO] [stdout] test feature_key_portable_export_test::test_export_password_too_short_fails ... ok [INFO] [stdout] test feature_key_generate_test::test_save_and_activate_no_activate ... ok [INFO] [stdout] test feature_key_manage_test::test_remove_key_non_active ... ok [INFO] [stdout] test feature_key_manage_test::test_list_keys_filtered_by_member_id ... ok [INFO] [stdout] test feature_inspect_test::test_inspect_file_enc_shows_recipients ... ok [INFO] [stdout] test feature_key_protection_password_encryption_test::test_password_decrypt_rejects_sshsig_key ... ok [INFO] [stdout] test feature_inspect_test::test_inspect_file_enc_shows_signature ... ok [INFO] [stdout] test feature_inspect_test::test_inspect_kv_enc_shows_entries ... ok [INFO] [stdout] test config_resolution_test::test_resolve_ssh_key_from_default_path ... ok [INFO] [stdout] test config_resolution_test::test_resolve_ssh_key_priority_order ... ok [INFO] [stdout] test config_resolution_test::test_resolve_ssh_key_from_cli_option ... ok [INFO] [stdout] test feature_inspect_test::test_inspect_kv_enc_shows_wrap ... ok [INFO] [stdout] test feature_key_portable_export_test::test_export_preserves_metadata ... ok [INFO] [stdout] test config_resolution_test::test_resolve_github_user_from_config ... ok [INFO] [stdout] test config_resolution_test::test_resolve_ssh_key_no_source_error ... ok [INFO] [stdout] test feature_key_protection_password_key_derivation_test::test_generate_salt_length ... ok [INFO] [stdout] test feature_key_protection_password_key_derivation_test::test_generate_salt_randomness ... ok [INFO] [stdout] test app_identity_test::test_resolve_member_id_from_global_config ... ok [INFO] [stdout] test config_resolution_test::test_resolve_ssh_key_candidate_default_missing ... ok [INFO] [stdout] test feature_key_protection_password_encryption_test::test_password_decrypt_rejects_unsupported_aead ... ok [INFO] [stdout] test feature_key_portable_export_test::test_export_produces_valid_base64url ... ok [INFO] [stdout] test feature_key_portable_export_test::test_export_uses_argon2id_kdf ... ok [INFO] [stdout] test feature_kv_test::test_list_kv_keys ... ok [INFO] [stdout] test feature_kv_test::test_decrypt_kv_value ... ok [INFO] [stdout] test feature_kv_test::test_list_kv_keys_empty ... ok [INFO] [stdout] test feature_key_portable_export_test::test_export_password_8_chars_succeeds ... ok [INFO] [stdout] test feature_kv_test::test_decrypt_kv_value_not_found ... ok [INFO] [stdout] test feature_kv_test::test_set_kv_entry_new_file ... ok [INFO] [stdout] test feature_kv_test::test_set_kv_entry_multiple_entries_new_file ... ok [INFO] [stdout] test feature_kv_disclosed_test::test_set_kv_entry_new_entry_has_disclosed_false ... ok [INFO] [stdout] test feature_kv_test::test_unset_kv_entry ... ok [INFO] [stdout] test feature_member_add_test::test_add_member_file_not_found ... ok [INFO] [stdout] test feature_kv_disclosed_test::test_set_kv_entry_resets_disclosed_after_recipient_removal ... ok [INFO] [stdout] test feature_member_add_test::test_add_member_invalid_json ... ok [INFO] [stdout] test feature_kv_test::test_set_kv_entry_multiple_entries_existing_file ... ok [INFO] [stdout] test feature_kv_test::test_unset_kv_entry_not_found ... ok [INFO] [stdout] test feature_kv_test::test_set_kv_entry_existing_file ... ok [INFO] [stdout] test feature_member_test::test_member_list_empty ... ok [INFO] [stdout] test feature_member_add_test::test_add_member_invalid_attestation_error ... ok [INFO] [stdout] test feature_member_add_test::test_add_member_invalid_self_signature_error ... ok [INFO] [stdout] test feature_member_add_test::test_add_member_duplicate_without_force ... ok [INFO] [stdout] test feature_member_add_test::test_add_member_duplicate_with_force ... ok [INFO] [stdout] test feature_key_portable_export_test::test_export_roundtrip ... ok [INFO] [stdout] test feature_key_protection_password_encryption_test::test_password_encrypt_alg_kdf_is_argon2id ... ok [INFO] [stdout] test feature_member_add_test::test_add_member_valid_file ... ok [INFO] [stdout] test feature_member_test::test_member_show ... ok [INFO] [stdout] test feature_rewrap_common_test::test_check_recipient_exists ... ok [INFO] [stdout] test feature_rewrap_common_test::test_merge_removed_history ... ok [INFO] [stdout] test feature_rewrap_common_test::test_validate_not_empty_recipients ... ok [INFO] [stdout] test feature_rewrap_common_test::test_add_to_removed_history_multiple ... ok [INFO] [stdout] test feature_rewrap_common_test::test_merge_removed_history_into_existing ... ok [INFO] [stdout] test feature_member_test::test_member_show_not_found ... ok [INFO] [stdout] test feature_rewrap_common_test::test_add_to_removed_history ... ok [INFO] [stdout] test feature_member_test::test_member_remove ... ok [INFO] [stdout] test feature_member_test::test_member_list ... ok [INFO] [stdout] test feature_rewrap_file_op_test::test_add_file_recipient_already_exists_noop ... ok [INFO] [stdout] test feature_rewrap_file_op_test::test_rotate_file_key_changes_content ... ok [INFO] [stdout] test feature_rewrap_file_op_test::test_rotate_file_key_preserves_decryptability ... ok [INFO] [stdout] test feature_rewrap_file_op_test::test_rewrap_file_roundtrip_with_rotation ... ok [INFO] [stdout] test feature_rewrap_file_op_test::test_remove_file_recipient_via_rewrap ... ok [INFO] [stdout] test feature_rewrap_file_op_test::test_remove_file_recipient_adds_disclosure ... ok [INFO] [stdout] test feature_rewrap_file_op_test::test_rotate_file_key_updates_wrap ... ok [INFO] [stdout] test feature_rewrap_file_op_test::test_add_file_recipient_via_rewrap ... ok [INFO] [stdout] test feature_key_protection_password_encryption_test::test_password_encrypt_preserves_metadata ... ok [INFO] [stdout] test feature_rewrap_file_test::test_rewrap_file_requires_workspace ... ok [INFO] [stdout] test feature_rewrap_file_test::test_rewrap_file_preserves_payload ... ok [INFO] [stdout] test feature_rewrap_file_test::test_rewrap_file_add_recipient ... ok [INFO] [stdout] test feature_rewrap_file_test::test_rewrap_file_rotate_key ... ok [INFO] [stdout] test feature_rewrap_file_test::test_rewrap_file_clear_disclosure_history ... ok [INFO] [stdout] test feature_member_test::test_verify_member ... ok [INFO] [stdout] test feature_rewrap_file_test::test_rewrap_file_remove_recipient ... ok [INFO] [stdout] test feature_rewrap_kv_test::test_rewrap_kv_add_recipient ... ok [INFO] [stdout] test feature_rewrap_kv_test::test_rewrap_kv_document_succeeds ... ok [INFO] [stdout] test feature_rewrap_kv_test::test_rewrap_kv_invalid_signature_error ... ok [INFO] [stdout] test feature_rewrap_kv_test::test_rewrap_kv_add_recipient_preserves_disclosed ... ok [INFO] [stdout] test feature_rewrap_kv_test::test_rewrap_kv_document_rotate_key ... ok [INFO] [stdout] test feature_rewrap_test::test_rewrap_file_flow_rejects_invalid_signature ... ok [INFO] [stdout] test feature_rewrap_kv_test::test_rewrap_kv_rotate_key_preserves_disclosed ... ok [INFO] [stdout] test feature_rewrap_kv_test::test_rewrap_kv_clear_disclosure_history ... ok [INFO] [stdout] test feature_verify_key_loader_test::test_find_public_key_by_kid_none ... ok [INFO] [stdout] test feature_verify_key_loader_test::test_find_public_key_by_kid_workspace_active ... ok [INFO] [stdout] test feature_verify_key_loader_test::test_find_public_key_by_kid_workspace_incoming_excluded ... ok [INFO] [stdout] test feature_member_test::test_verify_member_all ... ok [INFO] [stdout] test feature_verify_key_loader_test::test_load_verifying_key_from_signature_kid_mismatch ... ok [INFO] [stdout] test feature_verify_key_loader_test::test_load_verifying_key_from_signature_with_signer_pub_no_workspace_fails ... ok [INFO] [stdout] test feature_verify_key_loader_test::test_load_verifying_key_from_signature_with_signer_pub_not_active_member_fails ... ok [INFO] [stdout] test feature_verify_limits_test::test_verify_file_document_rejects_wrap_count_over_limit ... ok [INFO] [stdout] test feature_verify_limits_test::test_verify_kv_document_rejects_wrap_count_over_limit ... ok [INFO] [stdout] test feature_rewrap_test::test_rewrap_file_flow_succeeds_with_valid_signature ... ok [INFO] [stdout] test feature_verify_key_loader_test::test_load_verifying_key_from_signature_with_signer_pub ... ok [INFO] [stdout] test feature_run_test::test_build_env_from_kv_contents_single_file ... ok [INFO] [stdout] test feature_verify_public_key_attestation_test::public_key_with_resigned_but_mismatched_kid_fails_verification ... ok [INFO] [stdout] test format_context_test::test_aad_payload_kv ... ok [INFO] [stdout] test feature_rewrap_kv_test::test_rewrap_kv_clear_disclosure_history_resets_disclosed_flags ... ok [INFO] [stdout] test format_context_test::test_hpke_info_file ... ok [INFO] [stdout] test format_context_test::test_aad_file_payload ... ok [INFO] [stdout] test format_context_test::test_hpke_info_kv_file ... ok [INFO] [stdout] test format_detection_test::test_detect_empty_content ... ok [INFO] [stdout] test format_detection_test::test_detect_file_enc_v2_rejected ... ok [INFO] [stdout] test format_detection_test::test_detect_file_enc_v3 ... ok [INFO] [stdout] test format_detection_test::test_detect_kv_enc_old_format_rejected ... ok [INFO] [stdout] test format_detection_test::test_detect_kv_enc_v2_rejected ... ok [INFO] [stdout] test format_detection_test::test_detect_kv_plain_60_percent_threshold ... ok [INFO] [stdout] test format_detection_test::test_detect_kv_enc_v3 ... ok [INFO] [stdout] test format_detection_test::test_detect_kv_plain_simple ... ok [INFO] [stdout] test format_detection_test::test_detect_kv_plain_with_empty_lines ... ok [INFO] [stdout] test format_detection_test::test_detect_unknown_below_threshold ... ok [INFO] [stdout] test format_detection_test::test_detect_unknown_too_few_lines ... ok [INFO] [stdout] test format_dotenv_test::test_build_dotenv_string ... ok [INFO] [stdout] test format_dotenv_test::test_is_valid_key_name ... ok [INFO] [stdout] test format_detection_test::test_detect_kv_plain_with_comments ... ok [INFO] [stdout] test format_dotenv_test::test_roundtrip ... ok [INFO] [stdout] test format_dotenv_test::test_unquote_value ... ok [INFO] [stdout] test format_dotenv_test::test_validate_dotenv_strict_empty_content ... ok [INFO] [stdout] test format_dotenv_test::test_validate_dotenv_strict_invalid_key_name ... ok [INFO] [stdout] test format_dotenv_test::test_parse_dotenv ... ok [INFO] [stdout] test format_dotenv_test::test_validate_dotenv_strict_only_comments ... ok [INFO] [stdout] test format_dotenv_test::test_validate_dotenv_strict_invalid_no_equals ... ok [INFO] [stdout] test format_dotenv_test::test_validate_dotenv_strict_with_comments_and_empty_lines ... ok [INFO] [stdout] test format_dotenv_test::test_validate_dotenv_strict_with_export_prefix ... ok [INFO] [stdout] test format_dotenv_test::test_validate_dotenv_strict_valid ... ok [INFO] [stdout] test format_file_enc_test::decrypt::test_decrypt_file_empty_content ... ok [INFO] [stdout] test format_context_test::test_aad_private_key ... ok [INFO] [stdout] test format_file_enc_test::decrypt::test_decrypt_file_multiple_recipients ... ok [INFO] [stdout] test format_file_enc_test::decrypt::test_decrypt_file_wrong_key ... ok [INFO] [stdout] test format_file_enc_test::decrypt::test_decrypt_file_roundtrip ... ok [INFO] [stdout] test format_file_enc_test::decrypt::test_decrypt_file_wrong_member_id ... ok [INFO] [stdout] test feature_rewrap_kv_test::test_rewrap_kv_remove_recipient ... ok [INFO] [stdout] test format_file_enc_test::encrypt::test_encrypt_file_deterministic_structure ... ok [INFO] [stdout] test format_file_enc_test::encrypt::test_encrypt_file_basic ... ok [INFO] [stdout] test feature_run_test::test_build_env_from_kv_contents_overwrite ... ok [INFO] [stdout] test format_file_enc_test::encrypt::test_encrypt_file_empty_content ... ok [INFO] [stdout] test format_file_enc_test::encrypt::test_encrypt_file_no_recipient_found ... ok [INFO] [stdout] test format_file_enc_test::encrypt::test_encrypt_file_name_is_set ... ok [INFO] [stdout] test format_file_enc_test::encrypt::test_encrypt_file_multiple_recipients ... ok [INFO] [stdout] test format_file_enc_test::encrypt::test_encrypt_file_sid_is_uuid ... ok [INFO] [stdout] test feature_run_test::test_build_env_from_kv_contents_multiple_files ... ok [INFO] [stdout] test format_file_enc_test::validation::test_defence_in_depth_sid_mismatch ... ok [INFO] [stdout] test format_kv_canonical_test::test_build_canonical_bytes ... ok [INFO] [stdout] test format_kv_canonical_test::test_extract_recipients_from_wrap ... ok [INFO] [stdout] test format_kv_canonical_test::test_build_canonical_bytes_excludes_sig ... ok [INFO] [stdout] test format_file_enc_test::validation::test_encrypt_file ... ok [INFO] [stdout] test format_file_enc_test::encrypt::test_encrypt_file_signature_included ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_encrypt_empty_input ... ok [INFO] [stdout] test feature_rewrap_kv_test::test_rewrap_kv_remove_recipient_sets_disclosed_true ... ok [INFO] [stdout] test format_kv_enc_debug_test::test_debug_hpke_single_recipient ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_encrypt_with_comments_and_blank_lines ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_large_value_in_kv_enc ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_encrypt_and_decrypt_kv ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_set_existing_file_preserves_other_entry_tokens ... ok [INFO] [stdout] test feature_key_protection_password_encryption_test::test_password_encrypt_wrong_password_fails ... ok [INFO] [stdout] test feature_rewrap_kv_test::test_rewrap_kv_remove_then_rotate_preserves_disclosed_true ... ok [INFO] [stdout] test feature_verify_public_key_attestation_test::generated_public_key_verifies_with_attestation ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_set_existing_file_preserves_wrap_token ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_data_after_sig ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_duplicate_head ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_duplicate_header ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_duplicate_key ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_duplicate_sig ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_duplicate_wrap ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_head_not_second ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_header_not_first ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_invalid_key_format_colon ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_invalid_key_format_number_start ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_missing_header ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_sig_not_last ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_invalid_key_format_space ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_sig_with_empty_lines_after ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_sig_with_comment_rejected ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_unknown_control_tag ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_valid_structure ... ok [INFO] [stdout] test format_kv_enc_structure_test::test_validate_wrap_not_third ... ok [INFO] [stdout] test format_kv_enc_test::test_kv_line_roundtrip_preservation ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_comment_line_rejected ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_document ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_empty_line ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_head_line ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_head_line_with_tab_rejected ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_header_invalid_version ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_unset_key_not_found_error ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_header_old_format_rejected ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_header_v2_rejected ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_header_v3 ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_kv_line_with_tab_rejected ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_missing_space_error ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_kv_line ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_sig_line ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_header_without_colon_as_kv ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_with_comment_rejected ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_with_empty_lines ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_wrap_line_with_tab_rejected ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_wrap_line ... ok [INFO] [stdout] test format_schema_document_test::test_parse_file_enc_str_with_schema ... ok [INFO] [stdout] test format_kv_enc_test::test_parse_sig_line_with_tab_rejected ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_set_existing_file_preserves_sid ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_unset_preserves_sid_and_created_at ... ok [INFO] [stdout] test format_schema_document_test::test_parse_kv_tokens_with_schema ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_unset_preserves_other_entry_tokens ... ok [INFO] [stdout] test format_schema_document_test::test_parse_private_key_bytes_rejects_legacy_argon2_fields_error ... ok [INFO] [stdout] test format_signature_test::test_build_canonical_bytes_file_deterministic ... ok [INFO] [stdout] test format_signature_test::test_sign_file_document_deterministic ... ok [INFO] [stdout] test format_schema_document_test::test_parse_kv_signature_token_rejects_unknown_field_error ... ok [INFO] [stdout] test format_schema_document_test::test_parse_public_key_str_with_schema ... ok [INFO] [stdout] test format_signature_test::test_sign_file_document_returns_valid_structure ... ok [INFO] [stdout] test format_token_encode_test::test_token_encode ... ok [INFO] [stdout] test format_token_encode_test::test_token_encode_large_data ... ok [INFO] [stdout] test format_token_encode_test::test_token_encode_debug ... ok [INFO] [stdout] test io_config_bootstrap_test::test_validate_key_present_error_mentions_socket ... ok [INFO] [stdout] test io_config_bootstrap_test::test_validate_key_present ... ok [INFO] [stdout] test io_config_bootstrap_test::test_validate_key_present_error_when_missing ... ok [INFO] [stdout] test io_config_bootstrap_test::test_validate_member_id_edge_cases ... ok [INFO] [stdout] test io_config_bootstrap_test::test_validate_member_id_invalid ... ok [INFO] [stdout] test io_config_store_test::test_load_config_file_empty ... ok [INFO] [stdout] test io_config_bootstrap_test::test_validate_member_id_valid ... ok [INFO] [stdout] test io_config_store_test::test_load_config_file_ignores_non_string_values ... ok [INFO] [stdout] test io_config_store_test::test_load_config_file_nonexistent ... ok [INFO] [stdout] test io_config_store_test::test_load_config_file_invalid_toml ... ok [INFO] [stdout] test io_config_store_test::test_load_config_file_valid ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_unset_preserves_wrap_token ... ok [INFO] [stdout] test io_config_store_test::test_set_config_value_new_file ... ok [INFO] [stdout] test io_config_store_test::test_set_config_value_update_existing ... ok [INFO] [stdout] test io_config_store_test::test_unset_config_value_not_found ... ok [INFO] [stdout] test io_keystore_member_test::test_load_single_member_id_from_keystore_returns_single_member ... ok [INFO] [stdout] test io_keystore_public_key_source_test::test_workspace_public_key_source_bulk_rejects_incoming_member ... ok [INFO] [stdout] test io_config_store_test::test_unset_config_value ... ok [INFO] [stdout] test io_keystore_public_key_source_test::test_workspace_public_key_source_load_multiple ... ok [INFO] [stdout] test io_keystore_public_key_source_test::test_workspace_public_key_source_load_not_found ... ok [INFO] [stdout] test io_keystore_member_test::test_find_active_key_document_returns_active_key ... ok [INFO] [stdout] test format_signature_test::test_verify_file_enc_signature_rejects_tampered_document ... ok [INFO] [stdout] test format_signature_test::test_verify_file_enc_signature_accepts_valid_signature ... ok [INFO] [stdout] test io_keystore_resolver_test::test_keystore_resolver_resolve ... ok [INFO] [stdout] test io_keystore_public_key_source_test::test_workspace_public_key_source_rejects_incoming_member ... ok [INFO] [stdout] test io_keystore_storage_permission_test::unix_tests::test_load_private_key_accepts_secure_permissions ... ok [INFO] [stdout] test io_keystore_resolver_test::test_keystore_resolver_resolve_and_ensure ... ok [INFO] [stdout] test io_keystore_storage_permission_test::unix_tests::test_load_public_key_warns_on_insecure_permissions ... ok [INFO] [stdout] test io_keystore_test::test_ensure_keystore_dir ... ok [INFO] [stdout] test io_keystore_storage_permission_test::unix_tests::test_load_private_key_rejects_insecure_permissions ... ok [INFO] [stdout] test io_ssh_backend_test::test_backend_error_messages_include_diagnostics ... ok [INFO] [stdout] test io_ssh_backend_test::test_backend_factory_ssh_agent ... ok [INFO] [stdout] test io_process_env_test::test_execute_command_with_env_filters_parent_env_and_applies_overrides ... ok [INFO] [stdout] test io_keystore_public_key_source_test::test_workspace_public_key_source_load_public_key ... ok [INFO] [stdout] test io_ssh_backend_test::test_backend_factory_ssh_keygen ... ok [INFO] [stdout] test io_ssh_backend_test::test_backend_trait_non_deterministic_error ... ok [INFO] [stdout] test io_ssh_backend_test::test_backend_trait_determinism_check ... ok [INFO] [stdout] test io_ssh_backend_test::test_ssh_agent_backend_real ... ignored, Requires ssh-agent with loaded key [INFO] [stdout] test io_ssh_backend_test::test_ssh_keygen_backend_command_not_found ... ok [INFO] [stdout] test io_ssh_backend_test::test_ssh_keygen_backend_real ... ignored, Requires ssh-keygen command [INFO] [stdout] test io_ssh_protocol_wire_test::test_ssh_string_decode_insufficient_data_for_length ... ok [INFO] [stdout] test io_ssh_protocol_wire_test::test_ssh_string_decode_insufficient_data_for_payload ... ok [INFO] [stdout] test io_ssh_protocol_wire_test::test_ssh_string_decode_multiple ... ok [INFO] [stdout] test io_ssh_protocol_wire_test::test_ssh_string_decode_roundtrip ... ok [INFO] [stdout] test io_ssh_protocol_wire_test::test_ssh_string_decode_with_trailing_data ... ok [INFO] [stdout] test format_schema_document_test::test_parse_file_enc_str_rejects_wrap_count_over_limit ... ok [INFO] [stdout] test feature_key_protection_password_key_derivation_test::test_derive_key_different_salts_differ ... ok [INFO] [stdout] test io_ssh_backend_test::test_ssh_agent_backend_no_auth_sock ... ok [INFO] [stdout] test io_ssh_backend_test::test_determinism_check_with_real_backend_type ... ok [INFO] [stdout] test io_ssh_protocol_wire_test::test_ssh_string_encode_large ... ok [INFO] [stdout] test io_ssh_protocol_wire_test::test_ssh_string_encode_256_bytes ... ok [INFO] [stdout] test io_ssh_protocol_wire_test::test_ssh_string_decode_zero_length ... ok [INFO] [stdout] test io_ssh_protocol_wire_test::test_ssh_string_encode_short ... ok [INFO] [stdout] test io_verify_online_github_preflight_test::test_verify_ssh_key_on_github_no_keys_on_github ... ok [INFO] [stdout] test io_verify_online_github_preflight_test::test_verify_ssh_key_on_github_invalid_ssh_key ... ok [INFO] [stdout] test io_verify_online_github_preflight_test::test_verify_ssh_key_on_github ... ok [INFO] [stdout] test io_verify_online_github_preflight_test::test_verify_ssh_key_on_github_no_matching_key ... ok [INFO] [stdout] test io_workspace_setup_test::test_save_member_document_writes_public_key_json ... ok [INFO] [stdout] test io_ssh_protocol_wire_test::test_ssh_string_encode_empty ... ok [INFO] [stdout] test io_workspace_setup_test::test_ensure_workspace_structure_creates_required_directories ... ok [INFO] [stdout] test jcs_test::test_jcs_boolean_true ... ok [INFO] [stdout] test jcs_test::test_jcs_aad_payload_structure ... ok [INFO] [stdout] test jcs_test::test_jcs_deeply_nested_objects ... ok [INFO] [stdout] test io_keystore_test::test_save_without_activate ... ok [INFO] [stdout] test jcs_test::test_jcs_boolean_false ... ok [INFO] [stdout] test jcs_test::test_jcs_array_preserves_order ... ok [INFO] [stdout] test io_workspace_setup_test::test_validate_workspace_exists_accepts_complete_workspace ... ok [INFO] [stdout] test jcs_test::test_jcs_determinism_equivalent_input ... ok [INFO] [stdout] test format_schema_document_test::test_parse_kv_wrap_token_rejects_wrap_count_over_limit ... ok [INFO] [stdout] test io_keystore_test::test_save_and_activate ... ok [INFO] [stdout] test jcs_test::test_jcs_empty_string ... ok [INFO] [stdout] test jcs_test::test_jcs_empty_string_key ... ok [INFO] [stdout] test jcs_test::test_jcs_empty_object ... ok [INFO] [stdout] test jcs_test::test_jcs_empty_array ... ok [INFO] [stdout] test jcs_test::test_jcs_determinism_bytes ... ok [INFO] [stdout] test jcs_test::test_jcs_escape_backspace ... ok [INFO] [stdout] test jcs_test::test_jcs_escape_backslash ... ok [INFO] [stdout] test jcs_test::test_jcs_escape_form_feed ... ok [INFO] [stdout] test jcs_test::test_jcs_determinism_same_input ... ok [INFO] [stdout] test jcs_test::test_jcs_escape_quote ... ok [INFO] [stdout] test jcs_test::test_jcs_key_ordering_longer_keys ... ok [INFO] [stdout] test jcs_test::test_jcs_floating_point_no_trailing_zeros ... ok [INFO] [stdout] test jcs_test::test_jcs_integer_numbers ... ok [INFO] [stdout] test jcs_test::test_jcs_key_ordering_simple ... ok [INFO] [stdout] test jcs_test::test_jcs_key_ordering_mixed_case ... ok [INFO] [stdout] test jcs_test::test_jcs_large_integer ... ok [INFO] [stdout] test jcs_test::test_jcs_key_ordering_numeric_strings ... ok [INFO] [stdout] test jcs_test::test_jcs_mixed_type_array ... ok [INFO] [stdout] test jcs_test::test_jcs_nested_arrays ... ok [INFO] [stdout] test jcs_test::test_jcs_escape_carriage_return ... ok [INFO] [stdout] test jcs_test::test_jcs_nested_objects ... ok [INFO] [stdout] test jcs_test::test_jcs_floating_point_integer_value ... ok [INFO] [stdout] test jcs_test::test_jcs_no_whitespace_object ... ok [INFO] [stdout] test jcs_test::test_jcs_negative_numbers ... ok [INFO] [stdout] test jcs_test::test_jcs_normalize_generic_struct ... ok [INFO] [stdout] test jcs_test::test_jcs_null ... ok [INFO] [stdout] test jcs_test::test_jcs_numbers_format ... ok [INFO] [stdout] test jcs_test::test_jcs_normalize_bytes_matches_string ... ok [INFO] [stdout] test jcs_test::test_jcs_escape_newline ... ok [INFO] [stdout] test jcs_test::test_jcs_escape_tab ... ok [INFO] [stdout] test jcs_test::test_jcs_no_whitespace_array ... ok [INFO] [stdout] test jcs_test::test_jcs_primitive_value_boolean ... ok [INFO] [stdout] test jcs_test::test_jcs_object_in_array ... ok [INFO] [stdout] test jcs_test::test_jcs_output_is_valid_utf8 ... ok [INFO] [stdout] test jcs_test::test_jcs_policy_like_document ... ok [INFO] [stdout] test jcs_test::test_jcs_primitive_value_string ... ok [INFO] [stdout] test jcs_test::test_jcs_simple_string ... ok [INFO] [stdout] test jcs_test::test_jcs_primitive_value_null ... ok [INFO] [stdout] test jcs_test::test_jcs_special_chars_in_key ... ok [INFO] [stdout] test jcs_test::test_jcs_unicode_basic ... ok [INFO] [stdout] test jcs_test::test_jcs_unicode_control_chars_escaped ... ok [INFO] [stdout] test jcs_test::test_jcs_unicode_emoji ... ok [INFO] [stdout] test jcs_test::test_jcs_unicode_key_ordering ... ok [INFO] [stdout] test jcs_test::test_jcs_unicode_non_ascii ... ok [INFO] [stdout] test jcs_test::test_jcs_zero ... ok [INFO] [stdout] test jcs_test::test_jcs_single_key_object ... ok [INFO] [stdout] test keystore_active_test::test_clear_active_kid ... ok [INFO] [stdout] test keystore_active_test::test_set_active_kid_invalid_length ... ok [INFO] [stdout] test jcs_test::test_jcs_sha256_hash_determinism ... ok [INFO] [stdout] test jcs_test::test_jcs_small_negative ... ok [INFO] [stdout] test keystore_active_test::test_load_active_kid_invalid_format ... ok [INFO] [stdout] test keystore_active_test::test_set_active_kid_normalizes_display_form ... ok [INFO] [stdout] test jcs_test::test_jcs_secret_like_document ... ok [INFO] [stdout] test keystore_helpers_test::test_resolve_kid_no_keys ... ok [INFO] [stdout] test keystore_active_test::test_set_and_load_active_kid ... ok [INFO] [stdout] test jcs_test::test_jcs_rfc8785_example_sorting ... ok [INFO] [stdout] test keystore_paths_test::test_keystore_paths_structure ... ok [INFO] [stdout] test keystore_helpers_test::test_resolve_kid_with_override ... ok [INFO] [stdout] test keystore_storage_test::test_list_member_ids_empty ... ok [INFO] [stdout] test keystore_storage_test::test_list_member_ids_nonexistent_keystore ... ok [INFO] [stdout] test keystore_test::test_list_kids ... ok [INFO] [stdout] test model_file_enc_test::test_file_enc_document_basic ... ok [INFO] [stdout] test keystore_test::test_save_and_load_private_key ... ok [INFO] [stdout] test model_file_enc_test::test_recipients_derived_from_wrap ... ok [INFO] [stdout] test model_private_key_algorithm_test::test_argon2id_variant_rejects_legacy_params ... ok [INFO] [stdout] test model_private_key_algorithm_test::test_argon2id_variant_roundtrip ... ok [INFO] [stdout] test keystore_storage_test::test_list_member_ids_multiple_members ... ok [INFO] [stdout] test model_private_key_algorithm_test::test_existing_private_key_document_roundtrip ... ok [INFO] [stdout] test model_private_key_algorithm_test::test_unknown_kdf_fails ... ok [INFO] [stdout] test model_private_key_algorithm_test::test_sshsig_variant_roundtrip ... ok [INFO] [stdout] test model_private_key_test::test_private_key_plaintext_debug_redacts_secret_material ... ok [INFO] [stdout] test model_private_key_test::test_private_key_deserialization ... ok [INFO] [stdout] test model_private_key_test::test_private_key_plaintext_serialization ... ok [INFO] [stdout] test model_private_key_test::test_private_key_serialization ... ok [INFO] [stdout] test model_private_key_test::test_private_key_roundtrip ... ok [INFO] [stdout] test model_public_key_test::test_canonical_kid_format_validation ... ok [INFO] [stdout] test model_public_key_test::test_public_key_new_preserves_binding_claims ... ok [INFO] [stdout] test model_public_key_test::test_public_key_roundtrip ... ok [INFO] [stdout] test model_public_key_test::test_public_key_serialization ... ok [INFO] [stdout] test model_signature_test::test_signature_deserialization ... ok [INFO] [stdout] test model_signature_test::test_signature_roundtrip ... ok [INFO] [stdout] test keystore_public_keys_test::test_load_public_keys_for_member_ids ... ok [INFO] [stdout] test model_signature_test::test_signature_serialization ... ok [INFO] [stdout] test model_verified_test::test_decryption_proof_with_ssh_fpr ... ok [INFO] [stdout] test keystore_helpers_test::test_resolve_kid_fallback_to_latest ... ok [INFO] [stdout] test model_verified_test::test_decryption_proof_without_ssh_fpr ... ok [INFO] [stdout] test model_public_key_test::test_public_key_deserialization ... ok [INFO] [stdout] test model_verified_test::test_verified_into_inner ... ok [INFO] [stdout] test model_file_enc_test::test_payload_serialization ... ok [INFO] [stdout] test model_verified_test::test_verified_new ... ok [INFO] [stdout] test keystore_helpers_test::test_resolve_kid_with_active ... ok [INFO] [stdout] test model_verified_test::test_verified_binding_claims_new ... ok [INFO] [stdout] test model_verified_test::test_verified_map ... ok [INFO] [stdout] test jcs_test::test_jcs_primitive_value_number ... ok [INFO] [stdout] test keystore_test::test_save_and_load_public_key ... ok [INFO] [stdout] test ssh_agent_socket_test::test_resolve_agent_socket_path_config_priority ... ok [INFO] [stdout] test ssh_agent_socket_test::test_resolve_agent_socket_path_from_config ... ok [INFO] [stdout] test ssh_agent_socket_test::test_resolve_agent_socket_path_from_env ... ok [INFO] [stdout] test ssh_agent_socket_test::test_resolve_agent_socket_path_none ... ok [INFO] [stdout] test ssh_agent_socket_test::test_resolve_agent_socket_path_not_found ... ok [INFO] [stdout] test ssh_agent_validation_test::test_find_key_empty_identities ... ok [INFO] [stdout] test ssh_agent_validation_test::test_find_key_matches_identical_keys ... ok [INFO] [stdout] test ssh_agent_validation_test::test_find_key_matches_same_key_with_different_comments ... ok [INFO] [stdout] test ssh_agent_validation_test::test_find_key_no_match_different_key ... ok [INFO] [stdout] test schema_validator_test::test_validate_private_key_argon2id_rejects_legacy_params ... ok [INFO] [stdout] test ssh_external_env_test::test_default_ssh_add_sets_resolved_socket_without_inheriting_secret_env ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_collect_ed25519_keys_in_output_empty ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_collect_ed25519_keys_in_output_multiple_mixed ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_collect_ed25519_keys_in_output_no_ed25519 ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_collect_ed25519_keys_in_output_single_key ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ed25519_keys_from_agent_empty_comment ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ed25519_keys_from_agent_empty_output ... ok [INFO] [stdout] test ssh_external_env_test::test_load_ssh_public_key_from_keygen_uses_sanitized_env_with_optional_socket ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ed25519_keys_from_agent_multiple_mixed ... ok [INFO] [stdout] test schema_validator_test::test_validate_private_key_argon2id_without_params ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ed25519_keys_from_agent_single_key ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ed25519_keys_from_agent_error ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ssh_public_key_file_empty ... ok [INFO] [stdout] test schema_validator_test::test_validate_private_key_basic ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ssh_public_key_file_valid_ed25519 ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ssh_public_key_file_invalid_key_type ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ssh_public_key_file_not_found ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ed25519_keys_from_agent_no_ed25519 ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ssh_public_key_with_descriptor_trait_private_key ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_load_ssh_public_key_with_descriptor_public_key ... ok [INFO] [stdout] test ssh_external_pubkey_test::test_ssh_key_candidate_fields ... ok [INFO] [stdout] test ssh_fingerprint_test::test_error_empty ... ok [INFO] [stdout] test schema_validator_test::test_validate_public_key_basic ... ok [INFO] [stdout] test ssh_fingerprint_test::test_error_invalid_format ... ok [INFO] [stdout] test ssh_fingerprint_test::test_fingerprint_format ... ok [INFO] [stdout] test ssh_fingerprint_test::test_fingerprint_deterministic ... ok [INFO] [stdout] test ssh_fingerprint_test::test_fingerprint_with_comment ... ok [INFO] [stdout] test schema_validator_test::test_validate_file_enc_document_basic ... ok [INFO] [stdout] test ssh_openssh_config_integration_test::test_find_identity_agent_none_value ... ok [INFO] [stdout] test ssh_openssh_config_test::test_parse_identity_agent_case_insensitive ... ok [INFO] [stdout] test ssh_openssh_config_test::test_parse_identity_agent_global ... ok [INFO] [stdout] test ssh_openssh_config_test::test_parse_identity_agent_host_star ... ok [INFO] [stdout] test ssh_openssh_config_test::test_parse_identity_agent_multiple_host_blocks ... ok [INFO] [stdout] test ssh_openssh_config_test::test_parse_identity_agent_no_quotes ... ok [INFO] [stdout] test ssh_openssh_config_test::test_parse_identity_agent_none ... ok [INFO] [stdout] test ssh_openssh_config_integration_test::test_find_identity_agent_tilde_expansion ... ok [INFO] [stdout] test ssh_openssh_config_test::test_parse_identity_agent_not_found ... ok [INFO] [stdout] test ssh_openssh_config_test::test_parse_identity_agent_priority_host_star ... ok [INFO] [stdout] test ssh_openssh_config_integration_test::test_find_identity_agent_with_config_file ... ok [INFO] [stdout] test ssh_openssh_config_test::test_trim_comment ... ok [INFO] [stdout] test ssh_openssh_config_test::test_parse_identity_agent_with_comments ... ok [INFO] [stdout] test ssh_openssh_config_test::test_unquote_double ... ok [INFO] [stdout] test ssh_openssh_config_test::test_unquote_single ... ok [INFO] [stdout] test ssh_parse_test::test_parse_ssh_pubkey_empty ... ok [INFO] [stdout] test ssh_parse_test::test_parse_ssh_pubkey_invalid_base64 ... ok [INFO] [stdout] test ssh_parse_test::test_parse_ssh_pubkey_no_comment ... ok [INFO] [stdout] test ssh_parse_test::test_parse_ssh_pubkey_invalid_format ... ok [INFO] [stdout] test schema_validator_test::test_validator_creation ... ok [INFO] [stdout] test ssh_protection_test::test_build_sign_message ... ok [INFO] [stdout] test ssh_parse_test::test_parse_ssh_pubkey_unsupported_type ... ok [INFO] [stdout] test ssh_protection_test::test_build_sign_message_format ... ok [INFO] [stdout] test ssh_parse_test::test_parse_ssh_pubkey_valid ... ok [INFO] [stdout] test ssh_protection_test::test_derive_enc_key_different_inputs ... ok [INFO] [stdout] test ssh_protection_test::test_derive_enc_key_info_format ... ok [INFO] [stdout] test ssh_protocol_key_descriptor_test::test_as_path_private ... ok [INFO] [stdout] test ssh_protocol_key_descriptor_test::test_as_path_public ... ok [INFO] [stdout] test ssh_protocol_key_descriptor_test::test_from_path_detects_private_key ... ok [INFO] [stdout] test ssh_protocol_key_descriptor_test::test_from_path_detects_public_key ... ok [INFO] [stdout] test ssh_openssh_config_integration_test::test_find_identity_agent_no_config_file ... ok [INFO] [stdout] test ssh_protocol_key_descriptor_test::test_from_pathbuf ... ok [INFO] [stdout] test ssh_fingerprint_test::test_error_unsupported_key_type ... ok [INFO] [stdout] test ssh_protocol_key_descriptor_test::test_require_private_key ... ok [INFO] [stdout] test ssh_protocol_key_descriptor_test::test_require_private_key_rejects_public ... ok [INFO] [stdout] test ssh_protocol_key_descriptor_test::test_require_public_key ... ok [INFO] [stdout] test ssh_protocol_key_descriptor_test::test_require_public_key_rejects_private ... ok [INFO] [stdout] test ssh_protocol_key_descriptor_test::test_to_path_buf_private ... ok [INFO] [stdout] test ssh_protocol_key_descriptor_test::test_to_path_buf_public ... ok [INFO] [stdout] test ssh_protocol_types_test::test_ed25519_raw_signature_from_slice ... ok [INFO] [stdout] test ssh_protocol_types_test::test_ed25519_raw_signature_invalid_length ... ok [INFO] [stdout] test ssh_protocol_types_test::test_ssh_signature_blob_extract_from_raw_64 ... ok [INFO] [stdout] test ssh_protocol_types_test::test_ssh_signature_blob_extract_from_wire_format ... ok [INFO] [stdout] test ssh_protocol_types_test::test_ssh_signature_blob_rejects_algo_mismatch ... ok [INFO] [stdout] test ssh_protocol_types_test::test_ssh_signature_blob_rejects_wrong_sig_length ... ok [INFO] [stdout] test ssh_test::test_build_sha256_fingerprint_deterministic ... ok [INFO] [stdout] test ssh_test::test_comment_excluded_from_fingerprint ... ok [INFO] [stdout] test ssh_test::test_empty_pubkey_error ... ok [INFO] [stdout] test ssh_test::test_extract_key_blob ... ok [INFO] [stdout] test ssh_test::test_fingerprint_format_validation ... ok [INFO] [stdout] test ssh_test::test_fingerprint_length_43_chars ... ok [INFO] [stdout] test ssh_test::test_invalid_pubkey_format_error ... ok [INFO] [stdout] test ssh_test::test_malformed_base64_error ... ok [INFO] [stdout] test ssh_test::test_unsupported_key_type_rsa_error ... ok [INFO] [stdout] test ssh_verify_test::test_verify_sshsig_validation ... ok [INFO] [stdout] test sshsig_format_test::test_build_sshsig_signed_data_contains_hashalg ... ok [INFO] [stdout] test ssh_protection_test::test_encrypt_decrypt_private_key_roundtrip_with_deterministic_backend ... ok [INFO] [stdout] test sshsig_format_test::test_build_sshsig_signed_data_deterministic ... ok [INFO] [stdout] test sshsig_format_test::test_build_sshsig_signed_data_format ... ok [INFO] [stdout] test sshsig_format_test::test_build_sshsig_signed_data_includes_hash ... ok [INFO] [stdout] test sshsig_format_test::test_build_sshsig_signed_data_structure ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_armored_invalid_base64 ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_armored_multiline_base64 ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_armored_no_markers ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_armored_valid ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_blob_invalid_magic ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_blob_non_empty_reserved ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_blob_roundtrip ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_blob_too_short ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_blob_valid ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_blob_wrong_hashalg ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_blob_wrong_namespace ... ok [INFO] [stdout] test sshsig_format_test::test_parse_sshsig_blob_wrong_version ... ok [INFO] [stdout] test support_base64url_test::test_b64_decode_array ... ok [INFO] [stdout] test support_base64url_test::test_b64_decode_array_wrong_size ... ok [INFO] [stdout] test support_base64url_test::test_b64_decode_token_rejects_input_over_limit ... ok [INFO] [stdout] test support_base64url_test::test_b64_roundtrip ... ok [INFO] [stdout] test support_fs_atomic_test::test_save_bytes ... ok [INFO] [stdout] test support_fs_atomic_test::test_save_json ... ok [INFO] [stdout] test support_fs_atomic_test::test_save_json_creates_parent_dir ... ok [INFO] [stdout] test support_fs_atomic_test::test_save_json_restricted_creates_file_with_0600 ... ok [INFO] [stdout] test support_fs_atomic_test::test_save_text ... ok [INFO] [stdout] test support_fs_atomic_test::test_save_json_restricted_creates_parent_with_0700 ... ok [INFO] [stdout] test support_fs_atomic_test::test_save_text_restricted_creates_file_with_0600 ... ok [INFO] [stdout] test ssh_test::test_hash_and_encode_no_padding ... ok [INFO] [stdout] test support_fs_atomic_test::test_save_text_restricted_creates_parent_with_0700 ... ok [INFO] [stdout] test support_fs_lock_test::test_lock_file_created_with_0600 ... ok [INFO] [stdout] test support_fs_lock_test::test_with_file_lock ... ok [INFO] [stdout] test support_fs_lock_test::test_with_file_lock_creates_parent_dir ... ok [INFO] [stdout] test support_fs_lock_test::test_with_file_lock_propagates_error ... ok [INFO] [stdout] test support_fs_test::test_check_permission_detects_insecure_directory ... ok [INFO] [stdout] test support_fs_test::test_check_permission_accepts_secure_file ... ok [INFO] [stdout] test support_fs_test::test_check_permission_nonexistent_path_returns_warning ... ok [INFO] [stdout] test support_fs_test::test_check_permission_detects_insecure_file ... ok [INFO] [stdout] test support_fs_test::test_ensure_dir ... ok [INFO] [stdout] test support_fs_test::test_ensure_dir_restricted_sets_mode_0700 ... ok [INFO] [stdout] test support_fs_test::test_ensure_dir_restricted_fixes_existing_dir_permissions ... ok [INFO] [stdout] test support_base64url_test::test_b64_decode_ciphertext_rejects_input_over_limit ... ok [INFO] [stdout] test support_fs_test::test_list_dir ... ok [INFO] [stdout] test support_fs_test::test_load_text_missing_file_error ... ok [INFO] [stdout] test support_fs_lock_test::test_with_file_lock_returns_value ... ok [INFO] [stdout] test support_kid_test::test_build_kid_display_groups_canonical_form_by_four ... ok [INFO] [stdout] test support_kid_test::test_derive_public_key_kid_changes_when_binding_claims_change ... ok [INFO] [stdout] test support_kid_test::test_derive_public_key_kid_matches_spec_vector ... ok [INFO] [stdout] test support_kid_test::test_normalize_kid_accepts_display_and_lowercase_forms ... ok [INFO] [stdout] test support_kid_test::test_normalize_kid_rejects_invalid_length ... ok [INFO] [stdout] test ssh_openssh_config_test::test_unquote_no_quotes ... ok [INFO] [stdout] test support_kid_test::test_build_kid_display_rejects_invalid_canonical_value ... ok [INFO] [stdout] test support_time_test::test_build_timestamp_display ... ok [INFO] [stdout] test support_fs_test::test_load_text ... ok [INFO] [stdout] test ssh_openssh_config_test::test_parse_identity_agent_single_quotes ... ok [INFO] [stdout] test schema_validator_test::test_validator_allows_member_id_without_at_in_wrap_rid ... ok [INFO] [stdout] test support_time_test::test_build_timestamp_display_no_subseconds ... ok [INFO] [stdout] test support_time_test::test_current_timestamp ... ok [INFO] [stdout] test support_validation_test::test_validate_member_id_empty ... ok [INFO] [stdout] test support_validation_test::test_validate_member_id_starts_with_non_alphanumeric ... ok [INFO] [stdout] test support_validation_test::test_validate_member_id_too_long ... ok [INFO] [stdout] test support_validation_test::test_validate_member_id_valid ... ok [INFO] [stdout] test verify_github_test::test_github_account_structure_github_has_id_and_login ... ok [INFO] [stdout] test verify_github_test::test_resolve_github_id_by_username_with_fake_api ... ok [INFO] [stdout] test verify_github_test::test_verification_result_verified_bindings_some ... ok [INFO] [stdout] test verify_github_test::test_verify_github_account_rejects_id_mismatch ... ok [INFO] [stdout] test verify_github_test::test_verify_github_account_reports_missing_matching_key ... ok [INFO] [stdout] test verify_github_test::test_verify_github_account_reports_not_configured_for_invalid_attestation ... ok [INFO] [stdout] test verify_github_test::test_verify_github_account_reports_not_configured_without_binding_claims ... ok [INFO] [stdout] test verify_github_test::test_verify_github_account_uses_known_account_without_user_lookup ... ok [INFO] [stdout] test support_validation_test::test_validate_member_id_invalid_characters ... ok [INFO] [stdout] test support_validation_test::test_validate_member_id_max_length ... ok [INFO] [stdout] test test_utils_ed25519_backend_test::test_ed25519_direct_backend_is_deterministic ... ok [INFO] [stdout] test verify_github_test::test_verify_github_account_with_fake_api ... ok [INFO] [stdout] test workspace_detection_test::test_detect_workspace_fails_without_members_directory ... ok [INFO] [stdout] test workspace_detection_test::test_check_workspace_requires_active_subdir ... ok [INFO] [stdout] test workspace_detection_test::test_check_workspace_secretenv_subdir_requires_active ... ok [INFO] [stdout] test ssh_protection_test::test_derive_enc_key ... ok [INFO] [stdout] test workspace_detection_test::test_detect_workspace_fails_without_secrets_directory ... ok [INFO] [stdout] test workspace_detection_test::test_detect_workspace_in_current_directory ... ok [INFO] [stdout] test workspace_detection_test::test_detect_workspace_with_marker_file ... ok [INFO] [stdout] test workspace_detection_test::test_detect_workspace_with_toml_config ... ok [INFO] [stdout] test workspace_detection_test::test_detect_workspace_in_git_worktree ... ok [INFO] [stdout] test workspace_detection_test::test_detect_workspace_stops_at_marker ... ok [INFO] [stdout] test format_kv_enc_ops_test::test_wrap_line_with_many_recipients ... ok [INFO] [stdout] test feature_key_protection_password_encryption_test::test_password_encrypt_decrypt_roundtrip ... ok [INFO] [stdout] test test_utils_ed25519_backend_test::test_ed25519_direct_backend_different_challenges_produce_different_sigs ... ok [INFO] [stdout] test workspace_detection_test::test_resolve_workspace_env_var_invalid_path ... ok [INFO] [stdout] test support_fs_test::test_list_dir_missing_directory_error ... ok [INFO] [stdout] test workspace_detection_test::test_detect_workspace_in_parent_directory ... ok [INFO] [stdout] test workspace_members_test::test_list_member_ids ... ok [INFO] [stdout] test workspace_members_test::test_list_member_ids_empty ... ok [INFO] [stdout] test workspace_detection_test::test_workspace_root_fields ... ok [INFO] [stdout] test workspace_detection_test::test_detect_workspace_in_git_worktree_from_subdirectory ... ok [INFO] [stdout] test workspace_detection_test::test_resolve_workspace_fallback_to_search ... ok [INFO] [stdout] test workspace_detection_test::test_resolve_workspace_from_environment_variable ... ok [INFO] [stdout] test workspace_detection_test::test_resolve_workspace_priority_order ... ok [INFO] [stdout] test workspace_detection_test::test_resolve_workspace_env_var_not_workspace ... ok [INFO] [stdout] test workspace_detection_test::test_resolve_workspace_with_explicit_option ... ok [INFO] [stdout] test test_utils_ed25519_backend_test::test_ed25519_direct_backend_produces_same_signature_as_ssh_keygen ... ok [INFO] [stdout] test format_file_enc_test::encrypt::test_encrypt_file_large_content ... ok [INFO] [stdout] test feature_key_protection_password_key_derivation_test::test_derive_key_different_kids_differ ... ok [INFO] [stdout] test format_file_enc_test::decrypt::test_decrypt_file_large_content ... ok [INFO] [stdout] test feature_verify_public_key_attestation_test::generated_public_key_verifies_with_attestation_repeatedly ... ok [INFO] [stdout] test feature_key_protection_password_key_derivation_test::test_derive_key_different_passwords_differ ... ok [INFO] [stdout] test feature_key_protection_password_key_derivation_test::test_derive_key_from_password_deterministic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 843 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 36.64s [INFO] [stdout] [INFO] [stderr] Doc-tests secretenv [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test src/io/ssh/protocol/sshsig.rs - io::ssh::protocol::sshsig::parse_sshsig_blob (line 201) ... ignored [INFO] [stdout] test src/model/verified.rs - model::verified::VerifiedPrivateKey (line 34) - compile ... ok [INFO] [stdout] test src/model/file_enc.rs - model::file_enc::VerifiedFileEncDocument (line 125) - compile ... ok [INFO] [stdout] test src/io/ssh/protocol/sshsig.rs - io::ssh::protocol::sshsig::parse_sshsig_armored (line 261) - compile ... ok [INFO] [stdout] test src/io/ssh/protocol/key_descriptor.rs - io::ssh::protocol::key_descriptor::SshKeyDescriptor::from_path (line 56) ... ok [INFO] [stdout] test src/io/ssh/protocol/sshsig.rs - io::ssh::protocol::sshsig::build_sshsig_signed_data (line 82) ... ok [INFO] [stdout] test src/model/common.rs - model::common::normalize_recipients (line 60) ... ok [INFO] [stdout] test src/io/ssh/protocol/wire.rs - io::ssh::protocol::wire::ssh_string_decode (line 43) ... ok [INFO] [stdout] test src/io/ssh/protocol/wire.rs - io::ssh::protocol::wire::ssh_string_encode (line 23) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 4.36s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "219adfdc4d31781480bc62588cf50e76a8776356e67dba91e93d0e26a7d2be59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "219adfdc4d31781480bc62588cf50e76a8776356e67dba91e93d0e26a7d2be59", kill_on_drop: false }` [INFO] [stdout] 219adfdc4d31781480bc62588cf50e76a8776356e67dba91e93d0e26a7d2be59