Mercurial > hgsubversion
comparison tests/run.py @ 1043:69a9fb45cad5
tests: consolidate all test-loading into the test runner
author | Dan Villiom Podlaski Christiansen <dan@cabo.dk> |
---|---|
date | Wed, 07 Aug 2013 16:16:49 +0200 |
parents | af84ef787d93 |
children | 3092b3c109a8 |
comparison
equal
deleted
inserted
replaced
1042:af84ef787d93 | 1043:69a9fb45cad5 |
---|---|
99 | 99 |
100 all_tests = tests() | 100 all_tests = tests() |
101 | 101 |
102 args = [i.split('.py')[0].replace('-', '_') for i in args] | 102 args = [i.split('.py')[0].replace('-', '_') for i in args] |
103 | 103 |
104 loader = unittest.TestLoader() | |
105 suite = unittest.TestSuite() | |
106 | |
104 if not args: | 107 if not args: |
105 check = lambda x: options.comprehensive or not comprehensive(x) | 108 check = lambda x: options.comprehensive or not comprehensive(x) |
106 mods = [m for (n, m) in sorted(all_tests.iteritems()) if check(m)] | 109 suite.addTests(loader.loadTestsFromModule(m) |
107 suite = [m.suite() for m in mods] | 110 for (n, m) in sorted(all_tests.iteritems()) |
111 if check(m)) | |
108 else: | 112 else: |
109 suite = [] | |
110 for arg in args: | 113 for arg in args: |
111 if arg == 'test_util': | 114 if arg == 'test_util': |
112 continue | 115 continue |
113 elif arg not in all_tests: | 116 elif arg not in all_tests: |
114 print >> sys.stderr, 'test module %s not available' % arg | 117 print >> sys.stderr, 'test module %s not available' % arg |
115 else: | 118 else: |
116 suite.append(all_tests[arg].suite()) | 119 suite.addTest(loader.loadTestsFromModule(all_tests[arg])) |
117 | 120 |
118 runner = unittest.TextTestRunner(**testargs) | 121 runner = unittest.TextTestRunner(**testargs) |
119 result = runner.run(unittest.TestSuite(suite)) | 122 result = runner.run(suite) |
120 if not result.wasSuccessful(): | 123 if not result.wasSuccessful(): |
121 sys.exit(1) | 124 sys.exit(1) |