Mercurial > hgsubversion
comparison tests/run.py @ 1106:5cb6c95e0283 stable
Merge default and stable so I can do stable releases again.
| author | Augie Fackler <raf@durin42.com> |
|---|---|
| date | Tue, 11 Feb 2014 12:48:49 -0500 |
| parents | 025de18d652b |
| children | 4217a050a088 |
comparison
equal
deleted
inserted
replaced
| 1020:b5b1fce26f1f | 1106:5cb6c95e0283 |
|---|---|
| 1 #!/usr/bin/env python | |
| 2 | |
| 1 import optparse | 3 import optparse |
| 2 import os | 4 import os |
| 3 import sys | 5 import sys |
| 4 import unittest | 6 import unittest |
| 5 | 7 |
| 17 import test_fetch_mappings | 19 import test_fetch_mappings |
| 18 import test_fetch_renames | 20 import test_fetch_renames |
| 19 import test_fetch_symlinks | 21 import test_fetch_symlinks |
| 20 import test_fetch_truncated | 22 import test_fetch_truncated |
| 21 import test_hooks | 23 import test_hooks |
| 24 import test_svn_pre_commit_hooks | |
| 22 import test_pull | 25 import test_pull |
| 23 import test_pull_fallback | 26 import test_pull_fallback |
| 24 import test_push_command | 27 import test_push_command |
| 25 import test_push_renames | 28 import test_push_renames |
| 26 import test_push_dirs | 29 import test_push_dirs |
| 27 import test_push_eol | 30 import test_push_eol |
| 28 import test_push_autoprops | 31 import test_push_autoprops |
| 29 import test_rebuildmeta | |
| 30 import test_single_dir_clone | 32 import test_single_dir_clone |
| 33 import test_single_dir_push | |
| 31 import test_svnwrap | 34 import test_svnwrap |
| 32 import test_tags | 35 import test_tags |
| 33 import test_template_keywords | 36 import test_template_keywords |
| 34 import test_utility_commands | 37 import test_utility_commands |
| 35 import test_unaffected_core | 38 import test_unaffected_core |
| 36 import test_updatemeta | |
| 37 import test_urls | 39 import test_urls |
| 38 | 40 |
| 39 sys.path.append(os.path.dirname(__file__)) | 41 sys.path.append(os.path.dirname(__file__)) |
| 40 sys.path.append(os.path.join(os.path.dirname(__file__), 'comprehensive')) | 42 sys.path.append(os.path.join(os.path.dirname(__file__), 'comprehensive')) |
| 41 | 43 |
| 44 import test_rebuildmeta | |
| 42 import test_stupid_pull | 45 import test_stupid_pull |
| 46 import test_updatemeta | |
| 43 import test_verify_and_startrev | 47 import test_verify_and_startrev |
| 44 | 48 |
| 45 return locals() | 49 return locals() |
| 46 | 50 |
| 47 def comprehensive(mod): | 51 def comprehensive(mod): |
| 98 | 102 |
| 99 all_tests = tests() | 103 all_tests = tests() |
| 100 | 104 |
| 101 args = [i.split('.py')[0].replace('-', '_') for i in args] | 105 args = [i.split('.py')[0].replace('-', '_') for i in args] |
| 102 | 106 |
| 107 loader = unittest.TestLoader() | |
| 108 suite = unittest.TestSuite() | |
| 109 | |
| 103 if not args: | 110 if not args: |
| 104 check = lambda x: options.comprehensive or not comprehensive(x) | 111 check = lambda x: options.comprehensive or not comprehensive(x) |
| 105 mods = [m for (n, m) in sorted(all_tests.iteritems()) if check(m)] | 112 suite.addTests(loader.loadTestsFromModule(m) |
| 106 suite = [m.suite() for m in mods] | 113 for (n, m) in sorted(all_tests.iteritems()) |
| 114 if check(m)) | |
| 107 else: | 115 else: |
| 108 suite = [] | |
| 109 for arg in args: | 116 for arg in args: |
| 110 if arg == 'test_util': | 117 if arg == 'test_util': |
| 111 continue | 118 continue |
| 112 elif arg not in all_tests: | 119 elif arg not in all_tests: |
| 113 print >> sys.stderr, 'test module %s not available' % arg | 120 print >> sys.stderr, 'test module %s not available' % arg |
| 114 else: | 121 else: |
| 115 suite.append(all_tests[arg].suite()) | 122 suite.addTest(loader.loadTestsFromModule(all_tests[arg])) |
| 116 | 123 |
| 117 runner = unittest.TextTestRunner(**testargs) | 124 runner = unittest.TextTestRunner(**testargs) |
| 118 result = runner.run(unittest.TestSuite(suite)) | 125 result = runner.run(suite) |
| 119 if not result.wasSuccessful(): | 126 if not result.wasSuccessful(): |
| 120 sys.exit(1) | 127 sys.exit(1) |
