add t1.sh to do a single input test
This commit is contained in:
parent
2c726cfa67
commit
ff101d5dee
213
test/t1.sh
Executable file
213
test/t1.sh
Executable file
|
@ -0,0 +1,213 @@
|
|||
#!/bin/sh
|
||||
BN=`basename $0`
|
||||
# @setlocal
|
||||
#@REM =================================================================
|
||||
#@REM A convenient run one test giving the number and expected exit
|
||||
#@REM
|
||||
#@REM This is to run just one, like "t1 1642186-1 0"
|
||||
#@REM
|
||||
#@REM Note it uses a relative path to the built exe file, and
|
||||
#@REM expects the ouput folder has to exist.
|
||||
#@REM
|
||||
#@REM Obviously you may want to adjust this file, like seen below to test
|
||||
#@REM different versions of tidy.exe...
|
||||
#@REM Rather than altering this file, which will be flagged by git,
|
||||
#@REM I copy it to say a temp1.bat, and modify that to suit my testing
|
||||
#@REM
|
||||
#@REM There is also an 'alltest.cmd' which runs some 227 tests that
|
||||
#@REM gets the case listed in 'testcases.txt' file.
|
||||
#@REM
|
||||
#@REM =================================================================
|
||||
|
||||
#@REM setup the ENVIRONMENT
|
||||
TIDY="../build/cmake/tidy"
|
||||
TIDYOUT="tmp"
|
||||
TMPLOG="temptest1.txt"
|
||||
|
||||
if [ ! -d "$TIDYOUT" ]; then
|
||||
echo ""
|
||||
echo "$BN: Error: Can NOT locate $TIDYOUT! This MUST be created!"
|
||||
echo "$BN: This script does NOT create any directories..."
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -x "$TIDY" ]; then
|
||||
echo ""
|
||||
echo "$BN: Error: Unable to locate file '$TIDY'! Has it been built? *** FIX ME ***"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
give_help()
|
||||
{
|
||||
echo ""
|
||||
echo "- Usage: $0 \"value\" \"expected exit value\""
|
||||
echo "- That is give test number, and expected result, like"
|
||||
echo "$0 1642186 1"
|
||||
echo "- Missing expected value. See testcases.txt for list available..."
|
||||
echo ""
|
||||
}
|
||||
d_now()
|
||||
{
|
||||
date +%Y%m%d%H%M%S
|
||||
}
|
||||
|
||||
#@REM Check user input
|
||||
TMPCASE="$1"
|
||||
TMPEXIT="$2"
|
||||
TMPNOW=`d_now`
|
||||
|
||||
if [ -z "$TMPCASE" ]; then
|
||||
give_help
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$TMPEXIT" ]; then
|
||||
give_help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TMPFIL="input/in_$TMPCASE.html"
|
||||
TMPCFG="input/cfg_$TMPCASE.txt"
|
||||
if [ ! -f "$TMPCFG" ]; then
|
||||
TMPCFG="input/cfg_default.txt"
|
||||
fi
|
||||
|
||||
if [ ! -f "$TMPFIL" ]; then
|
||||
echo ""
|
||||
# @dir input/*%1*
|
||||
# @echo.
|
||||
echo "$BN: Error: Can NOT locate $TMPFIL! Is number correct? "
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "$TMPCFG" ]; then
|
||||
echo ""
|
||||
echo "$BN: Error: Can NOT locate $TMPCFG!"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
if [ -f "$TMPLOG" ]; then
|
||||
rm -f $TMPLOG
|
||||
fi
|
||||
echo "$BN: Test 1 case $TMPCASE $TMPEXIT on $TMPNOW" > $TMPLOG
|
||||
echo "$BN: Version of tidy in use..." >> $TMPLOG
|
||||
./$TIDY -v >> $TMPLOG
|
||||
if [ ! "$?" = "0" ]; then
|
||||
echo ""
|
||||
echo "$BN: Error: Unable to run '$TIDY -v' successfully! *** FIX ME ***"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "$BN: Doing './testone.sh $TMPCASE $TMPEXIT'"
|
||||
echo "$BN: Doing './testone.sh $TMPCASE $TMPEXIT'" >> $TMPLOG
|
||||
echo "$BN: testone.sh run '$TIDY ... -config $TMPCFG $TMPFIL'" >> $TMPLOG
|
||||
|
||||
if [ -f "tempall.txt" ]; then
|
||||
rm -f tempall.txt
|
||||
fi
|
||||
|
||||
./testone.sh $TMPCASE $TMPEXIT
|
||||
if [ -f "tempall.txt" ]; then
|
||||
echo "==========================" >> $TMPLOG
|
||||
cat tempall.txt >> $TMPLOG
|
||||
echo "==========================" >> $TMPLOG
|
||||
else
|
||||
echo "Why no tempall.txt created???" >> $TMPLOG
|
||||
fi
|
||||
|
||||
echo "$BN: See ouput in $TMPLOG"
|
||||
echo "$BN: Checking for compare phase..." >> $TMPLOG
|
||||
|
||||
TMPFIL1="testbase/out_$TMPCASE.html"
|
||||
TMPOUT1="testbase/msg_$TMPCASE.txt"
|
||||
TMPFIL2="$TIDYOUT/out_$TMPCASE.html"
|
||||
TMPOUT2="$TIDYOUT/msg_$TMPCASE.txt"
|
||||
|
||||
if [ ! -f "$TMPFIL1" ]; then
|
||||
echo ""
|
||||
echo "$BN: NOT locate $TMPFIL1 "
|
||||
echo "$BN: needed for the compare... but this may not be a problem..."
|
||||
echo "$BN: Maybe there is no 'testbase' file for test $TMPCASE!"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "$TMPFIL2" ]; then
|
||||
echo ""
|
||||
echo "$BN: NOT locate $TMPFIL2 "
|
||||
echo "$BN: needed for the compare... but this may not be a problem..."
|
||||
echo "$BN: Maybe there is no 'testbase' file for test $TMPCASE!"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
no_file2()
|
||||
{
|
||||
echo ""
|
||||
echo "$BN: Can NOT locate $TMPOUT1 or $TMPOUT2"
|
||||
echo "$BN: needed for the compare... but this may not be a problem..."
|
||||
echo "$BN: but it is strange one or both were not created!!! *** NEEDS CHECKING ***"
|
||||
echo ""
|
||||
}
|
||||
|
||||
if [ ! -f "$TMPOUT1" ]; then
|
||||
no_file2
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "$TMPOUT2" ]; then
|
||||
no_file2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
is_diff()
|
||||
{
|
||||
echo ""
|
||||
echo "$BN: Check the above diff carefully. This may indicate a 'testbase', or"
|
||||
echo "$BN: a 'regression' in tidy output."
|
||||
echo ""
|
||||
}
|
||||
|
||||
|
||||
#@REM Compare the outputs, exactly
|
||||
TMPOPTS="-ua"
|
||||
ERRCNT=0
|
||||
|
||||
echo ""
|
||||
echo "$BN: Doing: 'diff $TMPOPTS $TMPFIL1 $TMPFIL2'"
|
||||
echo "$BN: Doing: 'diff $TMPOPTS $TMPFIL1 $TMPFIL2'" >> $TMPLOG
|
||||
diff $TMPOPTS $TMPFIL1 $TMPFIL2
|
||||
if [ "$?" = "0" ]; then
|
||||
echo "Files appear exactly the same..."
|
||||
else
|
||||
is_diff
|
||||
ERRCNT=`expr $ERRCNT + 1`
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "$BN: Doing: 'diff $TMPOPTS $TMPOUT1 $TMPOUT2'"
|
||||
echo "$BN: Doing: 'diff $TMPOPTS $TMPOUT1 $TMPOUT2'" >> $TMPLOG
|
||||
diff $TMPOPTS $TMPOUT1 $TMPOUT2
|
||||
if [ "$?" = "0" ]; then
|
||||
echo "$BN: Files appear exactly the same..."
|
||||
else
|
||||
is_diff
|
||||
ERRCNT=`expr $ERRCNT + 1`
|
||||
fi
|
||||
|
||||
echo ""
|
||||
if [ "$ERRCNT" = "0" ]; then
|
||||
echo "$BN: Appears a successful test of $TMPCASE $TMPEXIT"
|
||||
echo "$BN: Appears a successful test of $TMPCASE $TMPEXIT" >> $TMPLOG
|
||||
else
|
||||
echo "$BN: Carefully REVIEW the above differences on $TMPCASE $TMPEXIT! *** ACTION REQUIRED ***"
|
||||
echo "$BN: Carefully REVIEW the above differences on $TMPCASE $TMPEXIT! *** ACTION REQUIRED ***" >> $TMPLOG
|
||||
fi
|
||||
echo ""
|
||||
echo "# eof" >> $TMPLOG
|
||||
echo "$BN: See full ouput in $TMPLOG"
|
||||
|
||||
# eof :END
|
||||
|
Loading…
Reference in a new issue