1 from bup import metadata
6 def test_clean_up_archive_path():
7 cleanup = metadata._clean_up_path_for_archive
8 WVPASSEQ(cleanup('foo'), 'foo')
9 WVPASSEQ(cleanup('/foo'), 'foo')
10 WVPASSEQ(cleanup('///foo'), 'foo')
11 WVPASSEQ(cleanup('/foo/bar'), 'foo/bar')
12 WVPASSEQ(cleanup('foo/./bar'), 'foo/bar')
13 WVPASSEQ(cleanup('/foo/./bar'), 'foo/bar')
14 WVPASSEQ(cleanup('/foo/./bar/././baz'), 'foo/bar/baz')
15 WVPASSEQ(cleanup('/foo/./bar///././baz'), 'foo/bar/baz')
16 WVPASSEQ(cleanup('//./foo/./bar///././baz/.///'), 'foo/bar/baz/')
17 WVPASSEQ(cleanup('./foo/./.bar'), 'foo/.bar')
18 WVPASSEQ(cleanup('./foo/.'), 'foo')
19 WVPASSEQ(cleanup('./foo/..'), '.')
20 WVPASSEQ(cleanup('//./..//.../..//.'), '.')
21 WVPASSEQ(cleanup('//./..//..././/.'), '...')
22 WVPASSEQ(cleanup('/////.'), '.')
23 WVPASSEQ(cleanup('/../'), '.')
24 WVPASSEQ(cleanup(''), '.')
28 def test_risky_path():
29 risky = metadata._risky_path
31 WVPASS(risky('///foo'))
32 WVPASS(risky('/../foo'))
33 WVPASS(risky('../foo'))
34 WVPASS(risky('foo/..'))
35 WVPASS(risky('foo/../'))
36 WVPASS(risky('foo/../bar'))
39 WVFAIL(risky('foo///'))
40 WVFAIL(risky('./foo'))
41 WVFAIL(risky('foo/.'))
42 WVFAIL(risky('./foo/.'))
43 WVFAIL(risky('foo/bar'))
44 WVFAIL(risky('foo/./bar'))
48 def test_clean_up_extract_path():
49 cleanup = metadata._clean_up_extract_path
50 WVPASSEQ(cleanup('/foo'), 'foo')
51 WVPASSEQ(cleanup('///foo'), 'foo')
52 WVFAIL(cleanup('/../foo'))
53 WVFAIL(cleanup('../foo'))
54 WVFAIL(cleanup('foo/..'))
55 WVFAIL(cleanup('foo/../'))
56 WVFAIL(cleanup('foo/../bar'))
57 WVPASSEQ(cleanup('foo'), 'foo')
58 WVPASSEQ(cleanup('foo/'), 'foo/')
59 WVPASSEQ(cleanup('foo///'), 'foo///')
60 WVPASSEQ(cleanup('./foo'), './foo')
61 WVPASSEQ(cleanup('foo/.'), 'foo/.')
62 WVPASSEQ(cleanup('./foo/.'), './foo/.')
63 WVPASSEQ(cleanup('foo/bar'), 'foo/bar')
64 WVPASSEQ(cleanup('foo/./bar'), 'foo/./bar')
65 WVPASSEQ(cleanup('/'), '.')
66 WVPASSEQ(cleanup('./'), './')
67 WVPASSEQ(cleanup('///foo/bar'), 'foo/bar')
68 WVPASSEQ(cleanup('///foo/bar'), 'foo/bar')