]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
test_runner.py: improve test coverage a little bit
authorBrian Warner <warner@lothar.com>
Tue, 24 Apr 2007 04:28:19 +0000 (21:28 -0700)
committerBrian Warner <warner@lothar.com>
Tue, 24 Apr 2007 04:28:19 +0000 (21:28 -0700)
src/allmydata/scripts/runner.py
src/allmydata/test/test_runner.py

index 81764e49b05d510b1d688c7a0707aa1e4b123c05..70d2d997ce77c4da90c237ab645df0fe31322d71 100644 (file)
@@ -95,11 +95,13 @@ class Options(usage.Options):
         if not hasattr(self, 'subOptions'):
             raise usage.UsageError("must specify a command")
 
-def runner(argv):
+def runner(argv, run_by_human=True):
     config = Options()
     try:
         config.parseOptions(argv)
     except usage.error, e:
+        if not run_by_human:
+            raise
         print "%s:  %s" % (sys.argv[0], e)
         print
         c = getattr(config, 'subOptions', config)
index e844e2c960791b76232430bd942321aee685d354..167e36a969a4a94d28c8efdde08dc16d7025f2db 100644 (file)
@@ -1,6 +1,7 @@
 
 from twisted.trial import unittest
 
+from twisted.python import usage
 import os.path
 from allmydata.scripts import runner
 from allmydata.util import fileutil
@@ -19,6 +20,22 @@ class CreateNode(unittest.TestCase):
         self.failUnless(os.path.exists(c1))
         self.failUnless(os.path.exists(os.path.join(c1, "client.tac")))
 
+        c2 = os.path.join(basedir, "c2")
+        argv = ["create-client", "--quiet", c2]
+        runner.runner(argv)
+        self.failUnless(os.path.exists(c2))
+        self.failUnless(os.path.exists(os.path.join(c2, "client.tac")))
+
+        self.failUnlessRaises(usage.UsageError,
+                              runner.runner,
+                              ["create-client", "basedir", "extraarg"],
+                              run_by_human=False)
+
+        self.failUnlessRaises(usage.UsageError,
+                              runner.runner,
+                              ["create-client"],
+                              run_by_human=False)
+
     def test_introducer(self):
         basedir = self.workdir("test_introducer")
         c1 = os.path.join(basedir, "c1")
@@ -27,3 +44,25 @@ class CreateNode(unittest.TestCase):
         self.failUnless(os.path.exists(c1))
         self.failUnless(os.path.exists(os.path.join(c1, "introducer.tac")))
 
+        c2 = os.path.join(basedir, "c2")
+        argv = ["create-introducer", "--quiet", c2]
+        runner.runner(argv)
+        self.failUnless(os.path.exists(c2))
+        self.failUnless(os.path.exists(os.path.join(c2, "introducer.tac")))
+
+        self.failUnlessRaises(usage.UsageError,
+                              runner.runner,
+                              ["create-introducer", "basedir", "extraarg"],
+                              run_by_human=False)
+
+        self.failUnlessRaises(usage.UsageError,
+                              runner.runner,
+                              ["create-introducer"],
+                              run_by_human=False)
+
+    def test_subcommands(self):
+        self.failUnlessRaises(usage.UsageError,
+                              runner.runner,
+                              [],
+                              run_by_human=False)
+