Mercurial > hgsubversion
comparison tests/test_fetch_command.py @ 78:072010a271c6
Fix basic issues with tests on Windows
- shutil.rmtree() fails if there are any read-only files (svn store)
- Fix files:// URLs
- os.spawnvp()/Popen4() do not exist under Windows, use subprocess
| author | Patrick Mezard <pmezard@gmail.com> |
|---|---|
| date | Sun, 09 Nov 2008 18:08:35 -0600 |
| parents | e319c9168910 |
| children | 7d10165cf3d9 |
comparison
equal
deleted
inserted
replaced
| 77:ed3dd5bf45da | 78:072010a271c6 |
|---|---|
| 1 import os | 1 import os |
| 2 import shutil | |
| 3 import tempfile | 2 import tempfile |
| 4 import unittest | 3 import unittest |
| 5 | 4 |
| 6 from mercurial import hg | 5 from mercurial import hg |
| 7 from mercurial import ui | 6 from mercurial import ui |
| 17 self.tmpdir = tempfile.mkdtemp('svnwrap_test') | 16 self.tmpdir = tempfile.mkdtemp('svnwrap_test') |
| 18 self.repo_path = '%s/testrepo' % self.tmpdir | 17 self.repo_path = '%s/testrepo' % self.tmpdir |
| 19 self.wc_path = '%s/testrepo_wc' % self.tmpdir | 18 self.wc_path = '%s/testrepo_wc' % self.tmpdir |
| 20 | 19 |
| 21 def tearDown(self): | 20 def tearDown(self): |
| 22 shutil.rmtree(self.tmpdir) | 21 test_util.rmtree(self.tmpdir) |
| 23 os.chdir(self.oldwd) | 22 os.chdir(self.oldwd) |
| 24 | 23 |
| 25 def _load_fixture_and_fetch(self, fixture_name): | 24 def _load_fixture_and_fetch(self, fixture_name): |
| 26 return test_util.load_fixture_and_fetch(fixture_name, self.repo_path, | 25 return test_util.load_fixture_and_fetch(fixture_name, self.repo_path, |
| 27 self.wc_path) | 26 self.wc_path) |
| 127 self.tmpdir = tempfile.mkdtemp('svnwrap_test') | 126 self.tmpdir = tempfile.mkdtemp('svnwrap_test') |
| 128 self.repo_path = '%s/testrepo' % self.tmpdir | 127 self.repo_path = '%s/testrepo' % self.tmpdir |
| 129 self.wc_path = '%s/testrepo_wc' % self.tmpdir | 128 self.wc_path = '%s/testrepo_wc' % self.tmpdir |
| 130 | 129 |
| 131 def tearDown(self): | 130 def tearDown(self): |
| 132 shutil.rmtree(self.tmpdir) | 131 test_util.rmtree(self.tmpdir) |
| 133 os.chdir(self.oldwd) | 132 os.chdir(self.oldwd) |
| 134 | 133 |
| 135 def test_stupid(self): | 134 def test_stupid(self): |
| 136 test_util.load_svndump_fixture(self.repo_path, 'two_heads.svndump') | 135 repo = test_util.load_fixture_and_fetch('two_heads.svndump', |
| 137 fetch_command.fetch_revisions(ui.ui(), | 136 self.repo_path, |
| 138 svn_url='file://%s' % self.repo_path, | 137 self.wc_path, |
| 139 hg_repo_path=self.wc_path, | 138 True) |
| 140 stupid=True) | |
| 141 repo = hg.repository(ui.ui(), self.wc_path) | |
| 142 # TODO there must be a better way than repo[0] for this check | 139 # TODO there must be a better way than repo[0] for this check |
| 143 self.assertEqual(node.hex(repo[0].node()), | 140 self.assertEqual(node.hex(repo[0].node()), |
| 144 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') | 141 'a47d0ce778660a91c31bf2c21c448e9ee296ac90') |
| 145 self.assertEqual(node.hex(repo['tip'].node()), | 142 self.assertEqual(node.hex(repo['tip'].node()), |
| 146 'a595c77cfcaa3d1ba9e04b2c55c68bc6bf2b0fbf') | 143 'a595c77cfcaa3d1ba9e04b2c55c68bc6bf2b0fbf') |
| 151 self.assertEqual(len(repo['tip'].parents()), 1) | 148 self.assertEqual(len(repo['tip'].parents()), 1) |
| 152 self.assertEqual(repo['tip'], repo['default']) | 149 self.assertEqual(repo['tip'], repo['default']) |
| 153 self.assertEqual(len(repo.heads()), 2) | 150 self.assertEqual(len(repo.heads()), 2) |
| 154 | 151 |
| 155 def test_oldest_not_trunk_and_tag_vendor_branch(self): | 152 def test_oldest_not_trunk_and_tag_vendor_branch(self): |
| 156 test_util.load_svndump_fixture(self.repo_path, | 153 repo = test_util.load_fixture_and_fetch( |
| 157 'tagged_vendor_and_oldest_not_trunk.svndump') | 154 'tagged_vendor_and_oldest_not_trunk.svndump', |
| 158 fetch_command.fetch_revisions(ui.ui(), | 155 self.repo_path, |
| 159 svn_url='file://%s' % self.repo_path, | 156 self.wc_path, |
| 160 hg_repo_path=self.wc_path, | 157 True) |
| 161 stupid=True) | |
| 162 repo = hg.repository(ui.ui(), self.wc_path) | 158 repo = hg.repository(ui.ui(), self.wc_path) |
| 163 self.assertEqual(node.hex(repo['oldest'].node()), | 159 self.assertEqual(node.hex(repo['oldest'].node()), |
| 164 'd73002bcdeffe389a8df81ee43303d36e79e8ca4') | 160 'd73002bcdeffe389a8df81ee43303d36e79e8ca4') |
| 165 self.assertEqual(repo['tip'].parents()[0].parents()[0], | 161 self.assertEqual(repo['tip'].parents()[0].parents()[0], |
| 166 repo['oldest']) | 162 repo['oldest']) |
