Merge "fix(docs): make generate_test_list backward compatible"
diff --git a/docs/getting_started/requirements.rst b/docs/getting_started/requirements.rst
index f38964a..ca1a0c5 100644
--- a/docs/getting_started/requirements.rst
+++ b/docs/getting_started/requirements.rst
@@ -25,7 +25,7 @@
sudo apt-get install device-tree-compiler build-essential git python3
-Note that at least Python 3.7 is required.
+Note that at least Python 3.8 is required.
Download and install the GNU cross-toolchain from Arm. The TF-A Tests have
been tested with version 12.2.Rel1 (gcc 12.2):
diff --git a/tools/generate_test_list/generate_test_list.py b/tools/generate_test_list/generate_test_list.py
index ed80dc5..1fbe8ce 100755
--- a/tools/generate_test_list/generate_test_list.py
+++ b/tools/generate_test_list/generate_test_list.py
@@ -19,14 +19,13 @@
# flake8 tools/generate_test_list/ --max-line-length 100
import argparse
-from dataclasses import dataclass
import os.path
import urllib.parse
import xml.etree.ElementInclude
-from xml.etree.ElementTree import Element
-from xml.etree.ElementTree import TreeBuilder
import xml.parsers.expat
-
+from dataclasses import dataclass
+from typing import Dict, List
+from xml.etree.ElementTree import Element, TreeBuilder
TESTS_LIST_H_TPL_FILENAME = "tests_list.h.tpl"
TESTCASE_COUNT_TEMPLATE = "{{testcase_count}}"
@@ -58,7 +57,7 @@
name: str
description: str
- testcases: list[TestCase]
+ testcases: List[TestCase]
def find_element_with_name_or_return_none(iterable, name: str):
@@ -66,7 +65,7 @@
return next(filter(lambda x: x.name == name, iterable), None)
-def parse_testsuites_element_into_ir(root: Element) -> list[TestSuite]:
+def parse_testsuites_element_into_ir(root: Element) -> List[TestSuite]:
"""Given the root of a parsed XML file, construct TestSuite objects."""
testsuite_xml_elements = root.findall(".//testsuite")
@@ -159,7 +158,7 @@
return parse_xml_no_xinclude_expansion(urllib.parse.urljoin(self.base_url, href))
-def parse_testsuites_from_file(filename: str) -> list[TestSuite]:
+def parse_testsuites_from_file(filename: str) -> List[TestSuite]:
"""Given an XML file, parse the contents into a List[TestSuite]."""
root = parse_xml_no_xinclude_expansion(filename)
@@ -182,7 +181,7 @@
return testsuites
-def check_validity_of_names(testsuites: list[TestSuite]):
+def check_validity_of_names(testsuites: List[TestSuite]):
"""Checks that all testsuite and testcase names are valid."""
testsuite_name_set = set()
for ts in testsuites:
@@ -206,7 +205,7 @@
testcase_name_set.add(tc.name)
-def remove_skipped_tests(testsuites: list[TestSuite], skip_tests_filename: str):
+def remove_skipped_tests(testsuites: List[TestSuite], skip_tests_filename: str):
"""Remove skipped tests from testsuites based on skip_tests_filename."""
with open(skip_tests_filename) as skipped_file:
skipped_file_lines = skipped_file.readlines()
@@ -248,12 +247,12 @@
return testsuites
-def generate_function_prototypes(testcases: list[TestCase]):
+def generate_function_prototypes(testcases: List[TestCase]):
"""Generates function prototypes for the provided list of testcases."""
return [f"test_result_t {t.function}(void);" for t in testcases]
-def generate_testcase_lists(testsuites: list[TestSuite]):
+def generate_testcase_lists(testsuites: List[TestSuite]):
"""Generates the lists that enumerate the individual testcases in each testsuite."""
testcase_lists_contents = []
testcase_index = 0
@@ -271,7 +270,7 @@
return testcase_lists_contents
-def generate_testsuite_lists(testsuites: list[TestSuite]):
+def generate_testsuite_lists(testsuites: List[TestSuite]):
"""Generates the list of testsuites."""
testsuites_list_contents = []
testsuites_list_contents += ["const test_suite_t testsuites[] = {"]
@@ -285,7 +284,7 @@
def generate_file_from_template(
- template_filename: str, output_filename: str, template: dict[str, str]
+ template_filename: str, output_filename: str, template: Dict[str, str]
):
"""Given a template file, generate an output file based on template dictionary."""
with open(template_filename) as template_fobj: