summaryrefslogtreecommitdiff
path: root/source3/selftest/s3-selftest.sh
blob: 335398a466bc40195fc9a5347e60ce5361ceec68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/sh

FILTER_XFAIL="${PYTHON} -u ${SELFTESTDIR}/filter-subunit --expected-failures=${SELFTESTDIR}/knownfail --flapping=${SELFTESTDIR}/flapping"
if [ "x${SUBUNIT_FORMATTER}" = x"" ]; then
	SUBUNIT_FORMATTER="${PYTHON} -u ${SELFTESTDIR}/format-subunit --prefix=${SELFTESTPREFIX} --immediate"
fi

if [ x"${FAIL_IMMEDIATELY}" != x"" ]; then
	FILTER_XFAIL="${FILTER_XFAIL} --fail-immediately"
fi

cleanup_and_exit() {
	if test "$1" = 0 -o -z "$1"; then
		exit 0
	else
		exit $1
	fi
}

st_test_done() {
	test -f ${SELFTESTPREFIX}/st_done || { echo "SELFTEST FAILED"; cleanup_and_exit 1; }
}

if [ "x${RUN_FROM_BUILD_FARM}" = "xyes" ]; then
	( rm -f ${SELFTESTPREFIX}/st_done && \
		${PERL} ${SELFTESTDIR}/selftest.pl \
	                --binary-mapping=smbtorture3:smbtorture,nmblookup3:nmblookup,nmblookup4:nmblookup4,smbclient3:smbclient,smbclient4:smbclient4,ntlm_auth3:ntlm_auth \
			--prefix=${SELFTESTPREFIX} --target=samba3 \
			--testlist="${PYTHON} ${SOURCEDIR}/selftest/tests.py|" \
			--exclude=${SELFTESTDIR}/skip \
	                --srcdir="${SOURCEDIR}/.." \
			--socket-wrapper ${TESTS} \
	&& touch ${SELFTESTPREFIX}/st_done ) | \
		${FILTER_XFAIL} --strip-passed-output
	EXIT_STATUS=$?

	st_test_done
else
	( rm -f ${SELFTESTPREFIX}/st_done && \
		${PERL} ${SELFTESTDIR}/selftest.pl \
	                --binary-mapping=smbtorture3:smbtorture,nmblookup3:nmblookup,nmblookup4:nmblookup4,smbclient3:smbclient,smbclient4:smbclient4,ntlm_auth3:ntlm_auth \
			--prefix=${SELFTESTPREFIX} --target=samba3 \
			--testlist="${PYTHON} ${SOURCEDIR}/selftest/tests.py|" \
			--exclude=${SELFTESTDIR}/skip \
	                --srcdir="${SOURCEDIR}/.." \
			--socket-wrapper ${TESTS} \
	&& touch ${SELFTESTPREFIX}/st_done ) | \
		${FILTER_XFAIL} | ${SUBUNIT_FORMATTER}
	EXIT_STATUS=$?

	st_test_done
fi

cleanup_and_exit ${EXIT_STATUS}