testwrapper.sh (flex-2.6.3) | : | testwrapper.sh (flex-2.6.4) | ||
---|---|---|---|---|
#!/bin/bash -vx | #!/bin/sh | |||
set -euo pipefail | set -vx | |||
set -euvx | ||||
# testwrapper.sh: run a flex test, typically called by a Makefile | # testwrapper.sh: run a flex test, typically called by a Makefile | |||
# Each test will exercise some feature or aspect of flex. Run the test with any | # Each test will exercise some feature or aspect of flex. Run the test with any | |||
input it may need. | # input it may need. | |||
INPUT_DIRECTORY="" | INPUT_DIRECTORY="" | |||
INPUT_NAME="" | INPUT_NAME="" | |||
INPUT_COUNT=0 | INPUT_COUNT=0 | |||
USE_REDIRECT=0 | USE_REDIRECT=0 | |||
DO_COMPARISON=0 | DO_COMPARISON=0 | |||
while getopts :d:i:rt1 OPTION ; do | while getopts :d:i:rt1 OPTION ; do | |||
case $OPTION in | case $OPTION in | |||
d) INPUT_DIRECTORY=$OPTARG ;; | d) INPUT_DIRECTORY=$OPTARG ;; | |||
i) | i) | |||
if [ "$INPUT_NAME" == "" ] ; then | if [ "$INPUT_NAME" = "" ] ; then | |||
INPUT_NAME="$OPTARG" | INPUT_NAME="$OPTARG" | |||
else | else | |||
INPUT_NAME="$INPUT_NAME $OPTARG" | INPUT_NAME="$INPUT_NAME $OPTARG" | |||
fi | fi | |||
INPUT_COUNT=$(($INPUT_COUNT+1)) | INPUT_COUNT=$(($INPUT_COUNT+1)) | |||
;; | ;; | |||
r) USE_REDIRECT=1 ;; | r) USE_REDIRECT=1 ;; | |||
t) USE_TABLES=1 ;; | t) USE_TABLES=1 ;; | |||
1) DO_COMPARISON=1 ;; | 1) DO_COMPARISON=1 ;; | |||
esac | esac | |||
done | done | |||
TESTNAME="${!OPTIND}" | shift $(($OPTIND-1)) | |||
TESTNAME=$1 | ||||
INPUT_NAME=${INPUT_NAME:-$INPUT_DIRECTORY/`basename ${TESTNAME%.exe}`.txt} | INPUT_NAME=${INPUT_NAME:-$INPUT_DIRECTORY/`basename "${TESTNAME%.exe}"`.txt} | |||
if [ "$DO_COMPARISON" -eq "1" ] ; then | if [ $DO_COMPARISON = 1 ] ; then | |||
test `$TESTNAME 1 < $INPUT_NAME` -eq `$TESTNAME < $INPUT_NAME` | TEST_OUTPUT=`$TESTNAME < $INPUT_NAME` | |||
REF_OUTPUT=`$TESTNAME 1 < $INPUT_NAME` | ||||
test "$TEST_OUTPUT" -eq "$REF_OUTPUT" | ||||
exit $? | exit $? | |||
fi | fi | |||
if [ $INPUT_COUNT -gt 1 ] ; then | if [ $INPUT_COUNT -gt 1 ] ; then | |||
$TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME%.exe}.tables} ${INPUT_ NAME} | $TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME%.exe}.tables} ${INPUT_ NAME} | |||
exit $? | exit $? | |||
fi | fi | |||
if [ -f ${INPUT_NAME} ] ; then | if [ -f ${INPUT_NAME} ] ; then | |||
if [ $USE_REDIRECT == 1 ] ; then | if [ $USE_REDIRECT = 1 ] ; then | |||
$TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME%.exe}.tables} < $I NPUT_NAME | $TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME%.exe}.tables} < $I NPUT_NAME | |||
else | else | |||
$TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME%.exe}.tables} $INP UT_NAME | $TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME%.exe}.tables} $INP UT_NAME | |||
fi | fi | |||
else | else | |||
$TESTNAME | $TESTNAME | |||
fi | fi | |||
End of changes. 10 change blocks. | ||||
13 lines changed or deleted | 17 lines changed or added |