about summary refs log tree commit diff
path: root/mk/tests.mk
blob: 8a3bff66e8907c5b0d790d114b752fceffcd0eab (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: 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