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 <dreis...@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