# # test/Makefile # DIR= test TOP= .. CC= cc INCLUDES= -I$(TOP) -I../include -I../crypto/include -I$(TOP)/fips CFLAG= -g MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG) PERL= perl PLIB_LDFLAG= EX_LIBS= #-lnsl -lsocket CFLAGS= $(INCLUDES) $(CFLAG) LDFLAGS= $(CFLAGS) $(LDFLAG) GENERAL=Makefile maketests.com \ tests.com testenc.com tx509.com trsa.com tcrl.com tsid.com treq.com \ tpkcs7.com tpkcs7d.com tverify.com testgen.com testss.com testssl.com \ testca.com VMSca-response.1 VMSca-response.2 DLIBCRYPTO= ../libcrypto.a DLIBSSL= ../libssl.a LIBCRYPTO= -L.. -lcrypto LIBSSL= -L.. -lssl LIBFIPS= -L.. -lfips # Prefix for logline for each test START= @@@ START NPTEST= nptest MEMLEAKTEST= memleaktest BNTEST= bntest ECTEST= ectest ECDSATEST= ecdsatest ECDHTEST= ecdhtest EXPTEST= exptest GMDIFFTEST= gmdifftest PBELUTEST= pbelutest IDEATEST= ideatest SHA1TEST= sha1test SHA256TEST= sha256t SHA512TEST= sha512t MDC2TEST= mdc2test RMDTEST= rmdtest MD2TEST= md2test MD4TEST= md4test MD5TEST= md5test HMACTEST= hmactest WPTEST= wp_test RC2TEST= rc2test RC4TEST= rc4test RC5TEST= rc5test BFTEST= bftest CASTTEST= casttest DESTEST= destest RANDTEST= randtest DHTEST= dhtest DSATEST= dsatest SSLTEST= ssltest DANETEST= danetest RSATEST= rsa_test ENGINETEST= enginetest EVPTEST= evp_test EVPEXTRATEST=evp_extra_test P5_CRPT2_TEST= p5_crpt2_test IGETEST= igetest SECMEMTEST= secmemtest SRPTEST= srptest V3NAMETEST= v3nametest HEARTBEATTEST= heartbeat_test CONSTTIMETEST= constant_time_test VERIFYEXTRATEST= verify_extra_test CLIENTHELLOTEST= clienthellotest PACKETTEST= packettest SSLVERTOLTEST= sslvertoltest SSLEXTENSIONTEST= sslextensiontest SSLSESSIONTICKTEST= sslsessionticktest SSLSKEWITH0PTEST= sslskewith0ptest ASYNCTEST= asynctest DTLSV1LISTENTEST = dtlsv1listentest CTTEST= ct_test TESTS= alltests EXE= $(NPTEST)$(EXE_EXT) $(MEMLEAKTEST)$(EXE_EXT) \ $(BNTEST)$(EXE_EXT) $(ECTEST)$(EXE_EXT) \ $(ECDSATEST)$(EXE_EXT) $(ECDHTEST)$(EXE_EXT) $(GMDIFFTEST)$(EXE_EXT) \ $(PBELUTEST)$(EXE_EXT) $(IDEATEST)$(EXE_EXT) \ $(MD2TEST)$(EXE_EXT) $(MD4TEST)$(EXE_EXT) $(MD5TEST)$(EXE_EXT) $(HMACTEST)$(EXE_EXT) $(WPTEST)$(EXE_EXT) \ $(RC2TEST)$(EXE_EXT) $(RC4TEST)$(EXE_EXT) $(RC5TEST)$(EXE_EXT) \ $(DESTEST)$(EXE_EXT) $(SHA1TEST)$(EXE_EXT) $(SHA256TEST)$(EXE_EXT) $(SHA512TEST)$(EXE_EXT) \ $(MDC2TEST)$(EXE_EXT) $(RMDTEST)$(EXE_EXT) \ $(RANDTEST)$(EXE_EXT) $(DHTEST)$(EXE_EXT) $(ENGINETEST)$(EXE_EXT) \ $(DANETEST)$(EXE_EXT) \ $(BFTEST)$(EXE_EXT) $(CASTTEST)$(EXE_EXT) $(SSLTEST)$(EXE_EXT) \ $(EXPTEST)$(EXE_EXT) $(DSATEST)$(EXE_EXT) $(RSATEST)$(EXE_EXT) \ $(EVPTEST)$(EXE_EXT) $(EVPEXTRATEST)$(EXE_EXT) $(IGETEST)$(EXE_EXT) \ $(SECMEMTEST)$(EXE_EXT) \ $(SRPTEST)$(EXE_EXT) $(V3NAMETEST)$(EXE_EXT) \ $(HEARTBEATTEST)$(EXE_EXT) $(P5_CRPT2_TEST)$(EXE_EXT) \ $(CONSTTIMETEST)$(EXE_EXT) $(VERIFYEXTRATEST)$(EXE_EXT) \ $(CLIENTHELLOTEST)$(EXE_EXT) $(PACKETTEST)$(EXE_EXT) $(ASYNCTEST)$(EXE_EXT) \ $(DTLSV1LISTENTEST)$(EXE_EXT) $(CTTEST)$(EXE_EXT) # $(METHTEST)$(EXE_EXT) OBJ= $(NPTEST).o $(MEMLEAKTEST).o \ $(BNTEST).o $(ECTEST).o \ $(ECDSATEST).o $(ECDHTEST).o $(GMDIFFTEST).o $(PBELUTEST).o $(IDEATEST).o \ $(MD2TEST).o $(MD4TEST).o $(MD5TEST).o \ $(HMACTEST).o $(WPTEST).o \ $(RC2TEST).o $(RC4TEST).o $(RC5TEST).o \ $(DESTEST).o $(SHA1TEST).o $(SHA256TEST).o $(SHA512TEST).o \ $(MDC2TEST).o $(RMDTEST).o $(DANETEST).o \ $(RANDTEST).o $(DHTEST).o $(ENGINETEST).o $(CASTTEST).o \ $(BFTEST).o $(SSLTEST).o $(DSATEST).o $(EXPTEST).o $(RSATEST).o \ $(EVPTEST).o $(EVPEXTRATEST).o $(IGETEST).o $(V3NAMETEST).o \ $(HEARTBEATTEST).o $(P5_CRPT2_TEST).o \ $(CONSTTIMETEST).o $(VERIFYEXTRATEST).o $(CLIENTHELLOTEST).o \ $(PACKETTEST).o $(ASYNCTEST).o $(DTLSV1LISTENTEST).o $(CTTEST).o testutil.o SRC= $(NPTEST).c $(MEMLEAKTEST).c \ $(BNTEST).c $(ECTEST).c \ $(ECDSATEST).c $(ECDHTEST).c $(GMDIFFTEST).c $(PBELUTEST).c $(IDEATEST).c \ $(MD2TEST).c $(MD4TEST).c $(MD5TEST).c \ $(HMACTEST).c $(WPTEST).c \ $(RC2TEST).c $(RC4TEST).c $(RC5TEST).c $(DANETEST).c \ $(DESTEST).c $(SHA1TEST).c $(MDC2TEST).c $(RMDTEST).c \ $(RANDTEST).c $(DHTEST).c $(ENGINETEST).c $(CASTTEST).c \ $(BFTEST).c $(SSLTEST).c $(DSATEST).c $(EXPTEST).c $(RSATEST).c \ $(EVPTEST).c $(EVPEXTRATEST).c $(IGETEST).c $(V3NAMETEST).c \ $(HEARTBEATTEST).c $(P5_CRPT2_TEST).c \ $(CONSTTIMETEST).c $(VERIFYEXTRATEST).c $(CLIENTHELLOTEST).c \ $(PACKETTEST).c $(ASYNCTEST).c $(DTLSV1LISTENTEST).c $(CTTEST).c testutil.c HEADER= testutil.h ALL= $(GENERAL) $(SRC) $(HEADER) top: (cd ..; $(MAKE) DIRS=$(DIR) TESTS=$(TESTS) all) all: exe exe: $(EXE) dummytest$(EXE_EXT) files: $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO generate: $(SRC) $(SRC): @sh $(TOP)/util/point.sh dummytest.c $@ tests: exe apps TOP=$(TOP) PERL=$(PERL) $(PERL) run_tests.pl $(TESTS) errors: list-tests: @TOP=$(TOP) PERL=$(PERL) $(PERL) run_tests.pl list apps: @(cd ..; $(MAKE) DIRS=apps all) depend: $(TOP)/util/domd $(CFLAG) $(INCLUDES) -- $(PROGS) $(SRC) clean: rm -f .rnd tmp.bntest tmp.bctest *.o *.obj *.dll lib tags core .pure .nfs* *.old *.bak fluff $(EXE) *.ss *.srl log *.log dummytest $(DLIBSSL): (cd ..; $(MAKE) build_libssl) $(DLIBCRYPTO): (cd ..; $(MAKE) build_libcrypto) BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ LIBRARIES="$(LIBSSL) $(LIBCRYPTO)"; \ $(MAKE) -f $(TOP)/Makefile.shared -e \ APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o $$testutil" \ LDFLAG="$(LDFLAG)" \ LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \ link_app.$${shlib_target} BUILD_CMD_STATIC=shlib_target=; \ LIBRARIES="$(DLIBSSL) $(DLIBCRYPTO)"; \ $(MAKE) -f $(TOP)/Makefile.shared -e \ APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o $$testutil" \ LDFLAG="$(LDFLAG)" \ LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \ link_app.$${shlib_target} $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO) @target=$(RSATEST); $(BUILD_CMD) $(NPTEST)$(EXE_EXT): $(NPTEST).o $(DLIBCRYPTO) @target=$(NPTEST); $(BUILD_CMD) $(MEMLEAKTEST)$(EXE_EXT): $(MEMLEAKTEST).o $(DLIBCRYPTO) @target=$(MEMLEAKTEST); $(BUILD_CMD) $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO) @target=$(BNTEST); $(BUILD_CMD) $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO) @target=$(ECTEST); $(BUILD_CMD) $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO) @target=$(EXPTEST); $(BUILD_CMD) $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO) @target=$(IDEATEST); $(BUILD_CMD) $(GMDIFFTEST)$(EXE_EXT): $(GMDIFFTEST).o $(DLIBCRYPTO) @target=$(GMDIFFTEST); $(BUILD_CMD) $(PBELUTEST)$(EXE_EXT): $(PBELUTEST).o $(DLIBCRYPTO) @target=$(PBELUTEST); $(BUILD_CMD) $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO) @target=$(MD2TEST); $(BUILD_CMD) $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO) @target=$(SHA1TEST); $(BUILD_CMD) $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO) @target=$(SHA256TEST); $(BUILD_CMD) $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO) @target=$(SHA512TEST); $(BUILD_CMD) FIPS_BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ if [ "$(FIPSCANLIB)" = "libfips" ]; then \ LIBRARIES="-L$(TOP) -lfips"; \ elif [ -n "$(FIPSCANLIB)" ]; then \ FIPSLD_CC="$(CC)"; CC=$(TOP)/fips/fipsld; export CC FIPSLD_CC; \ LIBRARIES="$${FIPSLIBDIR:-$(TOP)/fips/}fipscanister.o"; \ else \ LIBRARIES="$(LIBCRYPTO)"; \ fi; \ $(MAKE) -f $(TOP)/Makefile.shared -e \ CC="$${CC}" APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \ LDFLAG="$(LDFLAG)" \ LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \ link_app.$${shlib_target} FIPS_CRYPTO_BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ shlib_target="$(SHLIB_TARGET)"; \ fi; \ LIBRARIES="$(LIBSSL) $(LIBCRYPTO)"; \ if [ -z "$(SHARED_LIBS)" -a -n "$(FIPSCANLIB)" ] ; then \ FIPSLD_CC="$(CC)"; CC=$(TOP)/fips/fipsld; export CC FIPSLD_CC; \ fi; \ [ "$(FIPSCANLIB)" = "libfips" ] && LIBRARIES="$$LIBRARIES -lfips"; \ $(MAKE) -f $(TOP)/Makefile.shared -e \ CC="$${CC}" APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \ LDFLAG="$(LDFLAG)" \ LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \ link_app.$${shlib_target} $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO) @target=$(RMDTEST); $(BUILD_CMD) $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO) @target=$(MDC2TEST); $(BUILD_CMD) $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO) @target=$(MD4TEST); $(BUILD_CMD) $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO) @target=$(MD5TEST); $(BUILD_CMD) $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO) @target=$(HMACTEST); $(BUILD_CMD) $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO) @target=$(WPTEST); $(BUILD_CMD) $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO) @target=$(RC2TEST); $(BUILD_CMD) $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO) @target=$(BFTEST); $(BUILD_CMD) $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO) @target=$(CASTTEST); $(BUILD_CMD) $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO) @target=$(RC4TEST); $(BUILD_CMD) $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO) @target=$(RC5TEST); $(BUILD_CMD) $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO) @target=$(DESTEST); $(BUILD_CMD) $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO) @target=$(RANDTEST); $(BUILD_CMD) $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO) @target=$(DHTEST); $(BUILD_CMD) $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO) @target=$(DSATEST); $(BUILD_CMD) $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO) @target=$(METHTEST); $(BUILD_CMD) $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO) @target=$(SSLTEST); $(BUILD_CMD) $(DANETEST)$(EXE_EXT): $(DANETEST).o $(DLIBSSL) $(DLIBCRYPTO) @target=$(DANETEST); $(BUILD_CMD) $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO) @target=$(ENGINETEST); $(BUILD_CMD) $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO) @target=$(EVPTEST); $(BUILD_CMD) $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO) @target=$(EVPEXTRATEST); $(BUILD_CMD) $(P5_CRPT2_TEST)$(EXE_EXT): $(P5_CRPT2_TEST).o $(DLIBCRYPTO) @target=$(P5_CRPT2_TEST); $(BUILD_CMD) $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO) @target=$(ECDSATEST); $(BUILD_CMD) $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO) @target=$(ECDHTEST); $(BUILD_CMD) $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO) @target=$(IGETEST); $(BUILD_CMD) $(SECMEMTEST)$(EXE_EXT): $(SECMEMTEST).o $(DLIBCRYPTO) @target=$(SECMEMTEST); $(BUILD_CMD) $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO) @target=$(SRPTEST); $(BUILD_CMD) $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO) @target=$(V3NAMETEST); $(BUILD_CMD) $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO) testutil.o @target=$(HEARTBEATTEST) testutil=testutil.o; $(BUILD_CMD_STATIC) $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o @target=$(CONSTTIMETEST) $(BUILD_CMD) $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o @target=$(VERIFYEXTRATEST) $(BUILD_CMD) $(CLIENTHELLOTEST)$(EXE_EXT): $(CLIENTHELLOTEST).o @target=$(CLIENTHELLOTEST) $(BUILD_CMD) $(PACKETTEST)$(EXE_EXT): $(PACKETTEST).o @target=$(PACKETTEST) $(BUILD_CMD) $(ASYNCTEST)$(EXE_EXT): $(ASYNCTEST).o @target=$(ASYNCTEST) $(BUILD_CMD) $(DTLSV1LISTENTEST)$(EXE_EXT): $(DTLSV1LISTENTEST).o @target=$(DTLSV1LISTENTEST) $(BUILD_CMD) $(CTTEST)$(EXE_EXT): $(CTTEST).o testutil.o @target=$(CTTEST) testutil=testutil.o; $(BUILD_CMD) dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO) @target=dummytest; $(BUILD_CMD) # DO NOT DELETE THIS LINE -- make depend depends on it.