Test combinations of macros for aes.o

Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh
index dae54c7..72d64cf 100755
--- a/tests/scripts/all.sh
+++ b/tests/scripts/all.sh
@@ -2496,6 +2496,42 @@
     make CC=gcc CFLAGS='-Werror -O1' all test
 }
 
+component_build_aes_variations() { # ~45s
+    msg "build: aes.o for all combinations of relevant config options"
+    for a in set unset; do
+    for b in set unset; do
+    for c in set unset; do
+    for d in set unset; do
+    for e in set unset; do
+    for f in set unset; do
+    for g in set unset; do
+    echo ./scripts/config.py $a MBEDTLS_AES_SETKEY_ENC_ALT
+    echo ./scripts/config.py $b MBEDTLS_AES_DECRYPT_ALT
+    echo ./scripts/config.py $c MBEDTLS_AES_ROM_TABLES
+    echo ./scripts/config.py $d MBEDTLS_AES_ENCRYPT_ALT
+    echo ./scripts/config.py $e MBEDTLS_AES_SETKEY_DEC_ALT
+    echo ./scripts/config.py $f MBEDTLS_AES_FEWER_TABLES
+    echo ./scripts/config.py $g MBEDTLS_PADLOCK_C
+
+    ./scripts/config.py $a MBEDTLS_AES_SETKEY_ENC_ALT
+    ./scripts/config.py $b MBEDTLS_AES_DECRYPT_ALT
+    ./scripts/config.py $c MBEDTLS_AES_ROM_TABLES
+    ./scripts/config.py $d MBEDTLS_AES_ENCRYPT_ALT
+    ./scripts/config.py $e MBEDTLS_AES_SETKEY_DEC_ALT
+    ./scripts/config.py $f MBEDTLS_AES_FEWER_TABLES
+    ./scripts/config.py $g MBEDTLS_PADLOCK_C
+
+    rm -f library/aes.o
+    make -C library aes.o CC="clang" CFLAGS="-O0 -std=c99 -Werror -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wshadow -Wasm-operand-widths -Wunused"
+    done
+    done
+    done
+    done
+    done
+    done
+    done
+}
+
 component_test_no_platform () {
     # Full configuration build, without platform support, file IO and net sockets.
     # This should catch missing mbedtls_printf definitions, and by disabling file