diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2020-06-02 08:39:39 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-02 08:39:39 (GMT) |
commit | 8fdd0054132becd9f70d88438223bd3d733e2d98 (patch) | |
tree | adf706af8b23d73bd2e3619bc28d74d15ddc0137 /tests/output-flag.sh | |
parent | a4676c66cedb45762acf6696a33722ab65c0ca1e (diff) | |
parent | 71ed4401273f56bde1ad9f09ba74b5bd6892b889 (diff) | |
download | patchelf-8fdd0054132becd9f70d88438223bd3d733e2d98.zip patchelf-8fdd0054132becd9f70d88438223bd3d733e2d98.tar.gz patchelf-8fdd0054132becd9f70d88438223bd3d733e2d98.tar.bz2 |
Merge pull request #201 from dstahlke/outputflag
Added --output flag
Diffstat (limited to 'tests/output-flag.sh')
-rwxr-xr-x | tests/output-flag.sh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/output-flag.sh b/tests/output-flag.sh new file mode 100755 index 0000000..5da26b5 --- /dev/null +++ b/tests/output-flag.sh @@ -0,0 +1,38 @@ +#! /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/ + +oldRPath=$(../src/patchelf --print-rpath ${SCRATCH}/main) +if test -z "$oldRPath"; then oldRPath="/oops"; fi + +../src/patchelf --force-rpath --set-rpath $oldRPath:$(pwd)/${SCRATCH}/libsA:$(pwd)/${SCRATCH}/libsB ${SCRATCH}/main --output ${SCRATCH}/main2 +# make sure it copies even when there is nothing to do (because rpath is already set) +../src/patchelf --force-rpath --set-rpath $oldRPath:$(pwd)/${SCRATCH}/libsA:$(pwd)/${SCRATCH}/libsB ${SCRATCH}/main2 --output ${SCRATCH}/main3 + +if test "$(uname)" = FreeBSD; then + export LD_LIBRARY_PATH=$(pwd)/${SCRATCH}/libsB +fi + +exitCode=0 +(cd ${SCRATCH} && ./main2) || exitCode=$? + +if test "$exitCode" != 46; then + echo "bad exit code!" + exit 1 +fi + +exitCode=0 +(cd ${SCRATCH} && ./main3) || exitCode=$? + +if test "$exitCode" != 46; then + echo "bad exit code!" + exit 1 +fi |