[pacman-dev] [PATCH] pactest: remove PACMAN_OUTPUT from ldconfig tests
This removes the last usages of this rule that aren't explicitly looking at real output from pacman. Notably, these tests depended on one particular debug logger not ever being changed, which is too fragile, not to mention doesn't work at all with --nolog. Signed-off-by: Dan McGee <dan@archlinux.org> --- test/pacman/ldconfig.stub | 4 ++++ test/pacman/pmtest.py | 7 ++++++- test/pacman/tests/ldconfig001.py | 9 +++------ test/pacman/tests/ldconfig002.py | 7 ++----- test/pacman/tests/ldconfig003.py | 7 +------ test/pacman/util.py | 1 + 6 files changed, 17 insertions(+), 18 deletions(-) create mode 100755 test/pacman/ldconfig.stub diff --git a/test/pacman/ldconfig.stub b/test/pacman/ldconfig.stub new file mode 100755 index 0000000..d261a04 --- /dev/null +++ b/test/pacman/ldconfig.stub @@ -0,0 +1,4 @@ +#!/bin/sh +# A simple stub to copy into the chroot to fake ldconfig. +# Simply appends a line to /etc/ld.so.cache if called. +echo "ldconfig called" >> /etc/ld.so.cache diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py index 3acf5d8..4e1ecd0 100644 --- a/test/pacman/pmtest.py +++ b/test/pacman/pmtest.py @@ -119,13 +119,18 @@ def generate(self): logdir = os.path.join(self.root, os.path.dirname(util.LOGFILE)) etcdir = os.path.join(self.root, os.path.dirname(util.PACCONF)) bindir = os.path.join(self.root, "bin") - sys_dirs = [dbdir, cachedir, syncdir, tmpdir, logdir, etcdir, bindir] + sbindir = os.path.join(self.root, "sbin") + sys_dirs = [dbdir, cachedir, syncdir, tmpdir, logdir, etcdir, bindir, sbindir] for sys_dir in sys_dirs: if not os.path.isdir(sys_dir): vprint("\t%s" % sys_dir[len(self.root)+1:]) os.makedirs(sys_dir, 0755) # Only the dynamically linked binary is needed for fakechroot shutil.copy("/bin/sh", bindir) + shutil.copy(os.path.join(util.SELFPATH, "ldconfig.stub"), + os.path.join(sbindir, "ldconfig")) + ld_so_conf = open(os.path.join(etcdir, "ld.so.conf"), "w") + ld_so_conf.close() # Configuration file vprint(" Creating configuration file") diff --git a/test/pacman/tests/ldconfig001.py b/test/pacman/tests/ldconfig001.py index aa029ba..a264326 100644 --- a/test/pacman/tests/ldconfig001.py +++ b/test/pacman/tests/ldconfig001.py @@ -1,12 +1,9 @@ -# 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 = "Make sure ldconfig runs on an add operation" +self.description = "Make sure ldconfig runs on an upgrade operation" p = pmpkg("dummy") self.addpkg(p) -# --debug is necessary to check PACMAN_OUTPUT -self.args = "--debug -U %s" % p.filename() +self.args = "-U %s" % p.filename() self.addrule("PACMAN_RETCODE=0") -self.addrule("PACMAN_OUTPUT=running ldconfig") +self.addrule("FILE_EXIST=/etc/ld.so.cache") diff --git a/test/pacman/tests/ldconfig002.py b/test/pacman/tests/ldconfig002.py index c028ce3..2628dc7 100644 --- a/test/pacman/tests/ldconfig002.py +++ b/test/pacman/tests/ldconfig002.py @@ -1,5 +1,3 @@ -# 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 = "Make sure ldconfig runs on an upgrade operation" lp = pmpkg("dummy") @@ -8,9 +6,8 @@ p = pmpkg("dummy", "1.0-2") self.addpkg(p) -# --debug is necessary to check PACMAN_OUTPUT -self.args = "--debug -U %s" % p.filename() +self.args = "-U %s" % p.filename() self.addrule("PACMAN_RETCODE=0") self.addrule("PKG_VERSION=dummy|1.0-2") -self.addrule("PACMAN_OUTPUT=running ldconfig") +self.addrule("FILE_EXIST=/etc/ld.so.cache") diff --git a/test/pacman/tests/ldconfig003.py b/test/pacman/tests/ldconfig003.py index 69618c6..8d1babb 100644 --- a/test/pacman/tests/ldconfig003.py +++ b/test/pacman/tests/ldconfig003.py @@ -1,5 +1,3 @@ -# 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 = "Make sure ldconfig runs on a sync operation" sp = pmpkg("dummy") @@ -7,8 +5,5 @@ self.args = "-S %s" % sp.name -# --debug is necessary to check PACMAN_OUTPUT -self.args = "--debug -S %s" % sp.name - self.addrule("PACMAN_RETCODE=0") -self.addrule("PACMAN_OUTPUT=running ldconfig") +self.addrule("FILE_EXIST=/etc/ld.so.cache") diff --git a/test/pacman/util.py b/test/pacman/util.py index cde44c6..81dcc90 100644 --- a/test/pacman/util.py +++ b/test/pacman/util.py @@ -20,6 +20,7 @@ import re import hashlib +SELFPATH = os.path.abspath(os.path.dirname(__file__)) # ALPM PM_ROOT = "/" -- 1.7.6
participants (1)
-
Dan McGee