about summary refs log tree commit diff
path: root/mk/tests.mk
blob: bb94a83ac3a24f3a3efd80e8d25f4f4b7659bbdf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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:
	@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