test_utility_commands: test verify command

Also, make verify output more stable.
This commit is contained in:
Patrick Mezard 2012-04-21 11:36:23 +02:00
parent 1be86deaeb
commit 2cb05fac47
4 changed files with 21 additions and 1 deletions

View File

@ -74,7 +74,7 @@ def verify(ui, repo, args=None, **opts):
hgfiles = set(ctx) - util.ignoredfiles
if hgfiles != svnfiles:
missing = set(hgfiles).symmetric_difference(svnfiles)
ui.write('missing files: %s\n' % (', '.join(missing)))
ui.write('missing files: %s\n' % (', '.join(sorted(missing))))
result = 1
return result

Binary file not shown.

View File

@ -36,6 +36,7 @@ def buildmethod(case, name, subdir, stupid):
# these fixtures contain no files at HEAD and would result in empty clones
nofiles = set([
'binaryfiles.svndump',
'binaryfiles-broken.svndump',
'emptyrepo.svndump',
])

View File

@ -2,6 +2,7 @@ import test_util
import os
import unittest
import re
from hgext import rebase
from mercurial import hg
@ -244,6 +245,24 @@ class UtilityTests(test_util.TestBase):
authors=author_path)
self.assertMultiLineEqual(open(author_path).read(), 'Augie=\nevil=\n')
def test_svnverify(self):
repo, repo_path = self.load_and_fetch('binaryfiles.svndump',
noupdate=False)
ret = svncommands.verify(self.ui(), repo, [], rev=1)
self.assertEqual(0, ret)
repo_path = self.load_svndump('binaryfiles-broken.svndump')
u = self.ui()
u.pushbuffer()
ret = svncommands.verify(u, repo, [test_util.fileurl(repo_path)],
rev=1)
output = u.popbuffer()
self.assertEqual(1, ret)
output = re.sub(r'file://\S+', 'file://', output)
self.assertEqual("""\
verifying d51f46a715a1 against file://
difference in file binary2
missing files: binary1, binary3
""", output)
def suite():
all_tests = [unittest.TestLoader().loadTestsFromTestCase(UtilityTests),