summaryrefslogtreecommitdiff
path: root/test/pacman/tests/sync600.py
blob: e0be668c4967be418bee984ecd5c34ab5b342842 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# coding=utf8
self.description = "Sync packages with evil filenames"

self.filesystem = ["usr/bin/endwithspace",
                   "usr/bin/newendwithspace",
                   "usr/bin/disappear",
                   "spaces/name",
                   "spaces/name2"]

p1 = pmpkg("spaces")
p1.files = ["usr/bin/endwithspace ",
            "usr/bin/disappear ",
            " spaces/name",
            " spaces/gone"]
self.addpkg2db("local", p1)

sp1 = pmpkg("spaces", "1.1-1")
sp1.files = ["usr/bin/endwithspace ",
             "usr/bin/newendwithspace ",
             " spaces/name",
             " spaces/name2"]
self.addpkg2db("sync", sp1)

names = ["Märchen", "ƏƐƕƺ", "предупреждение", "סֶאבױ",
         "←↯↻⇈", "アヅヨヾ", "错误"]

p2 = pmpkg("unicodechars")
# somewhat derived from FS#9906
p2.files = ["usr/share/%s" % name for name in names]
self.addpkg2db("local", p2)

sp2 = pmpkg("unicodechars", "2.0-1")
sp2.files = ["usr/man/%s" % name for name in names]
self.addpkg2db("sync", sp2)

self.args = "-S %s %s" % (sp1.name, sp2.name)

self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_VERSION=%s|%s" % (sp1.name, sp1.version))
self.addrule("PKG_VERSION=%s|%s" % (sp2.name, sp2.version))

for f in self.filesystem:
    self.addrule("FILE_EXIST=%s" % f)
self.addrule("FILE_EXIST=usr/bin/endwithspace ")
self.addrule("FILE_EXIST= spaces/name")
self.addrule("FILE_EXIST= spaces/name2")
self.addrule("!FILE_EXIST=usr/bin/disappear ")
for f in p2.files:
    self.addrule("!FILE_EXIST=%s" % f)
for f in sp2.files:
    self.addrule("FILE_EXIST=%s" % f)