From 491f96258e56319bce8bafd8dcb64ac16eaa9b2f Mon Sep 17 00:00:00 2001 From: Brian Warner <warner@allmydata.com> Date: Thu, 19 Apr 2007 18:56:45 -0700 Subject: [PATCH] test_runner.py: add some coverage for allmydata.scripts.runner, to create nodes --- src/allmydata/scripts/runner.py | 10 +++++++--- src/allmydata/test/test_runner.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 src/allmydata/test/test_runner.py 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"))) + -- 2.45.2