Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s Running unittests src/lib.rs (target/debug/deps/refineid_lib_core-ee28e6599c3be662) running 648 tests test aa::tests::aa_error_display_arms ... ok test aa::tests::card_rejected_surfaces_status_word ... ok test aa::tests::rsa_verify_error_maps_to_signature_invalid ... 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::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_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::unblock_pin1_apdu_layout_7puk_4pin ... ok test auth::tests::unblock_pin1_apdu_layout_8puk_4pin ... ok test auth::tests::unblock_pin1_long_puk_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 aa::tests::verified_round_trip_sha384_and_sha512 ... ok test backend::tests::enumerate_error_maps_to_no_readers ... ok test backend::tests::filter_ignores_empty_slots ... ok test backend::tests::filter_matches_interior_substring ... ok test backend::tests::filter_is_case_sensitive ... 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_selecting_one_returns_it ... ok test backend::tests::multiple_cards_filter_matching_none_is_no_matching_reader ... 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 ber::tests::any_expect_rejects_mismatch ... ok test backend::tests::trait_method_matches_free_function ... 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_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 ber::tests::long_form_four_byte_length_round_trip ... 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::pick_public_key_decodes_brainpool_point ... ok test ca::tests::random_scalar_is_nonzero_and_below_n ... ok test ca::tests::verified_on_full_round_trip ... 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 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::verification_failed_when_chip_key_mismatches_dg14 ... 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_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::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_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::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::parses_crl_with_next_update_and_revoked_list ... ok test crl::tests::rejects_non_sequence_outer ... 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::rsa::tests::e_65537_canonical_form ... 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_leading_zero_modulus ... 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 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_skips_none_fields ... ok test identity::tests::ssh_comment_uses_printed_serial_only ... 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 crypto::brainpool_p384::tests::scalar_mul_is_homomorphic ... 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::build_request_decodes_as_one_request_ocsp_request ... ok test ocsp::tests::build_request_roundtrips_serial ... 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_handles_try_later ... ok test ocsp::tests::parse_response_decodes_unknown_status ... ok test oid::tests::accepts_three_arc_dn_oid ... ok test ocsp::tests::unknown_status_byte_falls_into_other ... 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 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::puk_accepts_eight_digits ... ok test pin::tests::puk_accepts_seven_digits ... ok test pin::tests::puk_debug_redacts ... ok test pin::tests::puk_rejects_lengths_outside_seven_or_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 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_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::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::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 pace::tests::step_5_round_trip_against_synthetic_peer ... ok test text::prop_tests::parse_display_round_trips ... 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::rejects_garbage_time ... ok test x509::tests::utc_time_yy_below_50_is_2000s ... ok test text::prop_tests::parse_never_panics ... ok test result: ok. 648 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.78s 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.30s; merged doctests compilation took 0.25s