From 71641f9bb3678c54b60265d4addfe59de894b323 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Wed, 1 Jan 2020 23:56:39 +0000 Subject: [PATCH] crypto tests: Wire into Makefiles We make every .o file depend on $(cat_CATS) because that's easier than trying to write out a list of which ones need the includes from Catacomb. (This is largely a commit by Mark Wooding supplied to me as a work-in-progress, but I (Ian Jackson) have edited it to fit in with the new subdirmk build system etc.) Signed-off-by: Ian Jackson --- Dir.sd.mk | 26 ++++++++++++++++++++++---- cat/Dir.sd.mk | 20 +++++++++++++++++++- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/Dir.sd.mk b/Dir.sd.mk index 55f526d..29c7c1a 100644 --- a/Dir.sd.mk +++ b/Dir.sd.mk @@ -39,7 +39,7 @@ datarootdir:=@datarootdir@ transform:=@program_transform_name@ mandir:=@mandir@ -ALL_CFLAGS:=@DEFS@ -I$(srcdir) -I. $(CFLAGS) $(EXTRA_CFLAGS) +ALL_CFLAGS:=@DEFS@ -I$(srcdir) -I. -Icat $(CFLAGS) $(EXTRA_CFLAGS) CPPFLAGS:=@CPPFLAGS@ -DDATAROOTDIR='"$(datarootdir)"' $(EXTRA_CPPFLAGS) LDFLAGS:=@LDFLAGS@ $(EXTRA_LDFLAGS) LDLIBS:=@LIBS@ $(EXTRA_LDLIBS) @@ -63,7 +63,11 @@ OBJECTS:=secnet.o util.o conffile.yy.o conffile.tab.o conffile.o modules.o \ PYMODULES := ipaddrset.py argparseactionnoyes.py base91.py TEST_OBJECTS:=eax-aes-test.o eax-serpent-test.o eax-serpentbe-test.o \ - eax-test.o aes.o + eax-test.o aes.o x25519-test.o x448-test.o + +TEST_OBJECTS += crypto-test.o +TEST_OBJECTS += keccak1600-test.o sha3-test.o +TEST_OBJECTS += ed25519-test.o ed448-test.o ifeq (version.o,$(MAKECMDGOALS)) OBJECTS:= @@ -84,7 +88,7 @@ STALE_PYTHON_FILES= $(foreach e, py pyc, \ %.tab.c %.tab.h: %.y bison -d -o $@ $< -%.o: %.c +%.o: %.c $(cat_CATS) $(CC) $(CPPFLAGS) $(ALL_CFLAGS) $(CDEPS_CFLAGS) -c $< -o $@ $(OBJECTS): conffile.yy.h pubkeys.yy.h base91s/base91.h @@ -125,8 +129,12 @@ endif TESTDIRS=stest mtest +CRYPTO_TESTS = keccak1600 sha3 f25519 x25519 ed25519 fgoldi x448 ed448 + &TARGETS_check = eax-aes.tconfirm eax-serpent.tconfirm \ - eax-serpentbe.tconfirm ipaddrset.tconfirm + eax-serpentbe.tconfirm ipaddrset.tconfirm \ + x25519.tconfirm x448.tconfirm \ + $(foreach c,$(CRYPTO_TESTS),$c.tconfirm) &TARGETS_fullcheck += $(&TARGETS_check) &TARGETS_fullcheck += msgcode.tconfirm @@ -182,6 +190,14 @@ ipaddrset.tconfirm: ipaddrset-test.py ipaddrset.py ipaddrset-test.expected diff -u $(srcdir)/ipaddrset-test.expected ipaddrset-test.new touch $@ +$(foreach c,$(CRYPTO_TESTS),$c.trun): %.trun: %-test.o crypto-test.o + $(CC) $(LDFLAGS) $(ALL_CFLAGS) -o $@ $^ + +$(foreach c,$(CRYPTO_TESTS),$c.tconfirm): \ + %.tconfirm: %.trun cat/%-tests.in + ./$*.trun