zsh-autoenv/Makefile

40 lines
1.0 KiB
Makefile

# 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
itest:
cram -i --shell=zsh tests
# Run tests with all ZDOTDIRs.
test_full:
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; \
return $$ret
# Define targets for test files, with relative and abolute path.
# Use verbose output, which is useful with Vim's 'errorformat'.
TESTS:=$(wildcard tests/*.t)
uniq = $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1)))
_TESTS_REL_AND_ABS:=$(call uniq,$(abspath $(TESTS)) $(TESTS))
$(_TESTS_REL_AND_ABS):
cram --shell=zsh -v $@
.PHONY: $(_TESTS_REL_AND_ABS)
.PHONY: itest test
clean:
$(RM) tests/*.err