]> Sergey Matveev's repositories - zsh-autoenv.git/blobdiff - Makefile
Makefile: test_full: use exit instead of return
[zsh-autoenv.git] / Makefile
index f59c91daf9d98b787958caafbce06373a66383e3..ebfb971e82b8bfed129e67c11d94ee9ed328cc1c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,8 @@
-export ZDOTDIR=${CURDIR}/tests/ZDOTDIR
+# Default, can be overridden using "make test ZDOTDIR=...".
+ZDOTDIR:=${CURDIR}/tests/ZDOTDIR
+
+# Export it, and make it absolute.
+override export ZDOTDIR:=$(abspath $(ZDOTDIR))
 
 test:
        cram --shell=zsh -v tests
@@ -8,11 +12,16 @@ itest:
 
 # Run tests with all ZDOTDIRs.
 test_full:
-       for i in $(wildcard tests/ZDOTDIR*); do \
-               echo "ZDOTDIR=$$i"; \
-               ZDOTDIR=${CURDIR}/$$i cram --shell=zsh -v tests; \
-               echo; \
-       done
+       for zsh in zsh /opt/zsh4/bin/zsh; do \
+               command -v $$zsh || { echo "Skipping non-existing shell: $$zsh"; continue; }; \
+               ret=0; \
+               for i in $(wildcard tests/ZDOTDIR*); do \
+                       echo "zsh=$zsh ZDOTDIR=$$i"; \
+                       SHELL=$$zsh ZDOTDIR=${CURDIR}/$$i cram --shell=zsh -v tests || ret=$$?; \
+                       echo; \
+               done; \
+       done; \
+       exit $$ret
 
 # Define targets for test files, with relative and abolute path.
 # Use verbose output, which is useful with Vim's 'errorformat'.
@@ -25,3 +34,6 @@ $(_TESTS_REL_AND_ABS):
 .PHONY: $(_TESTS_REL_AND_ABS)
 
 .PHONY: itest test
+
+clean:
+       $(RM) tests/*.err