Minor improvements to test code script

Signed-off-by: David Horstmann <david.horstmann@arm.com>
This commit is contained in:
David Horstmann 2022-11-09 17:27:33 +00:00
parent b85838f2f4
commit 360f8e4429

View File

@ -126,9 +126,11 @@ code that is generated or read from helpers and platform files.
This script replaces following fields in the template and generates This script replaces following fields in the template and generates
the test source file: the test source file:
__MBEDTLS_TEST_TEMPLATE__TEST_COMMON_HELPERS <-- All common code from helpers.function __MBEDTLS_TEST_TEMPLATE__TEST_COMMON_HELPERS
All common code from helpers.function
is substituted here. is substituted here.
__MBEDTLS_TEST_TEMPLATE__FUNCTIONS_CODE <-- Test functions are substituted here __MBEDTLS_TEST_TEMPLATE__FUNCTIONS_CODE
Test functions are substituted here
from the input test_suit_xyz.function from the input test_suit_xyz.function
file. C preprocessor checks are generated file. C preprocessor checks are generated
for the build dependencies specified for the build dependencies specified
@ -137,21 +139,25 @@ __MBEDTLS_TEST_TEMPLATE__FUNCTIONS_CODE <-- Test functions are substitut
functions with code to expand the functions with code to expand the
string parameters read from the data string parameters read from the data
file. file.
__MBEDTLS_TEST_TEMPLATE__EXPRESSION_CODE <-- This script enumerates the __MBEDTLS_TEST_TEMPLATE__EXPRESSION_CODE
This script enumerates the
expressions in the .data file and expressions in the .data file and
generates code to handle enumerated generates code to handle enumerated
expression Ids and return the values. expression Ids and return the values.
__MBEDTLS_TEST_TEMPLATE__DEP_CHECK_CODE <-- This script enumerates all __MBEDTLS_TEST_TEMPLATE__DEP_CHECK_CODE
This script enumerates all
build dependencies and generate build dependencies and generate
code to handle enumerated build code to handle enumerated build
dependency Id and return status: if dependency Id and return status: if
the dependency is defined or not. the dependency is defined or not.
__MBEDTLS_TEST_TEMPLATE__DISPATCH_CODE <-- This script enumerates the functions __MBEDTLS_TEST_TEMPLATE__DISPATCH_CODE
This script enumerates the functions
specified in the input test data file specified in the input test data file
and generates the initializer for the and generates the initializer for the
function table in the template function table in the template
file. file.
__MBEDTLS_TEST_TEMPLATE__PLATFORM_CODE <-- Platform specific setup and test __MBEDTLS_TEST_TEMPLATE__PLATFORM_CODE
Platform specific setup and test
dispatch code. dispatch code.
""" """
@ -985,10 +991,7 @@ def write_test_source_file(template_file, c_file, snippets):
braced = "(?P<braced>(?!))" braced = "(?P<braced>(?!))"
# If not already matched, a "__MBEDTLS_TEST_TEMPLATE__" prefix is invalid. # If not already matched, a "__MBEDTLS_TEST_TEMPLATE__" prefix is invalid.
invalid = "(?P<invalid>__MBEDTLS_TEST_TEMPLATE__)" invalid = "(?P<invalid>__MBEDTLS_TEST_TEMPLATE__)"
placeholder_pattern = re.compile(escaped \ placeholder_pattern = re.compile("|".join([escaped, named, braced, invalid]))
+ "|" + named \
+ "|" + braced \
+ "|" + invalid)
with open(template_file, 'r') as template_f, open(c_file, 'w') as c_f: with open(template_file, 'r') as template_f, open(c_file, 'w') as c_f:
for line_no, line in enumerate(template_f.readlines(), 1): for line_no, line in enumerate(template_f.readlines(), 1):