diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a04f7f0062..bdef0a23b3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -84,3 +84,39 @@ repos: entry: ./scripts/check-unused-variables.sh args: [ "-f" ] files: 'platform-configs/.*\.robot$' + + - id: test-ids-check + name: test-ids-check + description: Check if test IDs are valid + language: python + additional_dependencies: + - robotframework + - fire + entry: ./scripts/ci/test_ids/test_ids_legal.py + args: ["id_valid", "--print_invalid"] + files: '^dasharo-.*/.*\.robot$' + pass_filenames: false + + - id: test-os-ids-check + name: test-os-ids-check + description: Check if OS ids in tests are valid + language: python + additional_dependencies: + - robotframework + - fire + entry: ./scripts/ci/test_ids/test_ids_legal.py + args: ["os_valid", "--print_invalid"] + files: '^dasharo-.*/.*\.robot$' + pass_filenames: false + + - id: test-ids-mappings + name: test-ids-mappings + description: Check if test IDs are mappped correctly in test_cases.json + language: python + additional_dependencies: + - robotframework + - fire + entry: ./scripts/ci/test_ids/test_ids_legal.py + args: ["id_mapped", "--print_invalid"] + files: '(^test_cases\.json$|^dasharo-.*/.*\.robot$)' + pass_filenames: false diff --git a/dasharo-compatibility/acpi-driver.robot b/dasharo-compatibility/acpi-driver.robot index c25cc12aef..9251ff92ba 100644 --- a/dasharo-compatibility/acpi-driver.robot +++ b/dasharo-compatibility/acpi-driver.robot @@ -40,7 +40,8 @@ Suite Teardown Run Keyword *** Test Cases *** ACPI001.201 ACPI driver test (Ubuntu) [Documentation] Tests if ACPI drivers can be recognised - Skip If not ${TESTS_IN_UBUNTU_SUPPORT} ACP001.001 not supported + ... Previous IDs: ACPI001.001 + Skip If not ${TESTS_IN_UBUNTU_SUPPORT} ACPI001.201 not supported Boot System Or From Connected Disk ${ENV_ID_UBUNTU} Login To Linux Switch To Root User @@ -63,7 +64,8 @@ ACPI001.201 ACPI driver test (Ubuntu) ACPI001.202 ACPI driver test (Fedora) [Documentation] Tests if ACPI drivers can be recognised - # Skip If not ${TEST_IN_FE} or ACP001.002 not supported + ... Previous IDs: ACPI001.002 + # Skip If not ${TEST_IN_FE} or ACPI001.202 not supported Boot System Or From Connected Disk ${ENV_ID_FEDORA} Login To Linux Switch To Root User diff --git a/dasharo-compatibility/custom-boot-order.robot b/dasharo-compatibility/custom-boot-order.robot index 9d40c9f8c4..a84df532d0 100644 --- a/dasharo-compatibility/custom-boot-order.robot +++ b/dasharo-compatibility/custom-boot-order.robot @@ -10,6 +10,7 @@ Suite Teardown Log Out And Close Connection CBO001.101 Custom Boot Order (EDK2) [Documentation] Check if customization of Boot Order persists and ... correct OS boots. + ... Previous IDs: CBO001.002 Depends On ${TESTS_IN_FIRMWARE_SUPPORT} Power Cycle Into Firmware Setup diff --git a/dasharo-compatibility/custom-network-boot-entries.robot b/dasharo-compatibility/custom-network-boot-entries.robot index 507b0f0639..987798998c 100644 --- a/dasharo-compatibility/custom-network-boot-entries.robot +++ b/dasharo-compatibility/custom-network-boot-entries.robot @@ -26,7 +26,7 @@ Suite Teardown Run Keyword CNB001.201 Only one iPXE in boot menu [Documentation] Check whether the network boot option with iPXE appears ... only once in the boot option list. - ... Previous IDs: CNB001.001 + ... Previous IDs: CNB001.001 CNB001.002 Skip If not ${CUSTOM_NETWORK_BOOT_ENTRIES_SUPPORT} CNB001.201 not supported Skip If not ${TESTS_IN_UBUNTU_SUPPORT} CNB001.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} CNB001.201 not supported diff --git a/dasharo-compatibility/display-ports-and-lcd-support.robot b/dasharo-compatibility/display-ports-and-lcd-support.robot index 3a0b7141c1..e7a01e14fe 100644 --- a/dasharo-compatibility/display-ports-and-lcd-support.robot +++ b/dasharo-compatibility/display-ports-and-lcd-support.robot @@ -23,7 +23,7 @@ Suite Teardown Log Out And Close Connection *** Test Cases *** -DSP001.201 - Internal display in OS (Ubuntu) +DSP001.201 Internal display in OS (Ubuntu) [Documentation] Check whether an internal display is visible in ... Ubuntu. ... Previous IDs: DSP001.002 @@ -32,14 +32,14 @@ DSP001.201 - Internal display in OS (Ubuntu) Skip If "${ENV_ID_UBUNTU}" not in "${TESTED_LINUX_DISTROS}" DSP001.201 not supported Internal Display In OS ${ENV_ID_UBUNTU} -DSP001.202 - Internal display in OS (Fedora) +DSP001.202 Internal display in OS (Fedora) [Documentation] Check whether an internal display is visible in ... Ubuntu. Skip If not ${INTERNAL_LCD_DISPLAY_SUPPORT} DSP001.202 not supported Skip If "${ENV_ID_FEDORA}" not in "${TESTED_LINUX_DISTROS}" DSP003.202 not supported Internal Display In OS ${ENV_ID_FEDORA} -DSP001.301 - Internal display in OS (Windows) +DSP001.301 Internal display in OS (Windows) [Documentation] Check whether an internal display is visible in ... Windows OS. ... Previous IDs: DSP001.003 @@ -49,7 +49,7 @@ DSP001.301 - Internal display in OS (Windows) Login To Windows Check Internal LCD Windows -DSP002.201 - External HDMI display in OS (Ubuntu) +DSP002.201 External HDMI display in OS (Ubuntu) [Documentation] Check whether an external HDMI display is visible in ... Linux OS. An external HDMI display must be provided in ... the platform config. @@ -59,7 +59,7 @@ DSP002.201 - External HDMI display in OS (Ubuntu) Skip If "${ENV_ID_UBUNTU}" not in "${TESTED_LINUX_DISTROS}" DSP002.201 not supported External HDMI Display ${ENV_ID_UBUNTU} -DSP002.202 - External HDMI display in OS (Fedora) +DSP002.202 External HDMI display in OS (Fedora) [Documentation] Check whether an external HDMI display is visible in ... Fedora OS. An external HDMI display must be provided in ... the platform config. @@ -67,7 +67,7 @@ DSP002.202 - External HDMI display in OS (Fedora) Skip If "${ENV_ID_FEDORA}" not in "${TESTED_LINUX_DISTROS}" DSP002.202 not supported External HDMI Display ${ENV_ID_FEDORA} -DSP002.301 - External HDMI display in OS (Windows) +DSP002.301 External HDMI display in OS (Windows) [Documentation] Check whether an external HDMI display is visible in ... Windows OS. An external HDMI display must be provided in ... the platform config. @@ -90,7 +90,7 @@ DSP002.401 External HDMI display in OS (ESXi) Execute Manual Step [3/4] Boot into ESXi and wait for the DCUI to appear Execute Manual Step [4/4] Confirm that the ESXi interface is visible on the external HDMI display -DSP003.201 - External DP display in OS (Ubuntu) +DSP003.201 External DP display in OS (Ubuntu) [Documentation] Check whether an external Display Port is visible in ... Linux OS. An external Display Port must be provided in ... the platform config. @@ -100,7 +100,7 @@ DSP003.201 - External DP display in OS (Ubuntu) Skip If "${ENV_ID_UBUNTU}" not in "${TESTED_LINUX_DISTROS}" DSP001.201 not supported External DP Display In OS ${ENV_ID_UBUNTU} -DSP003.202 - External DP display in OS (Fedora) +DSP003.202 External DP display in OS (Fedora) [Documentation] Check whether an external Display Port is visible in ... Linux OS. An external Display Port must be provided in ... the platform config. @@ -108,7 +108,7 @@ DSP003.202 - External DP display in OS (Fedora) Skip If "${ENV_ID_FEDORA}" not in "${TESTED_LINUX_DISTROS}" DSP003.202 not supported External DP Display In OS ${ENV_ID_FEDORA} -DSP003.301 - External DP display in OS (Windows) +DSP003.301 External DP display in OS (Windows) [Documentation] Check whether an external Display Port is visible in ... Windows OS. An external Display Port must be provided in ... the platform config. diff --git a/dasharo-compatibility/efi.robot b/dasharo-compatibility/efi.robot index ac220113d2..d977a873c4 100644 --- a/dasharo-compatibility/efi.robot +++ b/dasharo-compatibility/efi.robot @@ -40,7 +40,7 @@ EFI001.201 Boot into UEFI OS (Ubuntu) EFI001.301 Boot into UEFI OS (Windows) [Documentation] Boot into Windows 11 OS and check whether there is a ... possibility to identify the system - ... Previous IDs: EFI001.301 + ... Previous IDs: EFI001.002 Skip If not ${TESTS_IN_WINDOWS_SUPPORT} EFI001.301 not supported Power On Login To Windows diff --git a/dasharo-compatibility/sata-detect.robot b/dasharo-compatibility/sata-detect.robot index 71758f3ce5..55adf29be7 100644 --- a/dasharo-compatibility/sata-detect.robot +++ b/dasharo-compatibility/sata-detect.robot @@ -23,6 +23,7 @@ Suite Teardown Run Keyword SAT001.201 SATA support in OS (Ubuntu) [Documentation] This test aims to verify that SATA is detected from OS ... by using smartctl. + ... Previous IDs: SAT001.002 Depends On ${TESTS_IN_FIRMWARE_SUPPORT} Depends On ${TESTS_IN_UBUNTU_SUPPORT} Depends On ${SATA_SUPPORT} diff --git a/dasharo-compatibility/watchdog.robot b/dasharo-compatibility/watchdog.robot index 90022b1460..6b9703fc14 100644 --- a/dasharo-compatibility/watchdog.robot +++ b/dasharo-compatibility/watchdog.robot @@ -108,7 +108,7 @@ WDT004.001 Change watchdog timeout WDT005.001 Watchdog is detected by OS (Ubuntu) [Documentation] Boot into an OS with the watchdog enabled and verify ... that the OS detects and stops the watchdog. - Skip If not ${TESTS_IN_FIRMWARE_SUPPORT} APU002.001 not supported + Skip If not ${TESTS_IN_FIRMWARE_SUPPORT} WDT005.001 not supported Skip If not ${WATCHDOG_SUPPORT} Watchdog tests not supported. Power On ${setup_menu}= Enter Setup Menu Tianocore And Return Construction @@ -134,10 +134,10 @@ WDT005.001 Watchdog is detected by OS (Ubuntu) END Should Be Equal ${platform_has_reset} ${FALSE} -WTD006.001 Watchdog resets platform on kernel crash (Ubuntu 22.04) +WDT006.001 Watchdog resets platform on kernel crash (Ubuntu) [Documentation] Boot into OS with the watchdog enabled, crash the kernel ... and verify that the watchdog resets the machine. - Skip If not ${TESTS_IN_FIRMWARE_SUPPORT} APU002.001 not supported + Skip If not ${TESTS_IN_FIRMWARE_SUPPORT} WDT006.001 not supported Skip If not ${WATCHDOG_SUPPORT} Watchdog tests not supported. Power On ${setup_menu}= Enter Setup Menu Tianocore And Return Construction diff --git a/dasharo-performance/cpu-frequency.robot b/dasharo-performance/cpu-frequency.robot index 870f0c3f7d..198b46f781 100644 --- a/dasharo-performance/cpu-frequency.robot +++ b/dasharo-performance/cpu-frequency.robot @@ -67,7 +67,7 @@ CPF003.201 CPU not stuck on initial frequency (Ubuntu) (AC) CPF004.201 CPU not stuck on initial frequency (Ubuntu) (USB-PD) [Documentation] This test aims to verify whether the mounted CPU does not ... stuck on the initial frequency after booting into the OS. - ... Previous IDs: CPF001.0010 + ... Previous IDs: CPF001.010 Skip If not ${CPU_FREQUENCY_MEASURE} CPF004.201 not supported Skip If not ${TESTS_IN_UBUNTU_SUPPORT} CPF004.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} CPF004.201 not supported diff --git a/dasharo-performance/cpu-performance.robot b/dasharo-performance/cpu-performance.robot index 8765383099..3380fb8295 100644 --- a/dasharo-performance/cpu-performance.robot +++ b/dasharo-performance/cpu-performance.robot @@ -17,7 +17,8 @@ ${DEVIATION_DOWN}= 0.8 CPP001.201 Single Threaded CPU Benchmark (Ubuntu) (AC) [Documentation] Test single threaded performance using phoronix ... test suite, for Ubuntu, while connected to power supply. - Skip If not ${TESTS_IN_UBUNTU_SUPPORT} CPP001.001 not supported + ... Previous IDs: CPP001.001 + Skip If not ${TESTS_IN_UBUNTU_SUPPORT} CPP001.201 not supported Skip If not ${LAPTOP_PLATFORM} The Platform is not a Laptop Skip If not ${AC_CONNECTED} The platform is not connected to AC Power On @@ -32,7 +33,8 @@ CPP001.201 Single Threaded CPU Benchmark (Ubuntu) (AC) CPP001.202 Single Threaded CPU Benchmark (Ubuntu) (Battery) [Documentation] Test single threaded performance using phoronix ... test suite, for Ubuntu, while powered by inbuilt battery. - Skip If not ${TESTS_IN_UBUNTU_SUPPORT} CPP001.002 not supported + ... Previous IDs: CPP001.002 + Skip If not ${TESTS_IN_UBUNTU_SUPPORT} CPP001.202 not supported Skip If not ${LAPTOP_PLATFORM} The Platform is not a Laptop Skip If not ${BATTERY_PRESENT} Battery is not present Skip If ${AC_CONNECTED} The platform is not connected to AC @@ -49,8 +51,9 @@ CPP001.202 Single Threaded CPU Benchmark (Ubuntu) (Battery) CPP002.201 Multi Threaded CPU Benchmark (Ubuntu) (AC) [Documentation] Test multi threaded performance using phoronix ... test suite, for Ubuntu, while connected to power supply. + ... Previous IDs: CPP002.001 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} - Skip If not ${TESTS_IN_UBUNTU_SUPPORT} CPP001.002 not supported + Skip If not ${TESTS_IN_UBUNTU_SUPPORT} CPP002.201 not supported Skip If not ${LAPTOP_PLATFORM} The Platform is not a Laptop Skip If not ${AC_CONNECTED} The platform is not connected to AC Power On @@ -63,7 +66,8 @@ CPP002.201 Multi Threaded CPU Benchmark (Ubuntu) (AC) CPP002.202 Multi Threaded CPU Benchmark (Ubuntu) (Battery) [Documentation] Test multi threaded performance using phoronix ... test suite, for Ubuntu, while powered by inbuilt battery. - Skip If not ${TESTS_IN_UBUNTU_SUPPORT} CPP001.002 not supported + ... Previous IDs: CPP002.002 + Skip If not ${TESTS_IN_UBUNTU_SUPPORT} CPP002.202 not supported Skip If not ${LAPTOP_PLATFORM} The Platform is not a Laptop Skip If not ${BATTERY_PRESENT} Battery not present Skip If ${AC_CONNECTED} AC connected diff --git a/dasharo-performance/cpu-temperature.robot b/dasharo-performance/cpu-temperature.robot index c8e75ab03b..f4efcb1561 100644 --- a/dasharo-performance/cpu-temperature.robot +++ b/dasharo-performance/cpu-temperature.robot @@ -114,7 +114,7 @@ CPT005.201 CPU temperature after stress test (Ubuntu) CPU Temperature After Stress Test Exit From Root User -CPT006.002 CPU temperature after stress test (Ubuntu) (battery) +CPT006.201 CPU temperature after stress test (Ubuntu) (battery) [Documentation] This test aims to verify whether the temperature of the ... CPU cores is not higher than the maximum allowed ... temperature during stress test. diff --git a/dasharo-security/tpm-support.robot b/dasharo-security/tpm-support.robot index 4325f8a94f..b432ca78de 100644 --- a/dasharo-security/tpm-support.robot +++ b/dasharo-security/tpm-support.robot @@ -148,7 +148,7 @@ TPM003.301 Check TPM Physical Presence Interface (Windows) TPM011.101 Change active PCR banks with TPM PPI (EDK2 UEFI) [Documentation] This test aims to verify that the TPM Physical Presence ... Interface is working properly in the firmware by changing active TPM PCR banks. - ... Previous IDs: TPM003.004 + ... Previous IDs: TPM003.004 TPM003.101 Skip If not ${TPM_SUPPORTED_VERSION} == 2 TPM003.101 not supported Skip If not ${TESTS_IN_UBUNTU_SUPPORT} TPM003.101 not supported Power On @@ -185,6 +185,7 @@ TPM011.101 Change active PCR banks with TPM PPI (EDK2 UEFI) TPM012.201 Check if the ChangeEPS works (Ubuntu) [Documentation] Check if the `TPM2 ChangeEPS` setup menu option works properly. + ... Previous IDs: TPM004.201 Power On Boot System Or From Connected Disk ${ENV_ID_UBUNTU} Login To Linux diff --git a/dasharo-stability/m2-wifi.robot b/dasharo-stability/m2-wifi.robot index 6139db19cd..aff5d97ef5 100644 --- a/dasharo-stability/m2-wifi.robot +++ b/dasharo-stability/m2-wifi.robot @@ -18,11 +18,16 @@ Suite Teardown Run Keyword *** Test Cases *** +# WARNING: test case IDs in this file were originally using IDs with 4 digits +# before decimal point. These are present in release scopes, so they must be +# preserved in 'Previous IDs'. +# # Tests will work on laptops with access to the serial console and possibility # of remote power control # SMW001.001 Wi-fi connection after cold boot (Ubuntu) # [Documentation] Check whether the Wi-Fi card is detected and working # ... correctly after performing a cold boot. +# ... Previous IDs: SMW0001.001 # Skip If not ${m2_wifi_support} SMW001.001 not supported # Skip If not ${tests_in_ubuntu_support} SMW001.001 not supported # Skip If '${POWER_CTRL}' == 'none' Coldboot automatic tests not supported @@ -48,7 +53,7 @@ Suite Teardown Run Keyword SMW002.201 Wi-fi connection after warm boot (Ubuntu) [Documentation] Check whether the Wi-Fi card is detected and working ... correctly after performing a warm boot. - ... Previous IDs: SMW002.001 + ... Previous IDs: SMW0002.001 SMW002.001 Skip If not ${M2_WIFI_SUPPORT} SMW002.201 not supported Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SMW002.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SMW002.201 not supported @@ -62,7 +67,7 @@ SMW002.201 Wi-fi connection after warm boot (Ubuntu) SMW003.201 Wi-fi connection after reboot (Ubuntu) [Documentation] Check whether the Wi-Fi card is detected and working ... correctly after performing a reboot. - ... Previous IDs: SMW003.001 + ... Previous IDs: SMW0003.001 SMW003.001 Skip If not ${M2_WIFI_SUPPORT} SMW003.201 not supported Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SMW003.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SMW003.201 not supported @@ -76,7 +81,7 @@ SMW003.201 Wi-fi connection after reboot (Ubuntu) SMW004.201 Wi-fi connection after suspension (Ubuntu) [Documentation] Check whether the Wi-Fi card is detected and working ... correctly after performing suspension. - ... Previous IDs: SMW004.001 + ... Previous IDs: SMW0004.001 SMW004.001 Skip If not ${M2_WIFI_SUPPORT} SMW004.201 not supported Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SMW004.201 not supported Skip If ${PLATFORM_SLEEP_TYPE_SELECTABLE} SMW004.201 not supported @@ -123,7 +128,6 @@ SMW006.201 Wi-fi connection after suspension (Ubuntu) (S3) SMW002.202 Wi-fi connection after warm boot (Fedora) [Documentation] Check whether the Wi-Fi card is detected and working ... correctly after performing a warm boot. - ... Previous IDs: SMW002.001 Skip If not ${M2_WIFI_SUPPORT} SMW002.202 not supported Skip If '${ENV_ID_FEDORA}' not in ${TESTED_LINUX_DISTROS} SMW002.202 not supported Power On @@ -136,7 +140,6 @@ SMW002.202 Wi-fi connection after warm boot (Fedora) SMW003.202 Wi-fi connection after reboot (Fedora) [Documentation] Check whether the Wi-Fi card is detected and working ... correctly after performing a reboot. - ... Previous IDs: SMW003.202 Skip If not ${M2_WIFI_SUPPORT} SMW003.202 not supported Skip If '${ENV_ID_FEDORA}' not in ${TESTED_LINUX_DISTROS} SMW003.202 not supported Power On @@ -149,7 +152,6 @@ SMW003.202 Wi-fi connection after reboot (Fedora) SMW004.202 Wi-fi connection after suspension (Fedora) [Documentation] Check whether the Wi-Fi card is detected and working ... correctly after performing suspension. - ... Previous IDs: SMW004.001 Skip If not ${M2_WIFI_SUPPORT} SMW004.202 not supported Skip If ${PLATFORM_SLEEP_TYPE_SELECTABLE} SMW004.202 not supported Skip If '${ENV_ID_FEDORA}' not in ${TESTED_LINUX_DISTROS} SMW004.202 not supported @@ -163,7 +165,6 @@ SMW004.202 Wi-fi connection after suspension (Fedora) SMW005.202 Wi-fi connection after suspension (Fedora) (S0ix) [Documentation] Check whether the Wi-Fi card is detected and working ... correctly after performing suspension. - ... Previous IDs: SMW004.002 Skip If not ${M2_WIFI_SUPPORT} SMW005.202 not supported Skip If not ${PLATFORM_SLEEP_TYPE_SELECTABLE} SMW005.202 not supported Skip If '${ENV_ID_FEDORA}' not in ${TESTED_LINUX_DISTROS} SMW005.202 not supported @@ -178,7 +179,6 @@ SMW005.202 Wi-fi connection after suspension (Fedora) (S0ix) SMW006.202 Wi-fi connection after suspension (Fedora) (S3) [Documentation] Check whether the Wi-Fi card is detected and working ... correctly after performing suspension. - ... Previous IDs: SMW004.003 Skip If not ${M2_WIFI_SUPPORT} SMW006.202 not supported Skip If not ${PLATFORM_SLEEP_TYPE_SELECTABLE} SMW006.202 not supported Skip If '${ENV_ID_FEDORA}' not in ${TESTED_LINUX_DISTROS} SMW006.202 not supported diff --git a/dasharo-stability/network-interface-after-suspend.robot b/dasharo-stability/network-interface-after-suspend.robot index bf87b07c37..9c660871b5 100644 --- a/dasharo-stability/network-interface-after-suspend.robot +++ b/dasharo-stability/network-interface-after-suspend.robot @@ -70,7 +70,7 @@ NET004.201 NET controller after suspend (Ubuntu) NET005.201 NET controller after suspend (Ubuntu) (S0ix) [Documentation] This test aims to verify that the network controller works and the platform ... is able to connect to the network after suspend. - ... Previous IDs: NET04.002 + ... Previous IDs: NET004.002 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} NET005.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} NET005.201 not supported Skip If not ${PLATFORM_SLEEP_TYPE_SELECTABLE} NET005.201 not supported diff --git a/dasharo-stability/nvme-detection.robot b/dasharo-stability/nvme-detection.robot index 597c700ca1..643dfc0602 100644 --- a/dasharo-stability/nvme-detection.robot +++ b/dasharo-stability/nvme-detection.robot @@ -21,11 +21,16 @@ Suite Teardown Run Keyword *** Test Cases *** +# WARNING: test case IDs in this file were originally using IDs with 4 digits +# before decimal point. These are present in release scopes, so they must be +# preserved in 'Previous IDs'. +# # Tests will work on laptops with access to the serial console and possibility # of remote power control # SNV0001.001 NVMe detection after cold boot (Ubuntu) # [Documentation] Check whether the NVMe disk is detected and working # ... correctly after performing a cold boot. +# ... Previous IDs: SNV0001.001 # Skip If not ${nvme_detection_support} SNV001.001 not supported # Skip If not ${tests_in_ubuntu_support} SNV001.001 not supported # Skip If '${POWER_CTRL}' == 'none' Coldboot automatic tests not supported @@ -48,7 +53,7 @@ Suite Teardown Run Keyword SNV002.201 NVMe detection after warm boot (Ubuntu) [Documentation] Check whether the NVMe disk is detected and working ... correctly after performing a warm boot. - ... Previous IDs: SNV002.001 + ... Previous IDs: SNV0002.001 SNV002.001 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SNV002.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SNV002.201 not supported Power On @@ -61,7 +66,7 @@ SNV002.201 NVMe detection after warm boot (Ubuntu) SNV003.201 NVMe detection after reboot (Ubuntu) [Documentation] Check whether the NVMe disk is detected and working ... correctly after performing a reboot. - ... Previous IDs: SNV003.001 + ... Previous IDs: SNV0003.001 SNV003.001 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SNV003.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SNV003.201 not supported Power On @@ -74,7 +79,7 @@ SNV003.201 NVMe detection after reboot (Ubuntu) SNV004.201 NVMe detection after suspension (Ubuntu) [Documentation] Check whether the NVMe disk is correctly detected after ... performing suspension. - ... Previous IDs: SNV004.001 + ... Previous IDs: SNV0004.001 SNV004.001 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SNV004.201 not supported Skip If ${PLATFORM_SLEEP_TYPE_SELECTABLE} SNV004.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SNV004.201 not supported @@ -88,7 +93,7 @@ SNV004.201 NVMe detection after suspension (Ubuntu) SNV005.201 NVMe detection after suspension (Ubuntu) (S0ix) [Documentation] Check whether the NVMe disk is correctly detected after ... performing suspension. - ... Previous IDs: SNV004.002 + ... Previous IDs: SNV0004.002 SNV004.002 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SNV005.201 not supported Skip If not ${PLATFORM_SLEEP_TYPE_SELECTABLE} SNV005.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SNV005.201 not supported @@ -103,7 +108,7 @@ SNV005.201 NVMe detection after suspension (Ubuntu) (S0ix) SNV006.201 NVMe detection after suspension (Ubuntu) (S3) [Documentation] Check whether the NVMe disk is correctly detected after ... performing suspension. - ... Previous IDs: SNV004.003 + ... Previous IDs: SNV0004.003 SNV004.003 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SNV006.201 not supported Skip If not ${PLATFORM_SLEEP_TYPE_SELECTABLE} SNV006.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SNV006.201 not supported diff --git a/dasharo-stability/usb-type-a-devices-detection.robot b/dasharo-stability/usb-type-a-devices-detection.robot index e9b1cfe064..c927d48398 100644 --- a/dasharo-stability/usb-type-a-devices-detection.robot +++ b/dasharo-stability/usb-type-a-devices-detection.robot @@ -23,11 +23,16 @@ Suite Teardown Run Keyword *** Test Cases *** +# WARNING: test case IDs in this file were originally using IDs with 4 digits +# before decimal point. These are present in release scopes, so they must be +# preserved in 'Previous IDs'. +# # Tests will work on laptops with access to the serial console and possibility # of remote power control # SUD001.001 USB devices detection after cold boot (Ubuntu) # [Documentation] Check whether the external USB devices are detected # ... correctly after a cold boot. +# ... Previous IDs: SUD0001.001 # Skip If not ${tests_in_ubuntu_support} SUD001.001 not supported # Skip If '${POWER_CTRL}' == 'none' Coldboot automatic tests not supported # Power On @@ -49,7 +54,7 @@ Suite Teardown Run Keyword SUD002.201 USB devices detection after warm boot (Ubuntu) [Documentation] Check whether the external USB devices are detected ... correctly after a warm boot. - ... Previous IDs: SUD002.001 + ... Previous IDs: SUD0002.001 SUD002.001 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SUD002.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SUD002.201 not supported Power On @@ -62,7 +67,7 @@ SUD002.201 USB devices detection after warm boot (Ubuntu) SUD003.201 USB devices detection after reboot (Ubuntu) [Documentation] Check whether the external USB devices are detected ... correctly after a reboot. - ... Previous IDs: SUD003.001 + ... Previous IDs: SUD0003.001 SUD003.001 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SUD003.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SUD003.201 not supported Power On @@ -75,7 +80,7 @@ SUD003.201 USB devices detection after reboot (Ubuntu) SUD004.201 USB devices detection after suspension (Ubuntu) [Documentation] Check whether the external USB devices are detected ... correctly after suspension. - ... Previous IDs: SUD004.001 + ... Previous IDs: SUD0004.001 SUD004.001 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SUD004.201 not supported Skip If ${PLATFORM_SLEEP_TYPE_SELECTABLE} SUD004.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SUD004.201 not supported @@ -89,7 +94,7 @@ SUD004.201 USB devices detection after suspension (Ubuntu) SUD005.201 USB devices detection after suspension (Ubuntu) (S0ix) [Documentation] Check whether the external USB devices are detected ... correctly after suspension. - ... Previous IDs: SUD004.002 + ... Previous IDs: SUD0004.002 SUD004.002 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SUD005.201 not supported Skip If not ${PLATFORM_SLEEP_TYPE_SELECTABLE} SUD005.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SUD005.201 not supported @@ -104,7 +109,7 @@ SUD005.201 USB devices detection after suspension (Ubuntu) (S0ix) SUD006.201 USB devices detection after suspension (Ubuntu) (S3) [Documentation] Check whether the external USB devices are detected ... correctly after suspension. - ... Previous IDs: SUD004.003 + ... Previous IDs: SUD0004.003 SUD004.003 Skip If not ${TESTS_IN_UBUNTU_SUPPORT} SUD006.201 not supported Skip If not ${PLATFORM_SLEEP_TYPE_SELECTABLE} SUD006.201 not supported Skip If '${ENV_ID_UBUNTU}' not in ${TESTED_LINUX_DISTROS} SUD006.201 not supported diff --git a/docs/adding-and-naming-test-cases.md b/docs/adding-and-naming-test-cases.md index 40d0f20e6c..e8fe7c4dca 100644 --- a/docs/adding-and-naming-test-cases.md +++ b/docs/adding-and-naming-test-cases.md @@ -49,6 +49,10 @@ Robot Framework variables in the `os-config/environment-test-ids.py` file. **❗Note:** in old test cases the `environment_id` segment was used more loosely. `environment_id`s with leading `0` don't use the convention above. +The compliance to the test naming convention is verified by the pre-commit +scripts and by the CI on every Pull Request that modifies the test cases +or the `test_cases.json` file. + ## Transitioning When updating a test case ID to follow the convention, diff --git a/os-config/environment-test-ids.py b/os-config/environment-test-ids.py index 68d195d756..58e9a664f1 100644 --- a/os-config/environment-test-ids.py +++ b/os-config/environment-test-ids.py @@ -27,3 +27,15 @@ ENV_ID_TRENCHBOOT: "trenchboot", ENV_ID_ESXI: "ESXi", } + +ENV_ID_FRIENDLY_NAMES = { + ENV_ID_EDK2: "EDK2 UEFI", + ENV_ID_SEABIOS: "SeaBIOS", + ENV_ID_IPXE: "iPXE", + ENV_ID_HEADS: "Heads", + ENV_ID_UBUNTU: "Ubuntu", + ENV_ID_FEDORA: "Fedora", + ENV_ID_WINDOWS: "Windows", + ENV_ID_TRENCHBOOT: "TrenchBoot", + ENV_ID_ESXI: "ESXi", +} diff --git a/scripts/ci/test_ids/test_id_checking_lib.py b/scripts/ci/test_ids/test_id_checking_lib.py new file mode 100755 index 0000000000..8ff2de8e75 --- /dev/null +++ b/scripts/ci/test_ids/test_id_checking_lib.py @@ -0,0 +1,148 @@ +#!/usr/bin/env python3 + +# SPDX-FileCopyrightText: 2025 3mdeb +# +# SPDX-License-Identifier: Apache-2.0 + +import ast +import difflib +import os +import re +import subprocess +from pathlib import Path + +from robot.model import SuiteVisitor +from robot.running import TestSuiteBuilder + + +class TestCasesFinder(SuiteVisitor): + def __init__(self): + self.tests = [] + + def visit_test(self, test): + self.tests.append(test) + + +class OsConfig: + def __init__(self): + """Parse the os-config file contents into a dictionary""" + self.os_ids = {} + self.friendly_names = {} + this_file = os.path.dirname(os.path.realpath(__file__)) + os_config_path = os.path.join( + # ci scripts osfv + this_file, + "..", + "..", + "..", + "os-config", + "environment-test-ids.py", + ) + self._parse_os_config(os_config_path) + + def _parse_os_config(self, path): + src = Path(path).read_text() + tree = ast.parse(src, filename=path) + vars = {} + + def _parse_ast_node(node): + if isinstance(node, ast.Constant): # literal + return node.value + if isinstance(node, ast.Name): # reference + try: + return vars[node.id] + except KeyError as exc: + raise ValueError(f"Unknown identifier {node.id!r}") from exc + if isinstance(node, (ast.List, ast.Tuple, ast.Set)): # containers + ctor = {ast.List: list, ast.Tuple: tuple, ast.Set: set}[type(node)] + return ctor(_parse_ast_node(elt) for elt in node.elts) + if isinstance(node, ast.Dict): + return { + _parse_ast_node(k): _parse_ast_node(v) + for k, v in zip(node.keys, node.values) + } + raise ValueError(f"Unsupported expression: {ast.dump(node)}") + + for node in tree.body: + if ( + isinstance(node, ast.Assign) + and len(node.targets) == 1 + and isinstance(node.targets[0], ast.Name) + ): + name = node.targets[0].id + vars[name] = _parse_ast_node(node.value) + + for name, value in vars.items(): + if name == "ENV_ID_OS_FRIENDLY_NAMES": + self.friendly_names = value + elif not isinstance(value, dict): + self.os_ids[name] = value + + def get_id_to_friendly_mapping(self): + mapping = {} + for var_name, os_id in self.os_ids.items(): + if os_id in self.friendly_names.keys(): + mapping[os_id] = self.friendly_names[os_id] + return mapping + + +def get_test_cases_from_dir(directory): + builder = TestSuiteBuilder() + try: + testsuite = builder.build(directory) + except Exception as e: + print( + f"Error building test suite from {directory}: {e}. Assuming no test cases." + ) + return [] + finder = TestCasesFinder() + testsuite.visit(finder) + + list_of_tests = finder.tests + + return list_of_tests + + +def get_id(test): + res = re.search("^([A-Z]{3,9}[0-9]{3}\\.[0-9]{3}).*", test.name) + if res: + return res.group(1) + return None + + +def id_valid(test): + return get_id(test) is not None + + +def os_valid(test): + os_ids = { + re.escape(f".{key}"): re.escape(f"({value})") + for key, value in OsConfig().get_id_to_friendly_mapping().items() + } + for os_id in os_ids.keys(): + if re.search(os_id, test.name) and not re.search(os_ids[os_id], test.name): + return False + return True + + +def compare_mappings(): + robot = subprocess.run( + "./scripts/list-tests-from-robot.sh", capture_output=True, text=True + ) + json = subprocess.run( + "./scripts/list-tests-from-json.sh", capture_output=True, text=True + ) + diff = difflib.unified_diff( + str.splitlines(robot.stdout), + str.splitlines(json.stdout), + fromfile="robot", + tofile="json", + lineterm="", + ) + return [d for d in diff if not d.startswith((" ", "@@"))] + + +if __name__ == "__main__": + from pprint import pprint + + pprint(OsConfig().get_id_to_friendly_mapping()) diff --git a/scripts/ci/test_ids/test_ids_legal.py b/scripts/ci/test_ids/test_ids_legal.py new file mode 100755 index 0000000000..f168e224b4 --- /dev/null +++ b/scripts/ci/test_ids/test_ids_legal.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 + +# SPDX-FileCopyrightText: 2025 3mdeb +# +# SPDX-License-Identifier: Apache-2.0 + + +import sys + +import fire +import test_id_checking_lib as lib + +paths = [ + "dasharo-compatibility", + "dasharo-performance", + "dasharo-security", + "dasharo-stability", +] + + +def check_tests(check_function): + invalid_tests = [] + for path in paths: + tests = lib.get_test_cases_from_dir(path) + for t in tests: + if not check_function(t): + invalid_tests.append(t) + return invalid_tests + + +class CLI: + def id_valid(self, print_invalid=False): + """Checks if the IDs of tests are not illegal + + print_invalid: Print invalid test names + """ + invalid_ids = check_tests(lib.id_valid) + if print_invalid: + for test in invalid_ids: + print(test.name) + + if len(invalid_ids) == 0: + sys.exit(0) + else: + sys.exit(1) + + def os_valid(self, print_invalid=False): + """Checks if the OS Ids are valid and represented in test name + + print_invalid: Print invalid test names + """ + invalid_ids = check_tests(lib.os_valid) + if print_invalid: + for test in invalid_ids: + print(test.name) + + if len(invalid_ids) == 0: + sys.exit(0) + else: + sys.exit(1) + + def id_mapped(self, print_invalid=False): + """Checks if the test_cases.json test ID mappings are correct + + print_invalid: Print the invalid mappings + """ + diff = lib.compare_mappings() + if print_invalid: + for d in diff: + print(d) + if len(diff) == 0: + sys.exit(0) + else: + sys.exit(1) + + +if __name__ == "__main__": + fire.Fire(CLI()) diff --git a/test_cases.json b/test_cases.json index 68d19670ad..d7f8f416ea 100644 --- a/test_cases.json +++ b/test_cases.json @@ -3,13 +3,29 @@ "doc": { "_id": "ACPI001.001", "name": "ACPI driver test (Ubuntu)", - "module": "Dasharo Compatibility" + "module": "Dasharo Compatibility", + "changed_to": "ACPI001.201" } }, { "doc": { "_id": "ACPI001.002", "name": "ACPI driver test (Fedora)", + "module": "Dasharo Compatibility", + "changed_to": "ACPI001.202" + } + }, + { + "doc": { + "_id": "ACPI001.201", + "name": "ACPI driver test (Ubuntu)", + "module": "Dasharo Compatibility" + } + }, + { + "doc": { + "_id": "ACPI001.202", + "name": "ACPI driver test (Fedora)", "module": "Dasharo Compatibility" } }, @@ -58,14 +74,14 @@ { "doc": { "_id": "APU006.001", - "name": "Disabling \"Enable PCIe power management features\" disables ASPM", + "name": "Check whether disabling \"Enable PCIe power management features\" disables ASPM", "module": "Dasharo Compatibility" } }, { "doc": { "_id": "APU006.002", - "name": "Enabling \"Enable PCIe power management features\" enables ASPM", + "name": "Check whether enabling \"Enable PCIe power management features\" enables ASPM", "module": "Dasharo Compatibility" } }, @@ -740,6 +756,14 @@ "module": "Dasharo Compatibility" } }, + { + "doc": { + "_id": "CAM002.001", + "name": "Integrated IR Camera (Ubuntu)", + "module": "Dasharo Compatibility", + "changed_to": "CAM002.201" + } + }, { "doc": { "_id": "CAM002.201", @@ -764,7 +788,7 @@ { "doc": { "_id": "CBK002.001", - "name": "Custom BIOS Menu Key", + "name": "Custom setup menu key", "module": "Dasharo Compatibility" } }, @@ -852,6 +876,14 @@ "doc": { "_id": "CBO001.002", "name": "Custom Boot Order", + "module": "Dasharo Compatibility", + "changed_to": "CBO001.101" + } + }, + { + "doc": { + "_id": "CBO001.101", + "name": "Custom Boot Order (EDK2)", "module": "Dasharo Compatibility" } }, @@ -948,7 +980,7 @@ }, { "doc": { - "_id": "CFC001.002", + "_id": "CFC002.001", "name": "Custom fan curve performance profile measure (Ubuntu)", "module": "Dasharo Performance" } @@ -971,7 +1003,7 @@ { "doc": { "_id": "CHS001.201", - "name": "Camera enable", + "name": "Check camera enablement", "module": "Dasharo Security" } }, @@ -993,7 +1025,7 @@ { "doc": { "_id": "CHS002.201", - "name": "Camera disable", + "name": "Check camera disablement", "module": "Dasharo Security" } }, @@ -1011,6 +1043,14 @@ "module": "Dasharo Compatibility" } }, + { + "doc": { + "_id": "CNB001.001", + "name": "Only one iPXE in boot menu", + "module": "Dasharo Compatibility", + "changed_to": "CNB001.002" + } + }, { "doc": { "_id": "CNB001.002", @@ -1331,7 +1371,7 @@ "_id": "CPF004.005", "name": "CPU with load runs on expected frequency (Ubuntu) (AC)", "module": "Dasharo Performance", - "changed_to": "CPF012.201" + "changed_to": "CPF011.201" } }, { @@ -1526,6 +1566,13 @@ "module": "Dasharo Performance" } }, + { + "doc": { + "_id": "CPF011.201", + "name": "CPU with load runs on expected frequency (Ubuntu) (AC)", + "module": "Dasharo Performance" + } + }, { "doc": { "_id": "CPF011.202", @@ -2328,7 +2375,7 @@ { "doc": { "_id": "DMI001.201", - "name": "Verify the serial number", + "name": "Verify the device serial number", "module": "Dasharo Compatibility" } }, @@ -2477,7 +2524,7 @@ { "doc": { "_id": "DSP001.201", - "name": "Internal display in OS", + "name": "Internal display in OS (Ubuntu)", "module": "Dasharo Compatibility" } }, @@ -2711,6 +2758,41 @@ "module": "Dasharo Compatibility" } }, + { + "doc": { + "_id": "DTS009.001", + "name": "Update Dasharo firmware by using DTS via USB works correctly", + "module": "Dasharo Compatibility" + } + }, + { + "doc": { + "_id": "DTS009.002", + "name": "Update Dasharo firmware by using DTS via iPXE works correctly", + "module": "Dasharo Compatibility" + } + }, + { + "doc": { + "_id": "DTS010.001", + "name": "Deploy Dasharo firmware by using DTS works correctly", + "module": "Dasharo Compatibility" + } + }, + { + "doc": { + "_id": "DTS010.002", + "name": "Deploy Dasharo SeaBios firmware by using DTS works correctly", + "module": "Dasharo Compatibility" + } + }, + { + "doc": { + "_id": "DTS011.001", + "name": "Heads Transition by using DTS via iPXE works correctly", + "module": "Dasharo Compatibility" + } + }, { "doc": { "_id": "ECR001.001", @@ -3778,6 +3860,14 @@ "module": "Dasharo Compatibility" } }, + { + "doc": { + "_id": "ETHPERF001.001", + "name": "Check Performance of 2.5G Wired Network Interface (Ubuntu)", + "module": "Dasharo Compatibility", + "changed_to": "ETHPERF001.201" + } + }, { "doc": { "_id": "ETHPERF001.201", @@ -3785,6 +3875,14 @@ "module": "Dasharo Compatibility" } }, + { + "doc": { + "_id": "ETHPERF002.001", + "name": "Check Performance of 10G Wired Network Interface (Ubuntu)", + "module": "Dasharo Compatibility", + "changed_to": "ETHPERF002.201" + } + }, { "doc": { "_id": "ETHPERF002.201", @@ -3827,6 +3925,13 @@ "module": "Dasharo Compatibility" } }, + { + "doc": { + "_id": "FAN006.201", + "name": "GPU fan speed measure", + "module": "Dasharo Compatibility" + } + }, { "doc": { "_id": "FBC001.001", @@ -3893,7 +3998,7 @@ { "doc": { "_id": "GPP001.201", - "name": "GPU Performance Measure (Ubuntu) (AC)", + "name": "GPU Performance Measure (Ubuntu) (AC)", "module": "Dasharo Performance" } }, @@ -3928,7 +4033,7 @@ { "doc": { "_id": "HDS001.001", - "name": "Install Heads ", + "name": "Heads installation", "module": "Dasharo Compatibility" } }, @@ -4150,6 +4255,14 @@ "module": "Dasharo Security" } }, + { + "doc": { + "_id": "MBO002.001", + "name": "Check if event log PCRs match actual values (Ubuntu)", + "module": "Dasharo Security", + "changed_to": "MBO002.201" + } + }, { "doc": { "_id": "MBO002.201", @@ -4377,8 +4490,7 @@ "doc": { "_id": "MWL003.002", "name": "Bluetooth scanning (Windows)", - "module": "Dasharo Compatibility", - "changed_to": "MWL003.301" + "module": "Dasharo Compatibility" } }, { @@ -4441,7 +4553,7 @@ { "doc": { "_id": "NBT002.001", - "name": "OS Selection & Utilities is available", + "name": "OS selection & utilities is available", "module": "Dasharo Compatibility" } }, @@ -4476,7 +4588,14 @@ { "doc": { "_id": "NBT007.001", - "name": "Change netboot URL works correctly", + "name": "Change netboot URL option works correctly", + "module": "Dasharo Compatibility" + } + }, + { + "doc": { + "_id": "NBT008.001", + "name": "iPXE Autoboot is disabled", "module": "Dasharo Compatibility" } }, @@ -4498,7 +4617,8 @@ "doc": { "_id": "NET002.001", "name": "NET controller after warmboot (Ubuntu)", - "module": "Dasharo Compatibility" + "module": "Dasharo Compatibility", + "changed_to": "NET002.201" } }, { @@ -4596,6 +4716,14 @@ "module": "Dasharo Stability" } }, + { + "doc": { + "_id": "NET005.003", + "name": "Net controller after warmboot (Fedora)", + "module": "Dasharo Stability", + "changed_to": "NET002.202" + } + }, { "doc": { "_id": "NET005.201", @@ -4973,6 +5101,13 @@ "module": "Dasharo Compatibility" } }, + { + "doc": { + "_id": "PXE007.001", + "name": "Dasharo Network Boot over https not http", + "module": "Dasharo Compatibility" + } + }, { "doc": { "_id": "QBS001.001", @@ -5109,7 +5244,7 @@ { "doc": { "_id": "SAT001.002", - "name": "SATA support in OS (Ubuntu}", + "name": "SATA support in OS (Ubuntu)", "module": "Dasharo Compatibility", "changed_to": "SAT001.201" } @@ -5117,7 +5252,7 @@ { "doc": { "_id": "SAT001.003", - "name": "SATA support in OS (Windows}", + "name": "SATA support in OS (Windows)", "module": "Dasharo Compatibility" } }, @@ -5139,7 +5274,7 @@ { "doc": { "_id": "SAT001.201", - "name": "SATA support in OS (Ubuntu}", + "name": "SATA support in OS (Ubuntu)", "module": "Dasharo Compatibility" } }, @@ -5174,21 +5309,21 @@ { "doc": { "_id": "SBO003.001", - "name": "Attempt to boot file with the correct key from Shell (firmware)", + "name": "Attempt to boot file with the correct key from Boot Maintenance Manager (firmware)", "module": "Dasharo Security" } }, { "doc": { "_id": "SBO004.001", - "name": "Attempt to boot file without the key from Shell (firmware)", + "name": "Attempt to boot file without the key from Boot Maintenance Manager (firmware)", "module": "Dasharo Security" } }, { "doc": { "_id": "SBO005.001", - "name": "Attempt to boot file with the wrong-signed key from Shell (firmware)", + "name": "Attempt to boot file with the wrong-signed key from Boot Maintenance Manager (firmware)", "module": "Dasharo Security" } }, @@ -5396,28 +5531,32 @@ "doc": { "_id": "SMW0001.001", "name": "Wi-fi connection after cold boot (Ubuntu)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SMW001.001" } }, { "doc": { "_id": "SMW0002.001", "name": "Wi-fi connection after warm boot (Ubuntu)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SMW002.001" } }, { "doc": { "_id": "SMW0003.001", "name": "Wi-fi connection after reboot (Ubuntu)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SMW003.001" } }, { "doc": { "_id": "SMW0004.001", "name": "Wi-fi connection after suspension (Ubuntu)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SMW004.001" } }, { @@ -5569,14 +5708,16 @@ "doc": { "_id": "SNV0001.001", "name": "NVMe detection after cold boot (Ubuntu)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SNV001.001" } }, { "doc": { "_id": "SNV0001.002", "name": "NVMe detection after cold boot (Qubes OS)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SNV001.002" } }, { @@ -5584,14 +5725,15 @@ "_id": "SNV0002.001", "name": "NVMe detection after warm boot (Ubuntu)", "module": "Dasharo Stability", - "changed_to": "SNV002.201" + "changed_to": "SNV002.001" } }, { "doc": { "_id": "SNV0002.002", "name": "NVMe detection after warm boot (Qubes OS)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SNV002.002" } }, { @@ -5599,14 +5741,15 @@ "_id": "SNV0003.001", "name": "NVMe detection after reboot (Ubuntu)", "module": "Dasharo Stability", - "changed_to": "SNV003.201" + "changed_to": "SNV003.001" } }, { "doc": { "_id": "SNV0003.002", "name": "NVMe detection after reboot (Qubes OS)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SNV003.002" } }, { @@ -5614,7 +5757,7 @@ "_id": "SNV0004.001", "name": "NVMe detection after suspension (Ubuntu)", "module": "Dasharo Stability", - "changed_to": "SNV004.201" + "changed_to": "SNV004.001" } }, { @@ -5622,7 +5765,7 @@ "_id": "SNV0004.002", "name": "NVMe detection after suspension (Ubuntu) (S0ix)", "module": "Dasharo Stability", - "changed_to": "SNV005.201" + "changed_to": "SNV004.002" } }, { @@ -5630,13 +5773,43 @@ "_id": "SNV0004.003", "name": "NVMe detection after suspension (Ubuntu) (S3)", "module": "Dasharo Stability", - "changed_to": "SNV006.201" + "changed_to": "SNV004.003" } }, { "doc": { "_id": "SNV0004.004", "name": "NVMe detection after suspension (Qubes OS) (S3)", + "module": "Dasharo Stability", + "changed_to": "SNV004.004" + } + }, + { + "doc": { + "_id": "SNV001.001", + "name": "NVMe detection after cold boot (Ubuntu)", + "module": "Dasharo Stability" + } + }, + { + "doc": { + "_id": "SNV001.002", + "name": "NVMe detection after cold boot (Qubes OS)", + "module": "Dasharo Stability" + } + }, + { + "doc": { + "_id": "SNV002.001", + "name": "NVMe detection after warm boot (Ubuntu)", + "module": "Dasharo Stability", + "changed_to": "SNV002.201" + } + }, + { + "doc": { + "_id": "SNV002.002", + "name": "NVMe detection after warm boot (Qubes OS)", "module": "Dasharo Stability" } }, @@ -5654,6 +5827,21 @@ "module": "Dasharo Stability" } }, + { + "doc": { + "_id": "SNV003.001", + "name": "NVMe detection after reboot (Ubuntu)", + "module": "Dasharo Stability", + "changed_to": "SNV003.201" + } + }, + { + "doc": { + "_id": "SNV003.002", + "name": "NVMe detection after reboot (Qubes OS)", + "module": "Dasharo Stability" + } + }, { "doc": { "_id": "SNV003.201", @@ -5668,6 +5856,37 @@ "module": "Dasharo Stability" } }, + { + "doc": { + "_id": "SNV004.001", + "name": "NVMe detection after suspension (Ubuntu)", + "module": "Dasharo Stability", + "changed_to": "SNV004.201" + } + }, + { + "doc": { + "_id": "SNV004.002", + "name": "NVMe detection after suspension (Ubuntu) (S0ix)", + "module": "Dasharo Stability", + "changed_to": "SNV005.201" + } + }, + { + "doc": { + "_id": "SNV004.003", + "name": "NVMe detection after suspension (Ubuntu) (S3)", + "module": "Dasharo Stability", + "changed_to": "SNV006.201" + } + }, + { + "doc": { + "_id": "SNV004.004", + "name": "NVMe detection after suspension (Qubes OS) (S3)", + "module": "Dasharo Stability" + } + }, { "doc": { "_id": "SNV004.201", @@ -5853,7 +6072,7 @@ { "doc": { "_id": "SPS001.001", - "name": "Check Ethernet Ports Order", + "name": "Ethernet ports are in order", "module": "Dasharo Compatibility" } }, @@ -5941,14 +6160,16 @@ "doc": { "_id": "SUD0001.001", "name": "USB devices detection after cold boot (Ubuntu)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SUD001.001" } }, { "doc": { "_id": "SUD0001.002", "name": "USB devices detection after cold boot (Qubes OS)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SUD001.002" } }, { @@ -5956,14 +6177,15 @@ "_id": "SUD0002.001", "name": "USB devices detection after warm boot (Ubuntu)", "module": "Dasharo Stability", - "changed_to": "SUD002.201" + "changed_to": "SUD002.001" } }, { "doc": { "_id": "SUD0002.002", "name": "USB devices detection after warm boot (Qubes OS)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SUD002.002" } }, { @@ -5971,14 +6193,15 @@ "_id": "SUD0003.001", "name": "USB devices detection after reboot (Ubuntu)", "module": "Dasharo Stability", - "changed_to": "SUD003.201" + "changed_to": "SUD003.001" } }, { "doc": { "_id": "SUD0003.002", "name": "USB devices detection after reboot (Qubes OS)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "SUD003.002" } }, { @@ -5986,7 +6209,7 @@ "_id": "SUD0004.001", "name": "USB devices detection after suspension (Ubuntu)", "module": "Dasharo Stability", - "changed_to": "SUD004.201" + "changed_to": "SUD004.001" } }, { @@ -5994,7 +6217,7 @@ "_id": "SUD0004.002", "name": "USB devices detection after suspension (Ubuntu) (S0ix)", "module": "Dasharo Stability", - "changed_to": "SUD005.201" + "changed_to": "SUD004.002" } }, { @@ -6002,13 +6225,43 @@ "_id": "SUD0004.003", "name": "USB devices detection after suspension (Ubuntu) (S3)", "module": "Dasharo Stability", - "changed_to": "SUD006.201" + "changed_to": "SUD004.003" } }, { "doc": { "_id": "SUD0004.004", "name": "USB devices detection after suspension (Qubes OS) (S3)", + "module": "Dasharo Stability", + "changed_to": "SUD004.004" + } + }, + { + "doc": { + "_id": "SUD001.001", + "name": "USB devices detection after cold boot (Ubuntu)", + "module": "Dasharo Stability" + } + }, + { + "doc": { + "_id": "SUD001.002", + "name": "USB devices detection after cold boot (Qubes OS)", + "module": "Dasharo Stability" + } + }, + { + "doc": { + "_id": "SUD002.001", + "name": "USB devices detection after warm boot (Ubuntu)", + "module": "Dasharo Stability", + "changed_to": "SUD002.201" + } + }, + { + "doc": { + "_id": "SUD002.002", + "name": "USB devices detection after warm boot (Qubes OS)", "module": "Dasharo Stability" } }, @@ -6026,6 +6279,21 @@ "module": "Dasharo Stability" } }, + { + "doc": { + "_id": "SUD003.001", + "name": "USB devices detection after reboot (Ubuntu)", + "module": "Dasharo Stability", + "changed_to": "SUD003.201" + } + }, + { + "doc": { + "_id": "SUD003.002", + "name": "USB devices detection after reboot (Qubes OS)", + "module": "Dasharo Stability" + } + }, { "doc": { "_id": "SUD003.201", @@ -6040,6 +6308,37 @@ "module": "Dasharo Stability" } }, + { + "doc": { + "_id": "SUD004.001", + "name": "USB devices detection after suspension (Ubuntu)", + "module": "Dasharo Stability", + "changed_to": "SUD004.201" + } + }, + { + "doc": { + "_id": "SUD004.002", + "name": "USB devices detection after suspension (Ubuntu) (S0ix)", + "module": "Dasharo Stability", + "changed_to": "SUD005.201" + } + }, + { + "doc": { + "_id": "SUD004.003", + "name": "USB devices detection after suspension (Ubuntu) (S3)", + "module": "Dasharo Stability", + "changed_to": "SUD006.201" + } + }, + { + "doc": { + "_id": "SUD004.004", + "name": "USB devices detection after suspension (Qubes OS) (S3)", + "module": "Dasharo Stability" + } + }, { "doc": { "_id": "SUD004.201", @@ -6300,7 +6599,8 @@ "doc": { "_id": "TPD004.001", "name": "Detect TPM after platform suspend (Ubuntu)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "TPD004.201" } }, { @@ -6317,6 +6617,13 @@ "module": "Dasharo Stability" } }, + { + "doc": { + "_id": "TPM001.001", + "name": "TPM Support (firmware)", + "module": "Dasharo Security" + } + }, { "doc": { "_id": "TPM001.002", @@ -6408,21 +6715,21 @@ { "doc": { "_id": "TPM002.201", - "name": "Verify TPM Version (Ubuntu)", + "name": "Verify TPM version (Ubuntu)", "module": "Dasharo Security" } }, { "doc": { "_id": "TPM002.202", - "name": "Verify TPM Version (Fedora)", + "name": "Verify TPM version (Fedora)", "module": "Dasharo Security" } }, { "doc": { "_id": "TPM002.301", - "name": "Verify TPM Version (Windows)", + "name": "Verify TPM version (Windows)", "module": "Dasharo Security" } }, @@ -6475,7 +6782,8 @@ "doc": { "_id": "TPM003.101", "name": "Change active PCR banks with TPM PPI (firmware)", - "module": "Dasharo Security" + "module": "Dasharo Security", + "changed_to": "TPM011.101" } }, { @@ -6503,6 +6811,21 @@ "doc": { "_id": "TPM004.201", "name": "Check if the ChangeEPS works (Ubuntu)", + "module": "Dasharo Security", + "changed_to": "TPM012.201" + } + }, + { + "doc": { + "_id": "TPM011.101", + "name": "Change active PCR banks with TPM PPI (EDK2 UEFI)", + "module": "Dasharo Security" + } + }, + { + "doc": { + "_id": "TPM012.201", + "name": "Check if the ChangeEPS works (Ubuntu)", "module": "Dasharo Security" } }, @@ -7578,7 +7901,7 @@ { "doc": { "_id": "UTC108.201", - "name": "USB Type-C Display output with ME disabled(Ubuntu)", + "name": "USB Type-C Display output (Ubuntu) (ME: Disabled) (WL-UMD05 Pro Rev.E)", "module": "Dasharo Compatibility" } }, @@ -9796,6 +10119,13 @@ "module": "Dasharo Compatibility" } }, + { + "doc": { + "_id": "WDT006.001", + "name": "Watchdog resets platform on kernel crash (Ubuntu)", + "module": "Dasharo Compatibility" + } + }, { "doc": { "_id": "WLE001.001",