diff options
author | Aaron Griffin <aaronmgriffin@gmail.com> | 2007-11-30 06:39:51 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-12-11 06:06:48 +0100 |
commit | f5478d68a67741236a2e9f42f2e524ee1bb26517 (patch) | |
tree | 7fcf7d7527a3be7e6706506fed7da8ef6edee5f2 | |
parent | 685a659656d670acb0d606f8e91c8984d47c98b5 (diff) | |
download | pacman-f5478d68a67741236a2e9f42f2e524ee1bb26517.tar.gz pacman-f5478d68a67741236a2e9f42f2e524ee1bb26517.tar.xz |
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 <aaronmgriffin@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
-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) |