Mercurial > hgsubversion
diff tests/comprehensive/test_updatemeta.py @ 1106:5cb6c95e0283 stable
Merge default and stable so I can do stable releases again.
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Tue, 11 Feb 2014 12:48:49 -0500 |
parents | cd0d14e25757 |
children | c6b01fd34694 |
line wrap: on
line diff
copy from tests/test_updatemeta.py copy to tests/comprehensive/test_updatemeta.py --- a/tests/test_updatemeta.py +++ b/tests/comprehensive/test_updatemeta.py @@ -1,8 +1,16 @@ -import test_util - import os import pickle +import sys import unittest + +# wrapped in a try/except because of weirdness in how +# run.py works as compared to nose. +try: + import test_util +except ImportError: + sys.path.insert(0, os.path.dirname(os.path.dirname(__file__))) + import test_util + import test_rebuildmeta from mercurial import context @@ -15,16 +23,24 @@ from hgsubversion import svnmeta -def _do_case(self, name, stupid, single): +def _do_case(self, name, layout): subdir = test_util.subdir.get(name, '') - layout = 'auto' - if single: - layout = 'single' - repo, repo_path = self.load_and_fetch(name, subdir=subdir, stupid=stupid, - layout=layout) - assert len(self.repo) > 0 - wc2_path = self.wc_path + '_clone' + single = layout == 'single' u = ui.ui() + config = {} + if layout == 'custom': + config['hgsubversion.layout'] = 'custom' + u.setconfig('hgsubversion', 'layout', 'custom') + for branch, path in test_util.custom.get(name, {}).iteritems(): + config['hgsubversionbranch.%s' % branch] = path + u.setconfig('hgsubversionbranch', branch, path) + + repo, repo_path = self.load_and_fetch(name, + subdir=subdir, + layout=layout, + config=config) + assert test_util.repolen(self.repo) > 0 + wc2_path = self.wc_path + '_clone' src, dest = test_util.hgclone(u, self.wc_path, wc2_path, update=False) src = test_util.getlocalpeer(src) dest = test_util.getlocalpeer(dest) @@ -46,11 +62,11 @@ def _do_case(self, name, stupid, single) # remove the wrapper context.changectx.children = origchildren - self._run_assertions(name, stupid, single, src, dest, u) + self._run_assertions(name, single, src, dest, u) -def _run_assertions(self, name, stupid, single, src, dest, u): - test_rebuildmeta._run_assertions(self, name, stupid, single, src, dest, u) +def _run_assertions(self, name, single, src, dest, u): + test_rebuildmeta._run_assertions(self, name, single, src, dest, u) skip = set([ @@ -60,22 +76,21 @@ skip = set([ attrs = {'_do_case': _do_case, '_run_assertions': _run_assertions, + 'stupid_mode_tests': True, } for case in [f for f in os.listdir(test_util.FIXTURES) if f.endswith('.svndump')]: # this fixture results in an empty repository, don't use it if case in skip: continue bname = 'test_' + case[:-len('.svndump')] - attrs[bname] = test_rebuildmeta.buildmethod(case, bname, False, False) - name = bname + '_stupid' - attrs[name] = test_rebuildmeta.buildmethod(case, name, True, False) - name = bname + '_single' - attrs[name] = test_rebuildmeta.buildmethod(case, name, False, True) - -UpdateMetaTests = type('UpdateMetaTests', (test_util.TestBase,), attrs) + attrs[bname] = test_rebuildmeta.buildmethod(case, bname, 'auto') + attrs[bname + '_single'] = test_rebuildmeta.buildmethod(case, + bname + '_single', + 'single') + if case in test_util.custom: + attrs[bname + '_custom'] = test_rebuildmeta.buildmethod(case, + bname + '_custom', + 'custom') -def suite(): - all_tests = [unittest.TestLoader().loadTestsFromTestCase(UpdateMetaTests), - ] - return unittest.TestSuite(all_tests) +UpdateMetaTests = type('UpdateMetaTests', (test_util.TestBase,), attrs)