From 029a8a9d44c6d6c9e86671e23b3d20018d8821e0 Mon Sep 17 00:00:00 2001
From: Nagy Gabor <ngaba@petra.hos.u-szeged.hu>
Date: Mon, 4 Jun 2007 09:37:46 -0400
Subject: Add five new pactest tests where pacman currently fails

Most of these new tests deal with provisions upon sync or upgrade being
changed by packages, and pacman not being smart enough to deal with
it yet.

Signed-off-by: Dan McGee <dan@archlinux.org>
---
 pactest/tests/remove041.py  | 21 +++++++++++++++++++++
 pactest/tests/sync300.py    | 15 +++++++++++++++
 pactest/tests/upgrade059.py | 28 ++++++++++++++++++++++++++++
 pactest/tests/upgrade060.py | 22 ++++++++++++++++++++++
 pactest/tests/upgrade061.py | 23 +++++++++++++++++++++++
 5 files changed, 109 insertions(+)
 create mode 100644 pactest/tests/remove041.py
 create mode 100644 pactest/tests/sync300.py
 create mode 100644 pactest/tests/upgrade059.py
 create mode 100644 pactest/tests/upgrade060.py
 create mode 100644 pactest/tests/upgrade061.py

(limited to 'pactest/tests')

diff --git a/pactest/tests/remove041.py b/pactest/tests/remove041.py
new file mode 100644
index 00000000..9ab7bf74
--- /dev/null
+++ b/pactest/tests/remove041.py
@@ -0,0 +1,21 @@
+self.description = "Remove a no longer needed package (multiple provision)"
+
+lp1 = pmpkg("pkg1")
+lp1.provides = ["imaginary"]
+lp1.requiredby = ["pkg3"]
+self.addpkg2db("local", lp1)
+
+lp2 = pmpkg("pkg2")
+lp2.provides = ["imaginary"]
+lp2.requiredby = ["pkg3"]
+self.addpkg2db("local", lp2)
+
+lp3 = pmpkg("pkg3")
+lp3.depends = ["imaginary"]
+self.addpkg2db("local", lp3)
+
+self.args = "-R %s" % lp1.name
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("!PKG_EXIST=pkg1")
+self.addrule("PKG_EXIST=pkg2")
diff --git a/pactest/tests/sync300.py b/pactest/tests/sync300.py
new file mode 100644
index 00000000..85fb850d
--- /dev/null
+++ b/pactest/tests/sync300.py
@@ -0,0 +1,15 @@
+self.description = "Sync with corrupt database (broken deps)"
+
+sp1 = pmpkg("pkg1")
+sp1.depends = ["pkg2=1.1"]
+self.addpkg2db("sync", sp1)
+
+sp2 = pmpkg("pkg2", "1.0-1")
+self.addpkg2db("sync", sp2)
+
+self.args = "-S %s" % sp1.name
+
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("!PKG_EXIST=pkg1")
+self.addrule("!PKG_EXIST=pkg2")
+self.addrule("!PKG_REQUIREDBY=pkg2|pkg1")
diff --git a/pactest/tests/upgrade059.py b/pactest/tests/upgrade059.py
new file mode 100644
index 00000000..933e4e74
--- /dev/null
+++ b/pactest/tests/upgrade059.py
@@ -0,0 +1,28 @@
+self.description = "Upgrade packages which would break a multiple-depend"
+
+lp1 = pmpkg("pkg1")
+lp1.depends = ["imaginary"]
+self.addpkg2db("local", lp1)
+
+lp2 = pmpkg("pkg2", "1.0-1")
+lp2.provides = ["imaginary"]
+lp2.requiredby = [ "pkg1" ]
+self.addpkg2db("local", lp2)
+
+lp3 = pmpkg("pkg3", "1.0-1")
+lp3.provides = ["imaginary"]
+lp3.requiredby = [ "pkg1" ]
+self.addpkg2db("local", lp3)
+
+p2 = pmpkg("pkg2", "1.0-2")
+self.addpkg(p2)
+
+p3 = pmpkg("pkg3", "1.0-2")
+self.addpkg(p3)
+
+self.args = "-U %s" % " ".join([p.filename() for p in p2, p3])
+
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("PKG_EXIST=pkg1")
+self.addrule("PKG_VERSION=pkg2|1.0-1")
+self.addrule("PKG_VERSION=pkg3|1.0-1")
diff --git a/pactest/tests/upgrade060.py b/pactest/tests/upgrade060.py
new file mode 100644
index 00000000..dd78bba3
--- /dev/null
+++ b/pactest/tests/upgrade060.py
@@ -0,0 +1,22 @@
+self.description = "Try to upgrade two packages which would break deps"
+
+lp1 = pmpkg("pkg1")
+lp1.depends = ["pkg2=1.0"]
+self.addpkg2db("local", lp1)
+
+lp2 = pmpkg("pkg2", "1.0-1")
+lp2.requiredby = [ "pkg1" ]
+self.addpkg2db("local", lp2)
+
+p1 = pmpkg("pkg1", "1.1-1")
+p1.depends = ["pkg2=1.0-1"]
+self.addpkg(p1)
+
+p2 = pmpkg("pkg2", "1.1-1")
+self.addpkg(p2)
+
+self.args = "-U %s" % " ".join([p.filename() for p in p1, p2])
+
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("PKG_VERSION=pkg1|1.0-1")
+self.addrule("PKG_VERSION=pkg2|1.0-1")
diff --git a/pactest/tests/upgrade061.py b/pactest/tests/upgrade061.py
new file mode 100644
index 00000000..0b1ed4e5
--- /dev/null
+++ b/pactest/tests/upgrade061.py
@@ -0,0 +1,23 @@
+self.description = "Try to upgrade two packages which would break deps"
+
+lp1 = pmpkg("pkg1", "1.0-1")
+lp1.depends = ["imaginary"]
+self.addpkg2db("local", lp1)
+
+lp2 = pmpkg("pkg2", "1.0-1")
+lp2.requiredby = [ "pkg1" ]
+lp2.provides = ["imaginary"]
+self.addpkg2db("local", lp2)
+
+p1 = pmpkg("pkg1", "1.0-2")
+p1.depends = ["imaginary"]
+self.addpkg(p1)
+
+p2 = pmpkg("pkg2", "1.0-2")
+self.addpkg(p2)
+
+self.args = "-U %s" % " ".join([p.filename() for p in p1, p2])
+
+self.addrule("PACMAN_RETCODE=1")
+self.addrule("PKG_VERSION=pkg1|1.0-1")
+self.addrule("PKG_VERSION=pkg2|1.0-1")
-- 
cgit v1.2.3-70-g09d2