mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-22 15:58:50 -05:00
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>
This commit is contained in:
parent
685a659656
commit
f5478d68a6
@ -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"]:
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user