summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChantry Xavier <shiningxc@gmail.com>2007-09-23 16:53:05 +0200
committerDan McGee <dan@archlinux.org>2007-09-23 19:50:03 -0500
commit6898bb0f9742e078f2c45609cf00d43438a14843 (patch)
treeec0a3261ac222c8da4c2d2c0a17d9509e6f8274b
parent8acb6d24af81d57ed87339aaf3472bda28b3a38d (diff)
downloadpacman-6898bb0f9742e078f2c45609cf00d43438a14843.tar.xz
Add two pactests with broken requiredby, and two about pacsave handling.
remove048 is the case mentioned there (fails in 3.0 but works in 3.1) : http://www.archlinux.org/pipermail/pacman-dev/2007-September/009294.html It's the same as remove046 with -R instead of -Rc. sync060 is a case reported this morning on IRC : a pacman -Su wanted to replace gensplashutils by gensplash, but pacman said gensplashutils was required by initscripts-gensplash, while initscripts-gensplash was not even installed. This is also fixed in the current 3.1 code though. upgrade02{4,5} are the backup handling problem I described there : http://www.archlinux.org/pipermail/pacman-dev/2007-September/009376.html Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
-rw-r--r--pactest/tests/remove048.py10
-rw-r--r--pactest/tests/sync060.py15
-rw-r--r--pactest/tests/upgrade024.py15
-rw-r--r--pactest/tests/upgrade025.py16
4 files changed, 56 insertions, 0 deletions
diff --git a/pactest/tests/remove048.py b/pactest/tests/remove048.py
new file mode 100644
index 00000000..2d9b4803
--- /dev/null
+++ b/pactest/tests/remove048.py
@@ -0,0 +1,10 @@
+self.description = "Remove a package with a broken required by"
+
+lp1 = pmpkg("pkg1")
+lp1.requiredby = [ "dep" ]
+self.addpkg2db("local", lp1)
+
+self.args = "-R %s" % lp1.name
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("!PKG_EXIST=pkg1")
diff --git a/pactest/tests/sync060.py b/pactest/tests/sync060.py
new file mode 100644
index 00000000..45f0c3e0
--- /dev/null
+++ b/pactest/tests/sync060.py
@@ -0,0 +1,15 @@
+self.description = "Replace a package with a broken required by"
+
+lp1 = pmpkg("pkg1")
+lp1.replaces = [ "pkg2" ]
+self.addpkg2db("sync", lp1)
+
+lp2 = pmpkg("pkg2")
+lp2.requiredby = [ "fake" ]
+self.addpkg2db("local", lp2)
+
+self.args = "-Su"
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("!PKG_EXIST=pkg2")
diff --git a/pactest/tests/upgrade024.py b/pactest/tests/upgrade024.py
new file mode 100644
index 00000000..ec2f7623
--- /dev/null
+++ b/pactest/tests/upgrade024.py
@@ -0,0 +1,15 @@
+self.description = "Upgrade a package, with a file leaving 'backup'"
+
+lp = pmpkg("dummy")
+lp.files = ["etc/dummy.conf*"]
+lp.backup = ["etc/dummy.conf"]
+self.addpkg2db("local", lp)
+
+p = pmpkg("dummy", "1.0-2")
+self.addpkg(p)
+
+self.args = "-U %s" % p.filename()
+
+self.addrule("PKG_VERSION=dummy|1.0-2")
+self.addrule("FILE_PACSAVE=etc/dummy.conf")
+self.addrule("!FILE_EXIST=etc/dummy.conf")
diff --git a/pactest/tests/upgrade025.py b/pactest/tests/upgrade025.py
new file mode 100644
index 00000000..b78a2dd1
--- /dev/null
+++ b/pactest/tests/upgrade025.py
@@ -0,0 +1,16 @@
+self.description = "Upgrade a package, with a file leaving 'backup' but staying in the pkg"
+
+lp = pmpkg("dummy")
+lp.files = ["etc/dummy.conf*"]
+lp.backup = ["etc/dummy.conf"]
+self.addpkg2db("local", lp)
+
+p = pmpkg("dummy", "1.0-2")
+p.files = ["etc/dummy.conf"]
+self.addpkg(p)
+
+self.args = "-U %s" % p.filename()
+
+self.addrule("PKG_VERSION=dummy|1.0-2")
+self.addrule("FILE_PACSAVE=etc/dummy.conf")
+self.addrule("FILE_EXIST=etc/dummy.conf")