Running phase: unpackPhase unpacking source archive /nix/store/abc3qryfvsxwrq4n336f905ghl837ry4-source source root is source Running phase: patchPhase Executing configureCargoCommonVars decompressing cargo artifacts from /nix/store/mv5rdvnqn2hnwc9hi6m8sc1czwjblalc-rbw-gtk-deps-2.40.0/target.tar.zst to target Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase will append /build/source/.cargo-home/config.toml with contents of /nix/store/45l9vr8dbsldrikdlhc5158qwfffp36y-vendor-cargo-deps/config.toml default configurePhase, nothing to do Running phase: buildPhase +++ command cargo --version cargo 1.99.0 (5f94df478 2026-08-27) +++ command cargo build --release --message-format json-render-diagnostics --locked --features fido2,gtk-ui Compiling rbw v2.40.0 (/build/source) Finished `release` profile [optimized] target(s) in 1m 19s searching for bins/libs to install from cargo build log at cargoBuildLogT8hr.json installing /build/source/target/release/rbw-browser in postBuildInstallFromCargoBuildLogOutTemplEk/bin installing /build/source/target/release/rbw-unlockd in postBuildInstallFromCargoBuildLogOutTemplEk/bin installing /build/source/target/release/rbw-agent in postBuildInstallFromCargoBuildLogOutTemplEk/bin installing /build/source/target/release/rbw in postBuildInstallFromCargoBuildLogOutTemplEk/bin searching for bins/libs complete buildPhase completed in 1 minutes 21 seconds Running phase: checkPhase +++ command cargo test --release --locked --features fido2,gtk-ui Compiling rbw v2.40.0 (/build/source) Finished `release` profile [optimized] target(s) in 1m 08s Running unittests src/lib.rs (target/release/deps/rbw-1c24b16f1bf083fb) running 110 tests test api::tests::ciphers_post_req_serializes_ssh_key ... ok test api::tests::cipher_ssh_key_deserializes_all_fingerprint_spellings ... ok test api::tests::ciphers_put_req_serializes_ssh_key ... ok test api::tests::sync_cipher_keeps_revision_date ... ok test api::tests::sync_metadata_survives_cache_round_trip_and_old_caches_load ... ok test api::tests::sync_cipher_treats_null_attachments_as_empty ... ok test api::two_factor_tests::supports_camel_case_metadata_without_legacy_provider_list ... ok test api::two_factor_tests::preserves_vaultwarden_webauthn_challenge ... ok test api::two_factor_tests::retains_legacy_otp_login_without_metadata ... ok test api::tests::user_id_from_access_token_reads_sub_claim ... ok test cipherstring::test_parse_malformed_type ... ok test cipherstring::test_pkcs7_unpad ... ok test cipherstring::test_decrypt_file_data ... ok test api::blocking_client_tests::blocking_client_sends_the_bitwarden_client_headers ... ok test config::test::aliases_collection_and_org_are_optional ... ok test config::test::account_base_url_resolves_from_file ... ok test config::test::clipboard_mechanism_defaults_to_auto_when_absent ... ok test config::test::aliases_default_to_empty_and_are_skipped_when_empty ... ok test config::test::aliases_alias_field_accepts_list_of_names ... ok test config::test::aliases_deserialize_from_yaml ... ok test config::test::config_yaml_deserializes ... ok test config::test::clipboard_mechanism_json_round_trips ... ok test config::test::config_yaml_serializes_grouped_camel_case ... ok test config::test::credential_followers_are_direct_followers_that_may_be_unlocked ... ok test config::test::credential_source_chain_rejects_cycle ... ok test config::test::credential_source_chain_rejects_self_reference ... ok test config::test::credential_source_chain_rejects_unknown_account ... ok test config::test::credential_source_chain_resolves_valid_chain ... ok test config::test::credential_source_chain_trivial_with_no_source ... ok test config::test::credential_source_deserializes_legacy_entry_key_as_item ... ok test config::test::excluded_from_all_covers_every_context ... ok test config::test::excluded_from_checks_only_the_listed_contexts ... ok test config::test::excluded_from_is_false_by_default ... ok test config::test::explicit_primary_account_wins ... ok test config::test::fingerprint_policy_round_trips_and_defaults_to_auto ... ok test config::test::fingerprint_policy_skips_over_ssh_unless_always ... ok test config::test::legacy_config_synthesizes_default_account ... ok test config::test::migrate_legacy_moves_fields_into_default_account ... ok test config::test::item_alias_account_name_resolves_sentinels_to_primary ... ok test config::test::only_the_ssh_skip_is_announced ... ok test config::test::primary_defaults_to_first_account ... ok test config::test::secret_string_literal_resolves_to_itself ... ok test creds::tests::live_tpm2_round_trip ... ignored, requires systemd-creds and a TPM test config::test::secret_string_file_missing_fails_clearly ... ok test config::test::secret_string_round_trips_through_yaml ... ok test desktop::protocol_tests::fingerprint_protocol_and_cleanup ... ignored, requires RBW_TEST_PRIVATE_DBUS=1 and dbus-run-session test desktop::race_tests::both_failed_methods_return_an_error ... ok test desktop::race_tests::cancellation_cleans_up_both_methods ... ok test desktop::race_tests::closed_prompt_keeps_fingerprint_available ... ok test desktop::race_tests::failed_fingerprint_keeps_password_available ... ok test desktop::race_tests::fingerprint_winner_waits_for_pinentry_cleanup ... ok test desktop::tests::live_fingerprint_confirmation ... ignored, requires a human touching the enrolled fingerprint reader test config::test::secret_string_file_resolves_and_trims_one_trailing_newline ... ok test desktop::tests::live_keyring_roundtrip ... ignored, requires a real unlocked desktop Secret Service test desktop::race_tests::password_winner_waits_for_reader_cleanup ... ok test api::tests::full_put_preserves_metadata_and_classifies_revision_conflicts ... ok test desktop::tests::only_terminal_match_authenticates ... ok test desktop::tests::secret_service_config_roundtrip ... ok test dirs::tests::yaml_is_the_default_config_filename ... ok test dirs::tests::yaml_config_takes_precedence_over_json ... ok test locked::tests::strict_buffers_own_disjoint_pages_and_wipe_removed_bytes ... ok test pinentry::invalid_utf8_pinentry_error_does_not_panic ... ok test protocol::test_version_encoding ... ok test identity::tests::hmac_and_pbkdf2_sha256_match_independent_answers ... ok test remote_api::tests::field_response_matches_http_json_contract ... ok test remote_api::tests::field_tokens_round_trip_as_strings ... ok test remote_api::tests::old_client_policy_deserializes_with_status_denied ... ok test remote_api::tests::status_accounts_remain_independent_from_item_account_scope ... ok test remote_api::tests::status_grants_do_not_add_item_fields_and_revoke_keeps_item_scope ... ok test pwgen::test::test_resolve_type_priority ... ok test remote_api::tests::status_response_matches_http_json_contract ... ok test unlock_ui::gtk::tests::live_gtk_password_and_cancel ... ignored, requires a real desktop display test termux::tests::bundle_round_trip ... ok test identity::tests::sha256_known_answers_cover_short_and_multiple_blocks ... ok test pwgen::test::test_resolve_length_priority ... ok test unlock_ui::terminal::tests::print_compact_layouts ... ignored, prints layouts for manual review test unlock_ui::terminal::tests::tiny_terminals_render_without_panicking ... ok test remote_api::tests::legacy_status_policy_keeps_its_existing_single_account_grant ... ok test pwgen::test::test_pwgen ... ok test unlock_ui::terminal::tests::narrow_and_short_terminals_keep_the_password_field ... ok test unlock_ui::terminal::tests::tab_toggles_the_dots_but_not_inside_a_paste ... ok test unlock_ui::tests::live_terminal_password ... ignored, requires a controlling terminal and disposable test input test unlock_ui::tests::ui_modes_roundtrip_and_invalid_modes_fail ... ok test unlock_ui::tests::no_echo_is_opt_in_and_roundtrips ... ok test unlockd::tests::fingerprint_status_survives_the_wire ... ok test unlockd::tests::ids_must_be_canonical_uuids ... ok test unlockd::tests::requests_and_events_round_trip ... ok test unlockd::tests::read_line_limits_length ... ok test unlock_ui::terminal::tests::dialog_renders_only_masked_input_and_public_status ... ok test remote_api::tests::api_errors_have_stable_statuses_and_retryability ... ok test unlock_ui::tests::input_limit_is_checked_before_writing ... ok test unlock_ui::terminal::tests::no_echo_renders_no_password_mask ... ok test unlock_ui::terminal::tests::overflow_requires_clearing_before_retyping ... ok test unlock_ui::terminal::tests::the_card_mentions_the_tab_shortcut ... ok test creds::tests::private_write_ignores_existing_tmp_file ... ok test unlock_ui::terminal::tests::invalid_utf8_is_never_submitted ... ok test unlock_ui::terminal::tests::bracketed_paste_cannot_submit_or_keep_a_truncated_password ... ok test unlock_ui::terminal::tests::ctrl_delete_clears_the_input ... ok test unlock_ui::tests::unicode_backspace_and_clear_do_not_expose_input ... ok test rotate::tests::rotates_everything_under_the_user_key ... ok test rotate::tests::refuses_what_it_cannot_rotate ... ok test termux::tests::missing_program_counts_as_missing_keystore ... ok test creds::tests::private_files_round_trip_and_reject_loose_permissions ... ok test edit::tests::recovery_files_are_private_unique_and_complete ... ok test pinentry::test_getpin_cancelled_when_client_disconnects ... ok test remote_api::tests::server_certificate_has_aki_and_strict_python_tls_accepts_it ... FAILED test remote_api::tests::existing_server_certificate_is_rotated_without_replacing_ca_or_clients ... FAILED test remote_api::tests::mismatched_server_key_is_rotated_even_when_certificate_aki_is_valid ... FAILED test pinentry::test_read_password ... ok test remote_api::tests::tls_material_rotation_and_read_are_serialized_across_callers ... ok failures: ---- remote_api::tests::server_certificate_has_aki_and_strict_python_tls_accepts_it stdout ---- thread 'remote_api::tests::server_certificate_has_aki_and_strict_python_tls_accepts_it' (1497) panicked at src/remote_api.rs:1063:14: Python 3 is required for the strict TLS certificate regression test: Os { code: 2, kind: NotFound, message: "No such file or directory" } note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ---- remote_api::tests::existing_server_certificate_is_rotated_without_replacing_ca_or_clients stdout ---- thread 'remote_api::tests::existing_server_certificate_is_rotated_without_replacing_ca_or_clients' (1491) panicked at src/remote_api.rs:1063:14: Python 3 is required for the strict TLS certificate regression test: Os { code: 2, kind: NotFound, message: "No such file or directory" } ---- remote_api::tests::mismatched_server_key_is_rotated_even_when_certificate_aki_is_valid stdout ---- thread 'remote_api::tests::mismatched_server_key_is_rotated_even_when_certificate_aki_is_valid' (1495) panicked at src/remote_api.rs:1063:14: Python 3 is required for the strict TLS certificate regression test: Os { code: 2, kind: NotFound, message: "No such file or directory" } failures: remote_api::tests::existing_server_certificate_is_rotated_without_replacing_ca_or_clients remote_api::tests::mismatched_server_key_is_rotated_even_when_certificate_aki_is_valid remote_api::tests::server_certificate_has_aki_and_strict_python_tls_accepts_it test result: FAILED. 100 passed; 3 failed; 7 ignored; 0 measured; 0 filtered out; finished in 0.06s error: test failed, to rerun pass `--lib`