diff options
Diffstat (limited to 'test/pacman/tests')
25 files changed, 264 insertions, 212 deletions
diff --git a/test/pacman/tests/Makefile.am b/test/pacman/tests/Makefile.am index 508534ac..9ab0c777 100644 --- a/test/pacman/tests/Makefile.am +++ b/test/pacman/tests/Makefile.am @@ -17,11 +17,9 @@ edit = sed \ $(CONFTESTS): Makefile - @echo ' ' GEN $@; - @$(RM) $@ $@.tmp - @test -f $(srcdir)/$@.in && $(edit) $(srcdir)/$@.in >$@.tmp || true - @test -f $@.tmp || false - @chmod a-w $@.tmp - @mv $@.tmp $@ + $(AM_V_at)$(RM) $@ $@.tmp + $(AM_V_GEN)test -f $(srcdir)/$@.in && $(edit) $(srcdir)/$@.in >$@.tmp || true + $(AM_V_at)chmod a-w $@.tmp + $(AM_V_at)mv $@.tmp $@ # vim:set ts=2 sw=2 noet: diff --git a/test/pacman/tests/fileconflict011.py b/test/pacman/tests/fileconflict011.py new file mode 100644 index 00000000..af48a067 --- /dev/null +++ b/test/pacman/tests/fileconflict011.py @@ -0,0 +1,17 @@ +self.description = "dir->file change during package upgrade (filesystem directory conflict)" + +lp1 = pmpkg("pkg1") +lp1.files = ["dir/"] +self.addpkg2db("local", lp1) + +self.filesystem = ["dir/conflict/"] + +p = pmpkg("pkg1", "1.0-2") +p.files = ["dir"] +self.addpkg2db("sync", p) + +self.args = "-S pkg1" + +self.addrule("PACMAN_RETCODE=1") +self.addrule("PKG_VERSION=pkg1|1.0-1") +self.addrule("DIR_EXIST=dir/conflict/") diff --git a/test/pacman/tests/fileconflict012.py b/test/pacman/tests/fileconflict012.py index 421b739a..95ab5681 100644 --- a/test/pacman/tests/fileconflict012.py +++ b/test/pacman/tests/fileconflict012.py @@ -14,4 +14,4 @@ self.args = "-S pkg1" self.addrule("PACMAN_RETCODE=1") self.addrule("PKG_VERSION=pkg1|1.0-1") -self.addrule("DIR_EXIST=dir/") +self.addrule("FILE_EXIST=dir/file") diff --git a/test/pacman/tests/fileconflict013.py b/test/pacman/tests/fileconflict013.py new file mode 100644 index 00000000..521b62e8 --- /dev/null +++ b/test/pacman/tests/fileconflict013.py @@ -0,0 +1,22 @@ +self.description = "file->file path change with same effective path (/lib as symlink)" + +lp1 = pmpkg("filesystem", "1.0-1") +lp1.files = ["usr/", + "usr/lib/", + "lib -> usr/lib/"] +self.addpkg2db("local", lp1) + +lp2 = pmpkg("pkg1", "1.0-1") +lp2.files = ["lib/libfoo.so"] +self.addpkg2db("local", lp2) + +sp1 = pmpkg("pkg1", "1.0-2") +sp1.files = ["usr/lib/libfoo.so"] +self.addpkg2db("sync", sp1) + +self.args = "-Su" + +self.addrule("PACMAN_RETCODE=0") +self.addrule("PKG_VERSION=pkg1|1.0-2") + +self.expectfailure = True diff --git a/test/pacman/tests/fileconflict015.py b/test/pacman/tests/fileconflict015.py new file mode 100644 index 00000000..78634d7e --- /dev/null +++ b/test/pacman/tests/fileconflict015.py @@ -0,0 +1,17 @@ +self.description = "conflict between a directory and a file" + +p1 = pmpkg("pkg1") +p1.files = ["foo/"] +self.addpkg2db("sync", p1) + +p2 = pmpkg("pkg2") +p2.files = ["foo"] +self.addpkg2db("sync", p2) + +self.args = "-S pkg1 pkg2" + +self.addrule("PACMAN_RETCODE=1") +self.addrule("!PKG_EXIST=pkg1") +self.addrule("!PKG_EXIST=pkg2") + +self.expectfailure = True diff --git a/test/pacman/tests/fileconflict016.py b/test/pacman/tests/fileconflict016.py new file mode 100644 index 00000000..93797f64 --- /dev/null +++ b/test/pacman/tests/fileconflict016.py @@ -0,0 +1,23 @@ +self.description = "file conflict with same effective path across packages (directory symlink)" + +lp1 = pmpkg("filesystem", "1.0-1") +lp1.files = ["usr/", + "usr/lib/", + "lib -> usr/lib/"] +self.addpkg2db("local", lp1) + +p1 = pmpkg("pkg1") +p1.files = ["lib/foo"] +self.addpkg2db("sync", p1) + +p2 = pmpkg("pkg2") +p2.files = ["usr/lib/foo"] +self.addpkg2db("sync", p2) + +self.args = "-S pkg1 pkg2" + +self.addrule("PACMAN_RETCODE=1") +self.addrule("!PKG_EXIST=pkg1") +self.addrule("!PKG_EXIST=pkg2") + +self.expectfailure = True diff --git a/test/pacman/tests/ignore008.py b/test/pacman/tests/ignore008.py new file mode 100644 index 00000000..12416ad9 --- /dev/null +++ b/test/pacman/tests/ignore008.py @@ -0,0 +1,29 @@ +self.description = "Sync with relevant ignored fnmatched packages" + +package1 = pmpkg("foopkg", "1.0-1") +self.addpkg2db("local", package1) + +package2 = pmpkg("barpkg", "2.0-1") +self.addpkg2db("local", package2) + +package3 = pmpkg("bazpkg", "3.0-1") +self.addpkg2db("local", package3) + + +package1up = pmpkg("foopkg", "2.0-1") +self.addpkg2db("sync", package1up) + +package2up = pmpkg("barpkg", "3.0-1") +self.addpkg2db("sync", package2up) + +package3up = pmpkg("bazpkg", "4.0-1") +self.addpkg2db("sync", package3up) + +self.option["IgnorePkg"] = ["foo*", "ba?pkg"] +self.args = "-Su" + + +self.addrule("PACMAN_RETCODE=0") +self.addrule("PKG_VERSION=foopkg|1.0-1") +self.addrule("PKG_VERSION=barpkg|2.0-1") +self.addrule("PKG_VERSION=bazpkg|3.0-1") diff --git a/test/pacman/tests/query007.py b/test/pacman/tests/query007.py new file mode 100644 index 00000000..35bb0ca6 --- /dev/null +++ b/test/pacman/tests/query007.py @@ -0,0 +1,11 @@ +self.description = "Query ownership of file in root" + +sp = pmpkg("dummy") +sp.files = ["etc/config"] +self.addpkg2db("local", sp) + +self.filesystem = ["config"] + +self.args = "-Qo /config" + +self.addrule("PACMAN_RETCODE=1") diff --git a/test/pacman/tests/remove031.py b/test/pacman/tests/remove031.py new file mode 100644 index 00000000..0ea09c87 --- /dev/null +++ b/test/pacman/tests/remove031.py @@ -0,0 +1,11 @@ +self.description = "Remove a package in HoldPkg" + +p1 = pmpkg("foopkg") +self.addpkg2db("local", p1) + +self.option["HoldPkg"] = ["???pkg"] + +self.args = "-R %s" % p1.name + +self.addrule("PACMAN_RETCODE=1") +self.addrule("PKG_EXIST=foopkg") diff --git a/test/pacman/tests/sync139.py b/test/pacman/tests/sync139.py new file mode 100644 index 00000000..0b0526d8 --- /dev/null +++ b/test/pacman/tests/sync139.py @@ -0,0 +1,23 @@ +self.description = "Sysupgrade of packages in fnmatch'd IgnoreGroup" + +sp1 = pmpkg("pkg1", "1.0-2") +sp1.groups = ["grp"] +sp2 = pmpkg("pkg2", "1.0-2") +sp2.groups = ["grp2"] + +for p in sp1, sp2: + self.addpkg2db("sync", p) + +lp1 = pmpkg("pkg1", "1.0-1") +lp2 = pmpkg("pkg2", "1.0-1") + +for p in lp1, lp2: + self.addpkg2db("local", p) + +self.option["IgnoreGroup"] = ["grp"] + +self.args = "-Su" + +self.addrule("PACMAN_RETCODE=0") +self.addrule("PKG_VERSION=pkg1|1.0-1") +self.addrule("PKG_VERSION=pkg2|1.0-2") diff --git a/test/pacman/tests/sync301.py b/test/pacman/tests/sync301.py deleted file mode 100644 index 96402fc3..00000000 --- a/test/pacman/tests/sync301.py +++ /dev/null @@ -1,27 +0,0 @@ -self.description = "Sysupgrade : pacman needs to be upgraded and has new deps" - -sp = pmpkg("pacman", "1.0-2") -sp.depends = ["dep"] -self.addpkg2db("sync", sp) - -spdep = pmpkg("dep") -self.addpkg2db("sync", spdep) - -sp1 = pmpkg("pkg1", "1.0-2") -self.addpkg2db("sync", sp1) - -lp = pmpkg("pacman", "1.0-1") -self.addpkg2db("local", lp) - -lp1 = pmpkg("pkg1", "1.0-1") -self.addpkg2db("local", lp1) - -self.option["SyncFirst"] = ["pacman"] - -self.args = "-Su" - -self.addrule("PACMAN_RETCODE=0") -self.addrule("PKG_EXIST=pacman") -self.addrule("PKG_VERSION=pacman|1.0-2") -self.addrule("PKG_VERSION=pkg1|1.0-1") -self.addrule("PKG_EXIST=dep") diff --git a/test/pacman/tests/sync302.py b/test/pacman/tests/sync302.py deleted file mode 100644 index 78e45c33..00000000 --- a/test/pacman/tests/sync302.py +++ /dev/null @@ -1,49 +0,0 @@ -self.description = "Sysupgrade : pacman needs to be upgraded and has updated deps" - -sp = pmpkg("pacman", "1.0-2") -sp.depends = ["zlib", "curl", "libarchive"] -self.addpkg2db("sync", sp) - -libcdep = pmpkg("glibc", "2.15-1") -self.addpkg2db("sync", libcdep) - -curldep = pmpkg("curl", "7.22-1") -self.addpkg2db("sync", curldep) - -libadep = pmpkg("libarchive", "2.8.5-1") -self.addpkg2db("sync", libadep) - -zlibdep = pmpkg("zlib", "1.2.5-3") -zlibdep.depends = ["glibc"] -self.addpkg2db("sync", zlibdep) - - -lp = pmpkg("pacman", "1.0-1") -self.addpkg2db("local", lp) - -lp1 = pmpkg("curl", "7.21.7-1") -self.addpkg2db("local", lp1) - -lp2 = pmpkg("glibc", "2.13-1") -self.addpkg2db("local", lp2) - -lp3 = pmpkg("libarchive", "2.8.4-1") -self.addpkg2db("local", lp3) - -lp4 = pmpkg("zlib", "1.2.5-3") -self.addpkg2db("local", lp4) - -self.option["SyncFirst"] = ["pacman"] - -self.args = "-Su" - -self.addrule("PACMAN_RETCODE=0") -self.addrule("PKG_VERSION=pacman|1.0-2") -self.addrule("PKG_EXIST=glibc") -self.addrule("PKG_EXIST=curl") -self.addrule("PKG_EXIST=libarchive") -# TODO: when SyncFirst recursive comes back, re-enable these -#self.addrule("PKG_VERSION=glibc|2.15-1") -#self.addrule("PKG_VERSION=curl|7.22-1") -#self.addrule("PKG_VERSION=libarchive|2.8.5-1") -self.addrule("PKG_EXIST=zlib") diff --git a/test/pacman/tests/sync303.py b/test/pacman/tests/sync303.py deleted file mode 100644 index 9d7bab58..00000000 --- a/test/pacman/tests/sync303.py +++ /dev/null @@ -1,35 +0,0 @@ -self.description = "Sysupgrade: upgrade pacman with deps as provisions" - -sp = pmpkg("pacman", "1.0-2") -sp.depends = ["zlib"] -self.addpkg2db("sync", sp) - -glibcdep = pmpkg("glibc", "2.13-1") -self.addpkg2db("sync", glibcdep) - -zlibdep = pmpkg("zlib", "1.2.5-3") -zlibdep.depends = ["glibc"] -self.addpkg2db("sync", zlibdep) - - -lp = pmpkg("pacman", "1.0-1") -lp.depends = ["zlib"] -self.addpkg2db("local", lp) - -lp2 = pmpkg("glibc-awesome", "2.13-2") -lp2.provides = ["glibc=2.13"] -lp2.conflicts = ["glibc"] -self.addpkg2db("local", lp2) - -lp3 = pmpkg("zlib", "1.2.5-3") -self.addpkg2db("local", lp3) - -self.option["SyncFirst"] = ["pacman"] - -self.args = "-Su" - -self.addrule("PACMAN_RETCODE=0") -self.addrule("PKG_VERSION=pacman|1.0-2") -self.addrule("PKG_EXIST=glibc-awesome") -self.addrule("PKG_VERSION=glibc-awesome|2.13-2") -self.addrule("PKG_EXIST=zlib") diff --git a/test/pacman/tests/sync304.py b/test/pacman/tests/sync304.py deleted file mode 100644 index 18058c99..00000000 --- a/test/pacman/tests/sync304.py +++ /dev/null @@ -1,25 +0,0 @@ -self.description = "Sysupgrade: upgrade pacman being depended on" - -sp = pmpkg("pacman", "4.0.1-1") -self.addpkg2db("sync", sp) - -sp2 = pmpkg("pyalpm", "2-1") -sp2.depends = ["pacman>=4.0", "pacman<4.1"] -self.addpkg2db("sync", sp2) - -lp = pmpkg("pacman", "3.5.4-1") -self.addpkg2db("local", lp) - -lp2 = pmpkg("pyalpm", "1-1") -lp2.depends = ["pacman>=3.5", "pacman<3.6"] -self.addpkg2db("local", lp2) - -self.option["SyncFirst"] = ["pacman"] - -self.args = "-Su" - -self.addrule("PACMAN_RETCODE=0") -self.addrule("PKG_VERSION=pacman|4.0.1-1") -self.addrule("PKG_VERSION=pyalpm|2-1") - -self.expectfailure = True diff --git a/test/pacman/tests/sync305.py b/test/pacman/tests/sync305.py deleted file mode 100644 index 62005b58..00000000 --- a/test/pacman/tests/sync305.py +++ /dev/null @@ -1,64 +0,0 @@ -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_VERSION=pacman|4.0.1-2") diff --git a/test/pacman/tests/sync502.py b/test/pacman/tests/sync502.py new file mode 100644 index 00000000..5cc42c9f --- /dev/null +++ b/test/pacman/tests/sync502.py @@ -0,0 +1,17 @@ +self.description = "Install a package from a sync db with fnmatch'ed NoExtract" + +sp = pmpkg("dummy") +sp.files = ["bin/dummy", + "usr/share/man/man8", + "usr/share/man/man1/dummy.1"] +self.addpkg2db("sync", sp) + +self.option["NoExtract"] = ["usr/share/man/*"] + +self.args = "-S %s" % sp.name + +self.addrule("PACMAN_RETCODE=0") +self.addrule("PKG_EXIST=dummy") +self.addrule("FILE_EXIST=bin/dummy") +self.addrule("!FILE_EXIST=usr/share/man/man8") +self.addrule("!FILE_EXIST=usr/share/man/man1/dummy.1") diff --git a/test/pacman/tests/sync503.py b/test/pacman/tests/sync503.py new file mode 100644 index 00000000..9d24f00d --- /dev/null +++ b/test/pacman/tests/sync503.py @@ -0,0 +1,18 @@ +self.description = "Upgrade a package, with a fnmatch in NoUpgrade" + +sp = pmpkg("dummy", "1.0-2") +sp.files = ["etc/dummy.conf"] +self.addpkg2db("sync", sp) + +lp = pmpkg("dummy") +lp.files = ["etc/dummy.conf"] +self.addpkg2db("local", lp) + +self.option["NoUpgrade"] = ["etc/dummy.*"] + +self.args = "-S %s" % sp.name + +self.addrule("PKG_VERSION=dummy|1.0-2") +self.addrule("!FILE_MODIFIED=etc/dummy.conf") +self.addrule("FILE_PACNEW=etc/dummy.conf") +self.addrule("!FILE_PACSAVE=etc/dummy.conf") diff --git a/test/pacman/tests/sync700.py b/test/pacman/tests/sync700.py new file mode 100644 index 00000000..0002b643 --- /dev/null +++ b/test/pacman/tests/sync700.py @@ -0,0 +1,22 @@ +self.description = "do not remove directory symlink if another package has file in its path" + +lp1 = pmpkg("pkg1") +lp1.files = ["usr/lib/foo", + "lib -> usr/lib"] +self.addpkg2db("local", lp1) + +lp2 = pmpkg("pkg2") +lp2.files = ["lib/bar"] +self.addpkg2db("local", lp2) + +p = pmpkg("pkg1", "1.0-2") +p.files = ["usr/lib/foo"] +self.addpkg2db("sync", p) + +self.args = "-S pkg1" + +self.addrule("PACMAN_RETCODE=1") +self.addrule("PKG_VERSION=pkg1|1.0-1") +self.addrule("FILE_EXIST=/lib/bar") + +self.expectfailure = True diff --git a/test/pacman/tests/sync701.py b/test/pacman/tests/sync701.py new file mode 100644 index 00000000..201f6028 --- /dev/null +++ b/test/pacman/tests/sync701.py @@ -0,0 +1,22 @@ +self.description = "do not remove directory symlink if incoming package has file in its path (order 1)" + +lp = pmpkg("pkg1") +lp.files = ["usr/lib/foo", + "lib -> usr/lib"] +self.addpkg2db("local", lp) + +p1 = pmpkg("pkg1", "1.0-2") +p1.files = ["usr/lib/foo"] +self.addpkg2db("sync", p1) + +p2 = pmpkg("pkg2") +p2.files = ["lib/bar"] +self.addpkg2db("sync", p2) + +self.args = "-S pkg1 pkg2" + +self.addrule("PACMAN_RETCODE=1") +self.addrule("PKG_VERSION=pkg1|1.0-1") +self.addrule("!PKG_EXIST=pkg2") + +self.expectfailure = True diff --git a/test/pacman/tests/sync702.py b/test/pacman/tests/sync702.py new file mode 100644 index 00000000..ee4eef95 --- /dev/null +++ b/test/pacman/tests/sync702.py @@ -0,0 +1,22 @@ +self.description = "do not remove directory symlink if incoming package has file in its path (order 2)" + +lp = pmpkg("pkg2") +lp.files = ["usr/lib/foo", + "lib -> usr/lib"] +self.addpkg2db("local", lp) + +p1 = pmpkg("pkg1") +p1.files = ["lib/bar"] +self.addpkg2db("sync", p1) + +p2 = pmpkg("pkg2", "1.0-2") +p2.files = ["usr/lib/foo"] +self.addpkg2db("sync", p2) + +self.args = "-S pkg1 pkg2" + +self.addrule("PACMAN_RETCODE=1") +self.addrule("PKG_VERSION=pkg2|1.0-1") +self.addrule("!PKG_EXIST=pkg1") + +self.expectfailure = True diff --git a/test/pacman/tests/upgrade012.py b/test/pacman/tests/upgrade012.py index dba8dc18..4d9f0cd1 100644 --- a/test/pacman/tests/upgrade012.py +++ b/test/pacman/tests/upgrade012.py @@ -6,7 +6,7 @@ self.addpkg(p) self.filesystem = ["bin/dummy"] -self.args = "-Uf %s" % p.filename() +self.args = "-U --force %s" % p.filename() self.addrule("PACMAN_RETCODE=0") self.addrule("PKG_EXIST=dummy") diff --git a/test/pacman/tests/upgrade014.py b/test/pacman/tests/upgrade014.py index 1632dd36..93c2fe2b 100644 --- a/test/pacman/tests/upgrade014.py +++ b/test/pacman/tests/upgrade014.py @@ -13,7 +13,7 @@ p2.files = ["bin/foobar", for p in p1, p2: self.addpkg(p) -self.args = "-Uf %s" % " ".join([p.filename() for p in p1, p2]) +self.args = "-U --force %s" % " ".join([p.filename() for p in p1, p2]) self.addrule("PACMAN_RETCODE=0") for p in p1, p2: diff --git a/test/pacman/tests/upgrade015.py b/test/pacman/tests/upgrade015.py index 22f7c36b..ea6046cb 100644 --- a/test/pacman/tests/upgrade015.py +++ b/test/pacman/tests/upgrade015.py @@ -6,7 +6,7 @@ self.addpkg(p) self.filesystem = ["etc/dummy.conf"] -self.args = "-Uf %s" % p.filename() +self.args = "-U --force %s" % p.filename() self.addrule("PACMAN_RETCODE=0") self.addrule("PKG_EXIST=dummy") diff --git a/test/pacman/tests/upgrade016.py b/test/pacman/tests/upgrade016.py index dd31c9ab..b6b3f3ae 100644 --- a/test/pacman/tests/upgrade016.py +++ b/test/pacman/tests/upgrade016.py @@ -7,7 +7,7 @@ self.addpkg(p) self.filesystem = ["etc/dummy.conf"] -self.args = "-Uf %s" % p.filename() +self.args = "-U --force %s" % p.filename() self.addrule("PACMAN_RETCODE=0") self.addrule("PKG_EXIST=dummy") diff --git a/test/pacman/tests/upgrade046.py b/test/pacman/tests/upgrade046.py index 12390647..a02a7132 100644 --- a/test/pacman/tests/upgrade046.py +++ b/test/pacman/tests/upgrade046.py @@ -20,7 +20,7 @@ p2.files = ["bin/foobar"] for p in p1, p2: self.addpkg(p) -self.args = "-Uf %s" % " ".join([p.filename() for p in p1, p2]) +self.args = "-U --force %s" % " ".join([p.filename() for p in p1, p2]) self.addrule("PACMAN_RETCODE=0") for p in p1, p2: |