diff options
author | Qijiang Fan <fqj1994@gmail.com> | 2012-06-08 17:42:38 +0800 |
---|---|---|
committer | Qijiang Fan <fqj1994@gmail.com> | 2012-06-08 17:42:38 +0800 |
commit | 41ab46d551a1287a4dfb60d04e132af468923d95 (patch) | |
tree | e3523593e894b9ae7dffb9e57856b5909096737c /tests/test_fetch_mappings.py | |
parent | 4d96cae645ca33d56b4a4961f2b59bef82773b58 (diff) |
Upstream version 1.4
Diffstat (limited to 'tests/test_fetch_mappings.py')
-rw-r--r-- | tests/test_fetch_mappings.py | 84 |
1 files changed, 51 insertions, 33 deletions
diff --git a/tests/test_fetch_mappings.py b/tests/test_fetch_mappings.py index 83149ef..02727f6 100644 --- a/tests/test_fetch_mappings.py +++ b/tests/test_fetch_mappings.py @@ -32,14 +32,14 @@ class MapTests(test_util.TestBase): return os.path.join(self.tmpdir, 'tagmap') def test_author_map(self, stupid=False): - test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump') + repo_path = self.load_svndump('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), + commands.clone(ui, test_util.fileurl(repo_path), self.wc_path, authors=self.authors) self.assertEqual(self.repo[0].user(), 'Augie Fackler <durin42@gmail.com>') @@ -50,13 +50,13 @@ class MapTests(test_util.TestBase): 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') + repo_path = self.load_svndump('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), + commands.clone(ui, test_util.fileurl(repo_path), self.wc_path, authors=self.authors) self.assertEqual(self.repo[0].user(), 'Augie@5b65bade-98f3-4993-a01f-b7a6710da339') @@ -67,7 +67,8 @@ class MapTests(test_util.TestBase): self.test_author_map_closing_author(True) def test_author_map_no_author(self, stupid=False): - self._load_fixture_and_fetch('no-author.svndump', stupid=stupid) + repo, repo_path = self.load_and_fetch('no-author.svndump', + stupid=stupid) users = set(self.repo[r].user() for r in self.repo) expected_users = ['(no author)@%s' % self.repo.svnmeta().uuid] self.assertEqual(sorted(users), expected_users) @@ -78,7 +79,7 @@ class MapTests(test_util.TestBase): authormap.close() ui = self.ui(stupid) ui.setconfig('hgsubversion', 'authormap', self.authors) - commands.clone(ui, test_util.fileurl(self.repo_path), + commands.clone(ui, test_util.fileurl(repo_path), self.wc_path, authors=self.authors) users = set(self.repo[r].user() for r in self.repo) expected_users = ['Testy <test@example.com>'] @@ -100,13 +101,13 @@ class MapTests(test_util.TestBase): self.assertEqual(fromself.symmetric_difference(all_tests), set()) def test_file_map(self, stupid=False): - test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump') + repo_path = self.load_svndump('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), + commands.clone(ui, test_util.fileurl(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') @@ -116,13 +117,13 @@ class MapTests(test_util.TestBase): self.assertRaises(hgutil.Abort, 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') + repo_path = self.load_svndump('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), + commands.clone(ui, test_util.fileurl(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') @@ -131,15 +132,34 @@ class MapTests(test_util.TestBase): # TODO: re-enable test if we ever reinstate this feature self.assertRaises(hgutil.Abort, self.test_file_map_exclude, True) + def test_file_map_rule_order(self): + repo_path = self.load_svndump('replace_trunk_with_branch.svndump') + filemap = open(self.filemap, 'w') + filemap.write("exclude alpha\n") + filemap.write("include .\n") + filemap.write("exclude gamma\n") + filemap.close() + ui = self.ui(False) + ui.setconfig('hgsubversion', 'filemap', self.filemap) + commands.clone(ui, test_util.fileurl(repo_path), + self.wc_path, filemap=self.filemap) + # The exclusion of alpha is overridden by the later rule to + # include all of '.', whereas gamma should remain excluded + # because it's excluded after the root directory. + self.assertEqual(self.repo[0].manifest().keys(), + ['alpha', 'beta']) + self.assertEqual(self.repo['default'].manifest().keys(), + ['alpha', 'beta']) + def test_branchmap(self, stupid=False): - test_util.load_svndump_fixture(self.repo_path, 'branchmap.svndump') + repo_path = self.load_svndump('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), + commands.clone(ui, test_util.fileurl(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) @@ -151,13 +171,13 @@ class MapTests(test_util.TestBase): def test_branchmap_tagging(self, stupid=False): '''test tagging a renamed branch, which used to raise an exception''' - test_util.load_svndump_fixture(self.repo_path, 'commit-to-tag.svndump') + repo_path = self.load_svndump('commit-to-tag.svndump') branchmap = open(self.branchmap, 'w') branchmap.write("magic = art\n") branchmap.close() ui = self.ui(stupid) ui.setconfig('hgsubversion', 'branchmap', self.branchmap) - commands.clone(ui, test_util.fileurl(self.repo_path), + commands.clone(ui, test_util.fileurl(repo_path), self.wc_path, branchmap=self.branchmap) branches = set(self.repo[i].branch() for i in self.repo) self.assertEquals(sorted(branches), ['art', 'closeme']) @@ -167,13 +187,13 @@ class MapTests(test_util.TestBase): def test_branchmap_empty_commit(self, stupid=False): '''test mapping an empty commit on a renamed branch''' - test_util.load_svndump_fixture(self.repo_path, 'propset-branch.svndump') + repo_path = self.load_svndump('propset-branch.svndump') branchmap = open(self.branchmap, 'w') branchmap.write("the-branch = bob\n") branchmap.close() ui = self.ui(stupid) ui.setconfig('hgsubversion', 'branchmap', self.branchmap) - commands.clone(ui, test_util.fileurl(self.repo_path), + commands.clone(ui, test_util.fileurl(repo_path), self.wc_path, branchmap=self.branchmap) branches = set(self.repo[i].branch() for i in self.repo) self.assertEquals(sorted(branches), ['bob', 'default']) @@ -184,14 +204,14 @@ class MapTests(test_util.TestBase): def test_branchmap_combine(self, stupid=False): '''test combining two branches, but retaining heads''' - test_util.load_svndump_fixture(self.repo_path, 'branchmap.svndump') + repo_path = self.load_svndump('branchmap.svndump') branchmap = open(self.branchmap, 'w') branchmap.write("badname = default\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), + commands.clone(ui, test_util.fileurl(repo_path), self.wc_path, branchmap=self.branchmap) branches = set(self.repo[i].branch() for i in self.repo) self.assertEquals(sorted(branches), ['default']) @@ -209,14 +229,14 @@ class MapTests(test_util.TestBase): def test_branchmap_rebuildmeta(self, stupid=False): '''test rebuildmeta on a branchmapped clone''' - test_util.load_svndump_fixture(self.repo_path, 'branchmap.svndump') + repo_path = self.load_svndump('branchmap.svndump') branchmap = open(self.branchmap, 'w') branchmap.write("badname = dit\n") branchmap.write("feature = dah\n") branchmap.close() ui = self.ui(stupid) ui.setconfig('hgsubversion', 'branchmap', self.branchmap) - commands.clone(ui, test_util.fileurl(self.repo_path), + commands.clone(ui, test_util.fileurl(repo_path), self.wc_path, branchmap=self.branchmap) originfo = self.repo.svnmeta().branches @@ -225,7 +245,7 @@ class MapTests(test_util.TestBase): src, dest = test_util.hgclone(ui, self.wc_path, self.wc_path + '_clone', update=False) svncommands.rebuildmeta(ui, dest, - args=[test_util.fileurl(self.repo_path)]) + args=[test_util.fileurl(repo_path)]) # just check the keys; assume the contents are unaffected by the branch # map and thus properly tested by other tests @@ -238,14 +258,14 @@ class MapTests(test_util.TestBase): def test_branchmap_verify(self, stupid=False): '''test verify on a branchmapped clone''' - test_util.load_svndump_fixture(self.repo_path, 'branchmap.svndump') + repo_path = self.load_svndump('branchmap.svndump') branchmap = open(self.branchmap, 'w') branchmap.write("badname = dit\n") branchmap.write("feature = dah\n") branchmap.close() ui = self.ui(stupid) ui.setconfig('hgsubversion', 'branchmap', self.branchmap) - commands.clone(ui, test_util.fileurl(self.repo_path), + commands.clone(ui, test_util.fileurl(repo_path), self.wc_path, branchmap=self.branchmap) repo = self.repo @@ -264,7 +284,7 @@ class MapTests(test_util.TestBase): is to not convert the 'this' branches. Until we can do that, we settle with aborting. ''' - test_util.load_svndump_fixture(self.repo_path, 'propset-branch.svndump') + repo_path = self.load_svndump('propset-branch.svndump') branchmap = open(self.branchmap, 'w') branchmap.write("closeme =\n") branchmap.close() @@ -272,8 +292,7 @@ class MapTests(test_util.TestBase): maps.BranchMap, self.ui(), self.branchmap) def test_tagmap(self, stupid=False): - test_util.load_svndump_fixture(self.repo_path, - 'basic_tag_tests.svndump') + repo_path = self.load_svndump('basic_tag_tests.svndump') tagmap = open(self.tagmap, 'w') tagmap.write("tag_r3 = 3.x # stuffy\n") tagmap.write("copied_tag = \n") @@ -281,7 +300,7 @@ class MapTests(test_util.TestBase): ui = self.ui(stupid) ui.setconfig('hgsubversion', 'tagmap', self.tagmap) - commands.clone(ui, test_util.fileurl(self.repo_path), + commands.clone(ui, test_util.fileurl(repo_path), self.wc_path, tagmap=self.tagmap) tags = self.repo.tags() assert 'tag_r3' not in tags @@ -292,8 +311,7 @@ class MapTests(test_util.TestBase): self.test_tagmap(True) def test_tagren_changed(self, stupid=False): - test_util.load_svndump_fixture(self.repo_path, - 'commit-to-tag.svndump') + repo_path = self.load_svndump('commit-to-tag.svndump') tagmap = open(self.tagmap, 'w') tagmap.write("edit-at-create = edit-past\n") tagmap.write("also-edit = \n") @@ -302,7 +320,7 @@ class MapTests(test_util.TestBase): ui = self.ui(stupid) ui.setconfig('hgsubversion', 'tagmap', self.tagmap) - commands.clone(ui, test_util.fileurl(self.repo_path), + commands.clone(ui, test_util.fileurl(repo_path), self.wc_path, tagmap=self.tagmap) tags = self.repo.tags() @@ -310,8 +328,8 @@ class MapTests(test_util.TestBase): self.test_tagren_changed(True) def test_empty_log_message(self, stupid=False): - repo = self._load_fixture_and_fetch('empty-log-message.svndump', - stupid=stupid) + repo, repo_path = self.load_and_fetch('empty-log-message.svndump', + stupid=stupid) self.assertEqual(repo['tip'].description(), '') @@ -319,7 +337,7 @@ class MapTests(test_util.TestBase): ui = self.ui(stupid) ui.setconfig('hgsubversion', 'defaultmessage', 'blyf') - commands.clone(ui, test_util.fileurl(self.repo_path), self.wc_path) + commands.clone(ui, test_util.fileurl(repo_path), self.wc_path) self.assertEqual(self.repo['tip'].description(), 'blyf') |