refactor(build): python generate_test_list script
This change introduces generate_test_list.py which is exactly like
generate_test_list.pl except written in python. This helps remove a
dependency on perl as well as a dependency on perl's libxml bindings.
The only required dependency is python3 and its standard library.
Tested by generating tests_list.c/h for each xml file and each platform
and comparing it against the output from the original script.
Signed-off-by: Jim Ray <jimray@google.com>
Change-Id: If0fa8d0e45bf58ce35081aaeb7a9320dfcefdbf9
diff --git a/Makefile b/Makefile
index 2c31a1a..0e7a3e9 100644
--- a/Makefile
+++ b/Makefile
@@ -525,8 +525,10 @@
$(AUTOGEN_DIR)/tests_list.c $(AUTOGEN_DIR)/tests_list.h: $(AUTOGEN_DIR) ${TESTS_FILE} ${PLAT_TESTS_SKIP_LIST} $(ARCH_TESTS_SKIP_LIST)
@echo " AUTOGEN $@"
- tools/generate_test_list/generate_test_list.pl $(AUTOGEN_DIR)/tests_list.c \
- $(AUTOGEN_DIR)/tests_list.h ${TESTS_FILE} $(PLAT_TESTS_SKIP_LIST) $(ARCH_TESTS_SKIP_LIST)
+ tools/generate_test_list/generate_test_list.py $(AUTOGEN_DIR)/tests_list.c \
+ $(AUTOGEN_DIR)/tests_list.h ${TESTS_FILE} \
+ --plat-skip-file=$(PLAT_TESTS_SKIP_LIST) \
+ --arch-skip-file=$(ARCH_TESTS_SKIP_LIST)
ifeq ($(SMC_FUZZING), 1)
$(Q)mkdir -p ${BUILD_PLAT}/smcf
dtc ${SMC_FUZZ_DTS} >> ${BUILD_PLAT}/smcf/dtb