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