mirror of
https://github.com/yuzu-emu/mbedtls
synced 2024-11-24 07:28:08 +00:00
Wildcard possible targets and document
Test application names and function file names can be constructed based on the followed naming convention. This commit documents the naming convention and removes explicit listing of the test executables and the lookup table for finding .function file.
This commit is contained in:
parent
5fcca46a3a
commit
27a35e7712
1 changed files with 25 additions and 123 deletions
148
tests/Makefile
148
tests/Makefile
|
@ -53,126 +53,14 @@ ifdef ZLIB
|
|||
LOCAL_LDFLAGS += -lz
|
||||
endif
|
||||
|
||||
APPS = test_suite_aes.ecb test_suite_aes.cbc \
|
||||
test_suite_aes.cfb test_suite_aes.ofb \
|
||||
test_suite_aes.xts \
|
||||
test_suite_aes.rest test_suite_arc4 \
|
||||
test_suite_aria test_suite_asn1write \
|
||||
test_suite_base64 test_suite_blowfish \
|
||||
test_suite_camellia test_suite_ccm \
|
||||
test_suite_chacha20 test_suite_chachapoly \
|
||||
test_suite_aria \
|
||||
test_suite_cmac \
|
||||
test_suite_cipher.aes \
|
||||
test_suite_cipher.arc4 test_suite_cipher.ccm \
|
||||
test_suite_cipher.chacha20 \
|
||||
test_suite_cipher.gcm \
|
||||
test_suite_cipher.blowfish \
|
||||
test_suite_cipher.camellia \
|
||||
test_suite_cipher.des test_suite_cipher.null \
|
||||
test_suite_cipher.padding \
|
||||
test_suite_ctr_drbg test_suite_debug \
|
||||
test_suite_des test_suite_dhm \
|
||||
test_suite_ecdh test_suite_ecdsa \
|
||||
test_suite_ecjpake test_suite_ecp \
|
||||
test_suite_error test_suite_entropy \
|
||||
test_suite_gcm.aes128_de \
|
||||
test_suite_gcm.aes192_de \
|
||||
test_suite_gcm.aes256_de \
|
||||
test_suite_gcm.aes128_en \
|
||||
test_suite_gcm.aes192_en \
|
||||
test_suite_gcm.aes256_en \
|
||||
test_suite_gcm.camellia \
|
||||
test_suite_hkdf \
|
||||
test_suite_hmac_drbg.misc \
|
||||
test_suite_hmac_drbg.no_reseed \
|
||||
test_suite_hmac_drbg.nopr \
|
||||
test_suite_hmac_drbg.pr \
|
||||
test_suite_md test_suite_mdx \
|
||||
test_suite_memory_buffer_alloc \
|
||||
test_suite_mpi \
|
||||
test_suite_pem test_suite_pkcs1_v15 \
|
||||
test_suite_pkcs1_v21 test_suite_pkcs5 \
|
||||
test_suite_pkparse test_suite_pkwrite \
|
||||
test_suite_pk \
|
||||
test_suite_rsa test_suite_shax \
|
||||
test_suite_ssl test_suite_timing \
|
||||
test_suite_x509parse test_suite_x509write \
|
||||
test_suite_xtea test_suite_version
|
||||
# A test application is built for each suites/test_suite_*.data file.
|
||||
# Application name is same as .data file's base name and can be
|
||||
# constructed by stripping path 'suites/' and extension .data.
|
||||
APPS = $(basename $(subst suites/,,$(wildcard suites/test_suite_*.data)))
|
||||
|
||||
# Construct executable name by adding OS specific suffix $(EXEXT).
|
||||
BINARIES := $(addsuffix $(EXEXT),$(APPS))
|
||||
|
||||
# Look up for associated function files
|
||||
func.test_suite_aes.ecb := test_suite_aes
|
||||
func.test_suite_aes.cbc := test_suite_aes
|
||||
func.test_suite_aes.cfb := test_suite_aes
|
||||
func.test_suite_aes.ofb := test_suite_aes
|
||||
func.test_suite_aes.xts := test_suite_aes
|
||||
func.test_suite_aes.rest := test_suite_aes
|
||||
func.test_suite_arc4 := test_suite_arc4
|
||||
func.test_suite_aria := test_suite_aria
|
||||
func.test_suite_asn1write := test_suite_asn1write
|
||||
func.test_suite_base64 := test_suite_base64
|
||||
func.test_suite_blowfish := test_suite_blowfish
|
||||
func.test_suite_camellia := test_suite_camellia
|
||||
func.test_suite_ccm := test_suite_ccm
|
||||
func.test_suite_chacha20 := test_suite_chacha20
|
||||
func.test_suite_chachapoly := test_suite_chachapoly
|
||||
func.test_suite_cmac := test_suite_cmac
|
||||
func.test_suite_cipher.chachapoly := test_suite_cipher
|
||||
func.test_suite_cipher.aes := test_suite_cipher
|
||||
func.test_suite_cipher.arc4 := test_suite_cipher
|
||||
func.test_suite_cipher.ccm := test_suite_cipher
|
||||
func.test_suite_cipher.chacha20 := test_suite_cipher
|
||||
func.test_suite_cipher.gcm := test_suite_cipher
|
||||
func.test_suite_cipher.blowfish := test_suite_cipher
|
||||
func.test_suite_cipher.camellia := test_suite_cipher
|
||||
func.test_suite_cipher.des := test_suite_cipher
|
||||
func.test_suite_cipher.null := test_suite_cipher
|
||||
func.test_suite_cipher.padding := test_suite_cipher
|
||||
func.test_suite_ctr_drbg := test_suite_ctr_drbg
|
||||
func.test_suite_debug := test_suite_debug
|
||||
func.test_suite_des := test_suite_des
|
||||
func.test_suite_dhm := test_suite_dhm
|
||||
func.test_suite_ecdh := test_suite_ecdh
|
||||
func.test_suite_ecdsa := test_suite_ecdsa
|
||||
func.test_suite_ecjpake := test_suite_ecjpake
|
||||
func.test_suite_ecp := test_suite_ecp
|
||||
func.test_suite_error := test_suite_error
|
||||
func.test_suite_entropy := test_suite_entropy
|
||||
func.test_suite_gcm.aes128_de := test_suite_gcm
|
||||
func.test_suite_gcm.aes192_de := test_suite_gcm
|
||||
func.test_suite_gcm.aes256_de := test_suite_gcm
|
||||
func.test_suite_gcm.aes128_en := test_suite_gcm
|
||||
func.test_suite_gcm.aes192_en := test_suite_gcm
|
||||
func.test_suite_gcm.aes256_en := test_suite_gcm
|
||||
func.test_suite_gcm.camellia := test_suite_gcm
|
||||
func.test_suite_hkdf := test_suite_hkdf
|
||||
func.test_suite_hmac_drbg.misc := test_suite_hmac_drbg
|
||||
func.test_suite_hmac_drbg.no_reseed := test_suite_hmac_drbg
|
||||
func.test_suite_hmac_drbg.nopr := test_suite_hmac_drbg
|
||||
func.test_suite_hmac_drbg.pr := test_suite_hmac_drbg
|
||||
func.test_suite_md := test_suite_md
|
||||
func.test_suite_mdx := test_suite_mdx
|
||||
func.test_suite_memory_buffer_alloc := test_suite_memory_buffer_alloc
|
||||
func.test_suite_mpi := test_suite_mpi
|
||||
func.test_suite_nist_kw := test_suite_nist_kw
|
||||
func.test_suite_pem := test_suite_pem
|
||||
func.test_suite_pkcs1_v15 := test_suite_pkcs1_v15
|
||||
func.test_suite_pkcs1_v21 := test_suite_pkcs1_v21
|
||||
func.test_suite_pkcs5 := test_suite_pkcs5
|
||||
func.test_suite_pkparse := test_suite_pkparse
|
||||
func.test_suite_pkwrite := test_suite_pkwrite
|
||||
func.test_suite_pk := test_suite_pk
|
||||
func.test_suite_rsa := test_suite_rsa
|
||||
func.test_suite_shax := test_suite_shax
|
||||
func.test_suite_ssl := test_suite_ssl
|
||||
func.test_suite_timing := test_suite_timing
|
||||
func.test_suite_x509parse := test_suite_x509parse
|
||||
func.test_suite_x509write := test_suite_x509write
|
||||
func.test_suite_xtea := test_suite_xtea
|
||||
func.test_suite_version := test_suite_version
|
||||
|
||||
.SILENT:
|
||||
|
||||
.PHONY: all check test clean
|
||||
|
@ -182,14 +70,26 @@ all: $(BINARIES)
|
|||
$(DEP):
|
||||
$(MAKE) -C ../library
|
||||
|
||||
# invoke perl explicitly for the sake of mingw32-make
|
||||
|
||||
C_FILES := $(addsuffix .c,$(APPS))
|
||||
|
||||
# Wildcard target for test code generation:
|
||||
# A .c file is generated for each .data file in the suites/ directory. Each .c
|
||||
# file depends on a .data and .function file from suites/ directory. Following
|
||||
# nameing convention is followed:
|
||||
#
|
||||
# C file | Depends on
|
||||
#-----------------------------------------------------------------------------
|
||||
# foo.c | suites/foo.function suites/foo.data
|
||||
# foo.bar.c | suites/foo.function suites/foo.bar.data
|
||||
#
|
||||
# Note above that .c and .data files have same base name.
|
||||
# However, corresponding .function file's base name is the word before first
|
||||
# dot in .c file's base name.
|
||||
#
|
||||
.SECONDEXPANSION:
|
||||
$(C_FILES): %.c: suites/$$(func.$$*).function suites/%.data scripts/generate_test_code.py suites/helpers.function suites/main_test.function suites/host_test.function
|
||||
%.c: suites/$$(firstword $$(subst ., ,$$*)).function suites/%.data scripts/generate_test_code.py suites/helpers.function suites/main_test.function suites/host_test.function
|
||||
echo " Gen $@"
|
||||
$(PYTHON) scripts/generate_test_code.py -f suites/$(func.$*).function \
|
||||
$(PYTHON) scripts/generate_test_code.py -f suites/$(firstword $(subst ., ,$*)).function \
|
||||
-d suites/$*.data \
|
||||
-t suites/main_test.function \
|
||||
-p suites/host_test.function \
|
||||
|
@ -208,8 +108,10 @@ ifndef WINDOWS
|
|||
rm -rf $(APPS) *.c *.datax TESTS
|
||||
else
|
||||
del /Q /F *.c *.exe *.datax
|
||||
ifneq ($(wildcard TESTS/.*),)
|
||||
rmdir /Q /S TESTS
|
||||
endif
|
||||
endif
|
||||
|
||||
check: $(BINARIES)
|
||||
perl scripts/run-test-suites.pl
|
||||
|
@ -222,9 +124,9 @@ EMBEDDED_TESTS := $(addprefix embedded_,$(APPS))
|
|||
# Generate test code for target.
|
||||
|
||||
.SECONDEXPANSION:
|
||||
$(EMBEDDED_TESTS): embedded_%: suites/$$(func.$$*).function suites/%.data scripts/generate_test_code.py suites/helpers.function suites/main_test.function suites/target_test.function
|
||||
$(EMBEDDED_TESTS): embedded_%: suites/$$(firstword $$(subst ., ,$$*)).function suites/%.data scripts/generate_test_code.py suites/helpers.function suites/main_test.function suites/target_test.function
|
||||
echo " Gen ./TESTS/mbedtls/$*/$*.c"
|
||||
$(PYTHON) scripts/generate_test_code.py -f suites/$(func.$*).function \
|
||||
$(PYTHON) scripts/generate_test_code.py -f suites/$(firstword $(subst ., ,$*)).function \
|
||||
-d suites/$*.data \
|
||||
-t suites/main_test.function \
|
||||
-p suites/target_test.function \
|
||||
|
|
Loading…
Reference in a new issue