summaryrefslogtreecommitdiff
path: root/tests/shrink-rpath.sh
blob: 6944a442a4cd3a6047549db1f7d5c53ffa7a948b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#! /bin/sh -e
SCRATCH=scratch/$(basename "$0" .sh)

rpath=$(../src/patchelf --print-rpath ./libbar.so)
echo "RPATH before: $rpath"
if ! echo "$rpath" | grep -q /no-such-path; then
    echo "incomplete RPATH"
    exit 1
fi

rm -rf "${SCRATCH}"
mkdir -p "${SCRATCH}"
cp libbar.so "${SCRATCH}"/
../src/patchelf --shrink-rpath "${SCRATCH}/libbar.so"

rpath=$(../src/patchelf --print-rpath "${SCRATCH}/libbar.so")
echo "RPATH after: $rpath"
if echo "$rpath" | grep -q /no-such-path; then
    echo "RPATH not shrunk"
    exit 1
fi

cp libfoo.so "${SCRATCH}/"

exitCode=0
cd "${SCRATCH}" && LD_LIBRARY_PATH=. ../../main || exitCode=$?

if test "$exitCode" != 46; then
    echo "bad exit code!"
    exit 1
fi