From bc8984931ce27822f67792c4679143b82c02b1f3 Mon Sep 17 00:00:00 2001
From: Paul Bakker
Date: Wed, 26 Mar 2014 13:26:52 +0100
Subject: [PATCH] Improvements to tests/Makefile when using shared library
---
ChangeLog | 1 +
tests/Makefile | 86 +++++++++++++++++++++++++++-----------------------
2 files changed, 48 insertions(+), 39 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index fe8e5e77e..13f4e5a95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,7 @@ Changes
* Improvements to the CMake build system, contributed by Julian Ospald.
* Work around a bug of the version of Clang shipped by Apple with Mavericks
that prevented bignum.c from compiling. (Reported by Rafael Baptista.)
+ * Improvements to tests/Makefile, contributed by Oden Eriksson.
Security
* Forbid change of server certificate during renegotiation to prevent
diff --git a/tests/Makefile b/tests/Makefile
index 3fcf92b99..8c18378a9 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -9,6 +9,14 @@ CFLAGS += -I../include -D_FILE_OFFSET_BITS=64 -Wall -W -Wdeclaration-after-state
OFLAGS = -O2
LDFLAGS += -L../library -lpolarssl $(SYS_LDFLAGS)
+ifndef SHARED
+DEP=../library/libpolarssl.a
+CHECK_PRELOAD=
+else
+DEP=../library/libpolarssl.so
+CHECK_PRELOAD= LD_PRELOAD=../library/libpolarssl.so
+endif
+
ifdef DEBUG
CFLAGS += -g3
endif
@@ -115,151 +123,151 @@ test_suite_gcm.encrypt_256.c : suites/test_suite_gcm.function suites/test_suite_
echo " Generate $@"
scripts/generate_code.pl suites $* $*
-test_suite_aes.ecb: test_suite_aes.ecb.c ../library/libpolarssl.a
+test_suite_aes.ecb: test_suite_aes.ecb.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_aes.cbc: test_suite_aes.cbc.c ../library/libpolarssl.a
+test_suite_aes.cbc: test_suite_aes.cbc.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_aes.cfb: test_suite_aes.cfb.c ../library/libpolarssl.a
+test_suite_aes.cfb: test_suite_aes.cfb.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_aes.rest: test_suite_aes.rest.c ../library/libpolarssl.a
+test_suite_aes.rest: test_suite_aes.rest.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_arc4: test_suite_arc4.c ../library/libpolarssl.a
+test_suite_arc4: test_suite_arc4.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_base64: test_suite_base64.c ../library/libpolarssl.a
+test_suite_base64: test_suite_base64.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_blowfish: test_suite_blowfish.c ../library/libpolarssl.a
+test_suite_blowfish: test_suite_blowfish.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_camellia: test_suite_camellia.c ../library/libpolarssl.a
+test_suite_camellia: test_suite_camellia.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_cipher.aes: test_suite_cipher.aes.c ../library/libpolarssl.a
+test_suite_cipher.aes: test_suite_cipher.aes.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_cipher.blowfish: test_suite_cipher.blowfish.c ../library/libpolarssl.a
+test_suite_cipher.blowfish: test_suite_cipher.blowfish.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_cipher.camellia: test_suite_cipher.camellia.c ../library/libpolarssl.a
+test_suite_cipher.camellia: test_suite_cipher.camellia.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_cipher.des: test_suite_cipher.des.c ../library/libpolarssl.a
+test_suite_cipher.des: test_suite_cipher.des.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_cipher.null: test_suite_cipher.null.c ../library/libpolarssl.a
+test_suite_cipher.null: test_suite_cipher.null.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_ctr_drbg: test_suite_ctr_drbg.c ../library/libpolarssl.a
+test_suite_ctr_drbg: test_suite_ctr_drbg.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_des: test_suite_des.c ../library/libpolarssl.a
+test_suite_des: test_suite_des.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_dhm: test_suite_dhm.c ../library/libpolarssl.a
+test_suite_dhm: test_suite_dhm.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_error: test_suite_error.c ../library/libpolarssl.a
+test_suite_error: test_suite_error.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_gcm.decrypt_128: test_suite_gcm.decrypt_128.c ../library/libpolarssl.a
+test_suite_gcm.decrypt_128: test_suite_gcm.decrypt_128.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_gcm.decrypt_192: test_suite_gcm.decrypt_192.c ../library/libpolarssl.a
+test_suite_gcm.decrypt_192: test_suite_gcm.decrypt_192.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_gcm.decrypt_256: test_suite_gcm.decrypt_256.c ../library/libpolarssl.a
+test_suite_gcm.decrypt_256: test_suite_gcm.decrypt_256.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_gcm.encrypt_128: test_suite_gcm.encrypt_128.c ../library/libpolarssl.a
+test_suite_gcm.encrypt_128: test_suite_gcm.encrypt_128.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_gcm.encrypt_192: test_suite_gcm.encrypt_192.c ../library/libpolarssl.a
+test_suite_gcm.encrypt_192: test_suite_gcm.encrypt_192.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_gcm.encrypt_256: test_suite_gcm.encrypt_256.c ../library/libpolarssl.a
+test_suite_gcm.encrypt_256: test_suite_gcm.encrypt_256.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_hmac_shax: test_suite_hmac_shax.c ../library/libpolarssl.a
+test_suite_hmac_shax: test_suite_hmac_shax.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_md: test_suite_md.c ../library/libpolarssl.a
+test_suite_md: test_suite_md.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_mdx: test_suite_mdx.c ../library/libpolarssl.a
+test_suite_mdx: test_suite_mdx.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_mpi: test_suite_mpi.c ../library/libpolarssl.a
+test_suite_mpi: test_suite_mpi.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_pbkdf2: test_suite_pbkdf2.c ../library/libpolarssl.a
+test_suite_pbkdf2: test_suite_pbkdf2.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_pkcs1_v21: test_suite_pkcs1_v21.c ../library/libpolarssl.a
+test_suite_pkcs1_v21: test_suite_pkcs1_v21.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_pkcs5: test_suite_pkcs5.c ../library/libpolarssl.a
+test_suite_pkcs5: test_suite_pkcs5.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_rsa: test_suite_rsa.c ../library/libpolarssl.a
+test_suite_rsa: test_suite_rsa.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_shax: test_suite_shax.c ../library/libpolarssl.a
+test_suite_shax: test_suite_shax.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_x509parse: test_suite_x509parse.c ../library/libpolarssl.a
+test_suite_x509parse: test_suite_x509parse.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_x509write: test_suite_x509write.c ../library/libpolarssl.a
+test_suite_x509write: test_suite_x509write.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_xtea: test_suite_xtea.c ../library/libpolarssl.a
+test_suite_xtea: test_suite_xtea.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_debug: test_suite_debug.c ../library/libpolarssl.a
+test_suite_debug: test_suite_debug.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-test_suite_version: test_suite_version.c ../library/libpolarssl.a
+test_suite_version: test_suite_version.c $(DEP)
echo " CC $@.c"
$(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
@@ -273,12 +281,12 @@ endif
check: $(APPS)
ifndef WINDOWS
- echo "Running checks (Success if all tests PASSED)"
+ echo "Running checks (Success if all tests PASSED)"
RETURN=0; \
for i in $(APPS); \
do \
echo " - $${i}"; \
- RESULT=`./$${i} | grep -v 'PASS$$' | grep -v -- '-----' | grep -v '^$$'`; \
+ RESULT=`$(CHECK_PRELOAD) ./$${i} | grep -v 'PASS$$' | grep -v -- '----' | grep -v '^$$'`; \
FAILED=`echo $$RESULT |grep FAILED`; \
echo " $$RESULT"; \
if [ "$$FAILED" != "" ]; \