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)