Lines Matching +full:- +full:- +full:config
6 # SPDX-License-Identifier: Apache-2.0
12 # http://www.apache.org/licenses/LICENSE-2.0
27 # -------
32 # ---------------
44 # * Basic Unix tools (Windows users note: a Unix-style find must be before
51 # * arm-gcc and mingw-gcc
52 # * ArmCC 5 and ArmCC 6, unless invoked with --no-armcc
62 # The behavior on an error depends on whether --keep-going (alias -k)
64 # * Without --keep-going: the script stops on the first error without
67 # * With --keep-going: the script runs all requested components and
72 # script -c tests/scripts/all.sh
77 # ---------------------
97 # fails if any command in it returns a non-zero status.
101 # cleaned-up state, and don't need to perform the cleanup themselves.
107 # This cleans up after an in-tree use of CMake.
119 # Abort on errors (even on the left-hand side of a pipe).
121 set -e -o pipefail -u
124 shopt -s extglob
127 if [ -d library -a -d include -a -d tests ]; then :; else
141 # Files clobbered by config.py
143 # Files clobbered by in-tree cmake
152 # Seed value used with the --release-test option.
154 # See also RELEASE_SEED in basic-build-test.sh. Debugging is easier if
157 # basic-build-test.sh as well.
161 … : ${MBEDTLS_TEST_PLATFORM="$(uname -s | tr -c \\n0-9A-Za-z _)-$(uname -m | tr -c \\n0-9A-Za-z _)"}
169 : ${GNUTLS_CLI:="gnutls-cli"}
170 : ${GNUTLS_SERV:="gnutls-serv"}
176 : ${ARM_NONE_EABI_GCC_PREFIX:=arm-none-eabi-}
177 : ${ARM_LINUX_GNUEABI_GCC_PREFIX:=arm-linux-gnueabi-}
179 # if MAKEFLAGS is not set add the -j option to speed up invocations of make
180 if [ -z "${MAKEFLAGS+set}" ]; then
181 export MAKEFLAGS="-j$(all_sh_nproc)"
188 ASAN_CFLAGS='-Werror -Wall -Wextra -fsanitize=address,undefined -fno-sanitize-recover=all'
194 ALL_COMPONENTS=$(sed -n 's/^ *component_\([0-9A-Z_a-z]*\) *().*/\1/p' <"$0")
212 set -f
232 $0 --no-armcc --except test_memsan
236 -h|--help Print this help and exit.
237 --list-all-components List all available test components and exit.
238 --list-components List components supported on this platform and exit.
241 -q|--quiet Only output component names, and errors if any.
242 -f|--force Force the tests to overwrite any modified files.
243 -k|--keep-going Run all tests and report errors at the end.
244 -m|--memory Additional optional memory tests.
245 --append-outcome Append to the outcome file (if used).
246 --arm-none-eabi-gcc-prefix=<string>
247 Prefix for a cross-compiler for arm-none-eabi
249 --arm-linux-gnueabi-gcc-prefix=<string>
250 Prefix for a cross-compiler for arm-linux-gnueabi
252 --armcc Run ARM Compiler builds (on by default).
253 --restore First clean up the build tree, restoring backed up
256 --error-test Error test mode: run a failing function in addition
258 --except Exclude the COMPONENTs listed on the command line,
260 --no-append-outcome Write a new outcome file and analyze it (default).
261 --no-armcc Skip ARM Compiler builds.
262 --no-force Refuse to overwrite modified files (default).
263 --no-keep-going Stop at the first error (default).
264 --no-memory No additional memory tests (default).
265 --no-quiet Print full output from components.
266 --out-of-source-dir=<path> Directory used for CMake out-of-source build tests.
267 --outcome-file=<path> File where test outcomes are written (not done if
269 --random-seed Use a random seed value for randomized tests (default).
270 …-r|--release-test Run this script in release mode. This fixes the seed value to ${RELEASE_SEED…
271 -s|--seed Integer seed value to use for this test run.
274 --armc5-bin-dir=<ARMC5_bin_dir_path> ARM Compiler 5 bin directory.
275 --armc6-bin-dir=<ARMC6_bin_dir_path> ARM Compiler 6 bin directory.
276 --gnutls-cli=<GnuTLS_cli_path> GnuTLS client executable to use for most tests.
277 --gnutls-serv=<GnuTLS_serv_path> GnuTLS server executable to use for most tests.
278 --gnutls-legacy-cli=<GnuTLS_cli_path> GnuTLS client executable to use for legacy tests.
279 --gnutls-legacy-serv=<GnuTLS_serv_path> GnuTLS server executable to use for legacy tests.
280 --openssl=<OpenSSL_path> OpenSSL executable to use for most tests.
281 --openssl-legacy=<OpenSSL_path> OpenSSL executable to use for legacy tests..
282 … --openssl-next=<OpenSSL_path> OpenSSL executable to use for recent things like ARIA
287 # Remove built files as well as the cmake cache/config.
294 find . -name .git -prune -o \
295 -iname CMakeFiles -exec rm -rf {} \+ -o \
296 \( -iname cmake_install.cmake -o \
297 -iname CTestTestfile.cmake -o \
298 -iname CMakeCache.txt -o \
299 -path './cmake/*.cmake' \) -exec rm -f {} \+
300 # Recover files overwritten by in-tree CMake builds
301 rm -f include/Makefile include/mbedtls/Makefile programs/!(fuzz)/Makefile
304 rm -rf programs/test/cmake_subproject/build
305 rm -f programs/test/cmake_subproject/Makefile
306 rm -f programs/test/cmake_subproject/cmake_subproject
309 rm -rf programs/test/cmake_package/build
310 rm -f programs/test/cmake_package/Makefile
311 rm -f programs/test/cmake_package/cmake_package
314 rm -rf programs/test/cmake_package_install/build
315 rm -f programs/test/cmake_package_install/Makefile
316 rm -f programs/test/cmake_package_install/cmake_package_install
320 if [[ -e "$x$backup_suffix" ]]; then
321 cp -p "$x$backup_suffix" "$x"
327 # in non-keep-going mode).
332 rm -f "$x$backup_suffix"
344 trap - $1
345 kill -$1 $$
358 sysctl -n hw.ncpuonline || # NetBSD, OpenBSD
359 sysctl -n hw.ncpu || # FreeBSD
366 if [ -n "${current_component:-}" ]; then
372 if [ $QUIET -eq 1 ]; then
389 WARNING_CFLAGS='-xc -std=c99' make lib
392 "$ARMC6_FROMELF" -z library/*.o
422 while [ $# -gt 0 ]; do
424 --append-outcome) append_outcome=1;;
425 --arm-none-eabi-gcc-prefix) shift; ARM_NONE_EABI_GCC_PREFIX="$1";;
426 --arm-linux-gnueabi-gcc-prefix) shift; ARM_LINUX_GNUEABI_GCC_PREFIX="$1";;
427 --armcc) no_armcc=;;
428 --armc5-bin-dir) shift; ARMC5_BIN_DIR="$1";;
429 --armc6-bin-dir) shift; ARMC6_BIN_DIR="$1";;
430 --error-test) error_test=$((error_test + 1));;
431 --except) all_except=1;;
432 --force|-f) FORCE=1;;
433 --gnutls-cli) shift; GNUTLS_CLI="$1";;
434 --gnutls-legacy-cli) shift; GNUTLS_LEGACY_CLI="$1";;
435 --gnutls-legacy-serv) shift; GNUTLS_LEGACY_SERV="$1";;
436 --gnutls-serv) shift; GNUTLS_SERV="$1";;
437 --help|-h) usage; exit;;
438 --keep-going|-k) KEEP_GOING=1;;
439 --list-all-components) printf '%s\n' $ALL_COMPONENTS; exit;;
440 --list-components) printf '%s\n' $SUPPORTED_COMPONENTS; exit;;
441 --memory|-m) MEMORY=1;;
442 --no-append-outcome) append_outcome=0;;
443 --no-armcc) no_armcc=1;;
444 --no-force) FORCE=0;;
445 --no-keep-going) KEEP_GOING=0;;
446 --no-memory) MEMORY=0;;
447 --no-quiet) QUIET=0;;
448 --openssl) shift; OPENSSL="$1";;
449 --openssl-legacy) shift; OPENSSL_LEGACY="$1";;
450 --openssl-next) shift; OPENSSL_NEXT="$1";;
451 --outcome-file) shift; MBEDTLS_TEST_OUTCOME_FILE="$1";;
452 --out-of-source-dir) shift; OUT_OF_SOURCE_DIR="$1";;
453 --quiet|-q) QUIET=1;;
454 --random-seed) unset SEED;;
455 --release-test|-r) SEED=$RELEASE_SEED;;
456 --restore) restore_first=1;;
457 --seed|-s) shift; SEED="$1";;
458 -*)
460 echo >&2 "Run $0 --help for usage."
469 if [ -z "$COMMAND_LINE_COMPONENTS" ] && [ $restore_first -eq 0 ]; then
473 # --no-armcc is a legacy option. The modern way is --except '*_armcc*'.
475 if [ -n "$no_armcc" ] && [ $all_except -eq 1 ]; then
480 if [ $all_except -eq 0 ]; then
484 set -f
500 if [ $unsupported -ne 0 ]; then
508 if is_component_included "$component"; [ $? -eq $all_except ]; then
518 if [ $FORCE -eq 1 ]; then
519 rm -rf "$OUT_OF_SOURCE_DIR"
520 git checkout-index -f -q $CONFIG_H
524 if [ -d "$OUT_OF_SOURCE_DIR" ]; then
525 echo "Warning - there is an existing directory at '$OUT_OF_SOURCE_DIR'" >&2
527 echo "the script as: $0 --force --out-of-source-dir $OUT_OF_SOURCE_DIR"
531 if ! git diff --quiet include/mbedtls/mbedtls_config.h; then
532 … err_msg "Warning - the configuration file 'include/mbedtls/mbedtls_config.h' has been edited. "
534 echo "script as: $0 --force"
546 case "$(head -n1 Makefile)" in
548 …git update-index --no-skip-worktree Makefile library/Makefile programs/Makefile tests/Makefile pro…
549 … git checkout -- Makefile library/Makefile programs/Makefile tests/Makefile programs/fuzz/Makefile
556 cp -p "$x" "$x$backup_suffix"
572 if [ -t 1 ]; then
573 case "${TERM:-}" in
582 failure_summary_file=$PWD/all-sh-failures-$$.log
598 *make*[\ /]tests*) false;; # make tests, make CFLAGS=-I../tests, ...
615 failed_command=${report_failed_command-$BASH_COMMAND}
617 if [[ $last_failure_status -eq $previous_failure_status &&
619 ${#FUNCNAME[@]} == $((previous_failure_funcall_depth - 1)) ]]
632 text="$current_section: $failed_command -> $last_failure_status"
645 if [ $failure_count -gt 0 ]; then
651 elif [ -z "${1-}" ]; then
654 if [ -n "${1-}" ]; then
657 rm -f "$failure_summary_file"
658 if [ $failure_count -gt 0 ]; then
687 if [ -n "$MBEDTLS_TEST_OUTCOME_FILE" ] && [ "$append_outcome" -eq 0 ]; then
688 rm -f "$MBEDTLS_TEST_OUTCOME_FILE"
693 if [ $QUIET -eq 1 ]; then
700 echo "MBEDTLS_TEST_OUTCOME_FILE: ${MBEDTLS_TEST_OUTCOME_FILE:-(none)}"
701 echo "SEED: ${SEED-"UNSET"}"
725 # and ssl-opt.sh, we just export the variables they require.
729 # Avoid passing --seed flag in every call to ssl-opt.sh
730 if [ -n "${SEED-}" ]; then
752 *_mingw[_\ ]*) check_tools "i686-w64-mingw32-gcc";;
772 if [ $QUIET -eq 1 ]; then
789 if [ $QUIET -eq 1 ]; then
819 msg "Check: check-generated-files, files generated with make" # 2s
821 tests/scripts/check-generated-files.sh
823 msg "Check: check-generated-files -u, files present" # 2s
824 tests/scripts/check-generated-files.sh -u
826 tests/scripts/check-generated-files.sh
828 msg "Check: check-generated-files -u, files absent" # 2s
830 tests/scripts/check-generated-files.sh -u
832 tests/scripts/check-generated-files.sh
840 tests/scripts/check-doxy-blocks.pl
850 rm -f ChangeLog.new
851 scripts/assemble_changelog.py -o ChangeLog.new
852 if [ -e ChangeLog.new ]; then
854 # non-empty.
855 diff -u ChangeLog ChangeLog.new || true
862 tests/scripts/check_names.py -v
867 if [ $QUIET -eq 1 ]; then
868 opt='--quiet'
878 not grep -n 'depends_on:.*!MBEDTLS_USE_PSA_CRYPTO' tests/suites/*.function tests/suites/*.data
879 …not grep -n '^ *requires_config_disabled.*MBEDTLS_USE_PSA_CRYPTO' tests/ssl-opt.sh tests/opt-testc…
894 msg "build: make, default config (out-of-box)" # ~1min
899 msg "test: main suites make, default config (out-of-box)" # ~10s
902 msg "selftest: make, default config (out-of-box)" # ~10s
908 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
917 msg "test: ssl-opt.sh (ASan build)" # ~ 1 min
918 tests/ssl-opt.sh
923 msg "test: context-info.sh (ASan build)" # ~ 15 sec
924 tests/context-info.sh
928 msg "build: full config, cmake, gcc, ASan"
929 scripts/config.py full
930 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
933 msg "test: main suites (inc. selftests) (full config, ASan build)"
939 msg "test: ssl-opt.sh (full config, ASan build)"
940 tests/ssl-opt.sh
942 msg "test: compat.sh (full config, ASan build)"
945 msg "test: context-info.sh (full config, ASan build)" # ~ 15 sec
946 tests/context-info.sh
950 msg "build: full config + PSA_CRYPTO_KEY_ID_ENCODES_OWNER, cmake, gcc, ASan"
951 scripts/config.py full
952 scripts/config.py set MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER
953 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
956 msg "test: full config - USE_PSA_CRYPTO + PSA_CRYPTO_KEY_ID_ENCODES_OWNER, cmake, gcc, ASan"
965 grep -x -F "$(sed -n 's/^ *# *define *\([A-Z_a-z][0-9A-Z_a-z]*\)..*/\1/p' "$1")"
969 msg "build: full config + PSA_CRYPTO_KEY_ID_ENCODES_OWNER + PSA_CRYPTO_SPM, make, gcc"
970 scripts/config.py full
971 scripts/config.py unset MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS
972 scripts/config.py set MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER
973 scripts/config.py set MBEDTLS_PSA_CRYPTO_SPM
977 make CC=gcc CFLAGS='-Werror -Wall -Wextra -I../tests/include/spe' lib
979 # Check that if a symbol is renamed by crypto_spe.h, the non-renamed
986 msg "build: default config - PSA_CRYPTO_C + PSA_CRYPTO_CLIENT, make"
987 scripts/config.py unset MBEDTLS_PSA_CRYPTO_C
988 scripts/config.py unset MBEDTLS_PSA_CRYPTO_STORAGE_C
989 scripts/config.py set MBEDTLS_PSA_CRYPTO_CLIENT
990 scripts/config.py unset MBEDTLS_LMS_C
991 scripts/config.py unset MBEDTLS_LMS_PRIVATE
994 msg "test: default config - PSA_CRYPTO_C + PSA_CRYPTO_CLIENT, make"
999 msg "build: default config minus MBEDTLS_GENPRIME"
1000 scripts/config.py unset MBEDTLS_GENPRIME
1003 msg "test: default config minus MBEDTLS_GENPRIME"
1008 msg "test/build: ref-configs (ASan build)" # ~ 6 min 20s
1009 # test-ref-configs works by overwriting mbedtls_config.h; this makes cmake
1010 # want to re-generate generated files that depend on it, quite correctly.
1013 # cmake can't know this, but re-generation is actually not necessary as
1015 # whether they're on or off. So, disable cmake's (over-sensitive here)
1018 CC=gcc cmake -D GEN_FILES=Off -D CMAKE_BUILD_TYPE:String=Asan .
1019 tests/scripts/test-ref-configs.pl
1024 scripts/config.py unset MBEDTLS_SSL_RENEGOTIATION
1025 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1028 msg "test: !MBEDTLS_SSL_RENEGOTIATION - main suites (inc. selftests) (ASan build)" # ~ 50s
1031 msg "test: !MBEDTLS_SSL_RENEGOTIATION - ssl-opt.sh (ASan build)" # ~ 6 min
1032 tests/ssl-opt.sh
1037 scripts/config.py unset MBEDTLS_PEM_PARSE_C
1038 scripts/config.py unset MBEDTLS_FS_IO
1039 scripts/config.py unset MBEDTLS_PSA_ITS_FILE_C # requires a filesystem
1040 scripts/config.py unset MBEDTLS_PSA_CRYPTO_STORAGE_C # requires PSA ITS
1041 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1044 …msg "test: !MBEDTLS_PEM_PARSE_C !MBEDTLS_FS_IO - main suites (inc. selftests) (ASan build)" # ~ 50s
1047 msg "test: !MBEDTLS_PEM_PARSE_C !MBEDTLS_FS_IO - ssl-opt.sh (ASan build)" # ~ 6 min
1048 tests/ssl-opt.sh
1053 scripts/config.py set MBEDTLS_RSA_NO_CRT
1054 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1057 msg "test: RSA_NO_CRT - main suites (inc. selftests) (ASan build)" # ~ 50s
1060 msg "test: RSA_NO_CRT - RSA-related part of ssl-opt.sh (ASan build)" # ~ 5s
1061 tests/ssl-opt.sh -f RSA
1063 msg "test: RSA_NO_CRT - RSA-related part of compat.sh (ASan build)" # ~ 3 min
1064 tests/compat.sh -t RSA
1066 msg "test: RSA_NO_CRT - RSA-related part of context-info.sh (ASan build)" # ~ 15 sec
1067 tests/context-info.sh
1072 scripts/config.py full
1073 scripts/config.py unset MBEDTLS_CTR_DRBG_C
1074 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
1075 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
1077 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1080 msg "test: Full minus CTR_DRBG, classic crypto - main suites"
1086 msg "test: Full minus CTR_DRBG, classic crypto - ssl-opt.sh (subset)"
1087 tests/ssl-opt.sh -f 'Default\|SSL async private.*delay=\|tickets enabled on server'
1089 msg "test: Full minus CTR_DRBG, classic crypto - compat.sh (subset)"
1090 tests/compat.sh -m tls12 -t 'ECDSA PSK' -V NO -p OpenSSL
1095 scripts/config.py full
1096 scripts/config.py unset MBEDTLS_CTR_DRBG_C
1097 scripts/config.py set MBEDTLS_USE_PSA_CRYPTO
1099 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1102 msg "test: Full minus CTR_DRBG, USE_PSA_CRYPTO - main suites"
1108 msg "test: Full minus CTR_DRBG, USE_PSA_CRYPTO - ssl-opt.sh (subset)"
1109 tests/ssl-opt.sh -f 'Default\|SSL async private.*delay=\|tickets enabled on server'
1111 msg "test: Full minus CTR_DRBG, USE_PSA_CRYPTO - compat.sh (subset)"
1112 tests/compat.sh -m tls12 -t 'ECDSA PSK' -V NO -p OpenSSL
1117 scripts/config.py full
1118 scripts/config.py unset MBEDTLS_HMAC_DRBG_C
1119 scripts/config.py unset MBEDTLS_ECDSA_DETERMINISTIC # requires HMAC_DRBG
1120 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
1121 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
1123 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1126 msg "test: Full minus HMAC_DRBG, classic crypto - main suites"
1132 # Test SSL with non-deterministic ECDSA. Only test features that
1134 msg "test: Full minus HMAC_DRBG, classic crypto - ssl-opt.sh (subset)"
1135 tests/ssl-opt.sh -f 'Default\|SSL async private: sign'
1139 msg "test: Full minus HMAC_DRBG, classic crypto - compat.sh (ECDSA)"
1140 tests/compat.sh -m tls12 -t 'ECDSA'
1145 scripts/config.py full
1146 scripts/config.py unset MBEDTLS_HMAC_DRBG_C
1147 scripts/config.py unset MBEDTLS_ECDSA_DETERMINISTIC # requires HMAC_DRBG
1148 scripts/config.py set MBEDTLS_USE_PSA_CRYPTO
1150 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1153 msg "test: Full minus HMAC_DRBG, USE_PSA_CRYPTO - main suites"
1159 # Test SSL with non-deterministic ECDSA. Only test features that
1161 msg "test: Full minus HMAC_DRBG, USE_PSA_CRYPTO - ssl-opt.sh (subset)"
1162 tests/ssl-opt.sh -f 'Default\|SSL async private: sign'
1166 msg "test: Full minus HMAC_DRBG, USE_PSA_CRYPTO - compat.sh (ECDSA)"
1167 tests/compat.sh -m tls12 -t 'ECDSA'
1172 scripts/config.py full
1173 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
1174 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
1175 scripts/config.py set MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
1176 scripts/config.py unset MBEDTLS_ENTROPY_C
1177 scripts/config.py unset MBEDTLS_ENTROPY_NV_SEED
1178 scripts/config.py unset MBEDTLS_PLATFORM_NV_SEED_ALT
1179 scripts/config.py unset MBEDTLS_CTR_DRBG_C
1180 scripts/config.py unset MBEDTLS_HMAC_DRBG_C
1181 scripts/config.py unset MBEDTLS_ECDSA_DETERMINISTIC # requires HMAC_DRBG
1184 # make them use the PSA RNG with -DMBEDTLS_TEST_USE_PSA_CRYPTO_RNG.
1185 make CFLAGS="$ASAN_CFLAGS -O2 -DMBEDTLS_TEST_USE_PSA_CRYPTO_RNG" LDFLAGS="$ASAN_CFLAGS"
1187 msg "test: PSA_CRYPTO_EXTERNAL_RNG minus *_DRBG, classic crypto - main suites"
1190 msg "test: PSA_CRYPTO_EXTERNAL_RNG minus *_DRBG, classic crypto - ssl-opt.sh (subset)"
1191 tests/ssl-opt.sh -f 'Default'
1196 scripts/config.py full
1197 scripts/config.py set MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
1198 scripts/config.py unset MBEDTLS_ENTROPY_C
1199 scripts/config.py unset MBEDTLS_ENTROPY_NV_SEED
1200 scripts/config.py unset MBEDTLS_PLATFORM_NV_SEED_ALT
1201 scripts/config.py unset MBEDTLS_CTR_DRBG_C
1202 scripts/config.py unset MBEDTLS_HMAC_DRBG_C
1203 scripts/config.py unset MBEDTLS_ECDSA_DETERMINISTIC # requires HMAC_DRBG
1204 make CFLAGS="$ASAN_CFLAGS -O2" LDFLAGS="$ASAN_CFLAGS"
1206 msg "test: PSA_CRYPTO_EXTERNAL_RNG minus *_DRBG, PSA crypto - main suites"
1209 msg "test: PSA_CRYPTO_EXTERNAL_RNG minus *_DRBG, PSA crypto - ssl-opt.sh (subset)"
1210 tests/ssl-opt.sh -f 'Default\|opaque'
1215 scripts/config.py crypto_full
1216 scripts/config.py unset MBEDTLS_MD_C
1218 scripts/config.py unset MBEDTLS_HKDF_C
1219 scripts/config.py unset MBEDTLS_HMAC_DRBG_C
1220 scripts/config.py unset MBEDTLS_PKCS7_C
1222 scripts/config.py unset MBEDTLS_ECDSA_DETERMINISTIC
1231 scripts/config.py full
1232 scripts/config.py unset MBEDTLS_CIPHER_C
1234 scripts/config.py unset MBEDTLS_CCM_C
1235 scripts/config.py unset MBEDTLS_CMAC_C
1236 scripts/config.py unset MBEDTLS_GCM_C
1237 scripts/config.py unset MBEDTLS_NIST_KW_C
1238 scripts/config.py unset MBEDTLS_PKCS12_C
1239 scripts/config.py unset MBEDTLS_PKCS5_C
1240 scripts/config.py unset MBEDTLS_PSA_CRYPTO_C
1241 scripts/config.py unset MBEDTLS_SSL_TLS_C
1242 scripts/config.py unset MBEDTLS_SSL_TICKET_C
1244 scripts/config.py unset MBEDTLS_SSL_CLI_C
1245 scripts/config.py unset MBEDTLS_PSA_CRYPTO_SE_C
1246 scripts/config.py unset MBEDTLS_PSA_CRYPTO_STORAGE_C
1247 scripts/config.py unset MBEDTLS_SSL_DTLS_ANTI_REPLAY
1248 scripts/config.py unset MBEDTLS_SSL_DTLS_CONNECTION_ID
1249 scripts/config.py unset MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT
1250 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
1251 scripts/config.py unset MBEDTLS_SSL_SRV_C
1252 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
1253 scripts/config.py unset MBEDTLS_LMS_C
1254 scripts/config.py unset MBEDTLS_LMS_PRIVATE
1263 scripts/config.py crypto_full
1264 scripts/config.py unset MBEDTLS_CIPHER_C
1266 scripts/config.py unset MBEDTLS_CCM_C
1267 scripts/config.py unset MBEDTLS_CMAC_C
1268 scripts/config.py unset MBEDTLS_GCM_C
1269 scripts/config.py unset MBEDTLS_NIST_KW_C
1270 scripts/config.py unset MBEDTLS_PKCS12_C
1271 scripts/config.py unset MBEDTLS_PKCS5_C
1272 scripts/config.py unset MBEDTLS_PSA_CRYPTO_C
1274 scripts/config.py unset MBEDTLS_PSA_CRYPTO_SE_C
1275 scripts/config.py unset MBEDTLS_PSA_CRYPTO_STORAGE_C
1276 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
1277 scripts/config.py unset MBEDTLS_LMS_C
1278 scripts/config.py unset MBEDTLS_LMS_PRIVATE
1289 scripts/config.py unset MBEDTLS_GCM_C
1290 scripts/config.py unset MBEDTLS_CCM_C
1291 scripts/config.py unset MBEDTLS_CHACHAPOLY_C
1292 …# Disable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, A…
1293 scripts/config.py unset MBEDTLS_CIPHER_MODE_CBC
1294 # Disable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC)
1295 scripts/config.py unset MBEDTLS_SSL_ENCRYPT_THEN_MAC
1296 …# Enable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_C…
1297 scripts/config.py set MBEDTLS_CIPHER_NULL_CIPHER
1299 scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION
1300 scripts/config.py unset MBEDTLS_SSL_TICKET_C
1307 # Not running ssl-opt.sh because most tests require a non-NULL ciphersuite.
1313 scripts/config.py set MBEDTLS_USE_PSA_CRYPTO
1315 scripts/config.py unset MBEDTLS_GCM_C
1316 scripts/config.py unset MBEDTLS_CCM_C
1317 scripts/config.py unset MBEDTLS_CHACHAPOLY_C
1318 …# Disable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, A…
1319 scripts/config.py unset MBEDTLS_CIPHER_MODE_CBC
1320 # Disable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC)
1321 scripts/config.py unset MBEDTLS_SSL_ENCRYPT_THEN_MAC
1322 …# Enable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_C…
1323 scripts/config.py set MBEDTLS_CIPHER_NULL_CIPHER
1325 scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION
1326 scripts/config.py unset MBEDTLS_SSL_TICKET_C
1333 # Not running ssl-opt.sh because most tests require a non-NULL ciphersuite.
1337 msg "build: default with only CBC-legacy cipher"
1340 scripts/config.py unset MBEDTLS_GCM_C
1341 scripts/config.py unset MBEDTLS_CCM_C
1342 scripts/config.py unset MBEDTLS_CHACHAPOLY_C
1343 …# Enable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, AR…
1344 scripts/config.py set MBEDTLS_CIPHER_MODE_CBC
1345 # Disable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC)
1346 scripts/config.py unset MBEDTLS_SSL_ENCRYPT_THEN_MAC
1347 …# Disable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_…
1348 scripts/config.py unset MBEDTLS_CIPHER_NULL_CIPHER
1350 scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION
1351 scripts/config.py unset MBEDTLS_SSL_TICKET_C
1355 msg "test: default with only CBC-legacy cipher"
1358 msg "test: default with only CBC-legacy cipher - ssl-opt.sh (subset)"
1359 tests/ssl-opt.sh -f "TLS 1.2"
1363 msg "build: default with only CBC-legacy cipher use psa"
1365 scripts/config.py set MBEDTLS_USE_PSA_CRYPTO
1367 scripts/config.py unset MBEDTLS_GCM_C
1368 scripts/config.py unset MBEDTLS_CCM_C
1369 scripts/config.py unset MBEDTLS_CHACHAPOLY_C
1370 …# Enable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, AR…
1371 scripts/config.py set MBEDTLS_CIPHER_MODE_CBC
1372 # Disable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC)
1373 scripts/config.py unset MBEDTLS_SSL_ENCRYPT_THEN_MAC
1374 …# Disable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_…
1375 scripts/config.py unset MBEDTLS_CIPHER_NULL_CIPHER
1377 scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION
1378 scripts/config.py unset MBEDTLS_SSL_TICKET_C
1382 msg "test: default with only CBC-legacy cipher use psa"
1385 msg "test: default with only CBC-legacy cipher use psa - ssl-opt.sh (subset)"
1386 tests/ssl-opt.sh -f "TLS 1.2"
1390 msg "build: default with only CBC-legacy and CBC-EtM ciphers"
1393 scripts/config.py unset MBEDTLS_GCM_C
1394 scripts/config.py unset MBEDTLS_CCM_C
1395 scripts/config.py unset MBEDTLS_CHACHAPOLY_C
1396 …# Enable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, AR…
1397 scripts/config.py set MBEDTLS_CIPHER_MODE_CBC
1398 # Enable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC)
1399 scripts/config.py set MBEDTLS_SSL_ENCRYPT_THEN_MAC
1400 …# Disable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_…
1401 scripts/config.py unset MBEDTLS_CIPHER_NULL_CIPHER
1403 scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION
1404 scripts/config.py unset MBEDTLS_SSL_TICKET_C
1408 msg "test: default with only CBC-legacy and CBC-EtM ciphers"
1411 msg "test: default with only CBC-legacy and CBC-EtM ciphers - ssl-opt.sh (subset)"
1412 tests/ssl-opt.sh -f "TLS 1.2"
1416 msg "build: default with only CBC-legacy and CBC-EtM ciphers use psa"
1418 scripts/config.py set MBEDTLS_USE_PSA_CRYPTO
1420 scripts/config.py unset MBEDTLS_GCM_C
1421 scripts/config.py unset MBEDTLS_CCM_C
1422 scripts/config.py unset MBEDTLS_CHACHAPOLY_C
1423 …# Enable CBC-legacy (controlled by MBEDTLS_CIPHER_MODE_CBC plus at least one block cipher (AES, AR…
1424 scripts/config.py set MBEDTLS_CIPHER_MODE_CBC
1425 # Enable CBC-EtM (controlled by the same as CBC-legacy plus MBEDTLS_SSL_ENCRYPT_THEN_MAC)
1426 scripts/config.py set MBEDTLS_SSL_ENCRYPT_THEN_MAC
1427 …# Disable stream (currently that's just the NULL pseudo-cipher (controlled by MBEDTLS_CIPHER_NULL_…
1428 scripts/config.py unset MBEDTLS_CIPHER_NULL_CIPHER
1430 scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION
1431 scripts/config.py unset MBEDTLS_SSL_TICKET_C
1435 msg "test: default with only CBC-legacy and CBC-EtM ciphers use psa"
1438 msg "test: default with only CBC-legacy and CBC-EtM ciphers use psa - ssl-opt.sh (subset)"
1439 tests/ssl-opt.sh -f "TLS 1.2"
1442 # We're not aware of any other (open source) implementation of EC J-PAKE in TLS
1447 msg "build: TLS1.2 server+client w/ EC-JPAKE w/o USE_PSA"
1448 scripts/config.py set MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
1449 make -C programs ssl/ssl_server2 ssl/ssl_client2
1453 msg "build: TLS1.2 server+client w/ EC-JPAKE w/ USE_PSA"
1454 scripts/config.py set MBEDTLS_USE_PSA_CRYPTO
1456 make -C programs ssl/ssl_server2 ssl/ssl_client2
1457 make -C programs test/udp_proxy test/query_compile_time_config
1459 msg "test: server w/o USE_PSA - client w/ USE_PSA"
1460 P_SRV=../s2_no_use_psa tests/ssl-opt.sh -f ECJPAKE
1461 msg "test: client w/o USE_PSA - server w/ USE_PSA"
1462 P_CLI=../c2_no_use_psa tests/ssl-opt.sh -f ECJPAKE
1469 scripts/config.py full
1470 scripts/config.py set MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
1471 scripts/config.py set MBEDTLS_USE_PSA_CRYPTO
1472 scripts/config.py unset MBEDTLS_CTR_DRBG_C
1473 make CFLAGS="$ASAN_CFLAGS -O2" LDFLAGS="$ASAN_CFLAGS"
1479 tests/ssl-opt.sh -f 'Default\|opaque'
1484 scripts/config.py set MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED
1485 CC=clang cmake -D CMAKE_BUILD_TYPE:String=Asan .
1488 msg "test: Everest ECDH context - main suites (inc. selftests) (ASan build)" # ~ 50s
1491 msg "test: Everest ECDH context - ECDH-related part of ssl-opt.sh (ASan build)" # ~ 5s
1492 tests/ssl-opt.sh -f ECDH
1494 msg "test: Everest ECDH context - compat.sh with some ECDH ciphersuites (ASan build)" # ~ 3 min
1496 tests/compat.sh -f ECDH -V NO -e 'ARIA\|CAMELLIA\|CHACHA'
1501 scripts/config.py set MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED
1502 scripts/config.py unset MBEDTLS_ECDSA_C
1503 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
1504 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
1505 scripts/config.py unset MBEDTLS_ECJPAKE_C
1507 for c in $(sed -n 's/#define \(MBEDTLS_ECP_DP_[0-9A-Z_a-z]*_ENABLED\).*/\1/p' <"$CONFIG_H"); do
1508 scripts/config.py unset "$c"
1510 scripts/config.py set MBEDTLS_ECP_DP_CURVE25519_ENABLED
1512 make CFLAGS="$ASAN_CFLAGS -O2" LDFLAGS="$ASAN_CFLAGS"
1520 scripts/config.py set MBEDTLS_SSL_IN_CONTENT_LEN 16384
1521 scripts/config.py set MBEDTLS_SSL_OUT_CONTENT_LEN 4096
1522 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1525 msg "test: small SSL_OUT_CONTENT_LEN - ssl-opt.sh MFL and large packet tests"
1526 tests/ssl-opt.sh -f "Max fragment\|Large packet"
1531 scripts/config.py set MBEDTLS_SSL_IN_CONTENT_LEN 4096
1532 scripts/config.py set MBEDTLS_SSL_OUT_CONTENT_LEN 16384
1533 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1536 msg "test: small SSL_IN_CONTENT_LEN - ssl-opt.sh MFL tests"
1537 tests/ssl-opt.sh -f "Max fragment"
1542 scripts/config.py set MBEDTLS_SSL_DTLS_MAX_BUFFERING 1000
1543 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1546 msg "test: small MBEDTLS_SSL_DTLS_MAX_BUFFERING #0 - ssl-opt.sh specific reordering test"
1547 …tests/ssl-opt.sh -f "DTLS reordering: Buffer out-of-order hs msg before reassembling next, free bu…
1552 scripts/config.py set MBEDTLS_SSL_DTLS_MAX_BUFFERING 190
1553 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1556 msg "test: small MBEDTLS_SSL_DTLS_MAX_BUFFERING #1 - ssl-opt.sh specific reordering test"
1557 …tests/ssl-opt.sh -f "DTLS reordering: Buffer encrypted Finished message, drop for fragmented NewSe…
1562 scripts/config.py full
1565 grep -q '^0:psa_crypto_init:' tests/statuses.log
1566 rm -f tests/statuses.log
1570 msg "build: cmake, full config, clang" # ~ 50s
1571 scripts/config.py full
1572 CC=clang CXX=clang cmake -D CMAKE_BUILD_TYPE:String=Release -D ENABLE_TESTING=On -D TEST_CPP=1 .
1575 msg "test: main suites (full config, clang)" # ~ 5s
1578 msg "test: cpp_dummy_build (full config, clang)" # ~ 1s
1581 msg "test: psa_constant_names (full config, clang)" # ~ 1s
1584 msg "test: ssl-opt.sh default, ECJPAKE, SSL async (full config)" # ~ 1s
1585 tests/ssl-opt.sh -f 'Default\|ECJPAKE\|SSL async private'
1587 msg "test: compat.sh NULL (full config)" # ~ 2 min
1588 …GNUTLS_CLI="$GNUTLS_LEGACY_CLI" GNUTLS_SERV="$GNUTLS_LEGACY_SERV" tests/compat.sh -e '^$' -f 'NULL'
1591 env OPENSSL_CMD="$OPENSSL_NEXT" tests/compat.sh -e '^$' -f 'ARIA\|CHACHA'
1595 # Skip the test suites that don't have any constant-flow annotations.
1599 git -C tests/suites grep -L TEST_CF_ 'test_suite_*.function' |
1608 # - unset MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN - does the failure persist?
1609 # - or alternatively, change the build type to MemSanDbg, which enables
1612 …msg "build: cmake MSan (clang), full config minus MBEDTLS_USE_PSA_CRYPTO with constant flow testin…
1613 scripts/config.py full
1614 scripts/config.py set MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN
1615 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
1616 scripts/config.py unset MBEDTLS_AESNI_C # memsan doesn't grok asm
1617 CC=clang cmake -D CMAKE_BUILD_TYPE:String=MemSan .
1627 # - unset MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN - does the failure persist?
1628 # - or alternatively, change the build type to MemSanDbg, which enables
1631 msg "build: cmake MSan (clang), full config with constant flow testing"
1632 scripts/config.py full
1633 scripts/config.py set MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN
1634 scripts/config.py unset MBEDTLS_AESNI_C # memsan doesn't grok asm
1635 CC=clang cmake -D CMAKE_BUILD_TYPE:String=MemSan .
1644 # (heap buffer overflows, use of uninitialized memory, use-after-free,
1648 # - unset MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND - does the failure persist?
1649 # - or alternatively, build with debug info and manually run the offending
1650 # test suite with valgrind --track-origins=yes, then check if the origin
1652 …msg "build: cmake release GCC, full config minus MBEDTLS_USE_PSA_CRYPTO with constant flow testing"
1653 scripts/config.py full
1654 scripts/config.py set MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND
1655 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
1657 cmake -D CMAKE_BUILD_TYPE:String=Release .
1668 # (heap buffer overflows, use of uninitialized memory, use-after-free,
1672 # - unset MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND - does the failure persist?
1673 # - or alternatively, build with debug info and manually run the offending
1674 # test suite with valgrind --track-origins=yes, then check if the origin
1676 msg "build: cmake release GCC, full config with constant flow testing"
1677 scripts/config.py full
1678 scripts/config.py set MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND
1680 cmake -D CMAKE_BUILD_TYPE:String=Release .
1693 scripts/config.py set MBEDTLS_DEPRECATED_REMOVED
1694 make CC=gcc CFLAGS='-O -Werror -Wall -Wextra'
1701 msg "build: make, full_no_deprecated config" # ~ 30s
1702 scripts/config.py full_no_deprecated
1703 make CC=gcc CFLAGS='-O -Werror -Wall -Wextra'
1705 msg "test: make, full_no_deprecated config" # ~ 5s
1713 msg "build: make, full_no_deprecated config, MBEDTLS_DEPRECATED_WARNING" # ~ 30s
1714 scripts/config.py full_no_deprecated
1715 scripts/config.py unset MBEDTLS_DEPRECATED_REMOVED
1716 scripts/config.py set MBEDTLS_DEPRECATED_WARNING
1717 make CC=gcc CFLAGS='-O -Werror -Wall -Wextra'
1719 msg "test: make, full_no_deprecated config, MBEDTLS_DEPRECATED_WARNING" # ~ 5s
1726 msg "build: make, full config + MBEDTLS_DEPRECATED_WARNING, expect warnings" # ~ 30s
1727 scripts/config.py full
1728 scripts/config.py set MBEDTLS_DEPRECATED_WARNING
1730 make CC=gcc CFLAGS='-O -Werror -Wall -Wextra -Wno-error=cpp' lib programs
1732 msg "build: make tests, full config + MBEDTLS_DEPRECATED_WARNING, expect warnings" # ~ 30s
1737 …make CC=gcc CFLAGS='-O -Werror -Wall -Wextra -Wno-error=deprecated-declarations -Wno-error=cpp -DM…
1739 msg "test: full config + MBEDTLS_TEST_DEPRECATED" # ~ 30s
1746 ! nm "$@" 2>/dev/null | grep -v ':$' | grep .
1751 scripts/config.py crypto
1752 make CFLAGS='-O1 -Werror'
1757 msg "build: make, crypto only, full config"
1758 scripts/config.py crypto_full
1759 make CFLAGS='-O1 -Werror'
1764 msg "build: make, config for PSA crypto service"
1765 scripts/config.py crypto
1766 scripts/config.py set MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER
1771 scripts/config.py unset MBEDTLS_ERROR_C
1772 scripts/config.py unset MBEDTLS_TIMING_C
1773 scripts/config.py unset MBEDTLS_VERSION_FEATURES
1775 scripts/config.py unset MBEDTLS_BASE64_C
1777 scripts/config.py unset MBEDTLS_HKDF_C # PSA's HKDF is independent
1779 scripts/config.py unset MBEDTLS_NIST_KW_C
1780 scripts/config.py unset MBEDTLS_PEM_PARSE_C
1781 scripts/config.py unset MBEDTLS_PEM_WRITE_C
1782 scripts/config.py unset MBEDTLS_PKCS12_C
1783 scripts/config.py unset MBEDTLS_PKCS5_C
1787 scripts/config.py unset MBEDTLS_PK_C
1788 scripts/config.py unset MBEDTLS_PK_PARSE_C
1789 scripts/config.py unset MBEDTLS_PK_WRITE_C
1790 make CFLAGS='-O1 -Werror' all test
1795 msg "build: make, crypto only, baremetal config"
1796 scripts/config.py crypto_baremetal
1797 make CFLAGS="-O1 -Werror -I$PWD/tests/include/baremetal-override/"
1805 msg "build: make, baremetal config"
1806 scripts/config.py baremetal
1807 make CFLAGS="-O1 -Werror -I$PWD/tests/include/baremetal-override/"
1811 # which makes the no-time.h-in-baremetal check fail. Ubuntu 16.04 has this
1813 ! grep -q -F time.h /usr/include/x86_64-linux-gnu/sys/types.h
1819 tests/scripts/depends.py cipher_id --unset-use-psa
1824 tests/scripts/depends.py cipher_chaining --unset-use-psa
1829 tests/scripts/depends.py cipher_padding --unset-use-psa
1834 tests/scripts/depends.py curves --unset-use-psa
1839 tests/scripts/depends.py hashes --unset-use-psa
1844 tests/scripts/depends.py kex --unset-use-psa
1849 tests/scripts/depends.py pkalgs --unset-use-psa
1890 scripts/config.py full
1893 scripts/config.py unset MBEDTLS_AESNI_C
1894 scripts/config.py unset MBEDTLS_PADLOCK_C
1896 scripts/config.py unset MBEDTLS_THREADING_PTHREAD
1899 scripts/config.py unset MBEDTLS_PK_PARSE_EC_EXTENDED
1901 scripts/config.py unset MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT
1902 scripts/config.py unset MBEDTLS_SHA256_USE_A64_CRYPTO_ONLY
1904 scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT
1905 scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY
1908 scripts/config.py set-all 'MBEDTLS_([A-Z0-9]*|NIST_KW)_ALT'
1909 scripts/config.py unset MBEDTLS_DHM_ALT #incompatible with MBEDTLS_DEBUG_C
1912 make CC=gcc CFLAGS='-Werror -Wall -Wextra -I../tests/include/alt-dummy' lib
1917 scripts/config.py full
1918 scripts/config.py set MBEDTLS_DHM_ALT
1920 scripts/config.py unset MBEDTLS_DEBUG_C
1923 make CC=gcc CFLAGS='-Werror -Wall -Wextra -I../tests/include/alt-dummy' lib
1927 # full minus MBEDTLS_USE_PSA_CRYPTO: run the same set of tests as basic-build-test.sh
1928 msg "build: cmake, full config minus MBEDTLS_USE_PSA_CRYPTO, ASan"
1929 scripts/config.py full
1930 scripts/config.py set MBEDTLS_ECP_RESTARTABLE # not using PSA, so enable restartable ECC
1931 scripts/config.py unset MBEDTLS_PSA_CRYPTO_C
1932 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
1933 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
1934 scripts/config.py unset MBEDTLS_PSA_ITS_FILE_C
1935 scripts/config.py unset MBEDTLS_PSA_CRYPTO_SE_C
1936 scripts/config.py unset MBEDTLS_PSA_CRYPTO_STORAGE_C
1937 scripts/config.py unset MBEDTLS_LMS_C
1938 scripts/config.py unset MBEDTLS_LMS_PRIVATE
1939 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
1945 msg "test: ssl-opt.sh (full minus MBEDTLS_USE_PSA_CRYPTO)"
1946 tests/ssl-opt.sh
1952 …LEGACY" GNUTLS_CLI="$GNUTLS_LEGACY_CLI" GNUTLS_SERV="$GNUTLS_LEGACY_SERV" tests/compat.sh -f 'NULL'
1955 env OPENSSL_CMD="$OPENSSL_NEXT" tests/compat.sh -e '^$' -f 'ARIA\|CHACHA'
1963 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER
1964 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING
1967 scripts/config.py -f tests/include/test/drivers/config_test_driver.h set MBEDTLS_SHA384_C
1968 scripts/config.py -f tests/include/test/drivers/config_test_driver.h set MBEDTLS_SHA512_C
1971 …loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g'…
1972 make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
1975 scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_SHA384_C
1976 scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_SHA512_C
1978 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
1979 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
1980 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
1981 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
1982 scripts/config.py unset MBEDTLS_ECDSA_C
1983 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
1984 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
1986 …loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&…
1987 …CFLAGS -O -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_T…
2000 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER
2001 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING
2004 …loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g'…
2005 make -C tests libtestdriver1.a CFLAGS=" $ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
2007 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2008 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2009 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2010 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2011 scripts/config.py unset MBEDTLS_ECDH_C
2012 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
2013 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
2014 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
2015 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
2016 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
2018 …loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&…
2019 …CFLAGS -O -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_T…
2032 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER
2033 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING
2040 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_OAEP
2041 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_PKCS1V15_CRYPT
2045 # - the test library can compute the RSA signatures even in the case of a
2048 # - the dependency of RSA signature tests on PSA_WANT_ALG_SHA_xyz is
2051 # - when testing a signature key with an algorithm wildcard built from
2055 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
2056 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RIPEMD160_C
2058 scripts/config.py -f tests/include/test/drivers/config_test_driver.h set MBEDTLS_SHA1_C
2059 scripts/config.py -f tests/include/test/drivers/config_test_driver.h set MBEDTLS_SHA512_C
2061 scripts/config.py -f tests/include/test/drivers/config_test_driver.h set MBEDTLS_MD_C
2064 scripts/config.py -f tests/include/test/drivers/config_test_driver.h set MBEDTLS_PEM_PARSE_C
2065 scripts/config.py -f tests/include/test/drivers/config_test_driver.h set MBEDTLS_BASE64_C
2068 …loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g'…
2069 make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
2072 scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_SHA1_C
2073 scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_SHA512_C
2074 scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_MD_C
2075 scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_PEM_PARSE_C
2076 scripts/config.py -f tests/include/test/drivers/config_test_driver.h unset MBEDTLS_BASE64_C
2080 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2081 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2084 scripts/config.py unset MBEDTLS_PKCS1_V15
2085 scripts/config.py unset MBEDTLS_PKCS1_V21
2086 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
2087 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
2088 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
2089 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
2090 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
2091 scripts/config.py unset MBEDTLS_RSA_C
2092 scripts/config.py unset MBEDTLS_X509_RSASSA_PSS_SUPPORT
2094 scripts/config.py unset MBEDTLS_MD5_C
2095 scripts/config.py unset MBEDTLS_RIPEMD160_C
2096 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1
2097 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_1
2098 scripts/config.py unset MBEDTLS_SSL_CBC_RECORD_SPLITTING
2100 …loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&…
2101 …N_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TE…
2115 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER
2116 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING
2119 …loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g'…
2120 make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
2122 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2123 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2124 scripts/config.py unset MBEDTLS_MD5_C
2125 scripts/config.py unset MBEDTLS_RIPEMD160_C
2126 scripts/config.py unset MBEDTLS_SHA1_C
2128 scripts/config.py unset MBEDTLS_SHA384_C
2129 scripts/config.py unset MBEDTLS_SHA512_C
2130 …loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&…
2131 …N_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TE…
2140 # Auxiliary function to build config for hashes with and without drivers
2143 # start with config full for maximum coverage (also enables USE_PSA)
2144 scripts/config.py full
2145 # enable support for drivers and configuring PSA-only algorithms
2146 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2147 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2148 if [ "$DRIVER_ONLY" -eq 1 ]; then
2149 # disable the built-in implementation of hashes
2150 scripts/config.py unset MBEDTLS_MD5_C
2151 scripts/config.py unset MBEDTLS_RIPEMD160_C
2152 scripts/config.py unset MBEDTLS_SHA1_C
2153 scripts/config.py unset MBEDTLS_SHA224_C
2154 scripts/config.py unset MBEDTLS_SHA256_C # see external RNG below
2155 scripts/config.py unset MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT
2156 scripts/config.py unset MBEDTLS_SHA384_C
2157 scripts/config.py unset MBEDTLS_SHA512_C
2158 scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT
2161 # which in turn hard-depends on SHA256_C (or SHA512_C).
2163 scripts/config.py set MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
2164 scripts/config.py unset MBEDTLS_ENTROPY_C
2165 scripts/config.py unset MBEDTLS_ENTROPY_NV_SEED # depends on ENTROPY_C
2166 scripts/config.py unset MBEDTLS_PLATFORM_NV_SEED_ALT # depends on former
2169 if [ "$DRIVER_ONLY" -eq 1 ]; then
2170 scripts/config.py unset MBEDTLS_MD_C
2172 scripts/config.py unset MBEDTLS_HKDF_C # has independent PSA implementation
2173 scripts/config.py unset MBEDTLS_HMAC_DRBG_C
2174 scripts/config.py unset MBEDTLS_PKCS7_C
2175 scripts/config.py unset MBEDTLS_ECDSA_DETERMINISTIC
2176 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_DETERMINISTIC_ECDSA
2187 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER
2188 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING
2191 …loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g'…
2192 make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
2196 …loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&…
2197 …N_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TE…
2199 # There's a risk of something getting re-enabled via config_psa.h;
2211 msg "test: ssl-opt.sh, MBEDTLS_PSA_CRYPTO_CONFIG with accelerated hash and USE_PSA"
2212 tests/ssl-opt.sh
2220 # script to find regression in test coverage when accelerated hash is used (tests and ssl-opt).
2225 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER
2226 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING
2235 msg "test: ssl-opt.sh, MBEDTLS_PSA_CRYPTO_CONFIG without accelerated hash and USE_PSA"
2236 tests/ssl-opt.sh
2243 …loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g'…
2244 make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
2246 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2247 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2254 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER
2255 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING
2256 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_CMAC
2258 scripts/config.py unset MBEDTLS_CIPHER_MODE_CBC
2259 scripts/config.py unset MBEDTLS_CIPHER_PADDING_PKCS7
2260 scripts/config.py unset MBEDTLS_CIPHER_MODE_CTR
2261 scripts/config.py unset MBEDTLS_CIPHER_MODE_CFB
2262 scripts/config.py unset MBEDTLS_CIPHER_MODE_OFB
2263 scripts/config.py unset MBEDTLS_CIPHER_MODE_XTS
2264 scripts/config.py unset MBEDTLS_DES_C
2266 …loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&…
2267 …N_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TE…
2280 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER
2281 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING
2284 …loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g'…
2285 make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
2287 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2288 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2290 scripts/config.py unset MBEDTLS_GCM_C
2291 scripts/config.py unset MBEDTLS_CCM_C
2292 scripts/config.py unset MBEDTLS_CHACHAPOLY_C
2294 scripts/config.py unset MBEDTLS_SSL_CONTEXT_SERIALIZATION
2295 scripts/config.py unset MBEDTLS_SSL_TICKET_C
2297 …loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&…
2298 …N_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TE…
2300 # There's a risk of something getting re-enabled via config_psa.h
2313 scripts/config.py full
2314 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2315 scripts/config.py unset MBEDTLS_PSA_CRYPTO_DRIVERS
2316 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2317 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2318 make CC=gcc CFLAGS="$ASAN_CFLAGS -O2" LDFLAGS="$ASAN_CFLAGS"
2327 scripts/config.py full
2328 scripts/config.py unset MBEDTLS_CHACHAPOLY_C
2329 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_GCM
2330 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_CHACHA20_POLY1305
2331 make CC=gcc CFLAGS="$ASAN_CFLAGS -O2" LDFLAGS="$ASAN_CFLAGS"
2342 scripts/config.py full
2343 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2344 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2345 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2346 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2347 scripts/config.py unset MBEDTLS_ECDH_C
2348 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
2349 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
2350 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
2351 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
2352 scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
2354 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_ECDH -I../tests/…
2361 scripts/config.py full
2362 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2363 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2364 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2365 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2366 scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_KEY_TYPE_ECC_KEY_PAIR 1
2367 scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
2369 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_KEY_PAI…
2376 scripts/config.py full
2377 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2378 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2379 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2380 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2381 scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
2382 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_KEY_TYPE_ECC_KEY_PAIR
2384 …ake CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_KEY_TYPE_ECC_PUBLIC_K…
2391 scripts/config.py full
2392 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2393 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2394 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2395 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2397 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_HMAC -I../tests/…
2405 scripts/config.py full
2406 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2407 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2408 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2409 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2410 scripts/config.py unset MBEDTLS_HKDF_C
2412 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2414 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_HKDF -I../tests/…
2420 msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_MD5 - other hashes"
2421 scripts/config.py full
2422 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2423 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2424 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2425 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2426 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RIPEMD160
2427 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_1
2428 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_224
2429 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_256
2430 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_384
2431 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_512
2432 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS
2433 scripts/config.py unset MBEDTLS_LMS_C
2434 scripts/config.py unset MBEDTLS_LMS_PRIVATE
2436 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_MD5 -I../tests/i…
2442 msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_RIPEMD160 - other hashes"
2443 scripts/config.py full
2444 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2445 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2446 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2447 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2448 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
2449 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_1
2450 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_224
2451 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_256
2452 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_384
2453 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_512
2454 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS
2455 scripts/config.py unset MBEDTLS_LMS_C
2456 scripts/config.py unset MBEDTLS_LMS_PRIVATE
2458 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_RIPEMD160 -I../t…
2464 msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_1 - other hashes"
2465 scripts/config.py full
2466 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2467 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2468 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2469 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2470 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
2471 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RIPEMD160
2472 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_224
2473 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_256
2474 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_384
2475 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_512
2476 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS
2477 scripts/config.py unset MBEDTLS_LMS_C
2478 scripts/config.py unset MBEDTLS_LMS_PRIVATE
2480 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_SHA_1 -I../tests…
2486 msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_224 - other hashes"
2487 scripts/config.py full
2488 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2489 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2490 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2491 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2492 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
2493 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RIPEMD160
2494 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_1
2495 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_384
2496 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_512
2497 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS
2499 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_SHA_224 -I../tes…
2505 msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_256 - other hashes"
2506 scripts/config.py full
2507 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2508 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2509 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2510 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2511 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
2512 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RIPEMD160
2513 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_1
2514 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_224
2515 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_384
2516 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_512
2518 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_SHA_256 -I../tes…
2524 msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_384 - other hashes"
2525 scripts/config.py full
2526 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2527 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2528 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2529 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2530 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
2531 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RIPEMD160
2532 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_1
2533 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_224
2534 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_256
2535 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS
2536 scripts/config.py unset MBEDTLS_LMS_C
2537 scripts/config.py unset MBEDTLS_LMS_PRIVATE
2539 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_SHA_384 -I../tes…
2545 msg "build: full + MBEDTLS_PSA_CRYPTO_CONFIG + PSA_WANT_ALG_SHA_512 - other hashes"
2546 scripts/config.py full
2547 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2548 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2549 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2550 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2551 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_MD5
2552 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RIPEMD160
2553 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_1
2554 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_224
2555 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_256
2556 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_SHA_384
2557 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS
2558 scripts/config.py unset MBEDTLS_LMS_C
2559 scripts/config.py unset MBEDTLS_LMS_PRIVATE
2561 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_SHA_512 -I../tes…
2568 scripts/config.py full
2569 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2570 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2571 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2572 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2573 scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PKCS1V15_CRYPT 1
2574 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_PKCS1V15_SIGN
2575 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_OAEP
2576 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_PSS
2578 …ake CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_RSA_PKCS1V15_CRYP…
2585 scripts/config.py full
2586 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2587 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2588 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2589 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2590 scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PKCS1V15_SIGN 1
2591 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_PKCS1V15_CRYPT
2592 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_OAEP
2593 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_PSS
2595 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_RSA_PKCS1V15_SIG…
2602 scripts/config.py full
2603 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2604 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2605 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2606 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2607 scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_OAEP 1
2608 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_PKCS1V15_CRYPT
2609 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_PKCS1V15_SIGN
2610 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_PSS
2612 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_RSA_OAEP -I../te…
2619 scripts/config.py full
2620 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2621 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2622 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2623 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2624 scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PSS 1
2625 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_PKCS1V15_CRYPT
2626 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_PKCS1V15_SIGN
2627 scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_RSA_OAEP
2629 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_ALG_RSA_PSS -I../tes…
2636 scripts/config.py full
2637 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2638 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2639 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2640 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2641 scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PSS 1
2642 scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_KEY_TYPE_RSA_KEY_PAIR 1
2644 …make CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_KEY_PAI…
2651 scripts/config.py full
2652 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
2653 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2654 scripts/config.py unset MBEDTLS_USE_PSA_CRYPTO
2655 scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
2656 scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_ALG_RSA_PSS 1
2657 scripts/config.py -f include/psa/crypto_config.h set PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY 1
2659 …ake CC=gcc CFLAGS="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_PSA_ACCEL_KEY_TYPE_RSA_PUBLIC_K…
2666 msg "build: full config except platform/fsio/net, make, gcc, C99" # ~ 30s
2667 scripts/config.py full
2668 scripts/config.py unset MBEDTLS_PLATFORM_C
2669 scripts/config.py unset MBEDTLS_NET_C
2670 scripts/config.py unset MBEDTLS_PLATFORM_MEMORY
2671 scripts/config.py unset MBEDTLS_PLATFORM_PRINTF_ALT
2672 scripts/config.py unset MBEDTLS_PLATFORM_FPRINTF_ALT
2673 scripts/config.py unset MBEDTLS_PLATFORM_SNPRINTF_ALT
2674 scripts/config.py unset MBEDTLS_PLATFORM_VSNPRINTF_ALT
2675 scripts/config.py unset MBEDTLS_PLATFORM_TIME_ALT
2676 scripts/config.py unset MBEDTLS_PLATFORM_EXIT_ALT
2677 scripts/config.py unset MBEDTLS_PLATFORM_SETBUF_ALT
2678 scripts/config.py unset MBEDTLS_PLATFORM_NV_SEED_ALT
2679 scripts/config.py unset MBEDTLS_ENTROPY_NV_SEED
2680 scripts/config.py unset MBEDTLS_FS_IO
2681 scripts/config.py unset MBEDTLS_PSA_CRYPTO_SE_C
2682 scripts/config.py unset MBEDTLS_PSA_CRYPTO_STORAGE_C
2683 scripts/config.py unset MBEDTLS_PSA_ITS_FILE_C
2685 # to re-enable platform integration features otherwise disabled in C99 builds
2686 make CC=gcc CFLAGS='-Werror -Wall -Wextra -std=c99 -pedantic -Os -D_DEFAULT_SOURCE' lib programs
2687 make CC=gcc CFLAGS='-Werror -Wall -Wextra -Os' test
2692 msg "build: full config with NO_STD_FUNCTION, make, gcc" # ~ 30s
2693 scripts/config.py full
2694 scripts/config.py set MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
2695 scripts/config.py unset MBEDTLS_ENTROPY_NV_SEED
2696 scripts/config.py unset MBEDTLS_PLATFORM_NV_SEED_ALT
2697 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Check .
2702 msg "build: full config except SSL server, make, gcc" # ~ 30s
2703 scripts/config.py full
2704 scripts/config.py unset MBEDTLS_SSL_SRV_C
2705 make CC=gcc CFLAGS='-Werror -Wall -Wextra -O1'
2709 msg "build: full config except SSL client, make, gcc" # ~ 30s
2710 scripts/config.py full
2711 scripts/config.py unset MBEDTLS_SSL_CLI_C
2712 make CC=gcc CFLAGS='-Werror -Wall -Wextra -O1'
2718 msg "build: full config except net_sockets.c, make, gcc -std=c99 -pedantic" # ~ 30s
2719 scripts/config.py full
2720 scripts/config.py unset MBEDTLS_NET_C # getaddrinfo() undeclared, etc.
2721 scripts/config.py set MBEDTLS_NO_PLATFORM_ENTROPY # uses syscall() on GNU/Linux
2722 make CC=gcc CFLAGS='-Werror -Wall -Wextra -O1 -std=c99 -pedantic' lib
2726 msg "build: default config with memory buffer allocator and backtrace enabled"
2727 scripts/config.py set MBEDTLS_MEMORY_BUFFER_ALLOC_C
2728 scripts/config.py set MBEDTLS_PLATFORM_MEMORY
2729 scripts/config.py set MBEDTLS_MEMORY_BACKTRACE
2730 scripts/config.py set MBEDTLS_MEMORY_DEBUG
2731 CC=gcc cmake -DCMAKE_BUILD_TYPE:String=Release .
2739 msg "build: default config with memory buffer allocator"
2740 scripts/config.py set MBEDTLS_MEMORY_BUFFER_ALLOC_C
2741 scripts/config.py set MBEDTLS_PLATFORM_MEMORY
2742 CC=gcc cmake -DCMAKE_BUILD_TYPE:String=Release .
2748 msg "test: ssl-opt.sh, MBEDTLS_MEMORY_BUFFER_ALLOC_C"
2750 tests/ssl-opt.sh -e '^DTLS proxy'
2755 msg "build: default config except MFL extension (ASan build)" # ~ 30s
2756 scripts/config.py unset MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
2757 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
2760 msg "test: ssl-opt.sh, MFL-related tests"
2761 tests/ssl-opt.sh -f "Max fragment length"
2765 msg "build: default config with MBEDTLS_SSL_KEEP_PEER_CERTIFICATE disabled (ASan build)"
2766 scripts/config.py unset MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
2767 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
2773 msg "test: ssl-opt.sh, !MBEDTLS_SSL_KEEP_PEER_CERTIFICATE"
2774 tests/ssl-opt.sh
2779 msg "test: context-info.sh, !MBEDTLS_SSL_KEEP_PEER_CERTIFICATE"
2780 tests/context-info.sh
2785 scripts/config.py unset MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
2786 scripts/config.py set MBEDTLS_SSL_IN_CONTENT_LEN 16384
2787 scripts/config.py set MBEDTLS_SSL_OUT_CONTENT_LEN 4096
2788 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
2792 tests/ssl-opt.sh -f "Max fragment length\|Large buffer"
2794 msg "test: context-info.sh (disabled MFL extension case)"
2795 tests/context-info.sh
2800 scripts/config.py set MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH
2801 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
2807 msg "test: ssl-opt.sh, MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH enabled"
2808 tests/ssl-opt.sh
2816 scripts/config.py set MBEDTLS_SSL_DTLS_CONNECTION_ID_COMPAT 1
2818 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
2824 msg "test: ssl-opt.sh, MBEDTLS_SSL_DTLS_CONNECTION_ID (legacy) enabled"
2825 tests/ssl-opt.sh
2832 msg "build: default config with memory buffer allocator and MFL extension"
2833 scripts/config.py set MBEDTLS_MEMORY_BUFFER_ALLOC_C
2834 scripts/config.py set MBEDTLS_PLATFORM_MEMORY
2835 scripts/config.py set MBEDTLS_MEMORY_DEBUG
2836 scripts/config.py set MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
2837 scripts/config.py set MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH
2838 CC=gcc cmake -DCMAKE_BUILD_TYPE:String=Release .
2845 tests/ssl-opt.sh -f "Handshake memory usage"
2850 scripts/config.py unset MBEDTLS_CIPHER_NULL_CIPHER
2851 scripts/config.py unset MBEDTLS_CIPHER_MODE_CBC
2852 scripts/config.py unset MBEDTLS_CMAC_C
2858 msg "test ssl-opt.sh: !MBEDTLS_SSL_SOME_MODES_USE_MAC"
2859 tests/ssl-opt.sh -f 'Default\|EtM' -e 'without EtM'
2863 msg "build: default config without MBEDTLS_HAVE_TIME_DATE"
2864 scripts/config.py unset MBEDTLS_HAVE_TIME_DATE
2865 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Check .
2868 msg "test: !MBEDTLS_HAVE_TIME_DATE - main suites"
2874 scripts/config.py set MBEDTLS_PLATFORM_MEMORY
2875 scripts/config.py set MBEDTLS_PLATFORM_CALLOC_MACRO calloc
2876 scripts/config.py set MBEDTLS_PLATFORM_FREE_MACRO free
2877 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
2886 scripts/config.py full
2887 …make CC=gcc CFLAGS="'-DMBEDTLS_CONFIG_FILE=\"$PWD/tests/configs/config-wrapper-malloc-0-null.h\"' …
2897 msg "test ssl-opt.sh: malloc(0) returns NULL (ASan+UBSan build)"
2903 tests/ssl-opt.sh -e 'proxy'
2907 msg "build: default config with AES_FEWER_TABLES enabled"
2908 scripts/config.py set MBEDTLS_AES_FEWER_TABLES
2909 make CC=gcc CFLAGS='-Werror -Wall -Wextra'
2916 msg "build: default config with AES_ROM_TABLES enabled"
2917 scripts/config.py set MBEDTLS_AES_ROM_TABLES
2918 make CC=gcc CFLAGS='-Werror -Wall -Wextra'
2925 msg "build: default config with AES_ROM_TABLES and AES_FEWER_TABLES enabled"
2926 scripts/config.py set MBEDTLS_AES_FEWER_TABLES
2927 scripts/config.py set MBEDTLS_AES_ROM_TABLES
2928 make CC=gcc CFLAGS='-Werror -Wall -Wextra'
2936 scripts/config.py full
2937 scripts/config.py unset MBEDTLS_MEMORY_BUFFER_ALLOC_C
2938 scripts/config.py set MBEDTLS_ENTROPY_FORCE_SHA256
2939 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
2948 scripts/config.py full
2949 scripts/config.py unset MBEDTLS_MEMORY_BUFFER_ALLOC_C
2950 scripts/config.py set MBEDTLS_CTR_DRBG_USE_128_BIT_KEY
2951 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
2960 scripts/config.py full
2961 scripts/config.py unset MBEDTLS_MEMORY_BUFFER_ALLOC_C
2962 scripts/config.py set MBEDTLS_CTR_DRBG_USE_128_BIT_KEY
2963 scripts/config.py set MBEDTLS_ENTROPY_FORCE_SHA256
2964 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
2972 msg "build: default config + MBEDTLS_PSA_CRYPTO_SE_C"
2973 scripts/config.py set MBEDTLS_PSA_CRYPTO_SE_C
2974 make CC=clang CFLAGS="$ASAN_CFLAGS -Os" LDFLAGS="$ASAN_CFLAGS"
2976 msg "test: default config + MBEDTLS_PSA_CRYPTO_SE_C"
2982 scripts/config.py full
2983 scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
2984 scripts/config.py set MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS
2985 loc_cflags="$ASAN_CFLAGS -DPSA_CRYPTO_DRIVER_TEST_ALL"
2986 …loc_cflags="${loc_cflags} '-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/user-config-for-test.h\"'"
2987 loc_cflags="${loc_cflags} -I../tests/include -O2"
3004 cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On .
3015 make CC="$cc" CFLAGS="$opt -std=c99 -pedantic -Wall -Wextra -Werror"
3018 # optimizations use inline assembly whereas runs with -O0
3026 scripts/config.py full
3027 test_build_opt 'full config' clang -O0 -Os -O2
3031 scripts/config.py full
3032 test_build_opt 'full config' gcc -O0 -Os -O2
3037 scripts/config.py -w full_config.h full
3039 make CFLAGS="-I '$PWD' -DMBEDTLS_CONFIG_FILE='\"full_config.h\"'"
3045 # In the user config, disable one feature (for simplicity, pick a feature
3048 …make CFLAGS="-I '$PWD' -DMBEDTLS_CONFIG_FILE='\"full_config.h\"' -DMBEDTLS_USER_CONFIG_FILE='\"use…
3051 rm -f user_config.h full_config.h
3056 scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
3059 make CFLAGS="-I '$PWD' -DMBEDTLS_PSA_CRYPTO_CONFIG_FILE='\"psa_test_config.h\"'"
3065 # In the user config, disable one feature, which will reflect on the
3068 scripts/config.py unset MBEDTLS_CMAC_C
3069 …make CFLAGS="-I '$PWD' -DMBEDTLS_PSA_CRYPTO_CONFIG_FILE='\"psa_test_config.h\"' -DMBEDTLS_PSA_CRYP…
3072 rm -f psa_test_config.h psa_user_config.h
3076 # Build without optimization, so as to use portable C code (in a 32-bit
3077 # build) and not the i386-specific inline assembly.
3078 msg "build: i386, make, gcc -O0 (ASan build)" # ~ 30s
3079 scripts/config.py full
3080 make CC=gcc CFLAGS="$ASAN_CFLAGS -m32 -O0" LDFLAGS="-m32 $ASAN_CFLAGS"
3082 msg "test: i386, make, gcc -O0 (ASan build)"
3086 case $(uname -m) in
3095 msg "build: i386, make, gcc -O2 (ASan build)" # ~ 30s
3096 scripts/config.py full
3097 make CC=gcc CFLAGS="$ASAN_CFLAGS -m32 -O2" LDFLAGS="-m32 $ASAN_CFLAGS"
3099 msg "test: i386, make, gcc -O2 (ASan build)"
3102 msg "test ssl-opt.sh, i386, make, gcc-O2"
3103 tests/ssl-opt.sh
3111 scripts/config.py set MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED
3112 make CC=gcc CFLAGS="$ASAN_CFLAGS -m32 -O2" LDFLAGS="-m32 $ASAN_CFLAGS"
3114 msg "test: i386, Everest ECDH context - main suites (inc. selftests) (ASan build)" # ~ 50s
3117 msg "test: i386, Everest ECDH context - ECDH-related part of ssl-opt.sh (ASan build)" # ~ 5s
3118 tests/ssl-opt.sh -f ECDH
3120 …msg "test: i386, Everest ECDH context - compat.sh with some ECDH ciphersuites (ASan build)" # ~ 3 …
3122 tests/compat.sh -f ECDH -V NO -e 'ARIA\|CAMELLIA\|CHACHA'
3129 msg "build: 64-bit ILP32, make, gcc" # ~ 30s
3130 scripts/config.py full
3131 make CC=gcc CFLAGS='-Werror -Wall -Wextra -mx32' LDFLAGS='-mx32'
3133 msg "test: 64-bit ILP32, make, gcc"
3137 case $(uname -m) in
3145 scripts/config.py set MBEDTLS_MPI_WINDOW_SIZE 1
3146 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
3149 msg "test: MBEDTLS_MPI_WINDOW_SIZE=1 - main suites (inc. selftests) (ASan build)" # ~ 10s
3154 msg "build: gcc, force 32-bit bignum limbs"
3155 scripts/config.py unset MBEDTLS_HAVE_ASM
3156 scripts/config.py unset MBEDTLS_AESNI_C
3157 scripts/config.py unset MBEDTLS_PADLOCK_C
3158 make CC=gcc CFLAGS='-Werror -Wall -Wextra -DMBEDTLS_HAVE_INT32'
3160 msg "test: gcc, force 32-bit bignum limbs"
3165 msg "build: gcc, force 64-bit bignum limbs"
3166 scripts/config.py unset MBEDTLS_HAVE_ASM
3167 scripts/config.py unset MBEDTLS_AESNI_C
3168 scripts/config.py unset MBEDTLS_PADLOCK_C
3169 make CC=gcc CFLAGS='-Werror -Wall -Wextra -DMBEDTLS_HAVE_INT64'
3171 msg "test: gcc, force 64-bit bignum limbs"
3177 scripts/config.py full
3178 scripts/config.py set MBEDTLS_NO_UDBL_DIVISION
3179 make CFLAGS='-Werror -O1'
3187 scripts/config.py full
3188 scripts/config.py set MBEDTLS_NO_64BIT_MULTIPLICATION
3189 make CFLAGS='-Werror -O1'
3197 scripts/config.py full
3199 scripts/config.py unset MBEDTLS_DEBUG_C
3200 scripts/config.py unset MBEDTLS_ERROR_C
3201 scripts/config.py set MBEDTLS_ERROR_STRERROR_DUMMY
3202 scripts/config.py unset MBEDTLS_VERSION_FEATURES
3203 make CFLAGS='-Werror -Os'
3211 scripts/config.pl full
3212 scripts/config.pl unset MBEDTLS_MEMORY_BACKTRACE # too slow for tests
3213 scripts/config.pl set MBEDTLS_X509_REMOVE_INFO
3214 make CFLAGS='-Werror -O2'
3219 msg "test: ssl-opt.sh, full + MBEDTLS_X509_REMOVE_INFO" # ~ 1 min
3220 tests/ssl-opt.sh
3224 msg "build: ${ARM_NONE_EABI_GCC_PREFIX}gcc -O1, baremetal+debug" # ~ 10s
3225 scripts/config.py baremetal
3226 …I_GCC_PREFIX}ar" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -Werror -Wall -Wextra -O1' lib
3228 msg "size: ${ARM_NONE_EABI_GCC_PREFIX}gcc -O1, baremetal+debug"
3233 msg "build: ${ARM_LINUX_GNUEABI_GCC_PREFIX}gcc -march=arm5vte, baremetal+debug" # ~ 10s
3234 scripts/config.py baremetal
3237 # See https://github.com/Mbed-TLS/mbedtls/pull/2169 and comments.
3239 # https://github.com/Mbed-TLS/mbedtls/pull/3449#issuecomment-675313720
3240 …c" AR="${ARM_LINUX_GNUEABI_GCC_PREFIX}ar" CFLAGS='-Werror -Wall -Wextra -march=armv5te -O1' LDFLAG…
3242 msg "size: ${ARM_LINUX_GNUEABI_GCC_PREFIX}gcc -march=armv5te -O1, baremetal+debug"
3250 msg "build: ${ARM_NONE_EABI_GCC_PREFIX}gcc -march=arm5vte, baremetal+debug" # ~ 10s
3251 scripts/config.py baremetal
3254 # in case the gcc-arm-linux-gnueabi toolchain is not available
3255 …NONE_EABI_GCC_PREFIX}ar" CFLAGS='-std=c99 -Werror -Wall -Wextra -march=armv5te -O1' LDFLAGS='-marc…
3257 msg "size: ${ARM_NONE_EABI_GCC_PREFIX}gcc -march=armv5te -O1, baremetal+debug"
3262 msg "build: ${ARM_NONE_EABI_GCC_PREFIX}gcc -mthumb -mcpu=cortex-m0plus, baremetal_size" # ~ 10s
3263 scripts/config.py baremetal_size
3264 …r" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -Werror -Wall -Wextra -mthumb -mcpu=cortex-…
3266 msg "size: ${ARM_NONE_EABI_GCC_PREFIX}gcc -mthumb -mcpu=cortex-m0plus -Os, baremetal_size"
3271 msg "build: ${ARM_NONE_EABI_GCC_PREFIX}gcc -DMBEDTLS_NO_UDBL_DIVISION, make" # ~ 10s
3272 scripts/config.py baremetal
3273 scripts/config.py set MBEDTLS_NO_UDBL_DIVISION
3274 …_EABI_GCC_PREFIX}ar" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -Werror -Wall -Wextra' lib
3275 echo "Checking that software 64-bit division is not required"
3281 scripts/config.py baremetal
3282 scripts/config.py set MBEDTLS_NO_64BIT_MULTIPLICATION
3283 …GCC_PREFIX}ar" LD="${ARM_NONE_EABI_GCC_PREFIX}ld" CFLAGS='-std=c99 -Werror -O1 -march=armv6-m -mth…
3284 echo "Checking that software 64-bit multiplication is not required"
3290 scripts/config.py baremetal
3291 # armc[56] don't support SHA-512 intrinsics
3292 scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT
3293 scripts/config.py set MBEDTLS_HAVE_ASM
3295 make CC="$ARMC5_CC" AR="$ARMC5_AR" WARNING_CFLAGS='--strict --c99' lib
3298 "$ARMC5_FROMELF" -z library/*.o
3302 # Compile with -O1 since some Arm inline assembly is disabled for -O0.
3304 # ARM Compiler 6 - Target ARMv7-A
3305 armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv7-a"
3307 # ARM Compiler 6 - Target ARMv7-M
3308 armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv7-m"
3310 # ARM Compiler 6 - Target ARMv7-M+DSP
3311 armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv7-m+dsp"
3313 # ARM Compiler 6 - Target ARMv8-A - AArch32
3314 armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv8.2-a"
3316 # ARM Compiler 6 - Target ARMv8-M
3317 armc6_build_test "-O1 --target=arm-arm-none-eabi -march=armv8-m.main"
3319 # ARM Compiler 6 - Target ARMv8.2-A - AArch64
3320 armc6_build_test "-O1 --target=aarch64-arm-none-eabi -march=armv8.2-a+crypto"
3324 msg "build: default config with MBEDTLS_SSL_PROTO_TLS1_3, without MBEDTLS_SSL_PROTO_TLS1_2"
3325 scripts/config.py set MBEDTLS_SSL_EARLY_DATA
3326 make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'"
3331 msg "ssl-opt.sh: TLS 1.3 only, all key exchange modes enabled"
3332 tests/ssl-opt.sh
3337 scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
3338 scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
3339 scripts/config.py unset MBEDTLS_ECDH_C
3340 scripts/config.py unset MBEDTLS_X509_CRT_PARSE_C
3341 scripts/config.py unset MBEDTLS_X509_RSASSA_PSS_SUPPORT
3342 scripts/config.py unset MBEDTLS_SSL_SERVER_NAME_INDICATION
3343 scripts/config.py unset MBEDTLS_ECDSA_C
3344 scripts/config.py unset MBEDTLS_PKCS1_V21
3345 scripts/config.py unset MBEDTLS_PKCS7_C
3346 scripts/config.py set MBEDTLS_SSL_EARLY_DATA
3347 make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'"
3352 msg "ssl-opt.sh: TLS 1.3 only, only PSK key exchange mode enabled"
3353 tests/ssl-opt.sh
3358 scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
3359 scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED
3360 scripts/config.py unset MBEDTLS_SSL_EARLY_DATA
3361 make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'"
3366 msg "ssl-opt.sh: TLS 1.3 only, only ephemeral key exchange mode"
3367 tests/ssl-opt.sh
3372 scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
3373 scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
3374 scripts/config.py unset MBEDTLS_X509_CRT_PARSE_C
3375 scripts/config.py unset MBEDTLS_X509_RSASSA_PSS_SUPPORT
3376 scripts/config.py unset MBEDTLS_SSL_SERVER_NAME_INDICATION
3377 scripts/config.py unset MBEDTLS_ECDSA_C
3378 scripts/config.py unset MBEDTLS_PKCS1_V21
3379 scripts/config.py unset MBEDTLS_PKCS7_C
3380 scripts/config.py set MBEDTLS_SSL_EARLY_DATA
3381 make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'"
3386 msg "ssl-opt.sh: TLS 1.3 only, only PSK ephemeral key exchange mode"
3387 tests/ssl-opt.sh
3392 scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED
3393 scripts/config.py unset MBEDTLS_X509_CRT_PARSE_C
3394 scripts/config.py unset MBEDTLS_X509_RSASSA_PSS_SUPPORT
3395 scripts/config.py unset MBEDTLS_SSL_SERVER_NAME_INDICATION
3396 scripts/config.py unset MBEDTLS_ECDSA_C
3397 scripts/config.py unset MBEDTLS_PKCS1_V21
3398 scripts/config.py unset MBEDTLS_PKCS7_C
3399 scripts/config.py set MBEDTLS_SSL_EARLY_DATA
3400 make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'"
3405 msg "ssl-opt.sh: TLS 1.3 only, PSK and PSK ephemeral key exchange modes"
3406 tests/ssl-opt.sh
3411 scripts/config.py unset MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED
3412 scripts/config.py set MBEDTLS_SSL_EARLY_DATA
3413 make CFLAGS="'-DMBEDTLS_USER_CONFIG_FILE=\"../tests/configs/tls13-only.h\"'"
3418 msg "ssl-opt.sh: TLS 1.3 only, ephemeral and PSK ephemeral key exchange modes"
3419 tests/ssl-opt.sh
3423 msg "build: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, without padding"
3424 scripts/config.py set MBEDTLS_SSL_PROTO_TLS1_3
3425 scripts/config.py set MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3426 scripts/config.py set MBEDTLS_SSL_CID_TLS1_3_PADDING_GRANULARITY 1
3427 scripts/config.py set MBEDTLS_SSL_EARLY_DATA
3428 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
3430 msg "test: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, without padding"
3432 msg "ssl-opt.sh (TLS 1.3)"
3433 tests/ssl-opt.sh
3437 msg "build: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, without padding"
3438 scripts/config.py set MBEDTLS_SSL_PROTO_TLS1_3
3439 scripts/config.py unset MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE
3440 scripts/config.py set MBEDTLS_SSL_CID_TLS1_3_PADDING_GRANULARITY 1
3441 scripts/config.py set MBEDTLS_SSL_EARLY_DATA
3442 CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
3444 msg "test: default config with MBEDTLS_SSL_PROTO_TLS1_3 enabled, without padding"
3446 msg "ssl-opt.sh (TLS 1.3 no compatibility mode)"
3447 tests/ssl-opt.sh
3451 msg "build: Windows cross build - mingw64, make (Link Library)" # ~ 30s
3452 …make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall …
3455 …make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror' WINDO…
3458 msg "build: Windows cross build - mingw64, make (DLL)" # ~ 30s
3459 …make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall …
3460 …make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall …
3464 case $(i686-w64-mingw32-gcc -dumpversion) in
3465 [0-5]*) false;;
3472 scripts/config.py unset MBEDTLS_AESNI_C # memsan doesn't grok asm
3473 CC=clang cmake -D CMAKE_BUILD_TYPE:String=MemSan .
3479 msg "test: ssl-opt.sh (MSan)" # ~ 1 min
3480 tests/ssl-opt.sh
3484 if [ "$MEMORY" -gt 0 ]; then
3492 # default config, in particular without MBEDTLS_USE_PSA_CRYPTO
3493 CC=clang cmake -D CMAKE_BUILD_TYPE:String=Release .
3496 msg "test: main suites, Valgrind (default config)"
3502 if [ "$MEMORY" -gt 0 ]; then
3503 msg "test: ssl-opt.sh --memcheck (default config)"
3504 tests/ssl-opt.sh --memcheck
3507 if [ "$MEMORY" -gt 1 ]; then
3508 msg "test: compat.sh --memcheck (default config)"
3509 tests/compat.sh --memcheck
3512 if [ "$MEMORY" -gt 0 ]; then
3513 msg "test: context-info.sh --memcheck (default config)"
3514 tests/context-info.sh --memcheck
3520 # full config, in particular with MBEDTLS_USE_PSA_CRYPTO
3521 scripts/config.py full
3522 CC=clang cmake -D CMAKE_BUILD_TYPE:String=Release .
3525 msg "test: main suites, Valgrind (full config)"
3535 # Attempt to parse lsb-release to find out distribution and version. If not
3537 if [[ -f /etc/lsb-release ]]; then
3539 while read -r lsb_line; do
3544 done < /etc/lsb-release
3556 [ "$distrib_id" != "Ubuntu" ] || [ "$distrib_ver_major" -gt 16 ]
3560 msg "build: cmake 'out-of-source' build"
3564 cmake -D CMAKE_BUILD_TYPE:String=Check "$MBEDTLS_ROOT_DIR"
3567 msg "test: cmake 'out-of-source' build"
3569 # Check that ssl-opt.sh can find the test programs.
3572 # file is missing (ssl-opt.sh tolerates the absence of some files so
3574 ./tests/ssl-opt.sh -f 'Default' >ssl-opt.out 2>ssl-opt.err
3575 grep PASS ssl-opt.out
3576 cat ssl-opt.err >&2
3577 # If ssl-opt.err is non-empty, record an error and keep going.
3578 [ ! -s ssl-opt.err ]
3579 rm ssl-opt.out ssl-opt.err
3581 rm -rf "$OUT_OF_SOURCE_DIR"
3585 msg "build: cmake 'as-subdirectory' build"
3596 msg "build: cmake 'as-package' build"
3607 msg "build: cmake 'as-installed-package' build"
3628 if [ -z "$(gdb -batch -nw -ex 'set disable-randomization off' 2>&1)" ]; then
3629 gdb_disable_aslr='set disable-randomization off'
3632 for optimization_flag in -O2 -O3 -Ofast -Os; do
3636 …gdb -ex "$gdb_disable_aslr" -x tests/scripts/test_zeroize.gdb -nw -batch -nx 2>&1 | tee test_zeroi…
3638 not grep -i "error" test_zeroize.log
3639 rm -f test_zeroize.log
3646 msg "build: make, default config (out-of-box), libmbedcrypto.a only"
3647 make -C library libmbedcrypto.a
3654 # psa-compliance-tests only supports CMake >= 3.10.0
3655 ver="$(cmake --version)"
3662 [ "$ver_major" -eq 3 ] && [ "$ver_minor" -ge 10 ]
3667 tests/scripts/check-python-files.sh
3674 # harmless info on stdout so it can be suppress with --quiet.
3678 python3 -m unittest tests/scripts/translate_ciphers.py 2>&1
3698 # Function invoked by --error-test to test error reporting.
3701 if [ $KEEP_GOING -ne 0 ]; then
3707 # Expected error: 'grep non_existent /dev/null -> 1'
3709 # Expected error: '! grep -q . tests/scripts/all.sh -> 1'
3710 not grep -q . "$0"
3711 # Expected error: 'make unknown_target -> 2'
3733 if [ $KEEP_GOING -eq 1 ]; then
3734 # We want to keep running if the subshell fails, so 'set -e' must
3739 if [ $QUIET -eq 1 ]; then
3744 if [ $KEEP_GOING -eq 1 ]; then
3745 # Keep "set -e" off, and run an ERR trap instead to record failures.
3746 set -E
3751 if [ $KEEP_GOING -eq 1 ]; then
3752 trap - ERR
3757 if [ $KEEP_GOING -eq 1 ]; then
3758 set -e
3759 if [ $component_status -ne 0 ]; then
3779 if [ $KEEP_GOING -eq 1 ]; then