Mercurial > hgsubversion
comparison tests/test_pull.py @ 689:35a1e93b6f78
tests: move _add_svn_rev to test_util for reuse
| author | Peter Arrenbrecht <peter.arrenbrecht@gmail.com> |
|---|---|
| date | Wed, 08 Sep 2010 09:57:06 +0200 |
| parents | 76c833526fbc |
| children | b64173a27ce8 |
comparison
equal
deleted
inserted
replaced
| 688:073132fc27f1 | 689:35a1e93b6f78 |
|---|---|
| 7 from mercurial import commands | 7 from mercurial import commands |
| 8 | 8 |
| 9 class TestPull(test_util.TestBase): | 9 class TestPull(test_util.TestBase): |
| 10 def setUp(self): | 10 def setUp(self): |
| 11 super(TestPull, self).setUp() | 11 super(TestPull, self).setUp() |
| 12 self.svn_wc = None | |
| 13 | 12 |
| 14 def _load_fixture_and_fetch(self, fixture_name): | 13 def _load_fixture_and_fetch(self, fixture_name): |
| 15 return test_util.load_fixture_and_fetch(fixture_name, self.repo_path, | 14 return test_util.load_fixture_and_fetch(fixture_name, self.repo_path, |
| 16 self.wc_path, stupid=False, | 15 self.wc_path, stupid=False, |
| 17 noupdate=False) | 16 noupdate=False) |
| 18 | |
| 19 def _add_svn_rev(self, changes): | |
| 20 # changes is a dict of filename -> contents | |
| 21 if self.svn_wc is None: | |
| 22 self.svn_wc = os.path.join(self.tmpdir, 'testsvn_wc') | |
| 23 subprocess.call([ | |
| 24 'svn', 'co', '-q', test_util.fileurl(self.repo_path), | |
| 25 self.svn_wc | |
| 26 ], | |
| 27 stdout=subprocess.PIPE, stderr=subprocess.STDOUT) | |
| 28 | |
| 29 for filename, contents in changes.iteritems(): | |
| 30 # filenames are / separated | |
| 31 filename = filename.replace('/', os.path.sep) | |
| 32 filename = os.path.join(self.svn_wc, filename) | |
| 33 open(filename, 'w').write(contents) | |
| 34 # may be redundant | |
| 35 subprocess.call(['svn', 'add', '-q', filename], | |
| 36 stdout=subprocess.PIPE, stderr=subprocess.STDOUT) | |
| 37 subprocess.call([ | |
| 38 'svn', 'commit', '-q', self.svn_wc, '-m', 'test changes'], | |
| 39 stdout=subprocess.PIPE, stderr=subprocess.STDOUT) | |
| 40 | 17 |
| 41 def test_nochanges(self): | 18 def test_nochanges(self): |
| 42 self._load_fixture_and_fetch('single_rev.svndump') | 19 self._load_fixture_and_fetch('single_rev.svndump') |
| 43 state = self.repo.parents() | 20 state = self.repo.parents() |
| 44 commands.pull(self.repo.ui, self.repo) | 21 commands.pull(self.repo.ui, self.repo) |
