summaryrefslogtreecommitdiff
path: root/selftest/selftesthelpers.py
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2021-07-27 13:45:03 +0200
committerJule Anger <janger@samba.org>2021-09-16 06:50:11 +0000
commit6cf0b28459d15d848265974c34f2c86d7c8f45bb (patch)
treef6e6f31b5700d37270f333b89b221e8e130c16e9 /selftest/selftesthelpers.py
parentb884b4ef5856f7822e3ccaacb12c7784d7f247c5 (diff)
downloadsamba-6cf0b28459d15d848265974c34f2c86d7c8f45bb.tar.gz
selftest: Add support for setting ENV variables in plantestsuite()
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> BUG: https://bugzilla.samba.org/show_bug.cgi?id=14817 (cherry picked from commit 48289b6964d28e153fec885aceca02c6a9b436ef)
Diffstat (limited to 'selftest/selftesthelpers.py')
-rw-r--r--selftest/selftesthelpers.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/selftest/selftesthelpers.py b/selftest/selftesthelpers.py
index 15965f39c92..1dd30b01ea7 100644
--- a/selftest/selftesthelpers.py
+++ b/selftest/selftesthelpers.py
@@ -67,7 +67,7 @@ def valgrindify(cmdline):
return valgrind + " " + cmdline
-def plantestsuite(name, env, cmdline):
+def plantestsuite(name, env, cmd, environ={}):
"""Plan a test suite.
:param name: Testsuite name
@@ -81,8 +81,18 @@ def plantestsuite(name, env, cmdline):
fullname = "%s(%s)" % (name, env)
print(fullname)
print(env)
- if isinstance(cmdline, list):
- cmdline = " ".join(cmdline)
+
+ cmdline = ""
+ if environ:
+ environ = dict(environ)
+ cmdline_env = ["%s=%s" % item for item in environ.items()]
+ cmdline = " ".join(cmdline_env) + " "
+
+ if isinstance(cmd, list):
+ cmdline += " ".join(cmd)
+ else:
+ cmdline += cmd
+
if "$LISTOPT" in cmdline:
raise AssertionError("test %s supports --list, but not --load-list" % name)
print(cmdline + " 2>&1 " + " | " + add_prefix(name, env))
@@ -183,14 +193,17 @@ smbtorture4_options = [
] + get_env_torture_options()
-def plansmbtorture4testsuite(name, env, options, target, environ={}, modname=None):
+def plansmbtorture4testsuite(name, env, options, target, modname=None, environ={}):
if modname is None:
modname = "samba4.%s" % name
if isinstance(options, list):
options = " ".join(options)
options = " ".join(smbtorture4_options + ["--target=%s" % target]) + " " + options
- cmdline = ["%s=%s" % item for item in environ.items()]
- cmdline += "%s $LISTOPT $LOADLIST %s %s" % (valgrindify(smbtorture4), options, name)
+ cmdline = ""
+ if environ:
+ environ = dict(environ)
+ cmdline = ["%s=%s" % item for item in environ.items()]
+ cmdline += " %s $LISTOPT $LOADLIST %s %s" % (valgrindify(smbtorture4), options, name)
plantestsuite_loadlist(modname, env, cmdline)