Mercurial > hgsubversion
comparison tests/test_fetch_command.py @ 1570:d55c9d0ba350
tests: use scmutils.revsymbol instead of repo.__getitem__ for non-integers
| author | Paul Morelle <paul.morelle@octobus.net> |
|---|---|
| date | Fri, 25 May 2018 11:52:03 +0200 |
| parents | 86ae03f889a4 |
| children | 68965b2e3401 |
comparison
equal
deleted
inserted
replaced
| 1569:4afe8d7e4602 | 1570:d55c9d0ba350 |
|---|---|
| 8 from mercurial import hg | 8 from mercurial import hg |
| 9 from mercurial import node | 9 from mercurial import node |
| 10 from mercurial import ui | 10 from mercurial import ui |
| 11 from mercurial import encoding | 11 from mercurial import encoding |
| 12 | 12 |
| 13 revsymbol = test_util.revsymbol | |
| 14 | |
| 13 class TestBasicRepoLayout(test_util.TestBase): | 15 class TestBasicRepoLayout(test_util.TestBase): |
| 14 stupid_mode_tests = True | 16 stupid_mode_tests = True |
| 15 | 17 |
| 16 def test_no_dates(self): | 18 def test_no_dates(self): |
| 17 repo = self._load_fixture_and_fetch('test_no_dates.svndump') | 19 repo = self._load_fixture_and_fetch('test_no_dates.svndump') |
| 19 self.assertEqual(local_epoch[0], local_epoch[1]) | 21 self.assertEqual(local_epoch[0], local_epoch[1]) |
| 20 self.assertEqual(repo[1].date(), repo[2].date()) | 22 self.assertEqual(repo[1].date(), repo[2].date()) |
| 21 | 23 |
| 22 def test_fresh_fetch_single_rev(self): | 24 def test_fresh_fetch_single_rev(self): |
| 23 repo = self._load_fixture_and_fetch('single_rev.svndump') | 25 repo = self._load_fixture_and_fetch('single_rev.svndump') |
| 24 self.assertEqual(node.hex(repo['tip'].node()), | 26 self.assertEqual(node.hex(revsymbol(repo, 'tip').node()), |
| 25 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 27 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 26 self.assertEqual(repo['tip'].extra()['convert_revision'], | 28 self.assertEqual(revsymbol(repo, 'tip').extra()['convert_revision'], |
| 27 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/trunk@2') | 29 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/trunk@2') |
| 28 self.assertEqual(repo['tip'], repo[0]) | 30 self.assertEqual(revsymbol(repo, 'tip'), repo[0]) |
| 29 | 31 |
| 30 def test_fresh_fetch_two_revs(self): | 32 def test_fresh_fetch_two_revs(self): |
| 31 repo = self._load_fixture_and_fetch('two_revs.svndump') | 33 repo = self._load_fixture_and_fetch('two_revs.svndump') |
| 32 self.assertEqual(node.hex(repo[0].node()), | 34 self.assertEqual(node.hex(repo[0].node()), |
| 33 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 35 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 34 self.assertEqual(node.hex(repo['tip'].node()), | 36 self.assertEqual(node.hex(revsymbol(repo, 'tip').node()), |
| 35 'c95251e0dd04697deee99b79cc407d7db76e6a5f') | 37 'c95251e0dd04697deee99b79cc407d7db76e6a5f') |
| 36 self.assertEqual(repo['tip'], repo[1]) | 38 self.assertEqual(revsymbol(repo, 'tip'), repo[1]) |
| 37 | 39 |
| 38 def test_branches(self): | 40 def test_branches(self): |
| 39 repo = self._load_fixture_and_fetch('simple_branch.svndump') | 41 repo = self._load_fixture_and_fetch('simple_branch.svndump') |
| 40 self.assertEqual(node.hex(repo[0].node()), | 42 self.assertEqual(node.hex(repo[0].node()), |
| 41 'a1ff9f5d90852ce7f8e607fa144066b0a06bdc57') | 43 'a1ff9f5d90852ce7f8e607fa144066b0a06bdc57') |
| 42 self.assertEqual(node.hex(repo['tip'].node()), | 44 self.assertEqual(node.hex(revsymbol(repo, 'tip').node()), |
| 43 '545e36ed13615e39c5c8fb0c325109d8cb8e00c3') | 45 '545e36ed13615e39c5c8fb0c325109d8cb8e00c3') |
| 44 self.assertEqual(len(repo['tip'].parents()), 1) | 46 self.assertEqual(len(revsymbol(repo, 'tip').parents()), 1) |
| 45 self.assertEqual(repo['tip'].parents()[0], repo['default']) | 47 self.assertEqual(revsymbol(repo, 'tip').parents()[0], revsymbol(repo, 'default')) |
| 46 self.assertEqual(repo['tip'].extra()['convert_revision'], | 48 self.assertEqual(revsymbol(repo, 'tip').extra()['convert_revision'], |
| 47 'svn:3cd547df-371e-4add-bccf-aba732a2baf5/branches/the_branch@4') | 49 'svn:3cd547df-371e-4add-bccf-aba732a2baf5/branches/the_branch@4') |
| 48 self.assertEqual(repo['default'].extra()['convert_revision'], | 50 self.assertEqual(revsymbol(repo, 'default').extra()['convert_revision'], |
| 49 'svn:3cd547df-371e-4add-bccf-aba732a2baf5/trunk@3') | 51 'svn:3cd547df-371e-4add-bccf-aba732a2baf5/trunk@3') |
| 50 self.assertEqual(len(repo.heads()), 1) | 52 self.assertEqual(len(repo.heads()), 1) |
| 51 | 53 |
| 52 def test_two_branches_with_heads(self): | 54 def test_two_branches_with_heads(self): |
| 53 repo = self._load_fixture_and_fetch('two_heads.svndump') | 55 repo = self._load_fixture_and_fetch('two_heads.svndump') |
| 54 self.assertEqual(node.hex(repo[0].node()), | 56 self.assertEqual(node.hex(repo[0].node()), |
| 55 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 57 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 56 self.assertEqual(node.hex(repo['tip'].node()), | 58 self.assertEqual(node.hex(revsymbol(repo, 'tip').node()), |
| 57 '1083037b18d85cd84fa211c5adbaeff0fea2cd9f') | 59 '1083037b18d85cd84fa211c5adbaeff0fea2cd9f') |
| 58 self.assertEqual(node.hex(repo['the_branch'].node()), | 60 self.assertEqual(node.hex(revsymbol(repo, 'the_branch').node()), |
| 59 '4e256962fc5df545e2e0a51d0d1dc61c469127e6') | 61 '4e256962fc5df545e2e0a51d0d1dc61c469127e6') |
| 60 self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()), | 62 self.assertEqual(node.hex(revsymbol(repo, 'the_branch').parents()[0].node()), |
| 61 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') | 63 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') |
| 62 self.assertEqual(len(repo['tip'].parents()), 1) | 64 self.assertEqual(len(revsymbol(repo, 'tip').parents()), 1) |
| 63 self.assertEqual(repo['tip'], repo['default']) | 65 self.assertEqual(revsymbol(repo, 'tip'), revsymbol(repo, 'default')) |
| 64 self.assertEqual(len(repo.heads()), 2) | 66 self.assertEqual(len(repo.heads()), 2) |
| 65 | 67 |
| 66 def test_many_special_cases(self): | 68 def test_many_special_cases(self): |
| 67 repo = self._load_fixture_and_fetch('many_special_cases.svndump') | 69 repo = self._load_fixture_and_fetch('many_special_cases.svndump') |
| 68 | 70 |
| 69 self.assertEquals(node.hex(repo[0].node()), | 71 self.assertEquals(node.hex(repo[0].node()), |
| 70 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 72 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 71 # two possible hashes for bw compat to hg < 1.5, since hg 1.5 | 73 # two possible hashes for bw compat to hg < 1.5, since hg 1.5 |
| 72 # sorts entries in extra() | 74 # sorts entries in extra() |
| 73 self.assertTrue(node.hex(repo['tip'].node()) in | 75 self.assertTrue(node.hex(revsymbol(repo, 'tip').node()) in |
| 74 ('e92012d8c170a0236c84166167f149c2e28548c6', | 76 ('e92012d8c170a0236c84166167f149c2e28548c6', |
| 75 'b7bdc73041b1852563deb1ef3f4153c2fe4484f2')) | 77 'b7bdc73041b1852563deb1ef3f4153c2fe4484f2')) |
| 76 self.assertEqual(node.hex(repo['the_branch'].node()), | 78 self.assertEqual(node.hex(revsymbol(repo, 'the_branch').node()), |
| 77 '4e256962fc5df545e2e0a51d0d1dc61c469127e6') | 79 '4e256962fc5df545e2e0a51d0d1dc61c469127e6') |
| 78 self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()), | 80 self.assertEqual(node.hex(revsymbol(repo, 'the_branch').parents()[0].node()), |
| 79 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') | 81 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') |
| 80 self.assertEqual(len(repo['tip'].parents()), 1) | 82 self.assertEqual(len(revsymbol(repo, 'tip').parents()), 1) |
| 81 self.assertEqual(repo['tip'], repo['default']) | 83 self.assertEqual(revsymbol(repo, 'tip'), revsymbol(repo, 'default')) |
| 82 self.assertEqual(len(repo.heads()), 2) | 84 self.assertEqual(len(repo.heads()), 2) |
| 83 | 85 |
| 84 def test_file_mixed_with_branches(self): | 86 def test_file_mixed_with_branches(self): |
| 85 repo = self._load_fixture_and_fetch('file_mixed_with_branches.svndump') | 87 repo = self._load_fixture_and_fetch('file_mixed_with_branches.svndump') |
| 86 self.assertEqual(node.hex(repo['default'].node()), | 88 self.assertEqual(node.hex(revsymbol(repo, 'default').node()), |
| 87 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 89 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 88 assert 'README' not in repo | 90 assert 'README' not in repo |
| 89 assert '../branches' not in repo | 91 assert '../branches' not in repo |
| 90 | 92 |
| 91 def test_files_copied_from_outside_btt(self): | 93 def test_files_copied_from_outside_btt(self): |
| 92 repo = self._load_fixture_and_fetch( | 94 repo = self._load_fixture_and_fetch( |
| 93 'test_files_copied_from_outside_btt.svndump') | 95 'test_files_copied_from_outside_btt.svndump') |
| 94 self.assertEqual(node.hex(repo['tip'].node()), | 96 self.assertEqual(node.hex(revsymbol(repo, 'tip').node()), |
| 95 '3c78170e30ddd35f2c32faa0d8646ab75bba4f73') | 97 '3c78170e30ddd35f2c32faa0d8646ab75bba4f73') |
| 96 self.assertEqual(test_util.repolen(repo), 2) | 98 self.assertEqual(test_util.repolen(repo), 2) |
| 97 | 99 |
| 98 def test_file_renamed_in_from_outside_btt(self): | 100 def test_file_renamed_in_from_outside_btt(self): |
| 99 repo = self._load_fixture_and_fetch( | 101 repo = self._load_fixture_and_fetch( |
| 100 'file_renamed_in_from_outside_btt.svndump') | 102 'file_renamed_in_from_outside_btt.svndump') |
| 101 self.assert_('LICENSE.file' in repo['default']) | 103 self.assert_('LICENSE.file' in revsymbol(repo, 'default')) |
| 102 | 104 |
| 103 def test_renamed_dir_in_from_outside_btt_not_repo_root(self): | 105 def test_renamed_dir_in_from_outside_btt_not_repo_root(self): |
| 104 repo = self._load_fixture_and_fetch( | 106 repo = self._load_fixture_and_fetch( |
| 105 'fetch_missing_files_subdir.svndump', subdir='foo') | 107 'fetch_missing_files_subdir.svndump', subdir='foo') |
| 106 self.assertEqual(node.hex(repo['tip'].node()), | 108 self.assertEqual(node.hex(revsymbol(repo, 'tip').node()), |
| 107 '269dcdd4361b2847e9f4288d4500e55d35df1f52') | 109 '269dcdd4361b2847e9f4288d4500e55d35df1f52') |
| 108 self.assert_('bar/alpha' in repo['tip']) | 110 self.assert_('bar/alpha' in revsymbol(repo, 'tip')) |
| 109 self.assert_('foo' in repo['tip']) | 111 self.assert_('foo' in revsymbol(repo, 'tip')) |
| 110 self.assert_('bar/alpha' not in repo['tip'].parents()[0]) | 112 self.assert_('bar/alpha' not in revsymbol(repo, 'tip').parents()[0]) |
| 111 self.assert_('foo' in repo['tip'].parents()[0]) | 113 self.assert_('foo' in revsymbol(repo, 'tip').parents()[0]) |
| 112 | 114 |
| 113 def test_oldest_not_trunk_and_tag_vendor_branch(self): | 115 def test_oldest_not_trunk_and_tag_vendor_branch(self): |
| 114 repo = self._load_fixture_and_fetch( | 116 repo = self._load_fixture_and_fetch( |
| 115 'tagged_vendor_and_oldest_not_trunk.svndump') | 117 'tagged_vendor_and_oldest_not_trunk.svndump') |
| 116 self.assertEqual(node.hex(repo['oldest'].node()), | 118 self.assertEqual(node.hex(revsymbol(repo, 'oldest').node()), |
| 117 '926671740dec045077ab20f110c1595f935334fa') | 119 '926671740dec045077ab20f110c1595f935334fa') |
| 118 self.assertEqual(repo['tip'].parents()[0].parents()[0], | 120 self.assertEqual(revsymbol(repo, 'tip').parents()[0].parents()[0], |
| 119 repo['oldest']) | 121 revsymbol(repo, 'oldest')) |
| 120 self.assertEqual(node.hex(repo['tip'].node()), | 122 self.assertEqual(node.hex(revsymbol(repo, 'tip').node()), |
| 121 '1a6c3f30911d57abb67c257ec0df3e7bc44786f7') | 123 '1a6c3f30911d57abb67c257ec0df3e7bc44786f7') |
| 122 | 124 |
| 123 def test_propedit_with_nothing_else(self): | 125 def test_propedit_with_nothing_else(self): |
| 124 repo = self._load_fixture_and_fetch('branch_prop_edit.svndump') | 126 repo = self._load_fixture_and_fetch('branch_prop_edit.svndump') |
| 125 self.assertEqual(repo['tip'].description(), 'Commit bogus propchange.') | 127 self.assertEqual(revsymbol(repo, 'tip').description(), 'Commit bogus propchange.') |
| 126 self.assertEqual(repo['tip'].branch(), 'dev_branch') | 128 self.assertEqual(revsymbol(repo, 'tip').branch(), 'dev_branch') |
| 127 | 129 |
| 128 def test_entry_deletion(self): | 130 def test_entry_deletion(self): |
| 129 repo = self._load_fixture_and_fetch('delentries.svndump') | 131 repo = self._load_fixture_and_fetch('delentries.svndump') |
| 130 files = list(sorted(repo['tip'].manifest())) | 132 files = list(sorted(revsymbol(repo, 'tip').manifest())) |
| 131 self.assertEqual(['aa', 'd1/c', 'd1/d2prefix'], files) | 133 self.assertEqual(['aa', 'd1/c', 'd1/d2prefix'], files) |
| 132 | 134 |
| 133 def test_fetch_when_trunk_has_no_files(self): | 135 def test_fetch_when_trunk_has_no_files(self): |
| 134 repo = self._load_fixture_and_fetch('file_not_in_trunk_root.svndump') | 136 repo = self._load_fixture_and_fetch('file_not_in_trunk_root.svndump') |
| 135 self.assertEqual(repo['tip'].branch(), 'default') | 137 self.assertEqual(revsymbol(repo, 'tip').branch(), 'default') |
| 136 | 138 |
| 137 def test_path_quoting(self): | 139 def test_path_quoting(self): |
| 138 repo_path = self.load_svndump('non_ascii_path_1.svndump') | 140 repo_path = self.load_svndump('non_ascii_path_1.svndump') |
| 139 subdir = '/b\xC3\xB8b' | 141 subdir = '/b\xC3\xB8b' |
| 140 quoted_subdir = urllib.quote(subdir) | 142 quoted_subdir = urllib.quote(subdir) |
| 148 commands.clone(ui, repo_url + subdir, wc_path) | 150 commands.clone(ui, repo_url + subdir, wc_path) |
| 149 commands.clone(ui, repo_url + quoted_subdir, wc2_path) | 151 commands.clone(ui, repo_url + quoted_subdir, wc2_path) |
| 150 repo = hg.repository(ui, wc_path) | 152 repo = hg.repository(ui, wc_path) |
| 151 repo2 = hg.repository(ui, wc2_path) | 153 repo2 = hg.repository(ui, wc2_path) |
| 152 | 154 |
| 153 self.assertEqual(repo['tip'].extra()['convert_revision'], | 155 self.assertEqual(revsymbol(repo, 'tip').extra()['convert_revision'], |
| 154 repo2['tip'].extra()['convert_revision']) | 156 repo2['tip'].extra()['convert_revision']) |
| 155 self.assertEqual(test_util.repolen(repo), test_util.repolen(repo2)) | 157 self.assertEqual(test_util.repolen(repo), test_util.repolen(repo2)) |
| 156 | 158 |
| 157 for r in repo: | 159 for r in repo: |
| 158 self.assertEqual(repo[r].hex(), repo2[r].hex()) | 160 self.assertEqual(repo[r].hex(), repo2[r].hex()) |
| 179 | 181 |
| 180 def test_stupid(self): | 182 def test_stupid(self): |
| 181 repo = self._load_fixture_and_fetch('two_heads.svndump') | 183 repo = self._load_fixture_and_fetch('two_heads.svndump') |
| 182 self.assertEqual(node.hex(repo[0].node()), | 184 self.assertEqual(node.hex(repo[0].node()), |
| 183 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') | 185 '434ed487136c1b47c1e8f952edb4dc5a8e6328df') |
| 184 self.assertEqual(node.hex(repo['tip'].node()), | 186 self.assertEqual(node.hex(revsymbol(repo, 'tip').node()), |
| 185 '1083037b18d85cd84fa211c5adbaeff0fea2cd9f') | 187 '1083037b18d85cd84fa211c5adbaeff0fea2cd9f') |
| 186 self.assertEqual(node.hex(repo['the_branch'].node()), | 188 self.assertEqual(node.hex(revsymbol(repo, 'the_branch').node()), |
| 187 '4e256962fc5df545e2e0a51d0d1dc61c469127e6') | 189 '4e256962fc5df545e2e0a51d0d1dc61c469127e6') |
| 188 self.assertEqual(repo['the_branch'].extra()['convert_revision'], | 190 self.assertEqual(revsymbol(repo, 'the_branch').extra()['convert_revision'], |
| 189 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/branches/the_branch@5') | 191 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/branches/the_branch@5') |
| 190 self.assertEqual(node.hex(repo['the_branch'].parents()[0].node()), | 192 self.assertEqual(node.hex(revsymbol(repo, 'the_branch').parents()[0].node()), |
| 191 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') | 193 'f1ff5b860f5dbb9a59ad0921a79da77f10f25109') |
| 192 self.assertEqual(len(repo['tip'].parents()), 1) | 194 self.assertEqual(len(revsymbol(repo, 'tip').parents()), 1) |
| 193 self.assertEqual(repo['default'].extra()['convert_revision'], | 195 self.assertEqual(revsymbol(repo, 'default').extra()['convert_revision'], |
| 194 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/trunk@6') | 196 'svn:df2126f7-00ab-4d49-b42c-7e981dde0bcf/trunk@6') |
| 195 self.assertEqual(repo['tip'], repo['default']) | 197 self.assertEqual(revsymbol(repo, 'tip'), revsymbol(repo, 'default')) |
| 196 self.assertEqual(len(repo.heads()), 2) | 198 self.assertEqual(len(repo.heads()), 2) |
| 197 | 199 |
| 198 def test_oldest_not_trunk_and_tag_vendor_branch(self): | 200 def test_oldest_not_trunk_and_tag_vendor_branch(self): |
| 199 repo = self._load_fixture_and_fetch( | 201 repo = self._load_fixture_and_fetch( |
| 200 'tagged_vendor_and_oldest_not_trunk.svndump') | 202 'tagged_vendor_and_oldest_not_trunk.svndump') |
| 201 self.assertEqual(node.hex(repo['oldest'].node()), | 203 self.assertEqual(node.hex(revsymbol(repo, 'oldest').node()), |
| 202 '926671740dec045077ab20f110c1595f935334fa') | 204 '926671740dec045077ab20f110c1595f935334fa') |
| 203 self.assertEqual(repo['tip'].parents()[0].parents()[0], | 205 self.assertEqual(revsymbol(repo, 'tip').parents()[0].parents()[0], |
| 204 repo['oldest']) | 206 revsymbol(repo, 'oldest')) |
| 205 self.assertEqual(node.hex(repo['tip'].node()), | 207 self.assertEqual(node.hex(revsymbol(repo, 'tip').node()), |
| 206 '1a6c3f30911d57abb67c257ec0df3e7bc44786f7') | 208 '1a6c3f30911d57abb67c257ec0df3e7bc44786f7') |
| 207 | 209 |
| 208 def test_empty_repo(self): | 210 def test_empty_repo(self): |
| 209 # This used to crash HgEditor because it could be closed without | 211 # This used to crash HgEditor because it could be closed without |
| 210 # having been initialized again. | 212 # having been initialized again. |
