summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorXavier Abellan Ecija <xavier.abellan@ecmwf.int>2020-10-05 16:59:13 +0100
committerXavier Abellan Ecija <xavier.abellan@ecmwf.int>2020-10-05 16:59:13 +0100
commit62e8db4343b26e5c0cc60904f255dbbe198da44d (patch)
tree555268876d148ef5175275abb24cf7fbe1cffade /tests
parent47dc18d0e5c1ff24f815177927940c294b1fde76 (diff)
downloadpatchelf-62e8db4343b26e5c0cc60904f255dbbe198da44d.tar.gz
Added option --add-rpath
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am2
-rwxr-xr-xtests/add-rpath.sh28
2 files changed, 29 insertions, 1 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index db29738..4448eaa 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -20,7 +20,7 @@ no_rpath_arch_TESTS = \
src_TESTS = \
plain-fail.sh plain-run.sh shrink-rpath.sh set-interpreter-short.sh \
- set-interpreter-long.sh set-rpath.sh no-rpath.sh big-dynstr.sh \
+ set-interpreter-long.sh set-rpath.sh add-rpath.sh no-rpath.sh big-dynstr.sh \
set-rpath-library.sh soname.sh shrink-rpath-with-allowed-prefixes.sh \
force-rpath.sh \
plain-needed.sh \
diff --git a/tests/add-rpath.sh b/tests/add-rpath.sh
new file mode 100755
index 0000000..81454fa
--- /dev/null
+++ b/tests/add-rpath.sh
@@ -0,0 +1,28 @@
+#! /bin/sh -e
+SCRATCH=scratch/$(basename $0 .sh)
+
+rm -rf ${SCRATCH}
+mkdir -p ${SCRATCH}
+mkdir -p ${SCRATCH}/libsA
+mkdir -p ${SCRATCH}/libsB
+
+cp main ${SCRATCH}/
+cp libfoo.so ${SCRATCH}/libsA/
+cp libbar.so ${SCRATCH}/libsB/
+
+../src/patchelf --force-rpath --add-rpath $(pwd)/${SCRATCH}/libsA ${SCRATCH}/main
+../src/patchelf --force-rpath --add-rpath $(pwd)/${SCRATCH}/libsB ${SCRATCH}/main
+#patchelf --add-rpath $(pwd)/${SCRATCH}/libsA ${SCRATCH}/main
+#patchelf --add-rpath $(pwd)/${SCRATCH}/libsB ${SCRATCH}/main
+
+if test "$(uname)" = FreeBSD; then
+ export LD_LIBRARY_PATH=$(pwd)/${SCRATCH}/libsB
+fi
+
+exitCode=0
+(cd ${SCRATCH} && ./main) || exitCode=$?
+
+if test "$exitCode" != 46; then
+ echo "bad exit code!"
+ exit 1
+fi