summaryrefslogtreecommitdiff
path: root/selftest/wscript
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2011-04-28 13:58:07 +1000
committerAndrew Bartlett <abartlet@samba.org>2011-04-28 14:31:25 +1000
commit34e3501a32f731b527bbba88eb44d6433b826aa2 (patch)
tree5622f91574b1da35db9d75cf0625bc89655f6d80 /selftest/wscript
parent123097e8796bd21a7d6856683a17043fc933475e (diff)
downloadsamba-34e3501a32f731b527bbba88eb44d6433b826aa2.tar.gz
selftest: Fix combination of Samba3 and Samba4 test lists
The previous code was too subtle, and tried to filter via two xfail scripts. The --fail-immediately for the source3 knownfail would then fail samba4 know failures. Andrew Bartlett Pair-Programmed-With: Andrew Tridgell <tridge@samba.org>
Diffstat (limited to 'selftest/wscript')
-rw-r--r--selftest/wscript35
1 files changed, 25 insertions, 10 deletions
diff --git a/selftest/wscript b/selftest/wscript
index 25ea823ff7..b3e683f038 100644
--- a/selftest/wscript
+++ b/selftest/wscript
@@ -73,6 +73,19 @@ def set_options(opt):
def configure(conf):
conf.env.SELFTEST_PREFIX = Options.options.SELFTEST_PREFIX
+def combine_files(file1, file2, outfile):
+
+ f1 = open(file1)
+ f2 = open(file2)
+ of = open(outfile, mode='w')
+ for line in f1:
+ of.write(line)
+ for line in f2:
+ of.write(line)
+ f1.close()
+ f2.close()
+ of.close()
+
def cmd_testonly(opt):
'''run tests without doing a build first'''
env = LOAD_ENVIRONMENT()
@@ -183,17 +196,19 @@ def cmd_testonly(opt):
env.SELFTEST_DIR = "${srcdir}/source3/selftest"
if env.SELFTEST_TARGET == "samba":
- env.SELFTEST_DIR = "${srcdir}/source3/selftest"
- xfail = ""
- xfail += EXPAND_VARIABLES(opt, env.FILTER_XFAIL)
- xfail += " | "
- env.SELFTEST_DIR = "${srcdir}/source4/selftest"
- xfail += EXPAND_VARIABLES(opt, env.FILTER_XFAIL)
- env.FILTER_XFAIL = xfail;
- cmd = '(${PERL} ${srcdir}/selftest/selftest.pl --target=${SELFTEST_TARGET} --prefix=${SELFTEST_PREFIX} --srcdir=${srcdir} --exclude="${srcdir}/source4/selftest/skip" --exclude="${srcdir}/source3/selftest/skip" --testlist="${PYTHON} ${srcdir}/source3/selftest/tests.py|" --testlist="${PYTHON} ${srcdir}/source4/selftest/tests.py|" ${OPTIONS} --socket-wrapper ${TESTS} && touch ${SELFTEST_PREFIX}/st_done) | ${FILTER_OPTIONS} | tee ${SELFTEST_PREFIX}/subunit'
+ for f in ["knownfail", "slow", "quick", "skip" ]:
+ combine_files(env.srcdir + "/source4/selftest/" + f,
+ env.srcdir + "/source3/selftest/" + f,
+ env.SELFTEST_PREFIX + "/" + f)
+
+ env.SELFTEST_DIR = "${srcdir}/st"
+ env.TESTLISTS = ('--testlist="${PYTHON} ${srcdir}/source3/selftest/tests.py|" ' +
+ '--testlist="${PYTHON} ${srcdir}/source4/selftest/tests.py|"')
else:
- # We use the full path rather than relative path because it cause problems on some plateforms (ie. solaris 8).
- cmd = '(${PERL} ${srcdir}/selftest/selftest.pl --target=${SELFTEST_TARGET} --prefix=${SELFTEST_PREFIX} --srcdir=${srcdir} --exclude=${SELFTEST_DIR}/skip --testlist="${PYTHON} ${SELFTEST_DIR}/tests.py|" ${OPTIONS} --socket-wrapper ${TESTS} && touch ${SELFTEST_PREFIX}/st_done) | ${FILTER_OPTIONS} | tee ${SELFTEST_PREFIX}/subunit'
+ env.TESTLISTS = '--testlist="${SELFTEST_DIR}/tests.py|"'
+
+ # We use the full path rather than relative path because it cause problems on some plateforms (ie. solaris 8).
+ cmd = '(${PERL} ${srcdir}/selftest/selftest.pl --target=${SELFTEST_TARGET} --prefix=${SELFTEST_PREFIX} --srcdir=${srcdir} --exclude=${SELFTEST_DIR}/skip ${TESTLISTS} ${OPTIONS} --socket-wrapper ${TESTS} && touch ${SELFTEST_PREFIX}/st_done) | ${FILTER_OPTIONS} | tee ${SELFTEST_PREFIX}/subunit'
if os.environ.get('RUN_FROM_BUILD_FARM') is None and not Options.options.FILTERED_SUBUNIT:
cmd += ' | ${FORMAT_TEST_OUTPUT}'