[pacman-dev] [PATCH] pactest: remove PACMAN_OUTPUT from ldconfig tests
Dan McGee
dan at archlinux.org
Thu Sep 1 15:38:03 EDT 2011
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 at 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
More information about the pacman-dev
mailing list