diff options
Diffstat (limited to 'tests/change-abi.sh')
-rwxr-xr-x | tests/change-abi.sh | 45 |
1 files changed, 15 insertions, 30 deletions
diff --git a/tests/change-abi.sh b/tests/change-abi.sh index 26a151d..03c5f9b 100755 --- a/tests/change-abi.sh +++ b/tests/change-abi.sh @@ -1,44 +1,29 @@ #! /bin/sh -e -SCRATCH=scratch/$(basename $0 .sh) +SCRATCH=scratch/$(basename "$0" .sh) -rm -rf ${SCRATCH} -mkdir -p ${SCRATCH} +rm -rf "${SCRATCH}" +mkdir -p "${SCRATCH}" -cp simple-pie ${SCRATCH}/simple-pie +cp simple-pie "${SCRATCH}/simple-pie" # Save the old OS ABI -OLDABI=`../src/patchelf --print-os-abi ${SCRATCH}/simple-pie` +OLDABI=$(../src/patchelf --print-os-abi "${SCRATCH}/simple-pie") # Ensure it's not empty test -n "$OLDABI" # Change OS ABI and verify it has been changed -{ - echo "System V" - echo "HP-UX" - echo "NetBSD" - echo "Linux" - echo "GNU Hurd" - echo "Solaris" - echo "AIX" - echo "IRIX" - echo "FreeBSD" - echo "Tru64" - echo "OpenBSD" - echo "OpenVMS" -} | { - while IFS="\n" read ABI; do - echo "Set OS ABI to '$ABI'..." - ../src/patchelf --set-os-abi "$ABI" ${SCRATCH}/simple-pie - - echo "Check is OS ABI is '$ABI'..." - NEWABI=`../src/patchelf --print-os-abi ${SCRATCH}/simple-pie` - test "$NEWABI" = "$ABI" - done -} +for ABI in "System V" "HP-UX" "NetBSD" "Linux" "GNU Hurd" "Solaris" "AIX" "IRIX" "FreeBSD" "Tru64" "OpenBSD" "OpenVMS"; do + echo "Set OS ABI to '$ABI'..." + ../src/patchelf --set-os-abi "$ABI" "${SCRATCH}/simple-pie" + + echo "Check is OS ABI is '$ABI'..." + NEWABI=$(../src/patchelf --print-os-abi "${SCRATCH}/simple-pie") + test "$NEWABI" = "$ABI" +done # Reset OS ABI to the saved one -../src/patchelf --set-os-abi "$OLDABI" ${SCRATCH}/simple-pie +../src/patchelf --set-os-abi "$OLDABI" "${SCRATCH}/simple-pie" # Verify we still can run the executable -${SCRATCH}/simple-pie +"${SCRATCH}/simple-pie" |