run.py: register and develop test_fetch_symlinks

This commit is contained in:
Patrick Mezard 2008-12-10 11:03:19 -06:00
parent cc0dbae2c2
commit a9f4c82415
4 changed files with 75 additions and 13 deletions

View File

@ -35,6 +35,12 @@ ln -s b linkaa
rm d2/linka
ln -s b d2/linka
svn ci -m "update symlinks"
# Replace a symlink with a regular file
rm linkaa
echo data > linkaa
svn propdel svn:special linkaa
svn rm d2/linka
svn ci -m "undo link"
cd ../..
svnadmin dump testrepo > ../symlinks.svndump

View File

@ -1,6 +1,6 @@
SVN-fs-dump-format-version: 2
UUID: 0155d33a-8628-44e5-a968-540cca8db82a
UUID: f4b30fa8-841e-4d12-8994-eb41ecdeab2e
Revision-number: 0
Prop-content-length: 56
@ -9,7 +9,7 @@ Content-length: 56
K 8
svn:date
V 27
2008-11-16T15:00:25.793049Z
2008-12-07T12:10:46.975375Z
PROPS-END
Revision-number: 1
@ -27,7 +27,7 @@ pmezard
K 8
svn:date
V 27
2008-11-16T15:00:25.873999Z
2008-12-07T12:10:47.047283Z
PROPS-END
Node-path: branches
@ -63,7 +63,7 @@ pmezard
K 8
svn:date
V 27
2008-11-16T15:00:26.214702Z
2008-12-07T12:10:48.218632Z
PROPS-END
Node-path: trunk/a
@ -132,7 +132,7 @@ pmezard
K 8
svn:date
V 27
2008-11-16T15:00:29.163300Z
2008-12-07T12:10:51.153329Z
PROPS-END
Node-path: trunk/d2
@ -193,7 +193,7 @@ pmezard
K 8
svn:date
V 27
2008-11-16T15:00:30.171883Z
2008-12-07T12:10:52.174562Z
PROPS-END
Node-path: trunk/d2/linka
@ -214,3 +214,41 @@ Content-length: 6
link b
Revision-number: 5
Prop-content-length: 110
Content-length: 110
K 7
svn:log
V 9
undo link
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2008-12-07T12:10:53.200258Z
PROPS-END
Node-path: trunk/d2/linka
Node-action: delete
Node-path: trunk/linkaa
Node-kind: file
Node-action: change
Prop-content-length: 34
Text-content-length: 5
Text-content-md5: 6137cde4893c59f76f005a8123d8e8e6
Content-length: 39
K 13
svn:mergeinfo
V 0
PROPS-END
data

View File

@ -9,6 +9,7 @@ import test_fetch_command
import test_fetch_command_regexes
import test_fetch_exec
import test_fetch_renames
import test_fetch_symlinks
import test_fetch_truncated
import test_push_command
import test_push_renames
@ -22,6 +23,7 @@ def suite():
test_fetch_command_regexes.suite(),
test_fetch_exec.suite(),
test_fetch_renames.suite(),
test_fetch_symlinks.suite(),
test_fetch_truncated.suite(),
test_push_command.suite(),
test_push_renames.suite(),

View File

@ -18,15 +18,31 @@ class TestFetchSymlinks(test_util.TestBase):
continue
self.assertFalse(r[f].data().startswith('link '))
# Check symlinks in tip
tip = repo['tip']
links = {
'linkaa': 'b',
'd2/linka': 'b',
0: {
'linka': 'a',
'd/linka': 'a',
},
1: {
'linkaa': 'a',
'd2/linka': 'a',
},
2: {
'linkaa': 'b',
'd2/linka': 'b',
},
3: {
},
}
for f in tip.manifest():
self.assertEqual(f in links, 'l' in tip[f].flags())
if f in links:
self.assertEqual(links[f], tip[f].data())
for rev in repo:
ctx = repo[rev]
for f in ctx.manifest():
self.assertEqual(f in links[rev], 'l' in ctx[f].flags())
if f in links[rev]:
self.assertEqual(links[rev][f], ctx[f].data())
for f in links[rev]:
self.assertTrue(f in ctx)
def test_symlinks_stupid(self):
self.test_symlinks(True)