04d42d279c9884deb8c8c245ac54f95db945d01e
[nivanova/samba-autobuild/.git] / source4 / selftest / config.mk
1 TEST_FORMAT = plain
2
3 SELFTEST = $(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_RM = ( rm -f $(selftest_prefix)/st_done && 
13 ST_TOUCH = && touch $(selftest_prefix)/st_done ) 
14 ST_DONE_TEST = @test -f $(selftest_prefix)/st_done || { echo "SELFTEST FAILED"; exit 1; }
15
16 SELFTEST_NOSLOW_OPTS = --exclude=$(srcdir)/selftest/slow
17 SELFTEST_QUICK_OPTS = $(SELFTEST_NOSLOW_OPTS) --quick --include=$(srcdir)/selftest/quick
18 FILTER_XFAIL = $(PERL) $(selftestdir)/filter-subunit.pl --expected-failures=$(srcdir)/selftest/knownfail
19 SUBUNIT_FORMATTER ?= $(PERL) $(selftestdir)/format-subunit.pl --prefix=${selftest_prefix} --format=$(TEST_FORMAT) --immediate
20 FORMAT_TEST_OUTPUT = $(FILTER_XFAIL) | $(SUBUNIT_FORMATTER)
21
22 test-subunit:: everything
23         $(ST_RM) $(SELFTEST) --socket-wrapper $(TESTS) $(ST_TOUCH)
24         $(ST_DONE_TEST)
25
26 test-subunit-filtered:: everything
27         $(ST_RM) $(SELFTEST) --socket-wrapper $(TESTS) $(ST_TOUCH) | $(FILTER_XFAIL)
28         $(ST_DONE_TEST)
29
30 slowtest:: everything
31         $(ST_RM) $(SELFTEST) $(DEFAULT_TEST_OPTIONS) $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
32         $(ST_DONE_TEST)
33
34 ifeq ($(RUN_FROM_BUILD_FARM),yes)
35 test:: everything
36         $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) $(TESTS) $(ST_TOUCH) | $(FILTER_XFAIL) --strip-passed-output
37         $(ST_DONE_TEST)
38         test -f ${selftest_prefix}/summary && cat ${selftest_prefix}/summary
39 else
40 test:: 
41         $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
42         $(ST_DONE_TEST)
43 endif
44
45 kvmtest:: everything
46         $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) \
47                 --target=kvm --image=$(KVM_IMAGE) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
48         $(ST_DONE_TEST)
49
50 kvmquicktest:: everything
51         $(ST_RM) $(SELFTEST) $(DEFAULT_TEST_OPTIONS) \
52                 $(SELFTEST_QUICK_OPTS) --target=kvm --image=$(KVM_IMAGE) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
53         $(ST_DONE_TEST)
54
55 testone:: everything
56         $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) --one $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
57         $(ST_DONE_TEST)
58
59 test-swrap:: everything
60         $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
61         $(ST_DONE_TEST)
62
63 test-swrap-pcap:: everything
64         $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper-pcap $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
65         $(ST_DONE_TEST)
66
67 test-swrap-keep-pcap:: everything
68         $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper-keep-pcap $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
69         $(ST_DONE_TEST)
70
71 test-noswrap:: everything
72         $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
73         $(ST_DONE_TEST)
74
75 quicktest:: all
76         $(ST_RM) $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
77         $(ST_DONE_TEST)
78
79 quicktest-subunit:: all
80         $(ST_RM) $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH)
81         $(ST_DONE_TEST)
82
83 quicktestone:: all
84         $(ST_RM) $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper --one $(TESTS) | $(FORMAT_TEST_OUTPUT)
85         $(ST_DONE_TEST)
86
87 testenv:: everything
88         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv
89
90 testenv-%:: everything
91         SELFTEST_TESTENV=$* $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv
92
93 test-%:: 
94         $(MAKE) test TESTS=$*
95
96 valgrindtest:: valgrindtest-all
97
98 valgrindtest-quick:: all
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_QUICK_OPTS) --socket-wrapper $(TESTS) | $(FORMAT_TEST_OUTPUT)
102
103 valgrindtest-all:: everything
104         SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
105         VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
106         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper $(TESTS) | $(FORMAT_TEST_OUTPUT)
107
108 valgrindtest-env:: everything
109         SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
110         VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
111         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv
112
113 gdbtest:: gdbtest-all
114
115 gdbtest-quick:: all
116         SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/gdb_run $(LD_LIBPATH_OVERRIDE)" \
117         $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper $(TESTS) | $(FORMAT_TEST_OUTPUT)
118
119 gdbtest-all:: everything
120         SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/gdb_run $(LD_LIBPATH_OVERRIDE)" \
121         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper $(TESTS) | $(FORMAT_TEST_OUTPUT)
122
123 gdbtest-env:: everything
124         SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/gdb_run $(LD_LIBPATH_OVERRIDE)" \
125         $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv
126