diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 3 | ||||
-rwxr-xr-x | tests/set-interpreter-long.sh | 23 | ||||
-rwxr-xr-x | tests/set-interpreter-short.sh | 6 |
3 files changed, 26 insertions, 6 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 89fd8a7..45d8c16 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,7 @@ check_PROGRAMS = main simple -TESTS = plain-run.sh shrink.sh set-interpreter-short.sh $(XFAIL_TESTS) # set-rpath.sh +TESTS = plain-run.sh shrink.sh set-interpreter-short.sh \ + set-interpreter-long.sh $(XFAIL_TESTS) # set-rpath.sh XFAIL_TESTS = plain-fail.sh diff --git a/tests/set-interpreter-long.sh b/tests/set-interpreter-long.sh new file mode 100755 index 0000000..ab0e9bc --- /dev/null +++ b/tests/set-interpreter-long.sh @@ -0,0 +1,23 @@ +#! /bin/sh -e + +./simple + +oldInterpreter=$(../src/patchelf --print-interpreter ./simple) +echo "current interpreter is $oldInterpreter" + +rm -rf scratch +mkdir -p scratch + +newInterpreter=$(pwd)/scratch/iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +cp simple scratch/ +../src/patchelf --interpreter "$newInterpreter" scratch/simple + +echo "running with missing interpreter..." +if scratch/simple; then + echo "simple works, but it shouldn't" + exit 1 +fi + +echo "running with new interpreter..." +ln -s "$oldInterpreter" "$newInterpreter" +scratch/simple diff --git a/tests/set-interpreter-short.sh b/tests/set-interpreter-short.sh index bab1184..907429a 100755 --- a/tests/set-interpreter-short.sh +++ b/tests/set-interpreter-short.sh @@ -9,14 +9,10 @@ rm -rf scratch mkdir -p scratch cp simple scratch/ -../src/patchelf --interpreter $(pwd)/scratch/i scratch/simple +../src/patchelf --interpreter /oops $(pwd)/scratch/i scratch/simple echo "running with missing interpreter..." if scratch/simple; then echo "simple works, but it shouldn't" exit 1 fi - -echo "running with new interpreter..." -ln -s "$oldInterpreter" scratch/i -scratch/simple |