Mercurial > hgsubversion
comparison tests/test_util.py @ 1048:903c9c9dfe6a
tests: count revisions explicitly
The assumption that len(repo) corresponds to the count of actual,
usable revision in the repository fails in presence of hidden
revisions. Instead, we use a dedicated method in test_util, and change
all tests to use this for obtaining repository length -- just to be
safe...
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Fri, 09 Aug 2013 11:22:50 -0400 |
parents | 70090e2ee262 |
children | 608e7c8740af |
comparison
equal
deleted
inserted
replaced
1047:3092b3c109a8 | 1048:903c9c9dfe6a |
---|---|
108 def getlocalpeer(repo): | 108 def getlocalpeer(repo): |
109 localrepo = getattr(repo, 'local', lambda: repo)() | 109 localrepo = getattr(repo, 'local', lambda: repo)() |
110 if isinstance(localrepo, bool): | 110 if isinstance(localrepo, bool): |
111 localrepo = repo | 111 localrepo = repo |
112 return localrepo | 112 return localrepo |
113 | |
114 def repolen(repo): | |
115 """Naively calculate the amount of available revisions in a repository. | |
116 | |
117 this is usually equal to len(repo) -- except in the face of | |
118 obsolete revisions. | |
119 """ | |
120 # kind of nasty way of calculating the length, but fortunately, | |
121 # our test repositories tend to be rather small | |
122 return len([r for r in repo]) | |
113 | 123 |
114 def _makeskip(name, message): | 124 def _makeskip(name, message): |
115 if SkipTest: | 125 if SkipTest: |
116 def skip(*args, **kwargs): | 126 def skip(*args, **kwargs): |
117 raise SkipTest(message) | 127 raise SkipTest(message) |
415 @property | 425 @property |
416 def repo(self): | 426 def repo(self): |
417 return hg.repository(testui(), self.wc_path) | 427 return hg.repository(testui(), self.wc_path) |
418 | 428 |
419 def pushrevisions(self, stupid=False, expected_extra_back=0): | 429 def pushrevisions(self, stupid=False, expected_extra_back=0): |
420 before = len(self.repo) | 430 before = repolen(self.repo) |
421 self.repo.ui.setconfig('hgsubversion', 'stupid', str(stupid)) | 431 self.repo.ui.setconfig('hgsubversion', 'stupid', str(stupid)) |
422 res = commands.push(self.repo.ui, self.repo) | 432 res = commands.push(self.repo.ui, self.repo) |
423 after = len(self.repo) | 433 after = repolen(self.repo) |
424 self.assertEqual(expected_extra_back, after - before) | 434 self.assertEqual(expected_extra_back, after - before) |
425 return res | 435 return res |
426 | 436 |
427 def svnco(self, repo_path, svnpath, rev, path): | 437 def svnco(self, repo_path, svnpath, rev, path): |
428 path = os.path.join(self.wc_path, path) | 438 path = os.path.join(self.wc_path, path) |