diff options
-rwxr-xr-x | pactest/pmtest.py | 7 | ||||
-rw-r--r-- | pactest/tests/scriptlet001.py | 17 | ||||
-rw-r--r-- | 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) |