From f1d010bed8760aa87f9c72eded97d4d9b98cc620 Mon Sep 17 00:00:00 2001 From: Manoj Srivastava Date: Fri, 29 Jul 2016 18:07:24 -0700 Subject: Import flex_2.6.1.orig.tar.gz [dgit import orig flex_2.6.1.orig.tar.gz] --- tests/testwrapper.sh | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100755 tests/testwrapper.sh (limited to 'tests/testwrapper.sh') diff --git a/tests/testwrapper.sh b/tests/testwrapper.sh new file mode 100755 index 0000000..051e20b --- /dev/null +++ b/tests/testwrapper.sh @@ -0,0 +1,53 @@ +#!/bin/bash -vx +set -euo pipefail + +# 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 input it may need. + +INPUT_DIRECTORY="" +INPUT_NAME="" +INPUT_COUNT=0 +USE_REDIRECT=0 +DO_COMPARISON=0 + +while getopts :d:i:rt1 OPTION ; do + case $OPTION in + d) INPUT_DIRECTORY=$OPTARG ;; + i) + if [ "$INPUT_NAME" == "" ] ; then + INPUT_NAME="$OPTARG" + else + INPUT_NAME="$INPUT_NAME $OPTARG" + fi + INPUT_COUNT=$(($INPUT_COUNT+1)) + ;; + r) USE_REDIRECT=1 ;; + t) USE_TABLES=1 ;; + 1) DO_COMPARISON=1 ;; + esac + done + +TESTNAME="${!OPTIND}" + +INPUT_NAME=${INPUT_NAME:-$INPUT_DIRECTORY/`basename $TESTNAME`.txt} + +if [ "$DO_COMPARISON" -eq "1" ] ; then + test `$TESTNAME 1 < $INPUT_NAME` -eq `$TESTNAME < $INPUT_NAME` + exit $? + fi + +if [ $INPUT_COUNT -gt 1 ] ; then + $TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME}.tables} ${INPUT_NAME} + exit $? + fi + +if [ -f ${INPUT_NAME} ] ; then + if [ $USE_REDIRECT == 1 ] ; then + $TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME}.tables} < $INPUT_NAME + else + $TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME}.tables} $INPUT_NAME + fi +else + $TESTNAME +fi -- cgit v1.2.3