[pacman-dev] [PATCH] add new pactest for syncfirst with recursive deps

Dave Reisner d at falconindy.com
Mon Jan 2 17:22:13 EST 2012


Add 1 failing for the -Su case, and the same case using -S (and
passing).

This is based on a real (current) issue of upgrading staging chroots
with the new pacman in staging for a libarchive build, and a new
toolchain in testing.

Signed-off-by: Dave Reisner <dreisner at archlinux.org>
---
Longest. pactest. ever. And its pretty hideous. I'm sure this could be made a
little simpler by taking out some intermediate packages, but it was easier to
write these by just mimicking reality.

Dan, I think we had briefly discussed this, but I don't recall anything conclusive.
Eric brought this up in IRC, so I figured I'd write up some test so we don't
forget about it.

 test/pacman/tests/sync305.py |   67 ++++++++++++++++++++++++++++++++++++++++++
 test/pacman/tests/sync306.py |   63 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 130 insertions(+), 0 deletions(-)
 create mode 100644 test/pacman/tests/sync305.py
 create mode 100644 test/pacman/tests/sync306.py

diff --git a/test/pacman/tests/sync305.py b/test/pacman/tests/sync305.py
new file mode 100644
index 0000000..24fcee4
--- /dev/null
+++ b/test/pacman/tests/sync305.py
@@ -0,0 +1,67 @@
+self.description = "Sysupgrade: syncfirst with recursive/cascading deps"
+
+sp = pmpkg("pacman", "4.0.1-2")
+sp.depends = ["glibc>=2.15", "curl"]
+self.addpkg2db("sync", sp)
+
+glibcdep = pmpkg("glibc", "2.15-1")
+self.addpkg2db("sync", glibcdep)
+
+gcldep = pmpkg("gcc-libs", "4.6.2-5")
+gcldep.depends = ["glibc>=2.14"]
+self.addpkg2db("sync", gcldep)
+
+curldep = pmpkg("curl", "7.23.1-2")
+curldep.depends = ["openssl"]
+self.addpkg2db("sync", curldep)
+
+openssldep = pmpkg("openssl", "1.0.0.e-1")
+openssldep.depends = ["perl"]
+self.addpkg2db("sync", openssldep)
+
+gccdep = pmpkg("gcc", "4.6.2-5")
+gccdep.depends = ["gcc-libs=4.6.2-5"]
+self.addpkg2db("sync", gccdep)
+
+perldep = pmpkg("perl", "5.14.2-5")
+perldep.depends = ["db"]
+self.addpkg2db("sync", perldep)
+
+dbdep = pmpkg("db", "5.2.36-2")
+dbdep.depends = ["gcc-libs"]
+self.addpkg2db("sync", dbdep)
+
+
+lp = pmpkg("pacman", "4.0.1-1")
+lp.depends = ["glibc>=2.14", "curl"]
+self.addpkg2db("local", lp)
+
+lp2 = pmpkg("glibc", "2.14-2")
+self.addpkg2db("local", lp2)
+
+lp3 = pmpkg("curl", "7.23.1-2")
+self.addpkg2db("local", lp3)
+
+lp4 = pmpkg("gcc-libs", "4.6.2-3")
+self.addpkg2db("local", lp4)
+
+lp5 = pmpkg("gcc", "4.6.2-3")
+lp5.depends = ["gcc-libs=4.6.2-3"]
+self.addpkg2db("local", lp5)
+
+lp6 = pmpkg("perl", "5.14.2-5")
+lp6.depends = ["db"]
+self.addpkg2db("local", lp6)
+
+lp7 = pmpkg("db", "5.2.36-2")
+lp7.depends = ["gcc-libs"]
+self.addpkg2db("local", lp7)
+
+self.option["SyncFirst"] = ["pacman"]
+
+self.args = "-Su"
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pacman")
+self.addrule("PKG_VERSION=pacman|4.0.1-2")
+
+self.expectfailure = True
diff --git a/test/pacman/tests/sync306.py b/test/pacman/tests/sync306.py
new file mode 100644
index 0000000..ca7a547
--- /dev/null
+++ b/test/pacman/tests/sync306.py
@@ -0,0 +1,63 @@
+self.description = "install with recursive/cascading deps"
+
+sp = pmpkg("pacman", "4.0.1-2")
+sp.depends = ["glibc>=2.15", "curl"]
+self.addpkg2db("sync", sp)
+
+glibcdep = pmpkg("glibc", "2.15-1")
+self.addpkg2db("sync", glibcdep)
+
+gcldep = pmpkg("gcc-libs", "4.6.2-5")
+gcldep.depends = ["glibc>=2.14"]
+self.addpkg2db("sync", gcldep)
+
+curldep = pmpkg("curl", "7.23.1-2")
+curldep.depends = ["openssl"]
+self.addpkg2db("sync", curldep)
+
+openssldep = pmpkg("openssl", "1.0.0.e-1")
+openssldep.depends = ["perl"]
+self.addpkg2db("sync", openssldep)
+
+gccdep = pmpkg("gcc", "4.6.2-5")
+gccdep.depends = ["gcc-libs=4.6.2-5"]
+self.addpkg2db("sync", gccdep)
+
+perldep = pmpkg("perl", "5.14.2-5")
+perldep.depends = ["db"]
+self.addpkg2db("sync", perldep)
+
+dbdep = pmpkg("db", "5.2.36-2")
+dbdep.depends = ["gcc-libs"]
+self.addpkg2db("sync", dbdep)
+
+
+lp = pmpkg("pacman", "4.0.1-1")
+lp.depends = ["glibc>=2.14", "curl"]
+self.addpkg2db("local", lp)
+
+lp2 = pmpkg("glibc", "2.14-2")
+self.addpkg2db("local", lp2)
+
+lp3 = pmpkg("curl", "7.23.1-2")
+self.addpkg2db("local", lp3)
+
+lp4 = pmpkg("gcc-libs", "4.6.2-3")
+self.addpkg2db("local", lp4)
+
+lp5 = pmpkg("gcc", "4.6.2-3")
+lp5.depends = ["gcc-libs=4.6.2-3"]
+self.addpkg2db("local", lp5)
+
+lp6 = pmpkg("perl", "5.14.2-5")
+lp6.depends = ["db"]
+self.addpkg2db("local", lp6)
+
+lp7 = pmpkg("db", "5.2.36-2")
+lp7.depends = ["gcc-libs"]
+self.addpkg2db("local", lp7)
+
+self.args = "-S pacman"
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pacman")
+self.addrule("PKG_VERSION=pacman|4.0.1-2")
-- 
1.7.8.1



More information about the pacman-dev mailing list