Test that generate_test_code.py is still compatible with Python 2

When Mbed TLS 2.16 was released, the requirement was Python 2, not
Python 3. Since then, upstream Python 2 support has stopped, but it is
still maintained in some long-term-support distributions. For the sake
of users who build the unit tests in such environments, test that
generate_test_code.py remains compatible with Python 2.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
Gilles Peskine
2021-05-06 15:07:29 +02:00
parent 484df7583b
commit 3c546f71c9
3 changed files with 17 additions and 1 deletions

View File

@@ -62,7 +62,7 @@ BINARIES := $(addsuffix $(EXEXT),$(APPS))
.SILENT:
.PHONY: all check test clean
.PHONY: all c_files check test clean
all: $(BINARIES)
@@ -70,6 +70,7 @@ $(DEP):
$(MAKE) -C ../library
C_FILES := $(addsuffix .c,$(APPS))
c_files: $(C_FILES)
# Wildcard target for test code generation:
# A .c file is generated for each .data file in the suites/ directory. Each .c

View File

@@ -691,6 +691,18 @@ component_check_doxygen_warnings () {
record_status tests/scripts/doxygen.sh
}
component_check_python2 () {
# Check that what used to work with Python 2 still works with Python 2.
msg "check: python2 compatibility"
mkdir -p tests/with_python2 tests/with_python3
make -C tests PYTHON=python2 c_files
mv tests/test_suite_*.c tests/with_python2/
make -C tests PYTHON=python3 c_files
mv tests/test_suite_*.c tests/with_python3/
diff -r tests/with_python2 tests/with_python3
rm -rf tests/with_python2 tests/with_python3
}
################################################################

View File

@@ -1,4 +1,7 @@
#!/usr/bin/env python3
# This script should still be compatible with Python 2 in Mbed TLS 2.16.x.
# Test suites code generator.
#
# Copyright The Mbed TLS Contributors