Mercurial > hgsubversion
comparison tests/comprehensive/test_verify_and_startrev.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 | cd0d14e25757 |
comparison
equal
deleted
inserted
replaced
1056:0932bb4d8870 | 1057:cd256960b622 |
---|---|
35 'correct.svndump', | 35 'correct.svndump', |
36 'corrupt.svndump', | 36 'corrupt.svndump', |
37 'emptyrepo2.svndump', | 37 'emptyrepo2.svndump', |
38 ]) | 38 ]) |
39 | 39 |
40 def _do_case(self, name, stupid, layout): | 40 def _do_case(self, name, layout): |
41 subdir = test_util.subdir.get(name, '') | 41 subdir = test_util.subdir.get(name, '') |
42 repo, svnpath = self.load_and_fetch(name, subdir=subdir, stupid=stupid, | 42 repo, svnpath = self.load_and_fetch(name, subdir=subdir, layout=layout) |
43 layout=layout) | |
44 assert test_util.repolen(self.repo) > 0 | 43 assert test_util.repolen(self.repo) > 0 |
45 for i in repo: | 44 for i in repo: |
46 ctx = repo[i] | 45 ctx = repo[i] |
47 self.assertEqual(verify.verify(repo.ui, repo, rev=ctx.node(), | 46 self.assertEqual(verify.verify(repo.ui, repo, rev=ctx.node(), |
48 stupid=True), 0) | 47 stupid=True), 0) |
50 stupid=False), 0) | 49 stupid=False), 0) |
51 | 50 |
52 # check a startrev clone | 51 # check a startrev clone |
53 if layout == 'single' and name not in _skipshallow: | 52 if layout == 'single' and name not in _skipshallow: |
54 self.wc_path += '_shallow' | 53 self.wc_path += '_shallow' |
55 shallowrepo = self.fetch(svnpath, subdir=subdir, stupid=stupid, | 54 shallowrepo = self.fetch(svnpath, subdir=subdir, |
56 layout='single', startrev='HEAD') | 55 layout='single', startrev='HEAD') |
57 | 56 |
58 self.assertEqual(test_util.repolen(shallowrepo), 1, | 57 self.assertEqual(test_util.repolen(shallowrepo), 1, |
59 "shallow clone should have just one revision, not %d" | 58 "shallow clone should have just one revision, not %d" |
60 % test_util.repolen(shallowrepo)) | 59 % test_util.repolen(shallowrepo)) |
83 | 82 |
84 for f in fulltip: | 83 for f in fulltip: |
85 self.assertMultiLineEqual(fulltip[f].data(), shallowtip[f].data()) | 84 self.assertMultiLineEqual(fulltip[f].data(), shallowtip[f].data()) |
86 | 85 |
87 | 86 |
88 def buildmethod(case, name, stupid, layout): | 87 def buildmethod(case, name, layout): |
89 m = lambda self: self._do_case(case, stupid, layout) | 88 m = lambda self: self._do_case(case, layout) |
90 m.__name__ = name | 89 m.__name__ = name |
91 bits = case, stupid and 'stupid' or 'real', layout | 90 m.__doc__ = 'Test verify on %s (%s)' % (case, layout) |
92 m.__doc__ = 'Test verify on %s with %s replay. (%s)' % bits | |
93 return m | 91 return m |
94 | 92 |
95 attrs = {'_do_case': _do_case} | 93 attrs = {'_do_case': _do_case, 'stupid_mode_tests': True} |
96 fixtures = [f for f in os.listdir(test_util.FIXTURES) if f.endswith('.svndump')] | 94 fixtures = [f for f in os.listdir(test_util.FIXTURES) if f.endswith('.svndump')] |
97 for case in fixtures: | 95 for case in fixtures: |
98 if case in _skipall: | 96 if case in _skipall: |
99 continue | 97 continue |
100 bname = 'test_' + case[:-len('.svndump')] | 98 bname = 'test_' + case[:-len('.svndump')] |
101 if case not in _skipstandard: | 99 if case not in _skipstandard: |
102 attrs[bname] = buildmethod(case, bname, False, 'standard') | 100 attrs[bname] = buildmethod(case, bname, 'standard') |
103 name = bname + '_stupid' | |
104 attrs[name] = buildmethod(case, name, True, 'standard') | |
105 name = bname + '_single' | 101 name = bname + '_single' |
106 attrs[name] = buildmethod(case, name, False, 'single') | 102 attrs[name] = buildmethod(case, name, 'single') |
107 name = bname + '_single_stupid' | |
108 attrs[name] = buildmethod(case, name, True, 'single') | |
109 | 103 |
110 VerifyTests = type('VerifyTests', (test_util.TestBase,), attrs) | 104 VerifyTests = type('VerifyTests', (test_util.TestBase,), attrs) |