Blame gnulib-tests/test-c-stack2.sh

Packit Service fdd496
#!/bin/sh
Packit Service fdd496
Packit Service fdd496
tmpfiles=""
Packit Service fdd496
trap 'rm -fr $tmpfiles' 1 2 3 15
Packit Service fdd496
Packit Service fdd496
tmpfiles="t-c-stack2.tmp"
Packit Service fdd496
Packit Service fdd496
# Sanitize exit status within a subshell, since some shells fail to
Packit Service fdd496
# redirect stderr on their message about death due to signal.
Packit Service fdd496
(./test-c-stack${EXEEXT} 1; exit $?) 2> t-c-stack2.tmp
Packit Service fdd496
Packit Service fdd496
case $? in
Packit Service fdd496
  77) if grep 'stack overflow' t-c-stack2.tmp >/dev/null ; then
Packit Service fdd496
        if test -z "$LIBSIGSEGV"; then
Packit Service fdd496
          echo 'cannot tell stack overflow from crash; consider installing libsigsegv' >&2
Packit Service fdd496
          exit 77
Packit Service fdd496
        else
Packit Service fdd496
          echo 'cannot tell stack overflow from crash, in spite of libsigsegv' >&2
Packit Service fdd496
          exit 1
Packit Service fdd496
        fi
Packit Service fdd496
      else
Packit Service fdd496
        cat t-c-stack2.tmp >&2
Packit Service fdd496
        exit 77
Packit Service fdd496
      fi
Packit Service fdd496
      ;;
Packit Service fdd496
  0) (exit 1); exit 1 ;;
Packit Service fdd496
esac
Packit Service fdd496
if grep 'program error' t-c-stack2.tmp >/dev/null ; then
Packit Service fdd496
  :
Packit Service fdd496
else
Packit Service fdd496
  (exit 1); exit 1
Packit Service fdd496
fi
Packit Service fdd496
Packit Service fdd496
rm -fr $tmpfiles
Packit Service fdd496
Packit Service fdd496
exit 0