Mercurial > hgsubversion
view tests/test_fetch_mappings.py @ 633:37b2adc64fb3
editor: convert two assertions in apply_textdelta() into raising an IOError
I noticed these in the traceback filed as issue2261 in the Mercurial
bug tracker. We should always fail in cases where the Subversion
server gives us invalid data, so using assertions is wrong.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Thu, 08 Jul 2010 21:46:54 +0200 |
parents | d96aa92d9ad9 |
children | a400f3bf5611 |
line wrap: on
line source
"""Tests for author maps and file maps. """ import os import unittest from mercurial import commands from mercurial import node import test_util from hgsubversion import maps class MapTests(test_util.TestBase): @property def authors(self): return os.path.join(self.tmpdir, 'authormap') @property def filemap(self): return os.path.join(self.tmpdir, 'filemap') @property def branchmap(self): return os.path.join(self.tmpdir, 'branchmap') def test_author_map(self, stupid=False): test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump') authormap = open(self.authors, 'w') authormap.write('Augie=Augie Fackler <durin42@gmail.com> # stuffy\n') authormap.write("Augie Fackler <durin42@gmail.com>\n") authormap.close() ui = self.ui(stupid) ui.setconfig('hgsubversion', 'authormap', self.authors) commands.clone(ui, test_util.fileurl(self.repo_path), self.wc_path, authors=self.authors) self.assertEqual(self.repo[0].user(), 'Augie Fackler <durin42@gmail.com>') self.assertEqual(self.repo['tip'].user(), 'evil@5b65bade-98f3-4993-a01f-b7a6710da339') def test_author_map_stupid(self): self.test_author_map(True) def test_author_map_closing_author(self, stupid=False): test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump') authormap = open(self.authors, 'w') authormap.write("evil=Testy <test@test>") authormap.close() ui = self.ui(stupid) ui.setconfig('hgsubversion', 'authormap', self.authors) commands.clone(ui, test_util.fileurl(self.repo_path), self.wc_path, authors=self.authors) self.assertEqual(self.repo[0].user(), 'Augie@5b65bade-98f3-4993-a01f-b7a6710da339') self.assertEqual(self.repo['tip'].user(), 'Testy <test@test>') def test_author_map_closing_author_stupid(self): self.test_author_map_closing_author(True) def test_author_map_no_overwrite(self): cwd = os.path.dirname(__file__) orig = os.path.join(cwd, 'fixtures', 'author-map-test.txt') new = open(self.authors, 'w') new.write(open(orig).read()) new.close() test = maps.AuthorMap(self.ui(), self.authors) fromself = set(test) test.load(orig) all = set(test) self.assertEqual(fromself.symmetric_difference(all), set()) def test_file_map(self, stupid=False): test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump') filemap = open(self.filemap, 'w') filemap.write("include alpha\n") filemap.close() ui = self.ui(stupid) ui.setconfig('hgsubversion', 'filemap', self.filemap) commands.clone(ui, test_util.fileurl(self.repo_path), self.wc_path, filemap=self.filemap) self.assertEqual(node.hex(self.repo[0].node()), '88e2c7492d83e4bf30fbb2dcbf6aa24d60ac688d') self.assertEqual(node.hex(self.repo['default'].node()), 'e524296152246b3837fe9503c83b727075835155') def test_file_map_stupid(self): self.test_file_map(True) def test_file_map_exclude(self, stupid=False): test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump') filemap = open(self.filemap, 'w') filemap.write("exclude alpha\n") filemap.close() ui = self.ui(stupid) ui.setconfig('hgsubversion', 'filemap', self.filemap) commands.clone(ui, test_util.fileurl(self.repo_path), self.wc_path, filemap=self.filemap) self.assertEqual(node.hex(self.repo[0].node()), '2c48f3525926ab6c8b8424bcf5eb34b149b61841') self.assertEqual(node.hex(self.repo['default'].node()), 'b37a3c0297b71f989064d9b545b5a478bbed7cc1') def test_file_map_exclude_stupid(self): self.test_file_map_exclude(True) def test_branchmap(self, stupid=False): test_util.load_svndump_fixture(self.repo_path, 'branchmap.svndump') branchmap = open(self.branchmap, 'w') branchmap.write("badname = good-name # stuffy\n") branchmap.write("feature = default\n") branchmap.close() ui = self.ui(stupid) ui.setconfig('hgsubversion', 'branchmap', self.branchmap) commands.clone(ui, test_util.fileurl(self.repo_path), self.wc_path, branchmap=self.branchmap) branches = set(self.repo[i].branch() for i in self.repo) self.assert_('badname' not in branches) self.assert_('good-name' in branches) self.assertEquals(self.repo[2].branch(), 'default') def test_branchmap_stupid(self): self.test_branchmap(True) def suite(): return unittest.TestLoader().loadTestsFromTestCase(MapTests)