summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile3
-rwxr-xr-xscript/autobuild.py2
-rw-r--r--selftest/no-python-tests.txt32
-rw-r--r--selftest/wscript11
4 files changed, 47 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index c2de1df7b60..d456a410050 100644
--- a/Makefile
+++ b/Makefile
@@ -40,6 +40,9 @@ randomized-test:
testlist:
$(WAF) test --list $(TEST_OPTIONS)
+test-nopython:
+ $(WAF) test --no-subunit-filter --test-list=selftest/no-python-tests.txt $(TEST_OPTIONS)
+
dist:
touch .tmplock
WAFLOCK=.tmplock $(WAF) dist
diff --git a/script/autobuild.py b/script/autobuild.py
index f2a29497cf2..729f118019c 100755
--- a/script/autobuild.py
+++ b/script/autobuild.py
@@ -310,6 +310,7 @@ tasks = {
("configure", "./configure.developer --picky-developer ${PREFIX} --with-profiling-data --disable-python --without-ad-dc", "text/plain"),
("make", "make -j", "text/plain"),
("install", "make install", "text/plain"),
+ ("test", "make test-nopython", "text/plain"),
("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
("clean", "make clean", "text/plain"),
@@ -343,6 +344,7 @@ tasks = {
("configure", "PYTHON=python2 ./configure.developer --picky-developer ${PREFIX} --with-profiling-data --disable-python --without-ad-dc", "text/plain"),
("make", "PYTHON=python2 make -j", "text/plain"),
("install", "PYTHON=python2 make install", "text/plain"),
+ ("test", "make test-nopython", "text/plain"),
("check-clean-tree", "script/clean-source-tree.sh", "text/plain"),
("clean", "PYTHON=python2 make clean", "text/plain"),
diff --git a/selftest/no-python-tests.txt b/selftest/no-python-tests.txt
new file mode 100644
index 00000000000..33c2f0103ac
--- /dev/null
+++ b/selftest/no-python-tests.txt
@@ -0,0 +1,32 @@
+# A small subset of tests/testenvs to run as a sanity-check when samba
+# is built with --disable-python. One test-suite for each s3 testenv was
+# selected from 'python source3/selftest/tests.py' (and manually edited to
+# remove the filter-subunit portion of the command).
+# Notes:
+# - you cannot add knownfail tests to this list.
+# - only .sh tests supported here, and they must set and return $failed
+# appropriately
+-- TEST --
+samba3.blackbox.smb2.not_casesensitive (fileserver)(fileserver)
+fileserver
+./source3/script/tests/test_smb2_not_casesensitive.sh //$SERVER/tmp $SERVER_IP $USERNAME $PASSWORD $LOCAL_PATH bin/smbclient || exit 1
+-- TEST --
+samba3.blackbox.rpcclient_srvsvc(simpleserver)
+simpleserver
+./source3/script/tests/test_rpcclientsrvsvc.sh $USERNAME $PASSWORD $SERVER bin/rpcclient tmp || exit 1
+-- TEST --
+samba3.blackbox.smbclient_large_file krb5(ktest:local)
+ktest:local
+./source3/script/tests/test_smbclient_large_file.sh $PREFIX/ktest/krb5_ccache-3 bin/smbclient $SERVER $PREFIX -k --configfile=$SMB_CONF_PATH || exit 1
+-- TEST --
+samba3.blackbox.smbclient_auth.plain (maptoguest) local creds(maptoguest)
+maptoguest
+./source3/script/tests/test_smbclient_auth.sh $SERVER $SERVER_IP $USERNAME $PASSWORD bin/smbclient --configfile=$SMB_CONF_PATH --option=clientntlmv2auth=no --option=clientlanmanauth=yes || exit 1
+-- TEST --
+samba3.blackbox.smbclient_auth.plain (nt4_dc) (nt4_dc)
+nt4_dc
+./source3/script/tests/test_smbclient_auth.sh $SERVER $SERVER_IP $DC_USERNAME $DC_PASSWORD bin/smbclient --configfile=$SMB_CONF_PATH || exit 1
+-- TEST --
+samba3.blackbox.net_cred_change.(nt4_member:local)(nt4_member:local)
+nt4_member:local
+./source3/script/tests/test_net_cred_change.sh --configfile=$SMB_CONF_PATH || exit 1
diff --git a/selftest/wscript b/selftest/wscript
index b7eec2c2605..727adcf3126 100644
--- a/selftest/wscript
+++ b/selftest/wscript
@@ -90,6 +90,10 @@ def options(opt):
help=("use tests listed here, not defaults "
"(--test-list='FOO|' will execute FOO; "
"--test-list='FOO' will read it)"))
+ gr.add_option('--no-subunit-filter',
+ help=("no (xfail) subunit filtering"),
+ action="store_true", dest='NO_SUBUNIT_FILTER', default=False)
+
def configure(conf):
conf.env.SELFTEST_PREFIX = Options.options.SELFTEST_PREFIX
@@ -305,7 +309,12 @@ def cmd_testonly(opt):
else:
env.OPTIONS += ' --socket-wrapper'
cmd = '(${CORE_COMMAND} && touch ${SELFTEST_PREFIX}/st_done) | ${FILTER_OPTIONS}'
- if (os.environ.get('RUN_FROM_BUILD_FARM') is None and
+
+ if Options.options.NO_SUBUNIT_FILTER:
+ # Skip subunit filtering (i.e. because python is disabled).
+ # Use --one to bail out upon any failure
+ cmd = '(${CORE_COMMAND} --one && touch ${SELFTEST_PREFIX}/st_done)'
+ elif (os.environ.get('RUN_FROM_BUILD_FARM') is None and
not Options.options.FILTERED_SUBUNIT):
subunit_cache = os.path.join(env.SELFTEST_PREFIX, "subunit")
cmd += ' | tee %s | ${FORMAT_TEST_OUTPUT}' % subunit_cache