diff --git a/pactest/tests/database010.py b/pactest/tests/database010.py new file mode 100644 index 00000000..662dc1b6 --- /dev/null +++ b/pactest/tests/database010.py @@ -0,0 +1,17 @@ +# TODO: these are labeled as database packages because they sure seem to me to +# be database-type operations. In their current implementation however they are +# calling -U and -R rather than -D. Obviously the tests will need to be updated +# if this changes. +self.description = "Remove a package with --dbonly, no files touched" + +p = pmpkg("dummy") +p.files = ["bin/dummy", + "usr/man/man1/dummy.1"] +self.addpkg2db("local", p) + +self.args = "-R --dbonly %s" % p.name + +self.addrule("PACMAN_RETCODE=0") +self.addrule("!PKG_EXIST=dummy") +for f in p.files: + self.addrule("FILE_EXIST=%s" % f) diff --git a/pactest/tests/database011.py b/pactest/tests/database011.py new file mode 100644 index 00000000..7d475d91 --- /dev/null +++ b/pactest/tests/database011.py @@ -0,0 +1,17 @@ +# TODO: these are labeled as database packages because they sure seem to me to +# be database-type operations. In their current implementation however they are +# calling -U and -R rather than -D. Obviously the tests will need to be updated +# if this changes. +self.description = "Install a package with --dbonly, no files touched" + +p = pmpkg("dummy") +p.files = ["bin/dummy", + "usr/man/man1/dummy.1"] +self.addpkg(p) + +self.args = "-U --dbonly %s" % p.filename() + +self.addrule("PACMAN_RETCODE=0") +self.addrule("PKG_EXIST=dummy") +for f in p.files: + self.addrule("!FILE_EXIST=%s" % f) diff --git a/pactest/tests/database012.py b/pactest/tests/database012.py new file mode 100644 index 00000000..a1f86980 --- /dev/null +++ b/pactest/tests/database012.py @@ -0,0 +1,31 @@ +# TODO: these are labeled as database packages because they sure seem to me to +# be database-type operations. In their current implementation however they are +# calling -U and -R rather than -D. Obviously the tests will need to be updated +# if this changes. +self.description = "Upgrade a package with --dbonly, no files touched" + +lp = pmpkg("dummy") +lp.files = ["bin/dummy", + "usr/man/man1/dummy.1"] +self.addpkg2db("local", lp) + +p = pmpkg("dummy", "2.0-1") +p.files = ["bin/dummy", + "bin/dummy2", + "usr/man/man1/dummy.1"] +self.addpkg(p) + +self.args = "-U --dbonly %s" % p.filename() + +self.addrule("PACMAN_RETCODE=0") +self.addrule("PKG_EXIST=dummy") +self.addrule("PKG_VERSION=dummy|2.0-1") +for f in lp.files: + self.addrule("!FILE_EXIST=%s" % f) +# TODO: I honestly think the above should NOT delete the original files, it +# should upgrade the DB entry without touching anything on the file system. +# E.g. this test should be the same as: +# pacman -R --dbonly dummy && pacman -U --dbonly dummy.pkg.tar.gz +#for f in lp.files: +# self.addrule("FILE_EXIST=%s" % f) +self.addrule("!FILE_EXIST=bin/dummy2")