summaryrefslogtreecommitdiffstats
path: root/test/pacman/tests/remove071.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/pacman/tests/remove071.py')
-rw-r--r--test/pacman/tests/remove071.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/pacman/tests/remove071.py b/test/pacman/tests/remove071.py
new file mode 100644
index 00000000..eff70a43
--- /dev/null
+++ b/test/pacman/tests/remove071.py
@@ -0,0 +1,33 @@
+# coding=utf8
+self.description = "Remove packages with evil filenames"
+
+self.filesystem = ["usr/bin/endwithspace",
+ "spaces/name"]
+
+p1 = pmpkg("spaces")
+p1.files = ["usr/bin/endwithspace ",
+ " spaces/name"]
+self.addpkg2db("local", p1)
+
+p2 = pmpkg("unicodechars")
+# somewhat derived from FS#9906
+p2.files = ["usr/share/Märchen",
+ "usr/share/ƏƐƕƺ",
+ "usr/share/предупреждение",
+ "usr/share/סֶאבױ",
+ "usr/share/←↯↻⇈",
+ "usr/share/アヅヨヾ",
+ "usr/share/错误"]
+self.addpkg2db("local", p2)
+
+self.args = "-R %s %s" % (p1.name, p2.name)
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("!PKG_EXIST=%s" % p1.name)
+self.addrule("!PKG_EXIST=%s" % p2.name)
+
+for f in p1.files:
+ self.addrule("!FILE_EXIST=%s" % f)
+ self.addrule("FILE_EXIST=%s" % f.strip())
+for f in p2.files:
+ self.addrule("!FILE_EXIST=%s" % f)