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|" \
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
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; }
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 FORMAT_TEST = $(PERL) $(selftestdir)/format-subunit.pl --prefix=${selftest_prefix} --format=$(TEST_FORMAT)
20 FORMAT_TEST_OUTPUT = $(FILTER_XFAIL) | $(FORMAT_TEST)
22 test-subunit:: everything
23 $(ST_RM) $(SELFTEST) --socket-wrapper $(TESTS) $(ST_TOUCH)
27 $(ST_RM) $(SELFTEST) $(DEFAULT_TEST_OPTIONS) $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate
30 ifeq ($(RUN_FROM_BUILD_FARM),yes)
32 $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) $(TESTS) $(ST_TOUCH) | $(FILTER_XFAIL) --strip-passed-output
34 test -f ${selftest_prefix}/summary && cat ${selftest_prefix}/summary
37 $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate
42 $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) \
43 --target=kvm --image=$(KVM_IMAGE) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate
46 kvmquicktest:: everything
47 $(ST_RM) $(SELFTEST) $(DEFAULT_TEST_OPTIONS) \
48 $(SELFTEST_QUICK_OPTS) --target=kvm --image=$(KVM_IMAGE) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) | $(FORMAT_TEST_OUTPUT) --immediate
52 $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(DEFAULT_TEST_OPTIONS) --one $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT)
55 test-swrap:: everything
56 $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate
59 test-swrap-pcap:: everything
60 $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper-pcap $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate
63 test-swrap-keep-pcap:: everything
64 $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper-keep-pcap $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate
67 test-noswrap:: everything
68 $(ST_RM) $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate
72 $(ST_RM) $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH) | $(FORMAT_TEST_OUTPUT) --immediate
75 quicktest-subunit:: all
76 $(ST_RM) $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper $(TESTS) $(ST_TOUCH)
80 $(ST_RM) $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper --one $(TESTS) | $(FORMAT_TEST_OUTPUT)
84 $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv
86 testenv-%:: everything
87 SELFTEST_TESTENV=$* $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv
92 valgrindtest:: valgrindtest-all
94 valgrindtest-quick:: all
95 SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
96 VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
97 $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper $(TESTS) | $(FORMAT_TEST_OUTPUT) --immediate
99 valgrindtest-all:: everything
100 SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/valgrind_run $(LD_LIBPATH_OVERRIDE)" \
101 VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
102 $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper $(TESTS) | $(FORMAT_TEST_OUTPUT) --immediate
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
109 gdbtest:: gdbtest-all
112 SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/gdb_run $(LD_LIBPATH_OVERRIDE)" \
113 $(SELFTEST) $(SELFTEST_QUICK_OPTS) --socket-wrapper $(TESTS) | $(FORMAT_TEST_OUTPUT) --immediate
115 gdbtest-all:: everything
116 SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/gdb_run $(LD_LIBPATH_OVERRIDE)" \
117 $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper $(TESTS) | $(FORMAT_TEST_OUTPUT) --immediate
119 gdbtest-env:: everything
120 SAMBA_VALGRIND="xterm -n server -e $(selftestdir)/gdb_run $(LD_LIBPATH_OVERRIDE)" \
121 $(SELFTEST) $(SELFTEST_NOSLOW_OPTS) --socket-wrapper --testenv