58 lines
1.1 KiB
Bash
Executable File
58 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
DIR="$(dirname "$0")"
|
|
ZZUF="$DIR/../src/zzuf"
|
|
PROGRAM="$DIR/bug-overflow"
|
|
if [ ! -f "$PROGRAM" ]; then
|
|
echo "error: test/bug-overflow is missing"
|
|
exit 1
|
|
fi
|
|
FAILED=0
|
|
TESTED=0
|
|
|
|
if [ -z "$1" ]; then
|
|
seed=$(date | $ZZUF -m 2>/dev/null | cut -f2 -d' ' | tr -d abcdef | cut -b1-8)
|
|
else
|
|
seed="$1"
|
|
fi
|
|
|
|
echo "*** running zzuf buffer overflow test with seed $seed ***"
|
|
|
|
echo "*** bug-overflow < /file-00"
|
|
if ! $PROGRAM < "$DIR/file-00"; then
|
|
echo " unexpected exit status $?"
|
|
FAILED="$(($FAILED + 1))"
|
|
else
|
|
echo " OK"
|
|
fi
|
|
TESTED="$(($TESTED + 1))"
|
|
|
|
echo "*** zzuf -qi -r0 bug-overflow < /file-00"
|
|
if ! "$ZZUF" -r0 -qi "$PROGRAM" < "$DIR/file-00"; then
|
|
echo " unexpected exit status $?"
|
|
FAILED="$(($FAILED + 1))"
|
|
else
|
|
echo " OK"
|
|
fi
|
|
TESTED="$(($TESTED + 1))"
|
|
|
|
echo "*** zzuf -qi bug-overflow < file-00"
|
|
if "$ZZUF" -qi "$PROGRAM" < "$DIR/file-00"; then
|
|
echo " unexpected exit status $?"
|
|
FAILED="$(($FAILED + 1))"
|
|
else
|
|
echo " OK"
|
|
fi
|
|
TESTED="$(($TESTED + 1))"
|
|
|
|
if [ "$FAILED" != 0 ]; then
|
|
echo "*** $FAILED tests failed out of $TESTED ***"
|
|
exit 1
|
|
fi
|
|
echo "*** all $TESTED tests OK ***"
|
|
|
|
exit 0
|
|
|