From c51b9ca0ad897428a008701e35f8f11fa0ad9046 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Mon, 29 Aug 2011 13:30:03 -0500 Subject: [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 --- 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 00000000..d261a04a --- /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 3acf5d81..4e1ecd0b 100644 --- a/test/pacman/pmtest.py +++ b/test/pacman/pmtest.py @@ -119,13 +119,18 @@ class pmtest(object): 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 aa029ba5..a264326d 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 c028ce38..2628dc7a 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 @@ self.addpkg2db("local", lp) 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 69618c68..8d1babb7 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.addpkg2db("sync", sp) 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 cde44c6e..81dcc906 100644 --- a/test/pacman/util.py +++ b/test/pacman/util.py @@ -20,6 +20,7 @@ import os import re import hashlib +SELFPATH = os.path.abspath(os.path.dirname(__file__)) # ALPM PM_ROOT = "/"