Mercurial > hgsubversion
comparison tests/comprehensive/test_verify.py @ 499:1fd3cfa47c5e
Support for single-directory clones.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Fri, 16 Oct 2009 23:33:41 -0400 |
parents | de085126dbd4 |
children | 124cd25de4ef |
comparison
equal
deleted
inserted
replaced
498:990e07054f29 | 499:1fd3cfa47c5e |
---|---|
12 from mercurial import hg | 12 from mercurial import hg |
13 from mercurial import ui | 13 from mercurial import ui |
14 | 14 |
15 from hgsubversion import svncommands | 15 from hgsubversion import svncommands |
16 | 16 |
17 def _do_case(self, name, stupid): | 17 def _do_case(self, name, stupid, layout): |
18 subdir = test_util.subdir.get(name, '') | 18 subdir = test_util.subdir.get(name, '') |
19 repo = self._load_fixture_and_fetch(name, subdir=subdir, stupid=stupid) | 19 repo = self._load_fixture_and_fetch(name, subdir=subdir, stupid=stupid, layout=layout) |
20 assert len(self.repo) > 0 | 20 assert len(self.repo) > 0 |
21 for i in repo: | 21 for i in repo: |
22 ctx = repo[i] | 22 ctx = repo[i] |
23 self.assertEqual(svncommands.verify(repo.ui, repo, rev=ctx.node()), 0) | 23 self.assertEqual(svncommands.verify(repo.ui, repo, rev=ctx.node()), 0) |
24 | 24 |
25 def buildmethod(case, name, stupid): | 25 def buildmethod(case, name, stupid, layout): |
26 m = lambda self: self._do_case(case, stupid) | 26 m = lambda self: self._do_case(case, stupid, layout) |
27 m.__name__ = name | 27 m.__name__ = name |
28 bits = case, stupid and 'stupid' or 'real' | 28 bits = case, stupid and 'stupid' or 'real', layout |
29 m.__doc__ = 'Test verify on %s with %s replay.' % bits | 29 m.__doc__ = 'Test verify on %s with %s replay. (%s)' % bits |
30 return m | 30 return m |
31 | 31 |
32 attrs = {'_do_case': _do_case} | 32 attrs = {'_do_case': _do_case} |
33 fixtures = [f for f in os.listdir(test_util.FIXTURES) if f.endswith('.svndump')] | 33 fixtures = [f for f in os.listdir(test_util.FIXTURES) if f.endswith('.svndump')] |
34 for case in fixtures: | 34 for case in fixtures: |
35 # this fixture results in an empty repository, don't use it | 35 # this fixture results in an empty repository, don't use it |
36 if case == 'project_root_not_repo_root.svndump': | 36 if case == 'project_root_not_repo_root.svndump': |
37 continue | 37 continue |
38 name = 'test_' + case[:-len('.svndump')] | 38 bname = 'test_' + case[:-len('.svndump')] |
39 attrs[name] = buildmethod(case, name, False) | 39 attrs[bname] = buildmethod(case, bname, False, 'standard') |
40 name += '_stupid' | 40 name = bname + '_stupid' |
41 attrs[name] = buildmethod(case, name, True) | 41 attrs[name] = buildmethod(case, name, True, 'standard') |
42 name = bname + '_single' | |
43 attrs[name] = buildmethod(case, name, False, 'single') | |
44 # Disabled because the "stupid and real are the same" tests | |
45 # verify this plus even more. | |
46 # name = bname + '_single_stupid' | |
47 # attrs[name] = buildmethod(case, name, True, 'single') | |
42 | 48 |
43 VerifyTests = type('VerifyTests', (test_util.TestBase,), attrs) | 49 VerifyTests = type('VerifyTests', (test_util.TestBase,), attrs) |
44 | 50 |
45 def suite(): | 51 def suite(): |
46 all = [unittest.TestLoader().loadTestsFromTestCase(VerifyTests)] | 52 all = [unittest.TestLoader().loadTestsFromTestCase(VerifyTests)] |