blob: 6aec73548ea273a57491d70acb190b57eb6a518c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
"""
Choose test runner class from --runner command line option
and execute test cases.
"""
import unittest
import optparse
import sys
def get_runner():
parser = optparse.OptionParser()
parser.add_option('--runner', default='unittest.TextTestRunner',
help='name of test runner class to use')
opts, args = parser.parse_args()
fromsplit = opts.runner.rsplit('.', 1)
if len(fromsplit) < 2:
raise ValueError('Can\'t use module as a runner')
else:
runnermod = __import__(fromsplit[0])
return getattr(runnermod, fromsplit[1])
def run(suite=None):
runner = get_runner()
if suite:
if not runner().run(suite).wasSuccessful():
sys.exit(1)
else:
unittest.main(argv=sys.argv[:1], testRunner=runner)
if __name__ == '__main__':
run()
|