subunitrun: give more useful help
authorAndrew Tridgell <tridge@samba.org>
Thu, 20 Oct 2011 02:24:04 +0000 (13:24 +1100)
committerAndrew Tridgell <tridge@samba.org>
Thu, 20 Oct 2011 02:23:07 +0000 (04:23 +0200)
give some examples and more useful description for subunitrun command

Pair-Programmed-With: Amitay Isaacs <amitay@gmail.com>

source4/scripting/bin/subunitrun

index bc7b42c610c38d9f9626e22198ca5d37c548f1e5..9c87d2eca3de23bb9e1d1adbe41ec44cad7adbe5 100755 (executable)
@@ -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")