<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="0" skipped="1" tests="627" time="20.936" timestamp="2026-08-21T11:43:39.200370+08:00" hostname="hs-fbb-cli-master-0821114201-52"><testcase classname="tests.test_activation" name="test_trailing_noop_off_windows" time="0.000" /><testcase classname="tests.test_activation" name="test_finds_usr_bin_mingw64_layout" time="0.002" /><testcase classname="tests.test_activation" name="test_finds_usr_bin_cmd_layout" time="0.001" /><testcase classname="tests.test_activation" name="test_empty_when_git_has_no_usr_bin" time="0.001" /><testcase classname="tests.test_activation" name="test_finds_managed_git_usr_bin" time="0.001" /><testcase classname="tests.test_activation" name="test_managed_bin_has_highest_precedence" time="0.001" /><testcase classname="tests.test_activation" name="test_windows_git_build_paths_requires_tar_and_xz" time="0.001" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_008_create_asset_outside_project[component-mqtt-expected_paths0-components]" time="0.133" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_008_create_asset_outside_project[board-ws63-devkit-expected_paths1-board]" time="0.130" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_008_create_asset_outside_project[sample-mqtt-led-sample-expected_paths2-sample]" time="0.131" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_008_create_asset_outside_project[solution-connected-device-solution-expected_paths3-solution]" time="0.130" /><testcase classname="tests.test_asset_create" name="test_create_asset_without_output_uses_current_directory_asset_name" time="0.066" /><testcase classname="tests.test_asset_create" name="test_create_empty_project_without_sample_or_board" time="0.075" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_008_rejects_invalid_asset_identity_without_writes[missing-namespace]" time="0.066" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_008_rejects_invalid_asset_identity_without_writes[example/MQTT]" time="0.065" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_008_preserves_authorized_namespace_case" time="0.066" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_008_rejects_nonempty_output_without_overwriting" time="0.065" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_008_failure_rolls_back_partial_template" time="0.066" /><testcase classname="tests.test_asset_create" name="test_cm_ut_mod_009_create_uses_platform_minimum_cli_version" time="0.066" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_010_legacy_and_new_create_share_template_service[create-component-new_args0]" time="0.131" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_006_asset_info_json_exposes_normalized_contract" time="0.131" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_006_asset_info_human_is_concise_and_read_only" time="0.131" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_006_asset_info_reuses_manifest_diagnostics" time="0.066" /><testcase classname="tests.test_asset_create" name="test_asset_info_reads_a_published_registry_version" time="0.068" /><testcase classname="tests.test_asset_create" name="test_asset_validate_resolve_checks_dependencies_capability_and_context" time="0.135" /><testcase classname="tests.test_asset_create" name="test_asset_validate_resolve_rejects_asset_platform_mismatch" time="0.131" /><testcase classname="tests.test_asset_create" name="test_publish_dry_run_packages_v2_asset_without_registry_or_writes" time="0.144" /><testcase classname="tests.test_asset_create" name="test_cm_ut_cli_006_asset_validate_json_uses_stable_envelope" time="0.197" /><testcase classname="tests.test_asset_kind_models" name="test_cm_ut_kind_001_board_references_are_structured_and_canonical" time="0.001" /><testcase classname="tests.test_asset_kind_models" name="test_cm_ut_kind_002_board_rejects_duplicate_and_dangling_resources" time="0.000" /><testcase classname="tests.test_asset_kind_models" name="test_cm_ut_kind_003_board_requires_target_defaults_to_be_consistent" time="0.000" /><testcase classname="tests.test_asset_kind_models" name="test_cm_ut_kind_004_sample_roots_files_and_capabilities_are_validated" time="0.001" /><testcase classname="tests.test_asset_kind_models" name="test_cm_ut_kind_004_rejects_author_supplied_tested_boards" time="0.000" /><testcase classname="tests.test_asset_kind_models" name="test_cm_ut_kind_005_solution_owns_files_and_references_configuration" time="0.000" /><testcase classname="tests.test_asset_validation_files" name="test_cm_ut_validate_001_declared_component_file_must_exist" time="0.132" /><testcase classname="tests.test_asset_validation_files" name="test_cm_ut_validate_002_board_document_and_template_file_must_exist" time="0.131" /><testcase classname="tests.test_asset_validation_files" name="test_cm_ut_validate_003_distribution_glob_must_select_real_content" time="0.066" /><testcase classname="tests.test_board_binding_contract" name="test_cm_ut_board_001_same_sample_capability_binds_to_each_board_gpio" time="0.009" /><testcase classname="tests.test_board_binding_contract" name="test_cm_ut_board_002_active_pinmux_resource_conflict_fails_closed" time="0.001" /><testcase classname="tests.test_board_commands" name="test_board_list_chip_filter_is_equivalent_to_search" time="0.145" /><testcase classname="tests.test_board_commands" name="test_project_board_selection_preserves_unrelated_manifest_content" time="0.001" /><testcase classname="tests.test_board_commands" name="test_board_select_dry_run_has_no_writes" time="0.003" /><testcase classname="tests.test_board_commands" name="test_board_select_atomically_locks_and_materializes_board" time="0.026" /><testcase classname="tests.test_board_commands" name="test_board_select_path_uses_root_owned_source_without_copying" time="0.245" /><testcase classname="tests.test_board_commands" name="test_board_select_replaces_registry_and_local_sources" time="0.291" /><testcase classname="tests.test_board_commands" name="test_board_select_removes_stale_binding_directories_atomically" time="0.027" /><testcase classname="tests.test_board_commands" name="test_board_info_returns_structured_board_detail" time="0.001" /><testcase classname="tests.test_board_commands" name="test_board_info_selected_reads_project_selection" time="0.002" /><testcase classname="tests.test_board_runtime_lifecycle" name="test_reference_board_runtime_completes_registry_lifecycle" time="2.047" /><testcase classname="tests.test_build_args" name="test_run_menuconfig_delegates_to_build" time="0.000" /><testcase classname="tests.test_build_args" name="test_run_menuconfig_mode" time="0.000" /><testcase classname="tests.test_build_args" name="test_run_menuconfig_refuses_non_tty" time="0.000" /><testcase classname="tests.test_build_args" name="test_clean_flag_before_target_is_kept" time="0.000" /><testcase classname="tests.test_build_args" name="test_clean_flag_after_target_is_lifted_long" time="0.000" /><testcase classname="tests.test_build_args" name="test_clean_flag_after_target_is_lifted_short" time="0.000" /><testcase classname="tests.test_build_args" name="test_other_trailing_args_are_preserved" time="0.000" /><testcase classname="tests.test_build_args" name="test_passthrough_separator_is_left_verbatim" time="0.000" /><testcase classname="tests.test_build_args" name="test_no_rest_no_clean" time="0.000" /><testcase classname="tests.test_build_args" name="test_build_parser_accepts_json_summary_without_forwarding_it" time="0.004" /><testcase classname="tests.test_build_args" name="test_prepare_config_plan_exports_exact_digest_scoped_inputs" time="0.001" /><testcase classname="tests.test_build_args" name="test_prepare_config_plan_passes_existing_chip_json_to_planner" time="0.001" /><testcase classname="tests.test_build_args" name="test_windows_build_env_scopes_git_tar_xz" time="0.001" /><testcase classname="tests.test_build_args" name="test_build_env_is_unchanged_off_windows" time="0.000" /><testcase classname="tests.test_build_args" name="test_prepare_build_plan_exports_exact_digest_scoped_inputs" time="0.001" /><testcase classname="tests.test_build_args" name="test_merge_config_plan_uses_exact_generated_defaults" time="0.001" /><testcase classname="tests.test_build_args" name="test_merge_config_plan_skips_empty_generated_defaults" time="0.001" /><testcase classname="tests.test_build_args" name="test_merge_config_plan_fails_closed_when_sdk_rejects_defaults" time="0.001" /><testcase classname="tests.test_build_args" name="test_build_out_of_tree_resolves_sdk_from_root" time="0.090" /><testcase classname="tests.test_build_args" name="test_build_out_of_tree_unresolved_is_exit_3" time="0.062" /><testcase classname="tests.test_build_args" name="test_build_json_summary_reports_forwarded_sdk_result" time="0.085" /><testcase classname="tests.test_build_args" name="test_build_json_summary_reports_missing_sdk" time="0.063" /><testcase classname="tests.test_build_args" name="test_build_json_summary_reports_process_start_failure" time="0.014" /><testcase classname="tests.test_build_args" name="test_build_plan_preparation_failure_is_structured_and_has_no_traceback" time="0.092" /><testcase classname="tests.test_build_args" name="test_build_execution_contract_failure_is_structured" time="0.013" /><testcase classname="tests.test_build_execution" name="test_cm_ut_build_001_executes_existing_sdk_entry_with_chip_metadata" time="0.001" /><testcase classname="tests.test_build_execution" name="test_cm_ut_build_002_rejects_plan_path_or_digest_drift_before_execute" time="0.001" /><testcase classname="tests.test_build_execution" name="test_cm_ut_build_003_returns_failure_instead_of_exiting_process" time="0.001" /><testcase classname="tests.test_build_plan" name="test_build_plan_contains_only_locked_image_closure" time="0.002" /><testcase classname="tests.test_build_plan" name="test_build_plan_is_byte_stable_for_lock_instance_order" time="0.003" /><testcase classname="tests.test_build_plan" name="test_build_plan_fails_when_locked_component_is_not_materialized" time="0.001" /><testcase classname="tests.test_build_plan" name="test_build_plan_fails_when_declared_source_is_missing" time="0.001" /><testcase classname="tests.test_build_plan" name="test_header_only_component_generates_interface_target" time="0.006" /><testcase classname="tests.test_build_plan" name="test_prebuilt_component_verifies_digest_and_generates_imported_target" time="0.006" /><testcase classname="tests.test_build_plan" name="test_generate_build_artifacts_is_digest_scoped_and_deterministic" time="0.005" /><testcase classname="tests.test_build_plan" name="test_cmake_component_uses_its_native_build_and_declared_target" time="0.005" /><testcase classname="tests.test_build_plan" name="test_generated_cmake_preserves_dependency_usage_and_visibility" time="0.007" /><testcase classname="tests.test_build_plan" name="test_build_plan_rejects_runtime_dependency_cycle" time="0.001" /><testcase classname="tests.test_build_plan" name="test_generated_cmake_configures_as_fixed_sdk_hook" time="0.001"><skipped type="pytest.skip" message="C compiler and Ninja are required">/home/build/hs-fbb-cli/tests/test_build_plan.py:439: C compiler and Ninja are required</skipped></testcase><testcase classname="tests.test_build_plan" name="test_build_plan_carries_exact_selected_board_binding" time="0.002" /><testcase classname="tests.test_build_plan" name="test_board_runtime_can_declare_nondefault_sdk_components" time="0.006" /><testcase classname="tests.test_build_plan" name="test_market_board_runtime_requires_selected_board_binding" time="0.001" /><testcase classname="tests.test_cas_lifecycle" name="test_dead_writer_lock_and_staging_are_recovered_before_tree_commit" time="0.007" /><testcase classname="tests.test_cas_lifecycle" name="test_two_processes_publish_one_complete_tree" time="0.066" /><testcase classname="tests.test_cas_lifecycle" name="test_gc_preserves_lockfile_and_active_lease_content" time="0.025" /><testcase classname="tests.test_cli_smoke" name="test_help_standalone_verb[setup]" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_help_standalone_verb[doctor]" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_help_standalone_verb[shell]" time="0.062" /><testcase classname="tests.test_cli_smoke" name="test_help_standalone_verb[env]" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_help_standalone_verb[run]" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_help_standalone_verb[describe]" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_help_standalone_verb[build]" time="0.062" /><testcase classname="tests.test_cli_smoke" name="test_help_standalone_verb[menuconfig]" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_help_standalone_verb[help]" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_help_standalone_verb[sdk]" time="0.062" /><testcase classname="tests.test_cli_smoke" name="test_help_standalone_verb[flash]" time="0.060" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_subcommand[install]" time="0.062" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_subcommand[list]" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_subcommand[versions]" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_subcommand[uninstall]" time="0.062" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_scoped_verb[monitor]" time="0.060" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_scoped_verb[create-project]" time="0.060" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_scoped_verb[create-component]" time="0.060" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_scoped_verb[create-project-from-example]" time="0.060" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_scoped_verb[set-target]" time="0.060" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_scoped_verb[get-target]" time="0.059" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_scoped_verb[list-targets]" time="0.058" /><testcase classname="tests.test_cli_smoke" name="test_help_sdk_scoped_verb[list-examples]" time="0.060" /><testcase classname="tests.test_cli_smoke" name="test_find_verb_index_skips_leading_global_flag" time="0.000" /><testcase classname="tests.test_cli_smoke" name="test_strip_global_flags_removes_lang_anywhere" time="0.000" /><testcase classname="tests.test_cli_smoke" name="test_lang_before_native_verb_routes" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_doctor_on_clean_env_reports_issues" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_env_print_json_is_valid" time="0.064" /><testcase classname="tests.test_cli_smoke" name="test_env_json_is_valid" time="0.064" /><testcase classname="tests.test_cli_smoke" name="test_sdk_list_empty_root_json" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_sdk_list_empty_root_human" time="0.061" /><testcase classname="tests.test_cli_smoke" name="test_list_targets_on_minimal_sdk" time="0.060" /><testcase classname="tests.test_cli_smoke" name="test_list_examples_on_minimal_sdk" time="0.057" /><testcase classname="tests.test_command_result_v2" name="test_command_result_v2_has_one_stable_success_envelope" time="0.000" /><testcase classname="tests.test_command_result_v2" name="test_command_result_v2_error_requires_stable_code_and_exit_code" time="0.000" /><testcase classname="tests.test_command_result_v2" name="test_command_result_redacts_secret_keys_and_secret_bearing_text" time="0.000" /><testcase classname="tests.test_command_result_v2" name="test_command_result_rejects_invalid_failure_contract" time="0.000" /><testcase classname="tests.test_command_result_v2" name="test_project_commands_emit_v2_context_error_with_real_exit_code[arguments0-add]" time="0.074" /><testcase classname="tests.test_command_result_v2" name="test_project_commands_emit_v2_context_error_with_real_exit_code[arguments1-lock]" time="0.073" /><testcase classname="tests.test_command_result_v2" name="test_project_commands_emit_v2_context_error_with_real_exit_code[arguments2-sync]" time="0.073" /><testcase classname="tests.test_command_result_v2" name="test_project_commands_emit_v2_context_error_with_real_exit_code[arguments3-board.select]" time="0.074" /><testcase classname="tests.test_command_result_v2" name="test_publish_failure_uses_v2_envelope_and_preserves_human_diagnostic" time="0.073" /><testcase classname="tests.test_command_result_v2" name="test_lock_and_sync_policy_failures_emit_v2_result[arguments0-FROZEN_LOCK_MISSING]" time="0.073" /><testcase classname="tests.test_command_result_v2" name="test_lock_and_sync_policy_failures_emit_v2_result[arguments1-OFFLINE_BUNDLE_LOCK_MISSING]" time="0.073" /><testcase classname="tests.test_command_result_v2" name="test_resolve_failures_emit_v2_results[arguments0-update]" time="0.080" /><testcase classname="tests.test_command_result_v2" name="test_resolve_failures_emit_v2_results[arguments1-lock]" time="0.075" /><testcase classname="tests.test_command_result_v2" name="test_resolve_failures_emit_v2_results[arguments2-board.select]" time="0.074" /><testcase classname="tests.test_command_result_v2" name="test_remove_non_direct_dependency_emits_v2_result" time="0.074" /><testcase classname="tests.test_command_result_v2" name="test_sync_missing_locked_candidate_emits_v2_result" time="0.079" /><testcase classname="tests.test_command_result_v2" name="test_pkg_write_command_reports_workspace_busy_as_v2_result" time="0.074" /><testcase classname="tests.test_command_result_v2" name="test_lock_write_failure_emits_v2_result" time="0.002" /><testcase classname="tests.test_config_plan" name="test_config_plan_merges_defaults_constraints_and_explicit_values" time="0.000" /><testcase classname="tests.test_config_plan" name="test_config_plan_rejects_duplicate_symbol_owner" time="0.000" /><testcase classname="tests.test_config_plan" name="test_config_plan_rejects_unknown_and_private_cross_owner_values" time="0.000" /><testcase classname="tests.test_config_plan" name="test_config_plan_rejects_type_range_and_constraint_conflicts" time="0.000" /><testcase classname="tests.test_config_plan" name="test_config_plan_digest_is_stable_for_map_order_and_image_isolated" time="0.000" /><testcase classname="tests.test_config_plan" name="test_platform_config_layers_preserve_sdk_target_profile_and_policy_origins" time="0.000" /><testcase classname="tests.test_config_plan" name="test_parse_kconfig_symbols_and_fragment" time="0.001" /><testcase classname="tests.test_config_plan" name="test_generate_config_artifacts_is_digest_scoped_and_deterministic" time="0.016" /><testcase classname="tests.test_config_plan" name="test_plan_project_config_consumes_locked_component_and_feature" time="0.013" /><testcase classname="tests.test_config_plan" name="test_config_plan_ignores_non_component_asset_manifests" time="0.014" /><testcase classname="tests.test_config_plan" name="test_plan_project_config_merges_board_and_template_layers_with_provenance[sample]" time="0.014" /><testcase classname="tests.test_config_plan" name="test_plan_project_config_merges_board_and_template_layers_with_provenance[solution]" time="0.013" /><testcase classname="tests.test_create" name="test_create_component_into_components_with_kconfig" time="0.003" /><testcase classname="tests.test_create" name="test_create_component_respects_explicit_path" time="0.002" /><testcase classname="tests.test_create" name="test_set_project_keys_replace_and_insert" time="0.001" /><testcase classname="tests.test_create" name="test_rename_token_respects_word_boundaries" time="0.001" /><testcase classname="tests.test_create" name="test_create_out_of_tree_single_sdk_auto" time="0.085" /><testcase classname="tests.test_create" name="test_create_project_json_summary_is_final_after_binding[ws53]" time="0.077" /><testcase classname="tests.test_create" name="test_create_project_json_summary_is_final_after_binding[ws63]" time="0.074" /><testcase classname="tests.test_create" name="test_create_project_error_json_summary_is_final" time="0.074" /><testcase classname="tests.test_create" name="test_create_component_json_summary_is_final_after_project_placement" time="0.067" /><testcase classname="tests.test_create" name="test_create_project_from_example_emits_one_final_json_summary" time="0.061" /><testcase classname="tests.test_create" name="test_create_project_from_example_accepts_full_id_aliases[application/samples/peripheral/blinky]" time="0.062" /><testcase classname="tests.test_create" name="test_create_project_from_example_accepts_full_id_aliases[application\\samples\\peripheral\\blinky]" time="0.062" /><testcase classname="tests.test_create" name="test_create_project_from_example_accepts_full_id_aliases[src\\application\\samples\\peripheral\\blinky]" time="0.062" /><testcase classname="tests.test_create" name="test_create_project_from_full_example_id_defaults_to_basename" time="0.062" /><testcase classname="tests.test_create" name="test_create_project_from_example_rejects_ambiguous_short_name" time="0.061" /><testcase classname="tests.test_create" name="test_create_project_from_example_rejects_unsafe_ids[../blinky]" time="0.062" /><testcase classname="tests.test_create" name="test_create_project_from_example_rejects_unsafe_ids[/outside/blinky]" time="0.061" /><testcase classname="tests.test_create" name="test_create_project_from_example_rejects_unsafe_ids[C:\\outside\\blinky]" time="0.062" /><testcase classname="tests.test_create" name="test_create_out_of_tree_multiple_needs_chip" time="0.187" /><testcase classname="tests.test_create" name="test_create_out_of_tree_no_sdk" time="0.058" /><testcase classname="tests.test_exit_codes" name="test_version_exits_zero" time="0.061" /><testcase classname="tests.test_exit_codes" name="test_no_args_prints_help_exits_zero" time="0.062" /><testcase classname="tests.test_exit_codes" name="test_help_verb_exits_zero" time="0.063" /><testcase classname="tests.test_exit_codes" name="test_unknown_verb_is_usage_error" time="0.061" /><testcase classname="tests.test_exit_codes" name="test_invalid_choice_is_usage_error" time="0.061" /><testcase classname="tests.test_exit_codes" name="test_native_verb_without_sdk_is_resource_missing" time="0.058" /><testcase classname="tests.test_exit_codes" name="test_build_without_sdk_is_resource_missing" time="0.061" /><testcase classname="tests.test_exit_codes" name="test_flash_help_exits_zero" time="0.061" /><testcase classname="tests.test_exit_codes" name="test_help_flash_delegates_to_flash_help" time="0.061" /><testcase classname="tests.test_exit_codes" name="test_describe_json_smoke" time="0.062" /><testcase classname="tests.test_exit_codes" name="test_describe_reports_hsflash_as_the_only_flasher" time="0.067" /><testcase classname="tests.test_flash_backend" name="test_hsflash_is_the_only_backend_when_both_tools_exist" time="0.002" /><testcase classname="tests.test_flash_backend" name="test_burntool_alone_is_not_a_supported_backend" time="0.001" /><testcase classname="tests.test_flash_backend" name="test_hsflash_fallback_uses_semantic_version_order" time="0.001" /><testcase classname="tests.test_flash_backend" name="test_hsflash_prefers_manifest_recommended_version" time="0.001" /><testcase classname="tests.test_flash_backend" name="test_hsflash_ws63_argv_uses_lowercase_and_switches_after_loader" time="0.001" /><testcase classname="tests.test_flash_backend" name="test_hsflash_hi3322_argv_does_not_switch_after_loader" time="0.001" /><testcase classname="tests.test_flash_backend" name="test_hsflash_hi3322_usb_argv_is_dry_run_safe" time="0.001" /><testcase classname="tests.test_flash_backend" name="test_flash_run_warns_when_migrating_legacy_backend" time="0.003" /><testcase classname="tests.test_flash_backend" name="test_flash_usb_auto_trigger_runs_once_and_checks_after_reset" time="0.002" /><testcase classname="tests.test_flash_backend" name="test_non_admin_usb_flash_is_handed_to_session_broker" time="0.002" /><testcase classname="tests.test_flash_backend" name="test_admin_usb_flash_does_not_open_session_broker" time="0.002" /><testcase classname="tests.test_flash_backend" name="test_non_admin_serial_flash_never_opens_session_broker" time="0.002" /><testcase classname="tests.test_flash_backend" name="test_no_elevate_keeps_non_admin_usb_flash_non_interactive" time="0.002" /><testcase classname="tests.test_flash_backend" name="test_cancelled_session_elevation_has_structured_error" time="0.002" /><testcase classname="tests.test_flash_backend" name="test_port_and_device_override_configured_transport" time="0.000" /><testcase classname="tests.test_flash_backend" name="test_hsflash_error_classification_uses_output_not_shared_exit_one" time="0.000" /><testcase classname="tests.test_flash_backend" name="test_hsflash_accepts_firmware_paths_with_spaces" time="0.002" /><testcase classname="tests.test_flash_backend" name="test_run_backend_counts_hsflash_burned_sections" time="0.001" /><testcase classname="tests.test_flash_backend" name="test_hsflash_does_not_accept_partial_burn_marker" time="0.000" /><testcase classname="tests.test_flash_backend" name="test_flash_has_no_default_overall_timeout" time="0.002" /><testcase classname="tests.test_i18n" name="test_zh_help_chrome_is_localized" time="0.063" /><testcase classname="tests.test_i18n" name="test_zh_usage_error_is_localized" time="0.062" /><testcase classname="tests.test_i18n" name="test_zh_missing_argument_error_is_localized" time="0.062" /><testcase classname="tests.test_i18n" name="test_en_usage_error_stays_english" time="0.061" /><testcase classname="tests.test_json_summary" name="test_flash_success_envelope" time="0.000" /><testcase classname="tests.test_json_summary" name="test_flash_error_has_recoverable_flag" time="0.000" /><testcase classname="tests.test_json_summary" name="test_monitor_success_envelope" time="0.000" /><testcase classname="tests.test_json_summary" name="test_monitor_error_envelope_has_no_recoverable" time="0.000" /><testcase classname="tests.test_json_summary" name="test_monitor_exit_reason_enum_passes_through[matched]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_monitor_exit_reason_enum_passes_through[timeout]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_monitor_exit_reason_enum_passes_through[user_interrupt]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_monitor_exit_reason_enum_passes_through[io_error]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_target_envelope" time="0.000" /><testcase classname="tests.test_json_summary" name="test_create_envelope" time="0.000" /><testcase classname="tests.test_json_summary" name="test_common_subset_present_and_typed[envelope0]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_common_subset_present_and_typed[envelope1]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_common_subset_present_and_typed[envelope2]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_common_subset_present_and_typed[envelope3]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_frozen_v1_emitters_use_shared_compatibility_adapter[_emit0]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_frozen_v1_emitters_use_shared_compatibility_adapter[_emit_summary]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_frozen_v1_emitters_use_shared_compatibility_adapter[_emit1]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_list_summary_uses_shared_compatibility_adapter[hs_fbb_cli.list_targets-run_list_targets]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_list_summary_uses_shared_compatibility_adapter[hs_fbb_cli.list_examples-run_list_examples]" time="0.000" /><testcase classname="tests.test_json_summary" name="test_get_target_missing_state_emits_error_envelope" time="0.060" /><testcase classname="tests.test_json_summary" name="test_get_target_reads_saved_state" time="0.062" /><testcase classname="tests.test_json_summary" name="test_json_summary_is_last_stdout_line_diagnostics_on_stderr" time="0.060" /><testcase classname="tests.test_kconfig" name="test_resolve_config_locates_core_and_file" time="0.001" /><testcase classname="tests.test_kconfig" name="test_read_value" time="0.001" /><testcase classname="tests.test_kconfig" name="test_config_get" time="0.002" /><testcase classname="tests.test_kconfig" name="test_config_set_invokes_setconfig" time="0.002" /><testcase classname="tests.test_kconfig" name="test_config_unset_maps_to_n" time="0.002" /><testcase classname="tests.test_kconfig" name="test_config_no_config_file_errors" time="0.002" /><testcase classname="tests.test_local_sources" name="test_declared_path_keeps_absolute_form_when_windows_drives_differ" time="0.001" /><testcase classname="tests.test_local_sources" name="test_add_path_records_root_owned_source_without_copying_asset" time="0.090" /><testcase classname="tests.test_local_sources" name="test_add_path_dry_run_reads_candidate_but_writes_nothing" time="0.082" /><testcase classname="tests.test_local_sources" name="test_add_path_identity_mismatch_rolls_back_project" time="0.080" /><testcase classname="tests.test_local_sources" name="test_sync_offline_revalidates_locked_local_manifest_digest" time="0.164" /><testcase classname="tests.test_local_sources" name="test_workspace_member_is_a_root_authorized_override" time="0.080" /><testcase classname="tests.test_local_sources" name="test_unlisted_directory_does_not_override_registry" time="0.080" /><testcase classname="tests.test_local_sources" name="test_package_dependency_cannot_impose_a_path_override" time="0.001" /><testcase classname="tests.test_local_sources" name="test_patch_and_replace_are_rejected_instead_of_silently_ignored" time="0.001" /><testcase classname="tests.test_lock_v2" name="test_lock_v2_records_context_instances_and_typed_edges" time="0.003" /><testcase classname="tests.test_lock_v2" name="test_lock_v2_is_byte_stable_for_input_order" time="0.005" /><testcase classname="tests.test_lock_v2" name="test_lock_diff_reports_version_source_feature_and_provider_changes" time="0.000" /><testcase classname="tests.test_lock_v2" name="test_lock_records_and_diffs_security_state" time="0.006" /><testcase classname="tests.test_manifest_v2" name="test_schema_version_2_explicitly_selects_v2" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_schema_version_1_explicitly_selects_v1" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_missing_schema_version_keeps_structural_compatibility" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_explicit_schema_version_overrides_structural_detection" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_rejects_invalid_schema_version[0]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_rejects_invalid_schema_version[2_0]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_rejects_invalid_schema_version[3]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_rejects_invalid_schema_version[2_1]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_rejects_invalid_schema_version[2.1]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_rejects_invalid_schema_version[3.1]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_rejects_invalid_schema_version[2.0]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_rejects_invalid_schema_version[True]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_rejects_package_scoped_schema_version" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_006_accepts_each_v2_asset_kind[_component_manifest-component]" time="0.001" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_006_accepts_each_v2_asset_kind[_board_manifest-board]" time="0.001" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_006_accepts_each_v2_asset_kind[_sample_manifest-sample]" time="0.001" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_006_accepts_each_v2_asset_kind[_solution_manifest-solution]" time="0.001" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_001_builds_canonical_asset_identity" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_001_preserves_registry_namespace_case" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_001_rejects_noncanonical_identity[namespace-example/team]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_001_rejects_noncanonical_identity[name-COMPONENT-ALPHA]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_001_rejects_noncanonical_identity[name-component-alpha_]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_001_rejects_noncanonical_identity[kind-plugin]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_at_007_rejects_missing_common_identity_field[namespace]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_at_007_rejects_missing_common_identity_field[name]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_at_007_rejects_missing_common_identity_field[version]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_at_007_rejects_missing_common_identity_field[kind]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_006_rejects_cross_kind_sections[_component_manifest-board]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_006_rejects_cross_kind_sections[_board_manifest-sample]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_006_rejects_cross_kind_sections[_sample_manifest-solution]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_006_rejects_cross_kind_sections[_solution_manifest-components]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_accepts_p1_component_forms[component0]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_accepts_p1_component_forms[component1]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_accepts_p1_component_forms[component2]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_rejects_invalid_or_deferred_component_forms[component0-sources]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_rejects_invalid_or_deferred_component_forms[component1-content_digest]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_rejects_invalid_or_deferred_component_forms[component2-sources]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_rejects_invalid_or_deferred_component_forms[component3-content_digest]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_rejects_invalid_or_deferred_component_forms[component4-generator]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_rejects_invalid_or_deferred_component_forms[component5-config-only]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_rejects_multiple_components_in_p1" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_sdk_components_are_validated_and_canonical" time="0.001" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_rejects_invalid_sdk_components[gpio]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_rejects_invalid_sdk_components[sdk_components1]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_003_rejects_invalid_sdk_components[sdk_components2]" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cmake_component_backend_is_valid_and_digest_covered" time="0.001" /><testcase classname="tests.test_manifest_v2" name="test_cm_at_008_sample_entry_must_be_a_project_file" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_at_008_solution_root_must_resolve_to_dependency_alias" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_007_canonical_digest_ignores_map_and_input_order" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_005_scope_and_cardinality_enter_canonical_digest" time="0.001" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_009_rejects_invalid_min_cli_version" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_cm_ut_mod_010_v1_compatibility_normalizes_to_component" time="0.000" /><testcase classname="tests.test_manifest_v2" name="test_v2_validation_does_not_mutate_the_input_document" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_component_config_entries_and_feature_constraint_normalize" time="0.001" /><testcase classname="tests.test_manifest_v2_config" name="test_dependency_feature_selection_is_part_of_registry_canonical_contract" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_non_component_assets_reference_but_do_not_define_config[_board_manifest-board-default_config-config/defaults.conf]" time="0.001" /><testcase classname="tests.test_manifest_v2_config" name="test_non_component_assets_reference_but_do_not_define_config[_sample_manifest-sample-config_defaults-config/defaults.conf]" time="0.001" /><testcase classname="tests.test_manifest_v2_config" name="test_non_component_assets_reference_but_do_not_define_config[_solution_manifest-solution-configuration-config/solution.release.toml]" time="0.001" /><testcase classname="tests.test_manifest_v2_config" name="test_non_component_assets_cannot_define_kconfig[_board_manifest-board]" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_non_component_assets_cannot_define_kconfig[_sample_manifest-sample]" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_non_component_assets_cannot_define_kconfig[_solution_manifest-solution]" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_config_references_reject_unsafe_paths[&lt;lambda&gt;-[[components]][0].kconfig]" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_config_references_reject_unsafe_paths[&lt;lambda&gt;-[[components]][0].config_defaults]" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_config_references_reject_unsafe_paths[&lt;lambda&gt;-[board].default_config]" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_config_reference_must_be_in_distribution_allowlist" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_feature_config_accepts_only_deterministic_scalar_values[value0]" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_feature_config_accepts_only_deterministic_scalar_values[value1]" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_feature_config_accepts_only_deterministic_scalar_values[None]" time="0.000" /><testcase classname="tests.test_manifest_v2_config" name="test_config_normalization_does_not_mutate_input" time="0.000" /><testcase classname="tests.test_manifest_v2_conformance" name="test_registry_v2_canonical_json_and_digest_match_golden_bytes[component-alpha]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_registry_v2_canonical_json_and_digest_match_golden_bytes[board-ws63-devkit]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_registry_v2_canonical_json_and_digest_match_golden_bytes[sample-alpha-led]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_registry_v2_canonical_json_and_digest_match_golden_bytes[solution-connected-device]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_configuration_and_dependency_features_match_registry_digest" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_the_same_required_and_unknown_fields_as_registry[&lt;lambda&gt;-[package].summary]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_the_same_required_and_unknown_fields_as_registry[&lt;lambda&gt;-[package].license]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_the_same_required_and_unknown_fields_as_registry[&lt;lambda&gt;-[package].min_cli_version]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_the_same_required_and_unknown_fields_as_registry[&lt;lambda&gt;-[documentation]]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_the_same_required_and_unknown_fields_as_registry[&lt;lambda&gt;-[distribution]]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_the_same_required_and_unknown_fields_as_registry[&lt;lambda&gt;-unmodeled]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_the_same_required_and_unknown_fields_as_registry[&lt;lambda&gt;-[package].unmodeled]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_the_same_required_and_unknown_fields_as_registry[&lt;lambda&gt;-[[components]][0].unmodeled]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_accepts_registry_identity_handle_and_asset_name_rules[A-x]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_accepts_registry_identity_handle_and_asset_name_rules[Publisher.Account_1-component.alpha_1]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_identity_rewrites_and_noncanonical_asset_names[ Publisher-component-alpha]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_identity_rewrites_and_noncanonical_asset_names[Publisher -component-alpha]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_identity_rewrites_and_noncanonical_asset_names[.Publisher-component-alpha]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_identity_rewrites_and_noncanonical_asset_names[Publisher.-component-alpha]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_identity_rewrites_and_noncanonical_asset_names[Publisher-.component-alpha]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_identity_rewrites_and_noncanonical_asset_names[Publisher-component-alpha.]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_identity_rewrites_and_noncanonical_asset_names[Publisher-COMPONENT-ALPHA]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_registry_unknown_fields_at_nested_producer_paths[component-alpha-&lt;lambda&gt;-[documentation].unmodeled]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_registry_unknown_fields_at_nested_producer_paths[component-alpha-&lt;lambda&gt;-[compatibility].unmodeled]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_registry_unknown_fields_at_nested_producer_paths[component-alpha-&lt;lambda&gt;-[[requires]][0].unmodeled]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_registry_unknown_fields_at_nested_producer_paths[board-ws63-devkit-&lt;lambda&gt;-[board].unmodeled]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_registry_unknown_fields_at_nested_producer_paths[board-ws63-devkit-&lt;lambda&gt;-[board].connectors[0].pins[0].unmodeled]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_registry_unknown_fields_at_nested_producer_paths[sample-alpha-led-&lt;lambda&gt;-[sample].unmodeled]" time="0.001" /><testcase classname="tests.test_manifest_v2_conformance" name="test_cli_rejects_registry_unknown_fields_at_nested_producer_paths[solution-connected-device-&lt;lambda&gt;-[solution].unmodeled]" time="0.001" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_004_dependency_defaults_become_typed_edge" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_registry_candidate_preserves_typed_dependency_usage" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_004_rejects_invalid_dependency_edge_fields[usage-firmware-host]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_004_rejects_invalid_dependency_edge_fields[visibility-global]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_004_rejects_invalid_dependency_edge_fields[optional-yes]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_004_rejects_invalid_dependency_edge_fields[features-tls]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_004_rejects_invalid_dependency_edge_fields[default-features-yes]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_004_rejects_invalid_dependency_edge_fields[condition-value5]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_004_condition_uses_finite_static_expression" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_005_feature_activates_optional_dependency" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_005_rejects_feature_unknown_dependency_alias" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_005_rejects_non_optional_feature_dependency" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_005_capability_contract_is_fully_normalized" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_005_rejects_invalid_capability_contract[requires-entry0-[[requires]][0].capability]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_005_rejects_invalid_capability_contract[provides-entry1-[[provides]][0].cardinality]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_005_rejects_invalid_capability_contract[provides-entry2-[[provides]][0].scope]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_005_rejects_invalid_capability_contract[conflicts-entry3-[[conflicts]][0].reason]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_005_rejects_invalid_capability_contract[replaces-entry4-[[replaces]][0].compatibility]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_008_rejects_unsafe_package_paths[&lt;lambda&gt;-[documentation].readme]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_008_rejects_unsafe_package_paths[&lt;lambda&gt;-[distribution].files]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_008_rejects_unsafe_package_paths[&lt;lambda&gt;-[[components]][0].sources]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_008_rejects_unsafe_package_paths[&lt;lambda&gt;-[[components]][0].include_dirs]" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_cm_ut_mod_008_requires_readme_in_distribution_allowlist" time="0.000" /><testcase classname="tests.test_manifest_v2_contracts" name="test_contract_validation_does_not_mutate_nested_feature_data" time="0.000" /><testcase classname="tests.test_offline_bundle" name="test_offline_bundle_roundtrip_restores_cas_and_materializes" time="0.334" /><testcase classname="tests.test_offline_bundle" name="test_offline_bundle_export_is_byte_deterministic" time="0.244" /><testcase classname="tests.test_offline_bundle" name="test_offline_bundle_rejects_corruption_without_publishing_cas" time="0.075" /><testcase classname="tests.test_pkg" name="test_version_partial_and_ordering" time="0.000" /><testcase classname="tests.test_pkg" name="test_constraint_caret" time="0.000" /><testcase classname="tests.test_pkg" name="test_constraint_tilde_range_wildcard_star" time="0.000" /><testcase classname="tests.test_pkg" name="test_best_match" time="0.000" /><testcase classname="tests.test_pkg" name="test_component_dirname" time="0.000" /><testcase classname="tests.test_pkg" name="test_toml_mini_quoted_namespaced_key" time="0.000" /><testcase classname="tests.test_pkg" name="test_project_namespaced_dep_roundtrip" time="0.002" /><testcase classname="tests.test_pkg" name="test_project_add_dep_with_features_writes_table_form" time="0.001" /><testcase classname="tests.test_pkg" name="test_e2e_add_namespaced_installs_flat" time="0.096" /><testcase classname="tests.test_pkg" name="test_lock_resolves_project_capability_provider" time="0.079" /><testcase classname="tests.test_pkg" name="test_lock_frozen_verifies_intent_without_registry_or_writes" time="0.152" /><testcase classname="tests.test_pkg" name="test_lock_frozen_rejects_manifest_drift_without_rewrite" time="0.151" /><testcase classname="tests.test_pkg" name="test_e2e_add_rejects_asset_requiring_newer_cli_without_writes" time="0.079" /><testcase classname="tests.test_pkg" name="test_e2e_sync_rejects_locked_asset_requiring_newer_cli" time="0.172" /><testcase classname="tests.test_pkg" name="test_sync_offline_replays_lock_and_warm_cas_without_registry" time="0.176" /><testcase classname="tests.test_pkg" name="test_sync_offline_cache_miss_fails_without_registry_access" time="0.173" /><testcase classname="tests.test_pkg" name="test_e2e_add_name_collision_errors" time="0.175" /><testcase classname="tests.test_pkg" name="test_add_transaction_rolls_back_manifest_components_and_lock_on_failure" time="0.110" /><testcase classname="tests.test_pkg" name="test_add_dry_run_resolves_and_reports_without_any_project_write" time="0.082" /><testcase classname="tests.test_pkg" name="test_add_uses_project_target_context_not_only_chip" time="0.081" /><testcase classname="tests.test_pkg" name="test_remove_rolls_back_manifest_when_reresolution_fails" time="0.274" /><testcase classname="tests.test_pkg" name="test_update_rolls_back_earlier_component_when_later_install_fails" time="0.226" /><testcase classname="tests.test_pkg" name="test_sync_rolls_back_partial_locked_materialization" time="0.218" /><testcase classname="tests.test_pkg" name="test_remove_dry_run_reports_without_writing" time="0.169" /><testcase classname="tests.test_pkg" name="test_update_dry_run_reports_version_diff_without_writing" time="0.174" /><testcase classname="tests.test_pkg" name="test_update_dry_run_reports_security_state_change_without_writing" time="0.167" /><testcase classname="tests.test_pkg" name="test_lock_dry_run_resolves_without_creating_lock" time="0.076" /><testcase classname="tests.test_pkg" name="test_lock_and_sync_success_always_emit_command_result_v2" time="0.166" /><testcase classname="tests.test_pkg" name="test_sync_dry_run_reads_lock_without_registry_or_writes" time="0.171" /><testcase classname="tests.test_pkg" name="test_toml_mini_inline_table" time="0.000" /><testcase classname="tests.test_pkg" name="test_read_deps_table_form_collapses_to_version" time="0.001" /><testcase classname="tests.test_pkg" name="test_toml_mini_sections_scalars_arrays_comments_bom" time="0.000" /><testcase classname="tests.test_pkg" name="test_project_add_replace_remove_dep" time="0.002" /><testcase classname="tests.test_pkg" name="test_registry_load_search_supports" time="0.002" /><testcase classname="tests.test_pkg" name="test_registry_search_reports_latest_semver_not_lexicographic_max" time="0.001" /><testcase classname="tests.test_pkg" name="test_registry_search_filters_platform_and_capability" time="0.002" /><testcase classname="tests.test_pkg" name="test_search_cli_exposes_platform_and_capability_filters" time="0.075" /><testcase classname="tests.test_pkg" name="test_search_json_empty_result_is_a_successful_domain_query" time="0.075" /><testcase classname="tests.test_pkg" name="test_registry_catalog_latest_and_description" time="0.002" /><testcase classname="tests.test_pkg" name="test_registry_federation_overlays" time="0.002" /><testcase classname="tests.test_pkg" name="test_registry_unreachable_source_recorded" time="0.000" /><testcase classname="tests.test_pkg" name="test_api_url_join" time="0.000" /><testcase classname="tests.test_pkg" name="test_version_to_entry_and_candidates" time="0.000" /><testcase classname="tests.test_pkg" name="test_api_candidates_resolve_relative_artifact_url_against_registry" time="0.000" /><testcase classname="tests.test_pkg" name="test_registry_prefers_v2_read_model_and_maps_artifact" time="0.000" /><testcase classname="tests.test_pkg" name="test_registry_falls_back_to_v1_when_v2_asset_is_absent" time="0.000" /><testcase classname="tests.test_pkg" name="test_registry_v2_search_fallback" time="0.000" /><testcase classname="tests.test_pkg" name="test_registry_v2_publish_and_yank_fallback" time="0.001" /><testcase classname="tests.test_pkg" name="test_registry_v2_publish_can_prefer_v2_endpoint" time="0.001" /><testcase classname="tests.test_pkg" name="test_registry_v2_publish_sends_explicit_channel" time="0.001" /><testcase classname="tests.test_pkg" name="test_dynamic_registry_v2_preserves_asset_contract" time="0.000" /><testcase classname="tests.test_pkg" name="test_candidate_treats_empty_v2_compatibility_lists_as_unspecified" time="0.000" /><testcase classname="tests.test_pkg" name="test_registry_classifies_api_vs_static" time="0.001" /><testcase classname="tests.test_pkg" name="test_toml_dumps_roundtrip_and_strips_comments" time="0.000" /><testcase classname="tests.test_pkg" name="test_cmd_yank_runs_without_shadowing_gettext" time="0.000" /><testcase classname="tests.test_pkg" name="test_error_fields_nested_and_flat" time="0.000" /><testcase classname="tests.test_pkg" name="test_registry_http_read_resolves" time="0.000" /><testcase classname="tests.test_pkg" name="test_credentials_store_load_forget" time="0.001" /><testcase classname="tests.test_pkg" name="test_credentials_select_tokens_by_namespace_and_preserve_legacy" time="0.002" /><testcase classname="tests.test_pkg" name="test_resolve_transitive_and_diamond" time="0.002" /><testcase classname="tests.test_pkg" name="test_resolve_chip_filter_raises" time="0.001" /><testcase classname="tests.test_pkg" name="test_resolve_filters_all_declared_platform_context_dimensions" time="0.002" /><testcase classname="tests.test_pkg" name="test_resolve_rejects_target_mismatch_even_when_chip_matches" time="0.001" /><testcase classname="tests.test_pkg" name="test_resolve_conflict_names_requirers" time="0.002" /><testcase classname="tests.test_pkg" name="test_dep_tree_renders" time="0.002" /><testcase classname="tests.test_pkg" name="test_optional_dep_not_pulled_without_feature" time="0.002" /><testcase classname="tests.test_pkg" name="test_feature_pulls_optional_dep" time="0.002" /><testcase classname="tests.test_pkg" name="test_feature_enables_dependency_feature" time="0.002" /><testcase classname="tests.test_pkg" name="test_feature_symbol_mapping" time="0.000" /><testcase classname="tests.test_pkg" name="test_features_defconfig_from_lock" time="0.004" /><testcase classname="tests.test_pkg" name="test_features_defconfig_absent_removes_stale" time="0.003" /><testcase classname="tests.test_pkg" name="test_default_features_suppressed_by_requirer" time="0.002" /><testcase classname="tests.test_pkg" name="test_resolver_rejects_asset_requiring_newer_cli" time="0.001" /><testcase classname="tests.test_pkg" name="test_resolver_selects_latest_cli_compatible_version" time="0.002" /><testcase classname="tests.test_pkg" name="test_resolver_backtracks_newer_requirer_to_find_legal_diamond" time="0.002" /><testcase classname="tests.test_pkg" name="test_lock_roundtrip_records_source_sha" time="0.003" /><testcase classname="tests.test_pkg" name="test_lock_records_candidate_minimum_cli_version" time="0.003" /><testcase classname="tests.test_pkg" name="test_toml_mini_array_of_tables" time="0.000" /><testcase classname="tests.test_pkg" name="test_safe_extract_rejects_traversal_and_sibling" time="0.002" /><testcase classname="tests.test_pkg" name="test_safe_extract_rejects_symlink_and_device_entries" time="0.001" /><testcase classname="tests.test_pkg" name="test_safe_extract_rejects_unpacked_size_budget" time="0.001" /><testcase classname="tests.test_pkg" name="test_fetch_verifies_sha256" time="0.007" /><testcase classname="tests.test_pkg" name="test_fetch_uses_digest_only_cas_path_across_package_names" time="0.004" /><testcase classname="tests.test_pkg" name="test_offline_cache_miss_performs_zero_network" time="0.001" /><testcase classname="tests.test_pkg" name="test_install_source" time="0.010" /><testcase classname="tests.test_pkg" name="test_install_reuses_verified_tree_when_blob_is_missing_offline" time="0.013" /><testcase classname="tests.test_pkg" name="test_install_rejects_corrupt_tree_in_offline_mode" time="0.011" /><testcase classname="tests.test_pkg" name="test_install_is_atomic_on_corrupt_archive" time="0.028" /><testcase classname="tests.test_pkg" name="test_manifest_validator_accepts_good" time="0.000" /><testcase classname="tests.test_pkg" name="test_manifest_validator_flags_bad_name" time="0.000" /><testcase classname="tests.test_pkg" name="test_manifest_validator_allows_mixedcase_namespace" time="0.000" /><testcase classname="tests.test_pkg" name="test_manifest_validator_flags_bad_version_and_component" time="0.000" /><testcase classname="tests.test_pkg" name="test_manifest_validator_flags_bad_dep_and_feature_and_chips" time="0.000" /><testcase classname="tests.test_pkg" name="test_manifest_validator_rejects_binary" time="0.000" /><testcase classname="tests.test_pkg" name="test_project_validator_accepts_good" time="0.000" /><testcase classname="tests.test_pkg" name="test_project_validator_warns_on_typo_and_stale_keys" time="0.000" /><testcase classname="tests.test_pkg" name="test_project_validator_errors_on_structural" time="0.000" /><testcase classname="tests.test_pkg" name="test_publish_creates_artifact_and_index" time="0.002" /><testcase classname="tests.test_pkg" name="test_v1_rejects_non_component_asset_kinds[board]" time="0.001" /><testcase classname="tests.test_pkg" name="test_v1_rejects_non_component_asset_kinds[sample]" time="0.002" /><testcase classname="tests.test_pkg" name="test_v1_rejects_non_component_asset_kinds[solution]" time="0.001" /><testcase classname="tests.test_pkg" name="test_v1_component_kind_is_canonical_across_publish_and_normalize[False]" time="0.003" /><testcase classname="tests.test_pkg" name="test_v1_component_kind_is_canonical_across_publish_and_normalize[True]" time="0.003" /><testcase classname="tests.test_pkg" name="test_publish_excludes_build_cruft" time="0.003" /><testcase classname="tests.test_pkg" name="test_publish_rejects_binary_manifest" time="0.001" /><testcase classname="tests.test_pkg" name="test_publish_rejects_bad_name" time="0.001" /><testcase classname="tests.test_pkg" name="test_publish_base_url_emits_cdn_dist_url" time="0.002" /><testcase classname="tests.test_pkg" name="test_publish_carries_features_into_index" time="0.002" /><testcase classname="tests.test_pkg" name="test_publish_reads_v2_identity_and_selects_namespace_token" time="0.003" /><testcase classname="tests.test_pkg" name="test_publish_archive_is_byte_stable_across_source_mtime_changes" time="0.002" /><testcase classname="tests.test_pkg" name="test_v2_local_index_rejects_republishing_same_version_with_new_content" time="0.149" /><testcase classname="tests.test_pkg" name="test_publish_then_add_roundtrip" time="0.112" /><testcase classname="tests.test_pkg" name="test_v2_publish_then_add_resolves_dependency_identity_not_alias" time="0.263" /><testcase classname="tests.test_pkg" name="test_e2e_add_resolves_fetches_and_locks" time="0.110" /><testcase classname="tests.test_pkg" name="test_deps_why_json_returns_stable_reason_chain" time="0.189" /><testcase classname="tests.test_pkg" name="test_deps_why_not_reports_available_but_unrequired_candidate" time="0.168" /><testcase classname="tests.test_pkg" name="test_deps_why_not_version_explains_constraint_exclusion" time="0.167" /><testcase classname="tests.test_pkg" name="test_deps_why_not_version_explains_platform_exclusion" time="0.167" /><testcase classname="tests.test_pkg" name="test_deps_graph_json_is_stable_and_typed" time="0.181" /><testcase classname="tests.test_pkg" name="test_sbom_cyclonedx_and_spdx" time="0.252" /><testcase classname="tests.test_pkg" name="test_e2e_list_components" time="0.147" /><testcase classname="tests.test_pkg" name="test_list_deps_json_returns_locked_dependency_domain_rows" time="0.150" /><testcase classname="tests.test_plan_contracts" name="test_cm_ut_plan_001_contract_schemas_are_versioned_and_closed[Resolution-required0]" time="0.000" /><testcase classname="tests.test_plan_contracts" name="test_cm_ut_plan_001_contract_schemas_are_versioned_and_closed[ReasonGraph-required1]" time="0.000" /><testcase classname="tests.test_plan_contracts" name="test_cm_ut_plan_001_contract_schemas_are_versioned_and_closed[ConfigPlan-required2]" time="0.000" /><testcase classname="tests.test_plan_contracts" name="test_cm_ut_plan_001_contract_schemas_are_versioned_and_closed[BaseBuildPlan-required3]" time="0.000" /><testcase classname="tests.test_plan_contracts" name="test_cm_ut_plan_002_canonical_bytes_and_digest_are_order_independent" time="0.000" /><testcase classname="tests.test_plan_contracts" name="test_cm_ut_plan_003_verify_rejects_missing_unknown_and_tampered_fields" time="0.000" /><testcase classname="tests.test_plan_contracts" name="test_cm_ut_plan_004_document_type_and_major_version_are_enforced" time="0.000" /><testcase classname="tests.test_plan_contracts" name="test_cm_ut_plan_005_config_plan_uses_the_shared_canonical_contract" time="0.000" /><testcase classname="tests.test_plan_contracts" name="test_cm_ut_plan_006_resolution_and_reason_graph_are_canonical" time="0.000" /><testcase classname="tests.test_project_transactions" name="test_only_one_workspace_writer_can_be_active" time="0.006" /><testcase classname="tests.test_project_transactions" name="test_commit_releases_workspace_writer_lock" time="0.012" /><testcase classname="tests.test_project_transactions" name="test_expected_revision_rejects_stale_writer_without_leaking_lock" time="0.003" /><testcase classname="tests.test_project_transactions" name="test_force_recover_restores_crashed_transaction" time="0.009" /><testcase classname="tests.test_project_transactions" name="test_new_writer_reports_recovery_action_for_crashed_transaction" time="0.005" /><testcase classname="tests.test_project_transactions" name="test_sync_recover_rolls_back_without_resolution_or_network" time="0.079" /><testcase classname="tests.test_project_transactions" name="test_transaction_rolls_back_generated_managed_paths" time="0.008" /><testcase classname="tests.test_provision_git" name="test_setup_copies_patch_from_system_git" time="0.002" /><testcase classname="tests.test_provision_git" name="test_setup_falls_back_to_managed_git_for_patch[True]" time="0.003" /><testcase classname="tests.test_provision_git" name="test_setup_falls_back_to_managed_git_for_patch[False]" time="0.002" /><testcase classname="tests.test_provision_git" name="test_setup_falls_back_when_system_git_has_patch_but_no_tar_xz" time="0.003" /><testcase classname="tests.test_registry_publish_security" name="test_registry_mutation_rejects_plain_http_except_loopback" time="0.001" /><testcase classname="tests.test_registry_publish_security" name="test_registry_mutation_rejects_malformed_or_non_http_url[https:///missing-host]" time="0.000" /><testcase classname="tests.test_registry_publish_security" name="test_registry_mutation_rejects_malformed_or_non_http_url[ftp://registry.example]" time="0.000" /><testcase classname="tests.test_registry_publish_security" name="test_registry_mutation_rejects_malformed_or_non_http_url[registry.example]" time="0.000" /><testcase classname="tests.test_registry_publish_security" name="test_login_rejects_insecure_registry_before_storing_token" time="0.000" /><testcase classname="tests.test_registry_publish_security" name="test_login_infers_and_stores_server_token_namespace" time="0.000" /><testcase classname="tests.test_registry_publish_security" name="test_login_rejects_token_scoped_to_another_namespace" time="0.000" /><testcase classname="tests.test_registry_publish_security" name="test_yank_rejects_insecure_registry_before_network" time="0.000" /><testcase classname="tests.test_registry_publish_security" name="test_yank_selects_token_from_asset_namespace" time="0.000" /><testcase classname="tests.test_registry_publish_security" name="test_publish_command_rejects_insecure_registry_before_packaging" time="0.001" /><testcase classname="tests.test_registry_publish_security" name="test_registry_mutation_allows_loopback_http" time="0.015" /><testcase classname="tests.test_registry_publish_security" name="test_registry_publish_streams_archive_without_path_read_bytes" time="0.001" /><testcase classname="tests.test_registry_publish_security" name="test_registry_publish_idempotency_key_is_stable_for_same_content" time="0.001" /><testcase classname="tests.test_registry_publish_security" name="test_registry_v1_to_v2_fallback_adds_stable_idempotency_key" time="0.001" /><testcase classname="tests.test_release_contract" name="test_release_workflow_keeps_automatic_tag_trigger_and_recovery_path" time="0.000" /><testcase classname="tests.test_release_contract" name="test_bootstrap_keeps_git_source_as_release_fallback" time="0.000" /><testcase classname="tests.test_release_contract" name="test_current_release_versions_match" time="0.001" /><testcase classname="tests.test_release_contract" name="test_release_tag_mismatch_fails" time="0.035" /><testcase classname="tests.test_release_contract" name="test_release_publish_creates_release_and_uploads_assets" time="0.001" /><testcase classname="tests.test_release_contract" name="test_release_publish_updates_release_and_skips_existing_asset" time="0.001" /><testcase classname="tests.test_release_contract" name="test_release_publish_rejects_changed_existing_asset" time="0.001" /><testcase classname="tests.test_release_contract" name="test_release_publish_local_http_roundtrip_is_idempotent" time="0.519" /><testcase classname="tests.test_sample_solution_consumption" name="test_cm_ut_cli_014_add_rejects_project_template_without_writes[sample]" time="0.082" /><testcase classname="tests.test_sample_solution_consumption" name="test_cm_ut_cli_014_add_rejects_project_template_without_writes[solution]" time="0.081" /><testcase classname="tests.test_sample_solution_consumption" name="test_cm_ut_cli_009_create_project_from_registry_template_and_board[sample]" time="0.184" /><testcase classname="tests.test_sample_solution_consumption" name="test_cm_ut_cli_009_create_project_from_registry_template_and_board[solution]" time="0.188" /><testcase classname="tests.test_sample_solution_consumption" name="test_create_project_from_template_can_defer_board_selection[sample]" time="0.206" /><testcase classname="tests.test_sample_solution_consumption" name="test_create_project_from_template_can_defer_board_selection[solution]" time="0.193" /><testcase classname="tests.test_sample_solution_consumption" name="test_cm_ut_cli_009_rejects_board_missing_template_capability" time="0.080" /><testcase classname="tests.test_sdk_detection" name="test_override_beats_env_and_cwd" time="0.002" /><testcase classname="tests.test_sdk_detection" name="test_env_beats_cwd" time="0.001" /><testcase classname="tests.test_sdk_detection" name="test_cwd_walk_up_finds_ancestor" time="0.001" /><testcase classname="tests.test_sdk_detection" name="test_detects_build_files_under_src_subdir" time="0.001" /><testcase classname="tests.test_sdk_detection" name="test_requires_both_marker_files" time="0.001" /><testcase classname="tests.test_sdk_detection" name="test_returns_none_when_nothing_found" time="0.001" /><testcase classname="tests.test_sdk_detection" name="test_probe_targets_accepts_digit_start" time="0.001" /><testcase classname="tests.test_sdk_install" name="test_chip_repo_url" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_resolve_sdk_legacy_chip" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_resolve_sdk_monorepo_chip" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_resolve_sdk_explicit_repo_never_probes" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_resolve_sdk_trunk_env_override" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_parse_ls_remote_tags" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_select_latest_tag_numeric_order" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_select_latest_tag_ignores_prerelease" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_is_stable_tag" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_parse_ls_remote_refs" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_order_branches" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_select_latest_tag_empty" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_sdk_root_env_override" time="0.001" /><testcase classname="tests.test_sdk_install" name="test_compute_orphans_keeps_referenced_and_recommended" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_compute_orphans_recommended_never_reaped" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_ref_dirname" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_installed_sdks_versioned" time="0.056" /><testcase classname="tests.test_sdk_install" name="test_installed_sdks_rejects_non_git_residue" time="0.003" /><testcase classname="tests.test_sdk_install" name="test_installed_sdks_rejects_missing_tracked_files" time="0.018" /><testcase classname="tests.test_sdk_install" name="test_installed_sdks_rejects_missing_git_head" time="0.016" /><testcase classname="tests.test_sdk_install" name="test_installed_sdks_allows_modified_tracked_files" time="0.019" /><testcase classname="tests.test_sdk_install" name="test_installed_sdks_rejects_invalid_chip_metadata" time="0.013" /><testcase classname="tests.test_sdk_install" name="test_install_rejects_incomplete_occupied_destination" time="0.003" /><testcase classname="tests.test_sdk_install" name="test_install_accepts_complete_occupied_destination" time="0.017" /><testcase classname="tests.test_sdk_install" name="test_resolve_legacy_chip_picks_latest" time="0.036" /><testcase classname="tests.test_sdk_install" name="test_resolve_pinned_version" time="0.036" /><testcase classname="tests.test_sdk_install" name="test_resolve_monorepo_target_falls_to_trunk" time="0.019" /><testcase classname="tests.test_sdk_install" name="test_resolve_trunk_must_serve_the_chip" time="0.018" /><testcase classname="tests.test_sdk_install" name="test_resolve_missing_and_bad_version" time="0.019" /><testcase classname="tests.test_sdk_install" name="test_provision_pinned_toolchain_bypasses_supported_targets" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_manifest_never_provisions_retired_burntool" time="0.000" /><testcase classname="tests.test_sdk_install" name="test_materialize_symlink_stubs" time="0.002" /><testcase classname="tests.test_solver_v2" name="test_project_explicit_provider_has_highest_priority" time="0.000" /><testcase classname="tests.test_solver_v2" name="test_target_provider_precedes_unique_and_platform_default" time="0.000" /><testcase classname="tests.test_solver_v2" name="test_unique_provider_is_selected_without_default" time="0.000" /><testcase classname="tests.test_solver_v2" name="test_platform_default_resolves_multiple_candidates" time="0.000" /><testcase classname="tests.test_solver_v2" name="test_multiple_providers_without_selection_is_an_error" time="0.000" /><testcase classname="tests.test_solver_v2" name="test_explicit_provider_must_supply_required_capability" time="0.000" /><testcase classname="tests.test_solver_v2" name="test_required_capability_adds_selected_provider_to_resolution" time="0.000" /><testcase classname="tests.test_solver_v2" name="test_resolved_dependency_provider_wins_over_unrelated_registry_candidate" time="0.000" /><testcase classname="tests.test_solver_v2" name="test_remote_registry_provider_discovery_uses_capability_search" time="0.000" /><testcase classname="tests.test_solver_v2" name="test_lockfile_records_provider_selection" time="0.007" /><testcase classname="tests.test_solver_v2" name="test_project_reads_capability_requirements_and_provider_choices" time="0.001" /><testcase classname="tests.test_version_contract" name="test_version_ge_basic" time="0.000" /><testcase classname="tests.test_version_contract" name="test_version_ge_mixed_numeric_alpha" time="0.000" /><testcase classname="tests.test_version_contract" name="test_version_ge_short_versions" time="0.000" /><testcase classname="tests.test_version_contract" name="test_version_ge_prerelease_ranks_below_release" time="0.000" /><testcase classname="tests.test_version_contract" name="test_select_version_default_is_recommended" time="0.000" /><testcase classname="tests.test_version_contract" name="test_select_version_pin_overrides_recommended" time="0.000" /><testcase classname="tests.test_version_contract" name="test_select_version_pin_missing_returns_none" time="0.000" /><testcase classname="tests.test_version_contract" name="test_select_version_prefers_version_covering_platform" time="0.000" /><testcase classname="tests.test_version_contract" name="test_select_version_no_tag_is_backcompat" time="0.000" /><testcase classname="tests.test_version_contract" name="test_read_requirements" time="0.001" /><testcase classname="tests.test_version_contract" name="test_read_requirements_absent" time="0.001" /><testcase classname="tests.test_version_contract" name="test_flash_backend_aliases_are_visible_as_legacy" time="0.000" /><testcase classname="tests.test_windows_oot_paths" name="test_win_oot_shorten_maps_sdk_and_project" time="0.000" /><testcase classname="tests.test_windows_oot_paths" name="test_win_oot_shorten_keeps_real_project_if_second_subst_fails" time="0.000" /><testcase classname="tests.test_windows_oot_paths" name="test_win_oot_shorten_can_be_disabled" time="0.000" /><testcase classname="tests.test_windows_session_broker" name="test_request_decoder_accepts_only_flash" time="0.000" /><testcase classname="tests.test_windows_session_broker" name="test_request_decoder_rejects_unsafe_arguments[not-a-list]" time="0.000" /><testcase classname="tests.test_windows_session_broker" name="test_request_decoder_rejects_unsafe_arguments[argv1]" time="0.000" /><testcase classname="tests.test_windows_session_broker" name="test_request_decoder_rejects_unsafe_arguments[argv2]" time="0.000" /><testcase classname="tests.test_windows_session_broker" name="test_request_decoder_rejects_unsafe_arguments[argv3]" time="0.000" /><testcase classname="tests.test_windows_session_broker" name="test_shell_owner_is_nearest_command_shell" time="0.000" /><testcase classname="tests.test_windows_session_broker" name="test_broker_program_uses_pythonw_without_losing_module_entry" time="0.001" /><testcase classname="tests.test_windows_session_broker" name="test_existing_shell_broker_is_reused_without_elevation" time="0.001" /><testcase classname="tests.test_windows_session_broker" name="test_first_shell_request_elevates_once_then_reuses" time="0.001" /><testcase classname="tests.test_windows_session_broker" name="test_broker_launch_error_does_not_leave_stale_session_file" time="0.001" /><testcase classname="tests.test_windows_session_broker" name="test_cleanup_removes_only_own_metadata" time="0.001" /><testcase classname="tests.test_windows_session_broker" name="test_client_returns_output_and_exit_code" time="0.000" /><testcase classname="tests.test_windows_session_broker" name="test_server_returns_flash_output" time="0.002" /></testsuite></testsuites>