tests: prevent inclusion of time.h in baremetal compiles
baremetal compiles should not include time.h, as MBEDTLS_HAVE_TIME is
undefined. To test this, provide an overriding include directory that
has a time.h which throws a meaningful error if included.
Signed-off-by: Daniel Axtens <dja@axtens.net>
diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh
index 0c2d9dd..7b25195 100755
--- a/tests/scripts/all.sh
+++ b/tests/scripts/all.sh
@@ -1435,9 +1435,15 @@
component_build_crypto_baremetal () {
msg "build: make, crypto only, baremetal config"
scripts/config.py crypto_baremetal
- make CFLAGS='-O1 -Werror'
+ make CFLAGS="-O1 -Werror -I$(pwd)/tests/include/baremetal-override/"
are_empty_libraries library/libmbedx509.* library/libmbedtls.*
}
+support_build_crypto_baremetal () {
+ # Older Glibc versions include time.h from other headers such as stdlib.h,
+ # which makes the no-time.h-in-baremetal check fail. Ubuntu 16.04 has this
+ # problem, Ubuntu 18.04 is ok.
+ ! grep -q -F time.h /usr/include/x86_64-linux-gnu/sys/types.h
+}
component_test_depends_curves () {
msg "test/build: curves.pl (gcc)" # ~ 4 min