From 8c08cdd4d2d92a4fc042bc774ba9e1a28c22277b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Mon, 16 Jun 2025 11:27:28 +0200 Subject: [PATCH 01/50] test_ids_check.yml: Add CI workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- .github/workflows/test_ids_check.yml | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/test_ids_check.yml diff --git a/.github/workflows/test_ids_check.yml b/.github/workflows/test_ids_check.yml new file mode 100644 index 0000000000..33f04e0b2b --- /dev/null +++ b/.github/workflows/test_ids_check.yml @@ -0,0 +1,44 @@ +# SPDX-FileCopyrightText: 2024 3mdeb +# +# SPDX-License-Identifier: Apache-2.0 + +name: Test IDs check + +# Only try to run if a robot file or the test cases mapping file were modified +on: + pull_request: + paths: + - 'dasharo-compatibility/**.robot' + - 'dasharo-performance/**.robot' + - 'dasharo-security/**.robot' + - 'dasharo-stability/**.robot' + - 'test_cases.json' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository and submodules + uses: actions/checkout@v4 + + - name: Verify IDs are synchronized with the json mapping + run: | + diff -q <(./scripts/list-tests-from-robot.sh) \ + <(./scripts/list-tests-from-json.sh) || \ + (echo "Detected inconsistency between source files and test_cases.json" && false) + + - name: Check diff + if: failure() + run: | + diff --side-by-side -W200 <(./scripts/list-tests-from-robot.sh) \ + <(./scripts/list-tests-from-json.sh) | tee test_ids_diff_ci.txt + + - name: Upload artifact IDs diff file + uses: actions/upload-artifact@v4 + if: failure() + with: + name: "Test IDs diff" + path: | + ./test_ids_diff_ci.txt + retention-days: 30 From baea00d7d99eec2be70df6adda39fcb064fdf006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Tue, 17 Jun 2025 09:37:48 +0200 Subject: [PATCH 02/50] scripts/ci/test_ids: Add CI scripts for testing test IDs --- scripts/ci/test_ids/test_id_checking_lib.py | 76 +++++++++++++++++++++ scripts/ci/test_ids/test_ids_legal.py | 76 +++++++++++++++++++++ 2 files changed, 152 insertions(+) create mode 100644 scripts/ci/test_ids/test_id_checking_lib.py create mode 100755 scripts/ci/test_ids/test_ids_legal.py 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 100644 index 0000000000..530fd2ede7 --- /dev/null +++ b/scripts/ci/test_ids/test_id_checking_lib.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python3 + +# SPDX-FileCopyrightText: 2025 3mdeb +# +# SPDX-License-Identifier: Apache-2.0 + +from robot.model import SuiteVisitor +from robot.running import TestSuiteBuilder +import re +import subprocess +import difflib + +# Maybe use os-config/environment-test-ids.py instead??? +# A mapping from id to some name is missing though +# and the bootmanager entries might not be perfect to +# insert into the braces in test names +OS_IDS = { + r"\.201": r"\(Ubuntu\)", + r"\.301": r"\(Windows\)", + r"\.202": r"\(Fedora\)", +} + + +class TestCasesFinder(SuiteVisitor): + def __init__(self): + self.tests = [] + + def visit_test(self, test): + self.tests.append(test) + +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]{0,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): + 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 check_mappings(): + return(len(compare_mappings())==0) + +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 list(diff) \ No newline at end of file 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..07cc1472df --- /dev/null +++ b/scripts/ci/test_ids/test_ids_legal.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python3 + +# SPDX-FileCopyrightText: 2025 3mdeb +# +# SPDX-License-Identifier: Apache-2.0 + + +import test_id_checking_lib as lib +import sys +import fire + + +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 + """ + if print_invalid: + for diff in lib.compare_mappings(): + print(diff) + + if(lib.check_mappings()): + sys.exit(0) + else: + sys.exit(1) + + +if __name__ == "__main__": + fire.Fire(CLI()) \ No newline at end of file From 60f1316871d8b7a18fb42ca96214ce5c1ec45b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Tue, 17 Jun 2025 09:38:14 +0200 Subject: [PATCH 03/50] .pre-commit-config: Add Test case IDs checks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- .pre-commit-config.yaml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a04f7f0062..f32737b323 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -84,3 +84,28 @@ 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 + entry: ./scripts/ci/test_ids/test_ids_legal.py + args: ["id_valid", "--print_invalid"] + files: 'dasharo-*/.*\.robot$' + - id: test-os-ids-check + name: test-os-ids-check + description: Check if OS ids in tests are valid + language: python + entry: ./scripts/ci/test_ids/test_ids_legal.py + args: ["os_valid", "--print_invalid"] + files: 'dasharo-*/.*\.robot$' + - 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: '(dasharo-*/.*\.robot$)|(test_cases\.json$)' From a1ed65e79df4fb3a7dc2d3f1088460ee8fc0e6c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Tue, 17 Jun 2025 09:38:49 +0200 Subject: [PATCH 04/50] workflows/test_ds_check.yml: Remove: only use pre-commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- .github/workflows/test_ids_check.yml | 44 ---------------------------- 1 file changed, 44 deletions(-) delete mode 100644 .github/workflows/test_ids_check.yml diff --git a/.github/workflows/test_ids_check.yml b/.github/workflows/test_ids_check.yml deleted file mode 100644 index 33f04e0b2b..0000000000 --- a/.github/workflows/test_ids_check.yml +++ /dev/null @@ -1,44 +0,0 @@ -# SPDX-FileCopyrightText: 2024 3mdeb -# -# SPDX-License-Identifier: Apache-2.0 - -name: Test IDs check - -# Only try to run if a robot file or the test cases mapping file were modified -on: - pull_request: - paths: - - 'dasharo-compatibility/**.robot' - - 'dasharo-performance/**.robot' - - 'dasharo-security/**.robot' - - 'dasharo-stability/**.robot' - - 'test_cases.json' - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository and submodules - uses: actions/checkout@v4 - - - name: Verify IDs are synchronized with the json mapping - run: | - diff -q <(./scripts/list-tests-from-robot.sh) \ - <(./scripts/list-tests-from-json.sh) || \ - (echo "Detected inconsistency between source files and test_cases.json" && false) - - - name: Check diff - if: failure() - run: | - diff --side-by-side -W200 <(./scripts/list-tests-from-robot.sh) \ - <(./scripts/list-tests-from-json.sh) | tee test_ids_diff_ci.txt - - - name: Upload artifact IDs diff file - uses: actions/upload-artifact@v4 - if: failure() - with: - name: "Test IDs diff" - path: | - ./test_ids_diff_ci.txt - retention-days: 30 From 5af1fa0b8add83e25ef705489deb940d336f5120 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Tue, 17 Jun 2025 09:56:09 +0200 Subject: [PATCH 05/50] scripts/ci/test_ids: formatting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- .pre-commit-config.yaml | 2 ++ scripts/ci/test_ids/test_id_checking_lib.py | 30 ++++++++++++--------- scripts/ci/test_ids/test_ids_legal.py | 18 +++++++------ 3 files changed, 30 insertions(+), 20 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f32737b323..607d7bf81b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -92,6 +92,7 @@ repos: entry: ./scripts/ci/test_ids/test_ids_legal.py args: ["id_valid", "--print_invalid"] files: 'dasharo-*/.*\.robot$' + - id: test-os-ids-check name: test-os-ids-check description: Check if OS ids in tests are valid @@ -99,6 +100,7 @@ repos: entry: ./scripts/ci/test_ids/test_ids_legal.py args: ["os_valid", "--print_invalid"] files: 'dasharo-*/.*\.robot$' + - id: test-ids-mappings name: test-ids-mappings description: Check if test IDs are mappped correctly in test_cases.json diff --git a/scripts/ci/test_ids/test_id_checking_lib.py b/scripts/ci/test_ids/test_id_checking_lib.py index 530fd2ede7..4727adc133 100644 --- a/scripts/ci/test_ids/test_id_checking_lib.py +++ b/scripts/ci/test_ids/test_id_checking_lib.py @@ -4,11 +4,12 @@ # # SPDX-License-Identifier: Apache-2.0 -from robot.model import SuiteVisitor -from robot.running import TestSuiteBuilder +import difflib import re import subprocess -import difflib + +from robot.model import SuiteVisitor +from robot.running import TestSuiteBuilder # Maybe use os-config/environment-test-ids.py instead??? # A mapping from id to some name is missing though @@ -28,6 +29,7 @@ def __init__(self): def visit_test(self, test): self.tests.append(test) + def get_test_cases_from_dir(directory): builder = TestSuiteBuilder() try: @@ -46,31 +48,35 @@ def get_test_cases_from_dir(directory): def get_id(test): - res = re.search('^([A-Z]{0,9}[0-9]{3}\\.[0-9]{3}).*', test.name) + res = re.search("^([A-Z]{0,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): 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 check_mappings(): - return(len(compare_mappings())==0) 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) + 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='' + fromfile="robot", + tofile="json", + lineterm="", ) - return list(diff) \ No newline at end of file + return [d for d in diff if not d.startswith(" ")] diff --git a/scripts/ci/test_ids/test_ids_legal.py b/scripts/ci/test_ids/test_ids_legal.py index 07cc1472df..f168e224b4 100755 --- a/scripts/ci/test_ids/test_ids_legal.py +++ b/scripts/ci/test_ids/test_ids_legal.py @@ -5,10 +5,10 @@ # SPDX-License-Identifier: Apache-2.0 -import test_id_checking_lib as lib import sys -import fire +import fire +import test_id_checking_lib as lib paths = [ "dasharo-compatibility", @@ -17,6 +17,7 @@ "dasharo-stability", ] + def check_tests(check_function): invalid_tests = [] for path in paths: @@ -26,7 +27,8 @@ def check_tests(check_function): invalid_tests.append(t) return invalid_tests -class CLI(): + +class CLI: def id_valid(self, print_invalid=False): """Checks if the IDs of tests are not illegal @@ -62,15 +64,15 @@ def id_mapped(self, print_invalid=False): print_invalid: Print the invalid mappings """ + diff = lib.compare_mappings() if print_invalid: - for diff in lib.compare_mappings(): - print(diff) - - if(lib.check_mappings()): + for d in diff: + print(d) + if len(diff) == 0: sys.exit(0) else: sys.exit(1) if __name__ == "__main__": - fire.Fire(CLI()) \ No newline at end of file + fire.Fire(CLI()) From 51971b7c53a6ee839ebbbb0de2de7c505f3f18f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Tue, 17 Jun 2025 10:36:08 +0200 Subject: [PATCH 06/50] docs/adding-and-naming-test-cases: Note on test ID CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- docs/adding-and-naming-test-cases.md | 4 ++++ 1 file changed, 4 insertions(+) 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, From af72aa81adcf3829bbc43099e03d3a131f4a6193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Wed, 18 Jun 2025 08:05:00 +0200 Subject: [PATCH 07/50] test_id_checking_lib.py: Test case number 3 or longer Co-authored-by: Krystian Hebel --- scripts/ci/test_ids/test_id_checking_lib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ci/test_ids/test_id_checking_lib.py b/scripts/ci/test_ids/test_id_checking_lib.py index 4727adc133..48c9acc82e 100644 --- a/scripts/ci/test_ids/test_id_checking_lib.py +++ b/scripts/ci/test_ids/test_id_checking_lib.py @@ -48,7 +48,7 @@ def get_test_cases_from_dir(directory): def get_id(test): - res = re.search("^([A-Z]{0,9}[0-9]{3}\\.[0-9]{3}).*", test.name) + res = re.search("^([A-Z]{3,9}[0-9]{3}\\.[0-9]{3}).*", test.name) if res: return res.group(1) return None From 961ab7d36f39ecc2465860e69febf0fd5282283a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Wed, 18 Jun 2025 08:40:09 +0200 Subject: [PATCH 08/50] environment-test-ids.py: Add friendly names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- os-config/environment-test-ids.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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", +} From 5ba642bba836f464821778438af7c2d6b7c3fcce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Wed, 18 Jun 2025 08:43:09 +0200 Subject: [PATCH 09/50] test_id_checking_lib.py: Get OS ids from os-config directory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- scripts/ci/test_ids/test_id_checking_lib.py | 90 ++++++++++++++++++--- 1 file changed, 78 insertions(+), 12 deletions(-) mode change 100644 => 100755 scripts/ci/test_ids/test_id_checking_lib.py diff --git a/scripts/ci/test_ids/test_id_checking_lib.py b/scripts/ci/test_ids/test_id_checking_lib.py old mode 100644 new mode 100755 index 48c9acc82e..71c8603175 --- a/scripts/ci/test_ids/test_id_checking_lib.py +++ b/scripts/ci/test_ids/test_id_checking_lib.py @@ -4,23 +4,16 @@ # # 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 -# Maybe use os-config/environment-test-ids.py instead??? -# A mapping from id to some name is missing though -# and the bootmanager entries might not be perfect to -# insert into the braces in test names -OS_IDS = { - r"\.201": r"\(Ubuntu\)", - r"\.301": r"\(Windows\)", - r"\.202": r"\(Fedora\)", -} - class TestCasesFinder(SuiteVisitor): def __init__(self): @@ -30,6 +23,69 @@ 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 + else: + 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: @@ -59,8 +115,12 @@ def id_valid(test): def os_valid(test): - for os_id in OS_IDS.keys(): - if re.search(os_id, test.name) and not re.search(OS_IDS[os_id], test.name): + 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 @@ -80,3 +140,9 @@ def compare_mappings(): 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()) From a01d841cfef3068aab15b17d0f8fe438f9fb857c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Wed, 18 Jun 2025 09:57:10 +0200 Subject: [PATCH 10/50] test_id_checking_lib: Remove @@ lines from mappings print MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- scripts/ci/test_ids/test_id_checking_lib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ci/test_ids/test_id_checking_lib.py b/scripts/ci/test_ids/test_id_checking_lib.py index 71c8603175..10d2972c45 100755 --- a/scripts/ci/test_ids/test_id_checking_lib.py +++ b/scripts/ci/test_ids/test_id_checking_lib.py @@ -139,7 +139,7 @@ def compare_mappings(): tofile="json", lineterm="", ) - return [d for d in diff if not d.startswith(" ")] + return [d for d in diff if not d.startswith((" ", "@@"))] if __name__ == "__main__": From 0456ecc7276d6139c50e97e951af7a2ae6bf59e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Wed, 18 Jun 2025 10:08:45 +0200 Subject: [PATCH 11/50] pre-commit-config: fix matching test-id-mappings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 607d7bf81b..7057d60931 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -110,4 +110,4 @@ repos: - fire entry: ./scripts/ci/test_ids/test_ids_legal.py args: ["id_mapped", "--print_invalid"] - files: '(dasharo-*/.*\.robot$)|(test_cases\.json$)' + files: '(^test_cases\.json$|^dasharo-.*/.*\.robot$)' From b4c78305693819b78dc8645dc9045def093dfdcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Wed, 18 Jun 2025 10:46:24 +0200 Subject: [PATCH 12/50] fix typo in files regex for test ids MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7057d60931..9e6eafc65c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -91,7 +91,7 @@ repos: language: python entry: ./scripts/ci/test_ids/test_ids_legal.py args: ["id_valid", "--print_invalid"] - files: 'dasharo-*/.*\.robot$' + files: '^dasharo-.*/.*\.robot$' - id: test-os-ids-check name: test-os-ids-check @@ -99,7 +99,7 @@ repos: language: python entry: ./scripts/ci/test_ids/test_ids_legal.py args: ["os_valid", "--print_invalid"] - files: 'dasharo-*/.*\.robot$' + files: '^dasharo-.*/.*\.robot$' - id: test-ids-mappings name: test-ids-mappings From 6181b2156dee7e220712ffe51deb731f0ebb2753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Wed, 18 Jun 2025 10:49:03 +0200 Subject: [PATCH 13/50] .pre-commit-config: Add missing deps for test-ids checks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- .pre-commit-config.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9e6eafc65c..4169363e07 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -89,6 +89,9 @@ repos: 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$' @@ -97,6 +100,9 @@ repos: 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$' From 1b674d30099a21da250368fedf2fd953df7bebf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Wed, 25 Jun 2025 15:53:43 +0200 Subject: [PATCH 14/50] test_id_checking_lib.py: fix unhashable error Co-authored-by: Krystian Hebel --- scripts/ci/test_ids/test_id_checking_lib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ci/test_ids/test_id_checking_lib.py b/scripts/ci/test_ids/test_id_checking_lib.py index 10d2972c45..8ff2de8e75 100755 --- a/scripts/ci/test_ids/test_id_checking_lib.py +++ b/scripts/ci/test_ids/test_id_checking_lib.py @@ -75,7 +75,7 @@ def _parse_ast_node(node): for name, value in vars.items(): if name == "ENV_ID_OS_FRIENDLY_NAMES": self.friendly_names = value - else: + elif not isinstance(value, dict): self.os_ids[name] = value def get_id_to_friendly_mapping(self): From abb0d039692e9555bd19b4b261b074cbbc18c0be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Go=C5=82a=C5=9B?= Date: Fri, 27 Jun 2025 15:12:14 +0200 Subject: [PATCH 15/50] /pre-commit-config.yaml: Only run test ID checks once MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Gołaś --- .pre-commit-config.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4169363e07..bdef0a23b3 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -95,6 +95,7 @@ repos: 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 @@ -106,6 +107,7 @@ repos: 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 @@ -117,3 +119,4 @@ repos: entry: ./scripts/ci/test_ids/test_ids_legal.py args: ["id_mapped", "--print_invalid"] files: '(^test_cases\.json$|^dasharo-.*/.*\.robot$)' + pass_filenames: false From b0f572062892402fd0403784b198cae12ebeab5e Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 18:04:29 +0200 Subject: [PATCH 16/50] dasharo-compatibility/acpi-driver.robot: add Previous IDs, sync JSON Test IDs in this suite were changed without keeping the previous IDs, and without updating the database. Signed-off-by: Krystian Hebel --- dasharo-compatibility/acpi-driver.robot | 6 ++++-- test_cases.json | 18 +++++++++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) 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/test_cases.json b/test_cases.json index 68d19670ad..a76318cbe7 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" } }, From 2db38cfb35ffdcc52b4482df4ec974bb0b2aafaf Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 18:07:40 +0200 Subject: [PATCH 17/50] test_cases.json: sync APU006.001 and APU006.002 names with test cases Signed-off-by: Krystian Hebel --- test_cases.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test_cases.json b/test_cases.json index a76318cbe7..ab6fb68df0 100644 --- a/test_cases.json +++ b/test_cases.json @@ -74,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" } }, From a28b74c3f50131bd55b1c321fab233f610fa47e7 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 18:11:35 +0200 Subject: [PATCH 18/50] test_cases.json: change CFC001.002 to CFC002.001 This ID was improperly written in the database, it was imported that way from the spreadsheet. As it isn't used by any release in the database, it can be changed with no negative consequences. Signed-off-by: Krystian Hebel --- test_cases.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_cases.json b/test_cases.json index ab6fb68df0..2abea516ef 100644 --- a/test_cases.json +++ b/test_cases.json @@ -964,7 +964,7 @@ }, { "doc": { - "_id": "CFC001.002", + "_id": "CFC002.001", "name": "Custom fan curve performance profile measure (Ubuntu)", "module": "Dasharo Performance" } From df0ef1e2e7f39668b424ae8db7ccd5c9c0170b65 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 18:16:28 +0200 Subject: [PATCH 19/50] dasharo-performance/cpu-frequency.robot: fix wrong previous ID This is a typo that wasn't made on the database side, so it can be changed only here. Signed-off-by: Krystian Hebel --- dasharo-performance/cpu-frequency.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 75f756147ada785425d2858f17522140ca9b4b03 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 18:22:17 +0200 Subject: [PATCH 20/50] test_cases.json: add missing CPF011.201, fix wrong changed_to in CPF004.005 Test on AC was wrongfully pointing to a test on USB-PD (CPF012.201). Unfortunately, this was used in multiple release scopes and may have propagated to new releases. Signed-off-by: Krystian Hebel --- test_cases.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test_cases.json b/test_cases.json index 2abea516ef..dd0233c931 100644 --- a/test_cases.json +++ b/test_cases.json @@ -1347,7 +1347,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" } }, { @@ -1542,6 +1542,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", From 9d2d797d570ee3f98a1ce064365d77d85b601192 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 18:36:22 +0200 Subject: [PATCH 21/50] dasharo-performance/cpu-performance.robot: add previous IDs Comment with previous IDs was not added here, but was added to the database. Signed-off-by: Krystian Hebel --- dasharo-performance/cpu-performance.robot | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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 From 37badb79e60d08ca4bf325fd2037edfef2ddb539 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 18:38:46 +0200 Subject: [PATCH 22/50] dasharo-performance/cpu-temperature.robot: fix CPT006.201 ID It wasn't used in any of the existing releases, it was simply missed when renaming other test cases in the suite. Previous ID was not added since there are no references to it. Signed-off-by: Krystian Hebel --- dasharo-performance/cpu-temperature.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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. From 611a5194e61e34d51e021c385fdb9e63d2ea88e8 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 18:54:19 +0200 Subject: [PATCH 23/50] test_cases.json: sync CBK002.001 name with test case Signed-off-by: Krystian Hebel --- test_cases.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_cases.json b/test_cases.json index dd0233c931..250fc5e213 100644 --- a/test_cases.json +++ b/test_cases.json @@ -780,7 +780,7 @@ { "doc": { "_id": "CBK002.001", - "name": "Custom BIOS Menu Key", + "name": "Custom setup menu key", "module": "Dasharo Compatibility" } }, From a5a498c813e662733fb95fed62a93daec9184c54 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 18:57:51 +0200 Subject: [PATCH 24/50] test_cases.json: add missing deprecated CAM002.001 Signed-off-by: Krystian Hebel --- test_cases.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test_cases.json b/test_cases.json index 250fc5e213..80ebb6d6db 100644 --- a/test_cases.json +++ b/test_cases.json @@ -756,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", From 19950f4faf586707e14d36db7a64902ce49ac724 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 18:59:53 +0200 Subject: [PATCH 25/50] dasharo-compatibility/custom-boot-order.robot: add previous ID, sync with JSON Signed-off-by: Krystian Hebel --- dasharo-compatibility/custom-boot-order.robot | 1 + test_cases.json | 8 ++++++++ 2 files changed, 9 insertions(+) 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/test_cases.json b/test_cases.json index 80ebb6d6db..29a5ee8d6b 100644 --- a/test_cases.json +++ b/test_cases.json @@ -876,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" } }, From d98cbb9d2723f65a5d5e541a5cdd9a9dc23f6da6 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 19:04:41 +0200 Subject: [PATCH 26/50] test_cases.json: synchronize CHS names Signed-off-by: Krystian Hebel --- test_cases.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test_cases.json b/test_cases.json index 29a5ee8d6b..be392e32e2 100644 --- a/test_cases.json +++ b/test_cases.json @@ -1003,7 +1003,7 @@ { "doc": { "_id": "CHS001.201", - "name": "Camera enable", + "name": "Check camera enablement", "module": "Dasharo Security" } }, @@ -1025,7 +1025,7 @@ { "doc": { "_id": "CHS002.201", - "name": "Camera disable", + "name": "Check camera disablement", "module": "Dasharo Security" } }, From 35a438e6b2379282bd6b49c530173592d5d9d75c Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 19:12:21 +0200 Subject: [PATCH 27/50] dasharo-compatibility/custom-network-boot-entries.robot: fix CNB001.201 IDs Database only used CNB001.002, while OSFV - only CNB001.001. To make it work with existing results and not break future copied releases, create CNB001.001 -> CNB001.002 -> CNB001.201 chain. Signed-off-by: Krystian Hebel --- dasharo-compatibility/custom-network-boot-entries.robot | 2 +- test_cases.json | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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/test_cases.json b/test_cases.json index be392e32e2..a00732457b 100644 --- a/test_cases.json +++ b/test_cases.json @@ -1043,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", From 34a418ac18e17131d2066201178d297b46ec686f Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 19:38:39 +0200 Subject: [PATCH 28/50] test_cases.json: sync DMI001.201 name Signed-off-by: Krystian Hebel --- test_cases.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_cases.json b/test_cases.json index a00732457b..d14547b808 100644 --- a/test_cases.json +++ b/test_cases.json @@ -2375,7 +2375,7 @@ { "doc": { "_id": "DMI001.201", - "name": "Verify the serial number", + "name": "Verify the device serial number", "module": "Dasharo Compatibility" } }, From 5f1617ade80894313017ea77a1a4cb0ba1270541 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 19:39:55 +0200 Subject: [PATCH 29/50] dasharo-compatibility/display-ports-and-lcd-support.robot: remove dash from names Signed-off-by: Krystian Hebel --- .../display-ports-and-lcd-support.robot | 18 +++++++++--------- test_cases.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) 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/test_cases.json b/test_cases.json index d14547b808..dae4be1c52 100644 --- a/test_cases.json +++ b/test_cases.json @@ -2524,7 +2524,7 @@ { "doc": { "_id": "DSP001.201", - "name": "Internal display in OS", + "name": "Internal display in OS (Ubuntu)", "module": "Dasharo Compatibility" } }, From bfff1a05dfa08f6bda0ad13416458894192aee9a Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 19:45:15 +0200 Subject: [PATCH 30/50] dasharo-compatibility/efi.robot: fix previous ID It was pointing to itself. Signed-off-by: Krystian Hebel --- dasharo-compatibility/efi.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 3b23b2cb04462e0ad665849daf4664d0e3923974 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 19:48:59 +0200 Subject: [PATCH 31/50] test_cases.json: sync ETHPERF with test cases (missing changed_to) Signed-off-by: Krystian Hebel --- test_cases.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test_cases.json b/test_cases.json index dae4be1c52..c8e6fb13f3 100644 --- a/test_cases.json +++ b/test_cases.json @@ -3825,6 +3825,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", @@ -3832,6 +3840,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", From b90d9197904e391606f90bd44db6df06092f02c1 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 19:51:17 +0200 Subject: [PATCH 32/50] test_cases.json: add FAN006.201 Missing OS name, will be added later in a batch. Signed-off-by: Krystian Hebel --- test_cases.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test_cases.json b/test_cases.json index c8e6fb13f3..dbee0c15f6 100644 --- a/test_cases.json +++ b/test_cases.json @@ -3890,6 +3890,13 @@ "module": "Dasharo Compatibility" } }, + { + "doc": { + "_id": "FAN006.201", + "name": "GPU fan speed measure", + "module": "Dasharo Compatibility" + } + }, { "doc": { "_id": "FBC001.001", From 2c5eb43ac58e27dda47442aa2a639c931d74b84b Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 19:52:32 +0200 Subject: [PATCH 33/50] test_cases.json: fix GPP001.201 name (superfluous space) Signed-off-by: Krystian Hebel --- test_cases.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_cases.json b/test_cases.json index dbee0c15f6..3a3f83ef16 100644 --- a/test_cases.json +++ b/test_cases.json @@ -3963,7 +3963,7 @@ { "doc": { "_id": "GPP001.201", - "name": "GPU Performance Measure (Ubuntu) (AC)", + "name": "GPU Performance Measure (Ubuntu) (AC)", "module": "Dasharo Performance" } }, From 784d3e3bdacc7d476c5ad5c280130b0b4b31c21d Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 19:54:24 +0200 Subject: [PATCH 34/50] test_cases.json: fix HDS001.001 name Still many manual HDS cases not present in OSFV. Signed-off-by: Krystian Hebel --- test_cases.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_cases.json b/test_cases.json index 3a3f83ef16..cd30e4af0d 100644 --- a/test_cases.json +++ b/test_cases.json @@ -3998,7 +3998,7 @@ { "doc": { "_id": "HDS001.001", - "name": "Install Heads ", + "name": "Heads installation", "module": "Dasharo Compatibility" } }, From 21499f92095ea734b06e624b8ab9d33572dd9ccd Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 19:58:16 +0200 Subject: [PATCH 35/50] test_cases.json: add missing deprecated MBO002.001 There are multiple MBO cases with MNE names, this needs investigation and heavy modifications in database, including in existing releases. Signed-off-by: Krystian Hebel --- test_cases.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test_cases.json b/test_cases.json index cd30e4af0d..e5d9d4f596 100644 --- a/test_cases.json +++ b/test_cases.json @@ -4220,6 +4220,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", From 6faef237fb8be20f3cc3c9e33bfdf690d93debcf Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 20:16:40 +0200 Subject: [PATCH 36/50] test_cases.json: remove changed_to from MWL003.002 It was pointing to non-existing MWL003.301. Neither of those exists in OSFV repo as a test case, but MWL003.002 exists as a comment. Signed-off-by: Krystian Hebel --- test_cases.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test_cases.json b/test_cases.json index e5d9d4f596..9caf16fb0a 100644 --- a/test_cases.json +++ b/test_cases.json @@ -4455,8 +4455,7 @@ "doc": { "_id": "MWL003.002", "name": "Bluetooth scanning (Windows)", - "module": "Dasharo Compatibility", - "changed_to": "MWL003.301" + "module": "Dasharo Compatibility" } }, { From 83d7b2befe9ca06a61ea1d5f7ab45342f6c0a6b5 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 20:25:02 +0200 Subject: [PATCH 37/50] test_cases.json: add NBT008.001, fix other NBT names Signed-off-by: Krystian Hebel --- test_cases.json | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/test_cases.json b/test_cases.json index 9caf16fb0a..2aa51a4f03 100644 --- a/test_cases.json +++ b/test_cases.json @@ -4518,7 +4518,7 @@ { "doc": { "_id": "NBT002.001", - "name": "OS Selection & Utilities is available", + "name": "OS selection & utilities is available", "module": "Dasharo Compatibility" } }, @@ -4553,7 +4553,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" } }, From ff712ade916ff23178e0d020b2757b5c77919b6f Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 20:34:13 +0200 Subject: [PATCH 38/50] dasharo-stability/network-interface-after-suspend.robot: sync with JSON Signed-off-by: Krystian Hebel --- .../network-interface-after-suspend.robot | 2 +- test_cases.json | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) 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/test_cases.json b/test_cases.json index 2aa51a4f03..a59692cea4 100644 --- a/test_cases.json +++ b/test_cases.json @@ -4582,7 +4582,8 @@ "doc": { "_id": "NET002.001", "name": "NET controller after warmboot (Ubuntu)", - "module": "Dasharo Compatibility" + "module": "Dasharo Compatibility", + "changed_to": "NET002.201" } }, { @@ -4680,6 +4681,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", From e1bbad9c6dcdbf9612d86bc266322318328f27b5 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 20:35:53 +0200 Subject: [PATCH 39/50] test_cases.json: add PXE007.001 Signed-off-by: Krystian Hebel --- test_cases.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test_cases.json b/test_cases.json index a59692cea4..8fbcd197d2 100644 --- a/test_cases.json +++ b/test_cases.json @@ -5066,6 +5066,13 @@ "module": "Dasharo Compatibility" } }, + { + "doc": { + "_id": "PXE007.001", + "name": "Dasharo Network Boot over https not http", + "module": "Dasharo Compatibility" + } + }, { "doc": { "_id": "QBS001.001", From 51573deb3aa7a6ee6435377cbcc2e92d74525ea4 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 20:44:22 +0200 Subject: [PATCH 40/50] dasharo-compatibility/sata-detect.robot: add previous ID, sync names Signed-off-by: Krystian Hebel --- dasharo-compatibility/sata-detect.robot | 1 + test_cases.json | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) 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/test_cases.json b/test_cases.json index 8fbcd197d2..09f9e1d7f5 100644 --- a/test_cases.json +++ b/test_cases.json @@ -5209,7 +5209,7 @@ { "doc": { "_id": "SAT001.002", - "name": "SATA support in OS (Ubuntu}", + "name": "SATA support in OS (Ubuntu)", "module": "Dasharo Compatibility", "changed_to": "SAT001.201" } @@ -5217,7 +5217,7 @@ { "doc": { "_id": "SAT001.003", - "name": "SATA support in OS (Windows}", + "name": "SATA support in OS (Windows)", "module": "Dasharo Compatibility" } }, @@ -5239,7 +5239,7 @@ { "doc": { "_id": "SAT001.201", - "name": "SATA support in OS (Ubuntu}", + "name": "SATA support in OS (Ubuntu)", "module": "Dasharo Compatibility" } }, From 98dda6ac57a806065e56d8fdb88cafeda323c22b Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 20:46:30 +0200 Subject: [PATCH 41/50] test_cases.json: sync SBO names Shell changed to Boot Maintenance Manager. It really should be assigned a different ID after such change, but there are already releases that use it in this form. Signed-off-by: Krystian Hebel --- test_cases.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test_cases.json b/test_cases.json index 09f9e1d7f5..75ef7c35f2 100644 --- a/test_cases.json +++ b/test_cases.json @@ -5274,21 +5274,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" } }, From 67f9fa67ce4e4013c45644706d44c4b0c7839729 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 20:58:52 +0200 Subject: [PATCH 42/50] dasharo-stability/m2-wifi.robot: fix multiple ID issues Malformed IDs (too many digits) were used in release scopes, those had to be added to lists of previous IDs. Links were also made in JSON file. All of Fedora tests pointed to Ubuntu tests as previous IDs, those have been removed to restore 1-to-1 mapping. Signed-off-by: Krystian Hebel --- dasharo-stability/m2-wifi.robot | 16 ++++++++-------- test_cases.json | 12 ++++++++---- 2 files changed, 16 insertions(+), 12 deletions(-) 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/test_cases.json b/test_cases.json index 75ef7c35f2..00f71b1c4f 100644 --- a/test_cases.json +++ b/test_cases.json @@ -5496,28 +5496,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" } }, { From cbade5ea3110cb3b0b1bea74f97fbbfd7878e359 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 21:11:34 +0200 Subject: [PATCH 43/50] dasharo-stability/nvme-detection.robot: fix multiple ID issues Malformed IDs (too many digits) were used in release scopes, those had to be added to lists of previous IDs. Links were also made in JSON file. Signed-off-by: Krystian Hebel --- dasharo-stability/nvme-detection.robot | 15 ++-- test_cases.json | 98 +++++++++++++++++++++++--- 2 files changed, 99 insertions(+), 14 deletions(-) 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/test_cases.json b/test_cases.json index 00f71b1c4f..6b419e0c21 100644 --- a/test_cases.json +++ b/test_cases.json @@ -5673,14 +5673,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" } }, { @@ -5688,14 +5690,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" } }, { @@ -5703,14 +5706,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" } }, { @@ -5718,7 +5722,7 @@ "_id": "SNV0004.001", "name": "NVMe detection after suspension (Ubuntu)", "module": "Dasharo Stability", - "changed_to": "SNV004.201" + "changed_to": "SNV004.001" } }, { @@ -5726,7 +5730,7 @@ "_id": "SNV0004.002", "name": "NVMe detection after suspension (Ubuntu) (S0ix)", "module": "Dasharo Stability", - "changed_to": "SNV005.201" + "changed_to": "SNV004.002" } }, { @@ -5734,13 +5738,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" } }, @@ -5758,6 +5792,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", @@ -5772,6 +5821,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", From a186024701be1602c6a4c254650022b36241c023 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 21:14:00 +0200 Subject: [PATCH 44/50] test_cases.json: sync SPS001.001 name Signed-off-by: Krystian Hebel --- test_cases.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_cases.json b/test_cases.json index 6b419e0c21..d6e04e8d98 100644 --- a/test_cases.json +++ b/test_cases.json @@ -6037,7 +6037,7 @@ { "doc": { "_id": "SPS001.001", - "name": "Check Ethernet Ports Order", + "name": "Ethernet ports are in order", "module": "Dasharo Compatibility" } }, From 967ecb22c54e562721fdba004235685e417f0bd0 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 21:20:07 +0200 Subject: [PATCH 45/50] dasharo-stability/usb-type-a-devices-detection.robot: fix multiple ID issues Malformed IDs (too many digits) were used in release scopes, those had to be added to lists of previous IDs. Links were also made in JSON file. Signed-off-by: Krystian Hebel --- .../usb-type-a-devices-detection.robot | 15 ++- test_cases.json | 98 +++++++++++++++++-- 2 files changed, 99 insertions(+), 14 deletions(-) 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/test_cases.json b/test_cases.json index d6e04e8d98..2eaceb0ebd 100644 --- a/test_cases.json +++ b/test_cases.json @@ -6125,14 +6125,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" } }, { @@ -6140,14 +6142,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" } }, { @@ -6155,14 +6158,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" } }, { @@ -6170,7 +6174,7 @@ "_id": "SUD0004.001", "name": "USB devices detection after suspension (Ubuntu)", "module": "Dasharo Stability", - "changed_to": "SUD004.201" + "changed_to": "SUD004.001" } }, { @@ -6178,7 +6182,7 @@ "_id": "SUD0004.002", "name": "USB devices detection after suspension (Ubuntu) (S0ix)", "module": "Dasharo Stability", - "changed_to": "SUD005.201" + "changed_to": "SUD004.002" } }, { @@ -6186,13 +6190,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" } }, @@ -6210,6 +6244,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", @@ -6224,6 +6273,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", From 916d84086913791aabf582d9c92caf187bc034b1 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 21:22:24 +0200 Subject: [PATCH 46/50] test_cases.json: add missing changed_to for TPD004.001 Signed-off-by: Krystian Hebel --- test_cases.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test_cases.json b/test_cases.json index 2eaceb0ebd..8a93392b3e 100644 --- a/test_cases.json +++ b/test_cases.json @@ -6564,7 +6564,8 @@ "doc": { "_id": "TPD004.001", "name": "Detect TPM after platform suspend (Ubuntu)", - "module": "Dasharo Stability" + "module": "Dasharo Stability", + "changed_to": "TPD004.201" } }, { From a5481c7cf54cf870b36411aff9800296438bf74e Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 21:29:58 +0200 Subject: [PATCH 47/50] dasharo-security/tpm-support.robot: sync with JSON, add deprecated IDs Signed-off-by: Krystian Hebel --- dasharo-security/tpm-support.robot | 3 ++- test_cases.json | 31 ++++++++++++++++++++++++++---- 2 files changed, 29 insertions(+), 5 deletions(-) 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/test_cases.json b/test_cases.json index 8a93392b3e..ef04121de5 100644 --- a/test_cases.json +++ b/test_cases.json @@ -6582,6 +6582,13 @@ "module": "Dasharo Stability" } }, + { + "doc": { + "_id": "TPM001.001", + "name": "TPM Support (firmware)", + "module": "Dasharo Security" + } + }, { "doc": { "_id": "TPM001.002", @@ -6673,21 +6680,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" } }, @@ -6740,7 +6747,8 @@ "doc": { "_id": "TPM003.101", "name": "Change active PCR banks with TPM PPI (firmware)", - "module": "Dasharo Security" + "module": "Dasharo Security", + "changed_to": "TPM011.101" } }, { @@ -6768,6 +6776,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" } }, From 1267d32ffad635403f9fb7623c1a7f3c6d34f697 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 21:36:35 +0200 Subject: [PATCH 48/50] test_cases.json: sync UTC108.201 name Multiple deprecations to be done in JSON. Signed-off-by: Krystian Hebel --- test_cases.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_cases.json b/test_cases.json index ef04121de5..3bcf240b08 100644 --- a/test_cases.json +++ b/test_cases.json @@ -7866,7 +7866,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" } }, From 7089d3ae0203346719b2fce459983628aa843e89 Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 21:43:24 +0200 Subject: [PATCH 49/50] dasharo-compatibility/watchdog.robot: fix typo in ID, proper IDs for skip This test wasn't included in a release yet, it is safe to change. Also drop Ubuntu version from name and add it to JSON. Signed-off-by: Krystian Hebel --- dasharo-compatibility/watchdog.robot | 6 +++--- test_cases.json | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) 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/test_cases.json b/test_cases.json index 3bcf240b08..220c6e6199 100644 --- a/test_cases.json +++ b/test_cases.json @@ -10084,6 +10084,13 @@ "module": "Dasharo Compatibility" } }, + { + "doc": { + "_id": "WDT006.001", + "name": "Watchdog resets platform on kernel crash (Ubuntu)", + "module": "Dasharo Compatibility" + } + }, { "doc": { "_id": "WLE001.001", From 524c8a18ed265310f0b5b3c801504cb06c5034cb Mon Sep 17 00:00:00 2001 From: Krystian Hebel Date: Mon, 16 Jun 2025 21:51:54 +0200 Subject: [PATCH 50/50] test_cases.json: add missing DTS cases Signed-off-by: Krystian Hebel --- test_cases.json | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/test_cases.json b/test_cases.json index 220c6e6199..d7f8f416ea 100644 --- a/test_cases.json +++ b/test_cases.json @@ -2758,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",