diff options
Diffstat (limited to 'selftest/s3-selftest.sh')
-rwxr-xr-x | selftest/s3-selftest.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/selftest/s3-selftest.sh b/selftest/s3-selftest.sh new file mode 100755 index 0000000000..8b44629bc3 --- /dev/null +++ b/selftest/s3-selftest.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +FILTER_XFAIL="${PYTHON} -u ${SELFTESTDIR}/filter-subunit --expected-failures=${SOURCEDIR}/selftest/knownfail" +SUBUNIT_FORMATTER="${PYTHON} -u ${SELFTESTDIR}/format-subunit --prefix=${SELFTESTPREFIX} --immediate" +FORMAT_TEST_OUTPUT="${FILTER_XFAIL} | ${SUBUNIT_FORMATTER}" + +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 \ + --prefix=${SELFTESTPREFIX} --target=samba3 \ + --testlist="${SOURCEDIR}/selftest/tests.sh|" \ + --exclude=${SOURCEDIR}/selftest/skip \ + --socket-wrapper ${TESTS} \ + && touch ${SELFTESTPREFIX}/st_done ) | \ + ${FILTER_XFAIL} --strip-passed-output + + st_test_done + test -f ${SELFTESTPREFIX}/summary && cat ${SELFTESTPREFIX}/summary +else + ( rm -f ${SELFTESTPREFIX}/st_done && \ + ${PERL} ${SELFTESTDIR}/selftest.pl \ + --prefix=${SELFTESTPREFIX} --target=samba3 \ + --testlist="${SOURCEDIR}/selftest/tests.sh|" \ + --exclude=${SOURCEDIR}/selftest/skip \ + --socket-wrapper ${TESTS} \ + && touch ${SELFTESTPREFIX}/st_done ) | \ + ${SUBUNIT_FORMATTER} + + st_test_done +fi + +cleanup_and_exit |