From: Brian Warner <warner@lothar.com>
Date: Tue, 24 Apr 2007 04:28:19 +0000 (-0700)
Subject: test_runner.py: improve test coverage a little bit
X-Git-Url: https://git.rkrishnan.org/%5B/%5D%20/statistics?a=commitdiff_plain;h=813fdd70da79b961de909e37de81489526020b9f;p=tahoe-lafs%2Ftahoe-lafs.git

test_runner.py: improve test coverage a little bit
---

diff --git a/src/allmydata/scripts/runner.py b/src/allmydata/scripts/runner.py
index 81764e49..70d2d997 100644
--- a/src/allmydata/scripts/runner.py
+++ b/src/allmydata/scripts/runner.py
@@ -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)
diff --git a/src/allmydata/test/test_runner.py b/src/allmydata/test/test_runner.py
index e844e2c9..167e36a9 100644
--- a/src/allmydata/test/test_runner.py
+++ b/src/allmydata/test/test_runner.py
@@ -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)
+