[INFO] cloning repository https://github.com/aheissenberger/gitvault
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aheissenberger/gitvault" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faheissenberger%2Fgitvault", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faheissenberger%2Fgitvault'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d600671dcb172b3a5fe98007912a1a2ce60aff16
[INFO] testing aheissenberger/gitvault against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faheissenberger%2Fgitvault" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/aheissenberger/gitvault
[INFO] finished tweaking git repo https://github.com/aheissenberger/gitvault
[INFO] tweaked toml for git repo https://github.com/aheissenberger/gitvault written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aheissenberger/gitvault on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aheissenberger/gitvault already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f8ed5f4f366cee5dd3568d73a475808a36baf951376bf7aade6309bc40cde0a0
[INFO] running `Command { std: "docker" "start" "-a" "f8ed5f4f366cee5dd3568d73a475808a36baf951376bf7aade6309bc40cde0a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f8ed5f4f366cee5dd3568d73a475808a36baf951376bf7aade6309bc40cde0a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8ed5f4f366cee5dd3568d73a475808a36baf951376bf7aade6309bc40cde0a0", kill_on_drop: false }`
[INFO] [stdout] f8ed5f4f366cee5dd3568d73a475808a36baf951376bf7aade6309bc40cde0a0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f51cc94a0cee975389adc1bcef5b0b884800ad3f4db8f6768e46f9a8ac895843
[INFO] running `Command { std: "docker" "start" "-a" "f51cc94a0cee975389adc1bcef5b0b884800ad3f4db8f6768e46f9a8ac895843", kill_on_drop: false }`
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling type-map v0.5.1
[INFO] [stderr]    Compiling self_cell v1.2.2
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling self_cell v0.10.3
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling arc-swap v1.8.2
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling rust-embed-utils v8.11.0
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling io_tee v0.1.1
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling linux-keyutils v0.2.4
[INFO] [stderr]    Compiling gitvault v0.5.6 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling bech32 v0.9.1
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling keyring v3.6.3
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling which v8.0.0
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling rust-embed-impl v8.11.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling secrecy v0.8.0
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rust-embed v8.11.0
[INFO] [stderr]    Compiling unic-langid-impl v0.9.6
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling blowfish v0.9.1
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling fluent-syntax v0.11.1
[INFO] [stderr]    Compiling unic-langid v0.9.6
[INFO] [stderr]    Compiling intl-memoizer v0.5.3
[INFO] [stderr]    Compiling fluent-langneg v0.13.1
[INFO] [stderr]    Compiling intl_pluralrules v7.0.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling bcrypt-pbkdf v0.10.0
[INFO] [stderr]    Compiling x25519-dalek v2.0.1
[INFO] [stderr]    Compiling scrypt v0.11.0
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling fluent-bundle v0.15.3
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling fluent v0.16.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling basic-toml v0.1.10
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling i18n-config v0.4.8
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling cookie-factory v0.3.3
[INFO] [stderr]    Compiling rsa v0.9.10
[INFO] [stderr]    Compiling find-crate v0.6.3
[INFO] [stderr]    Compiling age-core v0.10.0
[INFO] [stderr]    Compiling i18n-embed-impl v0.8.4
[INFO] [stderr]    Compiling i18n-embed v0.14.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling i18n-embed-fl v0.7.0
[INFO] [stderr]    Compiling age v0.10.1
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.08s
[INFO] running `Command { std: "docker" "inspect" "f51cc94a0cee975389adc1bcef5b0b884800ad3f4db8f6768e46f9a8ac895843", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f51cc94a0cee975389adc1bcef5b0b884800ad3f4db8f6768e46f9a8ac895843", kill_on_drop: false }`
[INFO] [stdout] f51cc94a0cee975389adc1bcef5b0b884800ad3f4db8f6768e46f9a8ac895843
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 18cc00da88634c2b54faf05ec452af440923596bb859b607708f41ead26e193b
[INFO] running `Command { std: "docker" "start" "-a" "18cc00da88634c2b54faf05ec452af440923596bb859b607708f41ead26e193b", kill_on_drop: false }`
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling mockall_derive v0.12.1
[INFO] [stderr]    Compiling downcast v0.11.0
[INFO] [stderr]    Compiling fragile v2.0.1
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling mockall v0.12.1
[INFO] [stderr]    Compiling gitvault v0.5.6 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 15.73s
[INFO] running `Command { std: "docker" "inspect" "18cc00da88634c2b54faf05ec452af440923596bb859b607708f41ead26e193b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18cc00da88634c2b54faf05ec452af440923596bb859b607708f41ead26e193b", kill_on_drop: false }`
[INFO] [stdout] 18cc00da88634c2b54faf05ec452af440923596bb859b607708f41ead26e193b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ebac12f0812a9bf57e8d6e243721acd46296d4f6551b9f3dabda7a692d8f7130
[INFO] running `Command { std: "docker" "start" "-a" "ebac12f0812a9bf57e8d6e243721acd46296d4f6551b9f3dabda7a692d8f7130", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.35s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gitvault-78eda356f87cba70)
[INFO] [stdout] 
[INFO] [stdout] running 839 tests
[INFO] [stdout] test barrier::tests::allow_prod_with_overflow_ttl_returns_error ... ok
[INFO] [stdout] test barrier::tests::allow_prod_with_ttl_over_cap_returns_usage_error ... ok
[INFO] [stdout] test barrier::tests::check_prod_barrier_interactive_yes_via_prompt_helper ... ok
[INFO] [stdout] test barrier::tests::allow_prod_fails_when_secrets_path_is_a_file ... ok
[INFO] [stdout] test barrier::tests::bare_timestamp_token_is_rejected ... ok
[INFO] [stdout] test barrier::tests::check_prod_barrier_interactive_no_via_prompt_helper ... ok
[INFO] [stdout] test barrier::tests::now_secs_returns_reasonable_timestamp ... ok
[INFO] [stdout] test barrier::tests::allow_prod_with_max_ttl_is_accepted ... ok
[INFO] [stdout] test barrier::tests::prod_confirmation_error_is_propagated ... ok
[INFO] [stdout] test barrier::tests::prod_with_interactive_confirm_yes_passes ... ok
[INFO] [stdout] test barrier::tests::allow_prod_writes_future_expiry ... ok
[INFO] [stdout] test barrier::tests::prod_with_interactive_confirm_no_fails ... ok
[INFO] [stdout] test barrier::tests::read_confirmation_from_rejects_other_values ... ok
[INFO] [stdout] test barrier::tests::read_confirmation_from_returns_false_for_empty_input ... ok
[INFO] [stdout] test barrier::tests::read_confirmation_from_returns_io_error_on_read_failure ... ok
[INFO] [stdout] test barrier::tests::prod_with_prod_flag_no_token_no_prompt_fails ... ok
[INFO] [stdout] test barrier::tests::prod_without_prod_flag_fails ... ok
[INFO] [stdout] test barrier::tests::prod_with_valid_token_passes ... ok
[INFO] [stdout] test barrier::tests::read_confirmation_from_accepts_lowercase_y ... ok
[INFO] [stdout] test barrier::tests::revoke_prod_when_no_token_exists_is_noop ... ok
[INFO] [stdout] test barrier::tests::read_confirmation_from_accepts_yes_case_insensitive ... ok
[INFO] [stdout] test barrier::tests::prod_with_expired_token_fails ... ok
[INFO] [stdout] test barrier::tests::revoke_prod_fails_when_token_path_is_a_directory ... ok
[INFO] [stdout] test barrier::tests::has_valid_token_non_numeric_expiry_returns_false ... ok
[INFO] [stdout] test cli::tests::test_identity_profile_display_classic ... ok
[INFO] [stdout] test barrier::tests::has_valid_token_corrupt_key_file_returns_false ... ok
[INFO] [stdout] test barrier::tests::load_or_create_token_key_rejects_all_zero_key ... ok
[INFO] [stdout] test barrier::tests::token_path_constant_is_under_secrets_dir ... ok
[INFO] [stdout] test cli::tests::test_identity_profile_display_hybrid ... ok
[INFO] [stdout] test barrier::tests::load_or_create_token_key_creates_key_when_absent ... ok
[INFO] [stdout] test barrier::tests::non_prod_env_always_passes ... ok
[INFO] [stdout] test barrier::tests::load_or_create_token_key_rejects_insecure_permissions ... ok
[INFO] [stdout] test barrier::tests::malformed_token_content_is_treated_as_invalid ... ok
[INFO] [stdout] test barrier::tests::tampered_hmac_token_is_rejected ... ok
[INFO] [stdout] test cli::tests::test_decrypt_parses_source_path_with_env ... ok
[INFO] [stdout] test commands::admin::gitattributes::tests::test_ensure_merge_driver_git_config_errors_on_nonexistent_dir ... ok
[INFO] [stdout] test cli::tests::test_decrypt_reveal_flag ... ok
[INFO] [stdout] test barrier::tests::revoke_prod_removes_token ... ok
[INFO] [stdout] test commands::admin::gitattributes::tests::test_ensure_merge_driver_git_config_errors_on_nongit_dir ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_allow_prod_and_check ... ok
[INFO] [stdout] test barrier::tests::test_token_permissions_applied_before_persist_no_toctou ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_check_age_format_valid_but_crypto_invalid_recipient ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_check_history_scan_clean_repo_succeeds ... ok
[INFO] [stdout] test barrier::tests::allow_prod_fails_when_token_dir_is_read_only ... FAILED
[INFO] [stdout] [master (root-commit) 4e1ae6f] add secrets
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 .env
[INFO] [stdout] test commands::admin::tests::test_cmd_check_history_scan_detects_committed_env ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_status_fail_if_dirty_returns_plaintext_leak ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_check_reports_ambiguous_ssh_source ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_check_validates_recipient_keys_in_file ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_harden_and_status_in_git_repo ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_harden_gitattributes_idempotent ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_status_seal_drift_plain_drift_icon ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_check_plain_output_succeeds ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_status_seal_drift_plain_ok_icon ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_harden_missing_adapter_no_prompt_fails ... ok
[INFO] [stdout] test commands::admin::tests::test_harden_no_files_delegates_to_repo_harden ... ok
[INFO] [stdout] test commands::admin::tests::test_harden_with_files_dry_run_does_not_write ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_harden_registers_merge_driver_git_config ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_harden_writes_gitattributes ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_harden_unknown_adapter_fails ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_revoke_prod_succeeds ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_check_invalid_recipient_fails ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_status_json_output ... ok
[INFO] [stdout] test commands::admin::tests::test_merge_driver_clean_merge ... ok
[INFO] [stdout] test commands::admin::tests::test_merge_driver_conflict_json_output ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_status_seal_drift_fail_if_dirty_returns_drift_err ... ok
[INFO] [stdout] test commands::admin::tests::test_merge_driver_preserves_prefix_and_inline_comment_on_change ... ok
[INFO] [stdout] test commands::admin::tests::test_merge_driver_preserves_unchanged_line_formatting ... ok
[INFO] [stdout] test commands::ai::tests::test_ai_context_print_human_succeeds ... ok
[INFO] [stdout] test commands::ai::tests::test_ai_context_print_json_succeeds ... ok
[INFO] [stdout] test commands::ai::tests::test_ai_json_envelope_has_correct_fields ... ok
[INFO] [stdout] test commands::ai::tests::test_ai_skill_print_human_succeeds ... ok
[INFO] [stdout] test commands::ai::tests::test_ai_skill_print_json_succeeds ... ok
[INFO] [stdout] test commands::ai::tests::test_context_content_contains_expected_keywords ... ok
[INFO] [stdout] test commands::ai::tests::test_context_content_is_non_empty ... ok
[INFO] [stdout] test commands::ai::tests::test_skill_content_contains_expected_keywords ... ok
[INFO] [stdout] test commands::ai::tests::test_skill_content_is_non_empty ... ok
[INFO] [stdout] test commands::decrypt::tests::test_absolute_age_store_path_is_recognised_as_explicit ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_status_seal_drift_json_drifted_file ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_status_seal_drift_json_sealed_file ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_harden_missing_adapter_interactive_warns ... ok
[INFO] [stdout] test commands::decrypt::tests::test_cmd_decrypt_source_path_not_found_error ... ok
[INFO] [stdout] test commands::decrypt::tests::test_derive_relative_source_error_on_prefix_mismatch ... ok
[INFO] [stdout] test commands::decrypt::tests::test_derive_relative_source_flat_file ... ok
[INFO] [stdout] test commands::decrypt::tests::test_derive_relative_source_nested ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_harden_json_output ... ok
[INFO] [stdout] test commands::decrypt::tests::test_is_explicit_store_path_negative_no_age ... ok
[INFO] [stdout] test commands::decrypt::tests::test_is_explicit_store_path_negative_wrong_prefix ... ok
[INFO] [stdout] test commands::decrypt::tests::test_is_explicit_store_path_positive ... ok
[INFO] [stdout] test commands::decrypt::tests::test_materialisation_path_not_adjacent_to_input ... ok
[INFO] [stdout] test commands::decrypt::tests::test_parse_env_from_store_path ... ok
[INFO] [stdout] test commands::decrypt::tests::test_parse_env_from_store_path_error_when_no_env_component ... ok
[INFO] [stdout] test commands::decrypt::tests::test_parse_env_from_store_path_error_when_wrong_prefix ... ok
[INFO] [stdout] test commands::decrypt::tests::test_resolve_store_path_via_source_computes_correct_mirrored_path ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_status_seal_drift_plain_override_ok_with_count ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_harden_no_config_uses_builtin ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_harden_preserves_existing_merge_driver_git_config ... ok
[INFO] [stdout] test commands::admin::tests::test_harden_with_files_encrypts_and_gitignores ... ok
[INFO] [stdout] test commands::admin::tests::test_harden_with_files_idempotent ... ok
[INFO] [stdout] test commands::admin::tests::test_harden_with_files_json_error_output_for_missing_file ... ok
[INFO] [stdout] test commands::admin::tests::test_harden_with_files_plain_error_output_for_missing_file ... ok
[INFO] [stdout] test commands::admin::tests::test_harden_with_files_removes_source_file ... ok
[INFO] [stdout] test commands::admin::tests::test_local_git_config_returns_none_for_absent_key ... ok
[INFO] [stdout] test commands::admin::tests::test_merge_driver_conflict_returns_exit_outcome ... ok
[INFO] [stdout] test commands::decrypt::tests::test_cmd_decrypt_materialise_writes_to_plain_base_dir ... ok
[INFO] [stdout] test commands::effects::tests::default_runner_run_command_empty_command_returns_usage_error ... ok
[INFO] [stdout] test commands::effects::tests::execute_effects_barrier_denied_returns_err ... ok
[INFO] [stdout] test commands::effects::tests::execute_effects_decrypt_secrets_without_prior_identity_errors ... ok
[INFO] [stdout] test commands::effects::tests::execute_effects_decrypt_without_identity_errors ... ok
[INFO] [stdout] test commands::effects::tests::execute_effects_materialize_uses_cached_secrets ... ok
[INFO] [stdout] test commands::effects::tests::execute_effects_materialize_without_prior_decrypt_errors ... ok
[INFO] [stdout] test commands::effects::tests::execute_effects_run_command_returns_exit_code ... ok
[INFO] [stdout] test commands::effects::tests::execute_effects_with_decrypt_file_decrypts_to_output_path ... ok
[INFO] [stdout] TOP_SECRET=1
[INFO] [stdout] test commands::decrypt::tests::test_cmd_decrypt_reveal_explicit_store_path ... ok
[INFO] [stdout] STDOUT_DECRYPT=1
[INFO] [stdout] test commands::effects::tests::execute_effects_with_decrypt_file_to_stdout ... ok
[INFO] [stdout] test commands::effects::tests::execute_effects_with_decrypt_file_without_identity_errors ... ok
[INFO] [stdout] test commands::effects::tests::fake_runner_materialize_error_propagates ... ok
[INFO] [stdout] test commands::effects::tests::fake_runner_decrypt_secrets_error_propagates ... ok
[INFO] [stdout] test commands::effects::tests::fake_runner_run_command_error_propagates ... ok
[INFO] [stdout] SECRET=hello
[INFO] [stdout] test commands::decrypt::tests::test_cmd_decrypt_reveal_source_path ... ok
[INFO] [stdout] test commands::admin::tests::test_cmd_status_seal_drift_plain_excluded ... ok
[INFO] [stdout] W=1
[INFO] [stdout] test commands::decrypt::tests::test_env_warning_when_explicit_store_path_and_env_given ... ok
[INFO] [stdout] test commands::edit::tests::test_cmd_edit_no_change_skips_reseal ... ok
[INFO] [stdout] test commands::identity::tests::cmd_identity_create_json_true_no_prompt_false_with_out_file ... ok
[INFO] [stdout] test commands::identity::tests::cmd_identity_create_no_out_mock_keyring_stores_ok ... ok
[INFO] [stdout] test commands::identity::tests::cmd_identity_dispatches_create_action ... ok
[INFO] [stdout] test commands::edit::tests::test_cmd_edit_store_fields_error ... ok
[INFO] [stdout] test commands::identity::tests::identity_create_classic_with_out_file ... ok
[INFO] [stdout] test commands::identity::tests::identity_create_json_output_excludes_secret ... ok
[INFO] [stdout] test commands::identity::tests::identity_create_no_out_keyring_unavailable_fails ... ok
[INFO] [stdout] test commands::identity::tests::identity_create_hybrid_with_out_file ... ok
[INFO] [stdout] test commands::identity::tests::identity_create_out_file_has_restrictive_permissions ... ok
[INFO] [stdout] test commands::edit::tests::test_cmd_edit_store_no_change ... ok
[INFO] [stdout] test commands::edit::tests::test_cmd_edit_store_with_change ... ok
[INFO] [stdout] test commands::edit::tests::test_cmd_edit_with_change_reseals ... ok
[INFO] [stdout] test commands::identity::tests::test_identity_create_add_recipient_writes_pub_file ... ok
[INFO] [stdout] test commands::edit::tests::test_resolve_editor_config_used_when_no_cli ... ok
[INFO] [stdout] test commands::edit::tests::test_resolve_editor_empty_cli_falls_through_to_config ... ok
[INFO] [stdout] test commands::edit::tests::test_resolve_editor_uses_visual_when_no_config ... ok
[INFO] [stdout] test commands::edit::tests::test_resolve_editor_platform_fallback ... ok
[INFO] [stdout] test commands::init::tests::test_init_creates_config ... ok
[INFO] [stdout] test commands::encrypt::tests::test_cmd_encrypt_invalid_recipient_in_normal_path_errors ... ok
[INFO] [stdout] test commands::edit::tests::test_resolve_editor_uses_editor_when_no_visual ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_delete_calls_delete_fn ... ok
[INFO] [stdout] test commands::encrypt::tests::test_cmd_encrypt_no_filename_in_path_errors ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_get_invalid_key_errors ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_get_json_output ... ok
[INFO] [stdout] test commands::encrypt::tests::test_cmd_encrypt_rejects_age_input_file ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_get_passphrase_not_stored_text ... ok
[INFO] [stdout] test commands::identity::tests::pubkey_exit_code_2_when_no_identity ... ok
[INFO] [stdout] test commands::identity::tests::pubkey_json_output_format ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_get_returns_public_key ... ok
[INFO] [stdout] test commands::identity::tests::pubkey_output_starts_with_age1 ... ok
[INFO] [stdout] test commands::identity::tests::test_identity_create_add_recipient_nonfatal_outside_repo ... ok
[INFO] [stdout] test commands::edit::tests::test_resolve_editor_cli_flag_takes_precedence ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_set_identity_load_failure ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_set_propagates_store_error ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_set_stores_key ... ok
[INFO] [stdout] test commands::init::tests::test_init_creates_identity_when_unresolved_json ... ok
[INFO] [stdout] test commands::init::tests::test_init_creates_identity_when_unresolved ... ok
[INFO] [stdout] test commands::encrypt::tests::test_cmd_encrypt_env_override_writes_to_named_env ... ok
[INFO] [stdout] test commands::init::tests::test_init_idempotent ... ok
[INFO] [stdout] test commands::init::tests::test_init_json_output_first_run ... ok
[INFO] [stdout] test commands::init::tests::test_init_json_output_idempotent_run ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_delete_passphrase_variants ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_get_passphrase_json_output ... ok
[INFO] [stdout] test commands::kv::tests::test_cmd_set_no_value_no_stdin_errors ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_get_passphrase_stored_text ... ok
[INFO] [stdout] test commands::kv::tests::test_cmd_set_stdin_and_value_are_mutually_exclusive ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_real_wrapper_exercises_delegate ... ok
[INFO] [stdout] test commands::kv::tests::test_env_get_dot_path_rejected ... ok
[INFO] [stdout] test commands::kv::tests::test_env_get_missing_key_returns_not_found ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_set_passphrase_explicit_arg ... ok
[INFO] [stdout] test commands::kv::tests::test_env_get_simple ... ok
[INFO] [stdout] test commands::kv::tests::test_env_get_quoted ... ok
[INFO] [stdout] test commands::kv::tests::test_env_set_preserves_trailing_newline ... ok
[INFO] [stdout] test commands::kv::tests::test_env_set_updates_existing ... ok
[INFO] [stdout] test commands::kv::tests::test_env_set_upserts_missing ... ok
[INFO] [stdout] test commands::kv::tests::test_extract_value_unsupported_ext_errors ... ok
[INFO] [stdout] test commands::kv::tests::test_env_set_dot_path_rejected ... ok
[INFO] [stdout] test commands::kv::tests::test_json_get_missing ... ok
[INFO] [stdout] test commands::kv::tests::test_json_get_non_object_intermediate_fails ... ok
[INFO] [stdout] test commands::kv::tests::test_json_get_top_level ... ok
[INFO] [stdout] test commands::kv::tests::test_json_set_nested ... ok
[INFO] [stdout] test commands::kv::tests::test_json_get_nested ... ok
[INFO] [stdout] test commands::kv::tests::test_json_set_nested_missing_parent_fails ... ok
[INFO] [stdout] test commands::kv::tests::test_json_set_non_object_root_errors ... ok
[INFO] [stdout] test commands::kv::tests::test_json_set_top_level ... ok
[INFO] [stdout] test commands::kv::tests::test_json_set_upsert_top_level ... ok
[INFO] [stdout] test commands::kv::tests::test_stem_extension_dotenv_age ... ok
[INFO] [stdout] test commands::kv::tests::test_stem_extension_dotenv_suffix_age ... ok
[INFO] [stdout] test commands::kv::tests::test_stem_extension_json ... ok
[INFO] [stdout] test commands::kv::tests::test_stem_extension_name_dotenv_age ... ok
[INFO] [stdout] test commands::init::tests::test_init_env_writes_env_file ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_set_passphrase_no_source_errors ... ok
[INFO] [stdout] test commands::kv::tests::test_toml_get_bool_value ... ok
[INFO] [stdout] test commands::kv::tests::test_toml_get_integer_value ... ok
[INFO] [stdout] test commands::kv::tests::test_toml_get_nested ... ok
[INFO] [stdout] test commands::kv::tests::test_stem_extension_no_stem_ext_errors ... ok
[INFO] [stdout] test commands::kv::tests::test_toml_set_nested_preserves_comment ... ok
[INFO] [stdout] test commands::kv::tests::test_stem_extension_yaml ... ok
[INFO] [stdout] test commands::kv::tests::test_update_value_unsupported_ext_errors ... ok
[INFO] [stdout] test commands::kv::tests::test_toml_set_top_level_upsert ... ok
[INFO] [stdout] test commands::kv::tests::test_yaml_get_bool_value ... ok
[INFO] [stdout] test commands::kv::tests::test_yaml_get_missing ... ok
[INFO] [stdout] test commands::kv::tests::test_yaml_get_nested ... ok
[INFO] [stdout] test commands::kv::tests::test_yaml_get_number_value ... ok
[INFO] [stdout] test commands::kv::tests::test_yaml_get_non_mapping_intermediate_fails ... ok
[INFO] [stdout] test commands::kv::tests::test_yaml_set_nested_missing_parent_fails ... ok
[INFO] [stdout] test commands::kv::tests::test_yaml_set_nested ... ok
[INFO] [stdout] test commands::kv::tests::test_yaml_set_upsert_new_top_level_key ... ok
[INFO] [stdout] test commands::kv::tests::test_toml_get_float_value ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_with_ops_error_paths ... ok
[INFO] [stdout] test commands::recipients::tests::test_add_self_sanitises_name ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_with_ops_success_paths ... ok
[INFO] [stdout] test commands::recipients::tests::test_cmd_recipient_add_list_remove ... ok
[INFO] [stdout] test commands::keyring::tests::test_passphrase_dispatch_get_passphrase ... ok
[INFO] [stdout] test commands::encrypt::tests::test_cmd_encrypt_writes_mirrored_output ... ok
[INFO] [stdout] test commands::recipients::tests::test_cmd_recipient_duplicate_add_fails ... ok
[INFO] [stdout] test commands::keyring::tests::test_passphrase_dispatch_set_passphrase ... ok
[INFO] [stdout] test commands::kv::tests::test_cmd_get_sealed_json_json_output ... ok
[INFO] [stdout] test commands::kv::tests::test_cmd_get_store_file ... ok
[INFO] [stdout] test commands::kv::tests::test_cmd_set_sealed_json ... ok
[INFO] [stdout] test commands::kv::tests::test_cmd_set_store_file ... ok
[INFO] [stdout] test commands::recipients::tests::test_add_self_idempotent ... ok
[INFO] [stdout] test commands::materialize::tests::test_cmd_materialize_and_rotate_env_scoped ... ok
[INFO] [stdout] test commands::recipients::tests::test_add_self_no_identity_returns_usage_error ... ok
[INFO] [stdout] test commands::recipients::tests::test_add_self_writes_pub_file ... ok
[INFO] [stdout] test commands::materialize::tests::test_cmd_materialize_fail_closed_on_invalid_ciphertext ... ok
[INFO] [stdout] test commands::keyring::tests::test_passphrase_dispatch_delete_passphrase ... ok
[INFO] [stdout] test commands::recipients::tests::test_cmd_recipient_add_self_via_cmd_recipient ... ok
[INFO] [stdout] test commands::recipients::tests::test_cmd_recipient_add_with_git_username_derives_name ... ok
[INFO] [stdout] test commands::kv::tests::test_cmd_get_sealed_json ... ok
[INFO] [stdout] test commands::recipients::tests::test_cmd_recipient_list_empty_plain ... ok
[INFO] [stdout] test commands::recipients::tests::test_resolve_recipient_keys_returns_recipients_from_file ... ok
[INFO] [stdout] test commands::recipients::tests::test_cmd_recipient_list_json_with_recipients ... ok
[INFO] [stdout] test commands::recipients::tests::test_cmd_recipient_remove_missing_fails ... ok
[INFO] [stdout] test commands::run_cmd::tests::test_cmd_run_empty_command_is_usage_error ... ok
[INFO] [stdout] test commands::run_cmd::tests::test_cmd_run_fail_closed_on_invalid_ciphertext ... ok
[INFO] [stdout] test commands::run_cmd::tests::test_cmd_run_nonexistent_identity_returns_meaningful_error ... ok
[INFO] [stdout] test commands::recipients::tests::test_rekey_dry_run_json_output ... ok
[INFO] [stdout] test commands::seal::tests::test_check_file_drift_unreadable_returns_drift ... ok
[INFO] [stdout] test commands::recipients::tests::test_rekey_dry_run_no_files_written ... ok
[INFO] [stdout] test commands::recipients::tests::test_rekey_dry_run_plain_with_skipped_file ... ok
[INFO] [stdout] test commands::recipients::tests::test_rekey_env_filter ... ok
[INFO] [stdout] test commands::recipients::tests::test_rekey_json_output_rekeyed_only ... ok
[INFO] [stdout] test commands::recipients::tests::test_rekey_json_output_with_mixed_outcomes ... ok
[INFO] [stdout] test commands::recipients::tests::test_rekey_summary_counts ... ok
[INFO] [stdout] test commands::recipients::tests::test_resolve_recipient_keys_defaults_from_identity_file_path ... ok
[INFO] [stdout] test commands::recipients::tests::test_resolve_recipient_keys_defaults_to_local_identity_public_key ... ok
[INFO] [stdout] test commands::recipients::tests::test_resolve_recipient_keys_fails_with_malformed_identity_key ... ok
[INFO] [stdout] test commands::seal::tests::test_count_all_encrypted_values_json_skips_arrays ... ok
[INFO] [stdout] test commands::keyring::tests::test_cmd_keyring_set_passphrase_from_env_var ... ok
[INFO] [stdout] test commands::recipients::tests::test_resolve_recipient_keys_fails_without_identity_source ... ok
[INFO] [stdout] test commands::seal::tests::test_count_sealed_fields_invalid_content_returns_zero ... ok
[INFO] [stdout] test commands::seal::tests::test_count_sealed_fields_toml ... ok
[INFO] [stdout] test commands::seal::tests::test_count_sealed_fields_json ... ok
[INFO] [stdout] test commands::seal::tests::test_count_sealed_fields_env ... ok
[INFO] [stdout] test commands::seal::tests::test_count_sealed_fields_unknown_ext_returns_zero ... ok
[INFO] [stdout] test commands::seal::tests::test_env_seal_all_fields_missing_errors ... ok
[INFO] [stdout] test commands::seal::tests::test_count_sealed_fields_yaml ... ok
[INFO] [stdout] test commands::seal::tests::test_decrypt_env_value_binary_b64_format ... ok
[INFO] [stdout] test commands::seal::tests::test_env_seal_dot_path_rejected ... ok
[INFO] [stdout] test commands::seal::tests::test_env_seal_no_trailing_newline_preserved ... ok
[INFO] [stdout] test commands::seal::tests::test_env_seal_idempotent_already_encrypted ... ok
[INFO] [stdout] test commands::seal::tests::test_env_seal_empty_value_skipped ... ok
[INFO] [stdout] test commands::seal::tests::test_env_seal_preserves_comments_and_empty_lines ... ok
[INFO] [stdout] test commands::seal::tests::test_env_seal_trailing_newline_preserved ... ok
[INFO] [stdout] test commands::seal::tests::test_env_seal_selective_fields ... ok
[INFO] [stdout] test commands::seal::tests::test_env_seal_unseal_roundtrip ... ok
[INFO] [stdout] test commands::seal::tests::test_env_unseal_unencrypted_lines_passed_through ... ok
[INFO] [stdout] test commands::seal::tests::test_has_any_encrypted_value_env_true ... ok
[INFO] [stdout] test commands::seal::tests::test_env_unseal_comments_preserved ... ok
[INFO] [stdout] test commands::seal::tests::test_has_any_encrypted_value_invalid_content_false ... ok
[INFO] [stdout] test commands::seal::tests::test_has_any_encrypted_value_json_false ... ok
[INFO] [stdout] test commands::seal::tests::test_has_any_encrypted_value_json_true ... ok
[INFO] [stdout] test commands::seal::tests::test_has_any_encrypted_value_toml_false ... ok
[INFO] [stdout] test commands::seal::tests::test_has_any_encrypted_value_unknown_ext_false ... ok
[INFO] [stdout] test commands::seal::tests::test_has_any_encrypted_value_toml_true ... ok
[INFO] [stdout] test commands::seal::tests::test_has_any_encrypted_value_yaml_true ... ok
[INFO] [stdout] test commands::seal::tests::test_has_any_encrypted_value_yaml_false ... ok
[INFO] [stdout] test commands::seal::tests::test_is_age_armor_negative ... ok
[INFO] [stdout] test commands::seal::tests::test_is_age_armor_positive ... ok
[INFO] [stdout] test commands::seal::tests::test_is_age_armor_with_leading_whitespace ... ok
[INFO] [stdout] test commands::seal::tests::test_is_env_encrypted_negative ... ok
[INFO] [stdout] test commands::seal::tests::test_is_env_encrypted_positive ... ok
[INFO] [stdout] test commands::seal::tests::test_json_field_str_missing ... ok
[INFO] [stdout] test commands::seal::tests::test_json_field_str_nested ... ok
[INFO] [stdout] test commands::seal::tests::test_json_field_str_top_level ... ok
[INFO] [stdout] test commands::seal::tests::test_json_has_encrypted_in_nested_object ... ok
[INFO] [stdout] test commands::seal::tests::test_json_seal_all_fields_missing_errors ... ok
[INFO] [stdout] test commands::seal::tests::test_json_seal_array_skipped ... ok
[INFO] [stdout] test commands::seal::tests::test_json_seal_invalid_json_errors ... ok
[INFO] [stdout] test commands::seal::tests::test_env_unseal_with_specific_fields ... ok
[INFO] [stdout] test commands::seal::tests::test_json_seal_nested_field ... ok
[INFO] [stdout] test commands::seal::tests::test_json_seal_idempotent ... ok
[INFO] [stdout] test commands::seal::tests::test_json_seal_missing_field_warns_but_ok ... ok
[INFO] [stdout] test commands::seal::tests::test_json_seal_skips_empty_strings ... ok
[INFO] [stdout] test commands::seal::tests::test_json_seal_with_fields ... ok
[INFO] [stdout] test commands::seal::tests::test_json_seal_non_string_leaves_skipped ... ok
[INFO] [stdout] test commands::seal::tests::test_json_unseal_array_elements_decrypted ... ok
[INFO] [stdout] test commands::seal::tests::test_json_unseal_invalid_json_errors ... ok
[INFO] [stdout] test commands::seal::tests::test_json_unseal_missing_field_warns ... ok
[INFO] [stdout] test commands::seal::tests::test_json_seal_unseal_roundtrip ... ok
[INFO] [stdout] test commands::seal::tests::test_pattern_matches_exact ... ok
[INFO] [stdout] test commands::seal::tests::test_pattern_matches_glob_wildcard ... ok
[INFO] [stdout] test commands::seal::tests::test_pattern_matches_no_match ... ok
[INFO] [stdout] test commands::seal::tests::test_json_unseal_nested_field ... ok
[INFO] [stdout] test commands::seal::tests::test_relative_path_to_repo_same_prefix ... ok
[INFO] [stdout] test commands::seal::tests::test_relative_path_to_repo_different_root ... ok
[INFO] [stdout] test commands::seal::tests::test_json_unseal_with_specific_field ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_content_json_routing ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_content_env_routing ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_content_unsupported_ext_errors ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_content_toml_routing ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_content_yaml_routing ... ok
[INFO] [stdout] test commands::run_cmd::tests::test_cmd_run_clear_env_strips_parent_env ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_drift_excluded ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_drift_detected ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_content_yml_routing ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_drift_env_file ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_drift_ok ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_drift_pattern_no_match ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_drift_with_override_all_sealed ... ok
[INFO] [stdout] test commands::seal::tests::test_has_any_encrypted_value_env_false ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_drift_with_override_partial_drift ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_success_message_all_already_sealed ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_drift_with_env_override ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_field_str_top_level ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_success_message_newly_encrypted ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_seal_all_fields_missing_errors ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_has_encrypted_in_nested_table ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_seal_invalid_toml_errors ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_drift_toml_file ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_drift_yaml_file ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_seal_nested_field ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_seal_non_string_leaves_skipped ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_seal_with_specific_fields ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_seal_missing_field_warns_but_ok ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_unseal_invalid_toml_errors ... ok
[INFO] [stdout] test commands::recipients::tests::test_cmd_rekey_with_invalid_crypto_recipient_fails ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_unseal_array_elements_decrypted ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_unseal_missing_field_warns ... ok
[INFO] [stdout] test commands::seal::tests::test_unseal_content_json_routing ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_seal_unseal_roundtrip ... ok
[INFO] [stdout] test commands::seal::tests::test_unseal_content_unsupported_ext_errors ... ok
[INFO] [stdout] test commands::seal::tests::test_unseal_content_env_routing ... ok
[INFO] [stdout] test commands::seal::tests::test_unseal_content_toml_routing ... ok
[INFO] [stdout] test commands::seal::tests::test_update_seal_config_creates_config ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_unseal_with_fields ... ok
[INFO] [stdout] test commands::seal::tests::test_unseal_content_yaml_routing ... ok
[INFO] [stdout] test commands::seal::tests::test_update_seal_config_glob_pattern_covers_file ... ok
[INFO] [stdout] test commands::seal::tests::test_update_seal_config_existing_file_with_seal_section ... ok
[INFO] [stdout] test commands::seal::tests::test_update_seal_config_no_duplicate ... ok
[INFO] [stdout] test commands::seal::tests::test_update_seal_config_two_paths_override ... ok
[INFO] [stdout] test commands::seal::tests::test_validated_extension_env ... ok
[INFO] [stdout] test commands::seal::tests::test_validated_extension_env_with_suffix ... ok
[INFO] [stdout] test commands::seal::tests::test_update_seal_config_with_fields ... ok
[INFO] [stdout] test commands::seal::tests::test_validated_extension_envrc_rejected ... ok
[INFO] [stdout] test commands::seal::tests::test_update_seal_config_union_merge ... ok
[INFO] [stdout] test commands::seal::tests::test_validated_extension_json ... ok
[INFO] [stdout] test commands::seal::tests::test_validated_extension_unknown_rejected ... ok
[INFO] [stdout] test commands::seal::tests::test_validated_extension_yaml ... ok
[INFO] [stdout] test commands::seal::tests::test_validated_extension_yml ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_field_str_top_level ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_seal_all_fields_missing_errors ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_has_encrypted_in_nested_mapping ... ok
[INFO] [stdout] test commands::seal::tests::test_validated_extension_toml ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_seal_invalid_yaml_errors ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_seal_nested_field ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_seal_array_skipped ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_seal_missing_field_warns_but_ok ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_seal_with_specific_fields ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_unseal_missing_field_warns ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_seal_non_string_leaves_skipped ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_unseal_sequence_elements_decrypted ... ok
[INFO] [stdout] test config::tests::test_barrier_config_defaults ... ok
[INFO] [stdout] test config::tests::test_effective_config_barrier_merge ... ok
[INFO] [stdout] test commands::seal::tests::test_toml_seal_array_skipped ... ok
[INFO] [stdout] test config::tests::test_effective_config_empty_adapter_treated_as_unset ... ok
[INFO] [stdout] test commands::seal::tests::test_seal_drift_glob_pattern ... ok
[INFO] [stdout] test config::tests::test_effective_config_env_global_fills_missing_repo ... ok
[INFO] [stdout] test config::tests::test_effective_config_env_repo_wins_over_global ... ok
[INFO] [stdout] test config::tests::test_effective_config_global_fills_missing_repo ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_seal_unseal_roundtrip ... ok
[INFO] [stdout] test config::tests::test_env_config_defaults ... ok
[INFO] [stdout] test config::tests::test_effective_config_no_files ... ok
[INFO] [stdout] test commands::seal::tests::test_yaml_unseal_with_fields ... ok
[INFO] [stdout] test config::tests::test_global_config_absent_returns_default ... ok
[INFO] [stdout] test config::tests::test_effective_config_repo_wins_over_global ... ok
[INFO] [stdout] test config::tests::test_env_empty_string_treated_as_unset ... ok
[INFO] [stdout] test config::tests::test_effective_config_keyring_global_fills ... ok
[INFO] [stdout] test config::tests::test_hook_adapter_as_str ... ok
[INFO] [stdout] test config::tests::test_hook_adapter_binary_names ... ok
[INFO] [stdout] test config::tests::test_hook_adapter_from_str_valid ... ok
[INFO] [stdout] test config::tests::test_keyring_config_defaults ... ok
[INFO] [stdout] test config::tests::test_global_config_valid ... ok
[INFO] [stdout] test config::tests::test_load_config_absent_file ... ok
[INFO] [stdout] test config::tests::test_global_config_malformed_toml ... ok
[INFO] [stdout] test config::tests::test_load_config_invalid_toml ... ok
[INFO] [stdout] test config::tests::test_global_config_unknown_key ... ok
[INFO] [stdout] test config::tests::test_load_config_empty_hooks ... ok
[INFO] [stdout] test commands::run_cmd::tests::test_cmd_run_clear_env_with_pass_raw_preserves_path ... ok
[INFO] [stdout] test config::tests::test_load_config_husky ... ok
[INFO] [stdout] test config::tests::test_load_config_pre_commit ... ok
[INFO] [stdout] test config::tests::test_load_config_unknown_adapter ... ok
[INFO] [stdout] test config::tests::test_load_config_lefthook ... ok
[INFO] [stdout] test config::tests::test_load_config_io_error_returns_usage_error ... ok
[INFO] [stdout] test commands::seal::tests::test_unseal_content_yml_routing ... ok
[INFO] [stdout] test config::tests::test_load_global_config_io_error_returns_usage_error ... ok
[INFO] [stdout] test config::tests::test_parse_barrier_unknown_key_rejected ... ok
[INFO] [stdout] test config::tests::test_parse_env_section_unknown_key_rejected ... ok
[INFO] [stdout] test config::tests::test_load_config_no_hooks_section ... ok
[INFO] [stdout] test config::tests::test_parse_barrier_ttl_secs ... ok
[INFO] [stdout] test config::tests::test_parse_keyring_section ... ok
[INFO] [stdout] test config::tests::test_parse_keyring_unknown_key_rejected ... ok
[INFO] [stdout] test config::tests::test_parse_legacy_paths_materialize_output_supported ... ok
[INFO] [stdout] test config::tests::test_parse_materialize_and_run_rules ... ok
[INFO] [stdout] test config::tests::test_parse_paths_section ... ok
[INFO] [stdout] test config::tests::test_parse_seal_legacy_schema_rejected ... ok
[INFO] [stdout] test config::tests::test_parse_paths_unknown_key_rejected ... ok
[INFO] [stdout] test crypto::tests::decrypt_stream_corrupted_ciphertext_returns_decryption_error ... ok
[INFO] [stdout] test config::tests::test_parse_seal_rule_config_derives_runtime_views ... ok
[INFO] [stdout] test crypto::tests::decrypt_corrupted_ciphertext_returns_decryption_error ... ok
[INFO] [stdout] test config::tests::test_paths_config_defaults ... ok
[INFO] [stdout] test config::tests::test_parse_env_section_all_keys ... ok
[INFO] [stdout] test crypto::tests::failing_writer_flush_returns_ok ... ok
[INFO] [stdout] test commands::run_cmd::tests::test_cmd_run_secrets_injected_as_env_vars ... ok
[INFO] [stdout] test crypto::tests::parse_identity_any_unknown_format_returns_decryption_error ... ok
[INFO] [stdout] test crypto::tests::parse_identity_invalid_key_returns_decryption_error ... ok
[INFO] [stdout] test crypto::tests::parse_recipient_invalid_key_returns_encryption_error ... ok
[INFO] [stdout] test crypto::tests::encrypt_stream_empty_plaintext_roundtrip ... ok
[INFO] [stdout] test crypto::tests::parse_identity_any_age_key_returns_x25519 ... ok
[INFO] [stdout] test crypto::tests::encrypt_empty_plaintext_roundtrip ... ok
[INFO] [stdout] test crypto::tests::test_empty_recipients_fails ... ok
[INFO] [stdout] test crypto::tests::test_encrypt_decrypt_roundtrip ... ok
[INFO] [stdout] Generating public/private ed25519 key pair.
[INFO] [stdout] Your identification has been saved in /tmp/.tmpcOVe8f/test_key
[INFO] [stdout] Your public key has been saved in /tmp/.tmpcOVe8f/test_key.pub
[INFO] [stdout] The key fingerprint is:
[INFO] [stdout] SHA256:Fn+Dy/IEVzxuhlxRmsmau/cjXxpfTsk/LMcYP8eEYfQ gitvault-test
[INFO] [stdout] The key's randomart image is:
[INFO] [stdout] +--[ED25519 256]--+
[INFO] [stdout] |            ...  |
[INFO] [stdout] |           o =.  |
[INFO] [stdout] |        .   X. . |
[INFO] [stdout] |         + O .o E|
[INFO] [stdout] |        S O *. o |
[INFO] [stdout] |       . + * oo o|
[INFO] [stdout] |        . =   B=+|
[INFO] [stdout] |         + .oo.#=|
[INFO] [stdout] |          o. +*.B|
[INFO] [stdout] +----[SHA256]-----+
[INFO] [stdout] Generating public/private ed25519 key pair.
[INFO] [stdout] Your identification has been saved in /tmp/.tmphrNHUb/test_key
[INFO] [stdout] Your public key has been saved in /tmp/.tmphrNHUb/test_key.pub
[INFO] [stdout] The key fingerprint is:
[INFO] [stdout] SHA256:TiXYkJhpD/+kgdGRQrkd0AdToty933JUQU/+Qydnm4c gitvault-test
[INFO] [stdout] The key's randomart image is:
[INFO] [stdout] +--[ED25519 256]--+
[INFO] [stdout] |   .oO**.    .o .|
[INFO] [stdout] |   .Xo*B.      = |
[INFO] [stdout] |   .oXoo+ .   o.*|
[INFO] [stdout] |    o = .+   ..==|
[INFO] [stdout] |       =S   . E+o|
[INFO] [stdout] |      .o.. o    o|
[INFO] [stdout] |        . o o    |
[INFO] [stdout] |           o     |
[INFO] [stdout] |                 |
[INFO] [stdout] +----[SHA256]-----+
[INFO] [stdout] test commands::seal::tests::test_cmd_seal_rejects_gitvault_config_files ... ok
[INFO] [stdout] test crypto::tests::test_decrypt_stream_wrong_identity_fails ... ok
[INFO] [stdout] test crypto::tests::parse_identity_any_ssh_key_with_passphrase_returns_ssh_decryptable ... ok
[INFO] [stdout] test crypto::tests::parse_identity_any_ssh_key_no_passphrase_returns_ssh_variant ... ok
[INFO] [stdout] test crypto::tests::test_encrypt_stream_decrypt_stream_roundtrip ... ok
[INFO] [stdout] test crypto::tests::zeroizing_passphrase_callbacks_exercise_all_methods ... ok
[INFO] [stdout] test crypto::tests::test_encrypt_stream_fails_when_output_writer_errors ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_ai_context_arm ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_ai_skill_arm ... ok
[INFO] [stdout] test crypto::tests::test_parse_recipient_roundtrip ... ok
[INFO] [stdout] test crypto::tests::test_wrong_identity_fails ... ok
[INFO] [stdout] test commands::seal::tests::test_cmd_seal_respects_config_override_fields ... ok
[INFO] [stdout] test crypto::tests::test_multi_recipient_encrypt_decrypt ... ok
[INFO] [stdout] test commands::seal::tests::test_cmd_unseal_env_file_reveal ... ok
[INFO] [stdout] test commands::seal::tests::test_cmd_unseal_in_place_json ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_identity_create_exercises_arm ... ok
[INFO] [stdout] test commands::seal::tests::test_cmd_unseal_reveal_true ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_keyring_set_exercises_dispatch ... ok
[INFO] [stdout] test commands::seal::tests::test_cmd_unseal_with_specific_fields ... ok
[INFO] [stdout] test config::tests::test_load_global_config_public_function_uses_home ... ok
[INFO] [stdout] test config::tests::test_load_global_config_empty_home_returns_default ... ok
[INFO] [stdout] test dispatch::tests::test_ci_env_sets_no_prompt ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_allow_prod_succeeds ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_allow_prod_ttl_none_uses_default ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_check_and_status ... ok
[INFO] [stdout] test dispatch::tests::test_with_env_var_restores_existing_value ... ok
[INFO] [stdout] test env::tests::test_default_env_is_dev ... ok
[INFO] [stdout] test env::tests::test_env_file_longer_than_255_bytes_falls_through_to_default ... ok
[INFO] [stdout] test env::tests::test_env_file_takes_priority_over_default ... ok
[INFO] [stdout] test env::tests::test_env_var_longer_than_255_bytes_falls_through_to_default ... ok
[INFO] [stdout] test env::tests::test_secrets_env_var_overrides_file ... ok
[INFO] [stdout] test env::tests::test_validate_env_name_accepts_valid ... ok
[INFO] [stdout] test env::tests::test_validate_env_name_rejects_empty ... ok
[INFO] [stdout] test env::tests::test_validate_env_name_rejects_path_traversal ... ok
[INFO] [stdout] test env::tests::test_validate_env_name_rejects_spaces_and_specials ... ok
[INFO] [stdout] test env::tests::test_whitespace_env_file_falls_back_to_dev ... ok
[INFO] [stdout] test env::tests::test_whitespace_env_var_falls_back_to_file ... ok
[INFO] [stdout] test env::tests::test_worktree_independence ... ok
[INFO] [stdout] test error::tests::display_messages_include_context ... ok
[INFO] [stdout] test error::tests::exit_codes_map_correctly ... ok
[INFO] [stdout] test fhsm::tests::decrypt_requested_includes_resolve_identity_and_decrypt_file ... ok
[INFO] [stdout] test fhsm::tests::decrypt_requested_no_check_prod_barrier ... ok
[INFO] [stdout] test fhsm::tests::materialize_requested_includes_decrypt_then_materialize_secrets ... ok
[INFO] [stdout] test fhsm::tests::resolve_identity_source_env_var_returns_env_var ... ok
[INFO] [stdout] test fhsm::tests::resolve_identity_source_explicit_path_returns_file_path ... ok
[INFO] [stdout] test fhsm::tests::resolve_identity_source_no_explicit_source_returns_unresolved ... ok
[INFO] [stdout] test fhsm::tests::resolve_identity_source_none_inputs_returns_unresolved ... ok
[INFO] [stdout] test fhsm::tests::resolve_identity_source_path_takes_priority_over_env_var ... ok
[INFO] [stdout] test fhsm::tests::run_requested_empty_command_returns_usage_error ... ok
[INFO] [stdout] test fhsm::tests::run_requested_normal_first_effect_is_check_prod_barrier ... ok
[INFO] [stdout] test fhsm::tests::run_requested_normal_last_effect_is_run_command ... ok
[INFO] [stdout] test fhsm::tests::run_with_pass_raw_parses_valid_pairs_into_run_command ... ok
[INFO] [stdout] test fhsm::tests::run_with_pass_raw_plain_name_and_kv_pair_both_accepted ... ok
[INFO] [stdout] test fhsm::tests::run_with_pass_raw_plain_names_accepted ... ok
[INFO] [stdout] test fs_util::tests::atomic_write_missing_parent_returns_io_error ... ok
[INFO] [stdout] test fs_util::tests::atomic_write_overwrites_existing ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_decrypt_nonexistent_file_propagates_error ... ok
[INFO] [stdout] test fs_util::tests::ensure_dir_creates_nested_dirs ... ok
[INFO] [stdout] test fs_util::tests::ensure_dir_error_includes_path ... ok
[INFO] [stdout] test fs_util::tests::ensure_dir_is_idempotent ... ok
[INFO] [stdout] test fs_util::tests::read_text_missing_file_includes_path_in_error ... ok
[INFO] [stdout] test fs_util::tests::read_text_returns_file_contents ... ok
[INFO] [stdout] test fs_util::tests::atomic_write_roundtrip ... ok
[INFO] [stdout] DISPATCH=1
[INFO] [stdout] test dispatch::tests::test_run_dispatch_encrypt_then_decrypt_arms ... ok
[INFO] [stdout] test git::tests::git_output_raw_returns_on_nonzero_exit ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_harden_exercises_arm ... ok
[INFO] [stderr] git: 'no-such-subcommand-xyz' is not a git command. See 'git --help'.
[INFO] [stdout] test git::tests::git_output_errors_on_bad_command ... ok
[INFO] [stdout] test git::tests::git_run_errors_on_bad_command ... ok
[INFO] [stdout] test git::tests::sanitize_vars_contains_required_entries ... ok
[INFO] [stdout] test identity::tests::load_identity_from_source_env_var_with_file_path ... ok
[INFO] [stdout] test identity::tests::load_identity_from_source_file_path_nonexistent_errors ... ok
[INFO] [stdout] test identity::tests::load_identity_from_source_file_path_valid ... ok
[INFO] [stdout] test git::tests::git_output_returns_stdout ... ok
[INFO] [stdout] test identity::tests::load_identity_from_source_inline_nonempty_returns_ok ... ok
[INFO] [stdout] test identity::tests::load_identity_from_source_keyring_without_setup_errors ... ok
[INFO] [stdout] test identity::tests::test_extract_identity_key_extracts_key_with_comment ... ok
[INFO] [stdout] test identity::tests::test_extract_identity_key_returns_none_for_empty_string ... ok
[INFO] [stdout] test identity::tests::test_extract_identity_key_returns_none_for_non_age_content ... ok
[INFO] [stdout] test git::tests::sanitize_strips_git_exec_path ... ok
[INFO] [stdout] test git::tests::git_run_succeeds ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_init_arm ... ok
[INFO] [stdout] test commands::seal::tests::test_cmd_unseal_reveal_true_yaml ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_keyring_set_invalid_identity_errors ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_materialize_no_secrets_succeeds ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_merge_driver_outcomes ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_recipient_list_exercises_arm ... ok
[INFO] [stdout] test identity::tests::test_load_identity_from_fd_empty_file_errors ... ok
[INFO] [stdout] test identity::tests::test_load_identity_from_fd_fd_overflow_errors ... ok
[INFO] [stdout] test identity::tests::test_load_identity_from_fd_valid_content_returns_ok ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_rekey_succeeds ... ok
[INFO] [stdout] test identity::tests::test_load_identity_from_source_with_selector_inline_nonempty ... ok
[INFO] [stdout] test identity::tests::test_load_identity_source_accepts_age_keygen_style_file ... ok
[INFO] [stdout] test identity::tests::test_load_identity_source_accepts_inline_comment_after_key ... ok
[INFO] [stdout] test identity::tests::test_load_identity_source_accepts_key_file_with_newline ... ok
[INFO] [stdout] test identity::tests::test_load_identity_source_file_without_age_key_errors ... ok
[INFO] [stdout] test identity::tests::test_load_identity_source_openssh_key_file_returns_raw_content ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_revoke_prod_succeeds ... ok
[INFO] [stdout] test identity::tests::test_load_identity_with_fd_non_integer_returns_usage_error ... ok
[INFO] [stdout] test dispatch::tests::test_run_dispatch_run_returns_exit_outcome ... ok
[INFO] [stdout] test identity::tests::load_identity_from_source_inline_empty_falls_back_to_env_var ... ok
[INFO] [stdout] test identity::tests::test_find_ssh_key_file_no_match_returns_none ... ok
[INFO] [stdout] test identity::tests::test_find_ssh_key_file_priority2_comment_match ... ok
[INFO] [stdout] test identity::tests::test_load_identity_with_ssh_ambiguous_two_keys_returns_usage_error ... ok
[INFO] [stdout] test identity::tests::test_load_identity_with_uses_keyring_when_enabled ... ok
[INFO] [stdout] test identity::tests::test_load_passphrase_from_fd_empty_content_returns_none ... ok
[INFO] [stdout] test identity::tests::test_load_passphrase_from_fd_fd_overflow_returns_none ... ok
[INFO] [stdout] test identity::tests::test_load_passphrase_from_fd_valid_content_returns_some ... ok
[INFO] [stdout] test identity::tests::test_load_ssh_agent_identity_empty_keys_returns_not_available ... ok
[INFO] [stdout] test identity::tests::test_list_ssh_agent_keys_no_agent_returns_ok_or_not_available ... ok
[INFO] [stdout] test identity::tests::test_list_ssh_agent_keys_with_mock_filters_non_ed25519 ... ok
[INFO] [stdout] test identity::tests::test_list_ssh_agent_keys_with_mock_returns_ed25519_key ... ok
[INFO] [stdout] test identity::tests::test_load_any_identity_with_passphrase_x25519_key_succeeds ... ok
[INFO] [stdout] test identity::tests::test_load_identity_from_source_unresolved_falls_back_to_chain ... ok
[INFO] [stdout] test identity::tests::test_load_ssh_agent_identity_selector_no_match_returns_not_available ... ok
[INFO] [stdout] test identity::tests::test_probe_identity_sources_ssh_agent_enabled_no_real_agent ... ok
[INFO] [stdout] test identity::tests::test_load_identity_with_keyring_error_treats_as_source_not_available ... ok
[INFO] [stdout] test identity::tests::test_load_identity_with_ssh_agent_enabled_no_real_agent_fails_closed ... ok
[INFO] [stdout] test identity::tests::test_probe_identity_sources_ssh_one_key_resolved ... ok
[INFO] [stdout] test identity::tests::test_find_ssh_key_file_priority3_scan ... ok
[INFO] [stdout] test identity::tests::test_find_ssh_key_file_with_mock_keygen_finds_matching_file ... ok
[INFO] [stdout] test identity::tests::test_load_ssh_agent_identity_file_unreadable_returns_not_available ... FAILED
[INFO] [stdout] test identity::tests::test_load_ssh_agent_identity_key_file_not_found_returns_not_available ... ok
[INFO] [stdout] test identity::tests::test_load_identity_with_fd_valid_returns_identity ... ok
[INFO] [stdout] test identity::tests::test_probe_identity_sources_gitvault_identity_invalid_path_is_not_available ... ok
[INFO] [stdout] test identity::tests::test_resolve_recipient_keys_from_recipients_dir ... ok
[INFO] [stdout] test identity::tests::test_resolve_recipient_keys_with_provided_recipients ... ok
[INFO] [stdout] test identity::tests::test_sanitize_comment_leading_dot ... ok
[INFO] [stdout] test identity::tests::test_sanitize_comment_normal ... ok
[INFO] [stdout] test identity::tests::test_sanitize_comment_nul_byte ... ok
[INFO] [stdout] test identity::tests::test_sanitize_comment_only_dots ... ok
[INFO] [stdout] test identity::tests::test_sanitize_comment_with_backslash ... ok
[INFO] [stdout] test identity::tests::test_sanitize_comment_with_forward_slash ... ok
[INFO] [stdout] test identity::tests::test_probe_identity_sources_ssh_one_key_no_file_not_available ... ok
[INFO] [stdout] test identity::tests::test_ssh_agent_error_display_not_available ... ok
[INFO] [stdout] test identity::tests::test_try_fetch_ssh_passphrase_inline_warning_fires ... ok
[INFO] [stdout] test identity::tests::test_try_fetch_ssh_passphrase_suppressed_warn ... ok
[INFO] [stdout] test identity::tests::test_try_fetch_ssh_passphrase_via_fd_path ... ok
[INFO] [stdout] test keyring_store::tests::keyring_delete_with_passes_expected_metadata ... ok
[INFO] [stdout] test keyring_store::tests::keyring_get_with_passes_expected_metadata ... ok
[INFO] [stdout] test keyring_store::tests::keyring_helpers_propagate_errors ... ok
[INFO] [stdout] test keyring_store::tests::keyring_public_fns_with_mock_backend ... ok
[INFO] [stdout] test keyring_store::tests::keyring_set_get_delete_roundtrip ... ok
[INFO] [stdout] test keyring_store::tests::keyring_set_with_passes_expected_metadata ... ok
[INFO] [stdout] test matcher::tests::key_matches ... ok
[INFO] [stdout] test matcher::tests::path_matches_exact ... ok
[INFO] [stdout] test matcher::tests::path_matches_wildcard ... ok
[INFO] [stdout] test matcher::tests::path_normalizes_backslashes ... ok
[INFO] [stdout] test identity::tests::test_ssh_agent_error_display_ambiguous ... ok
[INFO] [stdout] test materialize::tests::test_ensure_gitattributes_adds_merge_driver ... ok
[INFO] [stdout] test materialize::tests::test_ensure_gitattributes_creates_file_if_missing ... ok
[INFO] [stdout] test materialize::tests::test_ensure_gitignored_adds_entries ... ok
[INFO] [stdout] test materialize::tests::test_ensure_gitattributes_idempotent ... ok
[INFO] [stdout] test materialize::tests::test_ensure_gitignored_creates_file_if_missing ... ok
[INFO] [stdout] test materialize::tests::test_ensure_gitignored_idempotent ... ok
[INFO] [stdout] test materialize::tests::test_escape_env_value_escapes_all_special_chars ... ok
[INFO] [stdout] test materialize::tests::test_escape_env_value_escapes_backtick_and_nul ... ok
[INFO] [stdout] test materialize::tests::test_escape_env_value_escapes_control_and_dollar ... ok
[INFO] [stdout] test materialize::tests::test_materialize_creates_env_file ... ok
[INFO] [stdout] test materialize::tests::test_materialize_deterministic ... ok
[INFO] [stdout] test identity::tests::test_load_ssh_agent_identity_one_key_returns_file_content ... ok
[INFO] [stdout] test materialize::tests::test_materialize_sorted_keys ... ok
[INFO] [stdout] test identity::tests::test_load_identity_with_ssh_agent_success_returns_key_content ... ok
[INFO] [stdout] test materialize::tests::test_materialize_canonical_quoting ... ok
[INFO] [stdout] test identity::tests::test_probe_identity_sources_ssh_selector_no_match_is_not_available ... ok
[INFO] [stdout] test materialize::tests::test_merge_gitattributes_entries_returns_none_when_unchanged ... ok
[INFO] [stdout] test merge::tests::merge_env_both_same_change ... ok
[INFO] [stdout] test merge::tests::merge_env_conflict ... ok
[INFO] [stdout] test materialize::tests::test_merge_gitignore_entries_adds_newline_before_append ... ok
[INFO] [stdout] test merge::tests::merge_env_conflict_with_theirs_deleted_key ... ok
[INFO] [stdout] test merge::tests::merge_env_key_deleted_in_ours ... ok
[INFO] [stdout] test materialize::tests::test_merge_gitignore_entries_returns_none_when_unchanged ... ok
[INFO] [stdout] test merge::tests::merge_env_no_changes ... ok
[INFO] [stdout] test materialize::tests::test_permissions_applied_before_persist_no_toctou ... ok
[INFO] [stdout] test merge::tests::merge_env_ours_continuation_line_preserved ... ok
[INFO] [stdout] test merge::tests::merge_env_preserves_comment_and_blank_lines ... ok
[INFO] [stdout] test merge::tests::merge_env_theirs_only_change ... ok
[INFO] [stdout] test merge::tests::parse_env_key_from_line_blank_returns_none ... ok
[INFO] [stdout] test merge::tests::parse_env_key_from_line_comment_returns_none ... ok
[INFO] [stdout] test merge::tests::merge_env_new_key_from_theirs_is_appended ... ok
[INFO] [stdout] test merge::tests::merge_env_ours_only_change ... ok
[INFO] [stdout] test merge::tests::parse_env_key_from_line_key_with_underscore_and_digits ... ok
[INFO] [stdout] test merge::tests::parse_env_key_from_line_no_key_before_equals_returns_none ... ok
[INFO] [stdout] test merge::tests::rewrite_env_assignment_line_basic_replacement ... ok
[INFO] [stdout] test identity::tests::test_probe_identity_sources_ssh_two_keys_ambiguous ... ok
[INFO] [stdout] test identity::tests::test_load_identity_with_inline_key_resolves_correctly ... ok
[INFO] [stdout] test identity::tests::test_probe_identity_sources_no_identity_no_ssh ... ok
[INFO] [stdout] test merge::tests::rewrite_env_assignment_line_preserves_leading_whitespace ... ok
[INFO] [stdout] test merge::tests::test_merge_env_content_key_deleted_in_theirs ... ok
[INFO] [stdout] test merge::tests::test_parse_env_pairs_reports_invalid_content ... ok
[INFO] [stdout] test output::tests::ci_is_non_interactive_when_unset_returns_false ... ok
[INFO] [stdout] test output::tests::ci_is_non_interactive_with_ci_1 ... ok
[INFO] [stdout] test output::tests::ci_is_non_interactive_with_ci_true ... ok
[INFO] [stdout] test output::tests::ci_is_non_interactive_with_ci_yes ... ok
[INFO] [stdout] test output::tests::ci_is_non_interactive_with_falsy_value_returns_false ... ok
[INFO] [stdout] test output::tests::output_success_json_does_not_panic ... ok
[INFO] [stdout] test output::tests::output_success_plain_does_not_panic ... ok
[INFO] [stdout] test output::tests::resolve_no_prompt_false_when_no_flag_and_no_ci ... ok
[INFO] [stdout] test output::tests::resolve_no_prompt_true_when_ci_env_set ... ok
[INFO] [stdout] test output::tests::resolve_no_prompt_true_when_flag_set ... ok
[INFO] [stdout] test path_utils::tests::lexical_normalize_parent_dir_at_root_preserved ... ok
[INFO] [stdout] test path_utils::tests::lexical_normalize_resolves_parent_dir ... ok
[INFO] [stdout] test path_utils::tests::lexical_normalize_strips_cur_dir ... ok
[INFO] [stdout] test path_utils::tests::make_repo_relative_absolute_inside_repo ... ok
[INFO] [stdout] test path_utils::tests::make_repo_relative_absolute_outside_repo_fallback ... ok
[INFO] [stdout] test merge::tests::rewrite_env_assignment_line_empty_value_replaced ... ok
[INFO] [stdout] test merge::tests::rewrite_env_assignment_line_no_equals_returns_unchanged ... ok
[INFO] [stdout] test path_utils::tests::make_repo_relative_relative_path_unchanged ... ok
[INFO] [stdout] test path_utils::tests::normalize_for_comparison_nonexistent_file_uses_parent ... ok
[INFO] [stdout] test path_utils::tests::normalize_for_comparison_existing_dir_resolves ... ok
[INFO] [stdout] test permissions::tests::acl_error_message_mentions_resource ... ok
[INFO] [stdout] test permissions::tests::enforce_windows_acl_with_acl_failure_returns_error ... ok
[INFO] [stdout] test permissions::tests::enforce_windows_acl_with_missing_username_returns_error ... ok
[INFO] [stdout] test permissions::tests::windows_grant_format_is_stable ... ok
[INFO] [stdout] test permissions::tests::enforce_windows_acl_with_io_error_propagates ... ok
[INFO] [stdout] test permissions::tests::enforce_owner_rw_sets_0600_on_unix ... ok
[INFO] [stdout] test merge::tests::parse_env_key_from_line_valid_assignment_returns_key ... ok
[INFO] [stdout] test repo::drift::tests::test_check_no_tracked_plaintext_git_invocation_failure ... ok
[INFO] [stdout] test permissions::tests::enforce_windows_acl_with_success_passes_correct_grant ... ok
[INFO] [stdout] test repo::drift::tests::test_find_history_plaintext_leaks_git_failure ... ok
[INFO] [stdout] test repo::drift::tests::test_check_no_tracked_plaintext_clean_repo ... ok
[INFO] [stdout] test repo::drift::tests::test_has_secrets_drift_nonexistent_repo_root_returns_err ... ok
[INFO] [stdout] test merge::tests::rewrite_env_assignment_line_preserves_inline_comment ... ok
[INFO] [stdout] test materialize::tests::test_materialize_permissions_0600 ... ok
[INFO] [stdout] test merge::tests::merge_env_conflict_on_key_deleted_in_ours_changed_in_theirs ... ok
[INFO] [stdout] test repo::drift::tests::test_find_history_plaintext_leaks_empty_repo ... ok
[INFO] [stdout] test repo::hooks::tests::test_install_git_hooks_in_non_git_dir ... ok
[INFO] [stdout] test repo::drift::tests::test_has_secrets_drift_in_git_repo ... ok
[INFO] [stdout] test repo::hooks::tests::test_install_git_hooks_creates_scripts ... ok
[INFO] [stdout] test repo::hooks::tests::test_install_hook_appends_when_no_trailing_newline ... ok
[INFO] [stdout] test repo::hooks::tests::test_install_git_hooks_honors_core_hooks_path ... ok
[INFO] [stdout] test repo::hooks::tests::test_install_hook_repairs_executable_bit_for_existing_gitvault_hook ... ok
[INFO] [stdout] test repo::hooks::tests::test_upsert_managed_block_preserves_content_after_block ... ok
[INFO] [stdout] test repo::drift::tests::test_check_no_staged_plaintext_detects_staged_files ... ok
[INFO] [stdout] test repo::paths::tests::find_repo_root_from_fallback_walks_up_when_git_invocation_fails ... ok
[INFO] [stdout] test repo::paths::tests::find_repo_root_from_fallback_when_git_invocation_fails ... ok
[INFO] [stdout] test repo::paths::tests::find_repo_root_from_returns_start_when_no_git ... ok
[INFO] [stdout] test repo::hooks::tests::test_install_git_hooks_idempotent ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_no_files_returns_empty ... ok
[INFO] [stdout] test commands::seal::tests::test_cmd_unseal_in_place_toml ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_json_store_file ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_toml_store_file ... ok
[INFO] [stdout] test repo::hooks::tests::test_install_hook_appends_to_existing ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_mixed_env_and_json ... ok
[INFO] [stdout] test repo::paths::tests::find_repo_root_from_finds_git_dir ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_with_rules_deny_file ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_unknown_format_skipped ... ok
[INFO] [stdout] test repo::paths::tests::test_collect_age_files_with_non_age_files ... ok
[INFO] [stdout] test identity::tests::test_probe_identity_sources_with_gitvault_identity_env_var ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_success ... ok
[INFO] [stdout] test repo::paths::tests::test_ensure_dirs_creates_directories ... ok
[INFO] [stdout] test repo::paths::tests::find_repo_root_from_walks_up ... ok
[INFO] [stdout] test identity::tests::test_probe_identity_sources_with_invalid_path ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_with_rules_rule_overrides_global_prefix_defaults ... ok
[INFO] [stdout] test repo::paths::tests::test_filter_pairs_by_key_globs_applies_matching ... ok
[INFO] [stdout] test repo::paths::tests::test_get_encrypted_path ... ok
[INFO] [stdout] test repo::paths::tests::test_get_env_encrypted_dir ... ok
[INFO] [stdout] test repo::paths::tests::test_evaluate_rule_filters_defaults_without_rules ... ok
[INFO] [stdout] test repo::paths::tests::test_get_env_encrypted_path ... ok
[INFO] [stdout] test repo::paths::tests::test_get_plain_path ... ok
[INFO] [stdout] test repo::paths::tests::test_evaluate_rule_filters_allow_with_keys_and_deny ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_with_rules_applies_prefix_order ... ok
[INFO] [stdout] test repo::paths::tests::test_list_encrypted_files_for_env_falls_back_to_legacy ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_with_rules_uses_global_prefix_defaults ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_with_rules_key_filtering ... ok
[INFO] [stdout] test identity::tests::test_resolve_recipient_keys_fallback_to_identity ... ok
[INFO] [stdout] test repo::paths::tests::test_list_encrypted_files_for_env_prefers_env_dir ... ok
[INFO] [stdout] test repo::paths::tests::test_validate_write_path_handles_curdir_and_parentless_target ... ok
[INFO] [stdout] test repo::paths::tests::test_validate_write_path_blocks_traversal ... ok
[INFO] [stdout] test identity::tests::test_probe_identity_sources_with_explicit_valid_path ... ok
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_yaml_store_file ... ok
[INFO] [stdout] test repo::paths::tests::test_validate_write_path_allows_subpath ... ok
[INFO] [stdout] test identity::tests::test_probe_identity_sources_ssh_list_not_available ... ok
[INFO] [stdout] test repo::plugin::tests::test_find_adapter_binary_not_on_path ... ok
[INFO] [stdout] test repo::paths::tests::test_validate_write_path_target_ends_with_dotdot_returns_usage_error ... ok
[INFO] [stdout] test repo::plugin::tests::test_adapter_lookup_found_for_real_binary ... FAILED
[INFO] [stdout] test repo::paths::tests::test_decrypt_env_secrets_wrong_identity_returns_error ... ok
[INFO] [stdout] test repo::plugin::tests::test_invoke_adapter_harden_nonexistent_binary_fails ... ok
[INFO] [stdout] test repo::plugin::tests::test_which_binary_not_found_returns_err ... ok
[INFO] [stdout] test repo::plugin::tests::test_invoke_adapter_harden_success_with_true_command ... ok
[INFO] [stdout] test repo::recipients::tests::test_list_recipients_empty_when_no_dir ... ok
[INFO] [stdout] test repo::recipients::tests::test_read_recipients_rejects_invalid_line ... ok
[INFO] [stdout] test repo::recipients::tests::test_read_recipients_skips_blank_and_comment_lines ... ok
[INFO] [stdout] test repo::paths::tests::test_list_all_encrypted_files_missing_dir_is_empty ... ok
[INFO] [stdout] test repo::recipients::tests::test_read_recipients_supports_inline_comment ... ok
[INFO] [stdout] test repo::recipients::tests::test_remove_by_key_not_found_errors ... ok
[INFO] [stdout] test repo::recipients::tests::test_remove_by_name_not_found_errors ... ok
[INFO] [stdout] test repo::recipients::tests::test_remove_recipient_by_name ... ok
[INFO] [stdout] test repo::recipients::tests::test_read_recipients_empty_when_no_dir ... ok
[INFO] [stdout] test repo::recipients::tests::test_list_recipients ... ok
[INFO] [stdout] test repo::recipients::tests::test_write_then_read_multiple_recipients ... ok
[INFO] [stdout] test repo::recipients::tests::test_remove_recipient_by_key ... ok
[INFO] [stdout] test repo::paths::tests::test_validate_write_path_with_existing_target_file ... ok
[INFO] [stdout] test repo::recipients::tests::test_write_then_read_single_recipient ... ok
[INFO] [stdout] test repo::plugin::tests::test_find_adapter_binary_found_when_on_path ... ok
[INFO] [stdout] test run::tests::test_key_with_equals_returns_err ... ok
[INFO] [stdout] test run::tests::test_invalid_command_returns_error ... ok
[INFO] [stdout] test run::tests::test_key_with_null_byte_returns_err ... ok
[INFO] [stdout] test run::tests::test_clear_env_removes_parent_vars ... ok
[INFO] [stdout] [master (root-commit) 8e75b4e] add .env
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 .env
[INFO] [stdout] test run::tests::test_empty_key_name_returns_err ... ok
[INFO] [stdout] test repo::plugin::tests::test_invoke_adapter_harden_failure_with_false_command ... ok
[INFO] [stdout] test run::tests::test_pass_vars_forwarded_with_clear_env ... ok
[INFO] [stdout] test run::tests::test_run_exit_code_zero ... ok
[INFO] [stdout] test repo::paths::tests::test_ensure_dirs_staging ... ok
[INFO] [stdout] test run::tests::test_sensitive_key_name_warns_but_succeeds ... ok
[INFO] [stdout] test ssh::tests::ssh_error_debug_includes_variant_name ... ok
[INFO] [stdout] test ssh::tests::ssh_error_display_failed_contains_context ... ok
[INFO] [stdout] test ssh::tests::ssh_error_display_not_available_contains_context ... ok
[INFO] [stdout] test repo::paths::tests::test_get_plain_path_staging ... ok
[INFO] [stdout] test run::tests::test_secrets_injected_into_env ... ok
[INFO] [stdout] test run::tests::test_run_propagates_specific_exit_code ... ok
[INFO] [stdout] test store::tests::test_compute_store_path_dotdot_relative_outside_repo_errors ... ok
[INFO] [stdout] test store::tests::test_compute_store_path_flat_file ... ok
[INFO] [stdout] test store::tests::test_compute_store_path_nested_curdur_components_are_stripped ... ok
[INFO] [stdout] test run::tests::test_run_exit_code_nonzero ... ok
[INFO] [stdout] test repo::drift::tests::test_find_history_plaintext_leaks_detects_committed_env ... ok
[INFO] [stdout] test store::tests::test_compute_store_path_mirrored_env ... ok
[INFO] [stdout] test store::tests::test_compute_store_path_outside_repo_errors ... ok
[INFO] [stdout] test store::tests::test_compute_store_path_nested_file ... ok
[INFO] [stdout] test repo::paths::tests::test_list_all_encrypted_files_recurses ... ok
[INFO] [stdout] test run::tests::test_valid_key_name_passes_through ... ok
[INFO] [stdout] test store::tests::test_resolve_store_path_source_not_found_returns_not_found_error ... ok
[INFO] [stdout] test store::tests::test_resolve_store_path_relative_explicit_age_path_returns_joined ... ok
[INFO] [stdout] test repo::paths::tests::test_list_age_files_in_dir_ignores_non_age_files ... ok
[INFO] [stdout] test store::tests::test_resolve_store_path_absolute_age_store_path_is_explicit ... ok
[INFO] [stdout] test run::tests::test_signal_killed_process_returns_128_plus_signal ... ok
[INFO] [stdout] test store::tests::test_resolve_store_path_source_path_maps_to_correct_age_path ... ok
[INFO] [stdout] test store::tests::test_compute_store_path_outside_genuinely_different_root_errors ... ok
[INFO] [stdout] test store::tests::test_compute_store_path_with_curdur_component_is_stripped ... ok
[INFO] [stdout] test store::tests::test_resolve_store_path_relative_age_path_not_under_store_is_source ... ok
[INFO] [stdout] test ssh::tests::ssh_keygen_fingerprint_directory_returns_none ... ok
[INFO] [stdout] test ssh::tests::ssh_add_list_keys_returns_bytes_or_err ... ok
[INFO] [stdout] test structured::armor::tests::test_decrypt_armor_malformed_input_errors ... ok
[INFO] [stdout] test structured::armor::tests::test_decrypt_binary_b64_malformed_ciphertext_errors ... ok
[INFO] [stdout] test structured::armor::tests::test_encrypt_armor_over_limit_errors ... ok
[INFO] [stdout] test structured::armor::tests::test_encrypt_binary_b64_invalid_key_errors ... ok
[INFO] [stdout] test structured::armor::tests::test_encrypt_armor_no_recipients_errors ... ok
[INFO] [stdout] test structured::armor::tests::test_encrypt_binary_b64_no_recipients_errors ... ok
[INFO] [stdout] test structured::armor::tests::test_truncate_key_for_log_short_key ... ok
[INFO] [stdout] test structured::armor::tests::test_binary_b64_roundtrip ... ok
[INFO] [stdout] test structured::env_values::tests::test_decrypt_env_values_preserves_unencrypted_assignments ... ok
[INFO] [stdout] test structured::armor::tests::test_encrypt_armor_invalid_key_truncates_in_error ... ok
[INFO] [stdout] test structured::armor::tests::test_encrypt_armor_invalid_key_errors ... ok
[INFO] [stdout] test structured::armor::tests::test_encrypt_binary_b64_over_limit_errors ... ok
[INFO] [stdout] test structured::armor::tests::test_truncate_key_for_log_long_key ... ok
[INFO] [stdout] test structured::env_values::tests::test_decrypt_env_values_preserves_comments_and_invalid_lines ... ok
[INFO] [stdout] test structured::env_values::tests::test_parse_env_pair_from_line_invalid_returns_none ... ok
[INFO] [stdout] test structured::env_values::tests::test_rewrite_env_assignment_line_without_equals_is_unchanged ... ok
[INFO] [stdout] test structured::env_values::tests::test_encrypt_env_values_keeps_invalid_assignment_lines ... ok
[INFO] [stdout] test structured::env_values::tests::test_encrypt_env_values_reencrypts_invalid_prefixed_payload ... ok
[INFO] [stdout] test structured::fields::tests::test_collect_encrypted_field_paths_json_empty_when_plain ... ok
[INFO] [stdout] test structured::fields::tests::test_collect_encrypted_field_paths_json_array_element ... ok
[INFO] [stdout] test run::tests::test_secrets_override_inherited_vars ... ok
[INFO] [stdout] test structured::armor::tests::test_decrypt_armor_wrong_identity_errors ... ok
[INFO] [stdout] test structured::armor::tests::test_armor_roundtrip ... ok
[INFO] [stdout] test structured::env_values::tests::test_encrypt_env_values_is_idempotent_for_existing_ciphertext ... ok
[INFO] [stdout] test structured::armor::tests::test_decrypt_binary_b64_wrong_identity_errors ... ok
[INFO] [stdout] test structured::fields::tests::test_collect_encrypted_field_paths_yaml ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_field_helpers_ignore_non_armored_values ... ok
[INFO] [stdout] test structured::fields::tests::test_collect_encrypted_field_paths_json_flat ... ok
[INFO] [stdout] test structured::fields::tests::test_collect_encrypted_field_paths_toml ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_content_json_roundtrip ... ok
[INFO] [stdout] test structured::fields::tests::test_collect_encrypted_field_paths_json_nested ... ok
[INFO] [stdout] test structured::fields::tests::test_collect_encrypted_field_paths_unsupported_ext ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_content_fail_on_undecryptable_when_strict ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_content_toml_roundtrip ... ok
[INFO] [stdout] test structured::fields::tests::test_collect_encrypted_field_paths_yaml_sequence_element ... ok
[INFO] [stdout] test structured::fields::tests::test_collect_encrypted_field_paths_toml_array_element ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_content_skip_undecryptable ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_content_toml_fail_on_undecryptable_strict ... ok
[INFO] [stdout] test structured::env_values::tests::test_env_value_only_preserves_formatting_and_inline_comments ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_json_parse_error ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_yaml_parse_error ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_file_not_found ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_content_yaml_fail_on_undecryptable_strict ... ok
[INFO] [stdout] test structured::fields::tests::test_encrypt_field_helpers_ignore_missing_paths ... ok
[INFO] [stdout] test structured::fields::tests::test_encrypt_fields_toml_parse_error ... ok
[INFO] [stdout] test structured::fields::tests::test_field_mut_helpers_return_none_for_scalar_roots ... ok
[INFO] [stdout] test structured::env_values::tests::test_env_value_only_roundtrip ... ok
[INFO] [stdout] test structured::fields::tests::test_encrypt_fields_unsupported_extension_errors ... ok
[INFO] [stdout] test structured::fields::tests::test_encrypt_fields_yaml_parse_error ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_toml_parse_error ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_unsupported_extension_errors ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_content_yaml_skip_undecryptable ... ok
[INFO] [stdout] test structured::fields::tests::test_encrypt_fields_file_not_found ... ok
[INFO] [stdout] test structured::fields::tests::test_encrypt_fields_json_parse_error ... ok
[INFO] [stdout] test structured::fields::tests::test_json_field_encrypt_decrypt_roundtrip ... ok
[INFO] [stdout] test structured::helpers::tests::test_atomic_write_new_in_fails_for_missing_dir ... ok
[INFO] [stdout] test structured::helpers::tests::test_is_age_armor_true ... ok
[INFO] [stdout] test structured::helpers::tests::test_is_env_encrypted_false ... ok
[INFO] [stdout] test structured::helpers::tests::test_atomic_write_roundtrip ... ok
[INFO] [stdout] test structured::helpers::tests::test_is_env_encrypted_true ... ok
[INFO] [stdout] test structured::helpers::tests::test_is_age_armor_false ... ok
[INFO] [stdout] test ssh::tests::ssh_keygen_fingerprint_nonexistent_path_returns_none ... ok
[INFO] [stdout] test structured::fields::tests::test_toml_field_encrypt_decrypt_roundtrip ... ok
[INFO] [stdout] test structured::fields::tests::test_json_field_encrypt_idempotent ... ok
[INFO] [stdout] test crypto::tests::test_decrypt_rejects_passphrase_ciphertext ... ok
[INFO] [stdout] test structured::fields::tests::test_yaml_field_encrypt_decrypt_roundtrip ... ok
[INFO] [stdout] test structured::fields::tests::test_yml_extension_encrypt_decrypt_roundtrip ... ok
[INFO] [stdout] test structured::fields::tests::test_json_only_changed_field_re_encrypts ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_content_yaml_roundtrip ... ok
[INFO] [stdout] test structured::fields::tests::test_decrypt_fields_content_toml_skip_undecryptable ... ok
[INFO] [stdout] test crypto::tests::test_decrypt_stream_rejects_passphrase_ciphertext ... ok
[INFO] [stdout] test structured::armor::tests::test_decrypt_binary_b64_rejects_passphrase_ciphertext ... ok
[INFO] [stdout] test structured::armor::tests::test_decrypt_armor_rejects_passphrase_ciphertext ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- barrier::tests::allow_prod_fails_when_token_dir_is_read_only stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'barrier::tests::allow_prod_fails_when_token_dir_is_read_only' (25) panicked at src/barrier.rs:671:9:
[INFO] [stdout] allow_prod should fail with read-only .git/gitvault dir
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c705e2e88ba - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c705e2e88ba - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c705e2e88ba - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c705e2e88ba - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c705e30110a - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c705e30110a - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5c705e2ede32 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5c705e2ede32 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5c705e2c393f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c705e2c393f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c705e2df679 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c705dcd23ec - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5c705dcd23ec - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5c705e2df832 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5c705e2df832 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c705e2c3a2a - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5c705e2bad09 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c705e2c4aad - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c705e301a6c - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c705d939aeb - gitvault::barrier::tests::allow_prod_fails_when_token_dir_is_read_only::hb7aada8f6d593379
[INFO] [stdout]                                at /opt/rustwide/workdir/src/barrier.rs:671:9
[INFO] [stdout]   20:     0x5c705d939b47 - gitvault::barrier::tests::allow_prod_fails_when_token_dir_is_read_only::{{closure}}::h634d4116ec0ad16e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/barrier.rs:655:54
[INFO] [stdout]   21:     0x5c705d9012e6 - core::ops::function::FnOnce::call_once::ha4e4dd26bbba278b
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5c705dcc64cb - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5c705dcc64cb - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5c705dcd2ebb - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5c705dcd2ebb - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x5c705dcd2ebb - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5c705dcd2ebb - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5c705dcd2ebb - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5c705dcd2ebb - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5c705dcd2ebb - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5c705dcce5d4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5c705dcce5d4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x5c705dcd5ac2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x5c705dcd5ac2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5c705e2e79af - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   41:     0x5c705e2e79af - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x7cd64352caa4 - <unknown>
[INFO] [stdout]   43:     0x7cd6435b9a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- identity::tests::test_load_ssh_agent_identity_file_unreadable_returns_not_available stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'identity::tests::test_load_ssh_agent_identity_file_unreadable_returns_not_available' (1099) panicked at src/identity.rs:2449:9:
[INFO] [stdout] unreadable key file should return NotAvailable: Ok(Zeroizing("fake-key-content"))
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c705e2e88ba - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c705e2e88ba - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c705e2e88ba - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c705e2e88ba - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c705e30110a - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c705e30110a - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5c705e2ede32 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5c705e2ede32 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5c705e2c393f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c705e2c393f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c705e2df679 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c705dcd23ec - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5c705dcd23ec - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5c705e2df832 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5c705e2df832 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c705e2c39f8 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5c705e2bad09 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c705e2c4aad - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c705e301a6c - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c705d7a972b - gitvault::identity::tests::test_load_ssh_agent_identity_file_unreadable_returns_not_available::h70cd346b7e6af82c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/identity.rs:2449:9
[INFO] [stdout]   20:     0x5c705d7a9a27 - gitvault::identity::tests::test_load_ssh_agent_identity_file_unreadable_returns_not_available::{{closure}}::hfaf045fb78675826
[INFO] [stdout]                                at /opt/rustwide/workdir/src/identity.rs:2417:76
[INFO] [stdout]   21:     0x5c705d905ee6 - core::ops::function::FnOnce::call_once::hf5fb766b1db907b3
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5c705dcc64cb - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5c705dcc64cb - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5c705dcd2ebb - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5c705dcd2ebb - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x5c705dcd2ebb - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5c705dcd2ebb - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5c705dcd2ebb - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5c705dcd2ebb - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5c705dcd2ebb - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5c705dcce5d4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5c705dcce5d4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x5c705dcd5ac2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x5c705dcd5ac2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5c705e2e79af - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   41:     0x5c705e2e79af - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x7cd64352caa4 - <unknown>
[INFO] [stdout]   43:     0x7cd6435b9a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- repo::plugin::tests::test_adapter_lookup_found_for_real_binary stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'repo::plugin::tests::test_adapter_lookup_found_for_real_binary' (1314) panicked at src/repo/plugin.rs:122:9:
[INFO] [stdout] echo should be found on PATH
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c705e2e88ba - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c705e2e88ba - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c705e2e88ba - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c705e2e88ba - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c705e30110a - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c705e30110a - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5c705e2ede32 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5c705e2ede32 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5c705e2c393f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c705e2c393f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c705e2df679 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c705dcd23ec - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5c705dcd23ec - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5c705e2df832 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5c705e2df832 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c705e2c39f8 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5c705e2bad09 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c705e2c4aad - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c705e301a6c - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c705dad7f6b - gitvault::repo::plugin::tests::test_adapter_lookup_found_for_real_binary::hc8afa25f0bbcef61
[INFO] [stdout]                                at /opt/rustwide/workdir/src/repo/plugin.rs:122:9
[INFO] [stdout]   20:     0x5c705dad8057 - gitvault::repo::plugin::tests::test_adapter_lookup_found_for_real_binary::{{closure}}::h8d7ce39456a0a3b2
[INFO] [stdout]                                at /opt/rustwide/workdir/src/repo/plugin.rs:114:51
[INFO] [stdout]   21:     0x5c705d901a36 - core::ops::function::FnOnce::call_once::had7f1a4bb420c665
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5c705dcc64cb - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5c705dcc64cb - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x5c705dcd2ebb - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x5c705dcd2ebb - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x5c705dcd2ebb - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5c705dcd2ebb - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5c705dcd2ebb - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5c705dcd2ebb - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x5c705dcd2ebb - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x5c705dcce5d4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x5c705dcce5d4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x5c705dcd5ac2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5c705dcd5ac2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x5c705dcd5ac2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5c705e2e79af - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   41:     0x5c705e2e79af - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x7cd64352caa4 - <unknown>
[INFO] [stdout]   43:     0x7cd6435b9a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     barrier::tests::allow_prod_fails_when_token_dir_is_read_only
[INFO] [stdout]     identity::tests::test_load_ssh_agent_identity_file_unreadable_returns_not_available
[INFO] [stdout]     repo::plugin::tests::test_adapter_lookup_found_for_real_binary
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 836 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.76s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "ebac12f0812a9bf57e8d6e243721acd46296d4f6551b9f3dabda7a692d8f7130", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebac12f0812a9bf57e8d6e243721acd46296d4f6551b9f3dabda7a692d8f7130", kill_on_drop: false }`
[INFO] [stdout] ebac12f0812a9bf57e8d6e243721acd46296d4f6551b9f3dabda7a692d8f7130
