diff options
Diffstat (limited to 'tests/plain-needed.sh')
-rwxr-xr-x | tests/plain-needed.sh | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/plain-needed.sh b/tests/plain-needed.sh index 36267fb..8967303 100755 --- a/tests/plain-needed.sh +++ b/tests/plain-needed.sh @@ -1,4 +1,25 @@ #! /bin/sh set -e + +SCRATCH=scratch/$(basename $0 .sh) +MAIN_ELF="${SCRATCH}/main" + +PATCHELF="../src/patchelf" + +rm -rf ${SCRATCH} +mkdir -p ${SCRATCH} +cp main ${SCRATCH}/ + echo "Confirming main requires libfoo" -../src/patchelf --print-needed main | grep -q libfoo.so +${PATCHELF} --print-needed "${MAIN_ELF}" | grep -q libfoo.so + +echo "Testing --add-needed functionality" +${PATCHELF} --add-needed bar.so "${MAIN_ELF}" +${PATCHELF} --print-needed "${MAIN_ELF}" | grep -q bar.so + +echo "Testing --remove-needed functionality" +${PATCHELF} --remove-needed bar.so "${MAIN_ELF}" +if ${PATCHELF} --print-needed "${MAIN_ELF}" | grep -q bar.so; then + echo "ERROR: --remove-needed did not eliminate bar.so!" + exit 1 +fi |