Fix bugs 605 and 667.
[cvc5.git] / test / Makefile.am
1 SUBDIRS = unit system regress .
2
3 MAKEFLAGS = -k
4
5 .PHONY: units systemtests regress regress0 regress1 regress2 regress3
6 units systemtests regress regress0 regress1 regress2 regress3:
7 @$(MAKE) check-pre; \
8 for dir in $(SUBDIRS); do \
9 test $$dir = . || (cd $$dir && $(MAKE) $(AM_MAKEFLAGS) $@); \
10 done; \
11 $(MAKE) check-local
12
13 # synonyms for "check" in this directory
14 .PHONY: test
15 test: check
16
17 am__tty_colors = \
18 red=; grn=; lgn=; blu=; mag=; std=; \
19 test "X$(AM_COLOR_TESTS)" != Xno \
20 && test "X$$TERM" != Xdumb \
21 && { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \
22 && { \
23 red='\e[0;31m'; \
24 grn='\e[0;32m'; \
25 lgn='\e[1;32m'; \
26 blu='\e[1;34m'; \
27 mag='\e[1;35m'; \
28 std='\e[m'; \
29 }
30
31 subdirs_to_check = \
32 unit \
33 system \
34 regress/regress0 \
35 regress/regress0/arith \
36 regress/regress0/arith/integers \
37 regress/regress0/uf \
38 regress/regress0/uflra \
39 regress/regress0/uflia \
40 regress/regress0/bv \
41 regress/regress0/bv/core \
42 regress/regress0/arrays \
43 regress/regress0/aufbv \
44 regress/regress0/auflia \
45 regress/regress0/datatypes \
46 regress/regress0/quantifiers \
47 regress/regress0/rewriterules \
48 regress/regress0/lemmas \
49 regress/regress0/push-pop \
50 regress/regress0/push-pop/arith \
51 regress/regress0/push-pop/boolean \
52 regress/regress0/precedence \
53 regress/regress0/preprocess \
54 regress/regress0/tptp \
55 regress/regress0/unconstrained \
56 regress/regress0/decision \
57 regress/regress0/fmf \
58 regress/regress0/strings \
59 regress/regress0/sets \
60 regress/regress0/parser \
61 regress/regress0/sygus \
62 regress/regress1 \
63 regress/regress1/arith \
64 regress/regress2 \
65 regress/regress3
66
67 check-recursive: check-pre
68 .PHONY: check-pre
69 check-pre:
70 @rm -f $(subdirs_to_check:=/test-suite.log)
71
72 if HAVE_CXXTESTGEN
73 HANDLE_UNIT_TEST_SUMMARY = \
74 if test -s "unit/test-suite.log"; then :; else \
75 echo "$${red}Unit tests did not run; maybe there were compilation problems ?$$std"; \
76 fi
77 else
78 HANDLE_UNIT_TEST_SUMMARY = \
79 echo "$${mag}Unit tests not supported, since CxxTest wasn't found$$std"; \
80 rm -f "unit/test-suite.log"
81 endif
82
83 if AUTOMAKE_1_11
84 # automake 1.11 version
85 check-local:
86 @$(am__tty_colors); \
87 echo $${blu}=============================== TESTING SUMMARY =============================$$std; \
88 $(HANDLE_UNIT_TEST_SUMMARY); \
89 if test -s "system/test-suite.log"; then :; else \
90 echo "$${red}System tests did not run; maybe there were compilation problems ?$$std"; \
91 fi; \
92 for dir in $(subdirs_to_check); do \
93 log=$$dir/test-suite.log; \
94 if test -s "$$log"; then \
95 status="`head -n 5 $$log | tail -1`"; \
96 if echo "$$status" | grep -q failed; then \
97 echo "$$red$$status"; \
98 echo " @abs_builddir@/$$log$$std"; \
99 else \
100 printf "$$grn%-30s in $$dir$$std\\n" "$$status"; \
101 fi; \
102 fi; \
103 done; \
104 echo $${blu}=============================== TESTING SUMMARY =============================$$std
105 else
106 # automake 1.12 version
107 check-local:
108 @$(am__tty_colors); \
109 echo $${blu}=============================== TESTING SUMMARY =============================$$std; \
110 $(HANDLE_UNIT_TEST_SUMMARY); \
111 if test -s "system/test-suite.log"; then :; else \
112 echo "$${red}System tests did not run; maybe there were compilation problems ?$$std"; \
113 fi; \
114 for dir in $(subdirs_to_check); do \
115 log=$$dir/test-suite.log; \
116 if test -s "$$log"; then \
117 status="`head -n 11 $$log | tail -7`"; \
118 nicestatus="`echo $$status | sed 's/# [A-Z]*: 0 *//g;s/# \([A-Z]*\): \([0-9]*\)/\2 \1,/g;s/, *$$//;'`"; \
119 if echo "$$status" | grep -q '# FAIL: 0' && \
120 echo "$$status" | grep -q '# XPASS: 0' && \
121 echo "$$status" | grep -q '# ERROR: 0' && \
122 echo "$$status" | grep -q '# SKIP: 0'; then \
123 printf "$$grn%-30s in $$dir$$std\\n" "$$nicestatus"; \
124 else \
125 echo "$$red$$nicestatus"; \
126 echo " @abs_builddir@/$$log$$std"; \
127 fi; \
128 fi; \
129 done; \
130 echo $${blu}=============================== TESTING SUMMARY =============================$$std
131 endif