diff tests/comprehensive/test_verify_and_startrev.py @ 888:c6388ed0ec0a

svnmeta: only remove directory components in normalize() Previously, a file beginning with the repository subdirectory would be stripped, resulting in a leftover file name with a wrong name. A subsequent pull of a revision modifying the file would add it under its correct name, but leave the leftover file.
author Dan Villiom Podlaski Christiansen <dan@cabo.dk>
date Wed, 14 Dec 2011 00:07:57 +0100
parents d3ff5807f1bd
children 3bfb7e985c47
line wrap: on
line diff
--- a/tests/comprehensive/test_verify_and_startrev.py
+++ b/tests/comprehensive/test_verify_and_startrev.py
@@ -23,6 +23,14 @@ from hgsubversion import svncommands
     'emptyrepo.svndump',
 ])
 
+_skipall = set([
+    'project_root_not_repo_root.svndump',
+])
+
+_skipstandard = set([
+    'subdir_is_file_prefix.svndump',
+])
+
 def _do_case(self, name, stupid, layout):
     subdir = test_util.subdir.get(name, '')
     repo, svnpath = self.load_and_fetch(name, subdir=subdir, stupid=stupid,
@@ -65,13 +73,13 @@ def buildmethod(case, name, stupid, layo
 attrs = {'_do_case': _do_case}
 fixtures = [f for f in os.listdir(test_util.FIXTURES) if f.endswith('.svndump')]
 for case in fixtures:
-    # this fixture results in an empty repository, don't use it
-    if case == 'project_root_not_repo_root.svndump':
+    if case in _skipall:
         continue
     bname = 'test_' + case[:-len('.svndump')]
-    attrs[bname] = buildmethod(case, bname, False, 'standard')
-    name = bname + '_stupid'
-    attrs[name] = buildmethod(case, name, True, 'standard')
+    if case not in _skipstandard:
+        attrs[bname] = buildmethod(case, bname, False, 'standard')
+        name = bname + '_stupid'
+        attrs[name] = buildmethod(case, name, True, 'standard')
     name = bname + '_single'
     attrs[name] = buildmethod(case, name, False, 'single')
     # Disabled because the "stupid and real are the same" tests