pacman/test/pacman/tests/sync600.py

52 lines
1.6 KiB
Python

# 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)