From: Brian Warner Date: Fri, 20 Apr 2007 01:56:45 +0000 (-0700) Subject: test_runner.py: add some coverage for allmydata.scripts.runner, to create nodes X-Git-Tag: tahoe_v0.1.0-0-UNSTABLE~32 X-Git-Url: https://git.rkrishnan.org/Site/Content/Exhibitors/copyable.html?a=commitdiff_plain;h=491f96258e56319bce8bafd8dcb64ac16eaa9b2f;p=tahoe-lafs%2Ftahoe-lafs.git test_runner.py: add some coverage for allmydata.scripts.runner, to create nodes --- diff --git a/src/allmydata/scripts/runner.py b/src/allmydata/scripts/runner.py index 92229c7f..973ddede 100644 --- a/src/allmydata/scripts/runner.py +++ b/src/allmydata/scripts/runner.py @@ -89,16 +89,16 @@ class Options(usage.Options): if not hasattr(self, 'subOptions'): raise usage.UsageError("must specify a command") -def run(): +def runner(argv): config = Options() try: - config.parseOptions() + config.parseOptions(argv) except usage.error, e: print "%s: %s" % (sys.argv[0], e) print c = getattr(config, 'subOptions', config) print str(c) - sys.exit(1) + return 1 command = config.subCommand so = config.subOptions @@ -114,6 +114,10 @@ def run(): elif command == "restart": rc = restart(so) rc = rc or 0 + return rc + +def run(): + rc = runner(sys.argv[1:]) sys.exit(rc) def create_client(config): diff --git a/src/allmydata/test/test_runner.py b/src/allmydata/test/test_runner.py new file mode 100644 index 00000000..852c7de5 --- /dev/null +++ b/src/allmydata/test/test_runner.py @@ -0,0 +1,29 @@ + +from twisted.trial import unittest + +import os.path +from allmydata.scripts import runner +from allmydata.util import fileutil + +class CreateNode(unittest.TestCase): + def workdir(self, name): + basedir = os.path.join("test_runner", name) + fileutil.make_dirs(basedir) + return basedir + + def test_client(self): + basedir = self.workdir("test_client") + c1 = os.path.join(basedir, "c1") + argv = ["create-client", "--basedir", c1] + runner.runner(argv) + self.failUnless(os.path.exists(c1)) + self.failUnless(os.path.exists(os.path.join(c1, "client.tac"))) + + def test_introducer(self): + basedir = self.workdir("test_introducer") + c1 = os.path.join(basedir, "c1") + argv = ["create-introducer", "--basedir", c1] + runner.runner(argv) + self.failUnless(os.path.exists(c1)) + self.failUnless(os.path.exists(os.path.join(c1, "introducer.tac"))) +