Mercurial > hgsubversion
diff tests/comprehensive/test_stupid_pull.py @ 499:1fd3cfa47c5e
Support for single-directory clones.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Fri, 16 Oct 2009 23:33:41 -0400 |
parents | 24a8471069c0 |
children | 58f397523604 |
line wrap: on
line diff
--- a/tests/comprehensive/test_stupid_pull.py +++ b/tests/comprehensive/test_stupid_pull.py @@ -9,9 +9,9 @@ from tests import test_util from hgsubversion import wrappers -def _do_case(self, name): +def _do_case(self, name, layout): subdir = test_util.subdir.get(name, '') - self._load_fixture_and_fetch(name, subdir=subdir, stupid=False) + self._load_fixture_and_fetch(name, subdir=subdir, stupid=False, layout=layout) 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() @@ -19,22 +19,28 @@ def _do_case(self, name): if subdir: checkout_path += '/' + subdir u.setconfig('hgsubversion', 'stupid', '1') + u.setconfig('hgsubversion', 'layout', layout) hg.clone(u, test_util.fileurl(checkout_path), wc2_path, update=False) + if layout == 'single': + self.assertEqual(len(self.repo.heads()), 1) 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) +def buildmethod(case, name, layout): + m = lambda self: self._do_case(case, layout) m.__name__ = name - m.__doc__ = 'Test stupid produces same as real on %s.' % case + m.__doc__ = 'Test stupid produces same as real on %s. (%s)' % (case, layout) 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) + attrs[name] = buildmethod(case, name, 'auto') + name += '_single' + attrs[name] = buildmethod(case, name, 'single') + StupidPullTests = type('StupidPullTests', (test_util.TestBase, ), attrs)