fixed tests not working with the normal 'make testall'

This commit is contained in:
Markus Makela
2014-09-16 20:02:28 +03:00
parent 81b83f1978
commit 8b1afbfe26
6 changed files with 219 additions and 159 deletions

View File

@ -2,7 +2,8 @@ file(COPY ${ERRMSG} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
add_executable(canonizer canonizer.c)
target_link_libraries(canonizer pthread query_classifier z dl ssl aio crypt crypto rt m ${EMBEDDED_LIB} fullcore stdc++)
add_test(NAME TestCanonicalQuery COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/canontest.sh
$<TARGET_FILE:canonizer>
${CMAKE_CURRENT_BINARY_DIR}/test.log
${CMAKE_CURRENT_SOURCE_DIR}/input.sql
${CMAKE_CURRENT_BINARY_DIR}/output.sql
${CMAKE_CURRENT_SOURCE_DIR}/expected.sql)
${CMAKE_CURRENT_SOURCE_DIR}/expected.sql
$<TARGET_FILE:canonizer>)

View File

@ -1,23 +1,37 @@
#! /bin/sh
if [[ $# -lt 4 ]]
then
echo "Usage: canontest.sh <path to executable> <input file> <output file> <expected output>"
echo "Usage: canontest.sh <logfile name> <input file> <output file> <expected output>"
exit 0
fi
EXECUTABLE=$1
TESTLOG=$1
INPUT=$2
OUTPUT=$3
EXPECTED=$4
DIFFLOG=diff.out
if [ $# -eq 5 ]
then
EXECUTABLE=$5
else
EXECUTABLE=$PWD/canonizer
fi
$EXECUTABLE $INPUT $OUTPUT
diff $OUTPUT $EXPECTED > $DIFFLOG
if [ $? -eq 0 ]
then
echo "PASSED"
echo "PASSED" >> $TESTLOG
exval=0
else
echo "FAILED"
echo "Diff output: "
cat $DIFFLOG
exit 1;
echo "FAILED" >> $TESTLOG
echo "Diff output: " >> $TESTLOG
cat $DIFFLOG >> $TESTLOG
exval=1
fi
if [ $# -eq 5 ]
then
cat $TESTLOG
exit $exval
fi
exit 0;