Mercurial > hgsubversion
comparison tests/comprehensive/test_updatemeta.py @ 1057:cd256960b622
comprehensive tests: consolidate stupidity into test_util
In other words, remove explicit 'stupid' arguments, set the
'stupid_mode_tests' class variable, and have the metaclass generate
non-replay tests.
| author | Dan Villiom Podlaski Christiansen <dan@cabo.dk> |
|---|---|
| date | Wed, 07 Aug 2013 23:31:57 +0200 |
| parents | 903c9c9dfe6a |
| children | 48379ebd2763 |
comparison
equal
deleted
inserted
replaced
| 1056:0932bb4d8870 | 1057:cd256960b622 |
|---|---|
| 20 from hgsubversion import svncommands | 20 from hgsubversion import svncommands |
| 21 from hgsubversion import svnmeta | 21 from hgsubversion import svnmeta |
| 22 | 22 |
| 23 | 23 |
| 24 | 24 |
| 25 def _do_case(self, name, stupid, single): | 25 def _do_case(self, name, single): |
| 26 subdir = test_util.subdir.get(name, '') | 26 subdir = test_util.subdir.get(name, '') |
| 27 layout = 'auto' | 27 layout = 'auto' |
| 28 if single: | 28 if single: |
| 29 layout = 'single' | 29 layout = 'single' |
| 30 repo, repo_path = self.load_and_fetch(name, subdir=subdir, stupid=stupid, | 30 repo, repo_path = self.load_and_fetch(name, subdir=subdir, layout=layout) |
| 31 layout=layout) | |
| 32 assert test_util.repolen(self.repo) > 0 | 31 assert test_util.repolen(self.repo) > 0 |
| 33 wc2_path = self.wc_path + '_clone' | 32 wc2_path = self.wc_path + '_clone' |
| 34 u = ui.ui() | 33 u = ui.ui() |
| 35 src, dest = test_util.hgclone(u, self.wc_path, wc2_path, update=False) | 34 src, dest = test_util.hgclone(u, self.wc_path, wc2_path, update=False) |
| 36 src = test_util.getlocalpeer(src) | 35 src = test_util.getlocalpeer(src) |
| 51 subdir), ]) | 50 subdir), ]) |
| 52 finally: | 51 finally: |
| 53 # remove the wrapper | 52 # remove the wrapper |
| 54 context.changectx.children = origchildren | 53 context.changectx.children = origchildren |
| 55 | 54 |
| 56 self._run_assertions(name, stupid, single, src, dest, u) | 55 self._run_assertions(name, single, src, dest, u) |
| 57 | 56 |
| 58 | 57 |
| 59 def _run_assertions(self, name, stupid, single, src, dest, u): | 58 def _run_assertions(self, name, single, src, dest, u): |
| 60 test_rebuildmeta._run_assertions(self, name, stupid, single, src, dest, u) | 59 test_rebuildmeta._run_assertions(self, name, single, src, dest, u) |
| 61 | 60 |
| 62 | 61 |
| 63 skip = set([ | 62 skip = set([ |
| 64 'project_root_not_repo_root.svndump', | 63 'project_root_not_repo_root.svndump', |
| 65 'corrupt.svndump', | 64 'corrupt.svndump', |
| 66 ]) | 65 ]) |
| 67 | 66 |
| 68 attrs = {'_do_case': _do_case, | 67 attrs = {'_do_case': _do_case, |
| 69 '_run_assertions': _run_assertions, | 68 '_run_assertions': _run_assertions, |
| 69 'stupid_mode_tests': True, | |
| 70 } | 70 } |
| 71 for case in [f for f in os.listdir(test_util.FIXTURES) if f.endswith('.svndump')]: | 71 for case in [f for f in os.listdir(test_util.FIXTURES) if f.endswith('.svndump')]: |
| 72 # this fixture results in an empty repository, don't use it | 72 # this fixture results in an empty repository, don't use it |
| 73 if case in skip: | 73 if case in skip: |
| 74 continue | 74 continue |
| 75 bname = 'test_' + case[:-len('.svndump')] | 75 bname = 'test_' + case[:-len('.svndump')] |
| 76 attrs[bname] = test_rebuildmeta.buildmethod(case, bname, False, False) | 76 attrs[bname] = test_rebuildmeta.buildmethod(case, bname, False) |
| 77 name = bname + '_stupid' | |
| 78 attrs[name] = test_rebuildmeta.buildmethod(case, name, True, False) | |
| 79 name = bname + '_single' | 77 name = bname + '_single' |
| 80 attrs[name] = test_rebuildmeta.buildmethod(case, name, False, True) | 78 attrs[name] = test_rebuildmeta.buildmethod(case, name, True) |
| 81 | 79 |
| 82 UpdateMetaTests = type('UpdateMetaTests', (test_util.TestBase,), attrs) | 80 UpdateMetaTests = type('UpdateMetaTests', (test_util.TestBase,), attrs) |
