mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-08-08 17:42:09 +03:00
Merge remote-tracking branch 'origin/pr/2403' into development
* origin/pr/2403: (24 commits) crypto: Update to Mbed Crypto8907b019e7
Create seedfile before running tests crypto: Update to Mbed Crypto81f9539037
ssl_cli.c : add explicit casting to unsigned char Generating visualc files - let Mbed TLS take precedence over crypto Add a link to the seedfile for out-of-tree cmake builds Adjust visual studio file generation to always use the crypto submodule all.sh: unparallelize mingw tests all.sh - disable parallelization for shared target tests config.pl: disable PSA_ITS_FILE and PSA_CRYPTO_STORAGE for baremetal all.sh: unset crypto storage define in a psa full config cmake asan test all.sh: unset FS_IO-dependent defines for tests that do not have it curves.pl - change test script to not depend on the implementation Export the submodule flag to sub-cmakes Disable MBEDTLS_ECP_RESTARTABLE in full config Export the submodule flag to sub-makes Force the usage of crypto submodule Fix crypto submodule usage in Makefile Documentation rewording Typo fixes in documentation ...
This commit is contained in:
@@ -769,7 +769,6 @@ component_build_deprecated () {
|
||||
make CC=clang CFLAGS='-O -Werror -Wall -Wextra -Wno-unused-function' tests
|
||||
}
|
||||
|
||||
|
||||
component_test_depends_curves () {
|
||||
msg "test/build: curves.pl (gcc)" # ~ 4 min
|
||||
record_status tests/scripts/curves.pl
|
||||
@@ -801,93 +800,35 @@ component_build_default_make_gcc_and_cxx () {
|
||||
make TEST_CPP=1
|
||||
}
|
||||
|
||||
component_test_submodule_cmake () {
|
||||
# USE_CRYPTO_SUBMODULE: check that the build works with CMake
|
||||
msg "build: cmake, full config + USE_CRYPTO_SUBMODULE, gcc+debug"
|
||||
scripts/config.pl full # enables md4 and submodule doesn't enable md4
|
||||
scripts/config.pl unset MBEDTLS_MEMORY_BACKTRACE # too slow for tests
|
||||
CC=gcc cmake -D USE_CRYPTO_SUBMODULE=1 -D CMAKE_BUILD_TYPE=Debug .
|
||||
make
|
||||
msg "test: top-level libmbedcrypto wasn't built (USE_CRYPTO_SUBMODULE, cmake)"
|
||||
if_build_succeeded not test -f library/libmbedcrypto.a
|
||||
msg "test: libmbedcrypto symbols are from crypto files (USE_CRYPTO_SUBMODULE, cmake)"
|
||||
if_build_succeeded objdump -g crypto/library/libmbedcrypto.a | grep -E 'crypto/library$' > /dev/null
|
||||
msg "test: libmbedcrypto uses top-level config (USE_CRYPTO_SUBMODULE, cmake)"
|
||||
if_build_succeeded objdump -g crypto/library/libmbedcrypto.a | grep 'md4.c' > /dev/null
|
||||
msg "test: main suites (USE_CRYPTO_SUBMODULE, cmake)"
|
||||
make test
|
||||
msg "test: ssl-opt.sh (USE_CRYPTO_SUBMODULE, cmake)"
|
||||
if_build_succeeded tests/ssl-opt.sh
|
||||
}
|
||||
|
||||
component_test_submodule_make () {
|
||||
# USE_CRYPTO_SUBMODULE: check that the build works with make
|
||||
msg "build: make, full config + USE_CRYPTO_SUBMODULE, gcc+debug"
|
||||
scripts/config.pl full # enables md4 and submodule doesn't enable md4
|
||||
scripts/config.pl unset MBEDTLS_MEMORY_BACKTRACE # too slow for tests
|
||||
make CC=gcc CFLAGS='-g' USE_CRYPTO_SUBMODULE=1
|
||||
msg "test: top-level libmbedcrypto wasn't built (USE_CRYPTO_SUBMODULE, make)"
|
||||
if_build_succeeded not test -f library/libmbedcrypto.a
|
||||
msg "test: libmbedcrypto symbols are from crypto files (USE_CRYPTO_SUBMODULE, make)"
|
||||
if_build_succeeded objdump -g crypto/library/libmbedcrypto.a | grep -E 'crypto/library$' > /dev/null
|
||||
msg "test: libmbedcrypto uses top-level config (USE_CRYPTO_SUBMODULE, make)"
|
||||
if_build_succeeded objdump -g crypto/library/libmbedcrypto.a | grep 'md4.c' > /dev/null
|
||||
msg "test: main suites (USE_CRYPTO_SUBMODULE, make)"
|
||||
make CC=gcc USE_CRYPTO_SUBMODULE=1 test
|
||||
msg "test: ssl-opt.sh (USE_CRYPTO_SUBMODULE, make)"
|
||||
if_build_succeeded tests/ssl-opt.sh
|
||||
}
|
||||
|
||||
component_test_not_submodule_make () {
|
||||
# Don't USE_CRYPTO_SUBMODULE: check that the submodule is not used with make
|
||||
msg "build: make, full config - USE_CRYPTO_SUBMODULE, gcc+debug"
|
||||
scripts/config.pl full
|
||||
make CC=gcc CFLAGS='-g'
|
||||
msg "test: submodule libmbedcrypto wasn't built (USE_CRYPTO_SUBMODULE, make)"
|
||||
if_build_succeeded not test -f crypto/library/libmbedcrypto.a
|
||||
msg "test: libmbedcrypto symbols are from library files (USE_CRYPTO_SUBMODULE, make)"
|
||||
if_build_succeeded objdump -g library/libmbedcrypto.a | grep -E 'library$' | not grep 'crypto' > /dev/null
|
||||
}
|
||||
|
||||
component_test_not_submodule_cmake () {
|
||||
# Don't USE_CRYPTO_SUBMODULE: check that the submodule is not used with CMake
|
||||
msg "build: cmake, full config - USE_CRYPTO_SUBMODULE, gcc+debug"
|
||||
scripts/config.pl full
|
||||
CC=gcc cmake -D CMAKE_BUILD_TYPE=Debug .
|
||||
make
|
||||
msg "test: submodule libmbedcrypto wasn't built (USE_CRYPTO_SUBMODULE, cmake)"
|
||||
if_build_succeeded not test -f crypto/library/libmbedcrypto.a
|
||||
msg "test: libmbedcrypto symbols are from library files (USE_CRYPTO_SUBMODULE, cmake)"
|
||||
if_build_succeeded objdump -g library/libmbedcrypto.a | grep -E 'library$' | not grep 'crypto' > /dev/null
|
||||
}
|
||||
|
||||
component_test_use_psa_crypto_full_cmake_asan() {
|
||||
# MBEDTLS_USE_PSA_CRYPTO: run the same set of tests as basic-build-test.sh
|
||||
component_test_no_use_psa_crypto_full_cmake_asan() {
|
||||
# full minus MBEDTLS_USE_PSA_CRYPTO: run the same set of tests as basic-build-test.sh
|
||||
msg "build: cmake, full config + MBEDTLS_USE_PSA_CRYPTO, ASan"
|
||||
scripts/config.pl full
|
||||
scripts/config.pl unset MBEDTLS_MEMORY_BACKTRACE # too slow for tests
|
||||
scripts/config.pl unset MBEDTLS_ECP_RESTARTABLE # restartable ECC not supported through PSA
|
||||
scripts/config.pl set MBEDTLS_PSA_CRYPTO_C
|
||||
scripts/config.pl set MBEDTLS_USE_PSA_CRYPTO
|
||||
CC=gcc cmake -D USE_CRYPTO_SUBMODULE=1 -D CMAKE_BUILD_TYPE:String=Asan .
|
||||
scripts/config.pl unset MBEDTLS_USE_PSA_CRYPTO
|
||||
scripts/config.pl unset MBEDTLS_PSA_ITS_FILE_C
|
||||
scripts/config.pl unset MBEDTLS_PSA_CRYPTO_STORAGE_C
|
||||
CC=gcc cmake -D CMAKE_BUILD_TYPE:String=Asan .
|
||||
make
|
||||
|
||||
msg "test: main suites (MBEDTLS_USE_PSA_CRYPTO)"
|
||||
msg "test: main suites (full minus MBEDTLS_USE_PSA_CRYPTO)"
|
||||
make test
|
||||
|
||||
msg "test: ssl-opt.sh (MBEDTLS_USE_PSA_CRYPTO)"
|
||||
msg "test: ssl-opt.sh (full minus MBEDTLS_USE_PSA_CRYPTO)"
|
||||
if_build_succeeded tests/ssl-opt.sh
|
||||
|
||||
msg "test: compat.sh default (MBEDTLS_USE_PSA_CRYPTO)"
|
||||
msg "test: compat.sh default (full minus MBEDTLS_USE_PSA_CRYPTO)"
|
||||
if_build_succeeded tests/compat.sh
|
||||
|
||||
msg "test: compat.sh ssl3 (MBEDTLS_USE_PSA_CRYPTO)"
|
||||
msg "test: compat.sh ssl3 (full minus MBEDTLS_USE_PSA_CRYPTO)"
|
||||
if_build_succeeded env OPENSSL_CMD="$OPENSSL_LEGACY" tests/compat.sh -m 'ssl3'
|
||||
|
||||
msg "test: compat.sh RC4, DES & NULL (MBEDTLS_USE_PSA_CRYPTO)"
|
||||
msg "test: compat.sh RC4, DES & NULL (full minus MBEDTLS_USE_PSA_CRYPTO)"
|
||||
if_build_succeeded env OPENSSL_CMD="$OPENSSL_LEGACY" GNUTLS_CLI="$GNUTLS_LEGACY_CLI" GNUTLS_SERV="$GNUTLS_LEGACY_SERV" tests/compat.sh -e '3DES\|DES-CBC3' -f 'NULL\|DES\|RC4\|ARCFOUR'
|
||||
|
||||
msg "test: compat.sh ARIA + ChachaPoly (MBEDTLS_USE_PSA_CRYPTO)"
|
||||
msg "test: compat.sh ARIA + ChachaPoly (full minus MBEDTLS_USE_PSA_CRYPTO)"
|
||||
if_build_succeeded env OPENSSL_CMD="$OPENSSL_NEXT" tests/compat.sh -e '^$' -f 'ARIA\|CHACHA'
|
||||
}
|
||||
|
||||
@@ -932,6 +873,8 @@ component_test_no_platform () {
|
||||
scripts/config.pl unset MBEDTLS_ENTROPY_NV_SEED
|
||||
scripts/config.pl unset MBEDTLS_MEMORY_BUFFER_ALLOC_C
|
||||
scripts/config.pl unset MBEDTLS_FS_IO
|
||||
scripts/config.pl unset MBEDTLS_PSA_CRYPTO_STORAGE_C
|
||||
scripts/config.pl unset MBEDTLS_PSA_ITS_FILE_C
|
||||
# Note, _DEFAULT_SOURCE needs to be defined for platforms using glibc version >2.19,
|
||||
# to re-enable platform integration features otherwise disabled in C99 builds
|
||||
make CC=gcc CFLAGS='-Werror -Wall -Wextra -std=c99 -pedantic -O0 -D_DEFAULT_SOURCE' lib programs
|
||||
@@ -1039,7 +982,7 @@ component_test_platform_calloc_macro () {
|
||||
|
||||
component_test_make_shared () {
|
||||
msg "build/test: make shared" # ~ 40s
|
||||
make SHARED=1 all check
|
||||
make SHARED=1 all check -j1
|
||||
}
|
||||
|
||||
component_test_m32_o0 () {
|
||||
@@ -1100,6 +1043,8 @@ component_build_arm_none_eabi_gcc () {
|
||||
scripts/config.pl unset MBEDTLS_FS_IO
|
||||
scripts/config.pl unset MBEDTLS_ENTROPY_NV_SEED
|
||||
scripts/config.pl set MBEDTLS_NO_PLATFORM_ENTROPY
|
||||
scripts/config.pl unset MBEDTLS_PSA_CRYPTO_STORAGE_C
|
||||
scripts/config.pl unset MBEDTLS_PSA_ITS_FILE_C
|
||||
# following things are not in the default config
|
||||
scripts/config.pl unset MBEDTLS_HAVEGE_C # depends on timing.c
|
||||
scripts/config.pl unset MBEDTLS_THREADING_PTHREAD
|
||||
@@ -1117,6 +1062,8 @@ component_build_arm_none_eabi_gcc_no_udbl_division () {
|
||||
scripts/config.pl unset MBEDTLS_FS_IO
|
||||
scripts/config.pl unset MBEDTLS_ENTROPY_NV_SEED
|
||||
scripts/config.pl set MBEDTLS_NO_PLATFORM_ENTROPY
|
||||
scripts/config.pl unset MBEDTLS_PSA_CRYPTO_STORAGE_C
|
||||
scripts/config.pl unset MBEDTLS_PSA_ITS_FILE_C
|
||||
# following things are not in the default config
|
||||
scripts/config.pl unset MBEDTLS_HAVEGE_C # depends on timing.c
|
||||
scripts/config.pl unset MBEDTLS_THREADING_PTHREAD
|
||||
@@ -1136,6 +1083,8 @@ component_build_arm_none_eabi_gcc_no_64bit_multiplication () {
|
||||
scripts/config.pl unset MBEDTLS_TIMING_C
|
||||
scripts/config.pl unset MBEDTLS_FS_IO
|
||||
scripts/config.pl unset MBEDTLS_ENTROPY_NV_SEED
|
||||
scripts/config.pl unset MBEDTLS_PSA_CRYPTO_STORAGE_C
|
||||
scripts/config.pl unset MBEDTLS_PSA_ITS_FILE_C
|
||||
scripts/config.pl set MBEDTLS_NO_PLATFORM_ENTROPY
|
||||
# following things are not in the default config
|
||||
scripts/config.pl unset MBEDTLS_HAVEGE_C # depends on timing.c
|
||||
@@ -1159,6 +1108,8 @@ component_build_armcc () {
|
||||
scripts/config.pl unset MBEDTLS_HAVE_TIME
|
||||
scripts/config.pl unset MBEDTLS_HAVE_TIME_DATE
|
||||
scripts/config.pl set MBEDTLS_NO_PLATFORM_ENTROPY
|
||||
scripts/config.pl unset MBEDTLS_PSA_CRYPTO_STORAGE_C
|
||||
scripts/config.pl unset MBEDTLS_PSA_ITS_FILE_C
|
||||
# following things are not in the default config
|
||||
scripts/config.pl unset MBEDTLS_DEPRECATED_WARNING
|
||||
scripts/config.pl unset MBEDTLS_HAVEGE_C # depends on timing.c
|
||||
@@ -1198,15 +1149,15 @@ component_test_allow_sha1 () {
|
||||
|
||||
component_build_mingw () {
|
||||
msg "build: Windows cross build - mingw64, make (Link Library)" # ~ 30s
|
||||
make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall -Wextra' WINDOWS_BUILD=1 lib programs
|
||||
make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall -Wextra' WINDOWS_BUILD=1 lib programs -j1
|
||||
|
||||
# note Make tests only builds the tests, but doesn't run them
|
||||
make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror' WINDOWS_BUILD=1 tests
|
||||
make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror' WINDOWS_BUILD=1 tests -j1
|
||||
make WINDOWS_BUILD=1 clean
|
||||
|
||||
msg "build: Windows cross build - mingw64, make (DLL)" # ~ 30s
|
||||
make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall -Wextra' WINDOWS_BUILD=1 SHARED=1 lib programs
|
||||
make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall -Wextra' WINDOWS_BUILD=1 SHARED=1 tests
|
||||
make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall -Wextra' WINDOWS_BUILD=1 SHARED=1 lib programs -j1
|
||||
make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar LD=i686-w64-minggw32-ld CFLAGS='-Werror -Wall -Wextra' WINDOWS_BUILD=1 SHARED=1 tests -j1
|
||||
make WINDOWS_BUILD=1 clean
|
||||
}
|
||||
support_build_mingw() {
|
||||
|
@@ -74,6 +74,9 @@ make -j
|
||||
# Step 2 - Execute the tests
|
||||
TEST_OUTPUT=out_${PPID}
|
||||
cd tests
|
||||
if [ ! -f "seedfile" ]; then
|
||||
dd if=/dev/urandom of="seedfile" bs=32 count=1
|
||||
fi
|
||||
|
||||
# Step 2a - Unit Tests
|
||||
perl scripts/run-test-suites.pl -v 2 |tee unit-test-$TEST_OUTPUT
|
||||
|
@@ -57,7 +57,7 @@ for my $curve (@curves) {
|
||||
|
||||
system( "CFLAGS='-Werror -Wall -Wextra' make lib" )
|
||||
and abort "Failed to build lib: $curve\n";
|
||||
system( "cd tests && make" ) and abort "Failed to build tests: $curve\n";
|
||||
system( "make" ) and abort "Failed to build tests: $curve\n";
|
||||
system( "make test" ) and abort "Failed test suite: $curve\n";
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user