From 0d4f8dfd1fff169812a5c08a90a0429eaf74ec50 Mon Sep 17 00:00:00 2001 From: VEP333 Date: Thu, 11 Jun 2026 09:51:38 +0000 Subject: [PATCH 1/8] test-framework --- .githooks/pre-commit | 50 + .pylintrc | 641 +++ .../__pycache__/ethtool-test.cpython-312.pyc | Bin 0 -> 32113 bytes ...ad_write_check_blk_devices.cpython-312.pyc | Bin 0 -> 15518 bytes ...ndisk_reporting_vars_check.cpython-312.pyc | Bin 0 -> 16802 bytes .../__pycache__/ethtool-test.cpython-312.pyc | Bin 0 -> 36344 bytes ...extract_capsule_fw_version.cpython-312.pyc | Bin 0 -> 1887 bytes ...ad_write_check_blk_devices.cpython-312.pyc | Bin 0 -> 19638 bytes ...e_mapping_conflict_checker.cpython-312.pyc | Bin 0 -> 31528 bytes .../verify_tpm_measurements.cpython-312.pyc | Bin 0 -> 12356 bytes .../__pycache__/acs_info.cpython-312.pyc | Bin 0 -> 8981 bytes .../__pycache__/apply_waivers.cpython-312.pyc | Bin 0 -> 42568 bytes .../generate_acs_summary.cpython-312.pyc | Bin 0 -> 49276 bytes .../__pycache__/merge_jsons.cpython-312.pyc | Bin 0 -> 26987 bytes .../__pycache__/merge_summary.cpython-312.pyc | Bin 0 -> 1989 bytes .../__pycache__/json_to_html.cpython-312.pyc | Bin 0 -> 14900 bytes .../__pycache__/logs_to_json.cpython-312.pyc | Bin 0 -> 10796 bytes .../__pycache__/json_to_html.cpython-312.pyc | Bin 0 -> 13987 bytes .../__pycache__/logs_to_json.cpython-312.pyc | Bin 0 -> 21281 bytes .../logs_to_json_edk2.cpython-312.pyc | Bin 0 -> 5403 bytes .../__pycache__/json_to_html.cpython-312.pyc | Bin 0 -> 13889 bytes .../__pycache__/logs_to_json.cpython-312.pyc | Bin 0 -> 4519 bytes .../__pycache__/json_to_html.cpython-312.pyc | Bin 0 -> 19090 bytes .../__pycache__/logs_to_json.cpython-312.pyc | Bin 0 -> 12969 bytes .../__pycache__/json_to_html.cpython-312.pyc | Bin 0 -> 21158 bytes .../__pycache__/logs_to_json.cpython-312.pyc | Bin 0 -> 13976 bytes .../sr_logs_to_json.cpython-312.pyc | Bin 0 -> 9621 bytes .../__pycache__/json_to_html.cpython-312.pyc | Bin 0 -> 9237 bytes .../__pycache__/logs_to_json.cpython-312.pyc | Bin 0 -> 6553 bytes .../__pycache__/json_to_html.cpython-312.pyc | Bin 0 -> 13245 bytes .../__pycache__/logs_to_json.cpython-312.pyc | Bin 0 -> 4339 bytes .../__pycache__/json_to_html.cpython-312.pyc | Bin 0 -> 21034 bytes .../__pycache__/logs_to_json.cpython-312.pyc | Bin 0 -> 8499 bytes .../__pycache__/json_to_html.cpython-312.pyc | Bin 0 -> 9070 bytes .../__pycache__/logs_to_json.cpython-312.pyc | Bin 0 -> 9062 bytes .../__pycache__/json_to_html.cpython-312.pyc | Bin 0 -> 17232 bytes .../__pycache__/logs_to_json.cpython-312.pyc | Bin 0 -> 45915 bytes .../parser/__pycache__/Parser.cpython-312.pyc | Bin 0 -> 6337 bytes .../case.log | 17 + .../dmidecode.log | 16 + .../out/acs_info.json | 13 + .../acs_config.txt | 1 + .../case.log | 16 + .../dmidecode.log | 9 + .../out/acs_info.json | 15 + .../case.log | 16 + .../dmidecode.log | 9 + .../out/acs_info.json | 14 + .../system_config.txt | 1 + .../acs_info/acs_info/1_file_exists/case.log | 4 + .../acs_info/2_python_compiles/case.log | 4 + .../acs_info/3_cli_help_flag/case.log | 37 + .../case.log | 20 + .../dmidecode.log | 9 + .../out/acs_info.json | 13 + .../acs_config.txt | 2 + .../case.log | 18 + .../dmidecode.log | 9 + .../out/acs_info.json | 17 + .../system_config.txt | 1 + .../acs_config.txt | 4 + .../case.log | 17 + .../dmidecode.log | 9 + .../out/acs_info.json | 16 + .../7_cli_reads_utf16_uefi_version/case.log | 16 + .../dmidecode.log | 9 + .../out/acs_info.json | 14 + .../uefi_version.log | Bin 0 -> 22 bytes .../acs_config.txt | 1 + .../case.log | 16 + .../dmidecode.log | 9 + .../ipmitool.log | 2 + .../out/acs_info.json | 15 + .../acs_config.txt | 1 + .../case.log | 16 + .../dmidecode.log | 9 + .../ipmitool.log | 1 + .../out/acs_info.json | 14 + .../_work/acs_info/acs_info/combined.log | 216 + .../case.log | 21 + .../standalone.json | 32 + .../waiver.json | 20 + .../case.log | 17 + .../fwts.json | 14 + .../waiver.json | 8 + .../case.log | 16 + .../fwts.json | 14 + .../waiver.json | 1 + .../bsa.json | 25 + .../case.log | 18 + .../waiver.json | 18 + .../case.log | 16 + .../fwts.json | 15 + .../waiver.json | 8 + .../case.log | 16 + .../fwts.json | 14 + .../waiver.json | 8 + .../case.log | 17 + .../fwts.json | 14 + .../waiver.json | 13 + .../case.log | 19 + .../sct.json | 25 + .../waiver.json | 16 + .../bsa.json | 38 + .../case.log | 20 + .../waiver.json | 24 + .../case.log | 17 + .../fwts.json | 14 + .../waiver.json | 8 + .../apply_waivers/1_file_exists/case.log | 4 + .../apply_waivers/2_python_compiles/case.log | 4 + .../apply_waivers/3_cli_help_flag/case.log | 26 + .../case.log | 13 + .../case.log | 18 + .../fwts.json | 15 + .../waiver.json | 8 + .../case.log | 18 + .../fwts.json | 25 + .../waiver.json | 13 + .../case.log | 16 + .../category.json | 9 + .../fwts.json | 14 + .../waiver.json | 8 + .../case.log | 18 + .../category.json | 9 + .../fwts.json | 15 + .../waiver.json | 8 + .../case.log | 18 + .../fwts.json | 14 + .../waiver.json | 20 + .../apply_waivers/apply_waivers/combined.log | 338 ++ .../1_bsa_invalid_json_input/bsa.json | 1 + .../1_bsa_invalid_json_input/case.log | 32 + .../bsa.json | 26 + .../case.log | 25 + .../detail.html | 237 + .../summary.html | 194 + .../json_to_html/combined.log | 66 + .../case.log | 17 + .../case.log | 19 + .../case.log | 18 + .../case.log | 18 + .../case.log | 17 + .../case.log | 16 + .../16_missing_capsulelast_returns_3/case.log | 16 + .../case.log | 16 + .../case.log | 18 + .../case.log | 19 + .../1_file_exists/case.log | 4 + .../case.log | 16 + .../case.log | 17 + .../case.log | 17 + .../case.log | 17 + .../case.log | 17 + .../case.log | 17 + .../case.log | 17 + .../case.log | 18 + .../case.log | 16 + .../case.log | 15 + .../2_python_compiles/case.log | 4 + .../case.log | 16 + .../case.log | 16 + .../case.log | 16 + .../case.log | 15 + .../case.log | 17 + .../case.log | 17 + .../case.log | 17 + .../3_has_main_guard/case.log | 4 + .../4_status_true_returns_passed/case.log | 9 + .../5_status_false_returns_warning/case.log | 9 + .../case.log | 9 + .../case.log | 17 + .../case.log | 18 + .../case.log | 18 + .../combined.log | 590 +++ .../1_has_edk2_keyword/case.log | 4 + .../2_has_edk2_parse_logic/case.log | 4 + .../3_cli_requires_two_args/case.log | 15 + .../4_cli_missing_input_file_fails/case.log | 14 + .../case.log | 17 + .../edk2-test-parser.log | 3 + .../out.json | 9 + .../run_case.sh | 10 + .../logs_to_json_edk2/combined.log | 66 + .../case.log | 51 + .../system_config.txt | 1 + .../case.log | 103 + .../system_config.txt | 1 + .../case.log | 51 + .../system_config.txt | 1 + .../case.log | 207 + .../system_config.txt | 1 + .../ethtool-test/1_file_exists/case.log | 4 + .../ethtool-test/2_python_compiles/case.log | 4 + .../ethtool-test/3_has_main_guard/case.log | 4 + .../case.log | 4 + .../case.log | 17 + .../system_config.txt | 1 + .../6_cli_virtual_interface_only/case.log | 38 + .../system_config.txt | 1 + .../7_cli_sysfs_link_only/case.log | 57 + .../7_cli_sysfs_link_only/system_config.txt | 1 + .../ethtool-test/8_cli_full_success/case.log | 51 + .../8_cli_full_success/system_config.txt | 1 + .../case.log | 69 + .../system_config.txt | 1 + .../ethtool_test/ethtool-test/combined.log | 680 +++ .../case.log | 13 + .../input.log | 1 + .../11_cli_mixed_case_hex_matches/case.log | 13 + .../11_cli_mixed_case_hex_matches/input.log | 1 + .../case.log | 13 + .../input.log | 1 + .../13_cli_invalid_regex_fails/case.log | 38 + .../13_cli_invalid_regex_fails/input.log | 1 + .../14_cli_empty_file_returns_zero/case.log | 13 + .../14_cli_empty_file_returns_zero/empty.log | 0 .../1_file_exists/case.log | 4 + .../2_python_compiles/case.log | 4 + .../3_cli_no_args_fails/case.log | 13 + .../4_cli_one_arg_fails/case.log | 13 + .../5_cli_missing_file_is_nonzero/case.log | 21 + .../case.log | 14 + .../input.log | 5 + .../case.log | 13 + .../input.log | 3 + .../case.log | 13 + .../input.log | 2 + .../case.log | 13 + .../input.log | 1 + .../extract_capsule_fw_version/combined.log | 219 + .../1_fwts_invalid_json_input/case.log | 32 + .../1_fwts_invalid_json_input/fwts.json | 1 + .../json_to_html/combined.log | 40 + .../capsule.html | 2 + .../case.log | 22 + .../standalone.html | 2 + .../summary.html | 299 ++ .../1_file_exists/case.log | 4 + .../2_python_compiles/case.log | 4 + .../3_has_main_guard/case.log | 4 + .../4_cli_requires_many_inputs/case.log | 29 + .../acs_info.json | 9 + .../bbsr_fwts.html | 2 + .../bbsr_sct.html | 2 + .../bbsr_tpm.html | 2 + .../bsa.html | 2 + .../capsule.html | 2 + .../case.log | 22 + .../fwts.html | 2 + .../merged.json | 7 + .../os_tests.html | 2 + .../pfdi.html | 2 + .../post_script.html | 2 + .../sbmr_ib.html | 2 + .../sbmr_oob.html | 2 + .../sbsa.html | 2 + .../scmi.html | 2 + .../sct.html | 2 + .../standalone.html | 2 + .../summary.html | 433 ++ .../bbsr_fwts.html | 2 + .../bbsr_sct.html | 2 + .../bbsr_tpm.html | 2 + .../bsa.html | 2 + .../capsule.html | 2 + .../case.log | 19 + .../fwts.html | 2 + .../os_tests.html | 2 + .../pfdi.html | 2 + .../post_script.html | 2 + .../sbmr_ib.html | 2 + .../sbmr_oob.html | 2 + .../sbsa.html | 2 + .../scmi.html | 2 + .../sct.html | 2 + .../standalone.html | 2 + .../summary.html | 444 ++ .../bbsr_fwts.html | 2 + .../bbsr_sct.html | 2 + .../bbsr_tpm.html | 2 + .../bsa.html | 2 + .../capsule.html | 2 + .../case.log | 19 + .../fwts.html | 2 + .../os_tests.html | 2 + .../pfdi.html | 2 + .../post_script.html | 2 + .../sbmr_ib.html | 2 + .../sbmr_oob.html | 2 + .../sbsa.html | 2 + .../scmi.html | 2 + .../sct.html | 2 + .../standalone.html | 2 + .../summary.html | 444 ++ .../bsa.html | 2 + .../case.log | 24 + .../merged.json | 9 + .../summary.html | 349 ++ .../bsa.html | 2 + .../bsa_detailed.html | 2 + .../case.log | 21 + .../merged.json | 18 + .../summary.html | 281 + .../generate_acs_summary/combined.log | 185 + .../json_to_html/1_file_exists/case.log | 4 + .../json_to_html/2_python_compiles/case.log | 4 + .../json_to_html/3_has_main_guard/case.log | 4 + .../json_to_html/4_empty_json_input/case.log | 13 + .../4_empty_json_input/empty.json | 1 + .../5_missing_test_results_key/case.log | 13 + .../missing_key.json | 3 + .../6_missing_subtests_in_test_case/case.log | 13 + .../detail.html | 205 + .../missing_subtests.json | 8 + .../summary.html | 169 + .../case.log | 13 + .../detail.html | 205 + .../minimal.json | 9 + .../summary.html | 169 + .../json_to_html/combined.log | 78 + .../logs_to_json/1_file_exists/case.log | 4 + .../logs_to_json/2_python_compiles/case.log | 4 + .../3_contains_json_usage/case.log | 4 + .../4_contains_parse_logic/case.log | 6 + .../case.log | 6 + .../6_contains_summary_logic/case.log | 6 + .../7_contains_output_logic/case.log | 6 + .../logs_to_json/8_has_main_guard/case.log | 4 + .../logs_to_json/combined.log | 55 + .../logs_to_json_edk2/1_file_exists/case.log | 4 + .../2_python_compiles/case.log | 4 + .../3_contains_json_usage/case.log | 4 + .../4_contains_parse_logic/case.log | 6 + .../case.log | 6 + .../6_contains_summary_logic/case.log | 6 + .../7_contains_output_logic/case.log | 6 + .../8_has_main_guard/case.log | 4 + .../logs_to_json_edk2/combined.log | 55 + .../sr_logs_to_json/1_file_exists/case.log | 4 + .../2_python_compiles/case.log | 4 + .../3_contains_json_usage/case.log | 4 + .../4_contains_parse_logic/case.log | 6 + .../case.log | 6 + .../6_contains_summary_logic/case.log | 6 + .../7_contains_output_logic/case.log | 6 + .../sr_logs_to_json/8_has_main_guard/case.log | 4 + .../sr_logs_to_json/combined.log | 55 + .../acs_info.json | 5 + .../case.log | 26 + .../merged.json | 18 + .../acs_info.json | 5 + .../case.log | 26 + .../fwts.json | 32 + .../merged.json | 50 + .../bsa.json | 47 + .../case.log | 26 + .../merged.json | 65 + .../acs_info.json | 5 + .../bsa.json | 47 + .../case.log | 26 + .../fwts.json | 32 + .../merged.json | 129 + .../scmi.json | 31 + .../acs_info.json | 5 + .../case.log | 26 + .../merged.json | 65 + .../sbsa.json | 47 + .../acs_info.json | 5 + .../case.log | 26 + .../merged.json | 61 + .../sbmr_ib.json | 43 + .../case.log | 45 + .../case.log | 39 + .../case.log | 39 + .../case.log | 20 + .../merge_jsons/1_file_exists/case.log | 4 + .../case.log | 20 + .../case.log | 20 + .../case.log | 20 + .../case.log | 40 + .../bsa.json | 54 + .../case.log | 26 + .../merged.json | 72 + .../case.log | 38 + .../case.log | 37 + .../case.log | 36 + .../case.log | 36 + .../bad.json | 1 + .../case.log | 28 + .../merged.json | 18 + .../merge_jsons/2_python_compiles/case.log | 4 + .../acs_info.json | 5 + .../case.log | 29 + .../ethtool_test_a.json | 33 + .../merged.json | 52 + .../case.log | 36 + .../case.log | 36 + .../case.log | 26 + .../fwts.json | 34 + .../merged.json | 52 + .../merge_jsons/3_has_main_guard/case.log | 4 + .../merge_jsons/4_cli_no_args_fails/case.log | 15 + .../merge_jsons/5_cli_help_flag/case.log | 24 + .../6_cli_only_output_arg_fails/case.log | 15 + .../case.log | 28 + .../merged.json | 18 + .../case.log | 26 + .../merged.json | 20 + .../one.json | 1 + .../bad.json | 1 + .../case.log | 29 + .../merged.json | 18 + .../merge_jsons/merge_jsons/combined.log | 916 ++++ .../acs_summary.html | 11 + .../10_cli_handles_empty_first_input/case.log | 16 + .../empty_bsa_summary.html | 0 .../os_tests_summary.html | 2 + .../acs_summary.html | 9 + .../11_cli_handles_both_inputs_empty/case.log | 16 + .../empty_bsa_summary.html | 0 .../empty_fwts_summary.html | 0 .../bsa_summary.html | 2 + .../case.log | 23 + .../acs_summary.html | 13 + .../bsa_summary.html | 2 + .../case.log | 18 + .../fwts_summary.html | 2 + .../case.log | 24 + .../corrupt_summary.html | 1 + .../bsa_summary.html | 2 + .../case.log | 20 + .../merge_summary/1_file_exists/case.log | 4 + .../merge_summary/2_python_compiles/case.log | 4 + .../merge_summary/3_has_main_guard/case.log | 4 + .../4_cli_no_args_fails/case.log | 17 + .../5_cli_one_arg_fails/case.log | 17 + .../6_cli_missing_input_file_fails/case.log | 23 + .../acs_summary.html | 13 + .../bsa_summary.html | 2 + .../case.log | 17 + .../fwts_summary.html | 2 + .../acs_results.log | 3 + .../acs_summary.html | 13 + .../case.log | 16 + .../extensions.log | 1 + .../acs_summary.html | 13 + .../case.log | 16 + .../sbsa_summary.html | 2 + .../scmi_summary.html | 2 + .../merge_summary/merge_summary/combined.log | 257 + .../1_os_tests_invalid_json_input/case.log | 14 + .../os_test.json | 1 + .../case.log | 21 + .../detail.html | 239 + .../os_custom.json | 18 + .../summary.html | 166 + .../json_to_html/combined.log | 44 + .../case.log | 13 + .../config.ini | 5 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 3 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 14 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 14 + .../config.ini | 2 + .../Parser/1_file_exists/case.log | 4 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 34 + .../config.ini | 2 + .../case.log | 34 + .../config.ini | 2 + .../Parser/2_python_compiles/case.log | 4 + .../Parser/3_has_main_guard/case.log | 4 + .../case.log | 36 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 5 + .../case.log | 13 + .../config.ini | 2 + .../case.log | 13 + .../config.ini | 2 + .../_work/parser_common/Parser/combined.log | 411 ++ .../1_pfdi_invalid_json_input/case.log | 29 + .../1_pfdi_invalid_json_input/pfdi.json | 1 + .../case.log | 22 + .../detail.html | 84 + .../pfdi.json | 25 + .../summary.html | 54 + .../json_to_html/combined.log | 60 + .../1_post_script_invalid_json_input/case.log | 32 + .../post.json | 1 + .../case.log | 61 + .../post.json | 26 + .../json_to_html/combined.log | 102 + .../case.log | 31 + .../case.log | 36 + .../case.log | 35 + .../blk_commands.log | 5 + .../case.log | 30 + .../hello.txt | Bin 0 -> 512 bytes .../sda1_backup.bin | 1 + .../blk_commands.log | 1 + .../case.log | 12 + .../case.log | 44 + .../case.log | 36 + .../1_file_exists/case.log | 4 + .../2_python_compiles/case.log | 4 + .../3_cli_no_disks_runs_cleanly/case.log | 23 + .../4_cli_skips_mtd_and_ram_disks/case.log | 28 + .../case.log | 35 + .../case.log | 36 + .../blk_commands.log | 6 + .../case.log | 22 + .../blk_commands.log | 6 + .../case.log | 23 + .../case.log | 31 + .../read_write_check_blk_devices/combined.log | 453 ++ .../10_cli_mmap_reg_name_is_ignored/case.log | 38 + .../case_runner.py | 48 + .../device_tree.dts | 12 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 23 + .../case.log | 38 + .../case_runner.py | 48 + .../device_tree.dts | 12 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 26 + .../case.log | 43 + .../case_runner.py | 48 + .../device_tree.dts | 16 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 28 + .../case.log | 38 + .../case_runner.py | 48 + .../device_tree.dts | 18 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 26 + .../case.log | 35 + .../case_runner.py | 48 + .../device_tree.dts | 18 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 23 + .../case.log | 35 + .../case_runner.py | 48 + .../device_tree.dts | 12 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 23 + .../16_cli_memory_node_is_ignored/case.log | 35 + .../case_runner.py | 48 + .../device_tree.dts | 7 + .../16_cli_memory_node_is_ignored/memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 23 + .../case.log | 35 + .../case_runner.py | 48 + .../device_tree.dts | 7 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 23 + .../18_cli_utf16_memmap_is_parsed/case.log | 39 + .../case_runner.py | 48 + .../device_tree.dts | 11 + .../18_cli_utf16_memmap_is_parsed/memmap.log | Bin 0 -> 54 bytes .../runtime_device_mapping_conflict_test.log | 24 + .../case.log | 41 + .../case_runner.py | 48 + .../device_tree.dts | 11 + .../memmap.log | 2 + .../runtime_device_mapping_conflict_test.log | 26 + .../1_file_exists/case.log | 4 + .../case.log | 36 + .../case_runner.py | 48 + .../device_tree.dts | 11 + .../memmap.log | 2 + .../runtime_device_mapping_conflict_test.log | 24 + .../case.log | 36 + .../case_runner.py | 48 + .../device_tree.dts | 11 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 24 + .../case.log | 35 + .../case_runner.py | 48 + .../device_tree.dts | 11 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 23 + .../case.log | 35 + .../case_runner.py | 48 + .../device_tree.dts | 14 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 23 + .../case.log | 36 + .../case_runner.py | 48 + .../device_tree.dts | 22 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 24 + .../case.log | 39 + .../case_runner.py | 48 + .../device_tree.dts | 13 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 27 + .../case.log | 38 + .../case_runner.py | 48 + .../device_tree.dts | 8 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 26 + .../case.log | 38 + .../case_runner.py | 48 + .../device_tree.dts | 13 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 26 + .../case.log | 35 + .../case_runner.py | 48 + .../device_tree.dts | 8 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 23 + .../case.log | 71 + .../case_runner.py | 48 + .../device_tree.dts | 18 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 24 + .../2_python_compiles/case.log | 4 + .../case.log | 38 + .../case_runner.py | 48 + .../device_tree.dts | 18 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 26 + .../case.log | 41 + .../case_runner.py | 48 + .../device_tree.dts | 16 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 29 + .../case.log | 38 + .../case_runner.py | 48 + .../device_tree.dts | 12 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 26 + .../case.log | 35 + .../case_runner.py | 48 + .../device_tree.dts | 12 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 23 + .../case.log | 36 + .../case_runner.py | 48 + .../device_tree.dts | 18 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 24 + .../case.log | 38 + .../case_runner.py | 48 + .../device_tree.dts | 12 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 26 + .../case.log | 18 + .../case.log | 18 + .../case.log | 25 + .../device_tree.dts | 11 + .../memmap.log | 1 + .../3_has_main_guard/case.log | 4 + .../4_cli_missing_both_inputs_warns/case.log | 23 + .../case_runner.py | 48 + .../runtime_device_mapping_conflict_test.log | 8 + .../5_cli_missing_memmap_warns/case.log | 23 + .../5_cli_missing_memmap_warns/case_runner.py | 48 + .../device_tree.dts | 11 + .../runtime_device_mapping_conflict_test.log | 8 + .../case.log | 40 + .../case_runner.py | 48 + .../device_tree.dts | 11 + .../memmap.log | 2 + .../runtime_device_mapping_conflict_test.log | 25 + .../7_cli_overlapping_regions_fail/case.log | 41 + .../case_runner.py | 48 + .../device_tree.dts | 11 + .../7_cli_overlapping_regions_fail/memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 26 + .../8_cli_disabled_node_is_ignored/case.log | 38 + .../case_runner.py | 48 + .../device_tree.dts | 12 + .../8_cli_disabled_node_is_ignored/memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 23 + .../case.log | 35 + .../case_runner.py | 48 + .../device_tree.dts | 13 + .../memmap.log | 1 + .../runtime_device_mapping_conflict_test.log | 23 + .../combined.log | 1320 +++++ .../1_sbmr_invalid_json_input/case.log | 32 + .../1_sbmr_invalid_json_input/sbmr.json | 1 + .../case.log | 32 + .../report.html | 1 + .../sbmr.json | 1 + .../case.log | 22 + .../detail.html | 145 + .../sbmr.json | 22 + .../summary.html | 42 + .../json_to_html/combined.log | 96 + .../1_scmi_invalid_json_input/case.log | 29 + .../1_scmi_invalid_json_input/scmi.json | 1 + .../case.log | 22 + .../detail.html | 86 + .../scmi.json | 16 + .../summary.html | 55 + .../json_to_html/combined.log | 60 + .../1_sct_invalid_json_input/case.log | 32 + .../1_sct_invalid_json_input/sct.json | 1 + .../json_to_html/combined.log | 40 + .../sr_logs_to_json/1_has_sr_keyword/case.log | 4 + .../2_has_sr_parse_logic/case.log | 4 + .../3_has_sr_status_handling/case.log | 4 + .../4_cli_requires_three_args/case.log | 13 + .../case.log | 18 + .../oslogs/rhel/cat-etc-os-release.txt | 2 + .../oslogs/sle/cat-etc-os-release.txt | 2 + .../out.json | 68 + .../post-script.log | 1 + .../run_case.sh | 20 + .../case.log | 18 + .../oslogs/rhel/cat-etc-os-release.txt | 2 + .../out.json | 88 + .../run_case.sh | 10 + .../case.log | 20 + .../oslogs/rhel/cat-etc-os-release.txt | 2 + .../oslogs/sle/cat-etc-os-release.txt | 2 + .../oslogs/ubuntu/cat-etc-os-release.txt | 2 + .../out.json | 108 + .../post-script.log | 2 + .../run_case.sh | 26 + .../sr_logs_to_json/combined.log | 95 + .../1_standalone_invalid_json_input/case.log | 14 + .../standalone.json | 1 + .../case.log | 58 + .../standalone.json | 17 + .../case.log | 64 + .../standalone.json | 28 + .../case.log | 64 + .../standalone.json | 20 + .../json_to_html/combined.log | 211 + .../1_tpm_invalid_json_input/case.log | 32 + .../1_tpm_invalid_json_input/tpm.json | 1 + .../json_to_html/combined.log | 40 + .../case.log | 26 + .../event.yaml | 166 + .../pcr.yaml | 12 + .../run_case.sh | 3 + .../case.log | 24 + .../event.yaml | 150 + .../pcr.yaml | 12 + .../run_case.sh | 3 + .../case.log | 36 + .../event.yaml | 15 + .../pcr.yaml | 12 + .../run_case.sh | 3 + .../case.log | 34 + .../event.yaml | 10 + .../pcr.yaml | 7 + .../run_case.sh | 3 + .../1_file_exists/case.log | 4 + .../2_python_compiles/case.log | 4 + .../3_cli_no_args_fails/case.log | 13 + .../4_cli_one_arg_fails/case.log | 13 + .../5_cli_missing_files_fail_nonzero/case.log | 14 + .../6_cli_invalid_event_yaml_fails/case.log | 17 + .../6_cli_invalid_event_yaml_fails/event.yaml | 1 + .../6_cli_invalid_event_yaml_fails/pcr.yaml | 9 + .../case.log | 12 + .../event.yaml | 15 + .../pcr.yaml | 12 + .../case.log | 12 + .../event.yaml | 15 + .../pcr.yaml | 12 + .../case.log | 23 + .../event.yaml | 166 + .../pcr.yaml | 12 + .../run_case.sh | 3 + .../verify_tpm_measurements/combined.log | 252 + common/reports/acs-info.xml | 211 + common/reports/apply_waivers.xml | 333 ++ .../capsule-ondisk-reporting-vars-check.xml | 585 +++ common/reports/ethtool-test.xml | 675 +++ common/reports/extract-capsule-fw-version.xml | 214 + common/reports/generate_acs_summary.xml | 180 + common/reports/json-to-html.xml | 1615 ++++++ common/reports/logs-to-json.xml | 725 +++ common/reports/merge-jsons.xml | 911 ++++ common/reports/merge-summary.xml | 252 + common/reports/mypy-report.xml | 4 + common/reports/mypy.log | 106 + common/reports/parser_common.xml | 406 ++ common/reports/pylint-report.xml | 5 + common/reports/pylint.log | 2851 +++++++++++ common/reports/pytest.log | 4523 +++++++++++++++++ .../reports/read-write-check-blk-devices.xml | 448 ++ ...untime-device-mapping-conflict-checker.xml | 1315 +++++ common/reports/verify-tpm-measurements.xml | 247 + common/test_yaml/acs-info.yaml | 283 ++ common/test_yaml/apply_waivers.yaml | 761 +++ .../capsule-ondisk-reporting-vars-check.yaml | 839 +++ common/test_yaml/ethtool-test.yaml | 486 ++ .../test_yaml/extract-capsule-fw-version.yaml | 153 + common/test_yaml/generate_acs_summary.yaml | 436 ++ common/test_yaml/json-to-html.yaml | 867 ++++ common/test_yaml/logs-to-json.yaml | 284 ++ common/test_yaml/merge-jsons.yaml | 1333 +++++ common/test_yaml/merge-summary.yaml | 213 + common/test_yaml/parser_common.yaml | 343 ++ .../read-write-check-blk-devices.yaml | 430 ++ ...ntime-device-mapping-conflict-checker.yaml | 975 ++++ common/test_yaml/verify-tpm-measurements.yaml | 526 ++ .../case_data_builders.cpython-312.pyc | Bin 0 -> 8244 bytes .../__pycache__/mock_helpers.cpython-312.pyc | Bin 0 -> 32071 bytes .../__pycache__/mock_loader.cpython-312.pyc | Bin 0 -> 97455 bytes .../__pycache__/pytest_runner.cpython-312.pyc | Bin 0 -> 102940 bytes .../__pycache__/runner_checks.cpython-312.pyc | Bin 0 -> 92137 bytes .../runner_reporting.cpython-312.pyc | Bin 0 -> 17706 bytes .../test_data_builders.cpython-312.pyc | Bin 0 -> 8234 bytes .../__pycache__/test_mocks.cpython-312.pyc | Bin 0 -> 32057 bytes .../yaml_test_harness/case_data_builders.py | 180 + common/yaml_test_harness/mock_helpers.py | 759 +++ common/yaml_test_harness/mock_loader.py | 2744 ++++++++++ common/yaml_test_harness/pytest_runner.py | 584 +++ common/yaml_test_harness/report.py | 947 ++++ common/yaml_test_harness/runner_checks.py | 2299 +++++++++ common/yaml_test_harness/runner_reporting.py | 347 ++ pylint_recent.log | 6 + selected_changes.patch | 1279 +++++ 847 files changed, 57254 insertions(+) create mode 100755 .githooks/pre-commit create mode 100644 .pylintrc create mode 100644 SystemReady-devicetree-band/Yocto/meta-woden/recipes-acs/install-files/files/__pycache__/ethtool-test.cpython-312.pyc create mode 100644 SystemReady-devicetree-band/Yocto/meta-woden/recipes-acs/install-files/files/__pycache__/read_write_check_blk_devices.cpython-312.pyc create mode 100644 common/linux_scripts/__pycache__/capsule_ondisk_reporting_vars_check.cpython-312.pyc create mode 100644 common/linux_scripts/__pycache__/ethtool-test.cpython-312.pyc create mode 100644 common/linux_scripts/__pycache__/extract_capsule_fw_version.cpython-312.pyc create mode 100644 common/linux_scripts/__pycache__/read_write_check_blk_devices.cpython-312.pyc create mode 100644 common/linux_scripts/__pycache__/runtime_device_mapping_conflict_checker.cpython-312.pyc create mode 100644 common/linux_scripts/__pycache__/verify_tpm_measurements.cpython-312.pyc create mode 100644 common/log_parser/__pycache__/acs_info.cpython-312.pyc create mode 100644 common/log_parser/__pycache__/apply_waivers.cpython-312.pyc create mode 100644 common/log_parser/__pycache__/generate_acs_summary.cpython-312.pyc create mode 100644 common/log_parser/__pycache__/merge_jsons.cpython-312.pyc create mode 100644 common/log_parser/__pycache__/merge_summary.cpython-312.pyc create mode 100644 common/log_parser/bbr/fwts/__pycache__/json_to_html.cpython-312.pyc create mode 100644 common/log_parser/bbr/fwts/__pycache__/logs_to_json.cpython-312.pyc create mode 100644 common/log_parser/bbr/sct/__pycache__/json_to_html.cpython-312.pyc create mode 100644 common/log_parser/bbr/sct/__pycache__/logs_to_json.cpython-312.pyc create mode 100644 common/log_parser/bbr/sct/__pycache__/logs_to_json_edk2.cpython-312.pyc create mode 100644 common/log_parser/bbr/tpm/__pycache__/json_to_html.cpython-312.pyc create mode 100644 common/log_parser/bbr/tpm/__pycache__/logs_to_json.cpython-312.pyc create mode 100644 common/log_parser/bsa/__pycache__/json_to_html.cpython-312.pyc create mode 100644 common/log_parser/bsa/__pycache__/logs_to_json.cpython-312.pyc create mode 100644 common/log_parser/os_tests/__pycache__/json_to_html.cpython-312.pyc create mode 100644 common/log_parser/os_tests/__pycache__/logs_to_json.cpython-312.pyc create mode 100644 common/log_parser/os_tests/__pycache__/sr_logs_to_json.cpython-312.pyc create mode 100644 common/log_parser/pfdi/__pycache__/json_to_html.cpython-312.pyc create mode 100644 common/log_parser/pfdi/__pycache__/logs_to_json.cpython-312.pyc create mode 100644 common/log_parser/post_script/__pycache__/json_to_html.cpython-312.pyc create mode 100644 common/log_parser/post_script/__pycache__/logs_to_json.cpython-312.pyc create mode 100644 common/log_parser/sbmr/__pycache__/json_to_html.cpython-312.pyc create mode 100644 common/log_parser/sbmr/__pycache__/logs_to_json.cpython-312.pyc create mode 100644 common/log_parser/scmi/__pycache__/json_to_html.cpython-312.pyc create mode 100644 common/log_parser/scmi/__pycache__/logs_to_json.cpython-312.pyc create mode 100644 common/log_parser/standalone_tests/__pycache__/json_to_html.cpython-312.pyc create mode 100644 common/log_parser/standalone_tests/__pycache__/logs_to_json.cpython-312.pyc create mode 100644 common/parser/__pycache__/Parser.cpython-312.pyc create mode 100644 common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/case.log create mode 100644 common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/dmidecode.log create mode 100644 common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/out/acs_info.json create mode 100644 common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/acs_config.txt create mode 100644 common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/case.log create mode 100644 common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/dmidecode.log create mode 100644 common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/out/acs_info.json create mode 100644 common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/case.log create mode 100644 common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/dmidecode.log create mode 100644 common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/out/acs_info.json create mode 100644 common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/system_config.txt create mode 100644 common/reports/_work/acs_info/acs_info/1_file_exists/case.log create mode 100644 common/reports/_work/acs_info/acs_info/2_python_compiles/case.log create mode 100644 common/reports/_work/acs_info/acs_info/3_cli_help_flag/case.log create mode 100644 common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/case.log create mode 100644 common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/dmidecode.log create mode 100644 common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json create mode 100644 common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/acs_config.txt create mode 100644 common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/case.log create mode 100644 common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/dmidecode.log create mode 100644 common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out/acs_info.json create mode 100644 common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/system_config.txt create mode 100644 common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/acs_config.txt create mode 100644 common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/case.log create mode 100644 common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/dmidecode.log create mode 100644 common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/out/acs_info.json create mode 100644 common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/case.log create mode 100644 common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/dmidecode.log create mode 100644 common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/out/acs_info.json create mode 100644 common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/uefi_version.log create mode 100644 common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/acs_config.txt create mode 100644 common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/case.log create mode 100644 common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/dmidecode.log create mode 100644 common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/ipmitool.log create mode 100644 common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/out/acs_info.json create mode 100644 common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/acs_config.txt create mode 100644 common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/case.log create mode 100644 common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/dmidecode.log create mode 100644 common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/ipmitool.log create mode 100644 common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/out/acs_info.json create mode 100644 common/reports/_work/acs_info/acs_info/combined.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/fwts.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/fwts.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/fwts.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/fwts.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/1_file_exists/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/2_python_compiles/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/3_cli_help_flag/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/4_cli_missing_json_file_returns_zero_with_warning/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/category.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/fwts.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/category.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/case.log create mode 100644 common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/waiver.json create mode 100644 common/reports/_work/apply_waivers/apply_waivers/combined.log create mode 100755 common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/bsa.json create mode 100644 common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/case.log create mode 100755 common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/bsa.json create mode 100644 common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/case.log create mode 100644 common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html create mode 100644 common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html create mode 100644 common/reports/_work/bsa_json_to_html_specific/json_to_html/combined.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/10_os_indications_short_data_treated_as_unreadable/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/11_support_claimed_but_missing_capsule_variables_returns_3/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/12_capsulemax_wrong_attributes_returns_3/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/13_capsulelast_wrong_attributes_returns_3/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/14_malformed_capsulelast_value_returns_3/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/15_capsulemax_too_short_returns_3/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/16_missing_capsulelast_returns_3/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/17_inaccessible_capsule_nnnn_variable_returns_3/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/18_capsule_nnnn_wrong_attributes_returns_3/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/19_multiple_capsule_nnnn_one_bad_one_good_returns_3/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/1_file_exists/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/20_all_valid_variables_return_0_and_pass/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/21_cli_mock_open_raises_oserror_for_existing_capsulelast/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/22_cli_mock_listdir_failure_for_existing_efivarfs/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/23_cli_mock_read_efi_var_os_indications_unreadable_even_when_file_exists/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/24_cli_mock_read_efi_var_capsulemax_missing_even_when_file_exists/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/25_ondisk_supported_without_capsule_entries_currently_passes_overall/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/26_capsulemax_exact_char16_11_length_should_be_enforced/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/27_capsule_nnnn_payload_structure_should_not_be_ignored/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/28_missing_os_indications_is_reported_as_not_found/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/29_logging_failure_silently_skips_log_creation/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/2_python_compiles/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/30_unreadable_os_indications_is_reported_as_unreadable/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/31_capsulemax_with_additional_attribute_bits_is_rejected/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/32_permission_denied_during_capsule_enumeration_is_identified/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/33_malformed_capsule_entry_content_is_rejected/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/34_oversized_capsulemax_value_is_currently_accepted/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/35_invalid_utf16_in_capsulelast_is_reported/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/36_capsulelast_is_not_cross_checked_against_discovered_entry/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/3_has_main_guard/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/4_status_true_returns_passed/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/5_status_false_returns_warning/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/6_decode_valid_utf16le_returns_capsule_name/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/7_missing_efivarfs_returns_1_and_logs_warning/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/8_missing_os_indications_returns_2_and_skips/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/9_os_indications_without_capsule_support_bit_returns_2/case.log create mode 100644 common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/combined.log create mode 100644 common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/1_has_edk2_keyword/case.log create mode 100644 common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/2_has_edk2_parse_logic/case.log create mode 100644 common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/3_cli_requires_two_args/case.log create mode 100644 common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/4_cli_missing_input_file_fails/case.log create mode 100644 common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/case.log create mode 100644 common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/edk2-test-parser.log create mode 100644 common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/out.json create mode 100755 common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/run_case.sh create mode 100644 common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/combined.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health/system_config.txt create mode 100644 common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe/system_config.txt create mode 100644 common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade/system_config.txt create mode 100644 common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery/system_config.txt create mode 100644 common/reports/_work/ethtool_test/ethtool-test/1_file_exists/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/2_python_compiles/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/3_has_main_guard/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/4_expected_test_order_keywords_exist/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero/system_config.txt create mode 100644 common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only/system_config.txt create mode 100644 common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only/system_config.txt create mode 100644 common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success/system_config.txt create mode 100644 common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass/case.log create mode 100644 common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass/system_config.txt create mode 100644 common/reports/_work/ethtool_test/ethtool-test/combined.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/10_cli_multiple_matches_same_line_prints_first_search_per_line/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/10_cli_multiple_matches_same_line_prints_first_search_per_line/input.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/11_cli_mixed_case_hex_matches/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/11_cli_mixed_case_hex_matches/input.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/12_cli_two_capture_groups_prints_only_first_group/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/12_cli_two_capture_groups_prints_only_first_group/input.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/13_cli_invalid_regex_fails/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/13_cli_invalid_regex_fails/input.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/14_cli_empty_file_returns_zero/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/14_cli_empty_file_returns_zero/empty.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/1_file_exists/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/2_python_compiles/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/3_cli_no_args_fails/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/4_cli_one_arg_fails/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/5_cli_missing_file_is_nonzero/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/6_cli_extracts_two_matching_values_in_order/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/6_cli_extracts_two_matching_values_in_order/input.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/7_cli_no_matches_returns_zero_cleanly/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/7_cli_no_matches_returns_zero_cleanly/input.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/8_cli_pattern_without_group_returns_zero_cleanly/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/8_cli_pattern_without_group_returns_zero_cleanly/input.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/9_cli_only_prints_group_1_not_full_match/case.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/9_cli_only_prints_group_1_not_full_match/input.log create mode 100644 common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/combined.log create mode 100644 common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/case.log create mode 100755 common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/fwts.json create mode 100644 common/reports/_work/fwts_json_to_html_specific/json_to_html/combined.log create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/capsule.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/case.log create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/standalone.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/1_file_exists/case.log create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/2_python_compiles/case.log create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/3_has_main_guard/case.log create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/4_cli_requires_many_inputs/case.log create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/acs_info.json create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_fwts.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_sct.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_tpm.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bsa.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/capsule.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/case.log create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/fwts.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/merged.json create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/os_tests.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/pfdi.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/post_script.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_ib.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_oob.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbsa.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/scmi.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sct.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/standalone.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_fwts.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_sct.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_tpm.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bsa.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/capsule.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/case.log create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/fwts.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/os_tests.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/pfdi.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/post_script.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_ib.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_oob.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbsa.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/scmi.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sct.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/standalone.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/summary.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_fwts.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_sct.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_tpm.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bsa.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/capsule.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/case.log create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/fwts.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/os_tests.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/pfdi.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/post_script.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_ib.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_oob.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbsa.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/scmi.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sct.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/standalone.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/summary.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bsa.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/case.log create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/merged.json create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/case.log create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/merged.json create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/summary.html create mode 100644 common/reports/_work/generate_acs_summary/generate_acs_summary/combined.log create mode 100644 common/reports/_work/json_to_html_common/json_to_html/1_file_exists/case.log create mode 100644 common/reports/_work/json_to_html_common/json_to_html/2_python_compiles/case.log create mode 100644 common/reports/_work/json_to_html_common/json_to_html/3_has_main_guard/case.log create mode 100644 common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/case.log create mode 100755 common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/empty.json create mode 100644 common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/case.log create mode 100755 common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/missing_key.json create mode 100644 common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/case.log create mode 100644 common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/detail.html create mode 100755 common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/missing_subtests.json create mode 100644 common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/summary.html create mode 100644 common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/case.log create mode 100644 common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/detail.html create mode 100755 common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/minimal.json create mode 100644 common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/summary.html create mode 100644 common/reports/_work/json_to_html_common/json_to_html/combined.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json/1_file_exists/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json/2_python_compiles/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json/3_contains_json_usage/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json/4_contains_parse_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json/5_contains_result_collection_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json/6_contains_summary_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json/7_contains_output_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json/8_has_main_guard/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json/combined.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json_edk2/1_file_exists/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json_edk2/2_python_compiles/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json_edk2/3_contains_json_usage/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json_edk2/4_contains_parse_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json_edk2/5_contains_result_collection_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json_edk2/6_contains_summary_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json_edk2/7_contains_output_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json_edk2/8_has_main_guard/case.log create mode 100644 common/reports/_work/logs_to_json_common/logs_to_json_edk2/combined.log create mode 100644 common/reports/_work/logs_to_json_common/sr_logs_to_json/1_file_exists/case.log create mode 100644 common/reports/_work/logs_to_json_common/sr_logs_to_json/2_python_compiles/case.log create mode 100644 common/reports/_work/logs_to_json_common/sr_logs_to_json/3_contains_json_usage/case.log create mode 100644 common/reports/_work/logs_to_json_common/sr_logs_to_json/4_contains_parse_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/sr_logs_to_json/5_contains_result_collection_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/sr_logs_to_json/6_contains_summary_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/sr_logs_to_json/7_contains_output_logic/case.log create mode 100644 common/reports/_work/logs_to_json_common/sr_logs_to_json/8_has_main_guard/case.log create mode 100644 common/reports/_work/logs_to_json_common/sr_logs_to_json/combined.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/acs_info.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/acs_info.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/fwts.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/bsa.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/acs_info.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/bsa.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/fwts.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/scmi.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/acs_info.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/sbsa.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/acs_info.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/sbmr_ib.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/16_dt_three_per_os_ethtool_jsons_get_separate_mandatory_labels/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/17_dt_standalone_entry_is_enriched_from_test_categorydt/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/18_dt_ethtool_test_json_is_collapsed_under_standalone/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/19_dt_missing_recommended_suite_makes_overall_not_compliant/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/1_file_exists/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/20_dt_recommended_failure_does_not_change_overall_compliance/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/21_sr_missing_recommended_suite_is_reported_not_run_without_failing_overall/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/22_dt_missing_conditional_mandatory_suite_is_reported_not_run_without_failing_overall/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/23_standalone_entries_are_collapsed_under_single_standalone_section/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/bsa.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/25_dt_scmi_failure_populates_scmi_compliance_results/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/26_dt_bbsr_compliance_results_are_derived_correctly/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/27_dt_bbsr_all_missing_reports_not_run/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/28_dt_bbsr_waiver_only_reports_compliant_with_waivers/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/bad.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/2_python_compiles/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/acs_info.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/ethtool_test_a.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/31_dt_missing_recommended_bsa_is_reported_not_run/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/32_dt_pfdi_conditional_mandatory_path_is_reported_correctly/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/fwts.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/3_has_main_guard/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/4_cli_no_args_fails/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/5_cli_help_flag/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/6_cli_only_output_arg_fails/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/one.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/bad.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/case.log create mode 100644 common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/merged.json create mode 100644 common/reports/_work/merge_jsons/merge_jsons/combined.log create mode 100644 common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/acs_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/empty_bsa_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/os_tests_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/acs_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/empty_bsa_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/empty_fwts_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/bsa_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/bsa_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/fwts_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/corrupt_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/bsa_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/1_file_exists/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/2_python_compiles/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/3_has_main_guard/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/4_cli_no_args_fails/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/5_cli_one_arg_fails/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/acs_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/bsa_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/fwts_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_results.log create mode 100644 common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/extensions.log create mode 100644 common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/acs_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/case.log create mode 100644 common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/sbsa_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/scmi_summary.html create mode 100644 common/reports/_work/merge_summary/merge_summary/combined.log create mode 100644 common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/case.log create mode 100755 common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/os_test.json create mode 100644 common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/case.log create mode 100644 common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html create mode 100755 common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/os_custom.json create mode 100644 common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html create mode 100644 common/reports/_work/os_tests_json_to_html_specific/json_to_html/combined.log create mode 100644 common/reports/_work/parser_common/Parser/10_cli_sbsa_enabled_builds_full_command/case.log create mode 100755 common/reports/_work/parser_common/Parser/10_cli_sbsa_enabled_builds_full_command/config.ini create mode 100644 common/reports/_work/parser_common/Parser/11_cli_sbsa_enabled_with_only_required_flag_prints_base_command/case.log create mode 100755 common/reports/_work/parser_common/Parser/11_cli_sbsa_enabled_with_only_required_flag_prints_base_command/config.ini create mode 100644 common/reports/_work/parser_common/Parser/12_cli_fwts_disabled_or_missing_section_returns_message/case.log create mode 100755 common/reports/_work/parser_common/Parser/12_cli_fwts_disabled_or_missing_section_returns_message/config.ini create mode 100644 common/reports/_work/parser_common/Parser/13_cli_fwts_enabled_builds_module_command/case.log create mode 100755 common/reports/_work/parser_common/Parser/13_cli_fwts_enabled_builds_module_command/config.ini create mode 100644 common/reports/_work/parser_common/Parser/14_cli_fwts_enabled_without_module_prints_base_command/case.log create mode 100755 common/reports/_work/parser_common/Parser/14_cli_fwts_enabled_without_module_prints_base_command/config.ini create mode 100644 common/reports/_work/parser_common/Parser/15_cli_automation_true_prints_true/case.log create mode 100755 common/reports/_work/parser_common/Parser/15_cli_automation_true_prints_true/config.ini create mode 100644 common/reports/_work/parser_common/Parser/16_cli_automation_false_prints_false/case.log create mode 100755 common/reports/_work/parser_common/Parser/16_cli_automation_false_prints_false/config.ini create mode 100644 common/reports/_work/parser_common/Parser/17_cli_automation_missing_section_reports_missing_and_false/case.log create mode 100755 common/reports/_work/parser_common/Parser/17_cli_automation_missing_section_reports_missing_and_false/config.ini create mode 100644 common/reports/_work/parser_common/Parser/18_cli_automation_bsa_run_true_prints_true/case.log create mode 100755 common/reports/_work/parser_common/Parser/18_cli_automation_bsa_run_true_prints_true/config.ini create mode 100644 common/reports/_work/parser_common/Parser/19_cli_automation_bsa_run_missing_section_reports_missing_and_false/case.log create mode 100755 common/reports/_work/parser_common/Parser/19_cli_automation_bsa_run_missing_section_reports_missing_and_false/config.ini create mode 100644 common/reports/_work/parser_common/Parser/1_file_exists/case.log create mode 100644 common/reports/_work/parser_common/Parser/20_cli_automation_sbsa_run_false_prints_false/case.log create mode 100755 common/reports/_work/parser_common/Parser/20_cli_automation_sbsa_run_false_prints_false/config.ini create mode 100644 common/reports/_work/parser_common/Parser/21_cli_automation_fwts_run_true_prints_true/case.log create mode 100755 common/reports/_work/parser_common/Parser/21_cli_automation_fwts_run_true_prints_true/config.ini create mode 100644 common/reports/_work/parser_common/Parser/22_cli_automation_bbsr_fwts_run_true_prints_true/case.log create mode 100755 common/reports/_work/parser_common/Parser/22_cli_automation_bbsr_fwts_run_true_prints_true/config.ini create mode 100644 common/reports/_work/parser_common/Parser/23_cli_automation_bbsr_tpm_run_false_prints_false/case.log create mode 100755 common/reports/_work/parser_common/Parser/23_cli_automation_bbsr_tpm_run_false_prints_false/config.ini create mode 100644 common/reports/_work/parser_common/Parser/24_cli_automation_sbmr_in_band_run_true_prints_true/case.log create mode 100755 common/reports/_work/parser_common/Parser/24_cli_automation_sbmr_in_band_run_true_prints_true/config.ini create mode 100644 common/reports/_work/parser_common/Parser/25_cli_invalid_boolean_in_bsa_section_fails/case.log create mode 100755 common/reports/_work/parser_common/Parser/25_cli_invalid_boolean_in_bsa_section_fails/config.ini create mode 100644 common/reports/_work/parser_common/Parser/26_cli_invalid_boolean_in_automation_check_fails/case.log create mode 100755 common/reports/_work/parser_common/Parser/26_cli_invalid_boolean_in_automation_check_fails/config.ini create mode 100644 common/reports/_work/parser_common/Parser/2_python_compiles/case.log create mode 100644 common/reports/_work/parser_common/Parser/3_has_main_guard/case.log create mode 100644 common/reports/_work/parser_common/Parser/4_cli_help_flag_shows_usage_and_flags/case.log create mode 100644 common/reports/_work/parser_common/Parser/5_cli_no_args_prints_invalid_command_message/case.log create mode 100755 common/reports/_work/parser_common/Parser/5_cli_no_args_prints_invalid_command_message/config.ini create mode 100644 common/reports/_work/parser_common/Parser/6_cli_bsa_disabled_or_missing_section_returns_message/case.log create mode 100755 common/reports/_work/parser_common/Parser/6_cli_bsa_disabled_or_missing_section_returns_message/config.ini create mode 100644 common/reports/_work/parser_common/Parser/7_cli_bsa_enabled_builds_full_command/case.log create mode 100755 common/reports/_work/parser_common/Parser/7_cli_bsa_enabled_builds_full_command/config.ini create mode 100644 common/reports/_work/parser_common/Parser/8_cli_bsa_enabled_with_only_required_flag_prints_base_command/case.log create mode 100755 common/reports/_work/parser_common/Parser/8_cli_bsa_enabled_with_only_required_flag_prints_base_command/config.ini create mode 100644 common/reports/_work/parser_common/Parser/9_cli_sbsa_disabled_or_missing_section_returns_message/case.log create mode 100755 common/reports/_work/parser_common/Parser/9_cli_sbsa_disabled_or_missing_section_returns_message/config.ini create mode 100644 common/reports/_work/parser_common/Parser/combined.log create mode 100644 common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/case.log create mode 100755 common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/pfdi.json create mode 100644 common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/case.log create mode 100644 common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html create mode 100755 common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/pfdi.json create mode 100644 common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html create mode 100644 common/reports/_work/pfdi_json_to_html_specific/json_to_html/combined.log create mode 100644 common/reports/_work/post_script_json_to_html_specific/json_to_html/1_post_script_invalid_json_input/case.log create mode 100755 common/reports/_work/post_script_json_to_html_specific/json_to_html/1_post_script_invalid_json_input/post.json create mode 100644 common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/case.log create mode 100755 common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/post.json create mode 100644 common/reports/_work/post_script_json_to_html_specific/json_to_html/combined.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/10_gpt_partition_metadata_parsing_skips_partition_when_sgdisk_output_is_incomplete/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/11_mounted_partition_skips_write_check_and_never_queries_space/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/12_raw_disk_path_never_reaches_write_side_dd_when_user_declines/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/13_readback_exception_leaves_backup_and_temp_files_behind/blk_commands.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/13_readback_exception_leaves_backup_and_temp_files_behind/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/13_readback_exception_leaves_backup_and_temp_files_behind/hello.txt create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/13_readback_exception_leaves_backup_and_temp_files_behind/sda1_backup.bin create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/14_write_prompt_timeout_defaults_to_safe_decline/blk_commands.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/14_write_prompt_timeout_defaults_to_safe_decline/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/15_raw_disk_write_prompt_is_allowed_without_partition_type_guard/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/16_mounted_guard_applies_only_to_write_phase_not_initial_block_read/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/1_file_exists/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/2_python_compiles/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/3_cli_no_disks_runs_cleanly/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/4_cli_skips_mtd_and_ram_disks/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/5_cli_raw_disk_block_read_success_and_no_write_prompt/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/6_cli_mbr_precious_partition_is_skipped/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/7_write_check_restores_original_block_after_successful_verification/blk_commands.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/7_write_check_restores_original_block_after_successful_verification/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/8_cleanup_runs_even_when_restore_is_not_reached/blk_commands.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/8_cleanup_runs_even_when_restore_is_not_reached/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/9_mbr_parser_limitation_missing_required_columns_is_warned_and_block_io_is_skipped/case.log create mode 100644 common/reports/_work/read_write_check_blk_devices/read_write_check_blk_devices/combined.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/10_cli_mmap_reg_name_is_ignored/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/10_cli_mmap_reg_name_is_ignored/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/10_cli_mmap_reg_name_is_ignored/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/10_cli_mmap_reg_name_is_ignored/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/10_cli_mmap_reg_name_is_ignored/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/11_cli_reg_names_with_mmap_and_register_block_skips_only_mmap/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/11_cli_reg_names_with_mmap_and_register_block_skips_only_mmap/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/11_cli_reg_names_with_mmap_and_register_block_skips_only_mmap/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/11_cli_reg_names_with_mmap_and_register_block_skips_only_mmap/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/11_cli_reg_names_with_mmap_and_register_block_skips_only_mmap/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/12_cli_parent_offset_translation_detects_conflict/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/12_cli_parent_offset_translation_detects_conflict/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/12_cli_parent_offset_translation_detects_conflict/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/12_cli_parent_offset_translation_detects_conflict/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/12_cli_parent_offset_translation_detects_conflict/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/13_cli_ranges_translation_detects_conflict/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/13_cli_ranges_translation_detects_conflict/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/13_cli_ranges_translation_detects_conflict/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/13_cli_ranges_translation_detects_conflict/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/13_cli_ranges_translation_detects_conflict/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/14_cli_no_matching_range_skips_node_and_passes/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/14_cli_no_matching_range_skips_node_and_passes/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/14_cli_no_matching_range_skips_node_and_passes/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/14_cli_no_matching_range_skips_node_and_passes/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/14_cli_no_matching_range_skips_node_and_passes/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/15_cli_reserved_memory_is_ignored/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/15_cli_reserved_memory_is_ignored/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/15_cli_reserved_memory_is_ignored/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/15_cli_reserved_memory_is_ignored/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/15_cli_reserved_memory_is_ignored/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/16_cli_memory_node_is_ignored/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/16_cli_memory_node_is_ignored/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/16_cli_memory_node_is_ignored/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/16_cli_memory_node_is_ignored/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/16_cli_memory_node_is_ignored/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/17_cli_storage_like_node_is_ignored/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/17_cli_storage_like_node_is_ignored/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/17_cli_storage_like_node_is_ignored/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/17_cli_storage_like_node_is_ignored/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/17_cli_storage_like_node_is_ignored/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/18_cli_utf16_memmap_is_parsed/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/18_cli_utf16_memmap_is_parsed/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/18_cli_utf16_memmap_is_parsed/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/18_cli_utf16_memmap_is_parsed/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/18_cli_utf16_memmap_is_parsed/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/19_cli_malformed_memmap_line_is_logged/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/19_cli_malformed_memmap_line_is_logged/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/19_cli_malformed_memmap_line_is_logged/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/19_cli_malformed_memmap_line_is_logged/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/19_cli_malformed_memmap_line_is_logged/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/1_file_exists/case.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/20_cli_deduplicates_identical_memmap_entries/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/20_cli_deduplicates_identical_memmap_entries/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/20_cli_deduplicates_identical_memmap_entries/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/20_cli_deduplicates_identical_memmap_entries/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/20_cli_deduplicates_identical_memmap_entries/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/21_cli_hex_without_0x_in_memmap_is_accepted/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/21_cli_hex_without_0x_in_memmap_is_accepted/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/21_cli_hex_without_0x_in_memmap_is_accepted/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/21_cli_hex_without_0x_in_memmap_is_accepted/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/21_cli_hex_without_0x_in_memmap_is_accepted/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/22_cli_symbolic_reg_cells_known_limitation/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/22_cli_symbolic_reg_cells_known_limitation/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/22_cli_symbolic_reg_cells_known_limitation/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/22_cli_symbolic_reg_cells_known_limitation/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/22_cli_symbolic_reg_cells_known_limitation/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/23_cli_multiline_reg_property_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/23_cli_multiline_reg_property_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/23_cli_multiline_reg_property_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/23_cli_multiline_reg_property_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/23_cli_multiline_reg_property_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/24_cli_multiline_ranges_property_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/24_cli_multiline_ranges_property_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/24_cli_multiline_ranges_property_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/24_cli_multiline_ranges_property_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/24_cli_multiline_ranges_property_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/25_cli_multiline_reg_names_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/25_cli_multiline_reg_names_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/25_cli_multiline_reg_names_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/25_cli_multiline_reg_names_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/25_cli_multiline_reg_names_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/26_cli_multiline_quoted_compatible_property_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/26_cli_multiline_quoted_compatible_property_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/26_cli_multiline_quoted_compatible_property_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/26_cli_multiline_quoted_compatible_property_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/26_cli_multiline_quoted_compatible_property_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/27_cli_multiline_status_property_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/27_cli_multiline_status_property_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/27_cli_multiline_status_property_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/27_cli_multiline_status_property_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/27_cli_multiline_status_property_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/28_cli_multiline_device_type_memory_property_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/28_cli_multiline_device_type_memory_property_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/28_cli_multiline_device_type_memory_property_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/28_cli_multiline_device_type_memory_property_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/28_cli_multiline_device_type_memory_property_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/29_cli_ranges_with_incomplete_cell_tuple_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/29_cli_ranges_with_incomplete_cell_tuple_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/29_cli_ranges_with_incomplete_cell_tuple_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/29_cli_ranges_with_incomplete_cell_tuple_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/29_cli_ranges_with_incomplete_cell_tuple_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/2_python_compiles/case.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/30_cli_ranges_with_extra_trailing_cells_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/30_cli_ranges_with_extra_trailing_cells_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/30_cli_ranges_with_extra_trailing_cells_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/30_cli_ranges_with_extra_trailing_cells_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/30_cli_ranges_with_extra_trailing_cells_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/31_cli_parent_reg_multiple_windows_offset_heuristic_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/31_cli_parent_reg_multiple_windows_offset_heuristic_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/31_cli_parent_reg_multiple_windows_offset_heuristic_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/31_cli_parent_reg_multiple_windows_offset_heuristic_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/31_cli_parent_reg_multiple_windows_offset_heuristic_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/32_cli_reg_names_count_mismatch_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/32_cli_reg_names_count_mismatch_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/32_cli_reg_names_count_mismatch_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/32_cli_reg_names_count_mismatch_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/32_cli_reg_names_count_mismatch_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/33_cli_uppercase_disabled_status_value_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/33_cli_uppercase_disabled_status_value_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/33_cli_uppercase_disabled_status_value_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/33_cli_uppercase_disabled_status_value_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/33_cli_uppercase_disabled_status_value_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/34_cli_ranges_present_but_empty_cells_warning/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/34_cli_ranges_present_but_empty_cells_warning/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/34_cli_ranges_present_but_empty_cells_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/34_cli_ranges_present_but_empty_cells_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/34_cli_ranges_present_but_empty_cells_warning/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/35_cli_comments_are_stripped_before_parse/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/35_cli_comments_are_stripped_before_parse/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/35_cli_comments_are_stripped_before_parse/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/35_cli_comments_are_stripped_before_parse/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/35_cli_comments_are_stripped_before_parse/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/36_cli_missing_dts_file_is_warned_natively/case.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/37_cli_missing_memmap_file_is_warned_natively/case.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/38_cli_mock_log_open_failure_warning/case.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/38_cli_mock_log_open_failure_warning/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/38_cli_mock_log_open_failure_warning/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/3_has_main_guard/case.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/4_cli_missing_both_inputs_warns/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/4_cli_missing_both_inputs_warns/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/4_cli_missing_both_inputs_warns/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/5_cli_missing_memmap_warns/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/5_cli_missing_memmap_warns/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/5_cli_missing_memmap_warns/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/5_cli_missing_memmap_warns/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/6_cli_non_overlapping_regions_pass/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/6_cli_non_overlapping_regions_pass/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/6_cli_non_overlapping_regions_pass/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/6_cli_non_overlapping_regions_pass/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/6_cli_non_overlapping_regions_pass/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/7_cli_overlapping_regions_fail/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/7_cli_overlapping_regions_fail/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/7_cli_overlapping_regions_fail/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/7_cli_overlapping_regions_fail/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/7_cli_overlapping_regions_fail/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/8_cli_disabled_node_is_ignored/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/8_cli_disabled_node_is_ignored/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/8_cli_disabled_node_is_ignored/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/8_cli_disabled_node_is_ignored/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/8_cli_disabled_node_is_ignored/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/9_cli_disabled_ancestor_is_ignored/case.log create mode 100755 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/9_cli_disabled_ancestor_is_ignored/case_runner.py create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/9_cli_disabled_ancestor_is_ignored/device_tree.dts create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/9_cli_disabled_ancestor_is_ignored/memmap.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/9_cli_disabled_ancestor_is_ignored/runtime_device_mapping_conflict_test.log create mode 100644 common/reports/_work/runtime_device_mapping_conflict_checker/runtime_device_mapping_conflict_checker/combined.log create mode 100644 common/reports/_work/sbmr_json_to_html_specific/json_to_html/1_sbmr_invalid_json_input/case.log create mode 100755 common/reports/_work/sbmr_json_to_html_specific/json_to_html/1_sbmr_invalid_json_input/sbmr.json create mode 100644 common/reports/_work/sbmr_json_to_html_specific/json_to_html/2_sbmr_invalid_json_input_with_report_path/case.log create mode 100755 common/reports/_work/sbmr_json_to_html_specific/json_to_html/2_sbmr_invalid_json_input_with_report_path/report.html create mode 100755 common/reports/_work/sbmr_json_to_html_specific/json_to_html/2_sbmr_invalid_json_input_with_report_path/sbmr.json create mode 100644 common/reports/_work/sbmr_json_to_html_specific/json_to_html/3_sbmr_recomputes_summary_when_top_level_summary_missing/case.log create mode 100644 common/reports/_work/sbmr_json_to_html_specific/json_to_html/3_sbmr_recomputes_summary_when_top_level_summary_missing/detail.html create mode 100755 common/reports/_work/sbmr_json_to_html_specific/json_to_html/3_sbmr_recomputes_summary_when_top_level_summary_missing/sbmr.json create mode 100644 common/reports/_work/sbmr_json_to_html_specific/json_to_html/3_sbmr_recomputes_summary_when_top_level_summary_missing/summary.html create mode 100644 common/reports/_work/sbmr_json_to_html_specific/json_to_html/combined.log create mode 100644 common/reports/_work/scmi_json_to_html_specific/json_to_html/1_scmi_invalid_json_input/case.log create mode 100755 common/reports/_work/scmi_json_to_html_specific/json_to_html/1_scmi_invalid_json_input/scmi.json create mode 100644 common/reports/_work/scmi_json_to_html_specific/json_to_html/2_scmi_summary_is_tallied_from_testcase_results/case.log create mode 100644 common/reports/_work/scmi_json_to_html_specific/json_to_html/2_scmi_summary_is_tallied_from_testcase_results/detail.html create mode 100755 common/reports/_work/scmi_json_to_html_specific/json_to_html/2_scmi_summary_is_tallied_from_testcase_results/scmi.json create mode 100644 common/reports/_work/scmi_json_to_html_specific/json_to_html/2_scmi_summary_is_tallied_from_testcase_results/summary.html create mode 100644 common/reports/_work/scmi_json_to_html_specific/json_to_html/combined.log create mode 100644 common/reports/_work/sct_json_to_html_specific/json_to_html/1_sct_invalid_json_input/case.log create mode 100755 common/reports/_work/sct_json_to_html_specific/json_to_html/1_sct_invalid_json_input/sct.json create mode 100644 common/reports/_work/sct_json_to_html_specific/json_to_html/combined.log create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/1_has_sr_keyword/case.log create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/2_has_sr_parse_logic/case.log create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/3_has_sr_status_handling/case.log create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/4_cli_requires_three_args/case.log create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/5_cli_builds_json_for_rhel_and_sle/case.log create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/5_cli_builds_json_for_rhel_and_sle/oslogs/rhel/cat-etc-os-release.txt create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/5_cli_builds_json_for_rhel_and_sle/oslogs/sle/cat-etc-os-release.txt create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/5_cli_builds_json_for_rhel_and_sle/out.json create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/5_cli_builds_json_for_rhel_and_sle/post-script.log create mode 100755 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/5_cli_builds_json_for_rhel_and_sle/run_case.sh create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/6_cli_marks_missing_post_script_as_failed/case.log create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/6_cli_marks_missing_post_script_as_failed/oslogs/rhel/cat-etc-os-release.txt create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/6_cli_marks_missing_post_script_as_failed/out.json create mode 100755 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/6_cli_marks_missing_post_script_as_failed/run_case.sh create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/7_cli_post_script_errors_create_failed_and_warning_subtests/case.log create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/7_cli_post_script_errors_create_failed_and_warning_subtests/oslogs/rhel/cat-etc-os-release.txt create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/7_cli_post_script_errors_create_failed_and_warning_subtests/oslogs/sle/cat-etc-os-release.txt create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/7_cli_post_script_errors_create_failed_and_warning_subtests/oslogs/ubuntu/cat-etc-os-release.txt create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/7_cli_post_script_errors_create_failed_and_warning_subtests/out.json create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/7_cli_post_script_errors_create_failed_and_warning_subtests/post-script.log create mode 100755 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/7_cli_post_script_errors_create_failed_and_warning_subtests/run_case.sh create mode 100644 common/reports/_work/sr_logs_to_json_specific/sr_logs_to_json/combined.log create mode 100644 common/reports/_work/standalone_tests_json_to_html_specific/json_to_html/1_standalone_invalid_json_input/case.log create mode 100755 common/reports/_work/standalone_tests_json_to_html_specific/json_to_html/1_standalone_invalid_json_input/standalone.json create mode 100644 common/reports/_work/standalone_tests_json_to_html_specific/json_to_html/2_unknown_subtest_status_appears_in_detail_but_summary_counts_test_as_passed/case.log create mode 100755 common/reports/_work/standalone_tests_json_to_html_specific/json_to_html/2_unknown_subtest_status_appears_in_detail_but_summary_counts_test_as_passed/standalone.json create mode 100644 common/reports/_work/standalone_tests_json_to_html_specific/json_to_html/3_warning_status_takes_priority_over_failed_with_waiver/case.log create mode 100755 common/reports/_work/standalone_tests_json_to_html_specific/json_to_html/3_warning_status_takes_priority_over_failed_with_waiver/standalone.json create mode 100644 common/reports/_work/standalone_tests_json_to_html_specific/json_to_html/4_nested_reason_lists_are_flattened_into_single_reason_column/case.log create mode 100755 common/reports/_work/standalone_tests_json_to_html_specific/json_to_html/4_nested_reason_lists_are_flattened_into_single_reason_column/standalone.json create mode 100644 common/reports/_work/standalone_tests_json_to_html_specific/json_to_html/combined.log create mode 100644 common/reports/_work/tpm_json_to_html_specific/json_to_html/1_tpm_invalid_json_input/case.log create mode 100755 common/reports/_work/tpm_json_to_html_specific/json_to_html/1_tpm_invalid_json_input/tpm.json create mode 100644 common/reports/_work/tpm_json_to_html_specific/json_to_html/combined.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/10_cli_pcr_mismatch_reports_fail_but_runs/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/10_cli_pcr_mismatch_reports_fail_but_runs/event.yaml create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/10_cli_pcr_mismatch_reports_fail_but_runs/pcr.yaml create mode 100755 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/10_cli_pcr_mismatch_reports_fail_but_runs/run_case.sh create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/11_cli_boot_variable_missing_reports_fail_but_runs/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/11_cli_boot_variable_missing_reports_fail_but_runs/event.yaml create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/11_cli_boot_variable_missing_reports_fail_but_runs/pcr.yaml create mode 100755 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/11_cli_boot_variable_missing_reports_fail_but_runs/run_case.sh create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/12_pcr_comparison_requires_at_least_one_supported_algorithm_match/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/12_pcr_comparison_requires_at_least_one_supported_algorithm_match/event.yaml create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/12_pcr_comparison_requires_at_least_one_supported_algorithm_match/pcr.yaml create mode 100755 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/12_pcr_comparison_requires_at_least_one_supported_algorithm_match/run_case.sh create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/13_truncated_pcr_arrays_are_reported_cleanly/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/13_truncated_pcr_arrays_are_reported_cleanly/event.yaml create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/13_truncated_pcr_arrays_are_reported_cleanly/pcr.yaml create mode 100755 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/13_truncated_pcr_arrays_are_reported_cleanly/run_case.sh create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/1_file_exists/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/2_python_compiles/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/3_cli_no_args_fails/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/4_cli_one_arg_fails/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/5_cli_missing_files_fail_nonzero/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/6_cli_invalid_event_yaml_fails/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/6_cli_invalid_event_yaml_fails/event.yaml create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/6_cli_invalid_event_yaml_fails/pcr.yaml create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/7_cli_mock_open_raises_on_event_log/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/7_cli_mock_open_raises_on_event_log/event.yaml create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/7_cli_mock_open_raises_on_event_log/pcr.yaml create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/8_cli_mock_yaml_safe_load_raises_on_event_log/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/8_cli_mock_yaml_safe_load_raises_on_event_log/event.yaml create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/8_cli_mock_yaml_safe_load_raises_on_event_log/pcr.yaml create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/9_cli_all_required_measurements_pass/case.log create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/9_cli_all_required_measurements_pass/event.yaml create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/9_cli_all_required_measurements_pass/pcr.yaml create mode 100755 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/9_cli_all_required_measurements_pass/run_case.sh create mode 100644 common/reports/_work/verify_tpm_measurements/verify_tpm_measurements/combined.log create mode 100644 common/reports/acs-info.xml create mode 100644 common/reports/apply_waivers.xml create mode 100644 common/reports/capsule-ondisk-reporting-vars-check.xml create mode 100644 common/reports/ethtool-test.xml create mode 100644 common/reports/extract-capsule-fw-version.xml create mode 100644 common/reports/generate_acs_summary.xml create mode 100644 common/reports/json-to-html.xml create mode 100644 common/reports/logs-to-json.xml create mode 100644 common/reports/merge-jsons.xml create mode 100644 common/reports/merge-summary.xml create mode 100644 common/reports/mypy-report.xml create mode 100644 common/reports/mypy.log create mode 100644 common/reports/parser_common.xml create mode 100644 common/reports/pylint-report.xml create mode 100644 common/reports/pylint.log create mode 100644 common/reports/pytest.log create mode 100644 common/reports/read-write-check-blk-devices.xml create mode 100644 common/reports/runtime-device-mapping-conflict-checker.xml create mode 100644 common/reports/verify-tpm-measurements.xml create mode 100644 common/test_yaml/acs-info.yaml create mode 100644 common/test_yaml/apply_waivers.yaml create mode 100644 common/test_yaml/capsule-ondisk-reporting-vars-check.yaml create mode 100644 common/test_yaml/ethtool-test.yaml create mode 100644 common/test_yaml/extract-capsule-fw-version.yaml create mode 100644 common/test_yaml/generate_acs_summary.yaml create mode 100644 common/test_yaml/json-to-html.yaml create mode 100644 common/test_yaml/logs-to-json.yaml create mode 100644 common/test_yaml/merge-jsons.yaml create mode 100644 common/test_yaml/merge-summary.yaml create mode 100644 common/test_yaml/parser_common.yaml create mode 100644 common/test_yaml/read-write-check-blk-devices.yaml create mode 100644 common/test_yaml/runtime-device-mapping-conflict-checker.yaml create mode 100644 common/test_yaml/verify-tpm-measurements.yaml create mode 100644 common/yaml_test_harness/__pycache__/case_data_builders.cpython-312.pyc create mode 100644 common/yaml_test_harness/__pycache__/mock_helpers.cpython-312.pyc create mode 100644 common/yaml_test_harness/__pycache__/mock_loader.cpython-312.pyc create mode 100644 common/yaml_test_harness/__pycache__/pytest_runner.cpython-312.pyc create mode 100644 common/yaml_test_harness/__pycache__/runner_checks.cpython-312.pyc create mode 100644 common/yaml_test_harness/__pycache__/runner_reporting.cpython-312.pyc create mode 100644 common/yaml_test_harness/__pycache__/test_data_builders.cpython-312.pyc create mode 100644 common/yaml_test_harness/__pycache__/test_mocks.cpython-312.pyc create mode 100644 common/yaml_test_harness/case_data_builders.py create mode 100644 common/yaml_test_harness/mock_helpers.py create mode 100644 common/yaml_test_harness/mock_loader.py create mode 100644 common/yaml_test_harness/pytest_runner.py create mode 100644 common/yaml_test_harness/report.py create mode 100644 common/yaml_test_harness/runner_checks.py create mode 100644 common/yaml_test_harness/runner_reporting.py create mode 100644 pylint_recent.log create mode 100644 selected_changes.patch diff --git a/.githooks/pre-commit b/.githooks/pre-commit new file mode 100755 index 00000000..2d66e53c --- /dev/null +++ b/.githooks/pre-commit @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +set -u + +echo "===== PRE-COMMIT CHECKS =====" + +REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null)" || { + echo "Pre-commit hook requires a real git clone/worktree." + exit 1 +} + +cd "$REPO_ROOT" || exit 1 + +if command -v python3 >/dev/null 2>&1; then + PYTHON_BIN="python3" +elif command -v python >/dev/null 2>&1; then + PYTHON_BIN="python" +else + echo "Python not found in PATH." + exit 1 +fi + +if [ -f "$REPO_ROOT/common/yaml_test_harness/report.py" ]; then + REPORT_SCRIPT="$REPO_ROOT/common/yaml_test_harness/report.py" + +else + echo "report.py not found." + echo "Checked:" + echo " - $REPO_ROOT/common/yaml_test_harness/report.py" + echo " - $REPO_ROOT/report.py" + exit 1 +fi + +HOOK_LOG_DIR="$REPO_ROOT/common/reports" +HOOK_LOG="$HOOK_LOG_DIR/precommit_report.log" + +mkdir -p "$HOOK_LOG_DIR" + +"$PYTHON_BIN" "$REPORT_SCRIPT" 2>&1 | tee "$HOOK_LOG" +STATUS=${PIPESTATUS[0]} + + +if [ "$STATUS" -ne 0 ]; then + echo "Pre-commit checks failed." + echo "Log saved at: $HOOK_LOG" + exit 1 +fi + +echo "All checks passed. Proceeding with commit." +exit 0 diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 00000000..0d39b4a2 --- /dev/null +++ b/.pylintrc @@ -0,0 +1,641 @@ +[MAIN] + +# Analyse import fallback blocks. This can be used to support both Python 2 and +# 3 compatible code, which means that the block might have code that exists +# only in one or another interpreter, leading to false positives when analysed. +analyse-fallback-blocks=no + +# Clear in-memory caches upon conclusion of linting. Useful if running pylint +# in a server-like mode. +clear-cache-post-run=no + +# Load and enable all available extensions. Use --list-extensions to see a list +# all available extensions. +#enable-all-extensions= + +# In error mode, messages with a category besides ERROR or FATAL are +# suppressed, and no reports are done by default. Error mode is compatible with +# disabling specific errors. +#errors-only= + +# Always return a 0 (non-error) status code, even if lint errors are found. +# This is primarily useful in continuous integration scripts. +#exit-zero= + +# A comma-separated list of package or module names from where C extensions may +# be loaded. Extensions are loading into the active Python interpreter and may +# run arbitrary code. +extension-pkg-allow-list= + +# A comma-separated list of package or module names from where C extensions may +# be loaded. Extensions are loading into the active Python interpreter and may +# run arbitrary code. (This is an alternative name to extension-pkg-allow-list +# for backward compatibility.) +extension-pkg-whitelist= + +# Return non-zero exit code if any of these messages/categories are detected, +# even if score is above --fail-under value. Syntax same as enable. Messages +# specified are enabled, while categories only check already-enabled messages. +fail-on= + +# Specify a score threshold under which the program will exit with error. +fail-under=10.0 + +# Interpret the stdin as a python script, whose filename needs to be passed as +# the module_or_package argument. +#from-stdin= + +# Files or directories to be skipped. They should be base names, not paths. +ignore=CVS + +# Add files or directories matching the regular expressions patterns to the +# ignore-list. The regex matches against paths and can be in Posix or Windows +# format. Because '\\' represents the directory delimiter on Windows systems, +# it can't be used as an escape character. +ignore-paths= + +# Files or directories matching the regular expression patterns are skipped. +# The regex matches against base names, not paths. The default value ignores +# Emacs file locks +ignore-patterns=^\.# + +# List of module names for which member attributes should not be checked +# (useful for modules/projects where namespaces are manipulated during runtime +# and thus existing member attributes cannot be deduced by static analysis). It +# supports qualified module names, as well as Unix pattern matching. +ignored-modules= + +# Python code to execute, usually for sys.path manipulation such as +# pygtk.require(). +#init-hook= + +# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the +# number of processors available to use, and will cap the count on Windows to +# avoid hangs. +jobs=0 + +# Control the amount of potential inferred values when inferring a single +# object. This can help the performance when dealing with large functions or +# complex, nested conditions. +limit-inference-results=100 + +# List of plugins (as comma separated values of python module names) to load, +# usually to register additional checkers. +load-plugins= + +# Pickle collected data for later comparisons. +persistent=yes + +# Minimum Python version to use for version dependent checks. Will default to +# the version used to run pylint. +py-version=3.11 + +# Discover python modules and packages in the file system subtree. +recursive=no + +# Add paths to the list of the source roots. Supports globbing patterns. The +# source root is an absolute path or a path relative to the current working +# directory used to determine a package namespace for modules located under the +# source root. +source-roots= + +# When enabled, pylint would attempt to guess common misconfiguration and emit +# user-friendly hints instead of false-positive error messages. +suggestion-mode=yes + +# Allow loading of arbitrary C extensions. Extensions are imported into the +# active Python interpreter and may run arbitrary code. +unsafe-load-any-extension=no + +# In verbose mode, extra non-checker-related info will be displayed. +#verbose= + + +[BASIC] + +# Naming style matching correct argument names. +argument-naming-style=snake_case + +# Regular expression matching correct argument names. Overrides argument- +# naming-style. If left empty, argument names will be checked with the set +# naming style. +#argument-rgx= + +# Naming style matching correct attribute names. +attr-naming-style=snake_case + +# Regular expression matching correct attribute names. Overrides attr-naming- +# style. If left empty, attribute names will be checked with the set naming +# style. +#attr-rgx= + +# Bad variable names which should always be refused, separated by a comma. +bad-names=foo, + bar, + baz, + toto, + tutu, + tata + +# Bad variable names regexes, separated by a comma. If names match any regex, +# they will always be refused +bad-names-rgxs= + +# Naming style matching correct class attribute names. +class-attribute-naming-style=any + +# Regular expression matching correct class attribute names. Overrides class- +# attribute-naming-style. If left empty, class attribute names will be checked +# with the set naming style. +#class-attribute-rgx= + +# Naming style matching correct class constant names. +class-const-naming-style=UPPER_CASE + +# Regular expression matching correct class constant names. Overrides class- +# const-naming-style. If left empty, class constant names will be checked with +# the set naming style. +#class-const-rgx= + +# Naming style matching correct class names. +class-naming-style=PascalCase + +# Regular expression matching correct class names. Overrides class-naming- +# style. If left empty, class names will be checked with the set naming style. +#class-rgx= + +# Naming style matching correct constant names. +const-naming-style=UPPER_CASE + +# Regular expression matching correct constant names. Overrides const-naming- +# style. If left empty, constant names will be checked with the set naming +# style. +#const-rgx= + +# Minimum line length for functions/classes that require docstrings, shorter +# ones are exempt. +docstring-min-length=-1 + +# Naming style matching correct function names. +function-naming-style=snake_case + +# Regular expression matching correct function names. Overrides function- +# naming-style. If left empty, function names will be checked with the set +# naming style. +#function-rgx= + +# Good variable names which should always be accepted, separated by a comma. +good-names=i, + j, + k, + ex, + Run, + _ + +# Good variable names regexes, separated by a comma. If names match any regex, +# they will always be accepted +good-names-rgxs= + +# Include a hint for the correct naming format with invalid-name. +include-naming-hint=no + +# Naming style matching correct inline iteration names. +inlinevar-naming-style=any + +# Regular expression matching correct inline iteration names. Overrides +# inlinevar-naming-style. If left empty, inline iteration names will be checked +# with the set naming style. +#inlinevar-rgx= + +# Naming style matching correct method names. +method-naming-style=snake_case + +# Regular expression matching correct method names. Overrides method-naming- +# style. If left empty, method names will be checked with the set naming style. +#method-rgx= + +# Naming style matching correct module names. +module-naming-style=snake_case + +# Regular expression matching correct module names. Overrides module-naming- +# style. If left empty, module names will be checked with the set naming style. +#module-rgx= + +# Colon-delimited sets of names that determine each other's naming style when +# the name regexes allow several styles. +name-group= + +# Regular expression which should only match function or class names that do +# not require a docstring. +no-docstring-rgx=^_ + +# List of decorators that produce properties, such as abc.abstractproperty. Add +# to this list to register other decorators that produce valid properties. +# These decorators are taken in consideration only for invalid-name. +property-classes=abc.abstractproperty + +# Regular expression matching correct type alias names. If left empty, type +# alias names will be checked with the set naming style. +#typealias-rgx= + +# Regular expression matching correct type variable names. If left empty, type +# variable names will be checked with the set naming style. +#typevar-rgx= + +# Naming style matching correct variable names. +variable-naming-style=snake_case + +# Regular expression matching correct variable names. Overrides variable- +# naming-style. If left empty, variable names will be checked with the set +# naming style. +#variable-rgx= + + +[CLASSES] + +# Warn about protected attribute access inside special methods +check-protected-access-in-special-methods=no + +# List of method names used to declare (i.e. assign) instance attributes. +defining-attr-methods=__init__, + __new__, + setUp, + asyncSetUp, + __post_init__ + +# List of member names, which should be excluded from the protected access +# warning. +exclude-protected=_asdict,_fields,_replace,_source,_make,os._exit + +# List of valid names for the first argument in a class method. +valid-classmethod-first-arg=cls + +# List of valid names for the first argument in a metaclass class method. +valid-metaclass-classmethod-first-arg=mcs + + +[DESIGN] + +# List of regular expressions of class ancestor names to ignore when counting +# public methods (see R0903) +exclude-too-few-public-methods= + +# List of qualified class names to ignore when counting class parents (see +# R0901) +ignored-parents= + +# Maximum number of arguments for function / method. +max-args=5 + +# Maximum number of attributes for a class (see R0902). +max-attributes=7 + +# Maximum number of boolean expressions in an if statement (see R0916). +max-bool-expr=5 + +# Maximum number of branch for function / method body. +max-branches=12 + +# Maximum number of locals for function / method body. +max-locals=15 + +# Maximum number of parents for a class (see R0901). +max-parents=7 + +# Maximum number of public methods for a class (see R0904). +max-public-methods=20 + +# Maximum number of return / yield for function / method body. +max-returns=6 + +# Maximum number of statements in function / method body. +max-statements=50 + +# Minimum number of public methods for a class (see R0903). +min-public-methods=2 + + +[EXCEPTIONS] + +# Exceptions that will emit a warning when caught. +overgeneral-exceptions=builtins.BaseException,builtins.Exception + + +[FORMAT] + +# Expected format of line ending, e.g. empty (any line ending), LF or CRLF. +expected-line-ending-format= + +# Regexp for a line that is allowed to be longer than the limit. +ignore-long-lines=^\s*(# )??$ + +# Number of spaces of indent required inside a hanging or continued line. +indent-after-paren=4 + +# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 +# tab). +indent-string=' ' + +# Maximum number of characters on a single line. +max-line-length=100 + +# Maximum number of lines in a module. +max-module-lines=1000 + +# Allow the body of a class to be on the same line as the declaration if body +# contains single statement. +single-line-class-stmt=no + +# Allow the body of an if to be on the same line as the test if there is no +# else. +single-line-if-stmt=no + + +[IMPORTS] + +# List of modules that can be imported at any level, not just the top level +# one. +allow-any-import-level= + +# Allow explicit reexports by alias from a package __init__. +allow-reexport-from-package=no + +# Allow wildcard imports from modules that define __all__. +allow-wildcard-with-all=no + +# Deprecated modules which should not be used, separated by a comma. +deprecated-modules= + +# Output a graph (.gv or any supported image format) of external dependencies +# to the given file (report RP0402 must not be disabled). +ext-import-graph= + +# Output a graph (.gv or any supported image format) of all (i.e. internal and +# external) dependencies to the given file (report RP0402 must not be +# disabled). +import-graph= + +# Output a graph (.gv or any supported image format) of internal dependencies +# to the given file (report RP0402 must not be disabled). +int-import-graph= + +# Force import order to recognize a module as part of the standard +# compatibility libraries. +known-standard-library= + +# Force import order to recognize a module as part of a third party library. +known-third-party=enchant + +# Couples of modules and preferred modules, separated by a comma. +preferred-modules= + + +[LOGGING] + +# The type of string formatting that logging methods do. `old` means using % +# formatting, `new` is for `{}` formatting. +logging-format-style=old + +# Logging modules to check that the string format arguments are in logging +# function parameter format. +logging-modules=logging + + +[MESSAGES CONTROL] + +# Only show warnings with the listed confidence levels. Leave empty to show +# all. Valid levels: HIGH, CONTROL_FLOW, INFERENCE, INFERENCE_FAILURE, +# UNDEFINED. +confidence=HIGH, + CONTROL_FLOW, + INFERENCE, + INFERENCE_FAILURE, + UNDEFINED + +# Disable the message, report, category or checker with the given id(s). You +# can either give multiple identifiers separated by comma (,) or put this +# option multiple times (only on the command line, not in the configuration +# file where it should appear only once). You can also use "--disable=all" to +# disable everything first and then re-enable specific checks. For example, if +# you want to run only the similarities checker, you can use "--disable=all +# --enable=similarities". If you want to run only the classes checker, but have +# no Warning level messages displayed, use "--disable=all --enable=classes +# --disable=W". +disable= + R0801, + broad-exception-caught, + broad-exception-raised, + invalid-name, + logging-fstring-interpolation, + missing-class-docstring, + missing-function-docstring, + missing-module-docstring, + redefined-outer-name, + too-few-public-methods, + too-many-branches, + too-many-lines, + too-many-locals, + too-many-statements, + unspecified-encoding +# Enable the message, report, category or checker with the given id(s). You can +# either give multiple identifier separated by comma (,) or put this option +# multiple time (only on the command line, not in the configuration file where +# it should appear only once). See also the "--disable" option for examples. +enable=c-extension-no-member + + + +[METHOD_ARGS] + +# List of qualified names (i.e., library.method) which require a timeout +# parameter e.g. 'requests.api.get,requests.api.post' +timeout-methods=requests.api.delete,requests.api.get,requests.api.head,requests.api.options,requests.api.patch,requests.api.post,requests.api.put,requests.api.request + + +[MISCELLANEOUS] + +# List of note tags to take in consideration, separated by a comma. +notes=FIXME, + XXX, + TODO + +# Regular expression of note tags to take in consideration. +notes-rgx= + + +[REFACTORING] + +# Maximum number of nested blocks for function / method body +max-nested-blocks=5 + +# Complete name of functions that never returns. When checking for +# inconsistent-return-statements if a never returning function is called then +# it will be considered as an explicit return statement and no message will be +# printed. +never-returning-functions=sys.exit,argparse.parse_error + + +[REPORTS] + +# Python expression which should return a score less than or equal to 10. You +# have access to the variables 'fatal', 'error', 'warning', 'refactor', +# 'convention', and 'info' which contain the number of messages in each +# category, as well as 'statement' which is the total number of statements +# analyzed. This score is used by the global evaluation report (RP0004). +evaluation=max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)) + +# Template used to display messages. This is a python new-style format string +# used to format the message information. See doc for all details. +msg-template= + +# Set the output format. Available formats are text, parseable, colorized, json +# and msvs (visual studio). You can also give a reporter class, e.g. +# mypackage.mymodule.MyReporterClass. +#output-format= + +# Tells whether to display a full report or only the messages. +reports=no + +# Activate the evaluation score. +score=yes + + +[SIMILARITIES] + +# Comments are removed from the similarity computation +ignore-comments=yes + +# Docstrings are removed from the similarity computation +ignore-docstrings=yes + +# Imports are removed from the similarity computation +ignore-imports=yes + +# Signatures are removed from the similarity computation +ignore-signatures=yes + +# Minimum lines number of a similarity. +min-similarity-lines=4 + + +[SPELLING] + +# Limits count of emitted suggestions for spelling mistakes. +max-spelling-suggestions=4 + +# Spelling dictionary name. No available dictionaries : You need to install +# both the python package and the system dependency for enchant to work.. +spelling-dict= + +# List of comma separated words that should be considered directives if they +# appear at the beginning of a comment and should not be checked. +spelling-ignore-comment-directives=fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy: + +# List of comma separated words that should not be checked. +spelling-ignore-words= + +# A path to a file that contains the private dictionary; one word per line. +spelling-private-dict-file= + +# Tells whether to store unknown words to the private dictionary (see the +# --spelling-private-dict-file option) instead of raising a message. +spelling-store-unknown-words=no + + +[STRING] + +# This flag controls whether inconsistent-quotes generates a warning when the +# character used as a quote delimiter is used inconsistently within a module. +check-quote-consistency=no + +# This flag controls whether the implicit-str-concat should generate a warning +# on implicit string concatenation in sequences defined over several lines. +check-str-concat-over-line-jumps=no + + +[TYPECHECK] + +# List of decorators that produce context managers, such as +# contextlib.contextmanager. Add to this list to register other decorators that +# produce valid context managers. +contextmanager-decorators=contextlib.contextmanager + +# List of members which are set dynamically and missed by pylint inference +# system, and so shouldn't trigger E1101 when accessed. Python regular +# expressions are accepted. +generated-members= + +# Tells whether to warn about missing members when the owner of the attribute +# is inferred to be None. +ignore-none=yes + +# This flag controls whether pylint should warn about no-member and similar +# checks whenever an opaque object is returned when inferring. The inference +# can return multiple potential results while evaluating a Python object, but +# some branches might not be evaluated, which results in partial inference. In +# that case, it might be useful to still emit no-member and other checks for +# the rest of the inferred objects. +ignore-on-opaque-inference=yes + +# List of symbolic message names to ignore for Mixin members. +ignored-checks-for-mixins=no-member, + not-async-context-manager, + not-context-manager, + attribute-defined-outside-init + +# List of class names for which member attributes should not be checked (useful +# for classes with dynamically set attributes). This supports the use of +# qualified names. +ignored-classes=optparse.Values,thread._local,_thread._local,argparse.Namespace + +# Show a hint with possible names when a member name was not found. The aspect +# of finding the hint is based on edit distance. +missing-member-hint=yes + +# The minimum edit distance a name should have in order to be considered a +# similar match for a missing member name. +missing-member-hint-distance=1 + +# The total number of similar names that should be taken in consideration when +# showing a hint for a missing member. +missing-member-max-choices=1 + +# Regex pattern to define which classes are considered mixins. +mixin-class-rgx=.*[Mm]ixin + +# List of decorators that change the signature of a decorated function. +signature-mutators= + + +[VARIABLES] + +# List of additional names supposed to be defined in builtins. Remember that +# you should avoid defining new builtins when possible. +additional-builtins= + +# Tells whether unused global variables should be treated as a violation. +allow-global-unused-variables=yes + +# List of names allowed to shadow builtins +allowed-redefined-builtins= + +# List of strings which can identify a callback function by name. A callback +# name must start or end with one of those strings. +callbacks=cb_, + _cb + +# A regular expression matching the name of dummy variables (i.e. expected to +# not be used). +dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ + +# Argument names that match this expression will be ignored. +ignored-argument-names=_.*|^ignored_|^unused_ + +# Tells whether we should check for unused import in __init__ files. +init-import=no + +# List of qualified module names which can have objects that can redefine +# builtins. +redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io + + diff --git a/SystemReady-devicetree-band/Yocto/meta-woden/recipes-acs/install-files/files/__pycache__/ethtool-test.cpython-312.pyc b/SystemReady-devicetree-band/Yocto/meta-woden/recipes-acs/install-files/files/__pycache__/ethtool-test.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..56caef08e1c8070c57788eb560f99af44754516a GIT binary patch literal 32113 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 literal 0 HcmV?d00001 diff --git a/SystemReady-devicetree-band/Yocto/meta-woden/recipes-acs/install-files/files/__pycache__/read_write_check_blk_devices.cpython-312.pyc b/SystemReady-devicetree-band/Yocto/meta-woden/recipes-acs/install-files/files/__pycache__/read_write_check_blk_devices.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c53d96c78417d27f0201c91dc9caf352d890059b GIT binary patch literal 15518 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 literal 0 HcmV?d00001 diff --git a/common/linux_scripts/__pycache__/capsule_ondisk_reporting_vars_check.cpython-312.pyc b/common/linux_scripts/__pycache__/capsule_ondisk_reporting_vars_check.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7ef6242827c9f739660d0d6dd511908d2c1ef386 GIT binary patch literal 16802 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
    MRHaOW-u^aEjvgqf5(aQUHr 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 P*KGgxAutijZ!i8o>ZR>h literal 0 HcmV?d00001 diff --git a/common/linux_scripts/__pycache__/verify_tpm_measurements.cpython-312.pyc b/common/linux_scripts/__pycache__/verify_tpm_measurements.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e0592de1f5ea75f0c86879c66c97c534f624cb71 GIT binary patch literal 12356 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 Ou*cHvq8_+V{{I1;itP{p literal 0 HcmV?d00001 diff --git a/common/log_parser/__pycache__/acs_info.cpython-312.pyc b/common/log_parser/__pycache__/acs_info.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2caa045fa3dee645dcc996a3ed6a483a6c508025 GIT binary patch literal 8981 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ƃp11qA@gZ@L}&`wbkn~?KbV$^gXdB~cz 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 literal 0 HcmV?d00001 diff --git a/common/log_parser/__pycache__/generate_acs_summary.cpython-312.pyc b/common/log_parser/__pycache__/generate_acs_summary.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cc01589c7f90f4cca87acfa77e2e4b583a550e8b GIT binary patch literal 49276 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 b_VK08V}Z_N!N!4))yJ1FsVH>;k@o)|(lyVq literal 0 HcmV?d00001 diff --git a/common/log_parser/__pycache__/merge_jsons.cpython-312.pyc b/common/log_parser/__pycache__/merge_jsons.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..08db0219a3115cfd37c4815a024e585672679b88 GIT binary patch literal 26987 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 literal 0 HcmV?d00001 diff --git a/common/log_parser/__pycache__/merge_summary.cpython-312.pyc b/common/log_parser/__pycache__/merge_summary.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0f458bc4e0b3bf71f14fe02963b88f5f6a70d0c5 GIT binary patch literal 1989 zcmZ`(O>7%g5Pom>t-b5Ngf{<5ib)eSZkm_?EgVcmstOfEs-Qxl5y&jrjlIUZwstp7 zZ8pdU4mlvvTT^jpj)6qb8)tgu;w6b3EjdKu#LZ2RBKgF;x3=R#`&OQPGxN>t_|5m` z_h>YPU^S+nXdw}yzo^n$LUVK6fXxG>AO+{qg8#+~SmC}!3!K7(~9LWx!A0p;R7IPmB&AWcz|qXq$1a>s%@aQ)=734 z9n?CF&mdwIuX1*<<#yntTQyuptGvTGd`@b4Pv5P7xWp}T&>eVMQ5fAq=g|zZ@Ct{~ z9faX2p?mxtw1N}dO%Iz1!Q%>+M~bqY^+cQh$9vQ?cXD6WwSJ0EO`<|rfF7_vV-=^dLKju9SjUT3O)?h1}5BriOs>Cf!AHq zTbZqVb09_6wDq$)(nuX)VREBqziVXOepGr``r+$p*ToYaj3?A{L`B02L%Lti%!c{j z!oqA%aIv#n?Vi2{oqm8aXq9u&b@cgp=nrqVyYKMNbdIbF4wq{(7P7aOLmXj=Yhf|^ zZk!;y%>)NO)8l{>$hG_5PJxt;c)QI2r)`Dmh7n>63NlHnd2S|0Q1~(=?x^P+LC?o3 z?sg7LP6W^>00Q@I}La}P> z+y=iRjnxqmrZ>a;;@O%w=!%2Yp^taP+Xt5}Kh}3HT?hV3({5y9ZPx9YxF6dH?nnA- zkr6jCvYy!_4~@OZRGkON;c57#U2*C}f}|%j^HVAs7X8z|&PK0A`6p4~T3^r;(`jAS zjC8s@HAgRGTwl)HS~0K2+4YWVhFyruaZ58YV7u|r+y~4toxomLQLRN&E7~v(Ogcv! zc(Ob&4->_TLy(ZOoe(6CQCOP7D{Ei{cPwd)#f$*z<6@+xWpu z;^<~|%_b|%-Ve-XS3!5B6<45Dv|oJQ&BqF9f5sVDCLJQ>Y9p=qGZ1YgzV@8z?wOu( zdu-n%1@7vqI(5#eQ&s1jsy_2yWn~@;(u(WD1m+WZ$RjvDp@zJI6P`YyQgA_C znZQD+T&xh><2xuy8YgrrhbnE9SS41DZ8O-(=XZb~OoC_p0Q6`E$Qr?G)Y24`E5`s= zaT0ua7;DUeuL(L0)veN6Mq2AvX)PzM4M4qItP|_ShC6nR1DcwlXJ~)b6D$t+Y1MUn zMiJ%HXW*3`6k`)nUJ-|NVA6$wCzhYj!Q%#%q{j3iLot``=x-;f_jgj%MH@w>>?tN` zA2VapVGP(LU8)r)K&C(2kz|H#GhNsPwo>UzTyvaF|}4>I^4hV&`RXg1_9gyOWn<0eMCSB$CJrGo8bUSS%6m zj3!2d6TBpgQfDY6b&gCaa_5+whzFHKFs#I)9TPKZ?Wm{(hk02HM&hy<>Y-QCA*LBw)+|MYRqwXp*PtWhpdVSXpTs`pVp+)-_?wjtLw9P}EMFW0k^VHiz{00fbdmxocY%a$Nt@MN2(}1y2W9|M$_{g2 z#-~+Nf?Z$?7=al-No4(s;7HN1QJhISLZifuH@|D3PpyzALqS+7N>CDI6moUnvD0t8 zelmFB^x&!Bg=43G`}#Qv$quSsIh>dZPVp!jSXXwCnV(TvK!E*asRp1_mtIt9NyasX z6D5^lON}7H8U!&XqLZ<>9GsLzL287St?(xg!vjQI-7wdmt=aU9VjR`;uB@--TL0Dl zbff=vcgEK-Pouc^UEP{E5>GQs9i>Fa!>ePQ8aq&soez zohch&bpuwrf|N)aL*W!9!E@K7V@$BlB0wl6>7*@b7kqci?&z3OjDlk!DQPqGP|A_C zNnXXfvL#N#!f+}$HzXw)=%p_(Sc;Oq;aw><=^8_^6(wWCr`$=0;K0Quu}L=Rm<3uw z`7A7PLcwDiM`aNTC<1O=H$}<74Xt%WO;9vig$krK3pGi1(y8;{5Gs>Soq82%^9a?S zGeXTj+k{%7PN=`za7ULXO?{>?l!?Fkm9&ILp-E`IyD6_}P4KvSi;}Qec>Y_*niQxPT1T_74vbsY;OBn5z6=f@)x6Y#=b;H7vZJ}Rp|C86+9FdGDmUK$~| z)JCmMD+Ljwt`muxRLitxUPrDMWt~L1);gsV@;hf;ZNgqr5O{bQIVc>^UiKUs-rWr~ zheZ5`O(SAg2x~@0M)nK~e%lit$l-|#9%$`HBBOF-R#Y9KC_g-owiL8%LQ>tLFe;MQ zCj!Fb_8z@b`)_ajW%iS!qyKml)1Qvc+B>>OUeN8Tb6AWkqNF-Q2}Mc7q;^DaS8ZWl zwO!^_b|ev3kk0Iuz6*orxj|6-+&N-4WbR}{R-{O1Qi&wuPpYA#%7hY8;8g0yf(QFf ziILH;GV2{g>2fC$lX2w<8d*QB0ofXPC39AkzqC`d2ITPhW zVpMfbE0N)G8OmDjQ;@-6l%GjVDiSJdFlhW`5vYPlqX}758Cev^K|icdif3XMBlm&*t+-Y||3kly2VpC7)prVnbqyec6t9}Cw=b8u%A9krKdYq5&(d>!KQOM}zxnZ-3sVo7t&hFs=pHTXU)*=wd2jmz@A0{l zKUCK(h=15Q*Z<8+t)IyY`#zh!P0yWrT-Uf*yEvJtYkx+09GF5j}qr+r+uq5=QcHT++h z%k5cq0r4LjDF^%e(;uHsmv`K&zVCdx9X91(~@`7V&4~MZl1|(4rII? zkG%Vqy!*Z!&3Jp$Ot0p(pwnn1oN(f`?1CA*K`FY91&cx(x)3ZsoSAe_g!nMT8d3s- zb^5!*^iI4NtWPZDLQbebuK7uHlDX@?Lr#Z4 z)1{y?BMJN(kI{P{1^x#+mh)^381x*Bk&;s&oD_{da2lf8sNHbTn1VybyA%!oW~gcV zyVMlz_YUwsaTMjjti!W5EH_)t`|ph9%>VQzOQRHY{*Ddv@i@~ld=*SnIR~^bzG0G?$GXo0{X~yaUF1fLry?O zl?5A`Gy_Uv;xM<@(nRI->-sI&h=m>0je^7rkx3aXN3o98EXQ;}4)a1{>M+;Efj%d2 zoHQEZcXaLI^#2{Z{e{zBG_{3t08?o(Zk-+N*aX%&ZymZ1@Z$a=Q-r+fatIh*tVf{B z(*UxT*~SzqE=ia{FcyI@xHp!o$z;8{EzRH>ByoU-=dfq*-b4F}3{#PWO)LqbJS;^f z@DOPsW;0)wGrlf)8Jry$IXHZ<$Q~AQ2KyN89l8n~Xozwzx`iNRU3HUpU8j=w)s@{^ zyC223hJ;t}shO+*+p4z(t-KFfPUg;2rqP zjmFGqq3SRpB7BCsd$r3GE_aZCsvIH$qnRyz+yzFa2%83-p9d_PQ;#AQqAqL<_nudH zWm1N-Ot>^0xw}~%3|cG*A$)F$6jCl+FNJLum<)g(Md;P8k#ORWZ_`Q505Wm_Hr9^G zF1Pl=QXpmW0YrwiusRy+aUp>*iOt8zx>2@BCL%2C6Id5>(>-MP5DX<{+oBH*Cm?J?bKz4*1|E9PU`)nmrOH zx&D<_Hk(GGKTPJ)wlKkp(N>7+7%*y~QXvlXAz|W9QGmep2s`_J4!@ zS4MCo^$?mJU49c=x`o^z_G8D-oEyxsr`xFw;yB-b`s~>p4&9V&5XXgM=LSv>ym4M1 zkgo05jYN0ci&U<~q>w2on9?O;qPAWn-1 zD%mAZy>OwF?1Xf5@RD$O7qhn#q9l9TM*5}L zBZ{{)e-+FU29M_0kNkgeb|MzKMS+{&b5`nng>Xl3eP_;OBCw`zEG^o*YX= z;yYS0Yc#JGaZgYwOUc z>l2VeLPp_-VU$FI+ZxAgx+64j7v~_AHBtTbs?^%KMjp(XX9WY$Z5>CfZA3aQxcp&{ch^r7ZJ1)0RAvOOqht&fK@pIo1wvKl0-*>ziGdmguy^23 z{$F^^Q9o2PEK?WlP3&`cR=Vd-Er005*kKY9hzK24^l4r+Lht2JW z0B>)jR&?2+$U-sQxMRuVf9hu3JD2U0qjI^Ds@;6!==G!7nwPS*TeEeow|bZAx^sC; z$D@|+rIzmWp11FRkZJi%w!ZDwnWg%@xx8Upx_#eL!~SetOSWL;v!ijNm0PV7HAtB-r^UwItI zYg`3C3CP719frsvb4(FL?9fJR4aDQD5yhOe-_fIyQuwQlg18*PX8LFUCuhp>5u-&1 zLClf!B(*@l4>5-+7sUPMqJdy~^dvY;A@C4sEI6la(ki8g3q-kKGqT+#xq%sj$IR<+Y+C96@2bB@p&xqc~-&aSrebv z5}$V!eBL$iS+4=#XfDnxD>x7&nDbNkBpGN6{wBh0D>qz0g`DN|=@-AOc_T1^yaL9FN+-7qR% z^=TJD+D|F^Acz)KB)==XxUj-#F>zlcHo zsa6}elA7)%byfPOCsUO>--E#~X?X>%dh)}8_uMx<37IC^UG~D8uAwp0v@{cg=mtrF zrnfeAM?H3z%_kP+jJpl>+qPRXk1J}f&0L*XY|2!$%`>Rswt?DhYR)z`Ww*6w z;RXITZ+cqhs&mf0y6dgIddOX+O~@3m&?jz9&* zy=K_<2mT}X#_o5dhlEE%;iaK)Ix>}>navDc$@r5?Y!V^psbXZp7j zX({;=42?c!d#Yv26m{Ho(FWNiThInS6q4z`!E8T|5N_TEok_rLhJE?L&fa^o_m8G8 zjy$?JwsdhUJwBUGrZN{l%h67lCQRA|k0%&r3ww*WM)V*=qmM&{S_J{>6VZecjf8*_zNttBwf? zj^!#NPDd0ehBV^%NWkMy6p0Wf+vo+`6H5q_@SQ^XTWG>@$o~qDWjjsN&s!E>POj-wBm*TAu1n#nl+A2d6v A;{X5v literal 0 HcmV?d00001 diff --git a/common/log_parser/bbr/fwts/__pycache__/logs_to_json.cpython-312.pyc b/common/log_parser/bbr/fwts/__pycache__/logs_to_json.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9f475d7c9d5cbec172242b7c742be6b7b8909817 GIT binary patch literal 10796 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 literal 0 HcmV?d00001 diff --git a/common/log_parser/bbr/sct/__pycache__/json_to_html.cpython-312.pyc b/common/log_parser/bbr/sct/__pycache__/json_to_html.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1daad54f14b004eb329aa306233cfdaa6fa8fee5 GIT binary patch literal 13987 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 literal 0 HcmV?d00001 diff --git a/common/log_parser/bbr/sct/__pycache__/logs_to_json.cpython-312.pyc b/common/log_parser/bbr/sct/__pycache__/logs_to_json.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9b741cb0d8ab071c17607d9dfa0783bef909982b GIT binary patch literal 21281 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 literal 0 HcmV?d00001 diff --git a/common/log_parser/bbr/tpm/__pycache__/logs_to_json.cpython-312.pyc b/common/log_parser/bbr/tpm/__pycache__/logs_to_json.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d319e880ed962553124d4390fbcf0fde87307899 GIT binary patch literal 4519 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 U@nE9k*c0lzn>7U0C>P=X0G20vkN^Mx literal 0 HcmV?d00001 diff --git a/common/log_parser/bsa/__pycache__/logs_to_json.cpython-312.pyc b/common/log_parser/bsa/__pycache__/logs_to_json.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..01e56044ca146859481706725c728e0160ffc572 GIT binary patch literal 12969 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 literal 0 HcmV?d00001 diff --git a/common/log_parser/os_tests/__pycache__/sr_logs_to_json.cpython-312.pyc b/common/log_parser/os_tests/__pycache__/sr_logs_to_json.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b676bd5e7952c590e0c2746beb0631eff601c696 GIT binary patch literal 9621 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 No3rrK0@5MP`oBXy)-?bC literal 0 HcmV?d00001 diff --git a/common/log_parser/pfdi/__pycache__/json_to_html.cpython-312.pyc b/common/log_parser/pfdi/__pycache__/json_to_html.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..78bdd78edfee87440591becd7f06a6470be32276 GIT binary patch literal 9237 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 literal 0 HcmV?d00001 diff --git a/common/log_parser/pfdi/__pycache__/logs_to_json.cpython-312.pyc b/common/log_parser/pfdi/__pycache__/logs_to_json.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..80cead23f766ddc4ba0acbd74fc915c7035bde91 GIT binary patch literal 6553 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 literal 0 HcmV?d00001 diff --git a/common/log_parser/post_script/__pycache__/json_to_html.cpython-312.pyc b/common/log_parser/post_script/__pycache__/json_to_html.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..abe25fc00a80b6c5ef780689cb90a4c8920ec18b GIT binary patch literal 13245 zcmdTrTX54@mXa;YvYiJB2_%GvNSbO)lNiFYg9!^w)1+wvL+ED7&Wu;~m2Cyt&PZ}X zf?boYVQa!RRfL_7gzcGv+OKqx+Uid}cc!+swswD#4lHR+x@xwTAN~S#ZCCNLd#vhK;q{sUx>VNQyb-B#Kt05>%Qiwvd zO!bo|opSZNX;NnT8EA9Ko)p{98g*{jo8tO8v)$M4Lq5dZr2GBIbCc>1AU|T^tqOVJ zty-)>+_l{lrEo4vtbS+`rKu5mgboItURqp{Sq25cBRllXDL^F`0cV*c@G{6|=6=w|D25n2V9yv2CDnXAE&gTm0h{UJd~wW}j4AW=jCjf7&ER4S7W$(clCP*7A+2@PgcEuzL0X;2FdsF`#` z%S4h|O70jO(Hjz?7KsU}7?IMdm{uiC8WNQnAl3|j>M^*DQ41UDCcSsPzwy1KT%N{T z%s4&1e<4tH=g6%iU%Wr%zVEx|`!X;eXj|CW@b_nzJOH!AQdJwrdS5|zD&`ci4=Ria zI0{oSNhLsE{)x`hD^CP+A@@U5!^%J~t3r5IgUm$zqi{Jc=NSbmsAd#Y)4=U_j9`P^&nf}d zjaJ!yT3DgA(XO>hRx7H-v__#i=gYB*2W`l)Cfz!t){pAHWYEUnxljXYM4M(dKQv`X zQ@7KMQ?{Ed-1ZYSp=PvYrsbhITSarxWW!k{v=wce*>1_M2zrYJV?TkL?bhrR!EUu- ztWsIn?G}Xnv}6M~cUrYpT|VHLi&m@Ee&zyb#|*#X2;Q-wtdfP5rgDLScdc6c3A%4< zanPzC0OMJDLI3vBI*PLJTUZ7{%VE$?s}&4q>*x+YwuK*wX;A?i&kKB1Q21C58g0`Bp2qtp#RW(V}kk(<7P>>zbVzg*!RVyger}Sx+f|Nv1{0~ z#4>V5(S0IHh(_@_!ti(`i5m_7{Lz1p-aL``$9wqt>cptKqci@R-lelKF|C1U*l0%6 zGARXXY0#~^l7j9U5_B$}No$zS=&p<4SK9jwzrtS@RgJ$Ss^G9x{75IquuReH6W1y3IVK2w4+qO%57@cUSn zK-HKa6$Ax7TMrNofmlXUbq+=q!BEOULzKoOv*zI3gE5dqGz+?+s8}8Fval`%+j_k| zVXl%0;Eot;MCpTu9q_0A8!X&0>Lo|j^wVQ!{=_vt<(lWX=BbY9o%7t@g>vt+TMm9L z%yUO=fY9{*d9J!e6&@}t#-N%7bW2c|hH%^GZ*)w+T+ik74)rmv5N2lqrvx|*QQw>wu`Nmx@ses3S z%Qx;Gzr0Y_FuDEi_W8P<KIr?VX7{6?jJuz4fjitSZlS97PS35L zFV0Q1-EY6w{$*%-=iHX}=BnOXsH*>}X#!3C^*?03*5<0h3$^tV2gap|UyPq$sNIZz z8#n)Nwb$og@&U>3w@@DL*FB&2%+?(G7uUZJJz+juBtsd`KTw`9d(5{f*Au3tr2Ld= zm}43qGn>9=shY+wu8y6-0OvkGH^EM2pD?@d8(_Y9Zh`R|)%4BY#X#NDK+9a9W$MiR z3->O}Z*89sbUY0lnhPBIIx!#Uo@Kff?6PAxOtda+7_i>Hs)0$Kq%_k;gU_ZdTME$v zMCCZtgQpum4R1=V6wD$9c`T1Xpb%^KKwd|gv&wlk=NWMF1QhUk6 z5$d}8Dm6?8t9yksEC7Fa=jjU{T)ukoLmo%O-TtukfLOZQ@FZcwOmr_Zb~kSDt$k!M zxAIb)msD$QgUd*WyeO+8-+Efq3}<24##TO`4~Ga!f?m}|WRZ}<>o%G}Bm51c$y&zP zT(-xBlq8RI@h25YkoWSckXG9vxR>I`ieSOEB&2i~-??w_dT~n>oI*kYJB!*4Thqn2 z#Sh{i8!TTymE6CVPj;ph#3O!?G}_ih$QF6@xiP%{#bqP)+XTHB>@&P(TP=JrM3(CM|<7 zv45z6~K%Ox2hdY>ffzuoHokYzfH~X5qlW_m84zF=|uH!%1)%#VrO=;yk-R zJaP$7&N-09xMp|G`wO!h+QXk0v{(|x&Y!t*xerS<1L2d5Lmidh6DmM<;OJ-dA&}_B zriG`j0;9HkI&ko`I(`xqtrvegiOSYM#t6CAL&l8d)rkT3(( z)k%;@^bJVZ3T4JWu%y#q86kY%%Xc8tNZOSpERglxu4M+h_=C$VTVWZm&FIBTOr~jL z6ah(D6&oSvQYJ>|db^qwP-eJ`-^YWgFkpBk5fygt+sm839s7f}KpYyrY`|bxONM81 zKmu;C-L}o?JR*pP9R>}vV-C070$uujxH{XB_3=bt7=kw#OMlplyXic95P*MIFvNJco_Rs)0rpt z7kTneG70|2IC4No%<7F@I0i^(v}JL?E;95ml7@(dJ>FU(fmYl5how}4SC!cDRwQUb zmz07?A_P03V`Pu97kD)~M{qNQ60N)-YsXv5?!HXa;Sf+KRDe-2jeu9+%UG38#;h4H zEKVnD$W0Bk7j~k3*{E@_RBXP17#y_` zqrgjP*v!F4BgH(>Gkut0hLQ&g#-jt)`E zYS-(itSN*TByCQFYR)zG_LhXLCxEM>#w+}BUe!7PGUAx?l{!>(f_Ux;7DFk>M3h|? zh9-flEa~N#kwVvHeB-`1+IY}sQAxoLf(JhiJ6J^#V;cWKAM9rFJ{CR*z_C3KT1S+a zZ(A+_1CuEQL(?Oq>v6udbtM6q@DMyH9T!jb^?i7n?}i=03bMtJ__AbNg5B`J<@!M% zQ8s9tIob2cx@j2RbgeWZS9&g=ja)g|^Vx@&AcE!L+cQWO@j@EGSP36RFzXvP=E?G% ztFw0U)P+lz*FApA^Q}&&?_AHti|eLixv9KO_gwFV zE4>xbSo>cLUwVQ6g)n%Fc1Ou9L#nI@J&38b`z|@a%`Ij z01~rMh7w+(l>~2%9s7s^*Xtg85tcF>SyTV#Gj_vg{rJHbqxp*&J@%wOe(*(D{$j>% zI`D{fz_|_l}6C5q(SJmFoN%KQ$SzB!e7%POX z4x3Ujyd{m~+mSgh&d|7mV9gOJ9mSo?9b#DK6MryX1uG1kI4H|@IiHm*?DB0TfnLF2 z189W<3X9nyTVLjUIUFL0;H1I$xUS&bJ7qJz;jB6%r%J)80t!x>Q(E8#39z*#U(%Jc zxbZyPApgp7Dxv%Bqi~%bRvEg$I8##Dk9)ETI3LJrVlv>+bkDE? zXBI&pLH!wqx`LrLK&sDR7BYu`UHFQxC6!NcH3!MHMlP|*h0%=9$l)u5PRCW8mQa`o zl5|sDNV>tmN)#Y^;ZOY!xQ$VZwVRh9$D)~e1@{e}v9nA4Udp#=B0b0LTJUe4s+se@ z`@&88cK^x0`KiBU&fhY-_3$Hl-rx1Y5 zw0q7Ud=c>Y_AI$6&xWOXs$uKoiMuBjn%-U5)V9#DW1(^9!p3b&0jiy&y#Ctha8!I(_A_?+`W| z+aA>~)^5Bra%*I&{)_xLgDuB4FjS4rlV|Uqor)|pHRIoRb}ck-!M|HtUQ~NS>?_LK z=p8%1w1H}9nml^<=v43Ysrii|uuUvg|IUN+^L3qLA4AzwKhgeR>-6aCvGcPL^n?+M z>OPtMdGx=S*bnbvnwS}4sQ%Er>2!_zUu!(4H+yw162Vf6L||s|vJcW{g0)HtN_rh6 zoDRwvO_rkYFA}(@G_~h&*74Ff@NF!-vNw)DHU}nK!6u{({SecYpnL&%b>>4}tWm<6-pq215ReLOD4~g%>?gm?sKRm>9WYznLqHB|EM- z6vtQO3ahY?b1JWJqdN(qf`h2s-I4=_OfVBnh<}Q5e}pNi@rAv!@PE+_`8+Wybs6YQ zaol6?VlAYDB+F!&YbD9n*?GB_tV7}Oxm${xAquZJhl%2%+5SJ@jwX3nqEqrYskZcKrS1v8U;D<=P2F@5=yW13$lreLMV zn$pO9X&9aotm;dc`TNX2I8yElW_}1}%AIj5wKyMH57g9QNvR)qj61ND@hBVcjdL1d zBaWk}D_b>GSv9U})l_BGyslMCmDR>|tu|FzZGO{gX2cqsJ%UYGTZyzDCB;>d8(ynz zdQEDvYyqoTZ-yOaGG3+iwquZNBm0QXj5!!`nK1CoF*9_Wy-dcK(3bRyM}l-grn)M{ zq6t-(hNu>olA3Pp(IYgPG&*A1@NP*rG#X6|OU8&AmtsAIEK8VQ;fpHp7%iyH4Q& zo=zL6xXly+z*p9|?Tt4`z}{n#e6_vzEqk%b-e=h}6Ezujkc9l{KUBbSQcJ+JBD_kl zfW^156-@y6KyBkw0&D>4a49NnhoWjs(Yw(kY)x%{Dt=X^fbp{8)Y>fDT5Eo(s;6Sc zZb>yFHqH>WHY|A4dEvz1;3ua{=jjvYK83gIM9;v*&#*AqckaRkC0W0b44}Z`7DD-G(}Dgt5YOL68`Y&Vf@L z{Hwms5iPEEURRUy^}YK#Wg6e3Pw2n_5Qj3+8PVc#Ezt>U1N#LShIZl(4BHS!wH`LK z@HL3IBROG;ad}h){91jacUdjMRSm+p!H>qY2vE(jj%wor5RZNbvPtqkkx1JXyS~X5 z+V=c);4cF!Z3n+^*;s(z#!dL!wE3CWDb+l4dFnh*vNEd0PtyKAbv}tKXg% zcPx(Q#l3~@k2u_IK(tN}APM~MX|igZGePXIt-6+Cs*XE9cpg8)&SmQ)j_ z8{uG`E~ZB}WNPTRAx)GWo3OhrE&8_%r-SW)m+TwZU7Hgf8 zy~S42*fcrt+}X@G7Q0BW;W=sIgHs$h5CgNvr;jfjUiEG(`0HkGPT$OJkyrg!3xTGB zxN+f&yeLf#JPvMN(3ZxQxs~8YQ#}QLaQa3e(6Z2-5A66)U{5}@L?Du%<^9{A6DQxxOtA&gp9_4D7q?C^1)(-q*Pa)4F14-*UCZ)6g$JW~;T)9L zYPPHhN1(?2AeI+;q5KnSa-kzDLN_$>Jc#FoJ}9p>daa{Xp{wY_sEYNZd0TGV;e1oq za%;ZnY@umuwbZt~0M%_>`Q{_bo%!b8H>8%f-1Z~+mhRlo`|>TH!oqHFPM$9|ke0Ru zvCzEZ8PAH&B4K&w%M%ETXNZuw$swcuN|ql?wzkuAJ01 z`EhYMnxMVl{Y&`kbC6AvCoa#-f!VI_dfdycwHAsoiA!{LyVehd+t4yw{qP_X9;M}syAIj)AocL)t(6>|M6q5L&L2SCJ2 zlfD-w5en;Hj5$|(ulwq9Dudp6wKU@enaVq_YZGOxNzdv1M3D;tI{6DIQ BTMqyL literal 0 HcmV?d00001 diff --git a/common/log_parser/sbmr/__pycache__/json_to_html.cpython-312.pyc b/common/log_parser/sbmr/__pycache__/json_to_html.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cc2644b3bdbcf03f76c7609c4c2e63394790f6fb GIT binary patch literal 21034 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%0A0^;yd|np3MabqMOspAbQowQk^BE9mT23vKywt z&Fx29cYXt6qE(Q%zXrv!H0VohZAPy(4XLVly(1bW+rW&0c>otvFUqwXdVxt;&3$3R zxQrH!-e?w{7VXVU5le=)e0!Fc+pq?^rxMBbrQ=EsdCpAWZrr#4?Z zs6W}LzN>(n{^U_P*-*h z{Y0CL;LF-x21JAuwqPc_yM;_LC zkRQkdYKL@kxmv5C{X$KVml%OL#OxI%5QVHmO$Tcv6_(FGe8}*V35y8LBg9%r?PYa zG()Q4(Bbe9R~CR?GJq$-^deQy>!oy<%aEgRbpKniQeN0r`G` z=1Ahrsf*sj=1_)vp{!wvF@Q-`SG1@WjR!*?@=?$~O~b7NOI1IaMD3YYRKG8kS6FC}|55G4xaX)ksGeWVLBU29r=TMyL|6A4 znow9n+2w%4!LZ?|Dm}C3Y1#x)jZuM8WrMAu-?WRVF4J**g(|5#VJ17*$7+__)N~N` zUmBPRfgd~6fHO|^K$Skjra}M7X+EZAw&2_GzE;-IiiMiSZ5U$Nvay*vtt?ka|Bc&R z+Nu@$T9x^MZ3Oa~p0&d1?cep~y}DNcbByO&lri=FKYn=+`}a9pqMN+IB>ZT+HTky} z_Z*w|U83Qy{o9Ls^BYBNA0zKUi~pZr+~eySbElQJCi zhyPtRa&>Kze2v#D0_^vhO*b>LdoEU^Ym%i(Bl1s9`hwEv8O{wrz(5lt_JG7A1YC+3L4*#afMfJZzEA}LSuNmD4&?hs zzIx)s!0B_k3=0XYh5{@k@$xMKEc+oyZ4_UK=%H{6SV|<9H2EET{6n~G5Z!WBbk+BZ zitK(5ATOirz5*8rXmi!9xwfZV+n2ww@09ey}GOQPHEcH`Pgl9cddI&`8{{r)1E_*y>@s1 zx|Oo~Kl4+*?Q7nKl(!*MzGJPtF;(7}F5i=>*p;c=vsM{MRR&gC?$)O(`!+n+x3AUj zPu1^V?LM`7dL&(cCR6poTGhT()xMRN?+&D^`ZqjRH?38_n5uqpwYl#uo34Iky_E7b zKBe3~$HL%e6_ls=bLc7zBKW1dY;d>rm%HtQL1$JNDF#LoW%ViCWSJvfsG&ej`NZ2~ z!1C3|Bl-zSGdtQZM`I*)J`?q!+A_rV(UW)>&FWLyv(^5s{6?W~LzG$?td%0ny?4!C5 z>VCTY#~rD%?*A>K2LHp#UG%bZ7Y!}iCgYKqfZ^8A6T1@MgCkLWkK*hWh4-N7eQbk) z8_-?KL<8bm_WNbsY15=?F&<$6)Dy}JQt>GRl4<_Ti^<61tmY&`k}d#G3XI_jg0WWV zo)t5wnkh4ytmr#kmh(oPS~Z5O@{y)1t|w4xPayCkGNNt39` za?)g;I8)BfIW&U{?g@V6g`@<mZ@VrdC_U)_ zr#oNY^lt~jmqWZTC-|)ik`fMWrjpM5@w1$V^J@Js0O2zrh|`!i4woz15>)Y)ph~s` z<utwhoz;U{{OT#p8u@FW}wCq(hOxYG9>NpHfF^l?KMP9)X3LcTBC#Z zn=IZ0OOw%_b_dRP@$E8=qbBu;TdkZj(=ksJE?2JAO%_S5TCIc^BF%jXJ<1$-96vci z63mz-;WOf+H!d^b+cqC53(ZDKYS!xQrUW~FwJTY4j=I`Ct1U$A(X92_T%n7Bj^z=Z*;PA(## zKO}=I6eTP3B}8Tw`DxjG}3vSo4% zz8(f!1j3(UF9~Il8p5C91t}+d8!u$VLG}tf>RteJT0|`jdj;mC>>JpoAihfYITYVQ zi`@f84_q^+=W6G*16K}wH@Woo$IhCEF4!2Dzwf%N#+xpcUiE%@=#^i*`Lj3gvHw8d zeJf?_T{yW~*|ZwyeYj`u?edRmKB)OmZ{1-(-t*Fr!`CO?omhVRhZlZ+`WNSacK#RN z_}MpBU;oDHH%HTl!V4!qbr&thm<Z5w{$6+!7v^lwX^>GPhjzgXE$OHyw6>-&b6A z?aeE1F2!z*ri%g#M>7>Q*I#@0wdGK{BKUE|*Y3BEte!caZvWcC34nE1Wk>vas@FW* zQl4$g!w|3QX~C6J>nD2VNmx#KT5+Y+hAX8S6;{oLl~Nn7l+^51a8B8@rwvz1?YL6X z^SkfDf~yx-N(Z%-QrYfXC(@-I3&%e7?OoZG_Vp|r`LtxmGM_Hl4PP0_l+|R)nM@Uv zscv{&o7OP(wY_s%Z^ zmQ!mx-%Ra%^ZvQ7t(^;{&V^Q4F1?dq@_y!`?A1%Nt4zn8WB0uGZLdGHRWBEeZ%@)N8Myhg_dIde|*_{tjPM`d^B8TS15!m7YacbZ(Ql}#-%#6r zO}T$fd7kvSbu@}#ASe);ivnkwJ6PR&@h+n&O;+`drqIA*6Rwy#tB zc0ks?3i~SMfBH?@N>@GcRKTUnPWzt}Tj-acxLWC>^!g}G*?f!hA6sjGWpn+}QQ$LM I9qH-+1;eOIQvd(} literal 0 HcmV?d00001 diff --git a/common/log_parser/sbmr/__pycache__/logs_to_json.cpython-312.pyc b/common/log_parser/sbmr/__pycache__/logs_to_json.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ed166c248057a7d771a3674819bda9857b6ec8cc GIT binary patch literal 8499 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 literal 0 HcmV?d00001 diff --git a/common/parser/__pycache__/Parser.cpython-312.pyc b/common/parser/__pycache__/Parser.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a01e5f108b5ad2f22e53cd635c2734045027a782 GIT binary patch literal 6337 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 NPX=Laxg)fPe*q3vxO4yj literal 0 HcmV?d00001 diff --git a/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/case.log b/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/case.log new file mode 100644 index 00000000..f8d6fdc1 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_uses_first_dmidecode_values_not_later_duplicates +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/dmidecode.log --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/out/acs_info.json contains '"Vendor": "VendorFirst"' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/out/acs_info.json contains 'VendorSecond' -> PASS diff --git a/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/dmidecode.log b/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/dmidecode.log new file mode 100644 index 00000000..abe8acea --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/dmidecode.log @@ -0,0 +1,16 @@ +Handle 0x0000, DMI type 0, 24 bytes +BIOS Information + Version: FW-FIRST +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: VendorFirst + Product Name: ProductFirst + Family: FamilyFirst +Handle 0x0002, DMI type 0, 24 bytes +BIOS Information + Version: FW-SECOND +Handle 0x0003, DMI type 1, 27 bytes +System Information + Manufacturer: VendorSecond + Product Name: ProductSecond + Family: FamilySecond diff --git a/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/out/acs_info.json b/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/out/acs_info.json new file mode 100644 index 00000000..22d2d8ae --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/out/acs_info.json @@ -0,0 +1,13 @@ +{ + "System Info": { + "Firmware Version": "FW-FIRST", + "SoC Family": "FamilyFirst", + "System Name": "ProductFirst", + "Vendor": "VendorFirst", + "Summary Generated On": "2026-06-11 09:32:19" + }, + "ACS Results Summary": { + "Band": "Unknown", + "Date": "2026-06-11 09:32:19" + } +} \ No newline at end of file diff --git a/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/acs_config.txt b/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/acs_config.txt new file mode 100644 index 00000000..2871d493 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/acs_config.txt @@ -0,0 +1 @@ +Band: systemready band diff --git a/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/case.log b/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/case.log new file mode 100644 index 00000000..3e18b3d0 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_systemready_band_is_case_and_space_insensitive +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/dmidecode.log --acs_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/acs_config.txt --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[1;93mWARNING: ipmitool log path not provided for BMC firmware extraction.[0m +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/out/acs_info.json contains '"BMC Firmware Version": "Unknown"' -> PASS diff --git a/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/dmidecode.log b/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/dmidecode.log new file mode 100644 index 00000000..c502608a --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/dmidecode.log @@ -0,0 +1,9 @@ +Handle 0x0000, DMI type 0, 24 bytes +BIOS Information + Version: FW-1 + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: V + Product Name: P + Family: F diff --git a/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/out/acs_info.json b/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/out/acs_info.json new file mode 100644 index 00000000..c78fe37e --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/out/acs_info.json @@ -0,0 +1,15 @@ +{ + "System Info": { + "Firmware Version": "FW-1", + "SoC Family": "F", + "System Name": "P", + "Vendor": "V", + "Summary Generated On": "2026-06-11 09:32:19", + "Band": "systemready band", + "BMC Firmware Version": "Unknown" + }, + "ACS Results Summary": { + "Band": "systemready band", + "Date": "2026-06-11 09:32:19" + } +} \ No newline at end of file diff --git a/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/case.log b/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/case.log new file mode 100644 index 00000000..eca17770 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_config_value_with_extra_colon_is_preserved +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/dmidecode.log --system_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/system_config.txt --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/out/acs_info.json contains '"Firmware Notes": "build:nightly:123"' -> PASS diff --git a/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/dmidecode.log b/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/dmidecode.log new file mode 100644 index 00000000..c502608a --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/dmidecode.log @@ -0,0 +1,9 @@ +Handle 0x0000, DMI type 0, 24 bytes +BIOS Information + Version: FW-1 + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: V + Product Name: P + Family: F diff --git a/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/out/acs_info.json b/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/out/acs_info.json new file mode 100644 index 00000000..c73b4e20 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/out/acs_info.json @@ -0,0 +1,14 @@ +{ + "System Info": { + "Firmware Version": "FW-1", + "SoC Family": "F", + "System Name": "P", + "Vendor": "V", + "Summary Generated On": "2026-06-11 09:32:19", + "Firmware Notes": "build:nightly:123" + }, + "ACS Results Summary": { + "Band": "Unknown", + "Date": "2026-06-11 09:32:19" + } +} \ No newline at end of file diff --git a/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/system_config.txt b/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/system_config.txt new file mode 100644 index 00000000..32ed1129 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/system_config.txt @@ -0,0 +1 @@ +Firmware Notes: build:nightly:123 diff --git a/common/reports/_work/acs_info/acs_info/1_file_exists/case.log b/common/reports/_work/acs_info/acs_info/1_file_exists/case.log new file mode 100644 index 00000000..87cb36a5 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: acs_info::acs_info.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/acs_info/acs_info/2_python_compiles/case.log b/common/reports/_work/acs_info/acs_info/2_python_compiles/case.log new file mode 100644 index 00000000..f9e78962 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: acs_info::acs_info.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/acs_info/acs_info/3_cli_help_flag/case.log b/common/reports/_work/acs_info/acs_info/3_cli_help_flag/case.log new file mode 100644 index 00000000..8b8bd262 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/3_cli_help_flag/case.log @@ -0,0 +1,37 @@ +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_help_flag +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --help +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +usage: acs_info.py [-h] [--acs_config_path ACS_CONFIG_PATH] + [--system_config_path SYSTEM_CONFIG_PATH] + [--uefi_version_log UEFI_VERSION_LOG] + [--dmidecode_log DMIDECODE_LOG] [--output_dir OUTPUT_DIR] + [--ipmitool_log IPMITOOL_LOG] + +Collect ACS-like system info & summary data, then write to acs_info.txt & +acs_info.json. + +options: + -h, --help show this help message and exit + --acs_config_path ACS_CONFIG_PATH + Path to acs_config.txt (Band, version info, etc.) + --system_config_path SYSTEM_CONFIG_PATH + Path to system_config.txt (extra system fields) + --uefi_version_log UEFI_VERSION_LOG + Path to uefi_version.log (UTF-16 or text) + --dmidecode_log DMIDECODE_LOG + Path to dmidecode log + --output_dir OUTPUT_DIR + Directory where acs_info.txt and acs_info.json will be + created. + --ipmitool_log IPMITOOL_LOG + Path to ipmitool mc info log for BMC firmware + extraction +--- STDERR --- diff --git a/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/case.log b/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/case.log new file mode 100644 index 00000000..369147f1 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/case.log @@ -0,0 +1,20 @@ +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_generates_json_from_dmidecode_only +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/dmidecode.log --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json contains '"Vendor": "VendorA"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json contains '"System Name": "BoardA"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json contains '"SoC Family": "FamilyA"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json contains '"Firmware Version": "FW-1.2.3"' -> PASS diff --git a/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/dmidecode.log b/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/dmidecode.log new file mode 100644 index 00000000..0ab88a18 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/dmidecode.log @@ -0,0 +1,9 @@ +Handle 0x0000, DMI type 0, 24 bytes +BIOS Information + Version: FW-1.2.3 + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: VendorA + Product Name: BoardA + Family: FamilyA diff --git a/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json b/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json new file mode 100644 index 00000000..8b1f8d1d --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json @@ -0,0 +1,13 @@ +{ + "System Info": { + "Firmware Version": "FW-1.2.3", + "SoC Family": "FamilyA", + "System Name": "BoardA", + "Vendor": "VendorA", + "Summary Generated On": "2026-06-11 09:32:19" + }, + "ACS Results Summary": { + "Band": "Unknown", + "Date": "2026-06-11 09:32:19" + } +} \ No newline at end of file diff --git a/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/acs_config.txt b/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/acs_config.txt new file mode 100644 index 00000000..5eee9821 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/acs_config.txt @@ -0,0 +1,2 @@ +Band: SystemReady Band +ACS version: 6.1 diff --git a/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/case.log b/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/case.log new file mode 100644 index 00000000..c48d13bd --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_merges_acs_and_system_config +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/dmidecode.log --acs_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/acs_config.txt --system_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/system_config.txt --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[1;93mWARNING: ipmitool log path not provided for BMC firmware extraction.[0m +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out/acs_info.json contains '"ACS version": "6.1"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out/acs_info.json contains '"Board Revision": "RevC"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out/acs_info.json contains '"Band": "SystemReady Band"' -> PASS diff --git a/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/dmidecode.log b/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/dmidecode.log new file mode 100644 index 00000000..f0a19895 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/dmidecode.log @@ -0,0 +1,9 @@ +Handle 0x0000, DMI type 0, 24 bytes +BIOS Information + Version: FW-2.0 + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: VendorB + Product Name: BoardB + Family: FamilyB diff --git a/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out/acs_info.json b/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out/acs_info.json new file mode 100644 index 00000000..0086abc9 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out/acs_info.json @@ -0,0 +1,17 @@ +{ + "System Info": { + "Firmware Version": "FW-2.0", + "SoC Family": "FamilyB", + "System Name": "BoardB", + "Vendor": "VendorB", + "Summary Generated On": "2026-06-11 09:32:19", + "Band": "SystemReady Band", + "ACS version": "6.1", + "Board Revision": "RevC", + "BMC Firmware Version": "Unknown" + }, + "ACS Results Summary": { + "Band": "SystemReady Band", + "Date": "2026-06-11 09:32:19" + } +} \ No newline at end of file diff --git a/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/system_config.txt b/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/system_config.txt new file mode 100644 index 00000000..82a408e4 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/system_config.txt @@ -0,0 +1 @@ +Board Revision: RevC diff --git a/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/acs_config.txt b/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/acs_config.txt new file mode 100644 index 00000000..06e97e3c --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/acs_config.txt @@ -0,0 +1,4 @@ +Band: SystemReady Band +ACS version: 7.0 +# User-defined configs +Secret Field: should_not_appear diff --git a/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/case.log b/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/case.log new file mode 100644 index 00000000..d97908e2 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_stops_parsing_at_user_defined_configs_marker +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/dmidecode.log --acs_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/acs_config.txt --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[1;93mWARNING: ipmitool log path not provided for BMC firmware extraction.[0m +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/out/acs_info.json contains '"ACS version": "7.0"' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/out/acs_info.json contains 'should_not_appear' -> PASS diff --git a/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/dmidecode.log b/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/dmidecode.log new file mode 100644 index 00000000..493795f0 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/dmidecode.log @@ -0,0 +1,9 @@ +Handle 0x0000, DMI type 0, 24 bytes +BIOS Information + Version: FW-3.0 + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: VendorC + Product Name: BoardC + Family: FamilyC diff --git a/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/out/acs_info.json b/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/out/acs_info.json new file mode 100644 index 00000000..c4a83e90 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/out/acs_info.json @@ -0,0 +1,16 @@ +{ + "System Info": { + "Firmware Version": "FW-3.0", + "SoC Family": "FamilyC", + "System Name": "BoardC", + "Vendor": "VendorC", + "Summary Generated On": "2026-06-11 09:32:19", + "Band": "SystemReady Band", + "ACS version": "7.0", + "BMC Firmware Version": "Unknown" + }, + "ACS Results Summary": { + "Band": "SystemReady Band", + "Date": "2026-06-11 09:32:19" + } +} \ No newline at end of file diff --git a/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/case.log b/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/case.log new file mode 100644 index 00000000..6bdfab7d --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_reads_utf16_uefi_version +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/dmidecode.log --uefi_version_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/uefi_version.log --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/out/acs_info.json contains '"UEFI Version": "UEFI v2.9"' -> PASS diff --git a/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/dmidecode.log b/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/dmidecode.log new file mode 100644 index 00000000..695a0834 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/dmidecode.log @@ -0,0 +1,9 @@ +Handle 0x0000, DMI type 0, 24 bytes +BIOS Information + Version: FW-4.0 + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: VendorD + Product Name: BoardD + Family: FamilyD diff --git a/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/out/acs_info.json b/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/out/acs_info.json new file mode 100644 index 00000000..a0d7fb1a --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/out/acs_info.json @@ -0,0 +1,14 @@ +{ + "System Info": { + "Firmware Version": "FW-4.0", + "SoC Family": "FamilyD", + "System Name": "BoardD", + "Vendor": "VendorD", + "Summary Generated On": "2026-06-11 09:32:19", + "UEFI Version": "UEFI v2.9" + }, + "ACS Results Summary": { + "Band": "Unknown", + "Date": "2026-06-11 09:32:19" + } +} \ No newline at end of file diff --git a/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/uefi_version.log b/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/uefi_version.log new file mode 100644 index 0000000000000000000000000000000000000000..b0f79851ae0c6d3d0b13ca8d152e3ea6e28eb351 GIT binary patch literal 22 dcmezWFO PASS diff --git a/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/dmidecode.log b/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/dmidecode.log new file mode 100644 index 00000000..0a85d2a2 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/dmidecode.log @@ -0,0 +1,9 @@ +Handle 0x0000, DMI type 0, 24 bytes +BIOS Information + Version: FW-5.0 + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: VendorE + Product Name: BoardE + Family: FamilyE diff --git a/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/ipmitool.log b/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/ipmitool.log new file mode 100644 index 00000000..929510fa --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/ipmitool.log @@ -0,0 +1,2 @@ +Device ID : 32 +Firmware Revision : 1.45 diff --git a/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/out/acs_info.json b/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/out/acs_info.json new file mode 100644 index 00000000..bbf0462c --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/out/acs_info.json @@ -0,0 +1,15 @@ +{ + "System Info": { + "Firmware Version": "FW-5.0", + "SoC Family": "FamilyE", + "System Name": "BoardE", + "Vendor": "VendorE", + "Summary Generated On": "2026-06-11 09:32:19", + "Band": "SystemReady Band", + "BMC Firmware Version": "1.45" + }, + "ACS Results Summary": { + "Band": "SystemReady Band", + "Date": "2026-06-11 09:32:19" + } +} \ No newline at end of file diff --git a/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/acs_config.txt b/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/acs_config.txt new file mode 100644 index 00000000..6543cfb5 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/acs_config.txt @@ -0,0 +1 @@ +Band: DeviceTree Band diff --git a/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/case.log b/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/case.log new file mode 100644 index 00000000..dd20ea59 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_does_not_add_bmc_firmware_for_non_systemready_band +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/dmidecode.log --acs_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/acs_config.txt --ipmitool_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/ipmitool.log --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/out/acs_info.json contains '"BMC Firmware Version"' -> PASS diff --git a/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/dmidecode.log b/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/dmidecode.log new file mode 100644 index 00000000..1c48dd0a --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/dmidecode.log @@ -0,0 +1,9 @@ +Handle 0x0000, DMI type 0, 24 bytes +BIOS Information + Version: FW-6.0 + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: VendorF + Product Name: BoardF + Family: FamilyF diff --git a/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/ipmitool.log b/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/ipmitool.log new file mode 100644 index 00000000..cbe32d73 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/ipmitool.log @@ -0,0 +1 @@ +Firmware Revision : 9.99 diff --git a/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/out/acs_info.json b/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/out/acs_info.json new file mode 100644 index 00000000..518a8c5f --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/out/acs_info.json @@ -0,0 +1,14 @@ +{ + "System Info": { + "Firmware Version": "FW-6.0", + "SoC Family": "FamilyF", + "System Name": "BoardF", + "Vendor": "VendorF", + "Summary Generated On": "2026-06-11 09:32:19", + "Band": "DeviceTree Band" + }, + "ACS Results Summary": { + "Band": "DeviceTree Band", + "Date": "2026-06-11 09:32:19" + } +} \ No newline at end of file diff --git a/common/reports/_work/acs_info/acs_info/combined.log b/common/reports/_work/acs_info/acs_info/combined.log new file mode 100644 index 00000000..89774ee0 --- /dev/null +++ b/common/reports/_work/acs_info/acs_info/combined.log @@ -0,0 +1,216 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:19 +YAML: common/test_yaml/acs-info.yaml +SUITE: acs_info +TARGETS: common/log_parser/acs_info.py +==================================================================================================== + +================================================================================ +TEST CASE: acs_info::acs_info.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: acs_info::acs_info.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_merges_acs_and_system_config +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/dmidecode.log --acs_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/acs_config.txt --system_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/system_config.txt --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[1;93mWARNING: ipmitool log path not provided for BMC firmware extraction.[0m +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out/acs_info.json contains '"ACS version": "6.1"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out/acs_info.json contains '"Board Revision": "RevC"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/5_cli_merges_acs_and_system_config/out/acs_info.json contains '"Band": "SystemReady Band"' -> PASS + +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_help_flag +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --help +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +usage: acs_info.py [-h] [--acs_config_path ACS_CONFIG_PATH] + [--system_config_path SYSTEM_CONFIG_PATH] + [--uefi_version_log UEFI_VERSION_LOG] + [--dmidecode_log DMIDECODE_LOG] [--output_dir OUTPUT_DIR] + [--ipmitool_log IPMITOOL_LOG] + +Collect ACS-like system info & summary data, then write to acs_info.txt & +acs_info.json. + +options: + -h, --help show this help message and exit + --acs_config_path ACS_CONFIG_PATH + Path to acs_config.txt (Band, version info, etc.) + --system_config_path SYSTEM_CONFIG_PATH + Path to system_config.txt (extra system fields) + --uefi_version_log UEFI_VERSION_LOG + Path to uefi_version.log (UTF-16 or text) + --dmidecode_log DMIDECODE_LOG + Path to dmidecode log + --output_dir OUTPUT_DIR + Directory where acs_info.txt and acs_info.json will be + created. + --ipmitool_log IPMITOOL_LOG + Path to ipmitool mc info log for BMC firmware + extraction +--- STDERR --- + +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_generates_json_from_dmidecode_only +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/dmidecode.log --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json contains '"Vendor": "VendorA"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json contains '"System Name": "BoardA"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json contains '"SoC Family": "FamilyA"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/4_cli_generates_json_from_dmidecode_only/out/acs_info.json contains '"Firmware Version": "FW-1.2.3"' -> PASS + +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_stops_parsing_at_user_defined_configs_marker +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/dmidecode.log --acs_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/acs_config.txt --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[1;93mWARNING: ipmitool log path not provided for BMC firmware extraction.[0m +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/out/acs_info.json contains '"ACS version": "7.0"' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/6_cli_stops_parsing_at_user_defined_configs_marker/out/acs_info.json contains 'should_not_appear' -> PASS + +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_reads_utf16_uefi_version +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/dmidecode.log --uefi_version_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/uefi_version.log --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/7_cli_reads_utf16_uefi_version/out/acs_info.json contains '"UEFI Version": "UEFI v2.9"' -> PASS + +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_uses_first_dmidecode_values_not_later_duplicates +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/dmidecode.log --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/out/acs_info.json contains '"Vendor": "VendorFirst"' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/10_cli_uses_first_dmidecode_values_not_later_duplicates/out/acs_info.json contains 'VendorSecond' -> PASS + +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_does_not_add_bmc_firmware_for_non_systemready_band +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/dmidecode.log --acs_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/acs_config.txt --ipmitool_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/ipmitool.log --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/9_cli_does_not_add_bmc_firmware_for_non_systemready_band/out/acs_info.json contains '"BMC Firmware Version"' -> PASS + +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_adds_bmc_firmware_only_for_systemready_band +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/dmidecode.log --acs_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/acs_config.txt --ipmitool_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/ipmitool.log --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/8_cli_adds_bmc_firmware_only_for_systemready_band/out/acs_info.json contains '"BMC Firmware Version": "1.45"' -> PASS + +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_config_value_with_extra_colon_is_preserved +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/dmidecode.log --system_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/system_config.txt --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/12_cli_config_value_with_extra_colon_is_preserved/out/acs_info.json contains '"Firmware Notes": "build:nightly:123"' -> PASS + +================================================================================ +TEST CASE: acs_info::acs_info.py::cli_systemready_band_is_case_and_space_insensitive +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/acs_info.py --dmidecode_log /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/dmidecode.log --acs_config_path /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/acs_config.txt --output_dir /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/out +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[1;93mWARNING: ipmitool log path not provided for BMC firmware extraction.[0m +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/acs_info/acs_info/11_cli_systemready_band_is_case_and_space_insensitive/out/acs_info.json contains '"BMC Firmware Version": "Unknown"' -> PASS + diff --git a/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/case.log b/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/case.log new file mode 100644 index 00000000..8a3e9f5e --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/case.log @@ -0,0 +1,21 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::standalone_subtest_description_waiver_applies +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py Standalone /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +ERROR: Waiver for Test_case 'ethtool_test' is missing 'Reason'. Skipping Test_case-level waiver. +Subtest-level waiver applied to subtest 'Ping to www.arm.com on eth0' with reason: Network stack excluded for this SKU +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check regex: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json matches '"sub_test_result": "[^"]*WITH WAIVER[^"]*"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json contains 'Network stack excluded for this SKU' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json contains '"total_failed": 0' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json contains '"total_failed_with_waiver": 1' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json b/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json new file mode 100644 index 00000000..7f7f402a --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json @@ -0,0 +1,32 @@ +{ + "test_results": [ + { + "Test_suite": "Network", + "Test_case": "ethtool_test", + "subtests": [ + { + "sub_Test_Description": "Ping to www.arm.com on eth0", + "sub_test_result": "FAILED (WITH WAIVER), waiver_reason: \"Network stack excluded for this SKU\"" + } + ], + "test_suite_summary": { + "total_passed": 0, + "total_failed": 0, + "total_failed_with_waiver": 1, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0, + "total_ignored": 0 + } + } + ], + "suite_summary": { + "total_passed": 0, + "total_failed": 0, + "total_failed_with_waiver": 1, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0, + "total_ignored": 0 + } +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/waiver.json new file mode 100644 index 00000000..8ec4e242 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/waiver.json @@ -0,0 +1,20 @@ +{ + "Suites": [ + { + "Suite": "Standalone", + "TestSuites": [ + { + "TestCase": { + "Test_case": "ethtool_test", + "SubTests": [ + { + "sub_Test_Description": "Ping to www.arm.com on eth0", + "Reason": "Network stack excluded for this SKU" + } + ] + } + } + ] + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/case.log b/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/case.log new file mode 100644 index 00000000..9b16360e --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::fwts_does_not_duplicate_existing_with_waiver_marker +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json contains 'WITH WAIVER' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json contains '(WITH WAIVER) (WITH WAIVER)' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json b/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json new file mode 100644 index 00000000..de91d95b --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json @@ -0,0 +1,14 @@ +{ + "test_results": [ + { + "Test_suite": "DemoSuite", + "subtests": [ + { + "sub_Test_Description": "failure one", + "sub_Test_Number": "1", + "sub_test_result": "FAILED (WITH WAIVER)" + } + ] + } + ] +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/waiver.json new file mode 100644 index 00000000..2de8a0c7 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/waiver.json @@ -0,0 +1,8 @@ +{ + "Suites": [ + { + "Suite": "FWTS", + "Reason": "Known issue" + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/case.log b/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/case.log new file mode 100644 index 00000000..2e8d34ad --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::malformed_waiver_file_does_not_modify_json +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +INFO: Failed to read or parse /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/waiver.json: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/fwts.json contains 'WITH WAIVER' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/fwts.json b/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/fwts.json new file mode 100644 index 00000000..07786852 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/fwts.json @@ -0,0 +1,14 @@ +{ + "test_results": [ + { + "Test_suite": "DemoSuite", + "subtests": [ + { + "sub_Test_Description": "failure one", + "sub_Test_Number": "1", + "sub_test_result": "FAILED" + } + ] + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/waiver.json new file mode 100644 index 00000000..828e21da --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/waiver.json @@ -0,0 +1 @@ +{ invalid json diff --git a/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json b/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json new file mode 100644 index 00000000..a0d9ea0f --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json @@ -0,0 +1,25 @@ +{ + "test_results": [ + { + "Test_suite": "RuleGroupA", + "testcases": [ + { + "Test_case": "RULE_001", + "Test_result": "FAILED (WITH WAIVER)", + "waiver_reason": "BSA waiver" + } + ], + "test_suite_summary": { + "Total Rules Run": 1, + "Passed": 0, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 0, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 1 + } + } + ] +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/case.log b/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/case.log new file mode 100644 index 00000000..e0b488ea --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::bsa_testcase_waiver_marks_failed_case +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py BSA /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Test_case-level waiver applied to testcase 'RULE_001' with reason: BSA waiver +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json contains 'WITH WAIVER' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json contains '(WITH WAIVER) (WITH WAIVER)' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/waiver.json new file mode 100644 index 00000000..c462bf28 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/waiver.json @@ -0,0 +1,18 @@ +{ + "Suites": [ + { + "Suite": "BSA", + "TestSuites": [ + { + "TestSuite": "RuleGroupA", + "TestCases": [ + { + "Test_case": "RULE_001", + "Reason": "BSA waiver" + } + ] + } + ] + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/case.log b/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/case.log new file mode 100644 index 00000000..a3fe04ae --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::quiet_mode_runs_and_updates_json +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/waiver.json --quiet +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/fwts.json contains 'WITH WAIVER' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/fwts.json b/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/fwts.json new file mode 100644 index 00000000..cf33ca3d --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/fwts.json @@ -0,0 +1,15 @@ +{ + "test_results": [ + { + "Test_suite": "DemoSuite", + "subtests": [ + { + "sub_Test_Description": "failure one", + "sub_Test_Number": "1", + "sub_test_result": "FAILED (WITH WAIVER)", + "waiver_reason": "Known FWTS issue" + } + ] + } + ] +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/waiver.json new file mode 100644 index 00000000..cfe352e9 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/waiver.json @@ -0,0 +1,8 @@ +{ + "Suites": [ + { + "Suite": "FWTS", + "Reason": "Known FWTS issue" + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/case.log b/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/case.log new file mode 100644 index 00000000..4bfa4fe4 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::no_matching_suite_in_waiver_file_leaves_json_unchanged +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +No valid waivers found for suite 'FWTS'. No changes applied. +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/fwts.json contains 'WITH WAIVER' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/fwts.json b/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/fwts.json new file mode 100644 index 00000000..07786852 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/fwts.json @@ -0,0 +1,14 @@ +{ + "test_results": [ + { + "Test_suite": "DemoSuite", + "subtests": [ + { + "sub_Test_Description": "failure one", + "sub_Test_Number": "1", + "sub_test_result": "FAILED" + } + ] + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/waiver.json new file mode 100644 index 00000000..1f7c91fa --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/waiver.json @@ -0,0 +1,8 @@ +{ + "Suites": [ + { + "Suite": "BSA", + "Reason": "Wrong suite waiver" + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/case.log b/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/case.log new file mode 100644 index 00000000..f649c93c --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::missing_reason_in_waiver_is_ignored +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +ERROR: Waiver for TestSuite 'DemoSuite' is missing 'Reason'. Skipping TestSuite-level waiver. +No valid waivers found for suite 'FWTS'. No changes applied. +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/fwts.json contains 'WITH WAIVER' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/fwts.json b/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/fwts.json new file mode 100644 index 00000000..07786852 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/fwts.json @@ -0,0 +1,14 @@ +{ + "test_results": [ + { + "Test_suite": "DemoSuite", + "subtests": [ + { + "sub_Test_Description": "failure one", + "sub_Test_Number": "1", + "sub_test_result": "FAILED" + } + ] + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/waiver.json new file mode 100644 index 00000000..c7b71a38 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/waiver.json @@ -0,0 +1,13 @@ +{ + "Suites": [ + { + "Suite": "FWTS", + "TestSuites": [ + { + "TestSuite": "DemoSuite", + "Reason": "" + } + ] + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/case.log b/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/case.log new file mode 100644 index 00000000..f8e1ac0e --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/case.log @@ -0,0 +1,19 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::sct_subsuite_level_waiver_marks_failed_subtest +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py SCT /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +SubSuite-level waiver applied to subtest 'subsuite failure' with reason: SCT subsuite waiver +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json contains 'WITH WAIVER' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json contains 'SCT subsuite waiver' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json contains '(WITH WAIVER) (WITH WAIVER)' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json b/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json new file mode 100644 index 00000000..2162fc05 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json @@ -0,0 +1,25 @@ +{ + "test_results": [ + { + "Test_suite": "MainSuite", + "Sub_test_suite": "TargetSubSuite", + "subtests": [ + { + "sub_Test_GUID": "GUID-1", + "sub_Test_Description": "subsuite failure", + "sub_test_result": "FAILED (WITH WAIVER)", + "waiver_reason": "SCT subsuite waiver" + } + ], + "test_case_summary": { + "total_passed": 0, + "total_failed": 0, + "total_failed_with_waiver": 1, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0, + "total_ignored": 0 + } + } + ] +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/waiver.json new file mode 100644 index 00000000..585b277b --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/waiver.json @@ -0,0 +1,16 @@ +{ + "Suites": [ + { + "Suite": "SCT", + "TestSuites": [ + { + "TestSuite": "MainSuite", + "SubSuite": { + "SubSuite": "TargetSubSuite", + "Reason": "SCT subsuite waiver" + } + } + ] + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json b/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json new file mode 100644 index 00000000..6c085907 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json @@ -0,0 +1,38 @@ +{ + "test_results": [ + { + "Test_suite": "RuleGroupA", + "testcases": [ + { + "Test_case": "RULE_001", + "Test_result": "FAILED (WITH WAIVER)", + "subtests": [ + { + "sub_Rule_ID": "SUB_01", + "sub_Test_Description": "first subtest", + "sub_test_result": "FAILED (WITH WAIVER)", + "waiver_reason": "BSA subtest waiver" + }, + { + "sub_Rule_ID": "SUB_02", + "sub_Test_Description": "second subtest", + "sub_test_result": "PASSED" + } + ], + "waiver_reason": "Case waiver placeholder" + } + ], + "test_suite_summary": { + "Total Rules Run": 1, + "Passed": 0, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 0, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 1 + } + } + ] +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/case.log b/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/case.log new file mode 100644 index 00000000..c7ee218c --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/case.log @@ -0,0 +1,20 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::bsa_subtest_waiver_applies_by_sub_rule_id +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py BSA /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Test_case-level waiver applied to testcase 'RULE_001' with reason: Case waiver placeholder +Subtest-level waiver applied to subtest 'SUB_01' (first subtest) in testcase 'RULE_001' with reason: BSA subtest waiver +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json contains 'BSA subtest waiver' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json contains 'WITH WAIVER' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json contains '"sub_Rule_ID": "SUB_02"' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/waiver.json new file mode 100644 index 00000000..9da7a68e --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/waiver.json @@ -0,0 +1,24 @@ +{ + "Suites": [ + { + "Suite": "BSA", + "TestSuites": [ + { + "TestSuite": "RuleGroupA", + "TestCases": [ + { + "Test_case": "RULE_001", + "Reason": "Case waiver placeholder", + "SubTests": [ + { + "sub_Rule_ID": "SUB_01", + "Reason": "BSA subtest waiver" + } + ] + } + ] + } + ] + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/case.log b/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/case.log new file mode 100644 index 00000000..c86d268c --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::passed_result_is_not_modified_by_waiver +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json contains '"sub_test_result": "PASSED"' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json contains 'WITH WAIVER' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json b/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json new file mode 100644 index 00000000..3524f87e --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json @@ -0,0 +1,14 @@ +{ + "test_results": [ + { + "Test_suite": "DemoSuite", + "subtests": [ + { + "sub_Test_Description": "already passed", + "sub_Test_Number": "1", + "sub_test_result": "PASSED" + } + ] + } + ] +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/waiver.json new file mode 100644 index 00000000..a0089f98 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/waiver.json @@ -0,0 +1,8 @@ +{ + "Suites": [ + { + "Suite": "FWTS", + "Reason": "Should not affect passed results" + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/1_file_exists/case.log b/common/reports/_work/apply_waivers/apply_waivers/1_file_exists/case.log new file mode 100644 index 00000000..499fade8 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/apply_waivers/apply_waivers/2_python_compiles/case.log b/common/reports/_work/apply_waivers/apply_waivers/2_python_compiles/case.log new file mode 100644 index 00000000..b5bb3597 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/apply_waivers/apply_waivers/3_cli_help_flag/case.log b/common/reports/_work/apply_waivers/apply_waivers/3_cli_help_flag/case.log new file mode 100644 index 00000000..2cf8ad6b --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/3_cli_help_flag/case.log @@ -0,0 +1,26 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::cli_help_flag +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py --help +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +usage: apply_waivers.py [-h] [--quiet] + suite_name json_file [waiver_file] [output_json_file] + +Apply waivers to test suite JSON results. + +positional arguments: + suite_name Name of the test suite + json_file Path to the JSON file + waiver_file Path to the waiver file (default: waiver.json) + output_json_file Path to the test category file (default: None) + +options: + -h, --help show this help message and exit + --quiet Suppress detailed output +--- STDERR --- diff --git a/common/reports/_work/apply_waivers/apply_waivers/4_cli_missing_json_file_returns_zero_with_warning/case.log b/common/reports/_work/apply_waivers/apply_waivers/4_cli_missing_json_file_returns_zero_with_warning/case.log new file mode 100644 index 00000000..193eff73 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/4_cli_missing_json_file_returns_zero_with_warning/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::cli_missing_json_file_returns_zero_with_warning +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/4_cli_missing_json_file_returns_zero_with_warning/missing.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +WARNING: Failed to read or parse /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/4_cli_missing_json_file_returns_zero_with_warning/missing.json: [Errno 2] No such file or directory: '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/4_cli_missing_json_file_returns_zero_with_warning/missing.json' +--- STDERR --- diff --git a/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/case.log b/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/case.log new file mode 100644 index 00000000..394c466f --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::fwts_suite_level_waiver_marks_failed_subtest +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite-level waiver applied to subtest 'failure one' with reason: Known FWTS issue +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json contains 'WITH WAIVER' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json contains '(WITH WAIVER) (WITH WAIVER)' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json b/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json new file mode 100644 index 00000000..cf33ca3d --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json @@ -0,0 +1,15 @@ +{ + "test_results": [ + { + "Test_suite": "DemoSuite", + "subtests": [ + { + "sub_Test_Description": "failure one", + "sub_Test_Number": "1", + "sub_test_result": "FAILED (WITH WAIVER)", + "waiver_reason": "Known FWTS issue" + } + ] + } + ] +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/waiver.json new file mode 100644 index 00000000..cfe352e9 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/waiver.json @@ -0,0 +1,8 @@ +{ + "Suites": [ + { + "Suite": "FWTS", + "Reason": "Known FWTS issue" + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/case.log b/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/case.log new file mode 100644 index 00000000..c8ca7609 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::testsuite_level_waiver_applies_only_to_matching_testsuite +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +TestSuite-level waiver applied to subtest 'alpha' in TestSuite 'MatchSuite' with reason: Specific suite waiver +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json contains 'Specific suite waiver' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json contains '"Test_suite": "OtherSuite"' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json b/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json new file mode 100644 index 00000000..a0cde826 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json @@ -0,0 +1,25 @@ +{ + "test_results": [ + { + "Test_suite": "MatchSuite", + "subtests": [ + { + "sub_Test_Description": "alpha", + "sub_Test_Number": "1", + "sub_test_result": "FAILED (WITH WAIVER)", + "waiver_reason": "Specific suite waiver" + } + ] + }, + { + "Test_suite": "OtherSuite", + "subtests": [ + { + "sub_Test_Description": "beta", + "sub_Test_Number": "1", + "sub_test_result": "FAILED" + } + ] + } + ] +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/waiver.json new file mode 100644 index 00000000..650113a8 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/waiver.json @@ -0,0 +1,13 @@ +{ + "Suites": [ + { + "Suite": "FWTS", + "TestSuites": [ + { + "TestSuite": "MatchSuite", + "Reason": "Specific suite waiver" + } + ] + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/case.log b/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/case.log new file mode 100644 index 00000000..1e221b09 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::category_non_waivable_blocks_waiver_application +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/waiver.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/category.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/fwts.json contains 'WITH WAIVER' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/category.json b/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/category.json new file mode 100644 index 00000000..203468e4 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/category.json @@ -0,0 +1,9 @@ +{ + "cat1": [ + { + "Suite": "FWTS", + "Test Suite": "DemoSuite", + "Waivable": "No" + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/fwts.json b/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/fwts.json new file mode 100644 index 00000000..f4573638 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/fwts.json @@ -0,0 +1,14 @@ +{ + "test_results": [ + { + "Test_suite": "DemoSuite", + "subtests": [ + { + "sub_Test_Description": "failure one", + "sub_Test_Number": "1", + "sub_test_result": "FAILED" + } + ] + } + ] +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/waiver.json new file mode 100644 index 00000000..cfe352e9 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/waiver.json @@ -0,0 +1,8 @@ +{ + "Suites": [ + { + "Suite": "FWTS", + "Reason": "Known FWTS issue" + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/case.log b/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/case.log new file mode 100644 index 00000000..4f8c0af0 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::category_waivable_yes_allows_waiver_application +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/waiver.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/category.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite-level waiver applied to subtest 'failure one' with reason: Known FWTS issue +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json contains 'WITH WAIVER' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json contains '(WITH WAIVER) (WITH WAIVER)' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/category.json b/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/category.json new file mode 100644 index 00000000..2e791807 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/category.json @@ -0,0 +1,9 @@ +{ + "cat1": [ + { + "Suite": "FWTS", + "Test Suite": "DemoSuite", + "Waivable": "Yes" + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json b/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json new file mode 100644 index 00000000..cf33ca3d --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json @@ -0,0 +1,15 @@ +{ + "test_results": [ + { + "Test_suite": "DemoSuite", + "subtests": [ + { + "sub_Test_Description": "failure one", + "sub_Test_Number": "1", + "sub_test_result": "FAILED (WITH WAIVER)", + "waiver_reason": "Known FWTS issue" + } + ] + } + ] +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/waiver.json new file mode 100644 index 00000000..cfe352e9 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/waiver.json @@ -0,0 +1,8 @@ +{ + "Suites": [ + { + "Suite": "FWTS", + "Reason": "Known FWTS issue" + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/case.log b/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/case.log new file mode 100644 index 00000000..0acabb0b --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::fwts_subtest_description_waiver_applies +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Subtest-level waiver applied to subtest 'something' with reason: Description-based waiver +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json contains 'WITH WAIVER' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json contains 'Description-based waiver' -> PASS diff --git a/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json b/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json new file mode 100644 index 00000000..0b856981 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json @@ -0,0 +1,14 @@ +{ + "test_results": [ + { + "Test_suite": "DemoSuite", + "subtests": [ + { + "sub_Test_Description": "something", + "sub_Test_Number": "42", + "sub_test_result": "FAILED (WITH WAIVER), waiver_reason: \"Description-based waiver\"" + } + ] + } + ] +} \ No newline at end of file diff --git a/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/waiver.json b/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/waiver.json new file mode 100644 index 00000000..d39e0e5f --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/waiver.json @@ -0,0 +1,20 @@ +{ + "Suites": [ + { + "Suite": "FWTS", + "TestSuites": [ + { + "TestSuite": "DemoSuite", + "TestCase": { + "SubTests": [ + { + "sub_Test_Description": "something", + "Reason": "Description-based waiver" + } + ] + } + } + ] + } + ] +} diff --git a/common/reports/_work/apply_waivers/apply_waivers/combined.log b/common/reports/_work/apply_waivers/apply_waivers/combined.log new file mode 100644 index 00000000..203339f2 --- /dev/null +++ b/common/reports/_work/apply_waivers/apply_waivers/combined.log @@ -0,0 +1,338 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:19 +YAML: common/test_yaml/apply_waivers.yaml +SUITE: apply_waivers +TARGETS: common/log_parser/apply_waivers.py +==================================================================================================== + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::cli_help_flag +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py --help +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +usage: apply_waivers.py [-h] [--quiet] + suite_name json_file [waiver_file] [output_json_file] + +Apply waivers to test suite JSON results. + +positional arguments: + suite_name Name of the test suite + json_file Path to the JSON file + waiver_file Path to the waiver file (default: waiver.json) + output_json_file Path to the test category file (default: None) + +options: + -h, --help show this help message and exit + --quiet Suppress detailed output +--- STDERR --- + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::fwts_suite_level_waiver_marks_failed_subtest +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite-level waiver applied to subtest 'failure one' with reason: Known FWTS issue +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json contains 'WITH WAIVER' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/5_fwts_suite_level_waiver_marks_failed_subtest/fwts.json contains '(WITH WAIVER) (WITH WAIVER)' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::testsuite_level_waiver_applies_only_to_matching_testsuite +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +TestSuite-level waiver applied to subtest 'alpha' in TestSuite 'MatchSuite' with reason: Specific suite waiver +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json contains 'Specific suite waiver' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/6_testsuite_level_waiver_applies_only_to_matching_testsuite/fwts.json contains '"Test_suite": "OtherSuite"' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::cli_missing_json_file_returns_zero_with_warning +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/4_cli_missing_json_file_returns_zero_with_warning/missing.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +WARNING: Failed to read or parse /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/4_cli_missing_json_file_returns_zero_with_warning/missing.json: [Errno 2] No such file or directory: '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/4_cli_missing_json_file_returns_zero_with_warning/missing.json' +--- STDERR --- + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::category_non_waivable_blocks_waiver_application +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/waiver.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/category.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/7_category_non_waivable_blocks_waiver_application/fwts.json contains 'WITH WAIVER' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::category_waivable_yes_allows_waiver_application +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/waiver.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/category.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite-level waiver applied to subtest 'failure one' with reason: Known FWTS issue +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json contains 'WITH WAIVER' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/8_category_waivable_yes_allows_waiver_application/fwts.json contains '(WITH WAIVER) (WITH WAIVER)' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::fwts_subtest_description_waiver_applies +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Subtest-level waiver applied to subtest 'something' with reason: Description-based waiver +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json contains 'WITH WAIVER' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/9_fwts_subtest_description_waiver_applies/fwts.json contains 'Description-based waiver' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::standalone_subtest_description_waiver_applies +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py Standalone /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +ERROR: Waiver for Test_case 'ethtool_test' is missing 'Reason'. Skipping Test_case-level waiver. +Subtest-level waiver applied to subtest 'Ping to www.arm.com on eth0' with reason: Network stack excluded for this SKU +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check regex: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json matches '"sub_test_result": "[^"]*WITH WAIVER[^"]*"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json contains 'Network stack excluded for this SKU' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json contains '"total_failed": 0' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/10_standalone_subtest_description_waiver_applies/standalone.json contains '"total_failed_with_waiver": 1' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::fwts_does_not_duplicate_existing_with_waiver_marker +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json contains 'WITH WAIVER' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/11_fwts_does_not_duplicate_existing_with_waiver_marker/fwts.json contains '(WITH WAIVER) (WITH WAIVER)' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::bsa_testcase_waiver_marks_failed_case +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py BSA /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Test_case-level waiver applied to testcase 'RULE_001' with reason: BSA waiver +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json contains 'WITH WAIVER' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/13_bsa_testcase_waiver_marks_failed_case/bsa.json contains '(WITH WAIVER) (WITH WAIVER)' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::malformed_waiver_file_does_not_modify_json +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +INFO: Failed to read or parse /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/waiver.json: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/12_malformed_waiver_file_does_not_modify_json/fwts.json contains 'WITH WAIVER' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::quiet_mode_runs_and_updates_json +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/waiver.json --quiet +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/14_quiet_mode_runs_and_updates_json/fwts.json contains 'WITH WAIVER' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::no_matching_suite_in_waiver_file_leaves_json_unchanged +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +No valid waivers found for suite 'FWTS'. No changes applied. +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/15_no_matching_suite_in_waiver_file_leaves_json_unchanged/fwts.json contains 'WITH WAIVER' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::missing_reason_in_waiver_is_ignored +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +ERROR: Waiver for TestSuite 'DemoSuite' is missing 'Reason'. Skipping TestSuite-level waiver. +No valid waivers found for suite 'FWTS'. No changes applied. +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/16_missing_reason_in_waiver_is_ignored/fwts.json contains 'WITH WAIVER' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::sct_subsuite_level_waiver_marks_failed_subtest +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py SCT /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +SubSuite-level waiver applied to subtest 'subsuite failure' with reason: SCT subsuite waiver +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json contains 'WITH WAIVER' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json contains 'SCT subsuite waiver' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/17_sct_subsuite_level_waiver_marks_failed_subtest/sct.json contains '(WITH WAIVER) (WITH WAIVER)' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::bsa_subtest_waiver_applies_by_sub_rule_id +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py BSA /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Test_case-level waiver applied to testcase 'RULE_001' with reason: Case waiver placeholder +Subtest-level waiver applied to subtest 'SUB_01' (first subtest) in testcase 'RULE_001' with reason: BSA subtest waiver +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json contains 'BSA subtest waiver' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json contains 'WITH WAIVER' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/18_bsa_subtest_waiver_applies_by_sub_rule_id/bsa.json contains '"sub_Rule_ID": "SUB_02"' -> PASS + +================================================================================ +TEST CASE: apply_waivers::apply_waivers.py::passed_result_is_not_modified_by_waiver +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/apply_waivers.py FWTS /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/waiver.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Waivers successfully applied and '/home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json' has been updated. +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json contains '"sub_test_result": "PASSED"' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/apply_waivers/apply_waivers/19_passed_result_is_not_modified_by_waiver/fwts.json contains 'WITH WAIVER' -> PASS + diff --git a/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/bsa.json b/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/bsa.json new file mode 100755 index 00000000..828e21da --- /dev/null +++ b/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/bsa.json @@ -0,0 +1 @@ +{ invalid json diff --git a/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/case.log b/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/case.log new file mode 100644 index 00000000..b026ff7e --- /dev/null +++ b/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/case.log @@ -0,0 +1,32 @@ +================================================================================ +TEST CASE: bsa_json_to_html_specific::json_to_html.py::bsa_invalid_json_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/bsa/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/bsa.json /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/detail.html /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/bsa/json_to_html.py", line 469, in + main(input_json_file, detailed_html_file, summary_html_file) + File "/home/vepav01/arm-systemready/common/log_parser/bsa/json_to_html.py", line 425, in main + data = json.load(json_file) + ^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 293, in load + return loads(fp.read(), + ^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 346, in loads + return _default_decoder.decode(s) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 337, in decode + obj, end = self.raw_decode(s, idx=_w(s, 0).end()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 353, in raw_decode + obj, end = self.scan_once(s, idx) + ^^^^^^^^^^^^^^^^^^^^^^ +json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) diff --git a/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/bsa.json b/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/bsa.json new file mode 100755 index 00000000..2cd16d9b --- /dev/null +++ b/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/bsa.json @@ -0,0 +1,26 @@ +{ + "suite_summary": { + "Passed": 5, + "Failed": 0, + "Total_failed_with_waiver": 0, + "Aborted": 0, + "Skipped": 0, + "Warnings": 0, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed (Partial)": 0, + "Total Rules Run": 5 + }, + "test_results": [ + { + "Test_suite": "BSA", + "testcases": [ + { + "Test_case": "Rule 1", + "Test_case_description": "Detailed row says failed", + "Test_result": "FAILED" + } + ] + } + ] +} diff --git a/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/case.log b/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/case.log new file mode 100644 index 00000000..a9d9600c --- /dev/null +++ b/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/case.log @@ -0,0 +1,25 @@ +================================================================================ +TEST CASE: bsa_json_to_html_specific::json_to_html.py::bsa_top_level_summary_is_used_even_if_detailed_results_differ +STATUS: WARNING +MESSAGE: + +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html contains 'FAILED' -> PASS + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/bsa/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/bsa.json /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html contains 'BSA' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html contains 'Rule 1' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html contains 'FAILED' -> PASS +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html contains 'Result Summary' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html contains '5' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html contains '0' -> PASS diff --git a/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html b/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html new file mode 100644 index 00000000..65194275 --- /dev/null +++ b/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html @@ -0,0 +1,237 @@ + + + + + BSA Test Summary + + + +

    BSA Test Summary

    + + +
    + Test Results Distribution +
    + + +
    +

    Result Summary

    + +

    + For details on Rule Results Status, refer to - +
    + https://github.com/ARM-software/sysarch-acs/blob/main/docs/common/RuleBasedGuide.md#rule-status-in-logs +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StatusTotal
    Total Tests5
    Passed5
    Failed0
    Failed with Waiver0
    Aborted0
    Skipped0
    Warnings0
    Passed (Partial)0
    Not Implemented0
    PAL Not Supported0
    +
    + + +
    + +
    Test Suite: BSA
    + + + + + + + + + + + + + + + + + + + + +
    Test CaseTest Case DescriptionTest ResultWaiver Reason
    Rule 1Detailed row says failed + FAILED + + + N/A + +
    + +
    + + + + \ No newline at end of file diff --git a/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html b/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html new file mode 100644 index 00000000..45a85cf2 --- /dev/null +++ b/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html @@ -0,0 +1,194 @@ + + + + + BSA Test Summary + + + +

    BSA Test Summary

    + + + +
    +

    Result Summary

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StatusTotal
    Total Tests5
    Passed5
    Failed0
    Failed with Waiver0
    Aborted0
    Skipped0
    Warnings0
    Passed (Partial)0
    Not Implemented0
    PAL Not Supported0
    +
    + + + + + \ No newline at end of file diff --git a/common/reports/_work/bsa_json_to_html_specific/json_to_html/combined.log b/common/reports/_work/bsa_json_to_html_specific/json_to_html/combined.log new file mode 100644 index 00000000..49bf2b01 --- /dev/null +++ b/common/reports/_work/bsa_json_to_html_specific/json_to_html/combined.log @@ -0,0 +1,66 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:25 +YAML: common/test_yaml/json-to-html.yaml +SUITE: bsa_json_to_html_specific +TARGETS: common/log_parser/bsa/json_to_html.py +==================================================================================================== + +================================================================================ +TEST CASE: bsa_json_to_html_specific::json_to_html.py::bsa_invalid_json_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/bsa/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/bsa.json /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/detail.html /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/1_bsa_invalid_json_input/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/bsa/json_to_html.py", line 469, in + main(input_json_file, detailed_html_file, summary_html_file) + File "/home/vepav01/arm-systemready/common/log_parser/bsa/json_to_html.py", line 425, in main + data = json.load(json_file) + ^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 293, in load + return loads(fp.read(), + ^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 346, in loads + return _default_decoder.decode(s) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 337, in decode + obj, end = self.raw_decode(s, idx=_w(s, 0).end()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 353, in raw_decode + obj, end = self.scan_once(s, idx) + ^^^^^^^^^^^^^^^^^^^^^^ +json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) + +================================================================================ +TEST CASE: bsa_json_to_html_specific::json_to_html.py::bsa_top_level_summary_is_used_even_if_detailed_results_differ +STATUS: WARNING +MESSAGE: + +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html contains 'FAILED' -> PASS + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/bsa/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/bsa.json /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html contains 'BSA' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html contains 'Rule 1' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/detail.html contains 'FAILED' -> PASS +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html contains 'Result Summary' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html contains '5' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/bsa_json_to_html_specific/json_to_html/2_bsa_top_level_summary_is_used_even_if_detailed_results_differ/summary.html contains '0' -> PASS + diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/10_os_indications_short_data_treated_as_unreadable/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/10_os_indications_short_data_treated_as_unreadable/case.log new file mode 100644 index 00000000..31d98b94 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/10_os_indications_short_data_treated_as_unreadable/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::os_indications_short_data_treated_as_unreadable +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d/capsule.log contains 'OsIndicationsSupported not found or unreadable' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: SKIPPED' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/11_support_claimed_but_missing_capsule_variables_returns_3/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/11_support_claimed_but_missing_capsule_variables_returns_3/case.log new file mode 100644 index 00000000..deb879d5 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/11_support_claimed_but_missing_capsule_variables_returns_3/case.log @@ -0,0 +1,19 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::support_claimed_but_missing_capsule_variables_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/capsule.log contains 'CapsuleMax Variable - Not Found or Not Accessible' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/capsule.log contains 'CapsuleLast Variable - Not Found or Not Accessible' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/capsule.log contains 'No CapsuleNNNN reporting variables found - WARNING' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/12_capsulemax_wrong_attributes_returns_3/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/12_capsulemax_wrong_attributes_returns_3/case.log new file mode 100644 index 00000000..744b8f38 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/12_capsulemax_wrong_attributes_returns_3/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulemax_wrong_attributes_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/capsule.log contains 'CapsuleMax Variable Attribute Test' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/capsule.log contains 'actual attributes Value:0x7' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/capsule.log contains 'Status - WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/13_capsulelast_wrong_attributes_returns_3/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/13_capsulelast_wrong_attributes_returns_3/case.log new file mode 100644 index 00000000..591d088e --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/13_capsulelast_wrong_attributes_returns_3/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulelast_wrong_attributes_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/capsule.log contains 'CapsuleLast Variable Attribute Test' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/capsule.log contains 'actual attributes Value:0x6' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/capsule.log contains 'Status - WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/14_malformed_capsulelast_value_returns_3/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/14_malformed_capsulelast_value_returns_3/case.log new file mode 100644 index 00000000..6bbb01b7 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/14_malformed_capsulelast_value_returns_3/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::malformed_capsulelast_value_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7/capsule.log contains 'CapsuleLast Variable Test: WARNING' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/15_capsulemax_too_short_returns_3/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/15_capsulemax_too_short_returns_3/case.log new file mode 100644 index 00000000..c0fa60b5 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/15_capsulemax_too_short_returns_3/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulemax_too_short_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_01da8e3a +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_01da8e3a/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_01da8e3a/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_01da8e3a/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_01da8e3a/capsule.log contains 'CapsuleMax Variable Test: WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/16_missing_capsulelast_returns_3/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/16_missing_capsulelast_returns_3/case.log new file mode 100644 index 00000000..01f2ebf9 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/16_missing_capsulelast_returns_3/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::missing_capsulelast_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8240013a +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8240013a/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8240013a/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8240013a/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8240013a/capsule.log contains 'CapsuleLast Variable - Not Found or Not Accessible' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/17_inaccessible_capsule_nnnn_variable_returns_3/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/17_inaccessible_capsule_nnnn_variable_returns_3/case.log new file mode 100644 index 00000000..34940054 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/17_inaccessible_capsule_nnnn_variable_returns_3/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::inaccessible_capsule_nnnn_variable_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1445ffc5 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1445ffc5/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1445ffc5/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1445ffc5/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1445ffc5/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0001 Variable Test: WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/18_capsule_nnnn_wrong_attributes_returns_3/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/18_capsule_nnnn_wrong_attributes_returns_3/case.log new file mode 100644 index 00000000..4c9d63dd --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/18_capsule_nnnn_wrong_attributes_returns_3/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsule_nnnn_wrong_attributes_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0001 Variable Test: PASSED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/capsule.log contains 'actual attributes Value:0x6' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/capsule.log contains 'Status - WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/19_multiple_capsule_nnnn_one_bad_one_good_returns_3/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/19_multiple_capsule_nnnn_one_bad_one_good_returns_3/case.log new file mode 100644 index 00000000..ca9cbea9 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/19_multiple_capsule_nnnn_one_bad_one_good_returns_3/case.log @@ -0,0 +1,19 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::multiple_capsule_nnnn_one_bad_one_good_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0001 Variable Test: PASSED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0002 Variable Test: PASSED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/capsule.log contains 'actual attributes Value:0x6' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/1_file_exists/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/1_file_exists/case.log new file mode 100644 index 00000000..d735c79f --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/20_all_valid_variables_return_0_and_pass/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/20_all_valid_variables_return_0_and_pass/case.log new file mode 100644 index 00000000..144f2f7a --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/20_all_valid_variables_return_0_and_pass/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::all_valid_variables_return_0_and_pass +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_650db795 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_650db795/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_650db795/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_650db795/capsule.log' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check ordered_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_650db795/capsule.log -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/21_cli_mock_open_raises_oserror_for_existing_capsulelast/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/21_cli_mock_open_raises_oserror_for_existing_capsulelast/case.log new file mode 100644 index 00000000..cfff35f1 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/21_cli_mock_open_raises_oserror_for_existing_capsulelast/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::cli_mock_open_raises_oserror_for_existing_capsulelast +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457/capsule.log contains 'CapsuleLast Variable - Not Found or Not Accessible' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/22_cli_mock_listdir_failure_for_existing_efivarfs/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/22_cli_mock_listdir_failure_for_existing_efivarfs/case.log new file mode 100644 index 00000000..191c09e9 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/22_cli_mock_listdir_failure_for_existing_efivarfs/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::cli_mock_listdir_failure_for_existing_efivarfs +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778/capsule.log contains 'efivarfs not accessible - WARNING' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/23_cli_mock_read_efi_var_os_indications_unreadable_even_when_file_exists/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/23_cli_mock_read_efi_var_os_indications_unreadable_even_when_file_exists/case.log new file mode 100644 index 00000000..ccc9fb9d --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/23_cli_mock_read_efi_var_os_indications_unreadable_even_when_file_exists/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::cli_mock_read_efi_var_os_indications_unreadable_even_when_file_exists +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c/capsule.log contains 'OsIndicationsSupported not found or unreadable' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: SKIPPED' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/24_cli_mock_read_efi_var_capsulemax_missing_even_when_file_exists/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/24_cli_mock_read_efi_var_capsulemax_missing_even_when_file_exists/case.log new file mode 100644 index 00000000..e686b2df --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/24_cli_mock_read_efi_var_capsulemax_missing_even_when_file_exists/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::cli_mock_read_efi_var_capsulemax_missing_even_when_file_exists +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504/capsule.log contains 'CapsuleMax Variable - Not Found or Not Accessible' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/25_ondisk_supported_without_capsule_entries_currently_passes_overall/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/25_ondisk_supported_without_capsule_entries_currently_passes_overall/case.log new file mode 100644 index 00000000..b022e292 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/25_ondisk_supported_without_capsule_entries_currently_passes_overall/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::ondisk_supported_without_capsule_entries_currently_passes_overall +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380/capsule.log' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380/capsule.log contains 'No CapsuleNNNN reporting variables found - WARNING' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: PASSED' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/26_capsulemax_exact_char16_11_length_should_be_enforced/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/26_capsulemax_exact_char16_11_length_should_be_enforced/case.log new file mode 100644 index 00000000..175eda8e --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/26_capsulemax_exact_char16_11_length_should_be_enforced/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulemax_exact_char16_11_length_should_be_enforced +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d/capsule.log' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d/capsule.log contains 'CapsuleMax - Found, Value - Capsule0001' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: PASSED' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/27_capsule_nnnn_payload_structure_should_not_be_ignored/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/27_capsule_nnnn_payload_structure_should_not_be_ignored/case.log new file mode 100644 index 00000000..e196d97f --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/27_capsule_nnnn_payload_structure_should_not_be_ignored/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsule_nnnn_payload_structure_should_not_be_ignored +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/capsule.log' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0001 - Found' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0001 Variable Test: PASSED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: PASSED' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/28_missing_os_indications_is_reported_as_not_found/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/28_missing_os_indications_is_reported_as_not_found/case.log new file mode 100644 index 00000000..20a9379f --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/28_missing_os_indications_is_reported_as_not_found/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::missing_os_indications_is_reported_as_not_found +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e078ac49 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e078ac49/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e078ac49/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e078ac49/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e078ac49/capsule.log contains 'OsIndicationsSupported not found or unreadable' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/29_logging_failure_silently_skips_log_creation/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/29_logging_failure_silently_skips_log_creation/case.log new file mode 100644 index 00000000..cae853ea --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/29_logging_failure_silently_skips_log_creation/case.log @@ -0,0 +1,15 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::logging_failure_silently_skips_log_creation +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_594c532c +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_594c532c/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_594c532c/capsule.log' +Exit code: 1 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check not_exists: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_594c532c/capsule.log -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/2_python_compiles/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/2_python_compiles/case.log new file mode 100644 index 00000000..c4f9454d --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/30_unreadable_os_indications_is_reported_as_unreadable/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/30_unreadable_os_indications_is_reported_as_unreadable/case.log new file mode 100644 index 00000000..12220b12 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/30_unreadable_os_indications_is_reported_as_unreadable/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::unreadable_os_indications_is_reported_as_unreadable +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_208068e0 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_208068e0/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_208068e0/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_208068e0/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_208068e0/capsule.log contains 'OsIndicationsSupported not found or unreadable' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/31_capsulemax_with_additional_attribute_bits_is_rejected/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/31_capsulemax_with_additional_attribute_bits_is_rejected/case.log new file mode 100644 index 00000000..b001b12b --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/31_capsulemax_with_additional_attribute_bits_is_rejected/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulemax_with_additional_attribute_bits_is_rejected +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_32486291 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_32486291/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_32486291/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_32486291/log.txt' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_32486291/log.txt contains 'Status - WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/32_permission_denied_during_capsule_enumeration_is_identified/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/32_permission_denied_during_capsule_enumeration_is_identified/case.log new file mode 100644 index 00000000..62c4b8be --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/32_permission_denied_during_capsule_enumeration_is_identified/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::permission_denied_during_capsule_enumeration_is_identified +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c566a3dd +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c566a3dd/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c566a3dd/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c566a3dd/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c566a3dd/capsule.log contains 'efivarfs not accessible - WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/33_malformed_capsule_entry_content_is_rejected/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/33_malformed_capsule_entry_content_is_rejected/case.log new file mode 100644 index 00000000..334f6806 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/33_malformed_capsule_entry_content_is_rejected/case.log @@ -0,0 +1,15 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::malformed_capsule_entry_content_is_rejected +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e7eaaf42 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e7eaaf42/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e7eaaf42/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e7eaaf42/log.txt' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/34_oversized_capsulemax_value_is_currently_accepted/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/34_oversized_capsulemax_value_is_currently_accepted/case.log new file mode 100644 index 00000000..4da84ca7 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/34_oversized_capsulemax_value_is_currently_accepted/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::oversized_capsulemax_value_is_currently_accepted +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca/log.txt' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca/log.txt contains 'CapsuleMax - Found, Value - Capsule0001' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca/log.txt contains 'Overall Capsule On-Disk Update Reporting Variables Result: PASSED' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/35_invalid_utf16_in_capsulelast_is_reported/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/35_invalid_utf16_in_capsulelast_is_reported/case.log new file mode 100644 index 00000000..1a49a0ea --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/35_invalid_utf16_in_capsulelast_is_reported/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::invalid_utf16_in_capsulelast_is_reported +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670/log.txt' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670/log.txt contains 'CapsuleLast Variable Test: WARNING' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670/log.txt contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/36_capsulelast_is_not_cross_checked_against_discovered_entry/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/36_capsulelast_is_not_cross_checked_against_discovered_entry/case.log new file mode 100644 index 00000000..82e23031 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/36_capsulelast_is_not_cross_checked_against_discovered_entry/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulelast_is_not_cross_checked_against_discovered_entry +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e/log.txt' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e/log.txt contains 'CapsuleLast Variable Test: PASSED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e/log.txt contains 'Overall Capsule On-Disk Update Reporting Variables Result: PASSED' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/3_has_main_guard/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/3_has_main_guard/case.log new file mode 100644 index 00000000..d6ac72fd --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/3_has_main_guard/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/4_status_true_returns_passed/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/4_status_true_returns_passed/case.log new file mode 100644 index 00000000..9089ab1e --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/4_status_true_returns_passed/case.log @@ -0,0 +1,9 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::status_true_returns_passed +STATUS: PASS +MESSAGE: Function returned 'PASSED' + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/4_status_true_returns_passed +--- STDOUT --- + +--- STDERR --- diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/5_status_false_returns_warning/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/5_status_false_returns_warning/case.log new file mode 100644 index 00000000..17ee6ca9 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/5_status_false_returns_warning/case.log @@ -0,0 +1,9 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::status_false_returns_warning +STATUS: PASS +MESSAGE: Function returned 'WARNING' + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/5_status_false_returns_warning +--- STDOUT --- + +--- STDERR --- diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/6_decode_valid_utf16le_returns_capsule_name/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/6_decode_valid_utf16le_returns_capsule_name/case.log new file mode 100644 index 00000000..c5d9cb89 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/6_decode_valid_utf16le_returns_capsule_name/case.log @@ -0,0 +1,9 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::decode_valid_utf16le_returns_capsule_name +STATUS: PASS +MESSAGE: Function returned 'Capsule0001' + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/6_decode_valid_utf16le_returns_capsule_name +--- STDOUT --- + +--- STDERR --- diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/7_missing_efivarfs_returns_1_and_logs_warning/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/7_missing_efivarfs_returns_1_and_logs_warning/case.log new file mode 100644 index 00000000..13c3bde9 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/7_missing_efivarfs_returns_1_and_logs_warning/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::missing_efivarfs_returns_1_and_logs_warning +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714 +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714/missing_efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714/capsule.log' +Exit code: 1 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714/capsule.log -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714/capsule.log contains 'Please ensure efivarfs is enabled and mounted' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/8_missing_os_indications_returns_2_and_skips/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/8_missing_os_indications_returns_2_and_skips/case.log new file mode 100644 index 00000000..fe40a114 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/8_missing_os_indications_returns_2_and_skips/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::missing_os_indications_returns_2_and_skips +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/capsule.log -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/capsule.log contains 'OsIndicationsSupported not found or unreadable' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: SKIPPED' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/9_os_indications_without_capsule_support_bit_returns_2/case.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/9_os_indications_without_capsule_support_bit_returns_2/case.log new file mode 100644 index 00000000..10508a54 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/9_os_indications_without_capsule_support_bit_returns_2/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::os_indications_without_capsule_support_bit_returns_2 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/capsule.log contains 'INFO: OsIndicationsSupported value: 0x0' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/capsule.log contains 'INFO: Capsule on-disk reporting variables test is not applicable - SKIPPED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: SKIPPED' -> PASS diff --git a/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/combined.log b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/combined.log new file mode 100644 index 00000000..716f9736 --- /dev/null +++ b/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/combined.log @@ -0,0 +1,590 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:20 +YAML: common/test_yaml/capsule-ondisk-reporting-vars-check.yaml +SUITE: capsule_ondisk_reporting_vars_check +TARGETS: common/linux_scripts/capsule_ondisk_reporting_vars_check.py +==================================================================================================== + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::status_true_returns_passed +STATUS: PASS +MESSAGE: Function returned 'PASSED' + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/4_status_true_returns_passed +--- STDOUT --- + +--- STDERR --- + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::status_false_returns_warning +STATUS: PASS +MESSAGE: Function returned 'WARNING' + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/5_status_false_returns_warning +--- STDOUT --- + +--- STDERR --- + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::decode_valid_utf16le_returns_capsule_name +STATUS: PASS +MESSAGE: Function returned 'Capsule0001' + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/capsule_ondisk_reporting_vars_check/capsule_ondisk_reporting_vars_check/6_decode_valid_utf16le_returns_capsule_name +--- STDOUT --- + +--- STDERR --- + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::missing_efivarfs_returns_1_and_logs_warning +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714 +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714/missing_efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714/capsule.log' +Exit code: 1 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714/capsule.log -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714/capsule.log contains 'Please ensure efivarfs is enabled and mounted' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_88dc7714/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::missing_os_indications_returns_2_and_skips +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/capsule.log -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/capsule.log contains 'OsIndicationsSupported not found or unreadable' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8dd3a5aa/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: SKIPPED' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::os_indications_without_capsule_support_bit_returns_2 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/capsule.log contains 'INFO: OsIndicationsSupported value: 0x0' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/capsule.log contains 'INFO: Capsule on-disk reporting variables test is not applicable - SKIPPED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_febeaab0/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: SKIPPED' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::os_indications_short_data_treated_as_unreadable +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d/capsule.log contains 'OsIndicationsSupported not found or unreadable' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91c8272d/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: SKIPPED' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::support_claimed_but_missing_capsule_variables_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/capsule.log contains 'CapsuleMax Variable - Not Found or Not Accessible' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/capsule.log contains 'CapsuleLast Variable - Not Found or Not Accessible' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/capsule.log contains 'No CapsuleNNNN reporting variables found - WARNING' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_860fac3f/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulemax_wrong_attributes_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/capsule.log contains 'CapsuleMax Variable Attribute Test' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/capsule.log contains 'actual attributes Value:0x7' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_31b9841b/capsule.log contains 'Status - WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulelast_wrong_attributes_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/capsule.log contains 'CapsuleLast Variable Attribute Test' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/capsule.log contains 'actual attributes Value:0x6' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3259da37/capsule.log contains 'Status - WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::malformed_capsulelast_value_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7/capsule.log contains 'CapsuleLast Variable Test: WARNING' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1bd605c7/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulemax_too_short_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_01da8e3a +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_01da8e3a/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_01da8e3a/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_01da8e3a/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_01da8e3a/capsule.log contains 'CapsuleMax Variable Test: WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::missing_capsulelast_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8240013a +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8240013a/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8240013a/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8240013a/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8240013a/capsule.log contains 'CapsuleLast Variable - Not Found or Not Accessible' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::inaccessible_capsule_nnnn_variable_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1445ffc5 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1445ffc5/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1445ffc5/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1445ffc5/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_1445ffc5/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0001 Variable Test: WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsule_nnnn_wrong_attributes_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0001 Variable Test: PASSED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/capsule.log contains 'actual attributes Value:0x6' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4c76164f/capsule.log contains 'Status - WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::multiple_capsule_nnnn_one_bad_one_good_returns_3 +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0001 Variable Test: PASSED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0002 Variable Test: PASSED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/capsule.log contains 'actual attributes Value:0x6' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_f1d340bd/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::all_valid_variables_return_0_and_pass +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_650db795 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_650db795/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_650db795/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_650db795/capsule.log' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check ordered_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_650db795/capsule.log -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::cli_mock_open_raises_oserror_for_existing_capsulelast +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457/capsule.log contains 'CapsuleLast Variable - Not Found or Not Accessible' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c9f01457/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::cli_mock_listdir_failure_for_existing_efivarfs +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778/capsule.log contains 'efivarfs not accessible - WARNING' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_fd744778/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::cli_mock_read_efi_var_os_indications_unreadable_even_when_file_exists +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c/capsule.log contains 'OsIndicationsSupported not found or unreadable' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2f77014c/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: SKIPPED' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::cli_mock_read_efi_var_capsulemax_missing_even_when_file_exists +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504/capsule.log contains 'CapsuleMax Variable - Not Found or Not Accessible' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_40abb504/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::ondisk_supported_without_capsule_entries_currently_passes_overall +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380/capsule.log' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380/capsule.log contains 'No CapsuleNNNN reporting variables found - WARNING' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_2956a380/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: PASSED' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulemax_exact_char16_11_length_should_be_enforced +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d/capsule.log' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d/capsule.log contains 'CapsuleMax - Found, Value - Capsule0001' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_3884162d/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: PASSED' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsule_nnnn_payload_structure_should_not_be_ignored +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/capsule.log' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0001 - Found' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/capsule.log contains 'CapsuleNNNN Variable Test: Capsule0001 Variable Test: PASSED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_feb1c809/capsule.log contains 'Overall Capsule On-Disk Update Reporting Variables Result: PASSED' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::missing_os_indications_is_reported_as_not_found +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e078ac49 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e078ac49/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e078ac49/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e078ac49/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e078ac49/capsule.log contains 'OsIndicationsSupported not found or unreadable' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::logging_failure_silently_skips_log_creation +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_594c532c +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_594c532c/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_594c532c/capsule.log' +Exit code: 1 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check not_exists: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_594c532c/capsule.log -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::unreadable_os_indications_is_reported_as_unreadable +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_208068e0 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_208068e0/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_208068e0/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_208068e0/capsule.log' +Exit code: 2 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_208068e0/capsule.log contains 'OsIndicationsSupported not found or unreadable' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulemax_with_additional_attribute_bits_is_rejected +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_32486291 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_32486291/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_32486291/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_32486291/log.txt' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_32486291/log.txt contains 'Status - WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::permission_denied_during_capsule_enumeration_is_identified +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c566a3dd +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c566a3dd/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c566a3dd/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c566a3dd/capsule.log' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c566a3dd/capsule.log contains 'efivarfs not accessible - WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::malformed_capsule_entry_content_is_rejected +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e7eaaf42 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e7eaaf42/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e7eaaf42/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_e7eaaf42/log.txt' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::oversized_capsulemax_value_is_currently_accepted +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca/log.txt' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca/log.txt contains 'CapsuleMax - Found, Value - Capsule0001' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_82a3bfca/log.txt contains 'Overall Capsule On-Disk Update Reporting Variables Result: PASSED' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::invalid_utf16_in_capsulelast_is_reported +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670 +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670/log.txt' +Exit code: 3 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670/log.txt contains 'CapsuleLast Variable Test: WARNING' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c7011670/log.txt contains 'Overall Capsule On-Disk Update Reporting Variables Result: WARNING' -> PASS + +================================================================================ +TEST CASE: capsule_ondisk_reporting_vars_check::capsule_ondisk_reporting_vars_check.py::capsulelast_is_not_cross_checked_against_discovered_entry +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e +Created directory: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e/efivars +Patched constant: EFIVAR_PATH='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e/efivars' +Patched constant: LOG_FILE='/home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e/log.txt' +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e/log.txt contains 'CapsuleLast Variable Test: PASSED' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_ccbb0e9e/log.txt contains 'Overall Capsule On-Disk Update Reporting Variables Result: PASSED' -> PASS + diff --git a/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/1_has_edk2_keyword/case.log b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/1_has_edk2_keyword/case.log new file mode 100644 index 00000000..687de546 --- /dev/null +++ b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/1_has_edk2_keyword/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: edk2_logs_to_json_specific::logs_to_json_edk2.py::has_edk2_keyword +STATUS: PASS +MESSAGE: All patterns matched diff --git a/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/2_has_edk2_parse_logic/case.log b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/2_has_edk2_parse_logic/case.log new file mode 100644 index 00000000..12186d65 --- /dev/null +++ b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/2_has_edk2_parse_logic/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: edk2_logs_to_json_specific::logs_to_json_edk2.py::has_edk2_parse_logic +STATUS: PASS +MESSAGE: All patterns matched diff --git a/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/3_cli_requires_two_args/case.log b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/3_cli_requires_two_args/case.log new file mode 100644 index 00000000..6c38ad93 --- /dev/null +++ b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/3_cli_requires_two_args/case.log @@ -0,0 +1,15 @@ +================================================================================ +TEST CASE: edk2_logs_to_json_specific::logs_to_json_edk2.py::cli_requires_two_args +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/bbr/sct/logs_to_json_edk2.py +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 2 +--- STDOUT --- + +--- STDERR --- +usage: logs_to_json_edk2.py [-h] input_file output_file +logs_to_json_edk2.py: error: the following arguments are required: input_file, output_file diff --git a/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/4_cli_missing_input_file_fails/case.log b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/4_cli_missing_input_file_fails/case.log new file mode 100644 index 00000000..5d567170 --- /dev/null +++ b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/4_cli_missing_input_file_fails/case.log @@ -0,0 +1,14 @@ +================================================================================ +TEST CASE: edk2_logs_to_json_specific::logs_to_json_edk2.py::cli_missing_input_file_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/bbr/sct/logs_to_json_edk2.py /home/vepav01/arm-systemready/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/4_cli_missing_input_file_fails/missing.log /home/vepav01/arm-systemready/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/4_cli_missing_input_file_fails/out.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Error: File not found: /home/vepav01/arm-systemready/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/4_cli_missing_input_file_fails/missing.log diff --git a/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/case.log b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/case.log new file mode 100644 index 00000000..867f426e --- /dev/null +++ b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: edk2_logs_to_json_specific::logs_to_json_edk2.py::cli_parses_markdown_table_to_json +STATUS: PASS +MESSAGE: CLI check passed + +Command: ./run_case.sh /home/vepav01/arm-systemready/common/log_parser/bbr/sct/logs_to_json_edk2.py +Shell mode: no +Timeout seconds: 5 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_empty: /home/vepav01/arm-systemready/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/out.json -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/out.json contains 'AAAA-BBBB' -> PASS diff --git a/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/edk2-test-parser.log b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/edk2-test-parser.log new file mode 100644 index 00000000..692b3a6d --- /dev/null +++ b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/edk2-test-parser.log @@ -0,0 +1,3 @@ +| name | set guid | guid | result | updated by | +|------|----------|------|--------|------------| +| TestA | AAAA-BBBB | 1111-2222 | PASS | parser | diff --git a/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/out.json b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/out.json new file mode 100644 index 00000000..84f1346c --- /dev/null +++ b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/out.json @@ -0,0 +1,9 @@ +[ + { + "Test Entry Point GUID": "AAAA-BBBB", + "sub_Test_GUID": "1111-2222", + "result": "PASS", + "reason": "parser", + "sub_Test_Description": "TestA" + } +] \ No newline at end of file diff --git a/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/run_case.sh b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/run_case.sh new file mode 100755 index 00000000..c57a8e4f --- /dev/null +++ b/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/run_case.sh @@ -0,0 +1,10 @@ +#!/bin/sh +set -eu + +cat > edk2-test-parser.log < PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/edk2_logs_to_json_specific/logs_to_json_edk2/5_cli_parses_markdown_table_to_json/out.json contains 'AAAA-BBBB' -> PASS + diff --git a/common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health/case.log b/common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health/case.log new file mode 100644 index 00000000..c2ff5477 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health/case.log @@ -0,0 +1,51 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::external_connectivity_failures_do_not_override_local_interface_health +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- diff --git a/common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health/system_config.txt b/common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health/system_config.txt new file mode 100644 index 00000000..8379b1b9 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health/system_config.txt @@ -0,0 +1 @@ +total_number_of_network_controllers: 1 diff --git a/common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe/case.log b/common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe/case.log new file mode 100644 index 00000000..3ed8bd22 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe/case.log @@ -0,0 +1,103 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::route_validation_does_not_depend_on_public_ip_probe +STATUS: WARNING +MESSAGE: + +PHASE: expectation_check +CHECK TYPE: expect_stdout_or_stderr_contains + +EXPECTED: + Ping gateway (IPv4) + +ACTUAL STDOUT: + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m + +ACTUAL STDERR: + + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- diff --git a/common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe/system_config.txt b/common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe/system_config.txt new file mode 100644 index 00000000..8379b1b9 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe/system_config.txt @@ -0,0 +1 @@ +total_number_of_network_controllers: 1 diff --git a/common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade/case.log b/common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade/case.log new file mode 100644 index 00000000..9dc517db --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade/case.log @@ -0,0 +1,51 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::compliance_requires_more_than_link_when_external_checks_degrade +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- diff --git a/common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade/system_config.txt b/common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade/system_config.txt new file mode 100644 index 00000000..8379b1b9 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade/system_config.txt @@ -0,0 +1 @@ +total_number_of_network_controllers: 1 diff --git a/common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery/case.log b/common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery/case.log new file mode 100644 index 00000000..a086d58e --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery/case.log @@ -0,0 +1,207 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::connectivity_checks_wait_for_interface_state_recovery +STATUS: WARNING +MESSAGE: + +PHASE: expectation_check +CHECK TYPE: expect_stdout_or_stderr_contains + +EXPECTED: + Gateway Address present + +ACTUAL STDOUT: + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m + +ACTUAL STDERR: + +-------------------------------------------------------------------------------- +PHASE: expectation_check +CHECK TYPE: expect_stdout_or_stderr_contains + +EXPECTED: + Ping gateway (IPv4) + +ACTUAL STDOUT: + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m + +ACTUAL STDERR: + +-------------------------------------------------------------------------------- +PHASE: expectation_check +CHECK TYPE: expect_stdout_or_stderr_contains + +EXPECTED: + Ping www.arm.com (IPv4) + +ACTUAL STDOUT: + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m + +ACTUAL STDERR: + + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- diff --git a/common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery/system_config.txt b/common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery/system_config.txt new file mode 100644 index 00000000..8379b1b9 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery/system_config.txt @@ -0,0 +1 @@ +total_number_of_network_controllers: 1 diff --git a/common/reports/_work/ethtool_test/ethtool-test/1_file_exists/case.log b/common/reports/_work/ethtool_test/ethtool-test/1_file_exists/case.log new file mode 100644 index 00000000..5478cfde --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/ethtool_test/ethtool-test/2_python_compiles/case.log b/common/reports/_work/ethtool_test/ethtool-test/2_python_compiles/case.log new file mode 100644 index 00000000..d36c5b25 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/ethtool_test/ethtool-test/3_has_main_guard/case.log b/common/reports/_work/ethtool_test/ethtool-test/3_has_main_guard/case.log new file mode 100644 index 00000000..9f1f134d --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/3_has_main_guard/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found diff --git a/common/reports/_work/ethtool_test/ethtool-test/4_expected_test_order_keywords_exist/case.log b/common/reports/_work/ethtool_test/ethtool-test/4_expected_test_order_keywords_exist/case.log new file mode 100644 index 00000000..30be9538 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/4_expected_test_order_keywords_exist/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::expected_test_order_keywords_exist +STATUS: PASS +MESSAGE: All patterns matched diff --git a/common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero/case.log b/common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero/case.log new file mode 100644 index 00000000..99397ab3 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::cli_no_ethernet_interfaces_exits_nonzero +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero/system_config.txt +Exit code: 1 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[93mWARN: No ethernet interfaces detected via ip linux command, Exiting ...[0m +--- STDERR --- diff --git a/common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero/system_config.txt b/common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero/system_config.txt new file mode 100644 index 00000000..bc2e90da --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero/system_config.txt @@ -0,0 +1 @@ +total_number_of_network_controllers: 0 diff --git a/common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only/case.log b/common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only/case.log new file mode 100644 index 00000000..c8d89e26 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only/case.log @@ -0,0 +1,38 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::cli_virtual_interface_only +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: docker0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (docker0) + +Interface docker0 +Bring up : [93mSKIPPED[0m (Virtual interface — skipped all tests) + +Ethtool Compliance : [91mFAILED[0m (No testable interfaces) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- diff --git a/common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only/system_config.txt b/common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only/system_config.txt new file mode 100644 index 00000000..bc2e90da --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only/system_config.txt @@ -0,0 +1 @@ +total_number_of_network_controllers: 0 diff --git a/common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only/case.log b/common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only/case.log new file mode 100644 index 00000000..817bf17a --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only/case.log @@ -0,0 +1,57 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::cli_sysfs_link_only +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[93mWARN: ethtool not found; using sysfs for link detection[0m +[96mCHECK: Link detected on eth0 (sysfs)[0m +[92mINFO: Running ip address show dev eth0[0m +1: eth0: mtu 1500 + +[92mINFO: Default route via eth0 is missing; attempting DHCP restore[0m +[93mWARN: No DHCP client found (udhcpc/dhclient). Skipping restore.[0m +1: eth0: mtu 1500 + +[92mINFO: No IPv6 address found on eth0, skipping IPv6 test[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [91mNO[0m (ethtool not found; using sysfs) +Link detected : [92mPASSED[0m +IPv4 address present : [91mFAILED[0m (No IPv4 address) +IPv6 address present : [93mSKIPPED[0m (No global IPv6) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- diff --git a/common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only/system_config.txt b/common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only/system_config.txt new file mode 100644 index 00000000..8379b1b9 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only/system_config.txt @@ -0,0 +1 @@ +total_number_of_network_controllers: 1 diff --git a/common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success/case.log b/common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success/case.log new file mode 100644 index 00000000..7ac4f0c9 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success/case.log @@ -0,0 +1,51 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::cli_full_success +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth1 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth1 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth1[0m +[92mINFO: Running "ethtool eth1"[0m + + +[93mWARN: Ethernet interface eth1 does not support ethtool self test[0m +[93mWARN: Link not detected for eth1[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth1) + +Interface eth1 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth1) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- diff --git a/common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success/system_config.txt b/common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success/system_config.txt new file mode 100644 index 00000000..8379b1b9 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success/system_config.txt @@ -0,0 +1 @@ +total_number_of_network_controllers: 1 diff --git a/common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass/case.log b/common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass/case.log new file mode 100644 index 00000000..4971fd03 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass/case.log @@ -0,0 +1,69 @@ +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::cli_required_compliant_ifaces_fail_when_not_enough_pass +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +1: eth1 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down +ip link set dev eth1 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + +[92mINFO: Bringing down ethernet interface: eth0[0m +[92mINFO: Bringing up ethernet interface: eth1[0m +[92mINFO: Running "ethtool eth1"[0m + + +[93mWARN: Ethernet interface eth1 does not support ethtool self test[0m +[93mWARN: Link not detected for eth1[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0, eth1) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Interface eth1 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 2, but only 0 passed; failed: eth0, eth1) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- diff --git a/common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass/system_config.txt b/common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass/system_config.txt new file mode 100644 index 00000000..14c22d9c --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass/system_config.txt @@ -0,0 +1 @@ +total_number_of_network_controllers: 2 diff --git a/common/reports/_work/ethtool_test/ethtool-test/combined.log b/common/reports/_work/ethtool_test/ethtool-test/combined.log new file mode 100644 index 00000000..47d63423 --- /dev/null +++ b/common/reports/_work/ethtool_test/ethtool-test/combined.log @@ -0,0 +1,680 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:20 +YAML: common/test_yaml/ethtool-test.yaml +SUITE: ethtool_test +TARGETS: common/linux_scripts/ethtool-test.py +==================================================================================================== + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::expected_test_order_keywords_exist +STATUS: PASS +MESSAGE: All patterns matched + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::cli_no_ethernet_interfaces_exits_nonzero +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/5_cli_no_ethernet_interfaces_exits_nonzero/system_config.txt +Exit code: 1 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[93mWARN: No ethernet interfaces detected via ip linux command, Exiting ...[0m +--- STDERR --- + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::cli_virtual_interface_only +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/6_cli_virtual_interface_only/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: docker0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (docker0) + +Interface docker0 +Bring up : [93mSKIPPED[0m (Virtual interface — skipped all tests) + +Ethtool Compliance : [91mFAILED[0m (No testable interfaces) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::cli_sysfs_link_only +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/7_cli_sysfs_link_only/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[93mWARN: ethtool not found; using sysfs for link detection[0m +[96mCHECK: Link detected on eth0 (sysfs)[0m +[92mINFO: Running ip address show dev eth0[0m +1: eth0: mtu 1500 + +[92mINFO: Default route via eth0 is missing; attempting DHCP restore[0m +[93mWARN: No DHCP client found (udhcpc/dhclient). Skipping restore.[0m +1: eth0: mtu 1500 + +[92mINFO: No IPv6 address found on eth0, skipping IPv6 test[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [91mNO[0m (ethtool not found; using sysfs) +Link detected : [92mPASSED[0m +IPv4 address present : [91mFAILED[0m (No IPv4 address) +IPv6 address present : [93mSKIPPED[0m (No global IPv6) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::cli_full_success +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/8_cli_full_success/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth1 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth1 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth1[0m +[92mINFO: Running "ethtool eth1"[0m + + +[93mWARN: Ethernet interface eth1 does not support ethtool self test[0m +[93mWARN: Link not detected for eth1[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth1) + +Interface eth1 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth1) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::cli_required_compliant_ifaces_fail_when_not_enough_pass +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/9_cli_required_compliant_ifaces_fail_when_not_enough_pass/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +1: eth1 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down +ip link set dev eth1 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + +[92mINFO: Bringing down ethernet interface: eth0[0m +[92mINFO: Bringing up ethernet interface: eth1[0m +[92mINFO: Running "ethtool eth1"[0m + + +[93mWARN: Ethernet interface eth1 does not support ethtool self test[0m +[93mWARN: Link not detected for eth1[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0, eth1) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Interface eth1 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 2, but only 0 passed; failed: eth0, eth1) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::external_connectivity_failures_do_not_override_local_interface_health +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/10_external_connectivity_failures_do_not_override_local_interface_health/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::route_validation_does_not_depend_on_public_ip_probe +STATUS: WARNING +MESSAGE: + +PHASE: expectation_check +CHECK TYPE: expect_stdout_or_stderr_contains + +EXPECTED: + Ping gateway (IPv4) + +ACTUAL STDOUT: + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m + +ACTUAL STDERR: + + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/11_route_validation_does_not_depend_on_public_ip_probe/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::compliance_requires_more_than_link_when_external_checks_degrade +STATUS: PASS +MESSAGE: Module CLI check passed + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/12_compliance_requires_more_than_link_when_external_checks_degrade/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- + +================================================================================ +TEST CASE: ethtool_test::ethtool-test.py::connectivity_checks_wait_for_interface_state_recovery +STATUS: WARNING +MESSAGE: + +PHASE: expectation_check +CHECK TYPE: expect_stdout_or_stderr_contains + +EXPECTED: + Gateway Address present + +ACTUAL STDOUT: + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m + +ACTUAL STDERR: + +-------------------------------------------------------------------------------- +PHASE: expectation_check +CHECK TYPE: expect_stdout_or_stderr_contains + +EXPECTED: + Ping gateway (IPv4) + +ACTUAL STDOUT: + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m + +ACTUAL STDERR: + +-------------------------------------------------------------------------------- +PHASE: expectation_check +CHECK TYPE: expect_stdout_or_stderr_contains + +EXPECTED: + Ping www.arm.com (IPv4) + +ACTUAL STDOUT: + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m + +ACTUAL STDERR: + + +Work dir: /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery +Command: python /home/vepav01/arm-systemready/common/linux_scripts/ethtool-test.py /home/vepav01/arm-systemready/common/reports/_work/ethtool_test/ethtool-test/13_connectivity_checks_wait_for_interface_state_recovery/system_config.txt +Exit code: 0 +--- STDOUT --- + +**************************************************************** + + [92mRunning Networking Checks[0m + +**************************************************************** +[92mINFO: Detected following ethernet interfaces via ip command :[0m +0: eth0 +[92mINFO: Capturing original interface states[0m +[92mINFO: Bringing down all ethernet interfaces using ip[0m +ip link set dev eth0 down + +**************************************************************** + +[92mINFO: Bringing up ethernet interface: eth0[0m +[92mINFO: Running "ethtool eth0"[0m + + +[93mWARN: Ethernet interface eth0 does not support ethtool self test[0m +[93mWARN: Link not detected for eth0[0m + +**************************************************************** + + +================================================================ + SUMMARY +================================================================ + +Detected Interfaces : [92mPASSED[0m (eth0) + +Interface eth0 +Bring up : [92mPASSED[0m +ethtool present : [92mYES[0m +Self-test supported : [93mNO[0m (supports-test: no) +Link detected : [91mFAILED[0m (No carrier) + +Ethtool Compliance : [91mFAILED[0m (Required compliant interfaces = 1, but only 0 passed; failed: eth0) + +[91mPlease update 'system_config.txt' with the correct value for total_number_of_network_controllers[0m +[92mINFO: Cleaning up... restoring interface states[0m +[92mINFO: Cleanup complete.[0m +--- STDERR --- + diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/10_cli_multiple_matches_same_line_prints_first_search_per_line/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/10_cli_multiple_matches_same_line_prints_first_search_per_line/case.log new file mode 100644 index 00000000..b3dee5be --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/10_cli_multiple_matches_same_line_prints_first_search_per_line/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_multiple_matches_same_line_prints_first_search_per_line +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/10_cli_multiple_matches_same_line_prints_first_search_per_line/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +AAAA +--- STDERR --- diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/10_cli_multiple_matches_same_line_prints_first_search_per_line/input.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/10_cli_multiple_matches_same_line_prints_first_search_per_line/input.log new file mode 100644 index 00000000..152309a5 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/10_cli_multiple_matches_same_line_prints_first_search_per_line/input.log @@ -0,0 +1 @@ +Capsule=AAAA Capsule=BBBB diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/11_cli_mixed_case_hex_matches/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/11_cli_mixed_case_hex_matches/case.log new file mode 100644 index 00000000..11aeef16 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/11_cli_mixed_case_hex_matches/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_mixed_case_hex_matches +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-Fa-f]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/11_cli_mixed_case_hex_matches/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +AbCd +--- STDERR --- diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/11_cli_mixed_case_hex_matches/input.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/11_cli_mixed_case_hex_matches/input.log new file mode 100644 index 00000000..8dcb6dd0 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/11_cli_mixed_case_hex_matches/input.log @@ -0,0 +1 @@ +Capsule=AbCd diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/12_cli_two_capture_groups_prints_only_first_group/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/12_cli_two_capture_groups_prints_only_first_group/case.log new file mode 100644 index 00000000..53315f60 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/12_cli_two_capture_groups_prints_only_first_group/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_two_capture_groups_prints_only_first_group +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) status=(OK) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/12_cli_two_capture_groups_prints_only_first_group/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +ABCD +--- STDERR --- diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/12_cli_two_capture_groups_prints_only_first_group/input.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/12_cli_two_capture_groups_prints_only_first_group/input.log new file mode 100644 index 00000000..db332b23 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/12_cli_two_capture_groups_prints_only_first_group/input.log @@ -0,0 +1 @@ +Capsule=ABCD status=OK diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/13_cli_invalid_regex_fails/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/13_cli_invalid_regex_fails/case.log new file mode 100644 index 00000000..4465b470 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/13_cli_invalid_regex_fails/case.log @@ -0,0 +1,38 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_invalid_regex_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4} /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/13_cli_invalid_regex_fails/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py", line 54, in + hex_values = extract_hex_values(file_path, pattern) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py", line 35, in extract_hex_values + match = re.search(pattern, line) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/__init__.py", line 177, in search + return _compile(pattern, flags).search(string) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/__init__.py", line 307, in _compile + p = _compiler.compile(pattern, flags) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/_compiler.py", line 745, in compile + p = _parser.parse(p, flags) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/_parser.py", line 979, in parse + p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/_parser.py", line 460, in _parse_sub + itemsappend(_parse(source, state, verbose, nested + 1, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/_parser.py", line 864, in _parse + raise source.error("missing ), unterminated subpattern", +re.error: missing ), unterminated subpattern at position 8 diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/13_cli_invalid_regex_fails/input.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/13_cli_invalid_regex_fails/input.log new file mode 100644 index 00000000..5dbaf8d2 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/13_cli_invalid_regex_fails/input.log @@ -0,0 +1 @@ +Capsule=ABCD diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/14_cli_empty_file_returns_zero/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/14_cli_empty_file_returns_zero/case.log new file mode 100644 index 00000000..c3542c4c --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/14_cli_empty_file_returns_zero/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_empty_file_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/14_cli_empty_file_returns_zero/empty.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/14_cli_empty_file_returns_zero/empty.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/14_cli_empty_file_returns_zero/empty.log new file mode 100644 index 00000000..e69de29b diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/1_file_exists/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/1_file_exists/case.log new file mode 100644 index 00000000..3852dbac --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/2_python_compiles/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/2_python_compiles/case.log new file mode 100644 index 00000000..d41f00c0 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/3_cli_no_args_fails/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/3_cli_no_args_fails/case.log new file mode 100644 index 00000000..a39ff954 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/3_cli_no_args_fails/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_no_args_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- +Usage: python3 extract_capsule_fw_version.py +--- STDERR --- diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/4_cli_one_arg_fails/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/4_cli_one_arg_fails/case.log new file mode 100644 index 00000000..e0cfdee8 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/4_cli_one_arg_fails/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_one_arg_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]+) +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- +Usage: python3 extract_capsule_fw_version.py +--- STDERR --- diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/5_cli_missing_file_is_nonzero/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/5_cli_missing_file_is_nonzero/case.log new file mode 100644 index 00000000..06d23e6a --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/5_cli_missing_file_is_nonzero/case.log @@ -0,0 +1,21 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_missing_file_is_nonzero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/5_cli_missing_file_is_nonzero/missing.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py", line 54, in + hex_values = extract_hex_values(file_path, pattern) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py", line 23, in extract_hex_values + with open(file_path, 'rb') as file: + ^^^^^^^^^^^^^^^^^^^^^ +FileNotFoundError: [Errno 2] No such file or directory: '/home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/5_cli_missing_file_is_nonzero/missing.log' diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/6_cli_extracts_two_matching_values_in_order/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/6_cli_extracts_two_matching_values_in_order/case.log new file mode 100644 index 00000000..e611fff7 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/6_cli_extracts_two_matching_values_in_order/case.log @@ -0,0 +1,14 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_extracts_two_matching_values_in_order +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/6_cli_extracts_two_matching_values_in_order/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +1A2B +00FF +--- STDERR --- diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/6_cli_extracts_two_matching_values_in_order/input.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/6_cli_extracts_two_matching_values_in_order/input.log new file mode 100644 index 00000000..de8edee5 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/6_cli_extracts_two_matching_values_in_order/input.log @@ -0,0 +1,5 @@ +Start +Capsule=1A2B +Noise +Capsule=00FF +End diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/7_cli_no_matches_returns_zero_cleanly/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/7_cli_no_matches_returns_zero_cleanly/case.log new file mode 100644 index 00000000..da3892b8 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/7_cli_no_matches_returns_zero_cleanly/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_no_matches_returns_zero_cleanly +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/7_cli_no_matches_returns_zero_cleanly/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/7_cli_no_matches_returns_zero_cleanly/input.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/7_cli_no_matches_returns_zero_cleanly/input.log new file mode 100644 index 00000000..dab0f1aa --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/7_cli_no_matches_returns_zero_cleanly/input.log @@ -0,0 +1,3 @@ +Alpha +Beta +Gamma diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/8_cli_pattern_without_group_returns_zero_cleanly/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/8_cli_pattern_without_group_returns_zero_cleanly/case.log new file mode 100644 index 00000000..8e6b6282 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/8_cli_pattern_without_group_returns_zero_cleanly/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_pattern_without_group_returns_zero_cleanly +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=[0-9A-F]{4} /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/8_cli_pattern_without_group_returns_zero_cleanly/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/8_cli_pattern_without_group_returns_zero_cleanly/input.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/8_cli_pattern_without_group_returns_zero_cleanly/input.log new file mode 100644 index 00000000..61542254 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/8_cli_pattern_without_group_returns_zero_cleanly/input.log @@ -0,0 +1,2 @@ +Capsule=ABCD +Capsule=EF01 diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/9_cli_only_prints_group_1_not_full_match/case.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/9_cli_only_prints_group_1_not_full_match/case.log new file mode 100644 index 00000000..7073866e --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/9_cli_only_prints_group_1_not_full_match/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_only_prints_group_1_not_full_match +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/9_cli_only_prints_group_1_not_full_match/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +DEAD +--- STDERR --- diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/9_cli_only_prints_group_1_not_full_match/input.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/9_cli_only_prints_group_1_not_full_match/input.log new file mode 100644 index 00000000..9f35b0c2 --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/9_cli_only_prints_group_1_not_full_match/input.log @@ -0,0 +1 @@ +build Capsule=DEAD done diff --git a/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/combined.log b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/combined.log new file mode 100644 index 00000000..b4e95cee --- /dev/null +++ b/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/combined.log @@ -0,0 +1,219 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:20 +YAML: common/test_yaml/extract-capsule-fw-version.yaml +SUITE: extract_capsule_fw_version +TARGETS: common/linux_scripts/extract_capsule_fw_version.py +==================================================================================================== + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_one_arg_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]+) +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- +Usage: python3 extract_capsule_fw_version.py +--- STDERR --- + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_extracts_two_matching_values_in_order +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/6_cli_extracts_two_matching_values_in_order/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +1A2B +00FF +--- STDERR --- + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_no_args_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- +Usage: python3 extract_capsule_fw_version.py +--- STDERR --- + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_no_matches_returns_zero_cleanly +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/7_cli_no_matches_returns_zero_cleanly/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_pattern_without_group_returns_zero_cleanly +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=[0-9A-F]{4} /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/8_cli_pattern_without_group_returns_zero_cleanly/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_only_prints_group_1_not_full_match +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/9_cli_only_prints_group_1_not_full_match/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +DEAD +--- STDERR --- + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_missing_file_is_nonzero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/5_cli_missing_file_is_nonzero/missing.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py", line 54, in + hex_values = extract_hex_values(file_path, pattern) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py", line 23, in extract_hex_values + with open(file_path, 'rb') as file: + ^^^^^^^^^^^^^^^^^^^^^ +FileNotFoundError: [Errno 2] No such file or directory: '/home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/5_cli_missing_file_is_nonzero/missing.log' + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_multiple_matches_same_line_prints_first_search_per_line +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/10_cli_multiple_matches_same_line_prints_first_search_per_line/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +AAAA +--- STDERR --- + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_two_capture_groups_prints_only_first_group +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) status=(OK) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/12_cli_two_capture_groups_prints_only_first_group/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +ABCD +--- STDERR --- + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_mixed_case_hex_matches +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-Fa-f]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/11_cli_mixed_case_hex_matches/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +AbCd +--- STDERR --- + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_empty_file_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4}) /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/14_cli_empty_file_returns_zero/empty.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +================================================================================ +TEST CASE: extract_capsule_fw_version::extract_capsule_fw_version.py::cli_invalid_regex_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py Capsule=([0-9A-F]{4} /home/vepav01/arm-systemready/common/reports/_work/extract_capsule_fw_version/extract_capsule_fw_version/13_cli_invalid_regex_fails/input.log +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py", line 54, in + hex_values = extract_hex_values(file_path, pattern) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/linux_scripts/extract_capsule_fw_version.py", line 35, in extract_hex_values + match = re.search(pattern, line) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/__init__.py", line 177, in search + return _compile(pattern, flags).search(string) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/__init__.py", line 307, in _compile + p = _compiler.compile(pattern, flags) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/_compiler.py", line 745, in compile + p = _parser.parse(p, flags) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/_parser.py", line 979, in parse + p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/_parser.py", line 460, in _parse_sub + itemsappend(_parse(source, state, verbose, nested + 1, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/re/_parser.py", line 864, in _parse + raise source.error("missing ), unterminated subpattern", +re.error: missing ), unterminated subpattern at position 8 + diff --git a/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/case.log b/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/case.log new file mode 100644 index 00000000..c56c6011 --- /dev/null +++ b/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/case.log @@ -0,0 +1,32 @@ +================================================================================ +TEST CASE: fwts_json_to_html_specific::json_to_html.py::fwts_invalid_json_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/bbr/fwts/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/fwts.json /home/vepav01/arm-systemready/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/detail.html /home/vepav01/arm-systemready/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/bbr/fwts/json_to_html.py", line 381, in + main(input_json_file, detailed_html_file, summary_html_file) + File "/home/vepav01/arm-systemready/common/log_parser/bbr/fwts/json_to_html.py", line 335, in main + data = json.load(json_file) + ^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 293, in load + return loads(fp.read(), + ^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 346, in loads + return _default_decoder.decode(s) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 337, in decode + obj, end = self.raw_decode(s, idx=_w(s, 0).end()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 353, in raw_decode + obj, end = self.scan_once(s, idx) + ^^^^^^^^^^^^^^^^^^^^^^ +json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) diff --git a/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/fwts.json b/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/fwts.json new file mode 100755 index 00000000..828e21da --- /dev/null +++ b/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/fwts.json @@ -0,0 +1 @@ +{ invalid json diff --git a/common/reports/_work/fwts_json_to_html_specific/json_to_html/combined.log b/common/reports/_work/fwts_json_to_html_specific/json_to_html/combined.log new file mode 100644 index 00000000..307b69b4 --- /dev/null +++ b/common/reports/_work/fwts_json_to_html_specific/json_to_html/combined.log @@ -0,0 +1,40 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:24 +YAML: common/test_yaml/json-to-html.yaml +SUITE: fwts_json_to_html_specific +TARGETS: common/log_parser/bbr/fwts/json_to_html.py +==================================================================================================== + +================================================================================ +TEST CASE: fwts_json_to_html_specific::json_to_html.py::fwts_invalid_json_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/bbr/fwts/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/fwts.json /home/vepav01/arm-systemready/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/detail.html /home/vepav01/arm-systemready/common/reports/_work/fwts_json_to_html_specific/json_to_html/1_fwts_invalid_json_input/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/bbr/fwts/json_to_html.py", line 381, in + main(input_json_file, detailed_html_file, summary_html_file) + File "/home/vepav01/arm-systemready/common/log_parser/bbr/fwts/json_to_html.py", line 335, in main + data = json.load(json_file) + ^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 293, in load + return loads(fp.read(), + ^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 346, in loads + return _default_decoder.decode(s) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 337, in decode + obj, end = self.raw_decode(s, idx=_w(s, 0).end()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 353, in raw_decode + obj, end = self.scan_once(s, idx) + ^^^^^^^^^^^^^^^^^^^^^^ +json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) + diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/capsule.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/capsule.html new file mode 100644 index 00000000..fa8da2d9 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/capsule.html @@ -0,0 +1,2 @@ + +Capsule Update Test Summary

    Capsule Update Test Summary

    Result Summary

    StatusTotal
    Passed1
    Capsule-only marker
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/case.log b/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/case.log new file mode 100644 index 00000000..117c5520 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/case.log @@ -0,0 +1,22 @@ +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::capsule_summary_is_merged_into_standalone_section +STATUS: WARNING +MESSAGE: + +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html contains 'Capsule-only marker' -> FAIL + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/bsa_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/sbsa_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/bbsr_fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/bbsr_sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/bbsr_tpm_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/pfdi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/post_script_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/standalone.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/os_tests_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/capsule.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/sbmr_ib_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/sbmr_oob_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/scmi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +Warning: merged JSON not provided or does not exist => Overall compliance unknown +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html contains 'Standalone-only marker' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html contains 'Capsule-only marker' -> FAIL diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/standalone.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/standalone.html new file mode 100644 index 00000000..3db6aece --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/standalone.html @@ -0,0 +1,2 @@ + +Standalone Test Summary

    Standalone Test Summary

    Result Summary

    StatusTotal
    Passed1
    Standalone-only marker
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html new file mode 100644 index 00000000..b67aa9bd --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html @@ -0,0 +1,299 @@ + + + + + + ACS Summary + + + +
    + ACS Summary +
    +
    +
    +

    System Information

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VendorUnknown
    SystemUnknown
    SoC FamilyUnknown
    Firmware VersionUnknown
    UEFI VersionNot provided
    +
    +
    +

    ACS Results Summary

    + + + + + + + + + + + + + + + + + +
    BandUnknown
    Date2026-06-11 09:32:20
    SRS requirements compliance results + + + Unknown + +
    +
    +
    +

    Extensions

    + + + + + + + + + + + + + + + + + +
    BBSR compliance results + + + Unknown + +
    SCMI compliance results + + + Unknown + +
    +
    + +
    +

    Test Summaries

    + + + + + + + + + +
    + +Standalone Test Summary

    Standalone Test Summary

    StatusTotal
    Passed1
    Standalone-only marker
    + + +
    + + + + + + +
    +
    + + + \ No newline at end of file diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/1_file_exists/case.log b/common/reports/_work/generate_acs_summary/generate_acs_summary/1_file_exists/case.log new file mode 100644 index 00000000..63a3411a --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/2_python_compiles/case.log b/common/reports/_work/generate_acs_summary/generate_acs_summary/2_python_compiles/case.log new file mode 100644 index 00000000..2a25a721 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/3_has_main_guard/case.log b/common/reports/_work/generate_acs_summary/generate_acs_summary/3_has_main_guard/case.log new file mode 100644 index 00000000..45fc9162 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/3_has_main_guard/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/4_cli_requires_many_inputs/case.log b/common/reports/_work/generate_acs_summary/generate_acs_summary/4_cli_requires_many_inputs/case.log new file mode 100644 index 00000000..49b038a9 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/4_cli_requires_many_inputs/case.log @@ -0,0 +1,29 @@ +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_requires_many_inputs +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 2 +--- STDOUT --- + +--- STDERR --- +usage: generate_acs_summary.py [-h] [--merged_json MERGED_JSON] + [--acs_config_path ACS_CONFIG_PATH] + [--system_config_path SYSTEM_CONFIG_PATH] + [--uefi_version_log UEFI_VERSION_LOG] + [--device_tree_dts DEVICE_TREE_DTS] + [--acs_info_json ACS_INFO_JSON] + bsa_summary_path sbsa_summary_path + fwts_summary_path sct_summary_path + bbsr_fwts_summary_path bbsr_sct_summary_path + bbsr_tpm_summary_path pfdi_summary_path + post_script_summary_path + standalone_summary_path OS_tests_summary_path + capsule_update_summary_path + sbmr_ib_summary_path sbmr_oob_summary_path + scmi_summary_path output_html_path +generate_acs_summary.py: error: the following arguments are required: bsa_summary_path, sbsa_summary_path, fwts_summary_path, sct_summary_path, bbsr_fwts_summary_path, bbsr_sct_summary_path, bbsr_tpm_summary_path, pfdi_summary_path, post_script_summary_path, standalone_summary_path, OS_tests_summary_path, capsule_update_summary_path, sbmr_ib_summary_path, sbmr_oob_summary_path, scmi_summary_path, output_html_path diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/acs_info.json b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/acs_info.json new file mode 100644 index 00000000..202fa566 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/acs_info.json @@ -0,0 +1,9 @@ +{ + "System Info": { + "Vendor": "VendorZ", + "System Name": "SystemZ", + "SoC Family": "FamilyZ", + "Firmware Version": "FW-Z", + "BMC Firmware Version": "BMC-1" + } +} diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_fwts.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_fwts.html new file mode 100644 index 00000000..ddb3cc8d --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_fwts.html @@ -0,0 +1,2 @@ + +FWTS Test Summary

    FWTS Test Summary

    Result Summary

    StatusTotal
    Passed1
    BBSR FWTS content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_sct.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_sct.html new file mode 100644 index 00000000..b265bf8a --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_sct.html @@ -0,0 +1,2 @@ + +SCT Test Summary

    SCT Test Summary

    Result Summary

    StatusTotal
    Passed1
    BBSR SCT content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_tpm.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_tpm.html new file mode 100644 index 00000000..6ec05bcc --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_tpm.html @@ -0,0 +1,2 @@ + +TPM Test Summary

    TPM Test Summary

    Result Summary

    StatusTotal
    Passed1
    BBSR TPM content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bsa.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bsa.html new file mode 100644 index 00000000..cc416bc7 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bsa.html @@ -0,0 +1,2 @@ + +BSA Test Summary

    BSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    BSA content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/capsule.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/capsule.html new file mode 100644 index 00000000..7477e8ca --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/capsule.html @@ -0,0 +1,2 @@ + +Capsule Update Test Summary

    Capsule Update Test Summary

    Result Summary

    StatusTotal
    Passed1
    Capsule content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/case.log b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/case.log new file mode 100644 index 00000000..8b255fa0 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/case.log @@ -0,0 +1,22 @@ +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_generates_html_with_summary_sections +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py --merged_json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/merged.json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_tpm.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/pfdi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/post_script.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/standalone.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/os_tests.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/capsule.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_ib.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_oob.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/scmi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html --acs_info_json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/acs_info.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html -> PASS +post_check file_not_empty: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html contains 'BSA content' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html contains 'FWTS content' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html contains 'SCMI content' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html contains 'Result Summary' -> PASS diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/fwts.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/fwts.html new file mode 100644 index 00000000..f1cd0586 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/fwts.html @@ -0,0 +1,2 @@ + +FWTS Test Summary

    FWTS Test Summary

    Result Summary

    StatusTotal
    Passed1
    FWTS content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/merged.json b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/merged.json new file mode 100644 index 00000000..7ad65138 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/merged.json @@ -0,0 +1,7 @@ +{ + "ACS Results Summary": { + "Overall Compliance Result": "Compliant", + "BBSR compliance results": "Compliant", + "SCMI compliance results": "Compliant" + } +} diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/os_tests.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/os_tests.html new file mode 100644 index 00000000..281a54f8 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/os_tests.html @@ -0,0 +1,2 @@ + +OS Tests Test Summary

    OS Tests Test Summary

    Result Summary

    StatusTotal
    Passed1
    OS Tests content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/pfdi.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/pfdi.html new file mode 100644 index 00000000..fb08847f --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/pfdi.html @@ -0,0 +1,2 @@ + +PFDI Test Summary

    PFDI Test Summary

    Result Summary

    StatusTotal
    Passed1
    PFDI content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/post_script.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/post_script.html new file mode 100644 index 00000000..64b47148 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/post_script.html @@ -0,0 +1,2 @@ + +Post-Script Test Summary

    Post-Script Test Summary

    Result Summary

    StatusTotal
    Passed1
    POST content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_ib.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_ib.html new file mode 100644 index 00000000..4eb86ca0 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_ib.html @@ -0,0 +1,2 @@ + +SBMR-IB Test Summary

    SBMR-IB Test Summary

    Result Summary

    StatusTotal
    Passed1
    SBMR IB content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_oob.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_oob.html new file mode 100644 index 00000000..6fe52343 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_oob.html @@ -0,0 +1,2 @@ + +SBMR-OOB Test Summary

    SBMR-OOB Test Summary

    Result Summary

    StatusTotal
    Passed1
    SBMR OOB content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbsa.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbsa.html new file mode 100644 index 00000000..b5f3f1b9 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbsa.html @@ -0,0 +1,2 @@ + +SBSA Test Summary

    SBSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    SBSA content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/scmi.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/scmi.html new file mode 100644 index 00000000..ce85ac00 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/scmi.html @@ -0,0 +1,2 @@ + +SCMI Test Summary

    SCMI Test Summary

    Result Summary

    StatusTotal
    Passed1
    SCMI content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sct.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sct.html new file mode 100644 index 00000000..41104eac --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sct.html @@ -0,0 +1,2 @@ + +SCT Test Summary

    SCT Test Summary

    Result Summary

    StatusTotal
    Passed1
    SCT content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/standalone.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/standalone.html new file mode 100644 index 00000000..973cb6f4 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/standalone.html @@ -0,0 +1,2 @@ + +Standalone Test Summary

    Standalone Test Summary

    Result Summary

    StatusTotal
    Passed1
    Standalone content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html new file mode 100644 index 00000000..7d6288fc --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html @@ -0,0 +1,433 @@ + + + + + + ACS Summary + + + +
    + ACS Summary +
    +
    +
    +

    System Information

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VendorUnknown
    SystemUnknown
    SoC FamilyUnknown
    Firmware VersionUnknown
    BMC Firmware VersionBMC-1
    UEFI VersionNot provided
    +
    +
    +

    ACS Results Summary

    + + + + + + + + + + + + + + + + + +
    BandUnknown
    Date2026-06-11 09:32:20
    SRS requirements compliance results + + + Unknown + +
    +
    +
    +

    Extensions

    + + + + + + + + + +
    BBSR compliance results + + + Unknown + +
    +
    + +
    +

    Test Summaries

    + +
    + +BSA Test Summary

    BSA Test Summary

    StatusTotal
    Passed1
    BSA content
    + + +
    + + +
    + +SBSA Test Summary

    SBSA Test Summary

    StatusTotal
    Passed1
    SBSA content
    + + +
    + + +
    + +FWTS Test Summary

    FWTS Test Summary

    StatusTotal
    Passed1
    FWTS content
    + + +
    + + +
    + +SCT Test Summary

    SCT Test Summary

    StatusTotal
    Passed1
    SCT content
    + + +
    + + +
    + +SCMI Test Summary

    SCMI Test Summary

    StatusTotal
    Passed1
    SCMI content
    + + +
    + + +
    + +SBMR-IB Test Summary

    SBMR-IB Test Summary

    StatusTotal
    Passed1
    SBMR IB content
    + + +
    + + +
    + +SBMR-OOB Test Summary

    SBMR-OOB Test Summary

    StatusTotal
    Passed1
    SBMR OOB content
    + + +
    + + +
    + +Post-Script Test Summary

    POST-SCRIPT Test Summary

    StatusTotal
    Passed1
    POST content
    + + +
    + + +
    + +Standalone Test Summary

    Standalone Test Summary

    StatusTotal
    Passed1
    Standalone content
    + + +
    + + +
    + +FWTS Test Summary

    BBSR-FWTS Test Summary

    StatusTotal
    Passed1
    BBSR FWTS content
    + + +
    + + +
    + +SCT Test Summary

    BBSR-SCT Test Summary

    StatusTotal
    Passed1
    BBSR SCT content
    + + +
    + + +
    + +TPM Test Summary

    BBSR-TPM Test Summary

    StatusTotal
    Passed1
    BBSR TPM content
    + + +
    + + +
    + +PFDI Test Summary

    PFDI Test Summary

    StatusTotal
    Passed1
    PFDI content
    + + +
    + + +
    + +OS Tests Test Summary

    OS Test Summary

    StatusTotal
    Passed1
    OS Tests content
    + + +
    + +
    +
    + + + \ No newline at end of file diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_fwts.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_fwts.html new file mode 100644 index 00000000..c055b597 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_fwts.html @@ -0,0 +1,2 @@ + +FWTS Test Summary

    FWTS Test Summary

    Result Summary

    StatusTotal
    Passed1
    bbsr_fwts
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_sct.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_sct.html new file mode 100644 index 00000000..9957397a --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_sct.html @@ -0,0 +1,2 @@ + +SCT Test Summary

    SCT Test Summary

    Result Summary

    StatusTotal
    Passed1
    bbsr_sct
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_tpm.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_tpm.html new file mode 100644 index 00000000..44c4250d --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_tpm.html @@ -0,0 +1,2 @@ + +TPM Test Summary

    TPM Test Summary

    Result Summary

    StatusTotal
    Passed1
    bbsr_tpm
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bsa.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bsa.html new file mode 100644 index 00000000..ee6debce --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bsa.html @@ -0,0 +1,2 @@ + +BSA Test Summary

    BSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    bsa
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/capsule.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/capsule.html new file mode 100644 index 00000000..4a7c9cbd --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/capsule.html @@ -0,0 +1,2 @@ + +Capsule Update Test Summary

    Capsule Update Test Summary

    Result Summary

    StatusTotal
    Passed1
    capsule
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/case.log b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/case.log new file mode 100644 index 00000000..16ee8391 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/case.log @@ -0,0 +1,19 @@ +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_without_merged_json_still_generates_html +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_tpm.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/pfdi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/post_script.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/standalone.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/os_tests.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/capsule.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_ib.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_oob.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/scmi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +Warning: merged JSON not provided or does not exist => Overall compliance unknown +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/summary.html contains 'standalone' -> PASS diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/fwts.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/fwts.html new file mode 100644 index 00000000..ccd4761b --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/fwts.html @@ -0,0 +1,2 @@ + +FWTS Test Summary

    FWTS Test Summary

    Result Summary

    StatusTotal
    Passed1
    fwts
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/os_tests.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/os_tests.html new file mode 100644 index 00000000..2d40129d --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/os_tests.html @@ -0,0 +1,2 @@ + +OS Tests Test Summary

    OS Tests Test Summary

    Result Summary

    StatusTotal
    Passed1
    os_tests
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/pfdi.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/pfdi.html new file mode 100644 index 00000000..7154a341 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/pfdi.html @@ -0,0 +1,2 @@ + +PFDI Test Summary

    PFDI Test Summary

    Result Summary

    StatusTotal
    Passed1
    pfdi
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/post_script.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/post_script.html new file mode 100644 index 00000000..6222f993 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/post_script.html @@ -0,0 +1,2 @@ + +Post-Script Test Summary

    Post-Script Test Summary

    Result Summary

    StatusTotal
    Passed1
    post_script
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_ib.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_ib.html new file mode 100644 index 00000000..44a9bd27 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_ib.html @@ -0,0 +1,2 @@ + +SBMR-IB Test Summary

    SBMR-IB Test Summary

    Result Summary

    StatusTotal
    Passed1
    sbmr_ib
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_oob.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_oob.html new file mode 100644 index 00000000..517309db --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_oob.html @@ -0,0 +1,2 @@ + +SBMR-OOB Test Summary

    SBMR-OOB Test Summary

    Result Summary

    StatusTotal
    Passed1
    sbmr_oob
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbsa.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbsa.html new file mode 100644 index 00000000..53e99959 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbsa.html @@ -0,0 +1,2 @@ + +SBSA Test Summary

    SBSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    sbsa
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/scmi.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/scmi.html new file mode 100644 index 00000000..c50af788 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/scmi.html @@ -0,0 +1,2 @@ + +SCMI Test Summary

    SCMI Test Summary

    Result Summary

    StatusTotal
    Passed1
    scmi
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sct.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sct.html new file mode 100644 index 00000000..c9d4e815 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sct.html @@ -0,0 +1,2 @@ + +SCT Test Summary

    SCT Test Summary

    Result Summary

    StatusTotal
    Passed1
    sct
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/standalone.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/standalone.html new file mode 100644 index 00000000..e064e12a --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/standalone.html @@ -0,0 +1,2 @@ + +Standalone Test Summary

    Standalone Test Summary

    Result Summary

    StatusTotal
    Passed1
    standalone
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/summary.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/summary.html new file mode 100644 index 00000000..7bcddb57 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/summary.html @@ -0,0 +1,444 @@ + + + + + + ACS Summary + + + +
    + ACS Summary +
    +
    +
    +

    System Information

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VendorUnknown
    SystemUnknown
    SoC FamilyUnknown
    Firmware VersionUnknown
    UEFI VersionNot provided
    +
    +
    +

    ACS Results Summary

    + + + + + + + + + + + + + + + + + +
    BandUnknown
    Date2026-06-11 09:32:20
    SRS requirements compliance results + + + Unknown + +
    +
    +
    +

    Extensions

    + + + + + + + + + + + + + + + + + +
    BBSR compliance results + + + Unknown + +
    SCMI compliance results + + + Unknown + +
    +
    + +
    +

    Test Summaries

    + +
    + +BSA Test Summary

    BSA Test Summary

    StatusTotal
    Passed1
    bsa
    + + +
    + + +
    + +SBSA Test Summary

    SBSA Test Summary

    StatusTotal
    Passed1
    sbsa
    + + +
    + + +
    + +FWTS Test Summary

    FWTS Test Summary

    StatusTotal
    Passed1
    fwts
    + + +
    + + +
    + +SCT Test Summary

    SCT Test Summary

    StatusTotal
    Passed1
    sct
    + + +
    + + +
    + +SCMI Test Summary

    SCMI Test Summary

    StatusTotal
    Passed1
    scmi
    + + +
    + + +
    + +SBMR-IB Test Summary

    SBMR-IB Test Summary

    StatusTotal
    Passed1
    sbmr_ib
    + + +
    + + +
    + +SBMR-OOB Test Summary

    SBMR-OOB Test Summary

    StatusTotal
    Passed1
    sbmr_oob
    + + +
    + + +
    + +Post-Script Test Summary

    POST-SCRIPT Test Summary

    StatusTotal
    Passed1
    post_script
    + + +
    + + +
    + +Standalone Test Summary

    Standalone Test Summary

    StatusTotal
    Passed1
    standalone
    + + +
    + + +
    + +FWTS Test Summary

    BBSR-FWTS Test Summary

    StatusTotal
    Passed1
    bbsr_fwts
    + + +
    + + +
    + +SCT Test Summary

    BBSR-SCT Test Summary

    StatusTotal
    Passed1
    bbsr_sct
    + + +
    + + +
    + +TPM Test Summary

    BBSR-TPM Test Summary

    StatusTotal
    Passed1
    bbsr_tpm
    + + +
    + + +
    + +PFDI Test Summary

    PFDI Test Summary

    StatusTotal
    Passed1
    pfdi
    + + +
    + + +
    + +OS Tests Test Summary

    OS Test Summary

    StatusTotal
    Passed1
    os_tests
    + + +
    + +
    +
    + + + \ No newline at end of file diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_fwts.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_fwts.html new file mode 100644 index 00000000..c055b597 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_fwts.html @@ -0,0 +1,2 @@ + +FWTS Test Summary

    FWTS Test Summary

    Result Summary

    StatusTotal
    Passed1
    bbsr_fwts
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_sct.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_sct.html new file mode 100644 index 00000000..9957397a --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_sct.html @@ -0,0 +1,2 @@ + +SCT Test Summary

    SCT Test Summary

    Result Summary

    StatusTotal
    Passed1
    bbsr_sct
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_tpm.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_tpm.html new file mode 100644 index 00000000..44c4250d --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_tpm.html @@ -0,0 +1,2 @@ + +TPM Test Summary

    TPM Test Summary

    Result Summary

    StatusTotal
    Passed1
    bbsr_tpm
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bsa.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bsa.html new file mode 100644 index 00000000..4b25880c --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bsa.html @@ -0,0 +1,2 @@ + +BSA Test Summary

    BSA Test Summary

    RESULT SUMMARY

    StatusTotal
    Passed1
    BSA
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/capsule.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/capsule.html new file mode 100644 index 00000000..4a7c9cbd --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/capsule.html @@ -0,0 +1,2 @@ + +Capsule Update Test Summary

    Capsule Update Test Summary

    Result Summary

    StatusTotal
    Passed1
    capsule
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/case.log b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/case.log new file mode 100644 index 00000000..391cabf2 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/case.log @@ -0,0 +1,19 @@ +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_removes_result_summary_headings_case_insensitively +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_tpm.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/pfdi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/post_script.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/standalone.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/os_tests.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/capsule.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_ib.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_oob.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/scmi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +Warning: merged JSON not provided or does not exist => Overall compliance unknown +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/summary.html contains 'BSA' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/summary.html contains 'RESULT SUMMARY' -> PASS diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/fwts.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/fwts.html new file mode 100644 index 00000000..ccd4761b --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/fwts.html @@ -0,0 +1,2 @@ + +FWTS Test Summary

    FWTS Test Summary

    Result Summary

    StatusTotal
    Passed1
    fwts
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/os_tests.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/os_tests.html new file mode 100644 index 00000000..2d40129d --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/os_tests.html @@ -0,0 +1,2 @@ + +OS Tests Test Summary

    OS Tests Test Summary

    Result Summary

    StatusTotal
    Passed1
    os_tests
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/pfdi.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/pfdi.html new file mode 100644 index 00000000..7154a341 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/pfdi.html @@ -0,0 +1,2 @@ + +PFDI Test Summary

    PFDI Test Summary

    Result Summary

    StatusTotal
    Passed1
    pfdi
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/post_script.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/post_script.html new file mode 100644 index 00000000..6222f993 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/post_script.html @@ -0,0 +1,2 @@ + +Post-Script Test Summary

    Post-Script Test Summary

    Result Summary

    StatusTotal
    Passed1
    post_script
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_ib.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_ib.html new file mode 100644 index 00000000..44a9bd27 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_ib.html @@ -0,0 +1,2 @@ + +SBMR-IB Test Summary

    SBMR-IB Test Summary

    Result Summary

    StatusTotal
    Passed1
    sbmr_ib
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_oob.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_oob.html new file mode 100644 index 00000000..517309db --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_oob.html @@ -0,0 +1,2 @@ + +SBMR-OOB Test Summary

    SBMR-OOB Test Summary

    Result Summary

    StatusTotal
    Passed1
    sbmr_oob
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbsa.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbsa.html new file mode 100644 index 00000000..53e99959 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbsa.html @@ -0,0 +1,2 @@ + +SBSA Test Summary

    SBSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    sbsa
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/scmi.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/scmi.html new file mode 100644 index 00000000..c50af788 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/scmi.html @@ -0,0 +1,2 @@ + +SCMI Test Summary

    SCMI Test Summary

    Result Summary

    StatusTotal
    Passed1
    scmi
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sct.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sct.html new file mode 100644 index 00000000..c9d4e815 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sct.html @@ -0,0 +1,2 @@ + +SCT Test Summary

    SCT Test Summary

    Result Summary

    StatusTotal
    Passed1
    sct
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/standalone.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/standalone.html new file mode 100644 index 00000000..e064e12a --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/standalone.html @@ -0,0 +1,2 @@ + +Standalone Test Summary

    Standalone Test Summary

    Result Summary

    StatusTotal
    Passed1
    standalone
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/summary.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/summary.html new file mode 100644 index 00000000..b28b03b4 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/summary.html @@ -0,0 +1,444 @@ + + + + + + ACS Summary + + + +
    + ACS Summary +
    +
    +
    +

    System Information

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VendorUnknown
    SystemUnknown
    SoC FamilyUnknown
    Firmware VersionUnknown
    UEFI VersionNot provided
    +
    +
    +

    ACS Results Summary

    + + + + + + + + + + + + + + + + + +
    BandUnknown
    Date2026-06-11 09:32:20
    SRS requirements compliance results + + + Unknown + +
    +
    +
    +

    Extensions

    + + + + + + + + + + + + + + + + + +
    BBSR compliance results + + + Unknown + +
    SCMI compliance results + + + Unknown + +
    +
    + +
    +

    Test Summaries

    + +
    + +BSA Test Summary

    BSA Test Summary

    StatusTotal
    Passed1
    BSA
    + + +
    + + +
    + +SBSA Test Summary

    SBSA Test Summary

    StatusTotal
    Passed1
    sbsa
    + + +
    + + +
    + +FWTS Test Summary

    FWTS Test Summary

    StatusTotal
    Passed1
    fwts
    + + +
    + + +
    + +SCT Test Summary

    SCT Test Summary

    StatusTotal
    Passed1
    sct
    + + +
    + + +
    + +SCMI Test Summary

    SCMI Test Summary

    StatusTotal
    Passed1
    scmi
    + + +
    + + +
    + +SBMR-IB Test Summary

    SBMR-IB Test Summary

    StatusTotal
    Passed1
    sbmr_ib
    + + +
    + + +
    + +SBMR-OOB Test Summary

    SBMR-OOB Test Summary

    StatusTotal
    Passed1
    sbmr_oob
    + + +
    + + +
    + +Post-Script Test Summary

    POST-SCRIPT Test Summary

    StatusTotal
    Passed1
    post_script
    + + +
    + + +
    + +Standalone Test Summary

    Standalone Test Summary

    StatusTotal
    Passed1
    standalone
    + + +
    + + +
    + +FWTS Test Summary

    BBSR-FWTS Test Summary

    StatusTotal
    Passed1
    bbsr_fwts
    + + +
    + + +
    + +SCT Test Summary

    BBSR-SCT Test Summary

    StatusTotal
    Passed1
    bbsr_sct
    + + +
    + + +
    + +TPM Test Summary

    BBSR-TPM Test Summary

    StatusTotal
    Passed1
    bbsr_tpm
    + + +
    + + +
    + +PFDI Test Summary

    PFDI Test Summary

    StatusTotal
    Passed1
    pfdi
    + + +
    + + +
    + +OS Tests Test Summary

    OS Test Summary

    StatusTotal
    Passed1
    os_tests
    + + +
    + +
    +
    + + + \ No newline at end of file diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bsa.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bsa.html new file mode 100644 index 00000000..bd833fc8 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bsa.html @@ -0,0 +1,2 @@ + +BSA Test Summary

    BSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    BSA detail parsing content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/case.log b/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/case.log new file mode 100644 index 00000000..7cd0b6a1 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/case.log @@ -0,0 +1,24 @@ +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_parses_merged_json_compliance_details +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py --merged_json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/merged.json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/sbsa_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bbsr_fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bbsr_sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bbsr_tpm_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/pfdi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/post_script_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/standalone_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/os_tests_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/capsule_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/sbmr_ib_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/sbmr_oob_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/scmi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'not run: BSA, FWTS' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'failed: SCT' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'not run: SBSA' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'failed: PFDI' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'not run: BBSR-FWTS' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'failed: BBSR-SCT' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'failed: SCMI' -> PASS diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/merged.json b/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/merged.json new file mode 100644 index 00000000..6eed91ac --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/merged.json @@ -0,0 +1,9 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: BSA, FWTS; failed: SCT) : Recommended - (not run: SBSA; failed: PFDI)", + "BBSR compliance results": "Not Compliant : Mandatory - (not run: BBSR-FWTS; failed: BBSR-SCT)", + "SCMI compliance results": "Not Compliant" + } + } +} diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html new file mode 100644 index 00000000..c86ccd4b --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html @@ -0,0 +1,349 @@ + + + + + + ACS Summary + + + +
    + ACS Summary +
    +
    +
    +

    System Information

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VendorUnknown
    SystemUnknown
    SoC FamilyUnknown
    Firmware VersionUnknown
    UEFI VersionNot provided
    +
    +
    +

    ACS Results Summary

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BandUnknown
    Date2026-06-11 09:32:20
    SRS requirements compliance results + + + Not Compliant + +
    + Mandatory: + + not run: BSA, FWTS + + ; + + failed: SCT + +
    + Recommended: + + not run: SBSA + + ; + + failed: PFDI + +
    +
    +
    +

    Extensions

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BBSR compliance results + + + Not Compliant + +
    + Mandatory: + + not run: BBSR-FWTS + + ; + + failed: BBSR-SCT + +
    SCMI compliance results + + + Not Compliant + +
    + Mandatory: + + + + failed: SCMI + +
    +
    + +
    +

    Test Summaries

    + +
    + +BSA Test Summary

    BSA Test Summary

    StatusTotal
    Passed1
    BSA detail parsing content
    + + +
    + + + + + + + + + + + + + + +
    +
    + + + \ No newline at end of file diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa.html new file mode 100644 index 00000000..ad8017ab --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa.html @@ -0,0 +1,2 @@ + +BSA Test Summary

    BSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    BSA suite info content
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html new file mode 100644 index 00000000..ed31a957 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html @@ -0,0 +1,2 @@ + +
    Test Suite: PE
    Test_suite_info:
    • PCIe root complex present
    • BAR sizing checked
    details body
    diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/case.log b/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/case.log new file mode 100644 index 00000000..70a384c6 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/case.log @@ -0,0 +1,21 @@ +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_injects_test_suite_info_into_detailed_html +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py --merged_json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/merged.json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/sbsa_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bbsr_fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bbsr_sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bbsr_tpm_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/pfdi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/post_script_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/standalone_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/os_tests_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/capsule_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/sbmr_ib_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/sbmr_oob_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/scmi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html contains 'Test_suite_info:' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html contains 'PCIe root complex present' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html contains 'BAR sizing checked' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html contains ' PASS diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/merged.json b/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/merged.json new file mode 100644 index 00000000..8b4aa59d --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/merged.json @@ -0,0 +1,18 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "Overall Compliance Result": "Compliant" + } + }, + "Suite_Name: BSA": { + "test_results": [ + { + "Test_suite": "PE", + "Test_suite_info": [ + "PCIe root complex present", + "BAR sizing checked" + ] + } + ] + } +} diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/summary.html b/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/summary.html new file mode 100644 index 00000000..5818487c --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/summary.html @@ -0,0 +1,281 @@ + + + + + + ACS Summary + + + +
    + ACS Summary +
    +
    +
    +

    System Information

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    VendorUnknown
    SystemUnknown
    SoC FamilyUnknown
    Firmware VersionUnknown
    UEFI VersionNot provided
    +
    +
    +

    ACS Results Summary

    + + + + + + + + + + + + + + + + + +
    BandUnknown
    Date2026-06-11 09:32:20
    SRS requirements compliance results + + + Compliant + +
    +
    +
    +

    Extensions

    + + + + + + + + + +
    BBSR compliance results + + + Unknown + +
    +
    + +
    +

    Test Summaries

    + +
    + +BSA Test Summary

    BSA Test Summary

    StatusTotal
    Passed1
    BSA suite info content
    + + +
    + + + + + + + + + + + + + + +
    +
    + + + \ No newline at end of file diff --git a/common/reports/_work/generate_acs_summary/generate_acs_summary/combined.log b/common/reports/_work/generate_acs_summary/generate_acs_summary/combined.log new file mode 100644 index 00000000..af48a4b8 --- /dev/null +++ b/common/reports/_work/generate_acs_summary/generate_acs_summary/combined.log @@ -0,0 +1,185 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:20 +YAML: common/test_yaml/generate_acs_summary.yaml +SUITE: generate_acs_summary +TARGETS: common/log_parser/generate_acs_summary.py +==================================================================================================== + +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found + +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_requires_many_inputs +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 2 +--- STDOUT --- + +--- STDERR --- +usage: generate_acs_summary.py [-h] [--merged_json MERGED_JSON] + [--acs_config_path ACS_CONFIG_PATH] + [--system_config_path SYSTEM_CONFIG_PATH] + [--uefi_version_log UEFI_VERSION_LOG] + [--device_tree_dts DEVICE_TREE_DTS] + [--acs_info_json ACS_INFO_JSON] + bsa_summary_path sbsa_summary_path + fwts_summary_path sct_summary_path + bbsr_fwts_summary_path bbsr_sct_summary_path + bbsr_tpm_summary_path pfdi_summary_path + post_script_summary_path + standalone_summary_path OS_tests_summary_path + capsule_update_summary_path + sbmr_ib_summary_path sbmr_oob_summary_path + scmi_summary_path output_html_path +generate_acs_summary.py: error: the following arguments are required: bsa_summary_path, sbsa_summary_path, fwts_summary_path, sct_summary_path, bbsr_fwts_summary_path, bbsr_sct_summary_path, bbsr_tpm_summary_path, pfdi_summary_path, post_script_summary_path, standalone_summary_path, OS_tests_summary_path, capsule_update_summary_path, sbmr_ib_summary_path, sbmr_oob_summary_path, scmi_summary_path, output_html_path + +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_removes_result_summary_headings_case_insensitively +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/bbsr_tpm.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/pfdi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/post_script.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/standalone.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/os_tests.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/capsule.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_ib.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/sbmr_oob.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/scmi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +Warning: merged JSON not provided or does not exist => Overall compliance unknown +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/summary.html contains 'BSA' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/7_cli_removes_result_summary_headings_case_insensitively/summary.html contains 'RESULT SUMMARY' -> PASS + +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_generates_html_with_summary_sections +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py --merged_json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/merged.json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/bbsr_tpm.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/pfdi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/post_script.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/standalone.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/os_tests.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/capsule.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_ib.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/sbmr_oob.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/scmi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html --acs_info_json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/acs_info.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html -> PASS +post_check file_not_empty: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html contains 'BSA content' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html contains 'FWTS content' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html contains 'SCMI content' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/5_cli_generates_html_with_summary_sections/summary.html contains 'Result Summary' -> PASS + +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_without_merged_json_still_generates_html +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_fwts.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_sct.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/bbsr_tpm.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/pfdi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/post_script.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/standalone.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/os_tests.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/capsule.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_ib.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/sbmr_oob.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/scmi.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +Warning: merged JSON not provided or does not exist => Overall compliance unknown +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/6_cli_without_merged_json_still_generates_html/summary.html contains 'standalone' -> PASS + +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_parses_merged_json_compliance_details +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py --merged_json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/merged.json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/sbsa_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bbsr_fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bbsr_sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/bbsr_tpm_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/pfdi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/post_script_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/standalone_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/os_tests_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/capsule_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/sbmr_ib_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/sbmr_oob_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/scmi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'not run: BSA, FWTS' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'failed: SCT' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'not run: SBSA' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'failed: PFDI' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'not run: BBSR-FWTS' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'failed: BBSR-SCT' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/8_cli_parses_merged_json_compliance_details/summary.html contains 'failed: SCMI' -> PASS + +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::cli_injects_test_suite_info_into_detailed_html +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py --merged_json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/merged.json /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/sbsa_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bbsr_fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bbsr_sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bbsr_tpm_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/pfdi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/post_script_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/standalone_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/os_tests_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/capsule_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/sbmr_ib_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/sbmr_oob_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/scmi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html contains 'Test_suite_info:' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html contains 'PCIe root complex present' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html contains 'BAR sizing checked' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/9_cli_injects_test_suite_info_into_detailed_html/bsa_detailed.html contains ' PASS + +================================================================================ +TEST CASE: generate_acs_summary::generate_acs_summary.py::capsule_summary_is_merged_into_standalone_section +STATUS: WARNING +MESSAGE: + +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html contains 'Capsule-only marker' -> FAIL + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/generate_acs_summary.py /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/bsa_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/sbsa_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/bbsr_fwts_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/bbsr_sct_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/bbsr_tpm_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/pfdi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/post_script_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/standalone.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/os_tests_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/capsule.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/sbmr_ib_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/sbmr_oob_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/scmi_missing.html /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Config file not provided or does not exist. +Config file not provided or does not exist. +Warning: merged JSON not provided or does not exist => Overall compliance unknown +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html contains 'Standalone-only marker' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/generate_acs_summary/generate_acs_summary/10_capsule_summary_is_merged_into_standalone_section/summary.html contains 'Capsule-only marker' -> FAIL + diff --git a/common/reports/_work/json_to_html_common/json_to_html/1_file_exists/case.log b/common/reports/_work/json_to_html_common/json_to_html/1_file_exists/case.log new file mode 100644 index 00000000..6a207ad5 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/json_to_html_common/json_to_html/2_python_compiles/case.log b/common/reports/_work/json_to_html_common/json_to_html/2_python_compiles/case.log new file mode 100644 index 00000000..f93f4c30 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/json_to_html_common/json_to_html/3_has_main_guard/case.log b/common/reports/_work/json_to_html_common/json_to_html/3_has_main_guard/case.log new file mode 100644 index 00000000..f12548fd --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/3_has_main_guard/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found diff --git a/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/case.log b/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/case.log new file mode 100644 index 00000000..0d7de1f5 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::empty_json_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/standalone_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/empty.json /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/detail.html /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- +No valid data found in input JSON(s). +--- STDERR --- diff --git a/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/empty.json b/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/empty.json new file mode 100755 index 00000000..0967ef42 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/empty.json @@ -0,0 +1 @@ +{} diff --git a/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/case.log b/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/case.log new file mode 100644 index 00000000..56b74238 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::missing_test_results_key +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/standalone_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/missing_key.json /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/detail.html /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- +No valid data found in input JSON(s). +--- STDERR --- diff --git a/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/missing_key.json b/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/missing_key.json new file mode 100755 index 00000000..b834b296 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/missing_key.json @@ -0,0 +1,3 @@ +{ + "random_field": [] +} diff --git a/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/case.log b/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/case.log new file mode 100644 index 00000000..c774bbd1 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::missing_subtests_in_test_case +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/standalone_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/missing_subtests.json /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/detail.html /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- diff --git a/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/detail.html b/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/detail.html new file mode 100644 index 00000000..231b3387 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/detail.html @@ -0,0 +1,205 @@ + + + + + Standalone Test Summary + + + + +

    Standalone Test Summary

    + + +
    + Standalone tests Results +
    + + +
    +

    Result Summary

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StatusTotal
    Total Standalone tests1
    Passed1
    Failed0
    Warnings0
    Failed with Waiver0
    +
    + + + + +
    + + + + +
    Test Suite: Test
    +
    Description:
    + +
    Test Case: Case without subtests
    +
    Description:
    + + + + + + + + + + + + + + + +
    Sub Test NumberSub Test DescriptionSub Test ResultReasonWaiver Reason
    + + +
    + + + \ No newline at end of file diff --git a/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/missing_subtests.json b/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/missing_subtests.json new file mode 100755 index 00000000..bbc33d92 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/missing_subtests.json @@ -0,0 +1,8 @@ +{ + "test_results": [ + { + "Test_suite": "Test", + "Test_case": "Case without subtests" + } + ] +} diff --git a/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/summary.html b/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/summary.html new file mode 100644 index 00000000..1c112bf6 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/summary.html @@ -0,0 +1,169 @@ + + + + + Standalone Test Summary + + + + +

    Standalone Test Summary

    + + + +
    +

    Result Summary

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StatusTotal
    Total Standalone tests1
    Passed1
    Failed0
    Warnings0
    Failed with Waiver0
    +
    + + + + \ No newline at end of file diff --git a/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/case.log b/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/case.log new file mode 100644 index 00000000..d9a254e6 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::minimal_valid_structure_generates_or_exits_cleanly +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/standalone_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/minimal.json /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/detail.html /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- diff --git a/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/detail.html b/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/detail.html new file mode 100644 index 00000000..e0a9ad95 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/detail.html @@ -0,0 +1,205 @@ + + + + + Standalone Test Summary + + + + +

    Standalone Test Summary

    + + +
    + Standalone tests Results +
    + + +
    +

    Result Summary

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StatusTotal
    Total Standalone tests1
    Passed1
    Failed0
    Warnings0
    Failed with Waiver0
    +
    + + + + +
    + + + + +
    Test Suite: Minimal
    +
    Description:
    + +
    Test Case: Basic
    +
    Description:
    + + + + + + + + + + + + + + + +
    Sub Test NumberSub Test DescriptionSub Test ResultReasonWaiver Reason
    + + +
    + + + \ No newline at end of file diff --git a/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/minimal.json b/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/minimal.json new file mode 100755 index 00000000..2cfaceba --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/minimal.json @@ -0,0 +1,9 @@ +{ + "test_results": [ + { + "Test_suite": "Minimal", + "Test_case": "Basic", + "subtests": [] + } + ] +} diff --git a/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/summary.html b/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/summary.html new file mode 100644 index 00000000..1c112bf6 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/summary.html @@ -0,0 +1,169 @@ + + + + + Standalone Test Summary + + + + +

    Standalone Test Summary

    + + + +
    +

    Result Summary

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StatusTotal
    Total Standalone tests1
    Passed1
    Failed0
    Warnings0
    Failed with Waiver0
    +
    + + + + \ No newline at end of file diff --git a/common/reports/_work/json_to_html_common/json_to_html/combined.log b/common/reports/_work/json_to_html_common/json_to_html/combined.log new file mode 100644 index 00000000..77f0ed10 --- /dev/null +++ b/common/reports/_work/json_to_html_common/json_to_html/combined.log @@ -0,0 +1,78 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:24 +YAML: common/test_yaml/json-to-html.yaml +SUITE: json_to_html_common +TARGETS: common/log_parser/standalone_tests/json_to_html.py +==================================================================================================== + +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found + +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::missing_test_results_key +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/standalone_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/missing_key.json /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/detail.html /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/5_missing_test_results_key/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- +No valid data found in input JSON(s). +--- STDERR --- + +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::empty_json_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/standalone_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/empty.json /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/detail.html /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/4_empty_json_input/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- +No valid data found in input JSON(s). +--- STDERR --- + +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::missing_subtests_in_test_case +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/standalone_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/missing_subtests.json /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/detail.html /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/6_missing_subtests_in_test_case/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +================================================================================ +TEST CASE: json_to_html_common::json_to_html.py::minimal_valid_structure_generates_or_exits_cleanly +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/standalone_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/minimal.json /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/detail.html /home/vepav01/arm-systemready/common/reports/_work/json_to_html_common/json_to_html/7_minimal_valid_structure_generates_or_exits_cleanly/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + diff --git a/common/reports/_work/logs_to_json_common/logs_to_json/1_file_exists/case.log b/common/reports/_work/logs_to_json_common/logs_to_json/1_file_exists/case.log new file mode 100644 index 00000000..2b6135b1 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/logs_to_json_common/logs_to_json/2_python_compiles/case.log b/common/reports/_work/logs_to_json_common/logs_to_json/2_python_compiles/case.log new file mode 100644 index 00000000..c3785a8d --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/logs_to_json_common/logs_to_json/3_contains_json_usage/case.log b/common/reports/_work/logs_to_json_common/logs_to_json/3_contains_json_usage/case.log new file mode 100644 index 00000000..98c8a867 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json/3_contains_json_usage/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::contains_json_usage +STATUS: PASS +MESSAGE: Found pattern: json diff --git a/common/reports/_work/logs_to_json_common/logs_to_json/4_contains_parse_logic/case.log b/common/reports/_work/logs_to_json_common/logs_to_json/4_contains_parse_logic/case.log new file mode 100644 index 00000000..a2a84658 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json/4_contains_parse_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::contains_parse_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: parse, parser, parse_ diff --git a/common/reports/_work/logs_to_json_common/logs_to_json/5_contains_result_collection_logic/case.log b/common/reports/_work/logs_to_json_common/logs_to_json/5_contains_result_collection_logic/case.log new file mode 100644 index 00000000..df21cee1 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json/5_contains_result_collection_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::contains_result_collection_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: subtest, test_results, results diff --git a/common/reports/_work/logs_to_json_common/logs_to_json/6_contains_summary_logic/case.log b/common/reports/_work/logs_to_json_common/logs_to_json/6_contains_summary_logic/case.log new file mode 100644 index 00000000..eb6612c7 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json/6_contains_summary_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::contains_summary_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: summary, suite_summary, total_ diff --git a/common/reports/_work/logs_to_json_common/logs_to_json/7_contains_output_logic/case.log b/common/reports/_work/logs_to_json_common/logs_to_json/7_contains_output_logic/case.log new file mode 100644 index 00000000..54716062 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json/7_contains_output_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::contains_output_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: json.dump, write diff --git a/common/reports/_work/logs_to_json_common/logs_to_json/8_has_main_guard/case.log b/common/reports/_work/logs_to_json_common/logs_to_json/8_has_main_guard/case.log new file mode 100644 index 00000000..1bab0e2a --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json/8_has_main_guard/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found diff --git a/common/reports/_work/logs_to_json_common/logs_to_json/combined.log b/common/reports/_work/logs_to_json_common/logs_to_json/combined.log new file mode 100644 index 00000000..4e1c77ca --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json/combined.log @@ -0,0 +1,55 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:28 +YAML: common/test_yaml/logs-to-json.yaml +SUITE: logs_to_json_common +TARGETS: common/log_parser/standalone_tests/logs_to_json.py +==================================================================================================== + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::contains_json_usage +STATUS: PASS +MESSAGE: Found pattern: json + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::contains_result_collection_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: subtest, test_results, results + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::contains_parse_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: parse, parser, parse_ + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::contains_summary_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: summary, suite_summary, total_ + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::contains_output_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: json.dump, write + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found + diff --git a/common/reports/_work/logs_to_json_common/logs_to_json_edk2/1_file_exists/case.log b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/1_file_exists/case.log new file mode 100644 index 00000000..576f6193 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/logs_to_json_common/logs_to_json_edk2/2_python_compiles/case.log b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/2_python_compiles/case.log new file mode 100644 index 00000000..c41c44f7 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/logs_to_json_common/logs_to_json_edk2/3_contains_json_usage/case.log b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/3_contains_json_usage/case.log new file mode 100644 index 00000000..4af2b4e0 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/3_contains_json_usage/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::contains_json_usage +STATUS: PASS +MESSAGE: Found pattern: json diff --git a/common/reports/_work/logs_to_json_common/logs_to_json_edk2/4_contains_parse_logic/case.log b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/4_contains_parse_logic/case.log new file mode 100644 index 00000000..1ec51ea4 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/4_contains_parse_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::contains_parse_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: parse, parser, parse_ diff --git a/common/reports/_work/logs_to_json_common/logs_to_json_edk2/5_contains_result_collection_logic/case.log b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/5_contains_result_collection_logic/case.log new file mode 100644 index 00000000..322c9047 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/5_contains_result_collection_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::contains_result_collection_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: results diff --git a/common/reports/_work/logs_to_json_common/logs_to_json_edk2/6_contains_summary_logic/case.log b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/6_contains_summary_logic/case.log new file mode 100644 index 00000000..5e56b9fc --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/6_contains_summary_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::contains_summary_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: "result", "reason" diff --git a/common/reports/_work/logs_to_json_common/logs_to_json_edk2/7_contains_output_logic/case.log b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/7_contains_output_logic/case.log new file mode 100644 index 00000000..5938d298 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/7_contains_output_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::contains_output_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: json.dump diff --git a/common/reports/_work/logs_to_json_common/logs_to_json_edk2/8_has_main_guard/case.log b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/8_has_main_guard/case.log new file mode 100644 index 00000000..37b68049 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/8_has_main_guard/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found diff --git a/common/reports/_work/logs_to_json_common/logs_to_json_edk2/combined.log b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/combined.log new file mode 100644 index 00000000..d3de7720 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/logs_to_json_edk2/combined.log @@ -0,0 +1,55 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:28 +YAML: common/test_yaml/logs-to-json.yaml +SUITE: logs_to_json_common +TARGETS: common/log_parser/bbr/sct/logs_to_json_edk2.py +==================================================================================================== + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::contains_json_usage +STATUS: PASS +MESSAGE: Found pattern: json + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::contains_parse_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: parse, parser, parse_ + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::contains_result_collection_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: results + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::contains_summary_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: "result", "reason" + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::contains_output_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: json.dump + +================================================================================ +TEST CASE: logs_to_json_common::logs_to_json_edk2.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found + diff --git a/common/reports/_work/logs_to_json_common/sr_logs_to_json/1_file_exists/case.log b/common/reports/_work/logs_to_json_common/sr_logs_to_json/1_file_exists/case.log new file mode 100644 index 00000000..81fce9d5 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/sr_logs_to_json/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/logs_to_json_common/sr_logs_to_json/2_python_compiles/case.log b/common/reports/_work/logs_to_json_common/sr_logs_to_json/2_python_compiles/case.log new file mode 100644 index 00000000..e398b3c9 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/sr_logs_to_json/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/logs_to_json_common/sr_logs_to_json/3_contains_json_usage/case.log b/common/reports/_work/logs_to_json_common/sr_logs_to_json/3_contains_json_usage/case.log new file mode 100644 index 00000000..37abdd76 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/sr_logs_to_json/3_contains_json_usage/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::contains_json_usage +STATUS: PASS +MESSAGE: Found pattern: json diff --git a/common/reports/_work/logs_to_json_common/sr_logs_to_json/4_contains_parse_logic/case.log b/common/reports/_work/logs_to_json_common/sr_logs_to_json/4_contains_parse_logic/case.log new file mode 100644 index 00000000..2da831bd --- /dev/null +++ b/common/reports/_work/logs_to_json_common/sr_logs_to_json/4_contains_parse_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::contains_parse_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: parse, parse_ diff --git a/common/reports/_work/logs_to_json_common/sr_logs_to_json/5_contains_result_collection_logic/case.log b/common/reports/_work/logs_to_json_common/sr_logs_to_json/5_contains_result_collection_logic/case.log new file mode 100644 index 00000000..954a5ce3 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/sr_logs_to_json/5_contains_result_collection_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::contains_result_collection_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: subtest, test_results, results diff --git a/common/reports/_work/logs_to_json_common/sr_logs_to_json/6_contains_summary_logic/case.log b/common/reports/_work/logs_to_json_common/sr_logs_to_json/6_contains_summary_logic/case.log new file mode 100644 index 00000000..97514ed3 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/sr_logs_to_json/6_contains_summary_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::contains_summary_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: summary, suite_summary, total_ diff --git a/common/reports/_work/logs_to_json_common/sr_logs_to_json/7_contains_output_logic/case.log b/common/reports/_work/logs_to_json_common/sr_logs_to_json/7_contains_output_logic/case.log new file mode 100644 index 00000000..ea994e3d --- /dev/null +++ b/common/reports/_work/logs_to_json_common/sr_logs_to_json/7_contains_output_logic/case.log @@ -0,0 +1,6 @@ +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::contains_output_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: json.dump diff --git a/common/reports/_work/logs_to_json_common/sr_logs_to_json/8_has_main_guard/case.log b/common/reports/_work/logs_to_json_common/sr_logs_to_json/8_has_main_guard/case.log new file mode 100644 index 00000000..224ca7bb --- /dev/null +++ b/common/reports/_work/logs_to_json_common/sr_logs_to_json/8_has_main_guard/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found diff --git a/common/reports/_work/logs_to_json_common/sr_logs_to_json/combined.log b/common/reports/_work/logs_to_json_common/sr_logs_to_json/combined.log new file mode 100644 index 00000000..e3e5eaf0 --- /dev/null +++ b/common/reports/_work/logs_to_json_common/sr_logs_to_json/combined.log @@ -0,0 +1,55 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:28 +YAML: common/test_yaml/logs-to-json.yaml +SUITE: logs_to_json_common +TARGETS: common/log_parser/os_tests/sr_logs_to_json.py +==================================================================================================== + +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::contains_json_usage +STATUS: PASS +MESSAGE: Found pattern: json + +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::contains_parse_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: parse, parse_ + +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::contains_result_collection_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: subtest, test_results, results + +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::contains_summary_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: summary, suite_summary, total_ + +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::contains_output_logic +STATUS: PASS +MESSAGE: At least one pattern matched + +Matched patterns: json.dump + +================================================================================ +TEST CASE: logs_to_json_common::sr_logs_to_json.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found + diff --git a/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/acs_info.json b/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/acs_info.json new file mode 100644 index 00000000..11af5d6b --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/acs_info.json @@ -0,0 +1,5 @@ +{ + "ACS Results Summary": { + "Overall Compliance Result": "Compliant" + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/case.log b/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/case.log new file mode 100644 index 00000000..63e3e2bc --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/case.log @@ -0,0 +1,26 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_acs_info_only_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/acs_info.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Recommended: SBSA: Not Run +Suite: Extension : BBSR-TPM: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Recommended: SBMR-IB: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, OS_TEST, FWTS, BSA) : Recommended - (not run: SBSA, SBMR-OOB, SBMR-IB)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/merged.json b/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/merged.json new file mode 100644 index 00000000..530e1d7c --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/merged.json @@ -0,0 +1,18 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: SCT, OS_TEST, FWTS, BSA) : Recommended - (not run: SBSA, SBMR-OOB, SBMR-IB)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run" + } + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/acs_info.json b/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/acs_info.json new file mode 100644 index 00000000..247c186e --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/acs_info.json @@ -0,0 +1,5 @@ +{ + "ACS Results Summary": { + "Overall Compliance Result": "Unknown" + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/case.log b/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/case.log new file mode 100644 index 00000000..6a704761 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/case.log @@ -0,0 +1,26 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_acs_info_and_fwts_json_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/acs_info.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/fwts.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Recommended: SBSA: Not Run +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-TPM: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : FWTS: Not Compliant: Failed 1[0m +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Recommended: SBMR-IB: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, BSA, OS_TEST; failed: FWTS) : Recommended - (not run: SBSA, SBMR-OOB, SBMR-IB)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/fwts.json b/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/fwts.json new file mode 100644 index 00000000..b1bb22d5 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/fwts.json @@ -0,0 +1,32 @@ +{ + "test_results": [ + { + "Test_suite": "uefivar", + "Test_suite_description": "FWTS UEFI variable service checks", + "subtests": [ + { + "sub_test_name": "uefivar_set", + "sub_test_description": "SetVariable write path", + "sub_test_result": "FAILED", + "reason": "SetVariable returned an EFI error" + } + ], + "test_suite_summary": { + "total_passed": 0, + "total_failed": 1, + "total_failed_with_waiver": 0, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } + } + ], + "suite_summary": { + "total_passed": 0, + "total_failed": 1, + "total_failed_with_waiver": 0, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/merged.json b/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/merged.json new file mode 100644 index 00000000..88c33718 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/merged.json @@ -0,0 +1,50 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: SCT, BSA, OS_TEST; failed: FWTS) : Recommended - (not run: SBSA, SBMR-OOB, SBMR-IB)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: Failed 1", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run" + } + }, + "Suite_Name: FWTS": { + "suite_summary": { + "total_aborted": 0, + "total_failed": 1, + "total_failed_with_waiver": 0, + "total_passed": 0, + "total_skipped": 0, + "total_warnings": 0 + }, + "test_results": [ + { + "Test_suite": "uefivar", + "Test_suite_description": "FWTS UEFI variable service checks", + "test_suite_summary": { + "total_aborted": 0, + "total_failed": 1, + "total_failed_with_waiver": 0, + "total_passed": 0, + "total_skipped": 0, + "total_warnings": 0 + }, + "subtests": [ + { + "reason": "SetVariable returned an EFI error", + "sub_test_description": "SetVariable write path", + "sub_test_name": "uefivar_set", + "sub_test_result": "FAILED" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/bsa.json b/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/bsa.json new file mode 100644 index 00000000..81f046dd --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/bsa.json @@ -0,0 +1,47 @@ +{ + "test_results": [ + { + "Test_suite": "PE", + "testcases": [ + { + "Test_case": "PE_001", + "Test_case_description": "Processing Element architectural compliance", + "Test_result": "FAILED", + "Test_case_summary": { + "Total Rules Run": 1, + "Passed": 0, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 1, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } + } + ], + "test_suite_summary": { + "Total Rules Run": 1, + "Passed": 0, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 1, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } + } + ], + "suite_summary": { + "Total Rules Run": 1, + "Passed": 0, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 1, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/case.log b/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/case.log new file mode 100644 index 00000000..b182b129 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/case.log @@ -0,0 +1,26 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_bsa_json_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/bsa.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Extension : BBSR-TPM: Not Run +Suite: Extension : BBSR-FWTS: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: Failed 1[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Recommended: SBMR-IB: Not Run +Suite: Recommended: SBSA: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: FWTS, SCT, OS_TEST; failed: BSA) : Recommended - (not run: SBMR-OOB, SBMR-IB, SBSA)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/merged.json b/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/merged.json new file mode 100644 index 00000000..9a085bdb --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/merged.json @@ -0,0 +1,65 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: FWTS, SCT, OS_TEST; failed: BSA) : Recommended - (not run: SBMR-OOB, SBMR-IB, SBSA)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: Failed 1", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run" + } + }, + "Suite_Name: BSA": { + "suite_summary": { + "Failed": 1, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 0, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "test_results": [ + { + "Test_suite": "PE", + "test_suite_summary": { + "Failed": 1, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 0, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "testcases": [ + { + "Test_case": "PE_001", + "Test_case_description": "Processing Element architectural compliance", + "Test_case_summary": { + "Failed": 1, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 0, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "Test_result": "FAILED" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/acs_info.json b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/acs_info.json new file mode 100644 index 00000000..247c186e --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/acs_info.json @@ -0,0 +1,5 @@ +{ + "ACS Results Summary": { + "Overall Compliance Result": "Unknown" + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/bsa.json b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/bsa.json new file mode 100644 index 00000000..ebb0cb6e --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/bsa.json @@ -0,0 +1,47 @@ +{ + "test_results": [ + { + "Test_suite": "PE", + "testcases": [ + { + "Test_case": "PE_001", + "Test_case_description": "Processing Element architectural compliance", + "Test_result": "PASSED", + "Test_case_summary": { + "Total Rules Run": 1, + "Passed": 1, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 0, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } + } + ], + "test_suite_summary": { + "Total Rules Run": 1, + "Passed": 1, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 0, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } + } + ], + "suite_summary": { + "Total Rules Run": 1, + "Passed": 1, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 0, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/case.log b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/case.log new file mode 100644 index 00000000..7d1e593d --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/case.log @@ -0,0 +1,26 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_multiple_suite_jsons_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/acs_info.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/bsa.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/fwts.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/scmi.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Extension : BBSR-SCT: Not Run +Suite: Recommended: SBMR-IB: Not Run +Suite: Extension : BBSR-TPM: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Recommended: SBMR-OOB: Not Run +Suite: Mandatory : BSA: Compliant +Suite: Extension : BBSR-FWTS: Not Run +Suite: Recommended: SBSA: Not Run +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Mandatory : FWTS: Compliant with waivers: Waivers 1 + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, OS_TEST) : Recommended - (not run: SBMR-IB, SBMR-OOB, SBSA)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/fwts.json b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/fwts.json new file mode 100644 index 00000000..efeb7f62 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/fwts.json @@ -0,0 +1,32 @@ +{ + "test_results": [ + { + "Test_suite": "uefivar", + "Test_suite_description": "FWTS UEFI variable service checks", + "subtests": [ + { + "sub_test_name": "uefivar_set", + "sub_test_description": "SetVariable write path", + "sub_test_result": "FAILED (WITH WAIVER)", + "waiver_reason": "Firmware variable waiver" + } + ], + "test_suite_summary": { + "total_passed": 0, + "total_failed": 0, + "total_failed_with_waiver": 1, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } + } + ], + "suite_summary": { + "total_passed": 0, + "total_failed": 0, + "total_failed_with_waiver": 1, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/merged.json b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/merged.json new file mode 100644 index 00000000..f6881eb8 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/merged.json @@ -0,0 +1,129 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: SCT, OS_TEST) : Recommended - (not run: SBMR-IB, SBMR-OOB, SBSA)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Compliant", + "Suite_Name: Mandatory : FWTS_compliance": "Compliant with waivers: Waivers 1", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run", + "Suite_Name: Recommended : SCMI_compliance": "Compliant" + } + }, + "Suite_Name: BSA": { + "suite_summary": { + "Failed": 0, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 1, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "test_results": [ + { + "Test_suite": "PE", + "test_suite_summary": { + "Failed": 0, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 1, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "testcases": [ + { + "Test_case": "PE_001", + "Test_case_description": "Processing Element architectural compliance", + "Test_case_summary": { + "Failed": 0, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 1, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "Test_result": "PASSED" + } + ] + } + ] + }, + "Suite_Name: FWTS": { + "suite_summary": { + "total_aborted": 0, + "total_failed": 0, + "total_failed_with_waiver": 1, + "total_passed": 0, + "total_skipped": 0, + "total_warnings": 0 + }, + "test_results": [ + { + "Test_suite": "uefivar", + "Test_suite_description": "FWTS UEFI variable service checks", + "test_suite_summary": { + "total_aborted": 0, + "total_failed": 0, + "total_failed_with_waiver": 1, + "total_passed": 0, + "total_skipped": 0, + "total_warnings": 0 + }, + "subtests": [ + { + "sub_test_description": "SetVariable write path", + "sub_test_name": "uefivar_set", + "sub_test_result": "FAILED (WITH WAIVER)", + "waiver_reason": "Firmware variable waiver" + } + ] + } + ] + }, + "Suite_Name: SCMI": { + "suite_summary": { + "total_aborted": 0, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_passed": 1, + "total_skipped": 0, + "total_warnings": 0 + }, + "test_results": [ + { + "Test_suite": "base", + "reason": "N/A", + "test_suite_summary": { + "total_aborted": 0, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_passed": 1, + "total_skipped": 0, + "total_warnings": 0 + }, + "testcases": [ + { + "Test_case": "1", + "Test_case_description": "Discover vendor command", + "Test_result": "PASSED" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/scmi.json b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/scmi.json new file mode 100644 index 00000000..604c522b --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/scmi.json @@ -0,0 +1,31 @@ +{ + "test_results": [ + { + "Test_suite": "base", + "reason": "N/A", + "testcases": [ + { + "Test_case": "1", + "Test_case_description": "Discover vendor command", + "Test_result": "PASSED" + } + ], + "test_suite_summary": { + "total_passed": 1, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } + } + ], + "suite_summary": { + "total_passed": 1, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/acs_info.json b/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/acs_info.json new file mode 100644 index 00000000..247c186e --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/acs_info.json @@ -0,0 +1,5 @@ +{ + "ACS Results Summary": { + "Overall Compliance Result": "Unknown" + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/case.log b/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/case.log new file mode 100644 index 00000000..8574e422 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/case.log @@ -0,0 +1,26 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::sbsa_present_is_promoted_to_mandatory_in_sr +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/acs_info.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/sbsa.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Recommended: SBMR-IB: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-TPM: Not Run +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : SBSA: Not Compliant: Failed 1[0m +Suite: Extension : BBSR-SCT: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: FWTS, SCT, BSA, OS_TEST; failed: SBSA) : Recommended - (not run: SBMR-IB, SBMR-OOB)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/merged.json b/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/merged.json new file mode 100644 index 00000000..407cbcee --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/merged.json @@ -0,0 +1,65 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: FWTS, SCT, BSA, OS_TEST; failed: SBSA) : Recommended - (not run: SBMR-IB, SBMR-OOB)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SBSA_compliance": "Not Compliant: Failed 1", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run" + } + }, + "Suite_Name: SBSA": { + "suite_summary": { + "Failed": 1, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 0, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "test_results": [ + { + "Test_suite": "PE", + "test_suite_summary": { + "Failed": 1, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 0, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "testcases": [ + { + "Test_case": "PE_001", + "Test_case_description": "Processing Element architectural compliance", + "Test_case_summary": { + "Failed": 1, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 0, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "Test_result": "FAILED" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/sbsa.json b/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/sbsa.json new file mode 100644 index 00000000..81f046dd --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/sbsa.json @@ -0,0 +1,47 @@ +{ + "test_results": [ + { + "Test_suite": "PE", + "testcases": [ + { + "Test_case": "PE_001", + "Test_case_description": "Processing Element architectural compliance", + "Test_result": "FAILED", + "Test_case_summary": { + "Total Rules Run": 1, + "Passed": 0, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 1, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } + } + ], + "test_suite_summary": { + "Total Rules Run": 1, + "Passed": 0, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 1, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } + } + ], + "suite_summary": { + "Total Rules Run": 1, + "Passed": 0, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 1, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/acs_info.json b/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/acs_info.json new file mode 100644 index 00000000..247c186e --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/acs_info.json @@ -0,0 +1,5 @@ +{ + "ACS Results Summary": { + "Overall Compliance Result": "Unknown" + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/case.log b/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/case.log new file mode 100644 index 00000000..3fd03006 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/case.log @@ -0,0 +1,26 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/acs_info.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/sbmr_ib.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : SBMR-OOB: Not Compliant: not run[0m +Suite: Recommended: SBSA: Not Run +Suite: Mandatory : SBMR-IB: Compliant +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-SCT: Not Run +Suite: Extension : BBSR-TPM: Not Run +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: OS_TEST, SBMR-OOB, SCT, BSA, FWTS) : Recommended - (not run: SBSA)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/merged.json b/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/merged.json new file mode 100644 index 00000000..71f58c8e --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/merged.json @@ -0,0 +1,61 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: OS_TEST, SBMR-OOB, SCT, BSA, FWTS) : Recommended - (not run: SBSA)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SBMR-IB_compliance": "Compliant", + "Suite_Name: Mandatory : SBMR-OOB_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run" + } + }, + "Suite_Name: SBMR-IB": { + "suite_summary": { + "total_aborted": 0, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_passed": 1, + "total_skipped": 0, + "total_warnings": 0 + }, + "test_results": [ + { + "Test_suite": "In-band management", + "Test_cases": [ + { + "Test_case": "Redfish service root", + "test_case_summary": { + "total_aborted": 0, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_passed": 1, + "total_skipped": 0, + "total_warnings": 0 + }, + "subtests": [ + { + "sub_Test_Description": "Query service root", + "sub_Test_Number": "1", + "sub_test_result": "PASSED" + } + ] + } + ], + "test_suite_summary": { + "total_aborted": 0, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_passed": 1, + "total_skipped": 0, + "total_warnings": 0 + } + } + ] + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/sbmr_ib.json b/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/sbmr_ib.json new file mode 100644 index 00000000..0a0a0b99 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/sbmr_ib.json @@ -0,0 +1,43 @@ +{ + "test_results": [ + { + "Test_suite": "In-band management", + "Test_cases": [ + { + "Test_case": "Redfish service root", + "subtests": [ + { + "sub_Test_Number": "1", + "sub_Test_Description": "Query service root", + "sub_test_result": "PASSED" + } + ], + "test_case_summary": { + "total_passed": 1, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } + } + ], + "test_suite_summary": { + "total_passed": 1, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } + } + ], + "suite_summary": { + "total_passed": 1, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/16_dt_three_per_os_ethtool_jsons_get_separate_mandatory_labels/case.log b/common/reports/_work/merge_jsons/merge_jsons/16_dt_three_per_os_ethtool_jsons_get_separate_mandatory_labels/case.log new file mode 100644 index 00000000..552458bf --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/16_dt_three_per_os_ethtool_jsons_get_separate_mandatory_labels/case.log @@ -0,0 +1,45 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_three_per_os_ethtool_jsons_get_separate_mandatory_labels +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3672ca0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Mandatory : OS_ethtool_test_linux-Fedora-40: Compliant +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +Suite: Mandatory : OS_ethtool_test_linux-ubuntu-24: Compliant +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Mandatory : OS_ethtool_test_linux-Tumbleweed: Compliant +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_empty: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: OS Tests - ethtool_test_linux-Fedora-40' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: OS Tests - ethtool_test_linux-Tumbleweed' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: OS Tests - ethtool_test_linux-ubuntu-24' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: Mandatory : OS_ethtool_test_linux-Fedora-40_compliance' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: Mandatory : OS_ethtool_test_linux-Tumbleweed_compliance' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: Mandatory : OS_ethtool_test_linux-ubuntu-24_compliance' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: Mandatory : OS_TEST_compliance' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/17_dt_standalone_entry_is_enriched_from_test_categorydt/case.log b/common/reports/_work/merge_jsons/merge_jsons/17_dt_standalone_entry_is_enriched_from_test_categorydt/case.log new file mode 100644 index 00000000..05679b05 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/17_dt_standalone_entry_is_enriched_from_test_categorydt/case.log @@ -0,0 +1,39 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_standalone_entry_is_enriched_from_test_categorydt +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_387ba521 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d35574c0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +Suite: Mandatory : DT_VALIDATE: Compliant +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_387ba521/merged.json contains '"Waivable": "yes"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_387ba521/merged.json contains '"SRS scope": "Required"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_387ba521/merged.json contains '"Main Readiness Grouping": "boot readiness"' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_387ba521/merged.json contains '"Test_suite_info"' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/18_dt_ethtool_test_json_is_collapsed_under_standalone/case.log b/common/reports/_work/merge_jsons/merge_jsons/18_dt_ethtool_test_json_is_collapsed_under_standalone/case.log new file mode 100644 index 00000000..a710732e --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/18_dt_ethtool_test_json_is_collapsed_under_standalone/case.log @@ -0,0 +1,39 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_ethtool_test_json_is_collapsed_under_standalone +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_948a8410 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3555760> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +Suite: Mandatory : ETHTOOL_TEST: Compliant +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_948a8410/merged.json contains 'Suite_Name: Standalone' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_948a8410/merged.json contains '"Test_case": "ethtool_test"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_948a8410/merged.json contains 'Suite_Name: Mandatory : ETHTOOL_TEST_compliance' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_948a8410/merged.json contains 'Suite_Name: Ethtool Test' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/19_dt_missing_recommended_suite_makes_overall_not_compliant/case.log b/common/reports/_work/merge_jsons/merge_jsons/19_dt_missing_recommended_suite_makes_overall_not_compliant/case.log new file mode 100644 index 00000000..9e0cfc73 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/19_dt_missing_recommended_suite_makes_overall_not_compliant/case.log @@ -0,0 +1,20 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_missing_recommended_suite_makes_overall_not_compliant +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_190112aa +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3555bc0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +Suite: Mandatory : FWTS: Compliant + +[91mSRS requirements compliance result: Not Compliant : Recommended - (not run: BSA)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_190112aa/merged.json contains '"Suite_Name: Recommended : BSA_compliance": "Not Compliant: not run"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_190112aa/merged.json contains '"Overall Compliance Result": "Not Compliant : Recommended - (not run: BSA)"' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/1_file_exists/case.log b/common/reports/_work/merge_jsons/merge_jsons/1_file_exists/case.log new file mode 100644 index 00000000..654f1d14 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/merge_jsons/merge_jsons/20_dt_recommended_failure_does_not_change_overall_compliance/case.log b/common/reports/_work/merge_jsons/merge_jsons/20_dt_recommended_failure_does_not_change_overall_compliance/case.log new file mode 100644 index 00000000..402bc580 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/20_dt_recommended_failure_does_not_change_overall_compliance/case.log @@ -0,0 +1,20 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_recommended_failure_does_not_change_overall_compliance +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c3a08833 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d35553a0> +Exit code: 0 +--- STDOUT --- +Suite: Recommended: BSA: Not Compliant: Failed 1 +Suite: Mandatory : FWTS: Compliant + +[32mSRS requirements compliance result: Compliant[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c3a08833/merged.json contains '"Suite_Name: Recommended : BSA_compliance": "Not Compliant: Failed 1"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c3a08833/merged.json contains '"Overall Compliance Result": "Compliant"' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/21_sr_missing_recommended_suite_is_reported_not_run_without_failing_overall/case.log b/common/reports/_work/merge_jsons/merge_jsons/21_sr_missing_recommended_suite_is_reported_not_run_without_failing_overall/case.log new file mode 100644 index 00000000..92b51eef --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/21_sr_missing_recommended_suite_is_reported_not_run_without_failing_overall/case.log @@ -0,0 +1,20 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::sr_missing_recommended_suite_is_reported_not_run_without_failing_overall +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4cd511d2 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3556660> +Exit code: 0 +--- STDOUT --- +Suite: Recommended: SBSA: Not Run +Suite: Mandatory : FWTS: Compliant + +[32mSRS requirements compliance result: Compliant[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4cd511d2/merged.json contains '"Suite_Name: Recommended : SBSA_compliance": "Not Run"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4cd511d2/merged.json contains '"Overall Compliance Result": "Compliant"' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/22_dt_missing_conditional_mandatory_suite_is_reported_not_run_without_failing_overall/case.log b/common/reports/_work/merge_jsons/merge_jsons/22_dt_missing_conditional_mandatory_suite_is_reported_not_run_without_failing_overall/case.log new file mode 100644 index 00000000..9bf3e7c2 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/22_dt_missing_conditional_mandatory_suite_is_reported_not_run_without_failing_overall/case.log @@ -0,0 +1,20 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_missing_conditional_mandatory_suite_is_reported_not_run_without_failing_overall +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8b05f280 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3554860> +Exit code: 0 +--- STDOUT --- +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Mandatory : FWTS: Compliant + +[32mSRS requirements compliance result: Compliant[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8b05f280/merged.json contains '"Suite_Name: Conditional-Mandatory : PFDI_compliance": "Not Run"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8b05f280/merged.json contains '"Overall Compliance Result": "Compliant"' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/23_standalone_entries_are_collapsed_under_single_standalone_section/case.log b/common/reports/_work/merge_jsons/merge_jsons/23_standalone_entries_are_collapsed_under_single_standalone_section/case.log new file mode 100644 index 00000000..bc23730b --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/23_standalone_entries_are_collapsed_under_single_standalone_section/case.log @@ -0,0 +1,40 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::standalone_entries_are_collapsed_under_single_standalone_section +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3554d60> +Exit code: 0 +--- STDOUT --- +Suite: Recommended: RUNTIME_DEV_MAP: Compliant +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +Suite: Mandatory : DT_VALIDATE: Compliant +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64/merged.json contains 'Suite_Name: Standalone' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64/merged.json contains 'DTValidation' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64/merged.json contains 'EBBR requirements' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64/merged.json contains 'Suite_Name: DT Validate' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64/merged.json contains 'Suite_Name: Runtime device mapping' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/bsa.json b/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/bsa.json new file mode 100644 index 00000000..70f98766 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/bsa.json @@ -0,0 +1,54 @@ +{ + "test_results": [ + { + "Test_suite": "PE", + "testcases": [ + { + "Test_case": "PE_001", + "Test_case_description": "Processing Element architectural compliance", + "Test_result": "FAILED", + "Test_case_summary": { + "Total Rules Run": 1, + "Passed": 0, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 1, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } + } + ], + "subtests": [ + { + "sub_test_name": "synthetic_suite_level_probe", + "sub_test_description": "Synthetic suite-level failure used to test precedence", + "sub_test_result": "FAILED" + } + ], + "test_suite_summary": { + "Total Rules Run": 1, + "Passed": 0, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 1, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } + } + ], + "suite_summary": { + "Total Rules Run": 1, + "Passed": 0, + "Passed (Partial)": 0, + "Warnings": 0, + "Skipped": 0, + "Failed": 1, + "PAL Not Supported": 0, + "Not Implemented": 0, + "Total_failed_with_waiver": 0 + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/case.log b/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/case.log new file mode 100644 index 00000000..63977197 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/case.log @@ -0,0 +1,26 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::testcase_and_subtest_failures_are_not_double_counted +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/bsa.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Extension : BBSR-SCT: Not Run +Suite: Extension : BBSR-TPM: Not Run +Suite: Recommended: SBSA: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: Failed 1[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Recommended: SBMR-IB: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, OS_TEST, FWTS; failed: BSA) : Recommended - (not run: SBSA, SBMR-OOB, SBMR-IB)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/merged.json b/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/merged.json new file mode 100644 index 00000000..990a3b95 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/merged.json @@ -0,0 +1,72 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: SCT, OS_TEST, FWTS; failed: BSA) : Recommended - (not run: SBSA, SBMR-OOB, SBMR-IB)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: Failed 1", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run" + } + }, + "Suite_Name: BSA": { + "suite_summary": { + "Failed": 1, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 0, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "test_results": [ + { + "Test_suite": "PE", + "test_suite_summary": { + "Failed": 1, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 0, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "testcases": [ + { + "Test_case": "PE_001", + "Test_case_description": "Processing Element architectural compliance", + "Test_case_summary": { + "Failed": 1, + "Not Implemented": 0, + "PAL Not Supported": 0, + "Passed": 0, + "Passed (Partial)": 0, + "Skipped": 0, + "Total Rules Run": 1, + "Total_failed_with_waiver": 0, + "Warnings": 0 + }, + "Test_result": "FAILED" + } + ], + "subtests": [ + { + "sub_test_description": "Synthetic suite-level failure used to test precedence", + "sub_test_name": "synthetic_suite_level_probe", + "sub_test_result": "FAILED" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/25_dt_scmi_failure_populates_scmi_compliance_results/case.log b/common/reports/_work/merge_jsons/merge_jsons/25_dt_scmi_failure_populates_scmi_compliance_results/case.log new file mode 100644 index 00000000..7f926bb9 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/25_dt_scmi_failure_populates_scmi_compliance_results/case.log @@ -0,0 +1,38 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_scmi_failure_populates_scmi_compliance_results +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cf7ab83b +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3556d40> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Compliant: Failed 1 +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cf7ab83b/merged.json contains 'SCMI compliance results' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cf7ab83b/merged.json contains 'Not Compliant : Mandatory - (SCMI)' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cf7ab83b/merged.json contains 'Suite_Name: Extension : SCMI_compliance' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/26_dt_bbsr_compliance_results_are_derived_correctly/case.log b/common/reports/_work/merge_jsons/merge_jsons/26_dt_bbsr_compliance_results_are_derived_correctly/case.log new file mode 100644 index 00000000..0c0adad7 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/26_dt_bbsr_compliance_results_are_derived_correctly/case.log @@ -0,0 +1,37 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_bbsr_compliance_results_are_derived_correctly +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0b7de5e +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3557380> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Compliant +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Compliant: Failed 1 +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +[91mBBSR compliance results: Not Compliant : Mandatory - (not run: BBSR-TPM; failed: BBSR-FWTS)[0m +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0b7de5e/merged.json contains 'BBSR compliance results' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0b7de5e/merged.json contains 'Not Compliant : Mandatory - (not run: BBSR-TPM; failed: BBSR-FWTS)' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/27_dt_bbsr_all_missing_reports_not_run/case.log b/common/reports/_work/merge_jsons/merge_jsons/27_dt_bbsr_all_missing_reports_not_run/case.log new file mode 100644 index 00000000..98d30e51 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/27_dt_bbsr_all_missing_reports_not_run/case.log @@ -0,0 +1,36 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_bbsr_all_missing_reports_not_run +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_21ab5182 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d367dd00> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_21ab5182/merged.json contains '"BBSR compliance results": "Not run"' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/28_dt_bbsr_waiver_only_reports_compliant_with_waivers/case.log b/common/reports/_work/merge_jsons/merge_jsons/28_dt_bbsr_waiver_only_reports_compliant_with_waivers/case.log new file mode 100644 index 00000000..30421e8b --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/28_dt_bbsr_waiver_only_reports_compliant_with_waivers/case.log @@ -0,0 +1,36 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_bbsr_waiver_only_reports_compliant_with_waivers +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_b985e24b +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d35571a0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Compliant +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Compliant +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Compliant with waivers: Waivers 1 +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +[93mBBSR compliance results: Compliant with waivers[0m +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_b985e24b/merged.json contains '"BBSR compliance results": "Compliant with waivers"' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/bad.json b/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/bad.json new file mode 100644 index 00000000..a53c8f3f --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/bad.json @@ -0,0 +1 @@ +{invalid diff --git a/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/case.log b/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/case.log new file mode 100644 index 00000000..975e9325 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/case.log @@ -0,0 +1,28 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::invalid_json_warning_is_emitted_once_per_bad_file +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/bad.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/bad.json is invalid JSON. Skipping. +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/bad.json is invalid JSON. Skipping. +Suite: Recommended: SBMR-OOB: Not Run +Suite: Extension : BBSR-TPM: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-SCT: Not Run +Suite: Recommended: SBSA: Not Run +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Recommended: SBMR-IB: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, BSA, FWTS, OS_TEST) : Recommended - (not run: SBMR-OOB, SBSA, SBMR-IB)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/merged.json b/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/merged.json new file mode 100644 index 00000000..dd9e6f82 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/merged.json @@ -0,0 +1,18 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: SCT, BSA, FWTS, OS_TEST) : Recommended - (not run: SBMR-OOB, SBSA, SBMR-IB)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run" + } + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/2_python_compiles/case.log b/common/reports/_work/merge_jsons/merge_jsons/2_python_compiles/case.log new file mode 100644 index 00000000..bc446f0e --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/acs_info.json b/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/acs_info.json new file mode 100644 index 00000000..247c186e --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/acs_info.json @@ -0,0 +1,5 @@ +{ + "ACS Results Summary": { + "Overall Compliance Result": "Unknown" + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/case.log b/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/case.log new file mode 100644 index 00000000..ff7039d7 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/case.log @@ -0,0 +1,29 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::alternate_ethtool_filename_is_bucketed_under_os_tests +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/acs_info.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/ethtool_test_a.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Recommended: SBMR-IB: Not Run +Suite: Recommended: SBSA: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: OS_TEST, SCT, BSA, FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/merged.json contains 'Suite_Name: OS Tests - ethtool_test_a' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/ethtool_test_a.json b/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/ethtool_test_a.json new file mode 100644 index 00000000..32112065 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/ethtool_test_a.json @@ -0,0 +1,33 @@ +{ + "test_results": [ + { + "Test_suite": "Network", + "Test_suite_description": "Network validation", + "Test_case": "ethtool_test_a", + "Test_case_description": "Ethernet Tool Tests", + "subtests": [ + { + "sub_test_name": "link_up", + "sub_test_description": "Bring interface up", + "sub_test_result": "PASSED" + } + ], + "test_suite_summary": { + "total_passed": 1, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } + } + ], + "suite_summary": { + "total_passed": 1, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/merged.json b/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/merged.json new file mode 100644 index 00000000..8ec127d3 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/merged.json @@ -0,0 +1,52 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: OS_TEST, SCT, BSA, FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : OS_ethtool_test_a_compliance": "Compliant", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run" + } + }, + "Suite_Name: OS Tests - ethtool_test_a": { + "suite_summary": { + "total_aborted": 0, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_passed": 1, + "total_skipped": 0, + "total_warnings": 0 + }, + "test_results": [ + { + "Test_suite": "Network", + "Test_case": "ethtool_test_a", + "Test_case_description": "Ethernet Tool Tests", + "Test_suite_description": "Network validation", + "test_suite_summary": { + "total_aborted": 0, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_passed": 1, + "total_skipped": 0, + "total_warnings": 0 + }, + "subtests": [ + { + "sub_test_description": "Bring interface up", + "sub_test_name": "link_up", + "sub_test_result": "PASSED" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/31_dt_missing_recommended_bsa_is_reported_not_run/case.log b/common/reports/_work/merge_jsons/merge_jsons/31_dt_missing_recommended_bsa_is_reported_not_run/case.log new file mode 100644 index 00000000..70f304c3 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/31_dt_missing_recommended_bsa_is_reported_not_run/case.log @@ -0,0 +1,36 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_missing_recommended_bsa_is_reported_not_run +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cbf59d9a +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d35563e0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +Suite: Mandatory : FWTS: Compliant +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cbf59d9a/merged.json contains 'Suite_Name: Recommended : BSA_compliance' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/32_dt_pfdi_conditional_mandatory_path_is_reported_correctly/case.log b/common/reports/_work/merge_jsons/merge_jsons/32_dt_pfdi_conditional_mandatory_path_is_reported_correctly/case.log new file mode 100644 index 00000000..a371e35c --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/32_dt_pfdi_conditional_mandatory_path_is_reported_correctly/case.log @@ -0,0 +1,36 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_pfdi_conditional_mandatory_path_is_reported_correctly +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_0f49caa3 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d367dbc0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +[91mSuite: Conditional-Mandatory : PFDI: Not Compliant: Failed 1[0m +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT; failed: PFDI) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_0f49caa3/merged.json contains 'Suite_Name: Conditional-Mandatory : PFDI_compliance' -> PASS diff --git a/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/case.log b/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/case.log new file mode 100644 index 00000000..f305afb6 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/case.log @@ -0,0 +1,26 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dict_subtest_result_map_is_counted_using_failed_bucket +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/fwts.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[91mSuite: Mandatory : FWTS: Not Compliant: Failed 1[0m +Suite: Recommended: SBMR-IB: Not Run +Suite: Recommended: SBSA: Not Run +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-TPM: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, OS_TEST, BSA; failed: FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/fwts.json b/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/fwts.json new file mode 100644 index 00000000..f79d0251 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/fwts.json @@ -0,0 +1,34 @@ +{ + "test_results": [ + { + "Test_suite": "uefivar", + "Test_suite_description": "FWTS UEFI variable service checks", + "subtests": [ + { + "sub_test_name": "uefivar_set", + "sub_test_description": "SetVariable write path", + "sub_test_result": { + "FAILED": 1, + "FAILED_WITH_WAIVER": 2 + } + } + ], + "test_suite_summary": { + "total_passed": 0, + "total_failed": 1, + "total_failed_with_waiver": 2, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } + } + ], + "suite_summary": { + "total_passed": 0, + "total_failed": 1, + "total_failed_with_waiver": 2, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/merged.json b/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/merged.json new file mode 100644 index 00000000..9a2efb41 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/merged.json @@ -0,0 +1,52 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: SCT, OS_TEST, BSA; failed: FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: Failed 1", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run" + } + }, + "Suite_Name: FWTS": { + "suite_summary": { + "total_aborted": 0, + "total_failed": 1, + "total_failed_with_waiver": 2, + "total_passed": 0, + "total_skipped": 0, + "total_warnings": 0 + }, + "test_results": [ + { + "Test_suite": "uefivar", + "Test_suite_description": "FWTS UEFI variable service checks", + "test_suite_summary": { + "total_aborted": 0, + "total_failed": 1, + "total_failed_with_waiver": 2, + "total_passed": 0, + "total_skipped": 0, + "total_warnings": 0 + }, + "subtests": [ + { + "sub_test_description": "SetVariable write path", + "sub_test_name": "uefivar_set", + "sub_test_result": { + "FAILED": 1, + "FAILED_WITH_WAIVER": 2 + } + } + ] + } + ] + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/3_has_main_guard/case.log b/common/reports/_work/merge_jsons/merge_jsons/3_has_main_guard/case.log new file mode 100644 index 00000000..2a5b4eaf --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/3_has_main_guard/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found diff --git a/common/reports/_work/merge_jsons/merge_jsons/4_cli_no_args_fails/case.log b/common/reports/_work/merge_jsons/merge_jsons/4_cli_no_args_fails/case.log new file mode 100644 index 00000000..ad43f84e --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/4_cli_no_args_fails/case.log @@ -0,0 +1,15 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_no_args_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 2 +--- STDOUT --- + +--- STDERR --- +usage: merge_jsons.py [-h] output_file json_files [json_files ...] +merge_jsons.py: error: the following arguments are required: output_file, json_files diff --git a/common/reports/_work/merge_jsons/merge_jsons/5_cli_help_flag/case.log b/common/reports/_work/merge_jsons/merge_jsons/5_cli_help_flag/case.log new file mode 100644 index 00000000..27cdccff --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/5_cli_help_flag/case.log @@ -0,0 +1,24 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_help_flag +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py --help +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +usage: merge_jsons.py [-h] output_file json_files [json_files ...] + +Merge suite JSONs + acs_info.json, store compliance lines inside 'ACS Results +Summary' + +positional arguments: + output_file Output merged JSON file + json_files List of JSON files to merge (including acs_info.json if + present) + +options: + -h, --help show this help message and exit +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/6_cli_only_output_arg_fails/case.log b/common/reports/_work/merge_jsons/merge_jsons/6_cli_only_output_arg_fails/case.log new file mode 100644 index 00000000..d73a75d4 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/6_cli_only_output_arg_fails/case.log @@ -0,0 +1,15 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_only_output_arg_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py merged.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 2 +--- STDOUT --- + +--- STDERR --- +usage: merge_jsons.py [-h] output_file json_files [json_files ...] +merge_jsons.py: error: the following arguments are required: json_files diff --git a/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/case.log b/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/case.log new file mode 100644 index 00000000..215b4ff8 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/case.log @@ -0,0 +1,28 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_missing_input_files_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/missing1.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/missing2.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/missing1.json not found. Skipping. +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/missing2.json not found. Skipping. +Suite: Recommended: SBMR-IB: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Recommended: SBSA: Not Run +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: BSA, SCT, OS_TEST, FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/merged.json b/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/merged.json new file mode 100644 index 00000000..31d4e1a4 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/merged.json @@ -0,0 +1,18 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: BSA, SCT, OS_TEST, FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run" + } + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/case.log b/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/case.log new file mode 100644 index 00000000..b07c6478 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/case.log @@ -0,0 +1,26 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_empty_valid_json_input_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/one.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Extension : BBSR-TPM: Not Run +Suite: Recommended: SBMR-IB: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Extension : BBSR-SCT: Not Run +Suite: Recommended: SBSA: Not Run +Suite: Extension : BBSR-FWTS: Not Run +Suite: Recommended: SBMR-OOB: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: BSA, SCT, OS_TEST, FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/merged.json b/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/merged.json new file mode 100644 index 00000000..e8fc601b --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/merged.json @@ -0,0 +1,20 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: BSA, SCT, OS_TEST, FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run", + "Suite_Name: Recommended : Unknown_compliance": "Compliant" + } + }, + "Suite_Name: Unknown": {} +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/one.json b/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/one.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/one.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/bad.json b/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/bad.json new file mode 100644 index 00000000..a53c8f3f --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/bad.json @@ -0,0 +1 @@ +{invalid diff --git a/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/case.log b/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/case.log new file mode 100644 index 00000000..a4d52adc --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/case.log @@ -0,0 +1,29 @@ +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_invalid_json_and_missing_file_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/bad.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/missing.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/bad.json is invalid JSON. Skipping. +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/bad.json is invalid JSON. Skipping. +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/missing.json not found. Skipping. +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-SCT: Not Run +Suite: Recommended: SBMR-IB: Not Run +Suite: Extension : BBSR-TPM: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Recommended: SBSA: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: OS_TEST, SCT, BSA, FWTS) : Recommended - (not run: SBMR-IB, SBMR-OOB, SBSA)[0m + +BBSR compliance results: Not run +--- STDERR --- diff --git a/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/merged.json b/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/merged.json new file mode 100644 index 00000000..b63fe1c2 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/merged.json @@ -0,0 +1,18 @@ +{ + "Suite_Name: acs_info": { + "ACS Results Summary": { + "BBSR compliance results": "Not run", + "Overall Compliance Result": "Not Compliant : Mandatory - (not run: OS_TEST, SCT, BSA, FWTS) : Recommended - (not run: SBMR-IB, SBMR-OOB, SBSA)", + "Suite_Name: Extension : BBSR-FWTS_compliance": "Not Run", + "Suite_Name: Extension : BBSR-SCT_compliance": "Not Run", + "Suite_Name: Extension : BBSR-TPM_compliance": "Not Run", + "Suite_Name: Mandatory : BSA_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : FWTS_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : OS_TEST_compliance": "Not Compliant: not run", + "Suite_Name: Mandatory : SCT_compliance": "Not Compliant: not run", + "Suite_Name: Recommended : SBMR-IB_compliance": "Not Run", + "Suite_Name: Recommended : SBMR-OOB_compliance": "Not Run", + "Suite_Name: Recommended : SBSA_compliance": "Not Run" + } + } +} \ No newline at end of file diff --git a/common/reports/_work/merge_jsons/merge_jsons/combined.log b/common/reports/_work/merge_jsons/merge_jsons/combined.log new file mode 100644 index 00000000..6e3c2607 --- /dev/null +++ b/common/reports/_work/merge_jsons/merge_jsons/combined.log @@ -0,0 +1,916 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:28 +YAML: common/test_yaml/merge-jsons.yaml +SUITE: merge_jsons +TARGETS: common/log_parser/merge_jsons.py +==================================================================================================== + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_no_args_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 2 +--- STDOUT --- + +--- STDERR --- +usage: merge_jsons.py [-h] output_file json_files [json_files ...] +merge_jsons.py: error: the following arguments are required: output_file, json_files + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_help_flag +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py --help +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +usage: merge_jsons.py [-h] output_file json_files [json_files ...] + +Merge suite JSONs + acs_info.json, store compliance lines inside 'ACS Results +Summary' + +positional arguments: + output_file Output merged JSON file + json_files List of JSON files to merge (including acs_info.json if + present) + +options: + -h, --help show this help message and exit +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_only_output_arg_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py merged.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 2 +--- STDOUT --- + +--- STDERR --- +usage: merge_jsons.py [-h] output_file json_files [json_files ...] +merge_jsons.py: error: the following arguments are required: json_files + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_missing_input_files_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/missing1.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/missing2.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/missing1.json not found. Skipping. +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/7_cli_missing_input_files_returns_zero/missing2.json not found. Skipping. +Suite: Recommended: SBMR-IB: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Recommended: SBSA: Not Run +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: BSA, SCT, OS_TEST, FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)[0m + +BBSR compliance results: Not run +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_empty_valid_json_input_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/8_cli_with_empty_valid_json_input_returns_zero/one.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Extension : BBSR-TPM: Not Run +Suite: Recommended: SBMR-IB: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Extension : BBSR-SCT: Not Run +Suite: Recommended: SBSA: Not Run +Suite: Extension : BBSR-FWTS: Not Run +Suite: Recommended: SBMR-OOB: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: BSA, SCT, OS_TEST, FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)[0m + +BBSR compliance results: Not run +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_invalid_json_and_missing_file_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/bad.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/missing.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/bad.json is invalid JSON. Skipping. +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/bad.json is invalid JSON. Skipping. +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/9_cli_with_invalid_json_and_missing_file_returns_zero/missing.json not found. Skipping. +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-SCT: Not Run +Suite: Recommended: SBMR-IB: Not Run +Suite: Extension : BBSR-TPM: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Recommended: SBSA: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: OS_TEST, SCT, BSA, FWTS) : Recommended - (not run: SBMR-IB, SBMR-OOB, SBSA)[0m + +BBSR compliance results: Not run +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_acs_info_only_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/10_cli_with_acs_info_only_returns_zero/acs_info.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Recommended: SBSA: Not Run +Suite: Extension : BBSR-TPM: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Recommended: SBMR-IB: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, OS_TEST, FWTS, BSA) : Recommended - (not run: SBSA, SBMR-OOB, SBMR-IB)[0m + +BBSR compliance results: Not run +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_acs_info_and_fwts_json_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/acs_info.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/11_cli_with_acs_info_and_fwts_json_returns_zero/fwts.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Recommended: SBSA: Not Run +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-TPM: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : FWTS: Not Compliant: Failed 1[0m +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Recommended: SBMR-IB: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, BSA, OS_TEST; failed: FWTS) : Recommended - (not run: SBSA, SBMR-OOB, SBMR-IB)[0m + +BBSR compliance results: Not run +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_bsa_json_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/12_cli_with_bsa_json_returns_zero/bsa.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Extension : BBSR-TPM: Not Run +Suite: Extension : BBSR-FWTS: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: Failed 1[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Recommended: SBMR-IB: Not Run +Suite: Recommended: SBSA: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: FWTS, SCT, OS_TEST; failed: BSA) : Recommended - (not run: SBMR-OOB, SBMR-IB, SBSA)[0m + +BBSR compliance results: Not run +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::cli_with_multiple_suite_jsons_returns_zero +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/acs_info.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/bsa.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/fwts.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/13_cli_with_multiple_suite_jsons_returns_zero/scmi.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Extension : BBSR-SCT: Not Run +Suite: Recommended: SBMR-IB: Not Run +Suite: Extension : BBSR-TPM: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Recommended: SBMR-OOB: Not Run +Suite: Mandatory : BSA: Compliant +Suite: Extension : BBSR-FWTS: Not Run +Suite: Recommended: SBSA: Not Run +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Mandatory : FWTS: Compliant with waivers: Waivers 1 + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, OS_TEST) : Recommended - (not run: SBMR-IB, SBMR-OOB, SBSA)[0m + +BBSR compliance results: Not run +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::sbsa_present_is_promoted_to_mandatory_in_sr +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/acs_info.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/14_sbsa_present_is_promoted_to_mandatory_in_sr/sbsa.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Recommended: SBMR-IB: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-TPM: Not Run +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : SBSA: Not Compliant: Failed 1[0m +Suite: Extension : BBSR-SCT: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: FWTS, SCT, BSA, OS_TEST; failed: SBSA) : Recommended - (not run: SBMR-IB, SBMR-OOB)[0m + +BBSR compliance results: Not run +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/acs_info.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/15_sbmr_ib_presence_promotes_missing_oob_to_mandatory_in_sr/sbmr_ib.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : SBMR-OOB: Not Compliant: not run[0m +Suite: Recommended: SBSA: Not Run +Suite: Mandatory : SBMR-IB: Compliant +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-SCT: Not Run +Suite: Extension : BBSR-TPM: Not Run +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: OS_TEST, SBMR-OOB, SCT, BSA, FWTS) : Recommended - (not run: SBSA)[0m + +BBSR compliance results: Not run +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_three_per_os_ethtool_jsons_get_separate_mandatory_labels +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3672ca0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Mandatory : OS_ethtool_test_linux-Fedora-40: Compliant +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +Suite: Mandatory : OS_ethtool_test_linux-ubuntu-24: Compliant +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Mandatory : OS_ethtool_test_linux-Tumbleweed: Compliant +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_empty: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: OS Tests - ethtool_test_linux-Fedora-40' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: OS Tests - ethtool_test_linux-Tumbleweed' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: OS Tests - ethtool_test_linux-ubuntu-24' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: Mandatory : OS_ethtool_test_linux-Fedora-40_compliance' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: Mandatory : OS_ethtool_test_linux-Tumbleweed_compliance' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: Mandatory : OS_ethtool_test_linux-ubuntu-24_compliance' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0392819/merged.json contains 'Suite_Name: Mandatory : OS_TEST_compliance' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_standalone_entry_is_enriched_from_test_categorydt +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_387ba521 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d35574c0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +Suite: Mandatory : DT_VALIDATE: Compliant +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_387ba521/merged.json contains '"Waivable": "yes"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_387ba521/merged.json contains '"SRS scope": "Required"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_387ba521/merged.json contains '"Main Readiness Grouping": "boot readiness"' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_387ba521/merged.json contains '"Test_suite_info"' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_ethtool_test_json_is_collapsed_under_standalone +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_948a8410 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3555760> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +Suite: Mandatory : ETHTOOL_TEST: Compliant +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_948a8410/merged.json contains 'Suite_Name: Standalone' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_948a8410/merged.json contains '"Test_case": "ethtool_test"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_948a8410/merged.json contains 'Suite_Name: Mandatory : ETHTOOL_TEST_compliance' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_948a8410/merged.json contains 'Suite_Name: Ethtool Test' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_missing_recommended_suite_makes_overall_not_compliant +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_190112aa +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3555bc0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +Suite: Mandatory : FWTS: Compliant + +[91mSRS requirements compliance result: Not Compliant : Recommended - (not run: BSA)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_190112aa/merged.json contains '"Suite_Name: Recommended : BSA_compliance": "Not Compliant: not run"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_190112aa/merged.json contains '"Overall Compliance Result": "Not Compliant : Recommended - (not run: BSA)"' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_recommended_failure_does_not_change_overall_compliance +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c3a08833 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d35553a0> +Exit code: 0 +--- STDOUT --- +Suite: Recommended: BSA: Not Compliant: Failed 1 +Suite: Mandatory : FWTS: Compliant + +[32mSRS requirements compliance result: Compliant[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c3a08833/merged.json contains '"Suite_Name: Recommended : BSA_compliance": "Not Compliant: Failed 1"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c3a08833/merged.json contains '"Overall Compliance Result": "Compliant"' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::sr_missing_recommended_suite_is_reported_not_run_without_failing_overall +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4cd511d2 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3556660> +Exit code: 0 +--- STDOUT --- +Suite: Recommended: SBSA: Not Run +Suite: Mandatory : FWTS: Compliant + +[32mSRS requirements compliance result: Compliant[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4cd511d2/merged.json contains '"Suite_Name: Recommended : SBSA_compliance": "Not Run"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_4cd511d2/merged.json contains '"Overall Compliance Result": "Compliant"' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_missing_conditional_mandatory_suite_is_reported_not_run_without_failing_overall +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8b05f280 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3554860> +Exit code: 0 +--- STDOUT --- +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Mandatory : FWTS: Compliant + +[32mSRS requirements compliance result: Compliant[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8b05f280/merged.json contains '"Suite_Name: Conditional-Mandatory : PFDI_compliance": "Not Run"' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_8b05f280/merged.json contains '"Overall Compliance Result": "Compliant"' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::standalone_entries_are_collapsed_under_single_standalone_section +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3554d60> +Exit code: 0 +--- STDOUT --- +Suite: Recommended: RUNTIME_DEV_MAP: Compliant +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +Suite: Mandatory : DT_VALIDATE: Compliant +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64/merged.json contains 'Suite_Name: Standalone' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64/merged.json contains 'DTValidation' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64/merged.json contains 'EBBR requirements' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64/merged.json contains 'Suite_Name: DT Validate' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_91722a64/merged.json contains 'Suite_Name: Runtime device mapping' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::testcase_and_subtest_failures_are_not_double_counted +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/24_testcase_and_subtest_failures_are_not_double_counted/bsa.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Suite: Extension : BBSR-SCT: Not Run +Suite: Extension : BBSR-TPM: Not Run +Suite: Recommended: SBSA: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: Failed 1[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Recommended: SBMR-IB: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, OS_TEST, FWTS; failed: BSA) : Recommended - (not run: SBSA, SBMR-OOB, SBMR-IB)[0m + +BBSR compliance results: Not run +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_scmi_failure_populates_scmi_compliance_results +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cf7ab83b +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3556d40> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Compliant: Failed 1 +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cf7ab83b/merged.json contains 'SCMI compliance results' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cf7ab83b/merged.json contains 'Not Compliant : Mandatory - (SCMI)' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cf7ab83b/merged.json contains 'Suite_Name: Extension : SCMI_compliance' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_bbsr_compliance_results_are_derived_correctly +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0b7de5e +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d3557380> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Compliant +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Compliant: Failed 1 +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +[91mBBSR compliance results: Not Compliant : Mandatory - (not run: BBSR-TPM; failed: BBSR-FWTS)[0m +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0b7de5e/merged.json contains 'BBSR compliance results' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_c0b7de5e/merged.json contains 'Not Compliant : Mandatory - (not run: BBSR-TPM; failed: BBSR-FWTS)' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_bbsr_all_missing_reports_not_run +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_21ab5182 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d367dd00> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_21ab5182/merged.json contains '"BBSR compliance results": "Not run"' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_bbsr_waiver_only_reports_compliant_with_waivers +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_b985e24b +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d35571a0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Compliant +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Compliant +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Compliant with waivers: Waivers 1 +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +[93mBBSR compliance results: Compliant with waivers[0m +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_b985e24b/merged.json contains '"BBSR compliance results": "Compliant with waivers"' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::invalid_json_warning_is_emitted_once_per_bad_file +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/bad.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/bad.json is invalid JSON. Skipping. +Warning: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/29_invalid_json_warning_is_emitted_once_per_bad_file/bad.json is invalid JSON. Skipping. +Suite: Recommended: SBMR-OOB: Not Run +Suite: Extension : BBSR-TPM: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-SCT: Not Run +Suite: Recommended: SBSA: Not Run +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Recommended: SBMR-IB: Not Run + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, BSA, FWTS, OS_TEST) : Recommended - (not run: SBMR-OOB, SBSA, SBMR-IB)[0m + +BBSR compliance results: Not run +--- STDERR --- + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::alternate_ethtool_filename_is_bucketed_under_os_tests +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/acs_info.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/ethtool_test_a.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Recommended: SBMR-IB: Not Run +Suite: Recommended: SBSA: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: OS_TEST, SCT, BSA, FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/30_alternate_ethtool_filename_is_bucketed_under_os_tests/merged.json contains 'Suite_Name: OS Tests - ethtool_test_a' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_missing_recommended_bsa_is_reported_not_run +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cbf59d9a +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d35563e0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +Suite: Conditional-Mandatory : PFDI: Not Run +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +Suite: Mandatory : FWTS: Compliant +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, SCT) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_cbf59d9a/merged.json contains 'Suite_Name: Recommended : BSA_compliance' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dt_pfdi_conditional_mandatory_path_is_reported_correctly +STATUS: PASS +MESSAGE: Module main() check passed + +Temp dir: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_0f49caa3 +Patched constant: main=._run_merge_jsons_module_main at 0x71e5d367dbc0> +Exit code: 0 +--- STDOUT --- +[91mSuite: Recommended: RUNTIME_DEV_MAP: Not Compliant: not run[0m +Suite: Extension : SCMI: Not Run +[91mSuite: Recommended: PSCI: Not Compliant: not run[0m +[91mSuite: Recommended: POST_SCRIPT: Not Compliant: not run[0m +Suite: Extension : BBSR-TPM: Not Run +[91mSuite: Conditional-Mandatory : PFDI: Not Compliant: Failed 1[0m +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : DT_VALIDATE: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +[91mSuite: Recommended: SMBIOS: Not Compliant: not run[0m +[91mSuite: Recommended: BSA: Not Compliant: not run[0m +[91mSuite: Mandatory : ETHTOOL_TEST: Not Compliant: not run[0m +[91mSuite: Mandatory : READ_WRITE_CHECK_BLK_DEVICES: Not Compliant: not run[0m +[91mSuite: Mandatory : Capsule Update: Not Compliant: not run[0m +[91mSuite: Recommended: DT_KSELFTEST: Not Compliant: not run[0m +[91mSuite: Mandatory : FWTS: Not Compliant: not run[0m +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +Suite: Extension : BBSR-FWTS: Not Run +[91mSuite: Recommended: NETWORK_BOOT: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: DT_VALIDATE, OS_TEST, ETHTOOL_TEST, READ_WRITE_CHECK_BLK_DEVICES, Capsule Update, FWTS, SCT; failed: PFDI) : Recommended - (not run: RUNTIME_DEV_MAP, PSCI, POST_SCRIPT, SMBIOS, BSA, DT_KSELFTEST, NETWORK_BOOT)[0m + +BBSR compliance results: Not run +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_runner_work/runner_env_0f49caa3/merged.json contains 'Suite_Name: Conditional-Mandatory : PFDI_compliance' -> PASS + +================================================================================ +TEST CASE: merge_jsons::merge_jsons.py::dict_subtest_result_map_is_counted_using_failed_bucket +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_jsons.py /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/merged.json /home/vepav01/arm-systemready/common/reports/_work/merge_jsons/merge_jsons/33_dict_subtest_result_map_is_counted_using_failed_bucket/fwts.json +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +[91mSuite: Mandatory : FWTS: Not Compliant: Failed 1[0m +Suite: Recommended: SBMR-IB: Not Run +Suite: Recommended: SBSA: Not Run +Suite: Extension : BBSR-FWTS: Not Run +Suite: Extension : BBSR-TPM: Not Run +Suite: Recommended: SBMR-OOB: Not Run +[91mSuite: Mandatory : SCT: Not Compliant: not run[0m +[91mSuite: Mandatory : OS_TEST: Not Compliant: not run[0m +Suite: Extension : BBSR-SCT: Not Run +[91mSuite: Mandatory : BSA: Not Compliant: not run[0m + +[91mSRS requirements compliance result: Not Compliant : Mandatory - (not run: SCT, OS_TEST, BSA; failed: FWTS) : Recommended - (not run: SBMR-IB, SBSA, SBMR-OOB)[0m + +BBSR compliance results: Not run +--- STDERR --- + diff --git a/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/acs_summary.html b/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/acs_summary.html new file mode 100644 index 00000000..4200d755 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/acs_summary.html @@ -0,0 +1,11 @@ + + +Summary + + + + +OS Tests Test Summary

    OS Tests Test Summary

    Result Summary

    StatusTotal
    Passed1
    OS tests payload marker
    + + + \ No newline at end of file diff --git a/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/case.log b/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/case.log new file mode 100644 index 00000000..e030ffd1 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_handles_empty_first_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/empty_bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/os_tests_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/acs_summary.html contains 'OS tests payload marker' -> PASS diff --git a/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/empty_bsa_summary.html b/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/empty_bsa_summary.html new file mode 100644 index 00000000..e69de29b diff --git a/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/os_tests_summary.html b/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/os_tests_summary.html new file mode 100644 index 00000000..d087e2b8 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/os_tests_summary.html @@ -0,0 +1,2 @@ + +OS Tests Test Summary

    OS Tests Test Summary

    Result Summary

    StatusTotal
    Passed1
    OS tests payload marker
    diff --git a/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/acs_summary.html b/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/acs_summary.html new file mode 100644 index 00000000..a2bfeee7 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/acs_summary.html @@ -0,0 +1,9 @@ + + +Summary + + + + + + \ No newline at end of file diff --git a/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/case.log b/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/case.log new file mode 100644 index 00000000..9a78bdc1 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_handles_both_inputs_empty +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/empty_bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/empty_fwts_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/acs_summary.html -> PASS diff --git a/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/empty_bsa_summary.html b/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/empty_bsa_summary.html new file mode 100644 index 00000000..e69de29b diff --git a/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/empty_fwts_summary.html b/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/empty_fwts_summary.html new file mode 100644 index 00000000..e69de29b diff --git a/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/bsa_summary.html b/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/bsa_summary.html new file mode 100644 index 00000000..80cfa87e --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/bsa_summary.html @@ -0,0 +1,2 @@ + +BSA Test Summary

    BSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    BSA missing-second marker
    diff --git a/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/case.log b/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/case.log new file mode 100644 index 00000000..226b7414 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/case.log @@ -0,0 +1,23 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_missing_second_input_fails_even_if_first_exists +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/fwts_summary_missing.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 51, in + merge_files(args.input_file_paths, args.merged_file_path) + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 29, in merge_files + file_extension, content = read_file(file_path) + ^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 22, in read_file + with open(file_path, "r") as file: + ^^^^^^^^^^^^^^^^^^^^ +FileNotFoundError: [Errno 2] No such file or directory: '/home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/fwts_summary_missing.html' diff --git a/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html b/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html new file mode 100644 index 00000000..74d5a349 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html @@ -0,0 +1,13 @@ + + +Summary + + + +BSA Test Summary

    BSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    BSA fresh marker
    + + +FWTS Test Summary

    FWTS Test Summary

    Result Summary

    StatusTotal
    Failed1
    FWTS fresh marker
    + + + \ No newline at end of file diff --git a/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/bsa_summary.html b/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/bsa_summary.html new file mode 100644 index 00000000..6180bb62 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/bsa_summary.html @@ -0,0 +1,2 @@ + +BSA Test Summary

    BSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    BSA fresh marker
    diff --git a/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/case.log b/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/case.log new file mode 100644 index 00000000..d78a21ba --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/case.log @@ -0,0 +1,18 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_overwrites_existing_output_file +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/fwts_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html contains 'BSA fresh marker' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html contains 'FWTS fresh marker' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html contains 'stale ACS summary content' -> PASS diff --git a/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/fwts_summary.html b/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/fwts_summary.html new file mode 100644 index 00000000..52b6a46a --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/fwts_summary.html @@ -0,0 +1,2 @@ + +FWTS Test Summary

    FWTS Test Summary

    Result Summary

    StatusTotal
    Failed1
    FWTS fresh marker
    diff --git a/common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/case.log b/common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/case.log new file mode 100644 index 00000000..5870de9e --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/case.log @@ -0,0 +1,24 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_binary_or_non_utf8_input_fails_cleanly +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/corrupt_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 51, in + merge_files(args.input_file_paths, args.merged_file_path) + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 29, in merge_files + file_extension, content = read_file(file_path) + ^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 23, in read_file + return file_extension, file.read() + ^^^^^^^^^^^ + File "", line 322, in decode +UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte diff --git a/common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/corrupt_summary.html b/common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/corrupt_summary.html new file mode 100644 index 00000000..ce542efa --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/corrupt_summary.html @@ -0,0 +1 @@ +ÿ \ No newline at end of file diff --git a/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/bsa_summary.html b/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/bsa_summary.html new file mode 100644 index 00000000..656c697f --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/bsa_summary.html @@ -0,0 +1,2 @@ + +BSA Test Summary

    BSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    BSA output-path marker
    diff --git a/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/case.log b/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/case.log new file mode 100644 index 00000000..dc675218 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/case.log @@ -0,0 +1,20 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_output_parent_directory_missing_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/missing_dir/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 51, in + merge_files(args.input_file_paths, args.merged_file_path) + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 33, in merge_files + with open(merged_file_path, "w") as merged_file: + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +FileNotFoundError: [Errno 2] No such file or directory: '/home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/missing_dir/acs_summary.html' diff --git a/common/reports/_work/merge_summary/merge_summary/1_file_exists/case.log b/common/reports/_work/merge_summary/merge_summary/1_file_exists/case.log new file mode 100644 index 00000000..919057b0 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/merge_summary/merge_summary/2_python_compiles/case.log b/common/reports/_work/merge_summary/merge_summary/2_python_compiles/case.log new file mode 100644 index 00000000..167ac5ff --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/merge_summary/merge_summary/3_has_main_guard/case.log b/common/reports/_work/merge_summary/merge_summary/3_has_main_guard/case.log new file mode 100644 index 00000000..df748f9c --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/3_has_main_guard/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found diff --git a/common/reports/_work/merge_summary/merge_summary/4_cli_no_args_fails/case.log b/common/reports/_work/merge_summary/merge_summary/4_cli_no_args_fails/case.log new file mode 100644 index 00000000..19172926 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/4_cli_no_args_fails/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_no_args_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 2 +--- STDOUT --- + +--- STDERR --- +usage: merge_summary.py [-h] + input_file_paths [input_file_paths ...] + merged_file_path +merge_summary.py: error: the following arguments are required: input_file_paths, merged_file_path diff --git a/common/reports/_work/merge_summary/merge_summary/5_cli_one_arg_fails/case.log b/common/reports/_work/merge_summary/merge_summary/5_cli_one_arg_fails/case.log new file mode 100644 index 00000000..77fc557d --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/5_cli_one_arg_fails/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_one_arg_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/5_cli_one_arg_fails/bsa_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 2 +--- STDOUT --- + +--- STDERR --- +usage: merge_summary.py [-h] + input_file_paths [input_file_paths ...] + merged_file_path +merge_summary.py: error: the following arguments are required: merged_file_path diff --git a/common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/case.log b/common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/case.log new file mode 100644 index 00000000..3858ccfa --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/case.log @@ -0,0 +1,23 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_missing_input_file_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/missing_bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/missing_fwts_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 51, in + merge_files(args.input_file_paths, args.merged_file_path) + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 29, in merge_files + file_extension, content = read_file(file_path) + ^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 22, in read_file + with open(file_path, "r") as file: + ^^^^^^^^^^^^^^^^^^^^ +FileNotFoundError: [Errno 2] No such file or directory: '/home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/missing_bsa_summary.html' diff --git a/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/acs_summary.html b/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/acs_summary.html new file mode 100644 index 00000000..7ea9a861 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/acs_summary.html @@ -0,0 +1,13 @@ + + +Summary + + + +BSA Test Summary

    BSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    BSA merge marker
    + + +FWTS Test Summary

    FWTS Test Summary

    Result Summary

    StatusTotal
    Failed1
    FWTS merge marker
    + + + \ No newline at end of file diff --git a/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/bsa_summary.html b/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/bsa_summary.html new file mode 100644 index 00000000..97f6676b --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/bsa_summary.html @@ -0,0 +1,2 @@ + +BSA Test Summary

    BSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    BSA merge marker
    diff --git a/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/case.log b/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/case.log new file mode 100644 index 00000000..4c5e7b17 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/case.log @@ -0,0 +1,17 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_merges_two_files_into_output +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/fwts_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_empty: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/acs_summary.html -> PASS +post_check ordered_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/acs_summary.html -> PASS diff --git a/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/fwts_summary.html b/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/fwts_summary.html new file mode 100644 index 00000000..2e75bea5 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/fwts_summary.html @@ -0,0 +1,2 @@ + +FWTS Test Summary

    FWTS Test Summary

    Result Summary

    StatusTotal
    Failed1
    FWTS merge marker
    diff --git a/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_results.log b/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_results.log new file mode 100644 index 00000000..354adc21 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_results.log @@ -0,0 +1,3 @@ +Suite_Name: acs_info + +Overall Compliance Result: Compliant diff --git a/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_summary.html b/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_summary.html new file mode 100644 index 00000000..72e204c0 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_summary.html @@ -0,0 +1,13 @@ + + +Summary + + +Suite_Name: acs_info + +Overall Compliance Result: Compliant + +SCMI compliance results: Compliant + + + \ No newline at end of file diff --git a/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/case.log b/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/case.log new file mode 100644 index 00000000..70aa5e65 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_preserves_blank_lines_during_merge +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_results.log /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/extensions.log /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check regex: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_summary.html matches 'Suite_Name: acs_info\\n\\nOverall Compliance Result: Compliant' -> PASS diff --git a/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/extensions.log b/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/extensions.log new file mode 100644 index 00000000..aa6afed8 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/extensions.log @@ -0,0 +1 @@ +SCMI compliance results: Compliant diff --git a/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/acs_summary.html b/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/acs_summary.html new file mode 100644 index 00000000..f72885d3 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/acs_summary.html @@ -0,0 +1,13 @@ + + +Summary + + + +SBSA Test Summary

    SBSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    SBSA marker
    + + +SCMI Test Summary

    SCMI Test Summary

    Result Summary

    StatusTotal
    Passed1
    SCMI marker
    + + + \ No newline at end of file diff --git a/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/case.log b/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/case.log new file mode 100644 index 00000000..7c46eb40 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/case.log @@ -0,0 +1,16 @@ +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_output_file_is_created_when_inputs_exist +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/sbsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/scmi_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/acs_summary.html -> PASS diff --git a/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/sbsa_summary.html b/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/sbsa_summary.html new file mode 100644 index 00000000..527c477a --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/sbsa_summary.html @@ -0,0 +1,2 @@ + +SBSA Test Summary

    SBSA Test Summary

    Result Summary

    StatusTotal
    Passed1
    SBSA marker
    diff --git a/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/scmi_summary.html b/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/scmi_summary.html new file mode 100644 index 00000000..9cff5fbf --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/scmi_summary.html @@ -0,0 +1,2 @@ + +SCMI Test Summary

    SCMI Test Summary

    Result Summary

    StatusTotal
    Passed1
    SCMI marker
    diff --git a/common/reports/_work/merge_summary/merge_summary/combined.log b/common/reports/_work/merge_summary/merge_summary/combined.log new file mode 100644 index 00000000..d11af9d1 --- /dev/null +++ b/common/reports/_work/merge_summary/merge_summary/combined.log @@ -0,0 +1,257 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:29 +YAML: common/test_yaml/merge-summary.yaml +SUITE: merge_summary +TARGETS: common/log_parser/merge_summary.py +==================================================================================================== + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_no_args_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 2 +--- STDOUT --- + +--- STDERR --- +usage: merge_summary.py [-h] + input_file_paths [input_file_paths ...] + merged_file_path +merge_summary.py: error: the following arguments are required: input_file_paths, merged_file_path + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_one_arg_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/5_cli_one_arg_fails/bsa_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 2 +--- STDOUT --- + +--- STDERR --- +usage: merge_summary.py [-h] + input_file_paths [input_file_paths ...] + merged_file_path +merge_summary.py: error: the following arguments are required: merged_file_path + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_merges_two_files_into_output +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/fwts_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_not_empty: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/acs_summary.html -> PASS +post_check ordered_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/7_cli_merges_two_files_into_output/acs_summary.html -> PASS + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_preserves_blank_lines_during_merge +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_results.log /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/extensions.log /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check regex: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/8_cli_preserves_blank_lines_during_merge/acs_summary.html matches 'Suite_Name: acs_info\\n\\nOverall Compliance Result: Compliant' -> PASS + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_output_file_is_created_when_inputs_exist +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/sbsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/scmi_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/9_cli_output_file_is_created_when_inputs_exist/acs_summary.html -> PASS + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_handles_empty_first_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/empty_bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/os_tests_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/10_cli_handles_empty_first_input/acs_summary.html contains 'OS tests payload marker' -> PASS + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_handles_both_inputs_empty +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/empty_bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/empty_fwts_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/11_cli_handles_both_inputs_empty/acs_summary.html -> PASS + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_overwrites_existing_output_file +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/fwts_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html contains 'BSA fresh marker' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html contains 'FWTS fresh marker' -> PASS +post_check file_not_contains: /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/13_cli_overwrites_existing_output_file/acs_summary.html contains 'stale ACS summary content' -> PASS + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_missing_input_file_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/missing_bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/missing_fwts_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 51, in + merge_files(args.input_file_paths, args.merged_file_path) + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 29, in merge_files + file_extension, content = read_file(file_path) + ^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 22, in read_file + with open(file_path, "r") as file: + ^^^^^^^^^^^^^^^^^^^^ +FileNotFoundError: [Errno 2] No such file or directory: '/home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/6_cli_missing_input_file_fails/missing_bsa_summary.html' + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_missing_second_input_fails_even_if_first_exists +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/fwts_summary_missing.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 51, in + merge_files(args.input_file_paths, args.merged_file_path) + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 29, in merge_files + file_extension, content = read_file(file_path) + ^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 22, in read_file + with open(file_path, "r") as file: + ^^^^^^^^^^^^^^^^^^^^ +FileNotFoundError: [Errno 2] No such file or directory: '/home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/12_cli_missing_second_input_fails_even_if_first_exists/fwts_summary_missing.html' + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_binary_or_non_utf8_input_fails_cleanly +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/corrupt_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/14_cli_binary_or_non_utf8_input_fails_cleanly/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 51, in + merge_files(args.input_file_paths, args.merged_file_path) + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 29, in merge_files + file_extension, content = read_file(file_path) + ^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 23, in read_file + return file_extension, file.read() + ^^^^^^^^^^^ + File "", line 322, in decode +UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte + +================================================================================ +TEST CASE: merge_summary::merge_summary.py::cli_output_parent_directory_missing_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/merge_summary.py /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/bsa_summary.html /home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/missing_dir/acs_summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 51, in + merge_files(args.input_file_paths, args.merged_file_path) + File "/home/vepav01/arm-systemready/common/log_parser/merge_summary.py", line 33, in merge_files + with open(merged_file_path, "w") as merged_file: + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +FileNotFoundError: [Errno 2] No such file or directory: '/home/vepav01/arm-systemready/common/reports/_work/merge_summary/merge_summary/15_cli_output_parent_directory_missing_fails/missing_dir/acs_summary.html' + diff --git a/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/case.log b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/case.log new file mode 100644 index 00000000..24397d35 --- /dev/null +++ b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/case.log @@ -0,0 +1,14 @@ +================================================================================ +TEST CASE: os_tests_json_to_html_specific::json_to_html.py::os_tests_invalid_json_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/os_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/os_test.json /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/detail.html /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- +Error decoding JSON from file /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/os_test.json: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) +No valid JSON data found in input files. +--- STDERR --- diff --git a/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/os_test.json b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/os_test.json new file mode 100755 index 00000000..828e21da --- /dev/null +++ b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/os_test.json @@ -0,0 +1 @@ +{ invalid json diff --git a/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/case.log b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/case.log new file mode 100644 index 00000000..a5fffd03 --- /dev/null +++ b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/case.log @@ -0,0 +1,21 @@ +================================================================================ +TEST CASE: os_tests_json_to_html_specific::json_to_html.py::os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/os_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/os_custom.json /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html contains 'Case 1' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html contains 'INFO' -> PASS +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html contains 'Result Summary' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html contains '1' -> PASS diff --git a/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html new file mode 100644 index 00000000..7d470cfb --- /dev/null +++ b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html @@ -0,0 +1,239 @@ + + + + + OS Tests Test Summary + + + + +

    OS Tests Test Summary

    + + +
    + OS Test Results +
    + + +
    +

    Result Summary

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StatusTotal
    Total Tests1
    Passed0
    Failed1
    Skipped0
    +
    + + + +
    + + + +
    Test Suite: OS Tests
    +
    Description: Unknown status handling
    + + +
    Test Case: Case 1
    + + +
    Description: Unknown subtest result
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Sub Test NumberSub Test DescriptionSub Test ResultReasonWaiver Reason
    1Unknown result object + INFO + + N/A + + N/A +
    + + + +
    Test Suite: Boot Sources
    +
    Description: Check for boot sources
    + + +
    Test Case: Boot Sources for DemoOS
    + + +
    Description: Please review the boot source OS logs for DemoOS - path of Unknown
    + + + + + +
    + + + + \ No newline at end of file diff --git a/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/os_custom.json b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/os_custom.json new file mode 100755 index 00000000..37161109 --- /dev/null +++ b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/os_custom.json @@ -0,0 +1,18 @@ +{ + "os_name": "DemoOS", + "test_results": [ + { + "Test_suite_name": "OS Tests", + "Test_suite_description": "Unknown status handling", + "Test_case": "Case 1", + "Test_case_description": "Unknown subtest result", + "subtests": [ + { + "sub_Test_Number": "1", + "sub_Test_Description": "Unknown result object", + "sub_test_result": {} + } + ] + } + ] +} diff --git a/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html new file mode 100644 index 00000000..b8abbec3 --- /dev/null +++ b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html @@ -0,0 +1,166 @@ + + + + + OS Tests Test Summary + + + + +

    OS Tests Test Summary

    + + + +
    +

    Result Summary

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StatusTotal
    Total Tests1
    Passed0
    Failed1
    Skipped0
    +
    + + + + + \ No newline at end of file diff --git a/common/reports/_work/os_tests_json_to_html_specific/json_to_html/combined.log b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/combined.log new file mode 100644 index 00000000..9ea0fa4c --- /dev/null +++ b/common/reports/_work/os_tests_json_to_html_specific/json_to_html/combined.log @@ -0,0 +1,44 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:25 +YAML: common/test_yaml/json-to-html.yaml +SUITE: os_tests_json_to_html_specific +TARGETS: common/log_parser/os_tests/json_to_html.py +==================================================================================================== + +================================================================================ +TEST CASE: os_tests_json_to_html_specific::json_to_html.py::os_tests_invalid_json_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/os_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/os_test.json /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/detail.html /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- +Error decoding JSON from file /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/1_os_tests_invalid_json_input/os_test.json: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) +No valid JSON data found in input files. +--- STDERR --- + +================================================================================ +TEST CASE: os_tests_json_to_html_specific::json_to_html.py::os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/os_tests/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/os_custom.json /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html contains 'Case 1' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/detail.html contains 'INFO' -> PASS +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html contains 'Result Summary' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/os_tests_json_to_html_specific/json_to_html/2_os_tests_unknown_subtest_is_treated_as_failed_outside_sr_single_mode/summary.html contains '1' -> PASS + diff --git a/common/reports/_work/parser_common/Parser/10_cli_sbsa_enabled_builds_full_command/case.log b/common/reports/_work/parser_common/Parser/10_cli_sbsa_enabled_builds_full_command/case.log new file mode 100644 index 00000000..2722cefb --- /dev/null +++ b/common/reports/_work/parser_common/Parser/10_cli_sbsa_enabled_builds_full_command/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_sbsa_enabled_builds_full_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -sbsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/10_cli_sbsa_enabled_builds_full_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +/bin/sbsa -l 4 --skip skip_a,skip_b -v 2 +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/10_cli_sbsa_enabled_builds_full_command/config.ini b/common/reports/_work/parser_common/Parser/10_cli_sbsa_enabled_builds_full_command/config.ini new file mode 100755 index 00000000..e8029932 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/10_cli_sbsa_enabled_builds_full_command/config.ini @@ -0,0 +1,5 @@ +[SBSA] +automation_sbsa_run = true +sbsa_level = 4 +sbsa_skip_rules = skip_a,skip_b +sbsa_verbose = 2 diff --git a/common/reports/_work/parser_common/Parser/11_cli_sbsa_enabled_with_only_required_flag_prints_base_command/case.log b/common/reports/_work/parser_common/Parser/11_cli_sbsa_enabled_with_only_required_flag_prints_base_command/case.log new file mode 100644 index 00000000..e0d5b592 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/11_cli_sbsa_enabled_with_only_required_flag_prints_base_command/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_sbsa_enabled_with_only_required_flag_prints_base_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -sbsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/11_cli_sbsa_enabled_with_only_required_flag_prints_base_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +/bin/sbsa +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/11_cli_sbsa_enabled_with_only_required_flag_prints_base_command/config.ini b/common/reports/_work/parser_common/Parser/11_cli_sbsa_enabled_with_only_required_flag_prints_base_command/config.ini new file mode 100755 index 00000000..5e4c81b3 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/11_cli_sbsa_enabled_with_only_required_flag_prints_base_command/config.ini @@ -0,0 +1,2 @@ +[SBSA] +automation_sbsa_run = true diff --git a/common/reports/_work/parser_common/Parser/12_cli_fwts_disabled_or_missing_section_returns_message/case.log b/common/reports/_work/parser_common/Parser/12_cli_fwts_disabled_or_missing_section_returns_message/case.log new file mode 100644 index 00000000..7472f4f5 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/12_cli_fwts_disabled_or_missing_section_returns_message/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_fwts_disabled_or_missing_section_returns_message +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -fwts --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/12_cli_fwts_disabled_or_missing_section_returns_message/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +FWTS section is disabled or missing. +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/12_cli_fwts_disabled_or_missing_section_returns_message/config.ini b/common/reports/_work/parser_common/Parser/12_cli_fwts_disabled_or_missing_section_returns_message/config.ini new file mode 100755 index 00000000..d4288966 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/12_cli_fwts_disabled_or_missing_section_returns_message/config.ini @@ -0,0 +1,2 @@ +[AUTOMATION] +config_enabled_for_automation_run = true diff --git a/common/reports/_work/parser_common/Parser/13_cli_fwts_enabled_builds_module_command/case.log b/common/reports/_work/parser_common/Parser/13_cli_fwts_enabled_builds_module_command/case.log new file mode 100644 index 00000000..b9cce911 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/13_cli_fwts_enabled_builds_module_command/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_fwts_enabled_builds_module_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -fwts --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/13_cli_fwts_enabled_builds_module_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +fwts acpi +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/13_cli_fwts_enabled_builds_module_command/config.ini b/common/reports/_work/parser_common/Parser/13_cli_fwts_enabled_builds_module_command/config.ini new file mode 100755 index 00000000..ac9b4e4d --- /dev/null +++ b/common/reports/_work/parser_common/Parser/13_cli_fwts_enabled_builds_module_command/config.ini @@ -0,0 +1,3 @@ +[FWTS] +automation_fwts_run = true +fwts_modules = acpi diff --git a/common/reports/_work/parser_common/Parser/14_cli_fwts_enabled_without_module_prints_base_command/case.log b/common/reports/_work/parser_common/Parser/14_cli_fwts_enabled_without_module_prints_base_command/case.log new file mode 100644 index 00000000..519dda33 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/14_cli_fwts_enabled_without_module_prints_base_command/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_fwts_enabled_without_module_prints_base_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -fwts --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/14_cli_fwts_enabled_without_module_prints_base_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +fwts +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/14_cli_fwts_enabled_without_module_prints_base_command/config.ini b/common/reports/_work/parser_common/Parser/14_cli_fwts_enabled_without_module_prints_base_command/config.ini new file mode 100755 index 00000000..46e66043 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/14_cli_fwts_enabled_without_module_prints_base_command/config.ini @@ -0,0 +1,2 @@ +[FWTS] +automation_fwts_run = true diff --git a/common/reports/_work/parser_common/Parser/15_cli_automation_true_prints_true/case.log b/common/reports/_work/parser_common/Parser/15_cli_automation_true_prints_true/case.log new file mode 100644 index 00000000..ee155186 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/15_cli_automation_true_prints_true/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_true_prints_true +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/15_cli_automation_true_prints_true/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +True +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/15_cli_automation_true_prints_true/config.ini b/common/reports/_work/parser_common/Parser/15_cli_automation_true_prints_true/config.ini new file mode 100755 index 00000000..d4288966 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/15_cli_automation_true_prints_true/config.ini @@ -0,0 +1,2 @@ +[AUTOMATION] +config_enabled_for_automation_run = true diff --git a/common/reports/_work/parser_common/Parser/16_cli_automation_false_prints_false/case.log b/common/reports/_work/parser_common/Parser/16_cli_automation_false_prints_false/case.log new file mode 100644 index 00000000..30821a00 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/16_cli_automation_false_prints_false/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_false_prints_false +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/16_cli_automation_false_prints_false/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +False +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/16_cli_automation_false_prints_false/config.ini b/common/reports/_work/parser_common/Parser/16_cli_automation_false_prints_false/config.ini new file mode 100755 index 00000000..c6ed9b0c --- /dev/null +++ b/common/reports/_work/parser_common/Parser/16_cli_automation_false_prints_false/config.ini @@ -0,0 +1,2 @@ +[AUTOMATION] +config_enabled_for_automation_run = false diff --git a/common/reports/_work/parser_common/Parser/17_cli_automation_missing_section_reports_missing_and_false/case.log b/common/reports/_work/parser_common/Parser/17_cli_automation_missing_section_reports_missing_and_false/case.log new file mode 100644 index 00000000..94051ce9 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/17_cli_automation_missing_section_reports_missing_and_false/case.log @@ -0,0 +1,14 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_missing_section_reports_missing_and_false +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/17_cli_automation_missing_section_reports_missing_and_false/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Section AUTOMATION is missing in the configuration file. +False +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/17_cli_automation_missing_section_reports_missing_and_false/config.ini b/common/reports/_work/parser_common/Parser/17_cli_automation_missing_section_reports_missing_and_false/config.ini new file mode 100755 index 00000000..9059982a --- /dev/null +++ b/common/reports/_work/parser_common/Parser/17_cli_automation_missing_section_reports_missing_and_false/config.ini @@ -0,0 +1,2 @@ +[BSA] +automation_bsa_run = true diff --git a/common/reports/_work/parser_common/Parser/18_cli_automation_bsa_run_true_prints_true/case.log b/common/reports/_work/parser_common/Parser/18_cli_automation_bsa_run_true_prints_true/case.log new file mode 100644 index 00000000..bcac2f95 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/18_cli_automation_bsa_run_true_prints_true/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_bsa_run_true_prints_true +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_bsa_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/18_cli_automation_bsa_run_true_prints_true/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +True +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/18_cli_automation_bsa_run_true_prints_true/config.ini b/common/reports/_work/parser_common/Parser/18_cli_automation_bsa_run_true_prints_true/config.ini new file mode 100755 index 00000000..9059982a --- /dev/null +++ b/common/reports/_work/parser_common/Parser/18_cli_automation_bsa_run_true_prints_true/config.ini @@ -0,0 +1,2 @@ +[BSA] +automation_bsa_run = true diff --git a/common/reports/_work/parser_common/Parser/19_cli_automation_bsa_run_missing_section_reports_missing_and_false/case.log b/common/reports/_work/parser_common/Parser/19_cli_automation_bsa_run_missing_section_reports_missing_and_false/case.log new file mode 100644 index 00000000..2c4b1cca --- /dev/null +++ b/common/reports/_work/parser_common/Parser/19_cli_automation_bsa_run_missing_section_reports_missing_and_false/case.log @@ -0,0 +1,14 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_bsa_run_missing_section_reports_missing_and_false +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_bsa_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/19_cli_automation_bsa_run_missing_section_reports_missing_and_false/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Section BSA is missing in the configuration file. +False +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/19_cli_automation_bsa_run_missing_section_reports_missing_and_false/config.ini b/common/reports/_work/parser_common/Parser/19_cli_automation_bsa_run_missing_section_reports_missing_and_false/config.ini new file mode 100755 index 00000000..d4288966 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/19_cli_automation_bsa_run_missing_section_reports_missing_and_false/config.ini @@ -0,0 +1,2 @@ +[AUTOMATION] +config_enabled_for_automation_run = true diff --git a/common/reports/_work/parser_common/Parser/1_file_exists/case.log b/common/reports/_work/parser_common/Parser/1_file_exists/case.log new file mode 100644 index 00000000..0ae30a94 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/1_file_exists/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::file_exists +STATUS: PASS +MESSAGE: File exists diff --git a/common/reports/_work/parser_common/Parser/20_cli_automation_sbsa_run_false_prints_false/case.log b/common/reports/_work/parser_common/Parser/20_cli_automation_sbsa_run_false_prints_false/case.log new file mode 100644 index 00000000..e165bbae --- /dev/null +++ b/common/reports/_work/parser_common/Parser/20_cli_automation_sbsa_run_false_prints_false/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_sbsa_run_false_prints_false +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_sbsa_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/20_cli_automation_sbsa_run_false_prints_false/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +False +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/20_cli_automation_sbsa_run_false_prints_false/config.ini b/common/reports/_work/parser_common/Parser/20_cli_automation_sbsa_run_false_prints_false/config.ini new file mode 100755 index 00000000..732452cb --- /dev/null +++ b/common/reports/_work/parser_common/Parser/20_cli_automation_sbsa_run_false_prints_false/config.ini @@ -0,0 +1,2 @@ +[SBSA] +automation_sbsa_run = false diff --git a/common/reports/_work/parser_common/Parser/21_cli_automation_fwts_run_true_prints_true/case.log b/common/reports/_work/parser_common/Parser/21_cli_automation_fwts_run_true_prints_true/case.log new file mode 100644 index 00000000..f1ba2e39 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/21_cli_automation_fwts_run_true_prints_true/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_fwts_run_true_prints_true +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_fwts_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/21_cli_automation_fwts_run_true_prints_true/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +True +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/21_cli_automation_fwts_run_true_prints_true/config.ini b/common/reports/_work/parser_common/Parser/21_cli_automation_fwts_run_true_prints_true/config.ini new file mode 100755 index 00000000..46e66043 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/21_cli_automation_fwts_run_true_prints_true/config.ini @@ -0,0 +1,2 @@ +[FWTS] +automation_fwts_run = true diff --git a/common/reports/_work/parser_common/Parser/22_cli_automation_bbsr_fwts_run_true_prints_true/case.log b/common/reports/_work/parser_common/Parser/22_cli_automation_bbsr_fwts_run_true_prints_true/case.log new file mode 100644 index 00000000..d57d0408 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/22_cli_automation_bbsr_fwts_run_true_prints_true/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_bbsr_fwts_run_true_prints_true +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_bbsr_fwts_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/22_cli_automation_bbsr_fwts_run_true_prints_true/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +True +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/22_cli_automation_bbsr_fwts_run_true_prints_true/config.ini b/common/reports/_work/parser_common/Parser/22_cli_automation_bbsr_fwts_run_true_prints_true/config.ini new file mode 100755 index 00000000..a00bb933 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/22_cli_automation_bbsr_fwts_run_true_prints_true/config.ini @@ -0,0 +1,2 @@ +[BBSR_FWTS] +automation_bbsr_fwts_run = true diff --git a/common/reports/_work/parser_common/Parser/23_cli_automation_bbsr_tpm_run_false_prints_false/case.log b/common/reports/_work/parser_common/Parser/23_cli_automation_bbsr_tpm_run_false_prints_false/case.log new file mode 100644 index 00000000..d8636726 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/23_cli_automation_bbsr_tpm_run_false_prints_false/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_bbsr_tpm_run_false_prints_false +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_bbsr_tpm_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/23_cli_automation_bbsr_tpm_run_false_prints_false/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +False +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/23_cli_automation_bbsr_tpm_run_false_prints_false/config.ini b/common/reports/_work/parser_common/Parser/23_cli_automation_bbsr_tpm_run_false_prints_false/config.ini new file mode 100755 index 00000000..2e9739d1 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/23_cli_automation_bbsr_tpm_run_false_prints_false/config.ini @@ -0,0 +1,2 @@ +[BBSR_TPM] +automation_bbsr_tpm_run = false diff --git a/common/reports/_work/parser_common/Parser/24_cli_automation_sbmr_in_band_run_true_prints_true/case.log b/common/reports/_work/parser_common/Parser/24_cli_automation_sbmr_in_band_run_true_prints_true/case.log new file mode 100644 index 00000000..a3fac9e5 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/24_cli_automation_sbmr_in_band_run_true_prints_true/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_sbmr_in_band_run_true_prints_true +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_sbmr_in_band_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/24_cli_automation_sbmr_in_band_run_true_prints_true/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +True +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/24_cli_automation_sbmr_in_band_run_true_prints_true/config.ini b/common/reports/_work/parser_common/Parser/24_cli_automation_sbmr_in_band_run_true_prints_true/config.ini new file mode 100755 index 00000000..632ab9f3 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/24_cli_automation_sbmr_in_band_run_true_prints_true/config.ini @@ -0,0 +1,2 @@ +[SBMR] +automation_sbmr_in_band_run = true diff --git a/common/reports/_work/parser_common/Parser/25_cli_invalid_boolean_in_bsa_section_fails/case.log b/common/reports/_work/parser_common/Parser/25_cli_invalid_boolean_in_bsa_section_fails/case.log new file mode 100644 index 00000000..2efabe99 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/25_cli_invalid_boolean_in_bsa_section_fails/case.log @@ -0,0 +1,34 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_invalid_boolean_in_bsa_section_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -bsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/25_cli_invalid_boolean_in_bsa_section_fails/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 159, in + main() + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 122, in main + cmd = process_bsa(config) + ^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 30, in process_bsa + if not config.getboolean('BSA', 'automation_bsa_run', fallback=False): + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 806, in getboolean + return self._get_conv(section, option, self._convert_to_boolean, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 786, in _get_conv + return self._get(section, conv, option, raw=raw, vars=vars, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 781, in _get + return conv(self.get(section, option, **kwargs)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 1146, in _convert_to_boolean + raise ValueError('Not a boolean: %s' % value) +ValueError: Not a boolean: maybe diff --git a/common/reports/_work/parser_common/Parser/25_cli_invalid_boolean_in_bsa_section_fails/config.ini b/common/reports/_work/parser_common/Parser/25_cli_invalid_boolean_in_bsa_section_fails/config.ini new file mode 100755 index 00000000..d7de7eae --- /dev/null +++ b/common/reports/_work/parser_common/Parser/25_cli_invalid_boolean_in_bsa_section_fails/config.ini @@ -0,0 +1,2 @@ +[BSA] +automation_bsa_run = maybe diff --git a/common/reports/_work/parser_common/Parser/26_cli_invalid_boolean_in_automation_check_fails/case.log b/common/reports/_work/parser_common/Parser/26_cli_invalid_boolean_in_automation_check_fails/case.log new file mode 100644 index 00000000..f754fbc2 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/26_cli_invalid_boolean_in_automation_check_fails/case.log @@ -0,0 +1,34 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_invalid_boolean_in_automation_check_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/26_cli_invalid_boolean_in_automation_check_fails/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 159, in + main() + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 134, in main + enabled = check_section_enable(config, 'AUTOMATION', 'config_enabled_for_automation_run') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 97, in check_section_enable + enabled = config.getboolean(section, enabled_key, fallback=False) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 806, in getboolean + return self._get_conv(section, option, self._convert_to_boolean, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 786, in _get_conv + return self._get(section, conv, option, raw=raw, vars=vars, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 781, in _get + return conv(self.get(section, option, **kwargs)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 1146, in _convert_to_boolean + raise ValueError('Not a boolean: %s' % value) +ValueError: Not a boolean: maybe diff --git a/common/reports/_work/parser_common/Parser/26_cli_invalid_boolean_in_automation_check_fails/config.ini b/common/reports/_work/parser_common/Parser/26_cli_invalid_boolean_in_automation_check_fails/config.ini new file mode 100755 index 00000000..f0dc7fd2 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/26_cli_invalid_boolean_in_automation_check_fails/config.ini @@ -0,0 +1,2 @@ +[AUTOMATION] +config_enabled_for_automation_run = maybe diff --git a/common/reports/_work/parser_common/Parser/2_python_compiles/case.log b/common/reports/_work/parser_common/Parser/2_python_compiles/case.log new file mode 100644 index 00000000..609da8e4 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/2_python_compiles/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded diff --git a/common/reports/_work/parser_common/Parser/3_has_main_guard/case.log b/common/reports/_work/parser_common/Parser/3_has_main_guard/case.log new file mode 100644 index 00000000..2f43fd98 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/3_has_main_guard/case.log @@ -0,0 +1,4 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found diff --git a/common/reports/_work/parser_common/Parser/4_cli_help_flag_shows_usage_and_flags/case.log b/common/reports/_work/parser_common/Parser/4_cli_help_flag_shows_usage_and_flags/case.log new file mode 100644 index 00000000..5e1c6a5a --- /dev/null +++ b/common/reports/_work/parser_common/Parser/4_cli_help_flag_shows_usage_and_flags/case.log @@ -0,0 +1,36 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_help_flag_shows_usage_and_flags +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py --help +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +usage: Parser.py [-h] [-bsa] [-sbsa] [-fwts] [-automation] + [-automation_bsa_run] [-automation_sbsa_run] + [-automation_fwts_run] [-automation_bbsr_fwts_run] + [-automation_bbsr_tpm_run] [--config CONFIG] + [-automation_sbmr_in_band_run] + +Config parser + +options: + -h, --help show this help message and exit + -bsa Process BSA section + -sbsa Process SBSA section + -fwts Process FWTS section + -automation Process generic section + -automation_bsa_run Check if BSA is enabled + -automation_sbsa_run Check if SBSA is enabled + -automation_fwts_run Check if FWTS is enabled + -automation_bbsr_fwts_run + Check if BBSR FWTS is enabled + -automation_bbsr_tpm_run + Check if BBSR TPM is enabled + --config CONFIG Path to the config file + -automation_sbmr_in_band_run + Check if SBMR is enabled +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/5_cli_no_args_prints_invalid_command_message/case.log b/common/reports/_work/parser_common/Parser/5_cli_no_args_prints_invalid_command_message/case.log new file mode 100644 index 00000000..22f7c4b0 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/5_cli_no_args_prints_invalid_command_message/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_no_args_prints_invalid_command_message +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Please specify a valid command or use --help for more information. +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/5_cli_no_args_prints_invalid_command_message/config.ini b/common/reports/_work/parser_common/Parser/5_cli_no_args_prints_invalid_command_message/config.ini new file mode 100755 index 00000000..d4288966 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/5_cli_no_args_prints_invalid_command_message/config.ini @@ -0,0 +1,2 @@ +[AUTOMATION] +config_enabled_for_automation_run = true diff --git a/common/reports/_work/parser_common/Parser/6_cli_bsa_disabled_or_missing_section_returns_message/case.log b/common/reports/_work/parser_common/Parser/6_cli_bsa_disabled_or_missing_section_returns_message/case.log new file mode 100644 index 00000000..08a6702f --- /dev/null +++ b/common/reports/_work/parser_common/Parser/6_cli_bsa_disabled_or_missing_section_returns_message/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_bsa_disabled_or_missing_section_returns_message +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -bsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/6_cli_bsa_disabled_or_missing_section_returns_message/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +BSA section is disabled or missing. +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/6_cli_bsa_disabled_or_missing_section_returns_message/config.ini b/common/reports/_work/parser_common/Parser/6_cli_bsa_disabled_or_missing_section_returns_message/config.ini new file mode 100755 index 00000000..d4288966 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/6_cli_bsa_disabled_or_missing_section_returns_message/config.ini @@ -0,0 +1,2 @@ +[AUTOMATION] +config_enabled_for_automation_run = true diff --git a/common/reports/_work/parser_common/Parser/7_cli_bsa_enabled_builds_full_command/case.log b/common/reports/_work/parser_common/Parser/7_cli_bsa_enabled_builds_full_command/case.log new file mode 100644 index 00000000..53e6c2d1 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/7_cli_bsa_enabled_builds_full_command/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_bsa_enabled_builds_full_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -bsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/7_cli_bsa_enabled_builds_full_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +/bin/bsa -l 3 --skip rule1,rule2 -v 1 +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/7_cli_bsa_enabled_builds_full_command/config.ini b/common/reports/_work/parser_common/Parser/7_cli_bsa_enabled_builds_full_command/config.ini new file mode 100755 index 00000000..19b35ff7 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/7_cli_bsa_enabled_builds_full_command/config.ini @@ -0,0 +1,5 @@ +[BSA] +automation_bsa_run = true +bsa_level = 3 +bsa_skip_rules = rule1,rule2 +bsa_verbose = 1 diff --git a/common/reports/_work/parser_common/Parser/8_cli_bsa_enabled_with_only_required_flag_prints_base_command/case.log b/common/reports/_work/parser_common/Parser/8_cli_bsa_enabled_with_only_required_flag_prints_base_command/case.log new file mode 100644 index 00000000..82debd87 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/8_cli_bsa_enabled_with_only_required_flag_prints_base_command/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_bsa_enabled_with_only_required_flag_prints_base_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -bsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/8_cli_bsa_enabled_with_only_required_flag_prints_base_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +/bin/bsa +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/8_cli_bsa_enabled_with_only_required_flag_prints_base_command/config.ini b/common/reports/_work/parser_common/Parser/8_cli_bsa_enabled_with_only_required_flag_prints_base_command/config.ini new file mode 100755 index 00000000..9059982a --- /dev/null +++ b/common/reports/_work/parser_common/Parser/8_cli_bsa_enabled_with_only_required_flag_prints_base_command/config.ini @@ -0,0 +1,2 @@ +[BSA] +automation_bsa_run = true diff --git a/common/reports/_work/parser_common/Parser/9_cli_sbsa_disabled_or_missing_section_returns_message/case.log b/common/reports/_work/parser_common/Parser/9_cli_sbsa_disabled_or_missing_section_returns_message/case.log new file mode 100644 index 00000000..c1dae870 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/9_cli_sbsa_disabled_or_missing_section_returns_message/case.log @@ -0,0 +1,13 @@ +================================================================================ +TEST CASE: parser_common::Parser.py::cli_sbsa_disabled_or_missing_section_returns_message +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -sbsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/9_cli_sbsa_disabled_or_missing_section_returns_message/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +SBSA section is disabled or missing. +--- STDERR --- diff --git a/common/reports/_work/parser_common/Parser/9_cli_sbsa_disabled_or_missing_section_returns_message/config.ini b/common/reports/_work/parser_common/Parser/9_cli_sbsa_disabled_or_missing_section_returns_message/config.ini new file mode 100755 index 00000000..c6ed9b0c --- /dev/null +++ b/common/reports/_work/parser_common/Parser/9_cli_sbsa_disabled_or_missing_section_returns_message/config.ini @@ -0,0 +1,2 @@ +[AUTOMATION] +config_enabled_for_automation_run = false diff --git a/common/reports/_work/parser_common/Parser/combined.log b/common/reports/_work/parser_common/Parser/combined.log new file mode 100644 index 00000000..b8ef6059 --- /dev/null +++ b/common/reports/_work/parser_common/Parser/combined.log @@ -0,0 +1,411 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:29 +YAML: common/test_yaml/parser_common.yaml +SUITE: parser_common +TARGETS: common/parser/Parser.py +==================================================================================================== + +================================================================================ +TEST CASE: parser_common::Parser.py::file_exists +STATUS: PASS +MESSAGE: File exists + +================================================================================ +TEST CASE: parser_common::Parser.py::python_compiles +STATUS: PASS +MESSAGE: Python compilation succeeded + +================================================================================ +TEST CASE: parser_common::Parser.py::has_main_guard +STATUS: PASS +MESSAGE: Main guard found + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_bsa_enabled_builds_full_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -bsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/7_cli_bsa_enabled_builds_full_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +/bin/bsa -l 3 --skip rule1,rule2 -v 1 +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_no_args_prints_invalid_command_message +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Please specify a valid command or use --help for more information. +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_bsa_disabled_or_missing_section_returns_message +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -bsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/6_cli_bsa_disabled_or_missing_section_returns_message/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +BSA section is disabled or missing. +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_help_flag_shows_usage_and_flags +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py --help +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +usage: Parser.py [-h] [-bsa] [-sbsa] [-fwts] [-automation] + [-automation_bsa_run] [-automation_sbsa_run] + [-automation_fwts_run] [-automation_bbsr_fwts_run] + [-automation_bbsr_tpm_run] [--config CONFIG] + [-automation_sbmr_in_band_run] + +Config parser + +options: + -h, --help show this help message and exit + -bsa Process BSA section + -sbsa Process SBSA section + -fwts Process FWTS section + -automation Process generic section + -automation_bsa_run Check if BSA is enabled + -automation_sbsa_run Check if SBSA is enabled + -automation_fwts_run Check if FWTS is enabled + -automation_bbsr_fwts_run + Check if BBSR FWTS is enabled + -automation_bbsr_tpm_run + Check if BBSR TPM is enabled + --config CONFIG Path to the config file + -automation_sbmr_in_band_run + Check if SBMR is enabled +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_bsa_enabled_with_only_required_flag_prints_base_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -bsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/8_cli_bsa_enabled_with_only_required_flag_prints_base_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +/bin/bsa +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_sbsa_enabled_builds_full_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -sbsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/10_cli_sbsa_enabled_builds_full_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +/bin/sbsa -l 4 --skip skip_a,skip_b -v 2 +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_sbsa_disabled_or_missing_section_returns_message +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -sbsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/9_cli_sbsa_disabled_or_missing_section_returns_message/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +SBSA section is disabled or missing. +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_sbsa_enabled_with_only_required_flag_prints_base_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -sbsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/11_cli_sbsa_enabled_with_only_required_flag_prints_base_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +/bin/sbsa +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_fwts_disabled_or_missing_section_returns_message +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -fwts --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/12_cli_fwts_disabled_or_missing_section_returns_message/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +FWTS section is disabled or missing. +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_true_prints_true +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/15_cli_automation_true_prints_true/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +True +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_fwts_enabled_builds_module_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -fwts --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/13_cli_fwts_enabled_builds_module_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +fwts acpi +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_fwts_enabled_without_module_prints_base_command +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -fwts --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/14_cli_fwts_enabled_without_module_prints_base_command/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +fwts +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_false_prints_false +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/16_cli_automation_false_prints_false/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +False +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_missing_section_reports_missing_and_false +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/17_cli_automation_missing_section_reports_missing_and_false/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Section AUTOMATION is missing in the configuration file. +False +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_bsa_run_missing_section_reports_missing_and_false +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_bsa_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/19_cli_automation_bsa_run_missing_section_reports_missing_and_false/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +Section BSA is missing in the configuration file. +False +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_bsa_run_true_prints_true +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_bsa_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/18_cli_automation_bsa_run_true_prints_true/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +True +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_sbsa_run_false_prints_false +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_sbsa_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/20_cli_automation_sbsa_run_false_prints_false/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +False +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_bbsr_tpm_run_false_prints_false +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_bbsr_tpm_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/23_cli_automation_bbsr_tpm_run_false_prints_false/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +False +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_bbsr_fwts_run_true_prints_true +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_bbsr_fwts_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/22_cli_automation_bbsr_fwts_run_true_prints_true/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +True +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_fwts_run_true_prints_true +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_fwts_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/21_cli_automation_fwts_run_true_prints_true/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +True +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_automation_sbmr_in_band_run_true_prints_true +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation_sbmr_in_band_run --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/24_cli_automation_sbmr_in_band_run_true_prints_true/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- +True +--- STDERR --- + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_invalid_boolean_in_bsa_section_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -bsa --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/25_cli_invalid_boolean_in_bsa_section_fails/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 159, in + main() + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 122, in main + cmd = process_bsa(config) + ^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 30, in process_bsa + if not config.getboolean('BSA', 'automation_bsa_run', fallback=False): + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 806, in getboolean + return self._get_conv(section, option, self._convert_to_boolean, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 786, in _get_conv + return self._get(section, conv, option, raw=raw, vars=vars, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 781, in _get + return conv(self.get(section, option, **kwargs)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 1146, in _convert_to_boolean + raise ValueError('Not a boolean: %s' % value) +ValueError: Not a boolean: maybe + +================================================================================ +TEST CASE: parser_common::Parser.py::cli_invalid_boolean_in_automation_check_fails +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/parser/Parser.py -automation --config /home/vepav01/arm-systemready/common/reports/_work/parser_common/Parser/26_cli_invalid_boolean_in_automation_check_fails/config.ini +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 159, in + main() + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 134, in main + enabled = check_section_enable(config, 'AUTOMATION', 'config_enabled_for_automation_run') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/vepav01/arm-systemready/common/parser/Parser.py", line 97, in check_section_enable + enabled = config.getboolean(section, enabled_key, fallback=False) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 806, in getboolean + return self._get_conv(section, option, self._convert_to_boolean, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 786, in _get_conv + return self._get(section, conv, option, raw=raw, vars=vars, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 781, in _get + return conv(self.get(section, option, **kwargs)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/configparser.py", line 1146, in _convert_to_boolean + raise ValueError('Not a boolean: %s' % value) +ValueError: Not a boolean: maybe + diff --git a/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/case.log b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/case.log new file mode 100644 index 00000000..5b6e2929 --- /dev/null +++ b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/case.log @@ -0,0 +1,29 @@ +================================================================================ +TEST CASE: pfdi_json_to_html_specific::json_to_html.py::pfdi_invalid_json_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/pfdi/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/pfdi.json /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/detail.html /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/pfdi/json_to_html.py", line 208, in + main(sys.argv[1], sys.argv[2], sys.argv[3]) + File "/home/vepav01/arm-systemready/common/log_parser/pfdi/json_to_html.py", line 168, in main + data = json.loads(Path(inp_json).read_text()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 346, in loads + return _default_decoder.decode(s) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 337, in decode + obj, end = self.raw_decode(s, idx=_w(s, 0).end()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 353, in raw_decode + obj, end = self.scan_once(s, idx) + ^^^^^^^^^^^^^^^^^^^^^^ +json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) diff --git a/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/pfdi.json b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/pfdi.json new file mode 100755 index 00000000..828e21da --- /dev/null +++ b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/pfdi.json @@ -0,0 +1 @@ +{ invalid json diff --git a/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/case.log b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/case.log new file mode 100644 index 00000000..b4cc68d0 --- /dev/null +++ b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/case.log @@ -0,0 +1,22 @@ +================================================================================ +TEST CASE: pfdi_json_to_html_specific::json_to_html.py::pfdi_nested_waiver_reason_is_promoted_to_subtest +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/pfdi/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/pfdi.json /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html contains 'PFDI' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html contains 'Nested waiver reason' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html contains 'nested waiver detail' -> PASS +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html contains 'Result Summary' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html contains '1' -> PASS diff --git a/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html new file mode 100644 index 00000000..e92c2c63 --- /dev/null +++ b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html @@ -0,0 +1,84 @@ + + + + + + PFDI Test Summary + + +

    PFDI Test Summary

    + + +
    + Chart +
    + + +
    +

    Result Summary

    + + + + + + + + + +
    StatusTotal
    Total Tests1
    Passed1
    Failed0
    Failed with Waiver0
    Aborted0
    Skipped0
    Warnings0
    +
    + + +
    + +
    Test Suite: PFDI
    + + + + + + + + + + + + + + + + + +
    Sub Test NumberDescriptionResultReasonWaiver Reason
    1Nested waiver reason + {'waiver_reason': 'nested waiver detail'} + N/Anested waiver detail
    + +
    + + \ No newline at end of file diff --git a/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/pfdi.json b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/pfdi.json new file mode 100755 index 00000000..0a5fc465 --- /dev/null +++ b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/pfdi.json @@ -0,0 +1,25 @@ +[ + { + "Test_suite": "PFDI", + "subtests": [ + { + "sub_Test_Number": "1", + "sub_Test_Description": "Nested waiver reason", + "sub_test_result": { + "waiver_reason": "nested waiver detail" + } + } + ], + "test_suite_summary": { + "total_passed": 1, + "total_failed": 0, + "total_failed_with_waiver": 0, + "total_aborted": 0, + "total_skipped": 0, + "total_warnings": 0 + } + }, + { + "Suite_summary": "overall" + } +] diff --git a/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html new file mode 100644 index 00000000..06742b0a --- /dev/null +++ b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html @@ -0,0 +1,54 @@ + + + + + + PFDI Test Summary + + +

    PFDI Test Summary

    + + + +
    +

    Result Summary

    + + + + + + + + + +
    StatusTotal
    Total Tests1
    Passed1
    Failed0
    Failed with Waiver0
    Aborted0
    Skipped0
    Warnings0
    +
    + + + \ No newline at end of file diff --git a/common/reports/_work/pfdi_json_to_html_specific/json_to_html/combined.log b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/combined.log new file mode 100644 index 00000000..7dd0feb1 --- /dev/null +++ b/common/reports/_work/pfdi_json_to_html_specific/json_to_html/combined.log @@ -0,0 +1,60 @@ +==================================================================================================== +RUN START: 2026-06-11 09:32:26 +YAML: common/test_yaml/json-to-html.yaml +SUITE: pfdi_json_to_html_specific +TARGETS: common/log_parser/pfdi/json_to_html.py +==================================================================================================== + +================================================================================ +TEST CASE: pfdi_json_to_html_specific::json_to_html.py::pfdi_invalid_json_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/pfdi/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/pfdi.json /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/detail.html /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/1_pfdi_invalid_json_input/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/pfdi/json_to_html.py", line 208, in + main(sys.argv[1], sys.argv[2], sys.argv[3]) + File "/home/vepav01/arm-systemready/common/log_parser/pfdi/json_to_html.py", line 168, in main + data = json.loads(Path(inp_json).read_text()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 346, in loads + return _default_decoder.decode(s) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 337, in decode + obj, end = self.raw_decode(s, idx=_w(s, 0).end()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 353, in raw_decode + obj, end = self.scan_once(s, idx) + ^^^^^^^^^^^^^^^^^^^^^^ +json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) + +================================================================================ +TEST CASE: pfdi_json_to_html_specific::json_to_html.py::pfdi_nested_waiver_reason_is_promoted_to_subtest +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/pfdi/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/pfdi.json /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 0 +--- STDOUT --- + +--- STDERR --- + +--- POST CHECKS --- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html contains 'PFDI' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html contains 'Nested waiver reason' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/detail.html contains 'nested waiver detail' -> PASS +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html contains 'Result Summary' -> PASS +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/pfdi_json_to_html_specific/json_to_html/2_pfdi_nested_waiver_reason_is_promoted_to_subtest/summary.html contains '1' -> PASS + diff --git a/common/reports/_work/post_script_json_to_html_specific/json_to_html/1_post_script_invalid_json_input/case.log b/common/reports/_work/post_script_json_to_html_specific/json_to_html/1_post_script_invalid_json_input/case.log new file mode 100644 index 00000000..1245910b --- /dev/null +++ b/common/reports/_work/post_script_json_to_html_specific/json_to_html/1_post_script_invalid_json_input/case.log @@ -0,0 +1,32 @@ +================================================================================ +TEST CASE: post_script_json_to_html_specific::json_to_html.py::post_script_invalid_json_input +STATUS: PASS +MESSAGE: CLI check passed + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/post_script/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/1_post_script_invalid_json_input/post.json /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/1_post_script_invalid_json_input/detail.html /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/1_post_script_invalid_json_input/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/post_script/json_to_html.py", line 368, in + main() + File "/home/vepav01/arm-systemready/common/log_parser/post_script/json_to_html.py", line 345, in main + data = json.load(jf) + ^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 293, in load + return loads(fp.read(), + ^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/__init__.py", line 346, in loads + return _default_decoder.decode(s) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 337, in decode + obj, end = self.raw_decode(s, idx=_w(s, 0).end()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/json/decoder.py", line 353, in raw_decode + obj, end = self.scan_once(s, idx) + ^^^^^^^^^^^^^^^^^^^^^^ +json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) diff --git a/common/reports/_work/post_script_json_to_html_specific/json_to_html/1_post_script_invalid_json_input/post.json b/common/reports/_work/post_script_json_to_html_specific/json_to_html/1_post_script_invalid_json_input/post.json new file mode 100755 index 00000000..828e21da --- /dev/null +++ b/common/reports/_work/post_script_json_to_html_specific/json_to_html/1_post_script_invalid_json_input/post.json @@ -0,0 +1 @@ +{ invalid json diff --git a/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/case.log b/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/case.log new file mode 100644 index 00000000..e92293bd --- /dev/null +++ b/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/case.log @@ -0,0 +1,61 @@ +================================================================================ +TEST CASE: post_script_json_to_html_specific::json_to_html.py::post_script_failed_with_waiver_is_rendered_separately +STATUS: WARNING +MESSAGE: + +PHASE: expectation_check +CHECK TYPE: expect_exit_code + +EXPECTED: + exit code = 0 + +ACTUAL: + exit code = 1 +-------------------------------------------------------------------------------- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/detail.html -> FAIL +-------------------------------------------------------------------------------- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/detail.html contains 'Post Script' -> FAIL +-------------------------------------------------------------------------------- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/detail.html contains 'Waived failure' -> FAIL +-------------------------------------------------------------------------------- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/detail.html contains 'FAILED WITH WAIVER' -> FAIL +-------------------------------------------------------------------------------- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/detail.html contains 'approved' -> FAIL +-------------------------------------------------------------------------------- +post_check exists: /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/summary.html -> FAIL +-------------------------------------------------------------------------------- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/summary.html contains 'Result Summary' -> FAIL +-------------------------------------------------------------------------------- +post_check file_contains: /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/summary.html contains '1' -> FAIL + +Command: /usr/bin/python3 /home/vepav01/arm-systemready/common/log_parser/post_script/json_to_html.py /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/post.json /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/detail.html /home/vepav01/arm-systemready/common/reports/_work/post_script_json_to_html_specific/json_to_html/2_post_script_failed_with_waiver_is_rendered_separately/summary.html +Shell mode: no +Timeout seconds: 20 +Timed out: no +Exit code: 1 +--- STDOUT --- + +--- STDERR --- +Traceback (most recent call last): + File "/home/vepav01/arm-systemready/common/log_parser/post_script/json_to_html.py", line 368, in + main() + File "/home/vepav01/arm-systemready/common/log_parser/post_script/json_to_html.py", line 362, in main + generate_html(suite_summary, test_results, chart_data, detailed_html_file, is_summary_page=False) + File "/home/vepav01/arm-systemready/common/log_parser/post_script/json_to_html.py", line 324, in generate_html + html_content = template.render( + ^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 1301, in render + self.environment.handle_exception() + File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 936, in handle_exception + raise rewrite_traceback_stack(source=source) + File "