summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtest/pacman/ldconfig.stub4
-rw-r--r--test/pacman/pmtest.py7
-rw-r--r--test/pacman/tests/ldconfig001.py9
-rw-r--r--test/pacman/tests/ldconfig002.py7
-rw-r--r--test/pacman/tests/ldconfig003.py7
-rw-r--r--test/pacman/util.py1
6 files changed, 17 insertions, 18 deletions
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 = "/"