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