From fa8f8b7469b732318c8a69b81ccf5180ad143113 Mon Sep 17 00:00:00 2001 From: Ruediger Meier Date: Tue, 20 Jan 2015 12:22:35 +0100 Subject: tests: python tests should not remove user's LD_LIBRARY_PATH LD_LIBRARY_PATH must be preserved like it's done in libtool's temporary wrapper scripts. This problem was noticed when building with Intel's icc (15.0.0): $ make check TS_OPTS="libmount" $ tail tests/diff/libmount/tabfiles-py-parse-mtab [...] +Traceback (most recent call last): + File "/tmp/util-linux/libmount/python/test_mount_tab.py", line 8, in + import pylibmount as mnt +ImportError: libimf.so: cannot open shared object file: No such file or directory ... although libimf.so was in LD_LIBRARY_PATH. NOTE 1: When running root checks "sudo -E" is not enough to preserve LD_LIBRARY_PATH because glibc already removes is. This would work: $ sudo -E env LD_LIBRARY_PATH=$LD_LIBRARY_PATH make check TS_OPTS="--parallel=1" NOTE 2: We also preserve PYTHONPATH which could bring us similar problems if the user has a customized python installation. Signed-off-by: Ruediger Meier --- tests/functions.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests/functions.sh') diff --git a/tests/functions.sh b/tests/functions.sh index a9b37581d..852a6a313 100644 --- a/tests/functions.sh +++ b/tests/functions.sh @@ -332,8 +332,8 @@ function ts_init_py { [ -f "$top_builddir/py${LIBNAME}.la" ] || ts_skip "py${LIBNAME} not compiled" - export LD_LIBRARY_PATH="$top_builddir/.libs" - export PYTHONPATH="$top_builddir/$LIBNAME/python:$top_builddir/.libs" + export LD_LIBRARY_PATH="$top_builddir/.libs:$LD_LIBRARY_PATH" + export PYTHONPATH="$top_builddir/$LIBNAME/python:$top_builddir/.libs:$PYTHONPATH" export PYTHON_VERSION=$(awk '/^PYTHON_VERSION/ { print $3 }' $top_builddir/Makefile) export PYTHON_MAJOR_VERSION=$(echo $PYTHON_VERSION | sed 's/\..*//') -- cgit v1.2.3-55-g7522