aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomi Ollila <tomi.ollila@iki.fi>2016-05-26 00:37:40 +0300
committerDavid Bremner <david@tethera.net>2016-06-11 13:11:49 -0300
commitf0e5317bcdc856739c5107705e3bc86b31b01d38 (patch)
tree334013c5e65a378c207c18c827ee7b2fa8099186
parent65c219560f33d41f094a204c631fb5aa0ff3395e (diff)
test: set LD_LIBRARY_PATH early and keep its old contents
Previously LD_LIBRARY_PATH was exported (and environment changed) in the middle of test case execution, when a function setting it was called. Previously the old contents of LD_LIBRARY_PATH was lost (if any) when it was re-set and exported. In some systems the old contents of LD_LIBRARY_PATH was needed to e.g. locate suitable gmime library.
-rwxr-xr-xtest/T360-symbol-hiding.sh5
-rw-r--r--test/test-lib-common.sh5
-rw-r--r--test/test-lib.sh3
3 files changed, 7 insertions, 6 deletions
diff --git a/test/T360-symbol-hiding.sh b/test/T360-symbol-hiding.sh
index e681d5b3..b3dbb1b5 100755
--- a/test/T360-symbol-hiding.sh
+++ b/test/T360-symbol-hiding.sh
@@ -13,9 +13,8 @@ test_description='exception symbol hiding'
test_begin_subtest 'running test' run_test
mkdir -p ${PWD}/fakedb/.notmuch
-( LD_LIBRARY_PATH="$TEST_DIRECTORY/../lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" \
- $TEST_DIRECTORY/symbol-test ${PWD}/fakedb ${PWD}/nonexistent \
- 2>&1 | notmuch_dir_sanitize | sed -e "s,\`,\',g" -e "s,${NOTMUCH_DEFAULT_XAPIAN_BACKEND},backend,g") > OUTPUT
+$TEST_DIRECTORY/symbol-test ${PWD}/fakedb ${PWD}/nonexistent 2>&1 \
+ | notmuch_dir_sanitize | sed -e "s,\`,\',g" -e "s,${NOTMUCH_DEFAULT_XAPIAN_BACKEND},backend,g" > OUTPUT
cat <<EOF > EXPECTED
A Xapian exception occurred opening database: Couldn't stat 'CWD/fakedb/.notmuch/xapian'
diff --git a/test/test-lib-common.sh b/test/test-lib-common.sh
index 0fdeeb72..03ef1d2d 100644
--- a/test/test-lib-common.sh
+++ b/test/test-lib-common.sh
@@ -58,6 +58,11 @@ restore_database () {
TEST_DIRECTORY=$(pwd -P)
notmuch_path=`find_notmuch_path "$TEST_DIRECTORY"`
+# Prepend $TEST_DIRECTORY/../lib to LD_LIBRARY_PATH, to make tests work
+# on systems where ../notmuch depends on LD_LIBRARY_PATH.
+LD_LIBRARY_PATH=${TEST_DIRECTORY%/*}/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH
+
# configure output
. $notmuch_path/sh.config || exit 1
diff --git a/test/test-lib.sh b/test/test-lib.sh
index 4a8ef1f4..b0ee253c 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -1192,7 +1192,6 @@ test_emacs () {
}
test_python() {
- export LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib
export PYTHONPATH=$TEST_DIRECTORY/../bindings/python
(echo "import sys; _orig_stdout=sys.stdout; sys.stdout=open('OUTPUT', 'w')"; cat) \
@@ -1200,7 +1199,6 @@ test_python() {
}
test_ruby() {
- export LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib
MAIL_DIR=$MAIL_DIR ruby -I $TEST_DIRECTORY/../bindings/ruby> OUTPUT
}
@@ -1208,7 +1206,6 @@ test_C () {
exec_file="test${test_count}"
test_file="${exec_file}.c"
cat > ${test_file}
- export LD_LIBRARY_PATH=${TEST_DIRECTORY}/../lib
${TEST_CC} ${TEST_CFLAGS} -I${TEST_DIRECTORY}/../lib -o ${exec_file} ${test_file} -L${TEST_DIRECTORY}/../lib/ -lnotmuch -ltalloc
echo "== stdout ==" > OUTPUT.stdout
echo "== stderr ==" > OUTPUT.stderr