diff options
| author | Robert Collins <robertc@robertcollins.net> | 2010-07-01 21:23:25 +1000 |
|---|---|---|
| committer | Robert Collins <robertc@robertcollins.net> | 2010-07-01 21:23:25 +1000 |
| commit | c8de3044f63cc166e7d72300f0f88f605ec75b2c (patch) | |
| tree | e8532a557a4dad652b301edd74906beaee9a1859 /python | |
| parent | 915ecb84eb440c3bd9c2803590db5b274cf84a8e (diff) | |
| parent | fbcddf14a64b1087528dd45b00647678ac60e7f6 (diff) | |
| download | subunit-git-c8de3044f63cc166e7d72300f0f88f605ec75b2c.tar.gz | |
Merge james_w's discovery patch, tweaked.
Diffstat (limited to 'python')
| -rwxr-xr-x | python/subunit/run.py | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/python/subunit/run.py b/python/subunit/run.py index 01c0b0e..daa241a 100755 --- a/python/subunit/run.py +++ b/python/subunit/run.py @@ -23,6 +23,13 @@ import sys from subunit import TestProtocolClient, get_default_formatter +from testtools.run import ( + BUFFEROUTPUT, + CATCHBREAK, + FAILFAST, + TestProgram, + USAGE_AS_MAIN, + ) class SubunitTestRunner(object): @@ -36,12 +43,30 @@ class SubunitTestRunner(object): return result +class SubunitTestProgram(TestProgram): + + USAGE = USAGE_AS_MAIN + + def usageExit(self, msg=None): + if msg: + print msg + usage = {'progName': self.progName, 'catchbreak': '', 'failfast': '', + 'buffer': ''} + if self.failfast != False: + usage['failfast'] = FAILFAST + if self.catchbreak != False: + usage['catchbreak'] = CATCHBREAK + if self.buffer != False: + usage['buffer'] = BUFFEROUTPUT + usage_text = self.USAGE % usage + usage_lines = usage_text.split('\n') + usage_lines.insert(2, "Run a test suite with a subunit reporter.") + usage_lines.insert(3, "") + print('\n'.join(usage_lines)) + sys.exit(2) + + if __name__ == '__main__': - import optparse - from unittest import TestProgram - parser = optparse.OptionParser(__doc__) - args = parser.parse_args()[1] stream = get_default_formatter() runner = SubunitTestRunner(stream) - program = TestProgram(module=None, argv=[sys.argv[0]] + args, - testRunner=runner) + SubunitTestProgram(module=None, argv=sys.argv, testRunner=runner) |
