comparison tests/test_push_renames.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 49b7cbe4c8e3
children 71de43e9f614
comparison
equal deleted inserted replaced
77:ed3dd5bf45da 78:072010a271c6
1 import os 1 import os
2 import shutil
3 import sys 2 import sys
4 import tempfile 3 import tempfile
5 import unittest 4 import unittest
6 5
7 from mercurial import context 6 from mercurial import context
19 def setUp(self): 18 def setUp(self):
20 self.oldwd = os.getcwd() 19 self.oldwd = os.getcwd()
21 self.tmpdir = tempfile.mkdtemp('svnwrap_test') 20 self.tmpdir = tempfile.mkdtemp('svnwrap_test')
22 self.repo_path = '%s/testrepo' % self.tmpdir 21 self.repo_path = '%s/testrepo' % self.tmpdir
23 self.wc_path = '%s/testrepo_wc' % self.tmpdir 22 self.wc_path = '%s/testrepo_wc' % self.tmpdir
24 test_util.load_svndump_fixture(self.repo_path, 'pushrenames.svndump') 23 test_util.load_fixture_and_fetch('pushrenames.svndump',
25 fetch_command.fetch_revisions(ui.ui(), 24 self.repo_path,
26 svn_url='file://%s' % self.repo_path, 25 self.wc_path,
27 hg_repo_path=self.wc_path) 26 True)
28 27
29 # define this as a property so that it reloads anytime we need it 28 # define this as a property so that it reloads anytime we need it
30 @property 29 @property
31 def repo(self): 30 def repo(self):
32 return hg.repository(ui.ui(), self.wc_path) 31 return hg.repository(ui.ui(), self.wc_path)
33 32
34 def tearDown(self): 33 def tearDown(self):
35 shutil.rmtree(self.tmpdir) 34 test_util.rmtree(self.tmpdir)
36 os.chdir(self.oldwd) 35 os.chdir(self.oldwd)
37 36
38 def _commitchanges(self, repo, changes): 37 def _commitchanges(self, repo, changes):
39 parentctx = repo['tip'] 38 parentctx = repo['tip']
40 39
116 ('e', None, None), 115 ('e', None, None),
117 ] 116 ]
118 self._commitchanges(repo, changes) 117 self._commitchanges(repo, changes)
119 118
120 hg.update(repo, repo['tip'].node()) 119 hg.update(repo, repo['tip'].node())
121 push_cmd.push_revisions_to_subversion(ui.ui(), repo=self.repo, 120 push_cmd.push_revisions_to_subversion(
122 hg_repo_path=self.wc_path, 121 ui.ui(), repo=self.repo, hg_repo_path=self.wc_path,
123 svn_url='file://'+self.repo_path) 122 svn_url=test_util.fileurl(self.repo_path))
124 tip = self.repo['tip'] 123 tip = self.repo['tip']
125 # self._debug_print_copies(tip) 124 # self._debug_print_copies(tip)
126 self.assertchanges(changes, tip) 125 self.assertchanges(changes, tip)
127 126
128 def suite(): 127 def suite():