From d3afd819ffc14263789167e8ca695a9e233559bf Mon Sep 17 00:00:00 2001 From: Joost Rijneveld Date: Tue, 22 Jan 2019 15:05:48 +0100 Subject: [PATCH] Ensure travis also runs testvector+namespace tests This breaks the build, as Kyber and Dilithium currently are not properly namespaced. More pressingly, this is not a long-term solution: because of the way Makefile dependencies work, one failing test now prevents all others from running. We probably want to change the testing setup not to rely so heavily on the Makefile, and instead call a Python or shell script. Related, we may want to reconsider the single scheme / all targets; this is becoming quite a mess in the Makefile, already. --- Makefile | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 26889002..873a118d 100644 --- a/Makefile +++ b/Makefile @@ -94,6 +94,10 @@ help: @echo "make functest-all Build functional tests for all schemes" @echo "make run-functest SCHEME=scheme Run functional tests for SCHEME" @echo "make run-functest-all Run all functests" + @echo "make run-testvectors SCHEME=scheme Run testvector checks for SCHEME" + @echo "make run-testvectors-all Run all testvector checks" + @echo "make run-symbol-namespace SCHEME=scheme Run symbol namespace checks for SCHEME" + @echo "make run-symbol-namespace-all Run all symbol namespace checks" @echo "make clean Clean up the bin/ folder" @echo "make format Automatically formats all the source code" @echo "make tidy SCHEME=scheme Runs the clang-tidy linter against SCHEME" @@ -108,6 +112,26 @@ functest-all: $(MAKE) functest SCHEME=$$scheme || exit 1; \ done +.PHONY: run-testvectors +run-testvectors: test/check_testvectors.py | require_scheme + python3 test/check_testvectors.py $(SCHEME) || exit 1; \ + +.PHONY: run-symbol-namespace +run-symbol-namespace: test/check_symbol_namespace.py | require_scheme + python3 test/check_symbol_namespace.py $(SCHEME) || exit 1; \ + +.PHONY: run-testvectors-all +run-testvectors-all: test/check_testvectors.py + @for scheme in $(ALL_SCHEMES); do \ + python3 test/check_testvectors.py $$scheme || exit 1; \ + done + +.PHONY: run-symbol-namespace-all +run-symbol-namespace-all: + @for scheme in $(ALL_SCHEMES); do \ + python3 test/check_symbol_namespace.py $$scheme || exit 1; \ + done + .PHONY: run-functest-all run-functest-all: functest-all @for functest in bin/functest_* ; do \ @@ -117,7 +141,7 @@ run-functest-all: functest-all @echo Tests completed .PHONY: test-all -test-all: run-functest-all +test-all: run-functest-all run-testvectors-all run-symbol-namespace-all .PHONY: tidy-all tidy-all: