summaryrefslogtreecommitdiff
path: root/source4/scripting
diff options
context:
space:
mode:
Diffstat (limited to 'source4/scripting')
-rwxr-xr-xsource4/scripting/bin/subunitrun27
1 files changed, 25 insertions, 2 deletions
diff --git a/source4/scripting/bin/subunitrun b/source4/scripting/bin/subunitrun
index bc7b42c610..9c87d2eca3 100755
--- a/source4/scripting/bin/subunitrun
+++ b/source4/scripting/bin/subunitrun
@@ -31,9 +31,31 @@ import samba.getopt as options
import samba.tests
-parser = optparse.OptionParser("subunitrun [options] <tests>")
+usage = 'subunitrun [options] <tests>'
+description = '''
+This runs a Samba python test suite. The tests are typically located in
+source4/scripting/python/samba/tests/*.py
+
+To run the tests from one of those modules, specify the test as
+samba.tests.MODULE. For example, to run the tests in common.py:
+
+ subunitrun samba.tests.common
+
+To list the tests in that module, use:
+
+ subunitrun -l samba.tests.common
+'''
+
+def format_description(formatter):
+ '''hack to prevent textwrap of the description'''
+ return description
+
+parser = optparse.OptionParser(usage=usage, description=description)
+parser.format_description = format_description
credopts = options.CredentialsOptions(parser)
+sambaopts = options.SambaOptions(parser)
parser.add_option_group(credopts)
+parser.add_option_group(sambaopts)
try:
from subunit.run import TestProgram
except ImportError:
@@ -45,7 +67,8 @@ else:
opts, args = parser.parse_args()
-samba.tests.cmdline_credentials = credopts.get_credentials(samba.tests.env_loadparm())
+lp = sambaopts.get_loadparm()
+samba.tests.cmdline_credentials = credopts.get_credentials(lp)
if getattr(opts, "listtests", False):
args.insert(0, "--list")