diff options
-rw-r--r-- | mk/tests.mk | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/mk/tests.mk b/mk/tests.mk new file mode 100644 index 000000000..8a3bff66e --- /dev/null +++ b/mk/tests.mk @@ -0,0 +1,29 @@ +# Run program $1 as part of ‘make installcheck’. +define run-install-test = + + installcheck: $1 + + # Run the test in its own directory to mimick Automake behaviour. + $1.run: $1 $(_PREV_TEST) + + _installcheck_list += $1 + +endef + +installcheck: install + @total=0; failed=0; for i in $(_installcheck_list); do \ + total=$$((total + 1)); \ + echo "running test $$i"; \ + if (cd $$(dirname $$i) && $(TESTS_ENVIRONMENT) $$(basename $$i)); then \ + echo "PASS: $$i"; \ + else \ + echo "FAIL: $$i"; \ + failed=$$((failed + 1)); \ + fi; \ + done; \ + if [ "$$failed" != 0 ]; then \ + echo "$$failed out of $$total tests failed "; \ + exit 1; \ + fi + +.PHONY: check installcheck |