Mercurial > hgsubversion
comparison tests/run.py @ 357:d19843ac13c9
Allow passing in module arguments to the test runs.
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Thu, 28 May 2009 08:48:57 +0200 |
parents | 537de0300510 |
children | e857e5cfc10f |
comparison
equal
deleted
inserted
replaced
356:62f90781eb10 | 357:d19843ac13c9 |
---|---|
23 import test_svnwrap | 23 import test_svnwrap |
24 import test_tags | 24 import test_tags |
25 import test_utility_commands | 25 import test_utility_commands |
26 import test_urls | 26 import test_urls |
27 | 27 |
28 def suite(): | 28 if __name__ == '__main__': |
29 return unittest.TestSuite([test_binaryfiles.suite(), | |
30 test_diff.suite(), | |
31 test_externals.suite(), | |
32 test_fetch_branches.suite(), | |
33 test_fetch_command.suite(), | |
34 test_fetch_command_regexes.suite(), | |
35 test_fetch_exec.suite(), | |
36 test_fetch_mappings.suite(), | |
37 test_fetch_renames.suite(), | |
38 test_fetch_symlinks.suite(), | |
39 test_fetch_truncated.suite(), | |
40 test_pull.suite(), | |
41 test_push_command.suite(), | |
42 test_push_renames.suite(), | |
43 test_push_dirs.suite(), | |
44 test_push_eol.suite(), | |
45 test_rebuildmeta.suite(), | |
46 test_svnwrap.suite(), | |
47 test_tags.suite(), | |
48 test_utility_commands.suite(), | |
49 test_urls.suite(), | |
50 ]) | |
51 | 29 |
52 if __name__ == '__main__': | 30 kwargs = {'descriptions': 2} |
53 kwargs = { 'descriptions': 2 } | |
54 if '-v' in sys.argv: | 31 if '-v' in sys.argv: |
55 kwargs['descriptions'] = 3 | 32 kwargs['descriptions'] = 3 |
56 kwargs['verbosity'] = 2 | 33 kwargs['verbosity'] = 2 |
57 | 34 |
58 # silence output when running outside nose | 35 # silence output when running outside nose |
59 sys.stdout = os.tmpfile() | 36 sys.stdout = os.tmpfile() |
60 | 37 |
38 all = globals() | |
39 all = dict((k, v) for (k, v) in all.iteritems() if k.startswith('test_')) | |
40 del all['test_util'] | |
41 | |
42 args = [i for i in sys.argv[1:] if i.startswith('test')] | |
43 args = [i.split('.py')[0].replace('-', '_') for i in args] | |
44 | |
45 if not args: | |
46 suite = [i[1].suite() for i in sorted(all.iteritems())] | |
47 else: | |
48 suite = [] | |
49 for arg in args: | |
50 if arg not in all: | |
51 print 'test module %s not available' % arg | |
52 else: | |
53 suite.append(all[arg].suite()) | |
54 | |
61 runner = unittest.TextTestRunner(**kwargs) | 55 runner = unittest.TextTestRunner(**kwargs) |
62 runner.run(suite()) | 56 runner.run(unittest.TestSuite(suite)) |