From f5478d68a67741236a2e9f42f2e524ee1bb26517 Mon Sep 17 00:00:00 2001 From: Aaron Griffin Date: Thu, 29 Nov 2007 23:39:51 -0600 Subject: Add real scriptlet checking for pactest Due to commit da1222de2e30aabcae9d17bbfa10bbf0672338af, we can now use fakechroot to completely run scriptlet pactests Use "which" functionality so as not to REQUIRE it for all users Signed-off-by: Aaron Griffin Signed-off-by: Dan McGee --- pactest/pmtest.py | 7 +++++++ pactest/tests/scriptlet001.py | 17 ++++++----------- pactest/tests/scriptlet002.py | 17 ++++++----------- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/pactest/pmtest.py b/pactest/pmtest.py index 457028db..be36914b 100755 --- a/pactest/pmtest.py +++ b/pactest/pmtest.py @@ -189,6 +189,13 @@ class pmtest: cmd = [""] if os.geteuid() != 0: cmd.append("fakeroot") + + fakechroot = which("fakechroot") + if not fakechroot: + print "WARNING: fakechroot not found, scriptlet tests WILL fail!!!" + else: + cmd.append("fakechroot") + if pacman["gdb"]: cmd.append("libtool gdb --args") if pacman["valgrind"]: diff --git a/pactest/tests/scriptlet001.py b/pactest/tests/scriptlet001.py index 3609d167..54a46aae 100644 --- a/pactest/tests/scriptlet001.py +++ b/pactest/tests/scriptlet001.py @@ -1,21 +1,16 @@ -# quick note here - chroot() is expected to fail. We're not checking the -# validity of the scripts, only that they fire (or try to) self.description = "Scriptlet test (pre/post install)" -lpsh = pmpkg("sh") -lpsh.files = ['bin/sh'] -self.addpkg2db("local", lpsh) - p1 = pmpkg("dummy") p1.files = ['etc/dummy.conf'] -p1.install['pre_install'] = "ls /etc"; -p1.install['post_install'] = "ls /etc"; +pre = "OUTPUT FROM PRE_INSTALL" +post = "OUTPUT FROM POST_INSTALL" +p1.install['pre_install'] = "echo " + pre +p1.install['post_install'] = "echo " + post self.addpkg(p1) # --debug is necessary to check PACMAN_OUTPUT self.args = "--debug -U %s" % p1.filename() self.addrule("PACMAN_RETCODE=0") -self.addrule("FILE_EXIST=bin/sh") -self.addrule("PACMAN_OUTPUT=pre_install") -self.addrule("PACMAN_OUTPUT=post_install") +self.addrule("PACMAN_OUTPUT=" + pre) +self.addrule("PACMAN_OUTPUT=" + post) diff --git a/pactest/tests/scriptlet002.py b/pactest/tests/scriptlet002.py index 38ed5fd0..dd792b82 100644 --- a/pactest/tests/scriptlet002.py +++ b/pactest/tests/scriptlet002.py @@ -1,21 +1,16 @@ -# quick note here - chroot() is expected to fail. We're not checking the -# validity of the scripts, only that they fire (or try to) self.description = "Scriptlet test (pre/post remove)" -lpsh = pmpkg("sh") -lpsh.files = ['bin/sh'] -self.addpkg2db("local", lpsh) - p1 = pmpkg("dummy") p1.files = ['etc/dummy.conf'] -p1.install['pre_remove'] = "ls /etc"; -p1.install['post_remove'] = "ls /etc"; +pre = "OUTPUT FROM PRE_REMOVE"; +post = "OUTPUT FROM POST_REMOVE"; +p1.install['pre_remove'] = "echo " + pre +p1.install['post_remove'] = "echo " + post self.addpkg2db("local", p1) # --debug is necessary to check PACMAN_OUTPUT self.args = "--debug -R %s" % p1.name self.addrule("PACMAN_RETCODE=0") -self.addrule("FILE_EXIST=bin/sh") -self.addrule("PACMAN_OUTPUT=pre_remove") -self.addrule("PACMAN_OUTPUT=post_remove") +self.addrule("PACMAN_OUTPUT=" + pre) +self.addrule("PACMAN_OUTPUT=" + post) -- cgit v1.2.3-70-g09d2