Finished `test` profile [unoptimized + debuginfo] target(s) in 0.40s Running unittests src/lib.rs (target/debug/deps/refineid_client-ae5190ae0a658051) running 302 tests test card_check::tests::card_check_error_display_is_prefixed ... ok test card_check::tests::chain_check_failed_when_leaf_not_signed_by_intermediate ... ok test card_check::tests::chain_check_failed_when_no_anchor_and_on_card_root_present ... ok test card_check::tests::chain_check_skipped_when_intermediate_unparseable ... ok test card_check::tests::chain_check_skipped_when_no_anchor_and_on_card_root_absent ... ok test card_check::tests::chain_check_skipped_when_no_intermediate_fetched ... ok test card_check::tests::chain_check_ok_when_pinned_on_card_root_closes_chain ... ok test card_check::tests::days_between_is_signed_and_symmetric ... ok test card_check::tests::dsc_csca_country_absent_when_pool_lacks_the_country ... ok test card_check::tests::dsc_csca_country_unknown_when_issuer_has_no_country ... ok test card_check::tests::dsc_csca_key_usage_noncompliant_short_circuits ... ok test card_check::tests::dsc_csca_no_dsc_when_sod_absent ... ok test card_check::tests::dsc_csca_no_dsc_when_sod_has_no_certificates ... ok test card_check::tests::dsc_csca_no_dsc_when_sod_unparseable ... ok test card_check::tests::dsc_csca_no_match_when_candidate_dn_differs ... ok test card_check::tests::dsc_csca_no_match_when_candidate_signature_fails ... ok test card_check::tests::dsc_csca_parse_failed_when_embedded_cert_not_x509 ... ok test card_check::tests::dsc_key_usage_compliant_when_digital_signature_only_and_critical ... ok test card_check::tests::dsc_key_usage_describe_strings_match_spec_language ... ok test card_check::tests::dsc_key_usage_extension_missing_when_no_extensions ... ok test card_check::tests::dsc_key_usage_extra_bits_listed ... ok test card_check::tests::dsc_key_usage_extra_bits_lists_every_offending_label ... ok test card_check::tests::dsc_key_usage_missing_digital_signature_flagged ... ok test card_check::tests::dsc_key_usage_not_critical_flagged ... ok test card_check::tests::fmt_check_outcome_renders_status_and_skipped ... ok test card_check::tests::fmt_revocation_covers_each_status ... ok test card_check::tests::fmt_signature_check_covers_each_variant ... ok test card_check::tests::is_ml_fully_trusted_requires_all_three_gates ... ok test card_check::tests::load_icao_pkd_rejects_der_that_fails_to_parse ... ok test card_check::tests::load_icao_pkd_rejects_input_that_is_neither_der_nor_utf8 ... ok test card_check::tests::load_icao_pkd_surfaces_read_error_for_missing_file ... ok test card_check::tests::looks_like_der_sequence_sniffs_first_byte ... ok test card_check::tests::ml_signer_trust_no_matching_issuer_when_no_embedded_pin_match ... ok test card_check::tests::chain_check_skipped_when_on_card_root_not_pinned ... ok test card_check::tests::ml_signer_trust_pinned_for_self_signed_un_root ... ok test card_check::tests::ml_signer_trust_signature_failed_when_signer_der_unparseable ... ok test card_check::tests::ml_signer_trust_signature_failed_when_pinned_root_did_not_sign_signer ... ok test card_check::tests::ml_trust_describe_strings_identify_each_outcome ... ok test card_check::tests::now_date_time_is_a_sane_recent_instant ... ok test card_check::tests::render_aa_outcome_covers_each_variant ... ok test card_check::tests::render_ca_outcome_covers_each_variant ... ok test card_check::tests::render_mrz_expiry_distinguishes_valid_from_expired ... ok test card_check::tests::render_dsc_csca_covers_every_variant ... ok test card_check::tests::render_pin_changed_covers_each_state ... ok test card_check::tests::render_policy_counters_reports_card_no_limit ... ok test card_check::tests::render_pin_status_covers_each_variant ... ok test card_check::tests::render_puk_status_covers_counter_and_terminal_states ... ok test card_check::tests::signer_basic_constraints_absent_is_compliant ... ok test card_check::tests::signer_basic_constraints_ca_false_is_compliant ... ok test card_check::tests::signer_basic_constraints_ca_true_is_noncompliant ... ok test card_check::tests::signer_eku_compliant_with_critical_ml_signer_oid ... ok test card_check::tests::signer_eku_extension_missing_when_no_eku ... ok test card_check::tests::signer_eku_missing_ml_signer_oid_flagged ... ok test card_check::tests::signer_eku_not_critical_flagged ... ok test card_check::tests::trust_pool_only_yields_cscas_from_fully_trusted_mls ... ok test card_check::tests::verify_crl_errors_without_issuer_cert ... ok test card_check::tests::verify_crl_errors_on_issuer_dn_mismatch ... ok test card_decrypt::tests::io_error_display_includes_path_and_source ... ok test card_check::tests::verify_crl_reaches_signature_check_on_dn_match ... ok test card_decrypt::tests::pin_rejected_display_covers_each_outcome ... ok test card_decrypt::tests::stage_and_transport_error_display ... ok test card_decrypt::tests::report_display_lists_reader_and_lengths ... ok test card_emrtd::tests::consistency_line_renders_outcome_states ... ok test card_decrypt::tests::wrong_ciphertext_length_names_the_expected_size ... ok test card_emrtd::tests::dg11_dump_lists_every_field_with_absent_marker ... ok test card_emrtd::tests::dg11_dump_marks_absent_when_dg_not_read ... ok test card_emrtd::tests::dg11_dump_renders_present_values_with_utf8_diacritics ... ok test card_emrtd::tests::dg12_dump_renders_full_set ... ok test card_emrtd::tests::mrz_date_rejects_non_digits_at_parse ... ok test card_emrtd::tests::mrz_date_resolves_century_via_display ... ok test card_export::tests::export_error_display ... ok test card_export::tests::report_display_lists_written_and_skipped ... ok test card_export::tests::report_display_omits_skipped_section_when_empty ... ok test card_export::tests::write_file_surfaces_io_failure_and_leaves_log_untouched ... ok test card_manager::tests::displayed_serial_match_is_accepted ... ok test card_export::tests::write_file_writes_bytes_and_records_a_log_entry ... ok test card_manager::tests::displayed_serial_mismatch_is_refused ... ok test card_manager::tests::graphical_pdf_signing_requests_qualified_lta ... ok test card_manager::tests::no_visible_signature_is_requested_without_one ... ok test card_pin::activate_tests::activation_failure_never_proceeds_to_pin2 ... ok test card_pin::activate_tests::activation_length_mismatch_debug_and_display_do_not_leak_candidate_length ... ok test card_pin::activate_tests::card_manager_allows_three_attempts_but_reserves_two ... ok test card_pin::activate_tests::change_to_unblock_covers_every_variant ... ok test card_pin::activate_tests::newer_preflight_changed_flag_false_proceeds ... ok test card_pin::activate_tests::newer_preflight_changed_flag_indeterminate_proceeds ... ok test card_pin::activate_tests::newer_preflight_changed_flag_true_refuses ... ok test card_pin::activate_tests::older_preflight_no_info_proceeds ... ok test card_pin::activate_tests::older_preflight_with_healthy_pin1_refuses ... ok test card_pin::activate_tests::unknown_generation_keeps_old_scheme_classification ... ok test card_pubkey::tests::base64_known_vectors ... ok test card_pubkey::tests::ssh_mpint_msb_clear_no_pad ... ok test card_pubkey::tests::ssh_mpint_msb_set_gets_leading_zero ... ok test card_pubkey::tests::ssh_mpint_zero_value ... ok test card_pubkey::tests::ssh_rsa_line_shape ... ok test card_sign::tests::archive_path_must_be_frozen_in_the_covered_lt_store ... ok test card_sign::tests::archive_rejects_a_token_without_current_complete_evidence ... ok test card_sign::tests::auth_slot_maps_to_pin1_keyref01_ef4331 ... ok test card_sign::tests::archive_request_implies_lt_material_for_direct_api_callers ... ok test card_sign::tests::io_error_display_includes_path ... ok test card_sign::tests::live_qualified_timestamp_and_lt_evidence_probe ... ignored, needs live timestamp authorities and revocation services test card_sign::tests::live_sectigo_timestamp_response_verifies_directly ... ignored, needs the live Sectigo qualified timestamp service test card_sign::tests::live_timestamp_time_is_bounded_by_the_exchange ... ok test card_sign::tests::local_verify_display ... ok test card_sign::tests::embedded_path_terminates_at_the_tokens_own_anchor ... ok test card_sign::tests::local_verify_predicates_separate_ok_failed_skipped ... ok test card_sign::tests::qualified_slot_maps_to_pin2_keyref02_ef4332 ... ok test card_sign::tests::pin_rejected_display_renders_slot_and_outcome ... ok test card_sign::tests::sign_chain_and_crypto_error_display ... ok test card_sign::tests::sign_err_to_kind_maps_each_variant ... ok test card_sign::tests::sign_report_display_omits_absent_optionals ... ok test card_sign::tests::sign_report_display_renders_all_present_fields ... ok test card_sign::tests::sign_report_labels_timestamp_tokens_without_calling_them_authorities ... ok test card_sign::tests::successful_archive_timestamp_is_included_in_reported_token_count ... ok test card_sign::tests::signing_is_bound_to_the_displayed_card ... ok test card_sign::tests::timestamp_credentials_are_encoded_and_redacted ... ok test card_sign::tests::timestamp_retry_uses_capped_exponential_backoff_until_success ... ok test card_sign::tests::timestamp_retry_does_not_repeat_authentication_failure ... ok test card_sign::tests::validation_material_merge_deduplicates_each_der_collection ... ok test cert_chain::tests::chain_error_display ... ok test cert_chain::tests::missing_issuer_breaks_the_chain_without_aia ... ok test cert_chain::tests::missing_issuer_dir_is_a_scan_error ... ok test cert_chain::tests::missing_leaf_file_is_a_read_error ... ok test cert_chain::tests::report_display_covers_every_link_verdict ... ok test cert_chain::tests::self_signed_root_terminates_the_walk ... ok test cert_chain::tests::tampered_self_signature_is_reported_as_failed ... ok test cert_chain::tests::issuer_dir_silently_skips_non_cert_files ... ok test cert_chain::tests::undecodable_leaf_is_a_decode_error ... ok test cert_show::tests::cert_show_error_display ... ok test cert_show::tests::garbage_bytes_are_a_decode_error ... ok test cert_show::tests::key_usage_labels_absent_extension_is_empty ... ok test cert_show::tests::key_usage_labels_emits_asserted_bits_in_spec_order ... ok test cert_show::tests::key_usage_labels_no_bits_set_is_empty ... ok test cert_show::tests::missing_file_is_a_read_error ... ok test cert_show::tests::report_display_renders_key_lines ... ok test cert_show::tests::shows_a_der_ec_p384_root ... ok test cert_show::tests::shows_a_der_rsa_4096_root ... ok test cert_show::tests::shows_a_pem_rsa_csca_with_all_fields ... ok test cli::argv::tests::after_program_on_argv0_only_is_empty ... ok test cli::argv::tests::after_program_on_empty_argv_is_empty ... ok test cli::argv::tests::after_program_strips_argv0 ... ok test cli::argv::tests::program_name_is_none_for_empty_argv ... ok test cli::argv::tests::program_name_returns_argv0 ... ok test cli::argv::tests::remaining_argv_default_is_empty ... ok test cli::argv::tests::remaining_argv_from_slice_round_trips ... ok test cli::argv::tests::wants_help_ignores_argv0 ... ok test cli::argv::tests::wants_help_matches_long_short_and_bare_forms ... ok test cli::card::tests::all_paths_parsed ... ok test cli::card::tests::can_and_no_can_conflict ... ok test cli::card::tests::can_value_validates_via_can_newtype ... ok test cli::card::tests::defaults ... ok test cli::card::tests::empty_can_rejected ... ok test cli::card::tests::malformed_can_rejected ... ok test cli::card::tests::no_can_sets_skip ... ok test cli::card::tests::offline_flag ... ok test cli::card_activate::tests::defaults ... ok test cli::card_activate::tests::parses_allow_reactivate_and_reader ... ok test cli::card_activate::tests::unknown_flag_rejected ... ok test cli::card_change_pin::tests::parses_empty_argv_with_no_reader_filter ... ok test cli::card_change_pin::tests::parses_reader_filter ... ok test cli::card_change_pin::tests::reader_without_value_rejected ... ok test cli::card_change_pin::tests::unknown_flag_rejected ... ok test cli::card_decrypt_auth::tests::missing_input_rejected ... ok test cli::card_decrypt_auth::tests::missing_output_rejected ... ok test cli::card_decrypt_auth::tests::parses_required_in_and_out ... ok test cli::card_emrtd::tests::malformed_can_rejected ... ok test cli::card_emrtd::tests::missing_can_rejected ... ok test cli::card_emrtd::tests::parses_can_only ... ok test cli::card_emrtd::tests::save_paths_recorded ... ok test cli::card_export_all::tests::missing_directory_rejected ... ok test cli::card_export_all::tests::parses_directory_with_reader_filter ... ok test cli::card_export_all::tests::parses_positional_directory_only ... ok test cli::card_export_all::tests::parses_reader_filter_before_directory ... ok test cli::card_export_all::tests::reader_flag_without_value_rejected ... ok test cli::card_export_all::tests::second_positional_rejected_as_unexpected ... ok test cli::card_export_all::tests::unknown_flag_rejected ... ok test cli::card_pubkey::tests::bad_format_value_rejected ... ok test cli::card_pubkey::tests::bad_slot_value_rejected ... ok test cli::card_pubkey::tests::defaults_when_no_flags ... ok test cli::card_pubkey::tests::missing_flag_value_rejected ... ok test cli::card_pubkey::tests::out_path_recorded ... ok test cli::card_pubkey::tests::slot_and_format_set ... ok test cli::card_pubkey::tests::unknown_flag_rejected ... ok test cli::card_sign::tests::bad_can_rejected_at_parse ... ok test cli::card_sign::tests::can_absent_is_none ... ok test cli::card_sign::tests::can_parsed_when_supplied ... ok test cli::card_sign::tests::missing_input_rejected ... ok test cli::card_sign::tests::missing_output_rejected ... ok test cli::card_sign::tests::parses_required_in_and_out ... ok test cli::card_sign::tests::qualified_slot_captured ... ok test cli::card_sign::tests::save_cert_optional ... ok test cli::card_sign_document::tests::a_level_and_its_opt_out_conflict ... ok test cli::card_sign_document::tests::a_mistyped_set_stops_before_the_card ... ok test cli::card_sign_document::tests::a_set_and_a_url_compose_without_repeating ... ok test cli::card_sign_document::tests::archive_level_does_not_count_outer_token_as_another_authority ... ok test cli::card_sign_document::tests::bdoc_and_asice_are_one_format ... ok test cli::card_sign_document::tests::eu_qualified_expands_in_order ... ok test cli::card_sign_document::tests::formats_without_archive_support_default_to_lt ... ok test cli::card_sign_document::tests::long_term_requires_qualification_even_for_a_direct_url ... ok test cli::card_sign_document::tests::missing_format_in_and_out_are_each_required ... ok test cli::card_sign_document::tests::no_timestamp_cannot_reach_level_lt ... ok test cli::card_sign_document::tests::no_timestamp_is_the_explicit_route_to_level_b ... ok test cli::card_sign_document::tests::no_timestamp_refuses_a_named_authority ... ok test cli::card_sign_document::tests::opt_outs_step_down_one_level_each ... ok test cli::card_sign_document::tests::pades_metadata_is_optional ... ok test cli::card_sign_document::tests::parses_a_minimal_pades_command ... ok test cli::card_sign_document::tests::repeated_in_builds_a_set_for_containers ... ok test cli::card_sign_document::tests::single_file_formats_refuse_a_set_before_the_pin_prompt ... ok test cli::card_sign_document::tests::slot_can_be_chosen ... ok test cli::card_sign_document::tests::unknown_format_rejected ... ok test cli::card_unblock_pin::tests::parses_empty_argv ... ok test cli::card_unblock_pin::tests::parses_reader_filter ... ok test cli::card_unblock_pin::tests::unknown_flag_rejected ... ok test cli::cert_chain::tests::aia_fetch_is_flag ... ok test cli::cert_chain::tests::missing_leaf_rejected ... ok test cli::cert_chain::tests::parses_leaf_only ... ok test cert_chain::tests::two_link_chain_verifies_intermediate_against_root ... ok test cli::cert_chain::tests::parses_leaf_with_issuer_dir ... ok test cli::cert_show::tests::extra_positional_rejected ... ok test cli::cert_show::tests::leading_dash_rejected_as_flag ... ok test cli::cert_show::tests::missing_path_rejected ... ok test cli::cert_show::tests::parses_single_path ... ok test cli::util::tests::ambiguous_argv_shapes_map_to_bad_invocation ... ok test cli::util::tests::no_card_present_maps_to_no_card_present ... ok test cli::util::tests::no_fineid_card_falls_through_to_runtime_failure ... ok test cli::util::tests::no_readers_maps_to_no_readers ... ok test cli::verb::tests::bare_card_dispatches_to_check ... ok test cli::verb::tests::card_emrtd_wins_over_card_catch_all ... ok test cli::verb::tests::card_with_flags_dispatches_to_check ... ok test cli::verb::tests::cert_show_and_chain ... ok test cli::verb::tests::each_card_verb_has_a_dispatch ... ok test cli::verb::tests::malformed_args_surface_as_args_error ... ok test cli::verb::tests::no_subcommand_rejected ... ok test cli::verb::tests::pair_and_auth_subcommands ... ok test cli::verb::tests::unknown_cert_verb_rejected ... ok test cli::verb::tests::unknown_top_level_subcommand_rejected ... ok test cli::verb::tests::verify_subcommand ... ok test cli::verify::tests::missing_cert_rejected ... ok test cli::verify::tests::missing_message_rejected ... ok test cli::verify::tests::missing_signature_rejected ... ok test cli::verify::tests::parses_all_three ... ok test exit_status::tests::codes_match_documented_convention ... ok test http::tests::authority_credentials_are_refused_before_plain_http_io ... ok test http::tests::authority_retry_classification_separates_temporary_and_permanent_failures ... ok test http::tests::authority_redirect_stays_on_origin_or_upgrades_same_host ... ok test http::tests::certificate_hosts_reject_local_and_ambiguous_numeric_forms ... ok test http::tests::case_insensitive_header_names ... ok test http::tests::chunked_response_round_trips ... ok test http::tests::content_length_response_round_trips ... ok test http::tests::dnssec_bogus_proof_never_downgrades_to_system_resolution ... ok test http::tests::dnssec_secure_address_survives_bogus_other_family ... ok test http::tests::dnssec_secure_answers_are_preferred_over_unavailable_family ... ok test http::tests::dnssec_secure_ipv4_negative_blocks_unscoped_ipv6_fallback ... ok test http::tests::dnssec_secure_ipv6_negative_blocks_unscoped_ipv4_fallback ... ok test http::tests::dnssec_secure_negative_answers_do_not_fall_back ... ok test http::tests::dnssec_unsigned_or_indeterminate_chain_uses_one_fallback ... ok test http::tests::ipv4_policy_rejects_non_public_ranges ... ok test http::tests::ipv6_policy_classifies_embedded_and_local_addresses ... ok test http::tests::explicit_local_authority_keeps_platform_resolution ... ok test http::tests::rejects_404 ... ok test http::tests::rejects_oversized_content_length ... ok test http::tests::rejects_unknown_body_length ... ok test http::tests::single_label_authority_keeps_platform_search_domains ... ok test text::tests::base64_known_vectors ... ok test text::tests::base64_rejects_garbage ... ok test text::tests::pem_with_matching_label_decodes ... ok test text::tests::pem_with_wrong_label_rejected ... ok test text::tests::raw_der_passes_through ... ok test trust_roots::tests::lookup_by_fingerprint_round_trips ... ok test trust_roots::tests::pinned_der_fingerprints_match_pins ... ok test user_agent::tests::honest_carries_version_and_contact_url ... ok test user_agent::tests::browser_ua_set_on_is_iso_date ... ok test user_agent::tests::masquerade_looks_like_firefox ... ok test validation_material::tests::certificate_addresses_are_distinct_and_bounded ... ok test validation_material::tests::anchor_is_matched_by_exact_der_not_issuer_name ... ok test validation_material::tests::crl_requires_a_current_ordered_next_update ... ok test validation_material::tests::child_signature_is_verified_before_issuer_acceptance ... ok test validation_material::tests::empty_anchor_set_fails_before_path_or_network_work ... ok test validation_material::tests::empty_start_set_cannot_claim_lt ... ok test validation_material::tests::embedded_candidate_can_build_a_link_but_cannot_become_an_anchor ... ok test validation_material::tests::exact_non_self_signed_service_identity_can_be_an_anchor ... ok test validation_material::tests::issuer_must_be_valid_at_the_chain_reference_time ... ok test validation_material::tests::legacy_anchorless_entry_points_fail_closed ... ok test validation_material::tests::exact_anchor_extensions_are_not_treated_as_intermediate_policy ... ok test validation_material::tests::level_t_path_verification_needs_no_revocation_answer ... ok test validation_material::tests::non_anchor_unknown_critical_extension_is_rejected ... ok test validation_material::tests::non_anchor_unknown_noncritical_extension_is_allowed ... ok test validation_material::tests::non_ca_ocsp_responder_cannot_issue_path_certificates ... ok test validation_material::tests::ocsp_freshness_is_bounded_even_without_next_update ... ok test validation_material::tests::self_issued_name_is_not_an_implicit_anchor ... ok test validation_material::tests::missing_revocation_evidence_fails_the_whole_chain ... ok test validation_material::tests::unsupported_ca_constraints_fail_closed_and_path_len_is_enforced ... ok test validation_material::tests::timestamp_path_can_retain_its_exact_policy_anchor ... ok test validation_material::tests::walk_guard_rejects_cycles_and_excessive_depth ... ok test verify::tests::ec_cert_is_rejected_as_not_rsa ... ok test verify::tests::error_display_includes_paths ... ok test verify::tests::garbage_cert_is_a_cert_decode_error ... ok test verify::tests::missing_cert_is_a_cert_read_error ... ok test verify::tests::missing_message_and_signature_files_map_to_their_errors ... ok test verify::tests::report_display_ok_and_failed_branches ... ok test verify::tests::tampered_signature_reports_not_ok_without_erroring ... ok test verify::tests::valid_self_signature_verifies_ok ... ok test validation_material::tests::verified_link_reaches_only_the_explicit_anchor ... ok test result: ok. 300 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 3.99s Running unittests src/bin/refineid.rs (target/debug/deps/refineid-6a3b1321da8c5d1b) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/main.rs (target/debug/deps/refineid_gui-ff8a7482a0730e2f) running 30 tests test tests::a_batch_reports_what_was_signed_and_what_was_not ... ok test tests::a_containers_written_name_gets_the_instant_appended ... ok test tests::accepts_nontrivial_new_pins ... ok test tests::accepts_only_eight_to_twelve_digit_puks ... ok test tests::card_manager_reserves_two_pin_attempts_for_expert_recovery ... ok test tests::factory_activation_hides_individual_recovery ... ok test tests::documents_are_listed_by_name_alone ... ok test tests::factory_locked_legacy_pin1_requires_full_activation ... ok test tests::keeps_an_eight_digit_puk ... ok test tests::only_a_pdf_extension_offers_the_pades_shape ... ok test tests::permits_replacing_an_existing_weak_pin ... ok test tests::personalized_locked_legacy_pin1_uses_pin1_only_recovery ... ok test tests::presence_wait_parks_long_enough_to_be_event_driven ... ok test tests::preserves_an_invalid_puk_for_local_rejection ... ok test tests::queued_empty_recovery_submission_is_locally_rejected ... ok test tests::reader_name_drops_the_repeated_bracket_and_zero_indices ... ok test tests::reader_name_keeps_an_informative_bracket_and_distinguishing_indices ... ok test tests::recovery_displays_the_live_puk_retry_counter ... ok test tests::recovery_exposes_only_the_locked_pin ... ok test tests::rejects_weak_new_pins_before_card_access ... ok test tests::reports_replacement_pin_length_mismatch ... ok test tests::reports_replacement_pin_below_role_minimum ... ok test tests::several_pdfs_are_still_signed_one_by_one ... ok test tests::signed_container_is_named_asice_whatever_the_source_was ... ok test tests::signed_pdf_keeps_the_source_name_without_overwriting_it ... ok test tests::signing_can_is_optional_but_strict_when_present ... ok test tests::timestamp_credentials_require_both_gui_fields ... ok test tests::timestamp_authority_keeps_scheme_separate_from_host_and_path ... ok test tests::uncertain_legacy_pin_state_never_forces_both_pin_replacements ... ok test tests::zero_attempt_pin_slots_remain_available_for_puk_recovery ... ok test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (target/debug/deps/refineid_lib_core-1b203b8448d1f959) running 824 tests test aa::tests::aa_error_display_arms ... ok test aa::tests::rsa_verify_error_maps_to_signature_invalid ... ok test aa::tests::card_rejected_surfaces_status_word ... ok test aa::tests::signature_invalid_on_malformed_body ... ok test aa::tests::transport_error_aborts_round_trip ... ok test aa::tests::signature_invalid_on_challenge_mismatch ... ok test aa::tests::verified_round_trip_sha1_implicit_trailer ... ok test aa::tests::verified_round_trip_sha256 ... ok test apdu::iso7816::tests::absolute_path_rejects_empty ... ok test apdu::iso7816::tests::absolute_path_rejects_mf_prefix ... ok test apdu::iso7816::tests::direct_offset15_accepts_boundary_values ... ok test apdu::iso7816::tests::direct_offset15_rejects_above_15_bit_cap ... ok test apdu::iso7816::tests::get_response_secure_messaging ... ok test apdu::iso7816::tests::get_response_serialises_per_fineid_s1_table ... ok test apdu::iso7816::tests::read_binary_by_offset_serialises_correctly ... ok test apdu::iso7816::tests::read_binary_by_sfi ... ok test apdu::iso7816::tests::read_binary_by_sfi_serialises_correctly ... ok test apdu::iso7816::tests::read_binary_direct_offset ... ok test apdu::iso7816::tests::select_by_aid_serialises_correctly ... ok test apdu::iso7816::tests::select_by_aid_with_fci_secure_messaging_cla ... ok test apdu::iso7816::tests::select_by_aid_with_fci_serialises_per_fineid_s1_table_2 ... ok test apdu::iso7816::tests::select_ef_serialises_correctly ... ok test apdu::iso7816::tests::select_file_p1_absolute_path ... ok test apdu::iso7816::tests::select_file_p1_any_by_fid_with_fci ... ok test apdu::iso7816::tests::select_file_p1_any_empty_data_selects_mf ... ok test apdu::iso7816::tests::select_file_p1_by_name_with_fcp ... ok test apdu::iso7816::tests::select_file_p1_ef_under_current_df ... ok test apdu::primitives::tests::aid_accepts_valid_length ... ok test apdu::primitives::tests::aid_rejects_too_long ... ok test apdu::primitives::tests::aid_rejects_too_short ... ok test apdu::primitives::tests::sfi_accepts_valid_range ... ok test apdu::primitives::tests::sfi_rejects_zero_and_overflow ... ok test apdu::status_word::tests::display_includes_raw_hex_and_human_label ... ok test apdu::status_word::tests::every_named_variant_round_trips_through_u16 ... ok test apdu::status_word::tests::from_bytes_matches_from_u16 ... ok test apdu::status_word::tests::pin_counter_low_nibble_zero_is_distinct_from_authentication_blocked ... ok test apdu::status_word::tests::pin_incorrect_carries_retries ... ok test apdu::status_word::tests::pin_retries_rejects_out_of_nibble_range ... ok test apdu::status_word::tests::success_round_trips ... ok test apdu::status_word::tests::unknown_sw_falls_through_to_other ... ok test atr::tests::minimal_atr_ts_t0_only ... ok test atr::tests::parses_gemalto_multiapp_v4_2 ... ok test atr::tests::parses_thales_multiapp_v5_0_compact_tlv_entries ... ok test atr::tests::rejects_invalid_convention ... ok test atr::tests::rejects_too_long ... ok test atr::tests::rejects_too_short ... ok test atr::tests::ta1_decodes_iso_physical_values ... ok test atr::tests::td1_t1_protocol_requires_tck ... ok test atr::tests::typed_data_objects_decode_fineid_historical_bytes ... ok test auth::commands::tests::changed_flag_absent_returns_none ... ok test auth::commands::tests::changed_flag_empty_body_returns_none ... ok test auth::commands::tests::changed_flag_extracts_false ... ok test auth::commands::tests::changed_flag_extracts_true ... ok test auth::commands::tests::get_pin_info_pin1_apdu_wire_shape ... ok test auth::commands::tests::get_pin_info_pin2_apdu_wire_shape ... ok test auth::commands::tests::get_puk_info_apdu_wire_shape ... ok test auth::commands::tests::pin_info_extracts_no_limit_policy_counters ... ok test auth::commands::tests::pin_info_extracts_try_counter ... ok test auth::commands::tests::pin_info_rejects_invalid_unblocking_counter ... ok test auth::tests::change_pin1_accepts_weak_new_pin ... ok test auth::tests::change_pin1_apdu_layout_4_to_4_digit ... ok test auth::tests::change_pin1_wrong_current_classified ... ok test auth::tests::change_pin_sw_classification ... ok test auth::tests::locked_sw_classified ... ok test auth::tests::organizational_change_sends_bare_concatenation ... ok test auth::tests::organizational_pin1_verify_sends_typed_length ... ok test auth::tests::organizational_pin2_verify_sends_typed_length ... ok test auth::tests::organizational_puk_probe_reads_retry_counter ... ok test auth::tests::organizational_unblock_stops_on_wrong_code ... ok test auth::tests::organizational_unblock_verifies_puk_then_resets ... ok test auth::tests::other_sw_passes_through ... ok test auth::tests::pin1_padded_to_stored_length ... ok test auth::tests::pin2_below_role_minimum_rejected_locally ... ok test auth::tests::pin2_uses_reference_82 ... ok test auth::tests::pin_policy_reason_debug_does_not_leak_candidate_length_or_offset ... ok test auth::tests::pin_policy_reason_display_is_always_shape_only ... ok test auth::tests::pin_status_pin2_uses_reference_82 ... ok test auth::tests::pin_status_sends_empty_lc_verify ... ok test auth::tests::pin_status_sw_classification ... ok test auth::tests::pin_status_verified ... ok test auth::tests::puk_status_classifies_terminal_states ... ok test auth::tests::puk_status_probe_returns_counter_without_credential_data ... ok test auth::tests::reset_retry_sw_classification ... ok test auth::tests::resolve_scheme_defaults_to_citizen_when_neither_answers ... ok test auth::tests::resolve_scheme_finds_organizational_numbering ... ok test auth::tests::resolve_scheme_stops_at_citizen_when_reference_answers ... ok test auth::tests::unblock_pin1_apdu_layout_12puk_4pin ... ok test auth::tests::unblock_pin1_apdu_layout_8puk_4pin ... ok test auth::tests::unblock_pin1_seven_digit_activation_code_rejected_locally ... ok test auth::tests::unblock_pin1_short_puk_rejected_locally ... ok test auth::tests::unblock_pin1_wrong_puk_classified ... ok test auth::tests::wrong_pin_with_retries_classified ... ok test backend::tests::ambiguous_and_remaining_displays_render ... ok test backend::tests::empty_filter_with_one_card_returns_it ... ok test backend::tests::empty_filter_with_two_cards_is_ambiguous ... ok test backend::tests::empty_slot_alongside_one_card_picks_the_card ... ok test backend::tests::enumerate_error_maps_to_no_readers ... ok test backend::tests::filter_ignores_empty_slots ... ok test backend::tests::filter_is_case_sensitive ... ok test backend::tests::filter_matches_interior_substring ... ok test backend::tests::filter_strings_render_with_debug_quoting ... ok test backend::tests::multiple_cards_ambiguous_filter_reports_matched_subset ... ok test backend::tests::multiple_cards_filter_matching_none_is_no_matching_reader ... ok test backend::tests::multiple_cards_filter_selecting_one_returns_it ... ok test backend::tests::multiple_cards_no_filter_refuses_and_lists_all ... ok test backend::tests::multiple_readers_display_is_actionable ... ok test backend::tests::no_card_present_short_circuits_before_filter ... ok test backend::tests::no_readers_connected_is_no_readers ... ok test backend::tests::reader_filter_roundtrips_and_borrows ... ok test backend::tests::reader_id_roundtrips ... ok test backend::tests::readers_present_but_no_card_is_no_card_present ... ok test backend::tests::single_card_matching_filter_returns_it ... ok test backend::tests::single_card_no_filter_returns_it ... ok test backend::tests::single_card_non_matching_filter_is_no_matching_reader ... ok test backend::tests::trait_method_matches_free_function ... ok test base64::tests::base64url_round_trip ... ok test base64::tests::encodes_every_octet_value ... ok test base64::tests::matches_rfc_4648_vectors ... ok test ber::tests::any_expect_rejects_mismatch ... ok test ber::tests::any_then_expect_round_trip ... ok test ber::tests::iter_children_walks_heterogeneous_tags ... ok test ber::tests::iter_remaining_after_drain ... ok test ber::tests::iterating_constructed_dynamic_authentication_data ... ok test ber::tests::long_form_four_byte_length_round_trip ... ok test ber::tests::long_form_four_byte_truncated_input_rejected ... ok test ber::tests::long_form_one_byte_length ... ok test ber::tests::long_form_three_byte_length_round_trip ... ok test ber::tests::long_form_three_byte_truncated_input_rejected ... ok test ber::tests::long_form_two_byte_length ... ok test ber::tests::rejects_length_form_above_0x84 ... ok test ber::tests::rejects_truncated_input ... ok test ber::tests::rejects_wrong_tag ... ok test ber::tests::short_form_length_round_trip ... ok test ber::tests::tag_constants_distinct ... ok test ber::tests::two_byte_tag_7f49 ... ok test ber::tests::typed_parse_matches_tag ... ok test ber::tests::typed_parse_rejects_wrong_tag ... ok test ber::tests::typed_parse_truncated_propagates ... ok test ca::tests::ca_error_display_arms ... ok test ca::tests::decode_brainpool_p384_point_accepts_generator ... ok test ca::tests::decode_brainpool_p384_point_rejects_bad_shape ... ok test aa::tests::verified_round_trip_sha384_and_sha512 ... ok test ca::tests::mse_rejected_surfaces_card_status ... ok test ca::tests::no_supported_protocol_when_dg14_lacks_ca ... ok test ca::tests::no_supported_protocol_when_public_key_missing ... ok test ca::tests::pick_protocol_none_for_unsupported_or_empty ... ok test ca::tests::pick_protocol_selects_aes256_ca ... ok test ca::tests::ga_rejected_surfaces_card_status ... ok test ca::tests::pick_public_key_none_when_absent_or_undecodable ... ok test ca::tests::random_scalar_is_nonzero_and_below_n ... ok test ca::tests::pick_public_key_decodes_brainpool_point ... ok test ca::tests::verification_failed_when_chip_key_mismatches_dg14 ... ok test can::tests::accepts_cans_with_some_zeros ... ok test can::tests::display_round_trips ... ok test can::tests::happy_path ... ok test can::tests::rejects_all_zeros ... ok test can::tests::rejects_dash ... ok test can::tests::rejects_empty ... ok test can::tests::rejects_letter ... ok test can::tests::rejects_too_long ... ok test can::tests::rejects_too_short ... ok test card::tests::enumerate_no_card_present ... ok test card::tests::enumerate_yields_readers ... ok test card::tests::open_passes_through_backend_error ... ok test card::tests::open_with_too_short_atr_errors ... ok test card::tests::open_yields_card_with_typed_atr ... ok test card::tests::untrusted_classify_model_recognises_in_scope_atr ... ok test card::tests::untrusted_classify_model_rejects_out_of_scope_atr ... ok test card::tests::untrusted_marker_is_zero_sized ... ok test card_access::tests::pace_parameter_label_pins_bsi_tr_03110_a_6_6_1_table ... ok test card_access::tests::parse_card_access_rejects_trailing_bytes_past_outer_tlv ... ok test card_access::tests::parses_pace_info ... ok test card_access::tests::parses_production_fineid_card_access_capture ... ok test card_access::tests::unsupported_protocol_oid_is_rejected_not_retained ... ok test card_access::tests::unsupported_sibling_is_skipped_without_retention ... ok test cert_state::tests::auth_purpose_matches_full_auth_pattern ... ok test cert_state::tests::auth_purpose_rejects_non_repudiation_pattern ... ok test cert_state::tests::auth_purpose_rejects_only_digital_signature ... ok test cert_state::tests::non_rep_purpose_matches_only_non_repudiation ... ok test cert_state::tests::non_rep_purpose_rejects_auth_pattern ... ok test cert_state::tests::non_rep_purpose_rejects_combined_bits ... ok test cert_state::tests::purposes_have_descriptive_labels ... ok test cms::tests::cms_error_display_strings ... ok test ca::tests::verified_on_full_round_trip ... ok test cms::tests::efsod_rejects_non_signeddata_contentinfo ... ok test cms::tests::hash_algorithm_digest_known_answers ... ok test cms::tests::hash_algorithm_from_oid_maps_sha2_only ... ok test cms::tests::hash_algorithm_label ... ok test cms::tests::lds_rejects_unsupported_hash_algorithm ... ok test cms::tests::owned_lds_security_object_rejects_garbage ... ok test cms::tests::owned_lds_security_object_roundtrips ... ok test cms::tests::owned_signed_data_rejects_garbage ... ok test cms::tests::owned_signed_data_roundtrips ... ok test cms::tests::parses_contentinfo_wrapped_rsa ... ok test cms::tests::parses_lds_security_object_directly ... ok test cms::tests::rejects_bytes_after_complete_cms_value ... ok test cms::tests::rejects_detached_signeddata ... ok test cms::tests::rejects_empty_input ... ok test cms::tests::rejects_empty_sequence ... ok test cms::tests::rejects_unknown_wrapper_tag ... ok test cms::tests::requires_exactly_one_signer_info ... ok test cms::tests::signed_attributes_require_unique_content_type_and_message_digest ... ok test cms::tests::signer_identifier_is_retained_for_certificate_selection ... ok test cms::tests::signer_info_without_signed_attrs ... ok test cms::tests::three_wrappings_decode_to_same_signeddata ... ok test cms::tests::verified_signed_data_exposes_lds_hashes ... ok test cms::tests::verified_signed_data_rejects_bad_signature ... ok test cms::tests::cms_error_display_wraps_crypto_errors ... ok test cms::tests::verify_rejects_mismatched_key_type ... ok test cms::tests::verify_rejects_signed_attributes_without_message_digest ... ok test cms::tests::verify_rejects_tampered_econtent ... ok test cms::tests::verify_rejects_unsupported_digest_algorithm ... ok test cms::tests::verify_rejects_unsupported_signature_algorithm ... ok test cms::tests::verify_ecdsa_with_signed_attrs ... ok test cms::tests::verify_rejects_wrong_rsa_key ... ok test cms::tests::verify_rsa_with_signed_attrs ... ok test cms::tests::verify_rsa_without_signed_attrs ... ok test country::tests::case_insensitive_construction ... ok test country::tests::finland_round_trip ... ok test country::tests::icao_rejects_digits ... ok test country::tests::icao_rejects_too_long ... ok test country::tests::icao_uppercases ... ok test country::tests::iso_rejects_digits ... ok test country::tests::iso_requires_exactly_two ... ok test country::tests::three_letter_drop_exceptions ... ok test country::tests::unknown_returns_none ... ok test crl::tests::crl_reason_renders_name_and_code ... ok test crl::tests::crl_sign_authorization_reaches_signature_verification ... ok test crl::tests::delta_and_scoped_crls_are_rejected_even_if_noncritical ... ok test crl::tests::duplicate_extension_oids_are_rejected ... ok test crl::tests::find_serial_returns_entry_when_present ... ok test crl::tests::find_serial_surfaces_superseded_reason ... ok test crl::tests::handles_crl_without_next_update ... ok test crl::tests::handles_empty_revocation_list ... ok test crl::tests::indirect_and_unknown_critical_entry_extensions_are_rejected ... ok test crl::tests::issuer_must_explicitly_authorize_crl_signing ... ok test crl::tests::outer_and_tbs_signature_algorithms_must_match ... ok test crl::tests::parses_crl_with_next_update_and_revoked_list ... ok test crl::tests::rejects_non_sequence_outer ... ok test crl::tests::trailing_bytes_are_rejected ... ok test crl::tests::unknown_critical_crl_extension_is_rejected ... ok test crl::tests::unknown_noncritical_crl_extension_is_ignored ... ok test crypto::brainpool_p384::tests::addition_matches_doubling ... ok test crypto::brainpool_p384::tests::curve_params_parse ... ok test crypto::brainpool_p384::tests::doubling_is_on_curve ... ok test crypto::brainpool_p384::tests::generator_is_on_curve ... ok test crypto::brainpool_p384::tests::generator_round_trips_through_sec1 ... ok test cms::tests::verify_rejects_wrong_ecdsa_key ... ok test crypto::brainpool_p384::tests::negation_is_involutive ... ok test crypto::brainpool_p384::tests::generator_times_n_is_infinity ... ok test crypto::brainpool_p384::tests::scalar_mul_one_is_identity ... ok test crypto::brainpool_p384::tests::scalar_mul_three_equals_double_plus_g ... ok test crypto::brainpool_p384::tests::scalar_mul_two_equals_double ... ok test crypto::container::tests::ciphertext_carries_algorithm_at_type_level ... ok test crypto::container::tests::mac_carries_algorithm_at_type_level ... ok test crypto::container::tests::nonce_length_is_part_of_the_type ... ok test crypto::container::tests::plaintext_carries_algorithm_at_type_level ... ok test crypto::container::tests::plaintext_debug_and_display_do_not_leak_bytes ... ok test crypto::container::tests::plaintext_display_does_not_leak_bytes ... ok test crypto::container::tests::signature_carries_algorithm ... ok test crypto::digest::tests::debug_names_the_algorithm ... ok test crypto::digest::tests::display_is_64_lowercase_hex_chars ... ok test crypto::digest::tests::equality_works ... ok test crypto::digest::tests::from_bytes_round_trip ... ok test crypto::digest::tests::known_vector_abc ... ok test crypto::digest::tests::known_vector_empty_input ... ok test crypto::digest::tests::sha1_known_vector_abc ... ok test crypto::digest::tests::sha224_known_vector_abc ... ok test crypto::digest::tests::sha384_known_vector_abc ... ok test crypto::digest::tests::sha512_known_vector_abc ... ok test crypto::ecdsa::tests::encode_der_integer_high_bit_set_pads_with_zero ... ok test crypto::ecdsa::tests::encode_der_integer_strips_leading_zeros ... ok test crypto::ecdsa::tests::encode_der_integer_zero_emits_single_byte ... ok test crypto::ecdsa::tests::encode_der_length_one_byte_long_form ... ok test crypto::ecdsa::tests::encode_der_length_short_form_under_128 ... ok test crypto::ecdsa::tests::encode_der_length_two_byte_long_form ... ok test crypto::ecdsa::tests::into_der_round_trips_through_parser ... ok test crypto::ecdsa::tests::xml_raw_signature_converts_to_der_components ... ok test crypto::ecdsa::tests::xml_raw_signature_rejects_missing_or_unequal_components ... ok test crypto::rsa::tests::e_65537_canonical_form ... ok test crypto::rsa::tests::fixed_sha256_pss_encoding_verifies_and_detects_tampering ... ok test crypto::rsa::tests::fixed_sha256_pss_rejects_other_salt_widths ... ok test crypto::rsa::tests::placeholder_signpost ... ok test crypto::rsa::tests::rejects_even_exponent_at_construction ... ok test crypto::rsa::tests::rejects_even_modulus_at_construction ... ok test crypto::rsa::tests::rejects_exponent_below_three_at_construction ... ok test crypto::rsa::tests::rejects_leading_zero_modulus ... ok test crypto::rsa::tests::rejects_oversized_exponent_at_construction ... ok test crypto::rsa::tests::rejects_signature_size_mismatch ... ok test crypto::rsa::tests::rejects_too_small_modulus_at_construction ... ok test crypto::symmetric::tests::aes256_cbc_roundtrip ... ok test crypto::symmetric::tests::aes256_cmac_rfc4493_example_4_empty ... ok test crypto::symmetric::tests::aes256_cmac_rfc4493_example_4_one_block ... ok test crypto::symmetric::tests::aes256_ecb_known_vector ... ok test crypto::symmetric::tests::from_bytes_rejects_sentinel_keys ... ok test crypto::symmetric::tests::kdf_distinguishes_counters ... ok test emrtd::tests::decode_outer_total_length_long_form ... ok test emrtd::tests::decode_outer_total_length_short_form ... ok test emrtd::tests::decode_outer_total_length_two_byte_tag ... ok test emrtd::tests::extract_document_image_finds_jpeg ... ok test emrtd::tests::extract_document_image_finds_jpeg2000 ... ok test emrtd::tests::extract_document_image_returns_none_on_pure_random_bytes ... ok test emrtd::tests::extract_mrz_from_synthetic_dg1 ... ok test emrtd::tests::extract_mrz_with_long_form_length ... ok test emrtd::tests::parse_td1_male_finnish_shaped ... ok test emrtd::tests::parse_td1_rejects_wrong_length ... ok test emrtd::tests::parse_td1_strips_line_breaks ... ok test emrtd::tests::parse_td1_unspecified_sex ... ok test emrtd::tests::parse_td1_wikipedia_fixture ... ok test emrtd::tests::sfi_p1_encoding ... ok test events::tests::event_name_accepts_deep_namespace ... ok test events::tests::event_name_accepts_digits_and_underscores ... ok test events::tests::event_name_accepts_valid_dotted_namespace ... ok test events::tests::event_record_is_object_safe ... ok test events::tests::field_name_accepts_valid_identifier ... ok test events::tests::field_name_accepts_with_underscores_and_digits ... ok test events::tests::json_escape_basic_pass_through ... ok test events::tests::json_escape_control_characters ... ok test events::tests::json_escape_other_control_uses_u_hex ... ok test events::tests::json_escape_quote_and_backslash ... ok test events::tests::json_escape_utf8_pass_through ... ok test events::tests::log_sink_is_object_safe ... ok test events::tests::null_sink_drops_silently ... ok test events::tests::persistence_canonical_strings ... ok test events::tests::severity_canonical_strings ... ok test events::tests::severity_priority_matches_rfc_5424 ... ok test events::tests::stderr_sink_canonical_wire_form ... ok test events::tests::stderr_sink_escapes_special_characters_in_values ... ok test events::tests::stderr_sink_redacts_private_fields ... ok test fineid_card::tests::all_known_covers_two_in_scope_models ... ok test fineid_card::tests::atr_accepts_minimum_window ... ok test fineid_card::tests::atr_display_is_space_separated_uppercase_hex ... ok test fineid_card::tests::atr_rejects_too_long ... ok test fineid_card::tests::atr_rejects_too_short ... ok test fineid_card::tests::ats_rejects_empty ... ok test fineid_card::tests::ats_rejects_too_long ... ok test fineid_card::tests::card_type_all_dvv_labels ... ok test fineid_card::tests::card_vendor_all_dvv_labels ... ok test fineid_card::tests::classify_is_generation_stable_across_chip_revisions ... ok test fineid_card::tests::classify_rejects_expired_v3_0_generation ... ok test fineid_card::tests::classify_rejects_non_fineid_markers ... ok test fineid_card::tests::dvv_contact_atrs_are_in_iso7816_window ... ok test fineid_card::tests::dvv_gemalto_multiapp_v4_2_atr_classifies ... ok test fineid_card::tests::every_known_thales_multiapp_v5_atr_classifies ... ok test fineid_card::tests::fineid_pre_issuing_extracts_named_fields ... ok test fineid_card::tests::out_of_scope_gemalto_v3_0_atr_is_rejected ... ok test fineid_card::tests::social_welfare_atr_is_rejected_in_citizen_classifier ... ok test fineid_card::tests::wire_strings_gemalto_multiapp_v4_2 ... ok test fineid_card::tests::wire_strings_thales_multiapp_v5 ... ok test icao_pkd::tests::ml_oid_encoding ... ok test identity::tests::additional_name_accepts_native_form ... ok test identity::tests::cert_serial_empty_bytes_render_empty_string ... ok test identity::tests::cert_serial_renders_lowercase_hex_no_separators ... ok test identity::tests::cert_serial_round_trips_bytes ... ok test identity::tests::common_name_accepts_non_empty ... ok test identity::tests::common_name_rejects_empty ... ok test identity::tests::cross_role_equality_via_semantic_projection ... ok test identity::tests::custody_information_round_trips ... ok test identity::tests::date_of_birth_constructs_and_displays ... ok test identity::tests::date_of_birth_parses_yyyymmdd_wire_form ... ok test identity::tests::date_of_birth_propagates_iso8601_error_for_bad_input ... ok test identity::tests::derive_printed_exact_nine_ascii_returns_whole_input ... ok test identity::tests::derive_printed_rejects_unknown_shapes ... ok test identity::tests::derive_printed_v3_1_takes_middle_nine ... ok test identity::tests::derive_printed_v4_ascii_takes_last_nine ... ok test identity::tests::dg11_full_name_falls_back_to_whitespace_last_token_surname ... ok test identity::tests::dg11_full_name_single_token_yields_none ... ok test identity::tests::dg11_full_name_splits_double_filler ... ok test identity::tests::display_empty_when_all_none ... ok test identity::tests::display_handles_multi_given_names ... ok test identity::tests::display_omits_serial_when_printed_none ... ok test identity::tests::display_prefers_printed_serial_when_both_present ... ok test identity::tests::display_skips_none_fields ... ok test identity::tests::email_accepts_plus_addressing ... ok test identity::tests::email_accepts_simple_address ... ok test identity::tests::email_accepts_subdomains ... ok test identity::tests::email_partial_eq_against_str ... ok test identity::tests::email_rejects_empty ... ok test identity::tests::email_rejects_empty_domain ... ok test identity::tests::email_rejects_empty_local ... ok test identity::tests::email_rejects_multiple_ats ... ok test identity::tests::email_rejects_no_at ... ok test identity::tests::email_rejects_too_long ... ok test identity::tests::email_rejects_whitespace ... ok test identity::tests::emrtd_consistency_flags_dg11_surname_mismatch ... ok test identity::tests::emrtd_consistency_flags_dob_mismatch ... ok test identity::tests::emrtd_consistency_flags_mrz_transliteration_mismatch ... ok test identity::tests::emrtd_consistency_handles_three_given_names ... ok test identity::tests::emrtd_consistency_none_when_sources_absent ... ok test identity::tests::emrtd_consistency_ok_across_all_three_sources ... ok test identity::tests::endorsements_round_trips ... ok test identity::tests::first_name_accepts_native_form ... ok test identity::tests::first_name_rejects_empty ... ok test identity::tests::first_name_to_native_renders_titlecase ... ok test identity::tests::free_text_rejects_over_max ... ok test identity::tests::issue_date_round_trips_from_yyyymmdd ... ok test identity::tests::issuing_authority_round_trips ... ok test identity::tests::kv_string_emits_additional_names_with_indexed_keys ... ok test identity::tests::kv_string_emits_full_set ... ok test identity::tests::kv_string_skips_none_fields ... ok test identity::tests::mrz_date_displays_iso_8601_form ... ok test identity::tests::mrz_date_parses_yymmdd_with_50_50_century ... ok test identity::tests::mrz_date_rejects_bad_input ... ok test identity::tests::mrz_given_name_accepts_inner_filler ... ok test identity::tests::mrz_given_name_rejects_empty ... ok test identity::tests::mrz_name_rejects_too_long ... ok test identity::tests::mrz_surname_accepts_filler ... ok test identity::tests::mrz_surname_accepts_transliterated ... ok test identity::tests::mrz_surname_rejects_diacritic ... ok test identity::tests::mrz_surname_rejects_digit ... ok test identity::tests::mrz_surname_rejects_lowercase ... ok test identity::tests::mrz_surname_spaced_strips_trailing_and_converts_inner ... ok test identity::tests::names_preserve_latin_extended_diacritics ... ok test identity::tests::native_name_already_titlecased_round_trips ... ok test identity::tests::native_name_preserves_unicode_diacritics ... ok test identity::tests::native_name_rejects_empty ... ok test identity::tests::native_name_title_cases_hyphenated_segments_independently ... ok test identity::tests::native_name_title_cases_single_segment ... ok test identity::tests::native_name_title_cases_whitespace_segments_independently ... ok test identity::tests::other_name_round_trips ... ok test identity::tests::other_person_round_trips ... ok test identity::tests::other_td_number_round_trips ... ok test identity::tests::permanent_address_round_trips ... ok test identity::tests::personal_number_round_trips ... ok test identity::tests::personal_summary_accepts_long_text ... ok test identity::tests::personalisation_device_serial_round_trips ... ok test identity::tests::peuin_accepts_digit_checksum ... ok test identity::tests::peuin_accepts_eight_digits_plus_alpha_checksum ... ok test identity::tests::peuin_displays_as_str ... ok test identity::tests::peuin_partial_eq_against_str ... ok test identity::tests::peuin_rejects_non_alphanumeric_checksum ... ok test identity::tests::peuin_rejects_non_digit_in_body ... ok test identity::tests::peuin_rejects_wrong_length ... ok test identity::tests::place_of_birth_carries_filler_separators ... ok test identity::tests::profession_distinct_type_from_title ... ok test identity::tests::prompt_label_drops_surname_wholesale_when_too_tight ... ok test identity::tests::prompt_label_empty_when_all_none ... ok test identity::tests::prompt_label_handles_missing_person ... ok test identity::tests::prompt_label_handles_missing_serial ... ok test identity::tests::prompt_label_prefers_printed_when_both_serials_set ... ok test identity::tests::prompt_label_serial_emitted_even_when_over_budget ... ok test identity::tests::prompt_label_serial_first ... ok test identity::tests::prompt_label_starts_empty_when_no_printed_serial ... ok test identity::tests::prompt_label_truncates_at_utf8_boundary ... ok test crypto::brainpool_p384::tests::scalar_mul_is_homomorphic ... ok test identity::tests::prompt_label_truncates_given_names_under_pressure ... ok test identity::tests::prompt_label_zero_budget_still_emits_serial ... ok test identity::tests::role_types_render_canonically ... ok test identity::tests::second_name_accepts_native_form ... ok test identity::tests::second_name_to_native_renders_titlecase ... ok test identity::tests::split_given_names_collapses_multiple_spaces ... ok test identity::tests::split_given_names_empty_input_yields_default ... ok test identity::tests::split_given_names_handles_four_names ... ok test identity::tests::split_given_names_handles_one_name ... ok test identity::tests::split_given_names_handles_two_names ... ok test identity::tests::split_given_names_keeps_hyphenated_name_in_one_slot ... ok test identity::tests::ssh_comment_empty_when_all_none ... ok test identity::tests::ssh_comment_omits_serial_when_only_full_known ... ok test identity::tests::ssh_comment_uses_printed_serial_only ... ok test identity::tests::ssh_comment_skips_none_fields ... ok test identity::tests::surname_accepts_non_empty ... ok test identity::tests::surname_rejects_empty ... ok test identity::tests::surname_rejects_too_long ... ok test identity::tests::surname_to_native_renders_titlecase ... ok test identity::tests::tax_exit_round_trips ... ok test identity::tests::telephone_round_trips ... ok test identity::tests::title_round_trips ... ok test identity::tests::token_serial_keeps_hex_when_bytes_are_binary ... ok test identity::tests::token_serial_prefers_ascii_when_printable ... ok test identity::tests::token_serial_rejects_odd_length_hex ... ok test identity::tests::transliterate_drops_apostrophe ... ok test identity::tests::transliterate_finnish_diacritics_to_mrz ... ok test identity::tests::transliterate_german_sharp_s ... ok test identity::tests::transliterate_given_names_handles_additional_slots ... ok test identity::tests::transliterate_given_names_joins_with_filler ... ok test identity::tests::transliterate_given_names_none_when_empty ... ok test identity::tests::transliterate_replaces_spaces_with_filler ... ok test identity::tests::transliterate_slavic_diacritics ... ok test identity::tests::transliterate_surname_round_trips_native_to_mrz ... ok test iso8601::tests::date_accepts_leap_day ... ok test iso8601::tests::date_constructs_in_range ... ok test iso8601::tests::date_iso_extended_rejects_wrong_separator ... ok test iso8601::tests::date_mrz_rejects_bad_month ... ok test iso8601::tests::date_mrz_rejects_non_digits ... ok test iso8601::tests::date_mrz_to_mrz_round_trips ... ok test iso8601::tests::date_parses_iso_extended_form ... ok test iso8601::tests::date_parses_mrz_yymmdd_with_50_50_split ... ok test iso8601::tests::date_parses_yyyymmdd ... ok test iso8601::tests::date_rejects_day_31_in_short_month ... ok test iso8601::tests::date_rejects_month_out_of_range ... ok test iso8601::tests::date_rejects_non_leap_feb_29 ... ok test iso8601::tests::date_rejects_year_out_of_range ... ok test iso8601::tests::date_yyyymmdd_rejects_non_digits ... ok test iso8601::tests::datetime_accepts_leap_second ... ok test iso8601::tests::datetime_constructs_and_renders_utc ... ok test iso8601::tests::datetime_rejects_hour_out_of_range ... ok test iso8601::tests::datetime_renders_minus_offset ... ok test iso8601::tests::datetime_renders_plus_offset ... ok test iso8601::tests::datetime_renders_unspecified_offset ... ok test iso8601::tests::iso8601_date_variant_round_trips ... ok test iso8601::tests::iso8601_datetime_variant_round_trips ... ok test iso8601::tests::time_offset_unspecified_is_distinct_from_utc ... ok test ldif::tests::case_insensitive_lookup ... ok test ldif::tests::decodes_base64_attribute ... ok test ldif::tests::handles_line_folding ... ok test ldif::tests::parses_minimal_record ... ok test ldif::tests::separates_records_on_blank_line ... ok test ldif::tests::skips_comments ... ok test ocsp::tests::a_built_request_parses_back_to_what_went_in ... ok test ocsp::tests::a_next_update_is_read_when_the_responder_gives_one ... ok test ocsp::tests::a_parsed_cert_id_re_encodes_to_the_same_bytes ... ok test ocsp::tests::a_real_delegated_responder_ships_its_own_certificate ... ok test ocsp::tests::a_real_responder_answer_parses_to_what_openssl_reads ... ok test ocsp::tests::a_request_without_a_nonce_names_no_nonce_extension ... ok test ocsp::tests::a_requested_nonce_comes_back_out_of_the_request ... ok test ocsp::tests::a_responder_id_before_produced_at_is_not_read_as_extensions ... ok test ocsp::tests::a_responder_nonce_is_read_back_from_the_response ... ok test ocsp::tests::by_key_responder_id_hashes_only_subject_public_key_bits ... ok test ocsp::tests::delegated_responder_profile_rejects_malformed_constraints_usage_and_eku ... ok test ocsp::tests::delegated_responder_profile_requires_one_noncritical_exact_no_check ... ok test ocsp::tests::duplicate_nonce_extensions_are_rejected ... ok test ocsp::tests::duplicate_single_response_cert_ids_are_rejected ... ok test ocsp::tests::missing_or_malformed_responder_id_is_rejected ... ok test ocsp::tests::parse_response_decodes_good_status ... ok test ocsp::tests::parse_response_decodes_revoked_status_with_reason ... ok test ocsp::tests::parse_response_decodes_unknown_status ... ok test ocsp::tests::parse_response_handles_try_later ... ok test ocsp::tests::a_large_unique_response_set_parses_without_pairwise_duplicate_scans ... ok test ocsp::tests::responder_id_prevents_embedded_certificate_substitution ... ok test ocsp::tests::successful_status_requires_response_bytes ... ok test ocsp::tests::top_level_trailing_fields_are_rejected ... ok test ocsp::tests::unknown_critical_response_extension_is_rejected ... ok test ocsp::tests::unknown_critical_single_extension_is_rejected ... ok test ocsp::tests::unknown_noncritical_response_extension_is_ignored ... ok test ocsp::tests::unsuccessful_status_rejects_response_bytes ... ok test oid::tests::accepts_three_arc_dn_oid ... ok test oid::tests::const_new_byte_equality ... ok test oid::tests::display_ad_ocsp ... ok test oid::tests::display_aia ... ok test oid::tests::display_basic_constraints ... ok test oid::tests::display_dn_common_name ... ok test oid::tests::display_dn_country_name ... ok test oid::tests::display_dn_given_name ... ok test oid::tests::display_ec_public_key ... ok test oid::tests::display_ecdsa_signature ... ok test oid::tests::display_icao_ml_signer ... ok test oid::tests::display_key_usage ... ok test oid::tests::display_rsa_encryption ... ok test oid::tests::display_rsa_signature ... ok test oid::tests::display_secp256r1 ... ok test ocsp::tests::real_responder_id_selects_the_certificate_that_signed ... ok test oid::tests::display_secp384r1 ... ok test oid::tests::partialeq_against_byte_slice ... ok test oid::tests::rejects_empty ... ok test oid::tests::rejects_unterminated_arc ... ok test pace::commands::tests::general_authenticate_chained_sets_cla_0x10 ... ok test pace::commands::tests::general_authenticate_final_uses_cla_0x00 ... ok test pace::commands::tests::mse_set_at_round_trips ... ok test pace::tests::auth_token_input_layout ... ok test pace::tests::mse_set_at_payload_layout ... ok test pace::tests::pace_oid_length ... ok test pace::tests::random_scalar_in_range ... ok test pace::tests::scalar_from_nonce_zero_pad_be ... ok test pace::tests::step_5_rejects_bad_card_tag ... ok test pin::tests::activation_code_debug_redacts_and_labels_variant ... ok test pin::tests::activation_code_eight_variant ... ok test pin::tests::activation_code_seven_variant ... ok test pin::tests::activation_pin_eight_accepts_eight_digits ... ok test pin::tests::activation_pin_eight_debug_redacts ... ok test pin::tests::activation_pin_eight_rejects_seven_digits ... ok test pin::tests::activation_pin_seven_accepts_seven_digits ... ok test pin::tests::activation_pin_seven_debug_redacts ... ok test pin::tests::activation_pin_seven_rejects_eight_digits ... ok test pin::tests::as_bytes_returns_input ... ok test pin::tests::debug_does_not_leak_bytes ... ok test pin::tests::len_tracks_inner ... ok test pin::tests::pin_bytes_rejects_letter_before_puk_construction ... ok test pin::tests::pin_role_error_debug_does_not_leak_candidate_length_or_offset ... ok test pin::tests::pin_role_error_display_is_always_shape_only ... ok test pin::tests::puk_accepts_eight_digits ... ok test pin::tests::puk_accepts_twelve_digits ... ok test pin::tests::puk_debug_redacts ... ok test pin::tests::puk_rejects_lengths_below_eight ... ok test pin::tests::rejects_empty_short_and_long_inputs ... ok test pin::tests::rejects_non_digit_input ... ok test pin_cache::tests::checkout_drop_does_not_restore_entry ... ok test pin_cache::tests::clearing_pin2_prevents_checked_out_entry_resurrection ... ok test pin_cache::tests::clearing_positive_preserves_negative_memory ... ok test pin_cache::tests::invalidation_prevents_checked_out_entry_resurrection ... ok test pin_cache::tests::one_shot_pin1_is_destroyed_after_successful_checkout ... ok test pin_cache::tests::pin1_event_does_not_disturb_a_cached_pin2 ... ok test pin_cache::tests::pin2_is_reusable_within_its_window_then_expires_from_entry ... ok test pin_cache::tests::pin2_serial_mismatch_destroys_positive_entry ... ok test pin_cache::tests::pin2_window_is_not_extended_by_use ... ok test pin_cache::tests::positive_pin1_expires_at_its_lifetime ... ok test pin_cache::tests::rejected_pin1_cannot_reenter_positive_cache ... ok test pin_cache::tests::rejected_pin2_cannot_enter_positive_cache ... ok test pin_cache::tests::rejection_is_bound_to_full_serial ... ok test pin_cache::tests::rejection_is_bound_to_slot_and_value ... ok test pin_cache::tests::serial_mismatch_destroys_positive_entry ... ok test pin_cache::tests::successful_use_refreshes_idle_timeout ... ok test pin_cache::tests::unused_one_shot_pin1_expires_after_thirty_seconds ... ok test pin_retry_risk::tests::consumer_pin1_authentication_depends_only_on_pin1_retry_floor ... ok test pin_retry_risk::tests::five_attempt_risk_ladder_is_total_and_ordered ... ok test pin_retry_risk::tests::floors_block_only_one_and_two_attempts ... ok test pin_retry_risk::tests::reusable_pin1_cache_requires_only_pin1_at_five ... ok test pkcs15::tests::contactless_pick_ambiguity_follows_the_contact_rules ... ok test pkcs15::tests::contactless_pick_selects_the_card_access_server ... ok test pkcs15::tests::contactless_pick_without_servers_is_no_fineid_card ... ok test pkcs15::tests::parse_fci_file_size_finds_80_do ... ok test pkcs15::tests::pkcs15_aid_is_ascii_pkcs_15_with_prefix ... ok test pkcs15::tests::read_authentication_certificate_drives_full_sequence ... ok test pkcs15::tests::read_binary_concatenates_until_short_response ... ok test pkcs15::tests::read_binary_handles_eof_marker ... ok test pkcs15::tests::read_binary_propagates_card_error ... ok test pkcs15::tests::read_binary_with_known_size_uses_exact_le_for_tail ... ok test pkcs15::tests::read_der_object_discards_padding_from_first_chunk ... ok test pkcs15::tests::read_der_object_pins_the_final_chunk_to_declared_length ... ok test pkcs15::tests::select_ef_apdu_layout ... ok test pkcs15::tests::select_ef_falls_back_to_any_file_by_id ... ok test pkcs15::tests::select_pkcs15_application_apdu_layout ... ok test rapp::conformance_tests::test_cbor_primitives_deterministic ... ok test rapp::conformance_tests::test_pairing_offer_uri_roundtrip ... ok test rapp::conformance_tests::test_request_hash_conformance ... ok test rapp::conformance_tests::test_stream_rendezvous_encoding ... ok test rapp::conformance_tests::test_synthetic_pairing_and_operation_roundtrip ... ok test rapp::session::live_tests::test_live_browser_authenticate ... ignored test rapp::session::live_tests::test_live_session_operation ... ignored test rapp::wire::tests::deterministic_cbor_primitives ... ok test rapp::wire::tests::round_trip_map_sorting ... ok test revocation::tests::cache_misses_unknown_cert ... ok test revocation::tests::cache_serves_fresh_good_misses_stale_good ... ok test revocation::tests::cache_serves_revoked_even_when_stale ... ok test revocation::tests::crl_good_when_serial_not_present ... ok test revocation::tests::crl_inapplicable_when_issuer_mismatch ... ok test revocation::tests::crl_revoked_when_serial_present ... ok test revocation::tests::crl_stale_when_now_past_next_update ... ok test revocation::tests::evidence_from_verified_crl_carries_status_source ... ok test revocation::tests::evidence_from_verified_ocsp_carries_status_source_window ... ok test revocation::tests::ocsp_good_translates ... ok test revocation::tests::ocsp_inapplicable_when_serial_not_in_response ... ok test revocation::tests::ocsp_revoked_translates ... ok test revocation::tests::ocsp_same_serial_under_different_issuer_hash_is_inapplicable ... ok test revocation::tests::ocsp_stale_when_now_past_next_update ... ok test revocation::tests::ocsp_unknown_translates ... ok test revocation::tests::try_later_response_has_no_verifiable_body ... ok test secure_messaging::tests::decode_short_apdu_all_four_cases ... ok test secure_messaging::tests::iso7816_4_pad_round_trips ... ok test secure_messaging::tests::protected_body_is_unwrapped_despite_outer_warning ... ok test secure_messaging::tests::ssc_increments_by_one_with_rollover ... ok test secure_messaging::tests::unwrap_rejects_mac_mismatch ... ok test secure_messaging::tests::wrap_unwrap_round_trip_with_shared_keys ... ok test sign::asic::tests::crc32_matches_the_known_check_value ... ok test sign::asic::tests::every_expected_entry_is_present ... ok test sign::asic::tests::media_types_are_escaped_but_not_encoded ... ok test sign::asic::tests::mimetype_is_first_and_stored_at_a_fixed_offset ... ok test sign::asic::tests::names_are_percent_encoded_before_xml_escaping ... ok test sign::asic::tests::the_manifest_carries_a_digest_of_every_object ... ok test sign::asic::tests::too_many_entries_are_refused_before_the_count_wraps ... ok test sign::asic::unzip_interop::unzip_reads_and_verifies_the_container ... ignored, requires the unzip binary test sign::cades::openssl_interop::openssl_verifies_a_detached_signature ... ignored, requires the openssl binary test sign::cades::openssl_interop::openssl_verifies_an_attached_signature ... ignored, requires the openssl binary test sign::cades::tests::an_ocsp_response_is_tagged_implicitly_not_wrapped ... ok test sign::cades::tests::attributes_are_in_der_set_order ... ok test sign::cades::tests::detached_omits_econtent_and_attached_carries_it ... ok test sign::cades::tests::omitting_signing_time_drops_the_attribute ... ok test sign::cades::tests::raw_ecdsa_becomes_der_and_back ... ok test sign::cades::tests::signs_the_set_form_not_the_context_form ... ok test sign::commands::tests::external_hash_value_length_bytes_match_spec_3_7_2_3_table ... ok test sign::commands::tests::hash_block_rejects_over_128_bytes ... ok test sign::commands::tests::intermediate_hash_state_xx_bytes_match_spec_table_10 ... ok test sign::commands::tests::mse_set_chained_first_class_carries_10h ... ok test sign::commands::tests::mse_set_ct_elc_omits_alg_ref_crdo_per_table_5_b8_elc_row ... ok test sign::commands::tests::mse_set_ct_rsa_serialises_per_table_5_b8_rsa_row ... ok test sign::commands::tests::mse_set_dst_serialises_per_table_5_dst_row ... ok test sign::commands::tests::mse_set_hashing_template_uses_aa_p2_and_alg_crdo_only ... ok test sign::commands::tests::pso_cds_secure_messaging_class_carries_0c ... ok test sign::commands::tests::pso_cds_serialises_per_spec_3_8_2 ... ok test sign::commands::tests::pso_hash_entirely_by_card_final_wraps_block_in_80_l_tlv ... ok test sign::commands::tests::pso_hash_entirely_by_card_non_final_uses_p2_80_and_raw_block ... ok test sign::commands::tests::pso_hash_external_sha256_serialises_per_spec_3_7_2_3 ... ok test sign::commands::tests::pso_hash_partially_by_card_carries_two_concatenated_tlvs ... ok test sign::commands::tests::signature_alg_ref_sha256_rsa_pkcs1_is_42h ... ok test sign::document::interop::openssl_verifies_a_routed_cades ... ignored, requires the openssl binary test sign::document::interop::xmlsec1_verifies_a_routed_container ... ignored, requires the openssl, xmlsec1 and unzip binaries test sign::document::tests::a_pades_signature_carries_no_signing_time_attribute ... ok test sign::document::tests::a_repeated_token_is_collapsed ... ok test sign::document::tests::a_timestamp_rides_outside_the_signed_attributes ... ok test sign::document::tests::container_formats_refuse_ambiguous_object_names ... ok test sign::document::tests::each_format_produces_its_own_shape ... ok test sign::document::tests::ecdsa_is_re_encoded_only_where_cms_needs_it ... ok test sign::document::tests::every_format_plans_and_finishes ... ok test sign::document::tests::harmless_dots_inside_a_path_component_are_allowed ... ok test sign::document::tests::one_file_formats_refuse_a_set ... ok test sign::document::tests::pades_puts_the_signing_time_in_the_pdf_not_the_attributes ... ok test sign::document::tests::several_timestamps_each_get_their_own_attribute ... ok test sign::document::tests::the_cms_formats_keep_the_signing_time_attribute ... ok test sign::document::tests::xades_timestamps_the_element_not_the_octets ... ok test sign::pades::appearance::tests::blank_image_has_no_handwriting ... ok test sign::pades::appearance::tests::mark_contains_line_name_and_identifier ... ok test sign::pades::appearance::tests::mark_is_tilted_like_a_hand_stamp ... ok test sign::pades::appearance::tests::rgba_trace_keeps_only_dark_opaque_runs ... ok test sign::pades::pdfsig_interop::pdfsig_accepts_a_signed_document ... ignored, requires openssl and pdfsig (poppler) test sign::pades::spot::tests::a_blank_page_offers_the_lower_right_corner ... ok test sign::pades::spot::tests::a_crowded_page_shrinks_the_mark_before_giving_up ... ok test sign::pades::spot::tests::a_page_with_no_room_yields_nothing ... ok test sign::pades::spot::tests::a_placed_image_is_occupied ... ok test sign::pades::spot::tests::a_white_background_is_paper_not_ink ... ok test sign::pades::spot::tests::an_earlier_annotation_is_occupied ... ok test sign::pades::spot::tests::an_inline_image_abandons_the_search ... ok test sign::pades::spot::tests::an_unknown_filter_abandons_the_search ... ok test sign::pades::spot::tests::flate_compressed_content_is_read ... ok test sign::pades::spot::tests::ink_along_the_foot_moves_the_mark_up ... ok test sign::pades::spot::tests::text_is_avoided_with_width_to_spare ... ok test sign::pades::tests::a_direct_dss_is_promoted_and_merged ... ok test sign::pades::tests::a_document_without_a_form_gains_one ... ok test sign::pades::tests::a_preexisting_field_name_collision_is_disambiguated ... ok test sign::pades::tests::a_signature_that_does_not_fit_is_refused ... ok test sign::pades::tests::an_indirect_acroform_is_followed_to_its_field_list ... ok test sign::pades::tests::an_indirect_field_array_is_followed_as_well ... ok test sign::pades::tests::an_overlong_fully_qualified_field_name_is_refused ... ok test sign::pades::tests::an_unreadable_existing_dss_array_is_refused ... ok test sign::pades::tests::annotations_are_added_to_whichever_shape_the_page_uses ... ok test sign::pades::tests::byte_range_covers_everything_except_the_signature ... ok test sign::pades::tests::dss_merge_is_token_aware_deduplicated_and_retains_extensions ... ok test sign::pades::tests::finishing_moves_nothing ... ok test pace::tests::step_5_round_trip_against_synthetic_peer ... ok test sign::pades::tests::flate_and_up_predictor_are_decoded ... ok test sign::pades::tests::its_own_stream_revision_can_be_extended ... ok test sign::pades::tests::last_reference_takes_the_reference_closest_to_the_end ... ok test sign::pades::tests::metadata_strings_are_escaped ... ok test sign::pades::tests::object_lookup_follows_xref_not_stream_text ... ok test sign::pades::tests::object_lookup_matches_whole_numbers_only ... ok test sign::pades::tests::refuses_what_is_not_a_pdf ... ok test sign::pades::tests::repeated_signatures_and_timestamps_have_unique_field_names ... ok test sign::pades::tests::retained_pdf_values_have_a_nesting_limit ... ok test sign::pades::tests::signs_behind_a_cross_reference_stream ... ok test sign::pades::tests::the_catalog_is_read_out_of_the_object_stream ... ok test sign::pades::tests::the_original_bytes_are_untouched ... ok test sign::pades::tests::the_stream_revision_is_closed_with_a_stream ... ok test sign::pades::tests::the_update_trailer_carries_id_and_info_forward ... ok test sign::pades::tests::the_validation_store_is_appended_behind_a_stream ... ok test sign::pades::tests::the_widget_is_attached_to_a_page ... ok test sign::pades::tests::visible_signature_is_the_widget_appearance ... ok test sign::pades::tests::visible_signature_lands_on_the_last_page ... ok test sign::tests::decrypt_chain_rsa_3072_uses_chained_pso_decipher ... ok test sign::tests::decrypt_mse_failure_surfaces_sw ... ok test sign::tests::decrypt_rejects_wrong_ciphertext_length ... ok test sign::tests::decrypt_rsa_pkcs1_targets_requested_key_ref ... ok test sign::tests::ecdsa_p256_chain_yields_64_byte_sig ... ok test sign::tests::ecdsa_p384_chain_wrong_length_surfaces_unexpected_length ... ok test sign::tests::ecdsa_p384_chain_yields_96_byte_signature ... ok test sign::tests::ecdsa_p384_sha1_chain_yields_96_byte_signature ... ok test sign::tests::ecdsa_p384_sha224_chain_yields_96_byte_signature ... ok test sign::tests::ecdsa_p384_sha512_chain_yields_96_byte_signature ... ok test sign::tests::full_chain_yields_signature ... ok test sign::tests::mse_failure_surfaces_sw ... ok test sign::tests::pso_cds_security_status_surfaces_sw ... ok test sign::tests::pso_cds_wrong_signature_length_surfaces_unexpected_length ... ok test sign::tests::pso_hash_failure_surfaces_sw ... ok test sign::tests::qualified_slot_uses_key_ref_02 ... ok test sign::tests::rsa_pkcs1_sha512_composes_algref_62 ... ok test sign::tests::rsa_pss_sha256_composes_algref_45 ... ok test sign::timestamp::tests::a_granted_response_must_carry_a_real_token ... ok test sign::timestamp::tests::a_high_nonce_stays_positive ... ok test sign::timestamp::tests::a_rejection_is_not_mistaken_for_a_token ... ok test sign::timestamp::tests::a_request_carries_the_digest_and_asks_for_the_certificate ... ok test sign::pades::tests::lt_evidence_precedes_and_is_covered_by_the_archive_timestamp ... ok test sign::timestamp::tests::response_and_tst_info_require_complete_der_consumption ... ok test sign::timestamp::tests::embedded_signer_and_intermediate_certificates_are_retained_once ... ok test sign::timestamp::tests::sid_must_select_one_distinct_embedded_certificate ... ok test sign::timestamp::tests::signed_ess_attribute_must_hash_the_selected_certificate ... ok test sign::timestamp::tests::returned_token_signature_sid_ess_profile_and_time_are_verified ... ok test sign::timestamp::tests::tsa_certificate_parser_rejects_unknown_critical_extensions ... ok test sign::timestamp::tests::tsa_profile_enforces_end_entity_key_purpose_usage_and_gen_time ... ok test sign::timestamp::tests::tsa_rfc822_name_comparison_is_validated_and_byte_exact ... ok test sign::timestamp::tests::tst_info_accepts_sectigo_explicit_false_without_weakening_certificates ... ok test sign::timestamp::tests::tst_info_is_parsed_for_imprint_algorithm_and_nonce ... ok test sign::timestamp::tests::tst_info_tsa_directory_name_is_exactly_bound_to_signer_subject ... ok test sign::timestamp::tests::unsupported_tst_info_tsa_general_name_fails_closed ... ok test sign::timestamp::tests::tampered_timestamp_signature_is_rejected ... ok test sign::validation::tests::empty_material_is_recognised_as_empty ... ok test sign::xades::tests::ecdsa_der_becomes_a_padded_coordinate_pair ... ok test sign::xades::tests::a_missing_signing_time_is_refused ... ok test sign::xades::tests::escaping_follows_the_canonicalisation_rules_not_the_xml_ones ... ok test sign::xades::tests::every_data_object_gets_a_reference_and_a_format ... ok test sign::xades::tests::the_document_embeds_the_signed_octets_unchanged ... ok test sign::xades::tests::the_signed_info_is_already_in_canonical_form ... ok test sign::xades::tests::the_signed_properties_declare_both_prefixes_where_they_are_used ... ok test sign::xades::xmlsec_interop::a_container_survives_unzip_and_verifies ... ignored, requires the xmlsec1, openssl and unzip binaries test sign::xades::xmlsec_interop::xmlsec1_verifies_the_signature ... ignored, requires the xmlsec1 and openssl binaries test text::prop_tests::parse_never_panics ... ok test text::tests::charset_members_admit_and_deny ... ok test text::tests::emoji_is_always_an_alien ... ok test text::tests::host_enforces_dns_limits ... ok test text::tests::host_length_boundary ... ok test text::tests::uri_deconstructs_all_components ... ok test text::tests::uri_join_resolves_redirects ... ok test text::tests::uri_multi_colon_authority_rejected ... ok test text::tests::uri_normalises_scheme_host_and_path ... ok test text::tests::uri_reconstructs_via_display ... ok test text::tests::uri_rejects_non_http_schemes ... ok test text::tests::uri_rejects_structural_faults ... ok test text::tests::uri_rejects_truncated_escape_at_end ... ok test text::tests::uri_round_trip_is_idempotent ... ok test transport::tests::apdu_response_status_helpers ... ok test transport::tests::mock_transport_drives_a_script ... ok test transport::tests::transport_outcome_preserves_fault_kind ... ok test trust_roots::tests::test_build_pkcs7_certs_bundle ... ok test trust_roots::tests::test_is_trusted_root_fallback ... ok test trust_roots::tests::test_root_certificates_empty ... ok test trust_roots::tests::test_root_certificates_with_certs ... ok test x509::tests::datetime_ordering_matches_lex_order ... ok test x509::tests::extracts_crl_distribution_urls ... ok test x509::tests::extracts_ocsp_urls ... ok test x509::tests::extracts_subject_alt_emails ... ok test x509::tests::parses_generalized_time ... ok test x509::tests::parses_minimal_v3_cert_without_extensions ... ok test x509::tests::path_constraints_accept_dvv_explicit_false_without_ca_authority ... ok test x509::tests::path_constraints_reject_noncanonical_true ... ok test x509::tests::path_constraints_reject_path_length_after_false ... ok test x509::tests::rejects_garbage_time ... ok test x509::tests::utc_time_yy_below_50_is_2000s ... ok test text::prop_tests::parse_display_round_trips ... ok test result: ok. 814 passed; 0 failed; 10 ignored; 0 measured; 0 filtered out; finished in 2.17s Running unittests src/lib.rs (target/debug/deps/refineid_lib_pcsc-e8e72bbf6190f770) running 21 tests test tests::bytes_available_61_multi_hop_chain_concatenates_in_order ... ok test tests::bytes_available_61_single_get_response_concatenates ... ok test tests::chain_exceeding_64_kib_ceiling_is_rejected ... ok test tests::chain_terminal_status_word_is_preserved ... ok test tests::hard_error_from_chain_transmit_propagates ... ok test tests::hard_error_from_first_transmit_propagates ... ok test tests::pcsc_error_display_arms ... ok test tests::non_9000_terminal_status_is_handed_back_verbatim ... ok test tests::pcsc_error_kind_classification ... ok test tests::pin_sequence_held_transaction_smoke ... ignored, requires a FINEID card present in a PC/SC reader test tests::second_wrong_le_is_terminal_after_one_retry ... ok test tests::pin1_unblock_6c_is_one_physical_transmit ... ok test tests::short_chain_response_maps_to_protocol_desync ... ok test tests::short_first_response_maps_to_protocol_desync ... ok test tests::stalled_61_chain_with_no_progress_is_rejected ... ok test tests::terminal_outcome_from_chain_transmit_is_surfaced ... ok test tests::t0_short_case4_is_sent_as_case3_then_continued ... ok test tests::terminal_outcome_from_first_transmit_is_surfaced ... ok test tests::terminal_status_passes_through_without_get_response ... ok test tests::wrong_le_6c_on_raw_command_is_terminal ... ok test tests::wrong_le_6c_retry_rewrites_last_byte_and_resends ... ok test result: ok. 20 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (target/debug/deps/refineid_lib_tls-288ce95e9bf9c027) running 17 tests test framing::tests::chunked_over_limit_rejected ... ok test framing::tests::chunked_framing_decodes ... ok test framing::tests::content_length_framing ... ok test framing::tests::content_length_over_limit_rejected ... ok test framing::tests::early_close_is_typed ... ok test framing::tests::no_body_statuses ... ok test http::tests::form_urlencoding ... ok test http::tests::percent_decode_tolerates_malformed_escapes ... ok test http::tests::percent_encoded_blocks_double_encoding ... ok test http::tests::cookie_jar_scoping ... ok test http::tests::percent_encoded_roundtrip ... ok test http::tests::response_parse_splits_head_and_body ... ok test simple_https::tests::basic_authorization_rejects_header_injection ... ok test simple_https::tests::rustls_reaches_a_live_timestamp_authority ... ignored, needs the network and a live timestamp authority test simple_https::tests::test_live_card_refineid_fi_login ... ignored, needs paired RAPP remote card reader test simple_https::tests::authorized_post_writes_one_basic_header ... ok test simple_https::tests::transient_https_errors_are_narrowly_classified ... ok test result: ok. 15 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/lib.rs (target/debug/deps/refineid_pkcs11-a1b602eb1eb6f7a5) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests refineid_client running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests refineid_lib_core running 3 tests test crates/refineid-lib-core/src/ber.rs - ber::BerEncoder (line 72) ... ignored test crates/refineid-lib-core/src/events.rs - events::EventName (line 96) ... ignored test crates/refineid-lib-core/src/events.rs - events::EventName::new (line 115) ... ignored test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s running 1 test test crates/refineid-lib-core/src/crypto/digest.rs - crypto::digest::Sha256 (line 129) - compile fail ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s all doctests ran in 0.31s; merged doctests compilation took 0.25s Doc-tests refineid_lib_pcsc running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Doc-tests refineid_lib_tls running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s