fixed make test reporting success when provision fails
[metze/samba/wip.git] / source4 / selftest / config.mk
1 TEST_FORMAT = plain
2
3 SELFTEST = ( rm -f $(selftest_prefix)/st_done && $(LD_LIBPATH_OVERRIDE) PYTHON=$(PYTHON) \
4     $(PERL) $(selftestdir)/selftest.pl --prefix=${selftest_prefix} \
5     --builddir=$(builddir) --srcdir=$(srcdir) \
6     --exclude=$(srcdir)/selftest/skip --testlist="./selftest/tests.sh|" \
7     $(TEST_OPTIONS)
8 # this strange code is to handle the fact that the bash pipefail option is 
9 # not portable. When we run selftest we use a pipeline, and the first element
10 # of that pipeline might abort. We need to catch this and mark the test
11 # as having failed
12 ST_TOUCH = && touch $(selftest_prefix)/st_done ) 
13 ST_DONE_TEST = @test -f $(selftest_prefix)/st_done || { echo "SELFTEST FAILED"; exit 1; }
14
15 SELFTEST_NOSLOW_OPTS = --exclude=$(srcdir)/selftest/slow
16 SELFTEST_QUICK_OPTS = $(SELFTEST_NOSLOW_OPTS) --quick --include=$(srcdir)/selftest/quick
17 FILTER_XFAIL = $(PERL) $(selftestdir)/filter-subunit.pl --expected-failures=$(srcdir)/selftest/knownfail
18 FORMAT_TEST_OUTPUT = $(FILTER_XFAIL) | $(PERL) $(selftestdir)/format-subunit.pl --format=$(TEST_FORMAT)
19
20 test-subunit:: everything
21         $(SELFTEST) --socket-wrapper $(TESTS) $(ST_TOUCH)
22         $(ST_DONE_TEST)
23
24 slowtest:: everything
25         $(SELFTEST) $(DEFAULT_TEST_OPTIONS) $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
26         $(ST_DONE_TEST)
27
28 ifeq ($(RUN_FROM_BUILD_FARM),yes)
29 test:: everything
30         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) $(TESTS) $(ST_TOUCH) | $(FILTER_XFAIL) --strip-passed-output
31         $(ST_DONE_TEST)
32 else
33 test:: everything
34         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
35         $(ST_DONE_TEST)
36 endif
37
38 kvmtest:: everything
39         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) \
40                 --target=kvm --image=$(KVM_IMAGE) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
41         $(ST_DONE_TEST)
42
43 kvmquicktest:: everything
44         $(SELFTEST) $(DEFAULT_TEST_OPTIONS) \
45                 $(SELFTEST_QUICK_OPTS) --target=kvm --image=$(KVM_IMAGE) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) | $(FORMAT_TEST_OUTPUT) --immediate 
46         $(ST_DONE_TEST)
47
48 testone:: everything
49         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) --one $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
50         $(ST_DONE_TEST)
51
52 test-swrap:: everything
53         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
54         $(ST_DONE_TEST)
55
56 test-swrap-pcap:: everything
57         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper-pcap $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
58         $(ST_DONE_TEST)
59
60 test-swrap-keep-pcap:: everything
61         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper-keep-pcap $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
62         $(ST_DONE_TEST)
63
64 test-noswrap:: everything
65         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
66         $(ST_DONE_TEST)
67
68 quicktest:: all
69         $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
70         $(ST_DONE_TEST)
71
72 quicktest-subunit:: all
73         $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH)
74         $(ST_DONE_TEST)
75
76 quicktestone:: all
77         $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper --one $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
78         $(ST_DONE_TEST)
79
80 testenv:: everything
81         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv $(ST_TOUCH)
82
83 testenv-%:: everything
84         SELFTEST_TESTENV=$* $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv $(ST_TOUCH)
85         $(ST_DONE_TEST)
86
87 test-%:: 
88         $(MAKE) test TESTS=$*
89
90 valgrindtest:: valgrindtest-all
91
92 valgrindtest-quick:: all
93         SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
94         VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
95         $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
96         $(ST_DONE_TEST)
97
98 valgrindtest-all:: everything
99         SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
100         VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
101         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
102         $(ST_DONE_TEST)
103
104 valgrindtest-env:: everything
105         SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
106         VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
107         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv $(ST_TOUCH)
108         $(ST_DONE_TEST)
109
110 gdbtest:: gdbtest-all
111
112 gdbtest-quick:: all
113         SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/gdb_run $(LD_LIBPATH_OVERRIDE)" \
114         $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
115         $(ST_DONE_TEST)
116
117 gdbtest-all:: everything
118         SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/gdb_run $(LD_LIBPATH_OVERRIDE)" \
119         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate 
120         $(ST_DONE_TEST)
121
122 gdbtest-env:: everything
123         SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/gdb_run $(LD_LIBPATH_OVERRIDE)" \
124         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv $(ST_TOUCH)
125         $(ST_DONE_TEST)
126