d2dad87ec2d78557db9e7cbcad70a83bb9d769a4
[amitay/samba.git] / source3 / selftest / s3-selftest.sh
1 #!/bin/sh
2
3 FILTER_XFAIL="${PYTHON} -u ${SELFTESTDIR}/filter-subunit --expected-failures=${SOURCEDIR}/selftest/knownfail"
4 if [ "x${SUBUNIT_FORMATTER}" = x"" ]; then
5         SUBUNIT_FORMATTER="${PYTHON} -u ${SELFTESTDIR}/format-subunit --prefix=${SELFTESTPREFIX} --immediate"
6 fi
7
8 cleanup_and_exit() {
9         if test "$1" = 0 -o -z "$1"; then
10                 exit 0
11         else
12                 exit $1
13         fi
14 }
15
16 st_test_done() {
17         test -f ${SELFTESTPREFIX}/st_done || { echo "SELFTEST FAILED"; cleanup_and_exit 1; }
18 }
19
20 if [ "x${RUN_FROM_BUILD_FARM}" = "xyes" ]; then
21         ( rm -f ${SELFTESTPREFIX}/st_done && \
22                 ${PERL} ${SELFTESTDIR}/selftest.pl \
23                         --builddir=. --prefix=${SELFTESTPREFIX} --target=samba3 \
24                         --testlist="${PYTHON} ${SOURCEDIR}/selftest/tests.py|" \
25                         --exclude=${SOURCEDIR}/selftest/skip \
26                         --srcdir="${SOURCEDIR}/.." \
27                         --socket-wrapper ${TESTS} \
28         && touch ${SELFTESTPREFIX}/st_done ) | \
29                 ${FILTER_XFAIL} --strip-passed-output
30         EXIT_STATUS=$?
31
32         st_test_done
33 else
34         ( rm -f ${SELFTESTPREFIX}/st_done && \
35                 ${PERL} ${SELFTESTDIR}/selftest.pl \
36                         --builddir=. --prefix=${SELFTESTPREFIX} --target=samba3 \
37                         --testlist="${PYTHON} ${SOURCEDIR}/selftest/tests.py|" \
38                         --exclude=${SOURCEDIR}/selftest/skip \
39                         --srcdir="${SOURCEDIR}/.." \
40                         --socket-wrapper ${TESTS} \
41         && touch ${SELFTESTPREFIX}/st_done ) | \
42                 ${FILTER_XFAIL} | ${SUBUNIT_FORMATTER}
43         EXIT_STATUS=$?
44
45         st_test_done
46 fi
47
48 cleanup_and_exit ${EXIT_STATUS}