Create test/testutil.h for unit test helper macros
[openssl.git] / test / Makefile
index 8c902dcd2906a6da11cdfb9c9fe7e2096ecdf38f..7e57554e144e9b53df0be76ee218c1ae5aaee72b 100644 (file)
@@ -65,9 +65,7 @@ JPAKETEST=    jpaketest
 SRPTEST=       srptest
 V3NAMETEST=    v3nametest
 ASN1TEST=      asn1test
-CHACHATEST=    chachatest
-POLY1305TEST=  poly1305test
-AEADTEST=      aeadtest
+HEARTBEATTEST=  heartbeat_test
 
 TESTS=         alltests
 
@@ -79,7 +77,7 @@ EXE=  $(BNTEST)$(EXE_EXT) $(ECTEST)$(EXE_EXT)  $(ECDSATEST)$(EXE_EXT) $(ECDHTEST)
        $(RANDTEST)$(EXE_EXT) $(DHTEST)$(EXE_EXT) $(ENGINETEST)$(EXE_EXT) \
        $(BFTEST)$(EXE_EXT) $(CASTTEST)$(EXE_EXT) $(SSLTEST)$(EXE_EXT) $(EXPTEST)$(EXE_EXT) $(DSATEST)$(EXE_EXT) $(RSATEST)$(EXE_EXT) \
        $(EVPTEST)$(EXE_EXT) $(IGETEST)$(EXE_EXT) $(JPAKETEST)$(EXE_EXT) $(SRPTEST)$(EXE_EXT) \
-       $(ASN1TEST)$(EXE_EXT) $(V3NAMETEST)$(EXE_EXT)
+       $(ASN1TEST)$(EXE_EXT) $(V3NAMETEST)$(EXE_EXT) $(HEARTBEATTEST)$(EXE_EXT)
 
 # $(METHTEST)$(EXE_EXT)
 
@@ -92,7 +90,7 @@ OBJ=  $(BNTEST).o $(ECTEST).o  $(ECDSATEST).o $(ECDHTEST).o $(IDEATEST).o \
        $(RANDTEST).o $(DHTEST).o $(ENGINETEST).o $(CASTTEST).o \
        $(BFTEST).o  $(SSLTEST).o  $(DSATEST).o  $(EXPTEST).o $(RSATEST).o \
        $(EVPTEST).o $(IGETEST).o $(JPAKETEST).o $(ASN1TEST).o $(V3NAMETEST).o \
-       $(CHACHATEST).o $(POLY1305TEST).o $(AEADTEST).o
+       $(HEARTBEATTEST).o
 
 SRC=   $(BNTEST).c $(ECTEST).c  $(ECDSATEST).c $(ECDHTEST).c $(IDEATEST).c \
        $(MD2TEST).c  $(MD4TEST).c $(MD5TEST).c \
@@ -102,7 +100,7 @@ SRC=        $(BNTEST).c $(ECTEST).c  $(ECDSATEST).c $(ECDHTEST).c $(IDEATEST).c \
        $(RANDTEST).c $(DHTEST).c $(ENGINETEST).c $(CASTTEST).c \
        $(BFTEST).c  $(SSLTEST).c $(DSATEST).c   $(EXPTEST).c $(RSATEST).c \
        $(EVPTEST).c $(IGETEST).c $(JPAKETEST).c $(SRPTEST).c $(ASN1TEST).c \
-       $(V3NAMETEST).c $(CHACHATEST).c $(POLY1305TEST).c $(AEADTEST).c
+       $(V3NAMETEST).c $(HEARTBEATTEST).c
 
 EXHEADER= 
 HEADER=        $(EXHEADER)
@@ -145,67 +143,66 @@ alltests: \
        test_enc test_x509 test_rsa test_crl test_sid \
        test_gen test_req test_pkcs7 test_verify test_dh test_dsa \
        test_ss test_ca test_engine test_evp test_ssl test_tsa test_ige \
-       test_jpake test_srp test_cms test_ocsp test_v3name test_chacha \
-       test_poly1305 test_aead
+       test_jpake test_srp test_cms test_ocsp test_v3name test_heartbeat
 
-test_evp: $(EVPTEST) evptests.txt
+test_evp: $(EVPTEST)$(EXE_EXT) evptests.txt
        ../util/shlib_wrap.sh ./$(EVPTEST) evptests.txt
 
