test_ack_timeout_and_late_rx (test_rui3.RUI3.test_ack_timeout_and_late_rx) ... ok
test_bad_queue_no_mutation (test_rui3.RUI3.test_bad_queue_no_mutation) ... ok
test_capacity_tables_and_unsupported_regions (test_rui3.RUI3.test_capacity_tables_and_unsupported_regions) ... ok
test_clock_wrap_and_regression (test_rui3.RUI3.test_clock_wrap_and_regression) ... ok
test_documented_bare_njm_reply (test_rui3.RUI3.test_documented_bare_njm_reply) ... ok
test_downlink_unknown_event_no_time_update (test_rui3.RUI3.test_downlink_unknown_event_no_time_update) ... ok
test_duplicate_ok_and_completion_events (test_rui3.RUI3.test_duplicate_ok_and_completion_events) ... ok
test_duplicate_query_value (test_rui3.RUI3.test_duplicate_query_value) ... ok
test_eu_us_startup_and_join_orders (test_rui3.RUI3.test_eu_us_startup_and_join_orders) ... ok
test_event_timeout_after_ok (test_rui3.RUI3.test_event_timeout_after_ok) ... ok
test_exact_profile_mismatch_rejected (test_rui3.RUI3.test_exact_profile_mismatch_rejected) ... ok
test_explicit_zero_and_region_power_boundaries (test_rui3.RUI3.test_explicit_zero_and_region_power_boundaries) ... ok
test_false_joined_event_still_respects_three_attempt_limit (test_rui3.RUI3.test_false_joined_event_still_respects_three_attempt_limit) ... ok
test_join_busy_and_preflight_network_loss (test_rui3.RUI3.test_join_busy_and_preflight_network_loss) ... ok
test_join_retry_bounded_and_jittered (test_rui3.RUI3.test_join_retry_bounded_and_jittered) ... ok
test_known_error_after_acceptance_is_unknown (test_rui3.RUI3.test_known_error_after_acceptance_is_unknown) ... ok
test_low_dr_blocks_full_payload_without_send (test_rui3.RUI3.test_low_dr_blocks_full_payload_without_send) ... ok
test_minimum_interval_respected (test_rui3.RUI3.test_minimum_interval_respected) ... ok
test_missing_query_value_and_wrong_prefix (test_rui3.RUI3.test_missing_query_value_and_wrong_prefix) ... ok
test_parser_corruption_halts (test_rui3.RUI3.test_parser_corruption_halts) ... ok
test_payload_is_immutable_and_complete (test_rui3.RUI3.test_payload_is_immutable_and_complete) ... ok
test_prejoin_and_retry_radio_mutation_rejected (test_rui3.RUI3.test_prejoin_and_retry_radio_mutation_rejected) ... ok
test_presend_radio_mutation_rejected_before_send (test_rui3.RUI3.test_presend_radio_mutation_rejected_before_send) ... ok
test_profile_bounds (test_rui3.RUI3.test_profile_bounds) ... ok
test_radio_queries_missing_malformed_duplicate_timeout_halt (test_rui3.RUI3.test_radio_queries_missing_malformed_duplicate_timeout_halt) ... ok
test_random_valid_replays_and_payloads (test_rui3.RUI3.test_random_valid_replays_and_payloads) ... ok
test_rejected_taken_in_guard_does_not_become_success (test_rui3.RUI3.test_rejected_taken_in_guard_does_not_become_success) ... ok
test_send_requires_ok_and_event_then_guard (test_rui3.RUI3.test_send_requires_ok_and_event_then_guard) ... ok
test_startup_timeout_preserves_record_as_rejected (test_rui3.RUI3.test_startup_timeout_preserves_record_as_rejected) ... ok
test_startup_txp_mismatch_never_requests_rf (test_rui3.RUI3.test_startup_txp_mismatch_never_requests_rf) ... ok
test_startup_us_single_channel_never_requests_rf (test_rui3.RUI3.test_startup_us_single_channel_never_requests_rf) ... ok
test_uart_error_and_boot_banner (test_rui3.RUI3.test_uart_error_and_boot_banner) ... ok
test_us_mask_mismatch (test_rui3.RUI3.test_us_mask_mismatch) ... ok
test_write_failure_and_stop (test_rui3.RUI3.test_write_failure_and_stop) ... ok
test_both_region_plans (test_rui3_plan.MaintenancePlan.test_both_region_plans) ... ok
test_plan_runtime_binding_and_us_channel_readback (test_rui3_plan.MaintenancePlan.test_plan_runtime_binding_and_us_channel_readback) ... ok
test_reject_injection (test_rui3_plan.MaintenancePlan.test_reject_injection) ... ok
test_reject_invalid_regional_mask_power (test_rui3_plan.MaintenancePlan.test_reject_invalid_regional_mask_power) ... ok
test_reject_missing_site_parameters (test_rui3_plan.MaintenancePlan.test_reject_missing_site_parameters) ... ok
test_reject_placeholder_firmware_and_zero_dev (test_rui3_plan.MaintenancePlan.test_reject_placeholder_firmware_and_zero_dev) ... ok
test_reject_unknown_or_secret_fields (test_rui3_plan.MaintenancePlan.test_reject_unknown_or_secret_fields) ... ok
test_ack_timeout_keeps_module_in_reset (test_u585_port.U585Port.test_ack_timeout_keeps_module_in_reset) ... ok
test_bad_profile_clock_or_baud_does_not_take_pins (test_u585_port.U585Port.test_bad_profile_clock_or_baud_does_not_take_pins) ... ok
test_baud_uart_pin_modes_and_unrelated_bits (test_u585_port.U585Port.test_baud_uart_pin_modes_and_unrelated_bits) ... ok
test_clock_wrap_and_regression (test_u585_port.U585Port.test_clock_wrap_and_regression) ... ok
test_complete_send_and_result (test_u585_port.U585Port.test_complete_send_and_result) ... ok
test_each_uart_error_halts_immediately (test_u585_port.U585Port.test_each_uart_error_halts_immediately) ... ok
test_live_uart_refuses_takeover (test_u585_port.U585Port.test_live_uart_refuses_takeover) ... ok
test_missing_tc_and_partial_tx_timeout (test_u585_port.U585Port.test_missing_tc_and_partial_tx_timeout) ... ok
test_pending_rx_drained_once_before_core_poll (test_u585_port.U585Port.test_pending_rx_drained_once_before_core_poll) ... ok
test_prejoin_radio_mismatch_holds_reset_without_join (test_u585_port.U585Port.test_prejoin_radio_mismatch_holds_reset_without_join) ... ok
test_presend_radio_mismatch_holds_reset_without_send (test_u585_port.U585Port.test_presend_radio_mismatch_holds_reset_without_send) ... ok
test_primask_restored_all_paths (test_u585_port.U585Port.test_primask_restored_all_paths) ... ok
test_protocol_timeout_halts_uart_and_reset (test_u585_port.U585Port.test_protocol_timeout_halts_uart_and_reset) ... ok
test_random_uart_replay_with_port (test_u585_port.U585Port.test_random_uart_replay_with_port) ... ok
test_reset_hold_and_no_early_command (test_u585_port.U585Port.test_reset_hold_and_no_early_command) ... ok
test_ring_exact_capacity_then_overflow (test_u585_port.U585Port.test_ring_exact_capacity_then_overflow) ... ok
test_ring_indices_wrap_without_loss (test_u585_port.U585Port.test_ring_indices_wrap_without_loss) ... ok
test_rx_isr_defers_parser_to_foreground (test_u585_port.U585Port.test_rx_isr_defers_parser_to_foreground) ... ok
test_send_error_unknown_result_and_physical_halt (test_u585_port.U585Port.test_send_error_unknown_result_and_physical_halt) ... ok
test_stale_tc_after_last_tdr_does_not_finish_tx (test_u585_port.U585Port.test_stale_tc_after_last_tdr_does_not_finish_tx) ... ok
test_startup_radio_mismatch_holds_reset_ram_model (test_u585_port.U585Port.test_startup_radio_mismatch_holds_reset_ram_model) ... ok
test_stop_preserves_result_and_reinit_alias (test_u585_port.U585Port.test_stop_preserves_result_and_reinit_alias) ... ok
test_ue_or_ack_lost_stops_before_tdr (test_u585_port.U585Port.test_ue_or_ack_lost_stops_before_tdr) ... ok
test_us_profile_complete_join (test_u585_port.U585Port.test_us_profile_complete_join) ... ok
test_cli_outputs_atomic_review_bundle_and_refuses_overwrite (test_factory_runtime.FactoryRuntime.test_cli_outputs_atomic_review_bundle_and_refuses_overwrite) ... ok
test_declared_physical_attachment_is_never_upgraded_to_verified_calibration (test_factory_runtime.FactoryRuntime.test_declared_physical_attachment_is_never_upgraded_to_verified_calibration) ... ok
test_duplicate_and_nonfinite_json_refused (test_factory_runtime.FactoryRuntime.test_duplicate_and_nonfinite_json_refused) ... ok
test_generated_c_compiles_and_preserves_exact_profile_all_three_variants (test_factory_runtime.FactoryRuntime.test_generated_c_compiles_and_preserves_exact_profile_all_three_variants) ... ok
test_hashes_and_unit_profile_revision_attachment_mismatch_rejected (test_factory_runtime.FactoryRuntime.test_hashes_and_unit_profile_revision_attachment_mismatch_rejected) ... ok
test_model_provider_requires_explicit_build_flag_and_target_matches (test_factory_runtime.FactoryRuntime.test_model_provider_requires_explicit_build_flag_and_target_matches) ... ok
test_no_defaults_unknown_secrets_bool_and_injection_refused (test_factory_runtime.FactoryRuntime.test_no_defaults_unknown_secrets_bool_and_injection_refused) ... ok
test_partition_overlap_overflow_wrong_transport_and_blank_or_corrupt_nor_rejected (test_factory_runtime.FactoryRuntime.test_partition_overlap_overflow_wrong_transport_and_blank_or_corrupt_nor_rejected) ... ok
test_v2_missing_or_invalid_watchdog_budget_refused (test_factory_runtime.FactoryRuntime.test_v2_missing_or_invalid_watchdog_budget_refused) ... ok
test_v2_watchdog_is_explicit_in_generated_c_but_timing_never_verified (test_factory_runtime.FactoryRuntime.test_v2_watchdog_is_explicit_in_generated_c_but_timing_never_verified) ... ok
test_wireless_legacy_missing_bool_or_outside_power_never_defaulted (test_factory_runtime.FactoryRuntime.test_wireless_legacy_missing_bool_or_outside_power_never_defaulted) ... ok
test_wireless_power_value_survives_generated_c_both_regions (test_factory_runtime.FactoryRuntime.test_wireless_power_value_survives_generated_c_both_regions) ... ok

----------------------------------------------------------------------
Ran 77 tests in 6.732s

OK
