Mercurial > hgsubversion
view tests/comprehensive/test_stupid_pull.py @ 467:3941d73c262e
svnwrappers: override svn+ssh credentials with supplied ones if any
svn+ssh URLs are special because the authentication layer is not handled by
svn, so they must contain the username to be resolved seamlessly. Until now,
credentials supplied from the command line were ignored when rewriting those
URLs. Fix that.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Sat, 18 Jul 2009 20:44:33 -0500 |
parents | 24a8471069c0 |
children | 1fd3cfa47c5e |
line wrap: on
line source
import os import pickle import unittest from mercurial import hg from mercurial import ui from tests import test_util from hgsubversion import wrappers def _do_case(self, name): subdir = test_util.subdir.get(name, '') self._load_fixture_and_fetch(name, subdir=subdir, stupid=False) assert len(self.repo) > 0, 'Repo had no changes, maybe you need to add a subdir entry in test_util?' wc2_path = self.wc_path + '_stupid' u = ui.ui() checkout_path = self.repo_path if subdir: checkout_path += '/' + subdir u.setconfig('hgsubversion', 'stupid', '1') hg.clone(u, test_util.fileurl(checkout_path), wc2_path, update=False) self.repo2 = hg.repository(ui.ui(), wc2_path) self.assertEqual(self.repo.heads(), self.repo2.heads()) def buildmethod(case, name): m = lambda self: self._do_case(case) m.__name__ = name m.__doc__ = 'Test stupid produces same as real on %s.' % case return m attrs = {'_do_case': _do_case, } for case in (f for f in os.listdir(test_util.FIXTURES) if f.endswith('.svndump')): name = 'test_' + case[:-len('.svndump')] attrs[name] = buildmethod(case, name) StupidPullTests = type('StupidPullTests', (test_util.TestBase, ), attrs) def suite(): all = [unittest.TestLoader().loadTestsFromTestCase(StupidPullTests), ] return unittest.TestSuite(all)