-test_des: $(DESTEST)
+test_des: $(DESTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(DESTEST)
 
-test_idea: $(IDEATEST)
+test_idea: $(IDEATEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(IDEATEST)
 
-test_sha: $(SHATEST) $(SHA1TEST) $(SHA256TEST) $(SHA512TEST)
+test_sha: $(SHATEST)$(EXE_EXT) $(SHA1TEST)$(EXE_EXT) $(SHA256TEST)$(EXE_EXT) $(SHA512TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(SHATEST)
        ../util/shlib_wrap.sh ./$(SHA1TEST)
        ../util/shlib_wrap.sh ./$(SHA256TEST)
        ../util/shlib_wrap.sh ./$(SHA512TEST)
 
-test_mdc2: $(MDC2TEST)
+test_mdc2: $(MDC2TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(MDC2TEST)
 
-test_md5: $(MD5TEST)
+test_md5: $(MD5TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(MD5TEST)
 
-test_md4: $(MD4TEST)
+test_md4: $(MD4TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(MD4TEST)
 
-test_hmac: $(HMACTEST)
+test_hmac: $(HMACTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(HMACTEST)
 
-test_wp: $(WPTEST)
+test_wp: $(WPTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(WPTEST)
 
-test_md2: $(MD2TEST)
+test_md2: $(MD2TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(MD2TEST)
 
-test_rmd: $(RMDTEST)
+test_rmd: $(RMDTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(RMDTEST)
 
-test_bf: $(BFTEST)
+test_bf: $(BFTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(BFTEST)
 
-test_cast: $(CASTTEST)
+test_cast: $(CASTTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(CASTTEST)
 
-test_rc2: $(RC2TEST)
+test_rc2: $(RC2TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(RC2TEST)
 
-test_rc4: $(RC4TEST)
+test_rc4: $(RC4TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(RC4TEST)
 
-test_rc5: $(RC5TEST)
+test_rc5: $(RC5TEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(RC5TEST)
 
-test_rand: $(RANDTEST)
+test_rand: $(RANDTEST)$(EXE_EXT)
        ../util/shlib_wrap.sh ./$(RANDTEST)
 
-test_enc: ../apps/openssl testenc
+test_enc: ../apps/openssl$(EXE_EXT) testenc
        @sh ./testenc
 
-test_x509: ../apps/openssl tx509 testx509.pem v3-cert1.pem v3-cert2.pem
+test_x509: ../apps/openssl$(EXE_EXT) tx509 testx509.pem v3-cert1.pem v3-cert2.pem
        echo test normal x509v1 certificate
        sh ./tx509 2>/dev/null
        echo test first x509v3 certificate
@@ -213,25 +210,25 @@ test_x509: ../apps/openssl tx509 testx509.pem v3-cert1.pem v3-cert2.pem
        echo test second x509v3 certificate
        sh ./tx509 v3-cert2.pem 2>/dev/null
 
-test_rsa: $(RSATEST)$(EXE_EXT) ../apps/openssl trsa testrsa.pem
+test_rsa: $(RSATEST)$(EXE_EXT) ../apps/openssl$(EXE_EXT) trsa testrsa.pem
        @sh ./trsa 2>/dev/null
        ../util/shlib_wrap.sh ./$(RSATEST)
 
-test_crl: ../apps/openssl tcrl testcrl.pem
+test_crl: ../apps/openssl$(EXE_EXT) tcrl testcrl.pem
        @sh ./tcrl 2>/dev/null
 
-test_sid: ../apps/openssl tsid testsid.pem
+test_sid: ../apps/openssl$(EXE_EXT) tsid testsid.pem
        @sh ./tsid 2>/dev/null
 
-test_req: ../apps/openssl treq testreq.pem testreq2.pem
+test_req: ../apps/openssl$(EXE_EXT) treq testreq.pem testreq2.pem
        @sh ./treq 2>/dev/null
        @sh ./treq testreq2.pem 2>/dev/null
 
-test_pkcs7: ../apps/openssl tpkcs7 tpkcs7d testp7.pem pkcs7-1.pem
+test_pkcs7: ../apps/openssl$(EXE_EXT) tpkcs7 tpkcs7d testp7.pem pkcs7-1.pem
        @sh ./tpkcs7 2>/dev/null
        @sh ./tpkcs7d 2>/dev/null
 
-test_bn: $(BNTEST) $(EXPTEST) bctest
+test_bn: $(BNTEST)$(EXE_EXT) $(EXPTEST)$(EXE_EXT) bctest
        @echo starting big number library test, could take a while...
        @../util/shlib_wrap.sh ./$(BNTEST) >tmp.bntest
        @echo quit >>tmp.bntest
@@ -240,50 +237,50 @@ test_bn: $(BNTEST) $(EXPTEST) bctest
        @echo 'test a^b%c implementations'
        ../util/shlib_wrap.sh ./$(EXPTEST)
 
-test_ec: $(ECTEST)
+test_ec: $(ECTEST)$(EXE_EXT)
        @echo 'test elliptic curves'
        ../util/shlib_wrap.sh ./$(ECTEST)
 
-test_ecdsa: $(ECDSATEST)
+test_ecdsa: $(ECDSATEST)$(EXE_EXT)
        @echo 'test ecdsa'
        ../util/shlib_wrap.sh ./$(ECDSATEST)
 
-test_ecdh: $(ECDHTEST)
+test_ecdh: $(ECDHTEST)$(EXE_EXT)
        @echo 'test ecdh'
        ../util/shlib_wrap.sh ./$(ECDHTEST)
 
-test_verify: ../apps/openssl
+test_verify: ../apps/openssl$(EXE_EXT)
        @echo "The following command should have some OK's and some failures"
        @echo "There are definitly a few expired certificates"
        ../util/shlib_wrap.sh ../apps/openssl verify -CApath ../certs/demo ../certs/demo/*.pem
 
-test_dh: $(DHTEST)
+test_dh: $(DHTEST)$(EXE_EXT)
        @echo "Generate a set of DH parameters"
        ../util/shlib_wrap.sh ./$(DHTEST)
 
-test_dsa: $(DSATEST)
+test_dsa: $(DSATEST)$(EXE_EXT)
        @echo "Generate a set of DSA parameters"
        ../util/shlib_wrap.sh ./$(DSATEST)
        ../util/shlib_wrap.sh ./$(DSATEST) -app2_1
 
-test_gen testreq.pem: ../apps/openssl testgen test.cnf
+test_gen testreq.pem: ../apps/openssl$(EXE_EXT) testgen test.cnf
        @echo "Generate and verify a certificate request"
        @sh ./testgen
 
 test_ss keyU.ss certU.ss certCA.ss certP1.ss keyP1.ss certP2.ss keyP2.ss \
                intP1.ss intP2.ss: testss CAss.cnf Uss.cnf P1ss.cnf P2ss.cnf \
-                                   ../apps/openssl
+                                   ../apps/openssl$(EXE_EXT)
        @echo "Generate and certify a test certificate"
        @sh ./testss
        @cat certCA.ss certU.ss > intP1.ss
        @cat certCA.ss certU.ss certP1.ss > intP2.ss
 
-test_engine:  $(ENGINETEST)
+test_engine:  $(ENGINETEST)$(EXE_EXT)
        @echo "Manipulate the ENGINE structures"
        ../util/shlib_wrap.sh ./$(ENGINETEST)
 
 test_ssl: keyU.ss certU.ss certCA.ss certP1.ss keyP1.ss certP2.ss keyP2.ss \
-               intP1.ss intP2.ss $(SSLTEST) testssl testsslproxy \
+               intP1.ss intP2.ss $(SSLTEST)$(EXE_EXT) testssl testsslproxy \
                ../apps/server2.pem serverinfo.pem
        @echo "test SSL protocol"
        @if [ -n "$(FIPSCANLIB)" ]; then \
@@ -294,7 +291,7 @@ test_ssl: keyU.ss certU.ss certCA.ss certP1.ss keyP1.ss certP2.ss keyP2.ss \
        @sh ./testsslproxy keyP1.ss certP1.ss intP1.ss
        @sh ./testsslproxy keyP2.ss certP2.ss intP2.ss
 
-test_ca: ../apps/openssl testca CAss.cnf Uss.cnf
+test_ca: ../apps/openssl$(EXE_EXT) testca CAss.cnf Uss.cnf
        @if ../util/shlib_wrap.sh ../apps/openssl no-rsa; then \
          echo "skipping CA.sh test -- requires RSA"; \
        else \
@@ -306,7 +303,7 @@ test_aes: #$(AESTEST)
 #      @echo "test Rijndael"
 #      ../util/shlib_wrap.sh ./$(AESTEST)
 
-test_tsa: ../apps/openssl testtsa CAtsa.cnf ../util/shlib_wrap.sh
+test_tsa: ../apps/openssl$(EXE_EXT) testtsa CAtsa.cnf ../util/shlib_wrap.sh
        @if ../util/shlib_wrap.sh ../apps/openssl no-rsa; then \
          echo "skipping testtsa test -- requires RSA"; \
        else \
@@ -321,7 +318,7 @@ test_jpake: $(JPAKETEST)$(EXE_EXT)
        @echo "Test JPAKE"
        ../util/shlib_wrap.sh ./$(JPAKETEST)
 
-test_cms: ../apps/openssl cms-test.pl smcont.txt
+test_cms: ../apps/openssl$(EXE_EXT) cms-test.pl smcont.txt
        @echo "CMS consistency test"
        $(PERL) cms-test.pl
 
@@ -329,7 +326,7 @@ test_srp: $(SRPTEST)$(EXE_EXT)
        @echo "Test SRP"
        ../util/shlib_wrap.sh ./srptest
 
-test_ocsp: ../apps/openssl tocsp
+test_ocsp: ../apps/openssl$(EXE_EXT) tocsp
        @echo "Test OCSP"
        @sh ./tocsp
 
@@ -337,25 +334,8 @@ test_v3name: $(V3NAMETEST)$(EXE_EXT)
        @echo "Test X509v3_check_*"
        ../util/shlib_wrap.sh ./$(V3NAMETEST)
 
-test_chacha: $(CHACHATEST)$(EXE_EXT)
-       @echo "Test ChaCha20"
-       ../util/shlib_wrap.sh ./$(CHACHATEST)
-
-test_poly1305: $(POLY1305TEST)$(EXE_EXT)
-       @echo "Test Poly1305"
-       ../util/shlib_wrap.sh ./$(POLY1305TEST)
-
-test_aead: $(AEADTEST)$(EXE_EXT) chacha20_poly1305_tests.txt \
-           aes_128_gcm_tests.txt aes_256_gcm_tests.txt
-       @echo "Test ChaCha20+Poly1305"
-       ../util/shlib_wrap.sh ./$(AEADTEST) chacha20-poly1305 \
-               chacha20_poly1305_tests.txt
-       @echo "Test AES-128-GCM"
-       ../util/shlib_wrap.sh ./$(AEADTEST) aes-128-gcm \
-               aes_128_gcm_tests.txt
-       @echo "Test AES-256-GCM"
-       ../util/shlib_wrap.sh ./$(AEADTEST) aes-256-gcm \
-               aes_256_gcm_tests.txt
+test_heartbeat: $(HEARTBEATTEST)$(EXE_EXT)
+       ../util/shlib_wrap.sh ./$(HEARTBEATTEST)
 
 lint:
        lint -DLINT $(INCLUDES) $(SRC)>fluff
@@ -403,6 +383,13 @@ FIPS_BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
                LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
                link_app.$${shlib_target}
 
+BUILD_CMD_STATIC=shlib_target=; \
+       LIBRARIES="$(DLIBSSL) $(DLIBCRYPTO) $(LIBKRB5)"; \
+       $(MAKE) -f $(TOP)/Makefile.shared -e \
+               APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \
+               LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
+               link_app.$${shlib_target}
+
 $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
        @target=$(RSATEST); $(BUILD_CMD)
 
@@ -433,15 +420,6 @@ $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
 $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
        @target=$(SHA512TEST); $(BUILD_CMD)
 
-$(CHACHATEST)$(EXE_EXT): $(CHACHATEST).o $(DLIBCRYPTO)
-       @target=$(CHACHATEST); $(BUILD_CMD)
-
-$(POLY1305TEST)$(EXE_EXT): $(POLY1305TEST).o $(DLIBCRYPTO)
-       @target=$(POLY1305TEST); $(BUILD_CMD)
-
-$(AEADTEST)$(EXE_EXT): $(AEADTEST).o $(DLIBCRYPTO)
-       @target=$(AEADTEST); $(BUILD_CMD)
-
 $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
        @target=$(RMDTEST); $(BUILD_CMD)
 
@@ -520,6 +498,9 @@ $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
 $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
        @target=$(V3NAMETEST); $(BUILD_CMD)
 
+$(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
+       @target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
+
 #$(AESTEST).o: $(AESTEST).c
 #      $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
 
@@ -655,6 +636,27 @@ exptest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 exptest.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h
 exptest.o: ../include/openssl/safestack.h ../include/openssl/stack.h
 exptest.o: ../include/openssl/symhacks.h exptest.c
+heartbeat_test.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
+heartbeat_test.o: ../include/openssl/buffer.h ../include/openssl/comp.h
+heartbeat_test.o: ../include/openssl/crypto.h ../include/openssl/dsa.h
+heartbeat_test.o: ../include/openssl/dtls1.h ../include/openssl/e_os2.h
+heartbeat_test.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
+heartbeat_test.o: ../include/openssl/ecdsa.h ../include/openssl/err.h
+heartbeat_test.o: ../include/openssl/evp.h ../include/openssl/hmac.h
+heartbeat_test.o: ../include/openssl/kssl.h ../include/openssl/lhash.h
+heartbeat_test.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+heartbeat_test.o: ../include/openssl/opensslconf.h
+heartbeat_test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+heartbeat_test.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+heartbeat_test.o: ../include/openssl/pkcs7.h ../include/openssl/pqueue.h
+heartbeat_test.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+heartbeat_test.o: ../include/openssl/sha.h ../include/openssl/srtp.h
+heartbeat_test.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
+heartbeat_test.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
+heartbeat_test.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+heartbeat_test.o: ../include/openssl/tls1.h ../include/openssl/x509.h
+heartbeat_test.o: ../include/openssl/x509_vfy.h ../ssl/ssl_locl.h
+heartbeat_test.o: heartbeat_test.c
 hmactest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 hmactest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 hmactest.o: ../include/openssl/evp.h ../include/openssl/hmac.h