comparison 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
comparison
equal deleted inserted replaced
887:f95c429124f3 888:c6388ed0ec0a
19 # these fixtures contain no files at HEAD and would result in empty clones 19 # these fixtures contain no files at HEAD and would result in empty clones
20 _skipshallow = set([ 20 _skipshallow = set([
21 'binaryfiles.svndump', 21 'binaryfiles.svndump',
22 'binaryfiles-broken.svndump', 22 'binaryfiles-broken.svndump',
23 'emptyrepo.svndump', 23 'emptyrepo.svndump',
24 ])
25
26 _skipall = set([
27 'project_root_not_repo_root.svndump',
28 ])
29
30 _skipstandard = set([
31 'subdir_is_file_prefix.svndump',
24 ]) 32 ])
25 33
26 def _do_case(self, name, stupid, layout): 34 def _do_case(self, name, stupid, layout):
27 subdir = test_util.subdir.get(name, '') 35 subdir = test_util.subdir.get(name, '')
28 repo, svnpath = self.load_and_fetch(name, subdir=subdir, stupid=stupid, 36 repo, svnpath = self.load_and_fetch(name, subdir=subdir, stupid=stupid,
63 return m 71 return m
64 72
65 attrs = {'_do_case': _do_case} 73 attrs = {'_do_case': _do_case}
66 fixtures = [f for f in os.listdir(test_util.FIXTURES) if f.endswith('.svndump')] 74 fixtures = [f for f in os.listdir(test_util.FIXTURES) if f.endswith('.svndump')]
67 for case in fixtures: 75 for case in fixtures:
68 # this fixture results in an empty repository, don't use it 76 if case in _skipall:
69 if case == 'project_root_not_repo_root.svndump':
70 continue 77 continue
71 bname = 'test_' + case[:-len('.svndump')] 78 bname = 'test_' + case[:-len('.svndump')]
72 attrs[bname] = buildmethod(case, bname, False, 'standard') 79 if case not in _skipstandard:
73 name = bname + '_stupid' 80 attrs[bname] = buildmethod(case, bname, False, 'standard')
74 attrs[name] = buildmethod(case, name, True, 'standard') 81 name = bname + '_stupid'
82 attrs[name] = buildmethod(case, name, True, 'standard')
75 name = bname + '_single' 83 name = bname + '_single'
76 attrs[name] = buildmethod(case, name, False, 'single') 84 attrs[name] = buildmethod(case, name, False, 'single')
77 # Disabled because the "stupid and real are the same" tests 85 # Disabled because the "stupid and real are the same" tests
78 # verify this plus even more. 86 # verify this plus even more.
79 # name = bname + '_single_stupid' 87 # name = bname + '_single_stupid'