added a 'testall' target which builds and runs the tests

This commit is contained in:
Markus Makela
2014-09-17 10:39:47 +03:00
parent cde74cfaa5
commit 3776fdb015
6 changed files with 16 additions and 20 deletions

View File

@ -128,12 +128,8 @@ set(CPACK_RPM_USER_FILELIST "%ignore /etc/init.d")
set(CPACK_RPM_USER_FILELIST "%ignore /etc/ld.so.conf.d") set(CPACK_RPM_USER_FILELIST "%ignore /etc/ld.so.conf.d")
set(CPACK_RPM_USER_FILELIST "%ignore /etc") set(CPACK_RPM_USER_FILELIST "%ignore /etc")
include(CPack) include(CPack)
add_custom_target(testall
#add_test(PrepareTests ${CMAKE_COMMAND} -DDEPS_OK=Y -DBUILD_TESTS=Y -DBUILD_TYPE=Debug -DINSTALL_DIR=${CMAKE_BINARY_DIR} -DINSTALL_SYSTEM_FILES=N ${CMAKE_SOURCE_DIR}) COMMAND ${CMAKE_COMMAND} -DDEPS_OK=Y -DBUILD_TESTS=Y -DBUILD_TYPE=Debug -DINSTALL_DIR=${CMAKE_BINARY_DIR} -DINSTALL_SYSTEM_FILES=N ${CMAKE_SOURCE_DIR}
#set_tests_properties(PrepareTests PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) COMMAND make install
#set_tests_properties(PrepareTests PROPERTIES COST 2000.0) COMMAND make test
COMMENT "Running full test suite")
#add_test(BuildTests ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target install)
#set_tests_properties(BuildTests PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
#set_tests_properties(BuildTests PROPERTIES DEPENDS PrepareTests)
#set_tests_properties(PrepareTests PROPERTIES COST 1999.0)

View File

@ -1,3 +1,3 @@
add_test(NAME ReadWriteSplitTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rwsplit.sh ${TEST_HOST} ${TEST_PORT_RW} ${TEST_MASTER_ID} ${TEST_USER} ${TEST_PASSWORD} ${CMAKE_CURRENT_SOURCE_DIR}) add_test(NAME ReadWriteSplitTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rwsplit.sh testrwsplit.log ${TEST_HOST} ${TEST_PORT_RW} ${TEST_MASTER_ID} ${TEST_USER} ${TEST_PASSWORD} ${CMAKE_CURRENT_SOURCE_DIR})
set_tests_properties(ReadWriteSplitTest PROPERTIES DEPENDS RunExecutable) set_tests_properties(ReadWriteSplitTest PROPERTIES DEPENDS RunExecutable)
add_subdirectory(test_hints) add_subdirectory(test_hints)

View File

@ -18,9 +18,11 @@ echo ""
exit 1 exit 1
fi fi
if [ $# -eq $NARGS ] if [ "$#" == "$NARGS" ]
then then
echo "CTest mode"
TDIR=$7 #this is only used by CMake TDIR=$7 #this is only used by CMake
echo "Test directory is: $TDIR"
else else
TDIR=. TDIR=.
fi fi
@ -258,7 +260,7 @@ do
then then
printf "." printf "."
fi fi
a=`$RUNCMD < $TINPUT 2>&1` a=`$RUNCMD < $TDIR/$TINPUT 2>&1`
if [[ "`echo "$a"|grep -i 'error'`" != "" ]] if [[ "`echo "$a"|grep -i 'error'`" != "" ]]
then then
err=`echo "$a" | grep -i error` err=`echo "$a" | grep -i error`
@ -284,7 +286,7 @@ do
then then
printf "." printf "."
fi fi
b=`$RUNCMD < $TINPUT 2>&1` b=`$RUNCMD < $TDIR/$TINPUT 2>&1`
if [[ "`echo "$b"|grep -i 'null\|error'`" != "" ]] if [[ "`echo "$b"|grep -i 'null\|error'`" != "" ]]
then then
err=`echo "$b" | grep -i null\|error` err=`echo "$b" | grep -i null\|error`

View File

@ -1,3 +1,3 @@
add_test(NAME SimpleHintTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rwsplit_hints.sh ${TEST_HOST} ${TEST_PORT_RW_HINT} ${TEST_MASTER_ID} ${TEST_USER} ${TEST_PASSWORD} ${CMAKE_CURRENT_SOURCE_DIR}/simple_tests ${CMAKE_CURRENT_SOURCE_DIR}) add_test(NAME SimpleHintTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rwsplit_hints.sh hints.log ${TEST_HOST} ${TEST_PORT_RW_HINT} ${TEST_MASTER_ID} ${TEST_USER} ${TEST_PASSWORD} simple_tests ${CMAKE_CURRENT_SOURCE_DIR})
add_test(NAME ComplexHintTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rwsplit_hints.sh ${TEST_HOST} ${TEST_PORT_RW_HINT} ${TEST_MASTER_ID} ${TEST_USER} ${TEST_PASSWORD} ${CMAKE_CURRENT_SOURCE_DIR}/complex_tests ${CMAKE_CURRENT_SOURCE_DIR}) add_test(NAME ComplexHintTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rwsplit_hints.sh hints.log ${TEST_HOST} ${TEST_PORT_RW_HINT} ${TEST_MASTER_ID} ${TEST_USER} ${TEST_PASSWORD} complex_tests ${CMAKE_CURRENT_SOURCE_DIR})
add_test(NAME StackHintTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rwsplit_hints.sh ${TEST_HOST} ${TEST_PORT_RW_HINT} ${TEST_MASTER_ID} ${TEST_USER} ${TEST_PASSWORD} ${CMAKE_CURRENT_SOURCE_DIR}/stack_tests ${CMAKE_CURRENT_SOURCE_DIR}) add_test(NAME StackHintTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rwsplit_hints.sh hints.log ${TEST_HOST} ${TEST_PORT_RW_HINT} ${TEST_MASTER_ID} ${TEST_USER} ${TEST_PASSWORD} stack_tests ${CMAKE_CURRENT_SOURCE_DIR})

View File

@ -2,7 +2,6 @@ file(COPY MaxScale_test.cnf DESTINATION ${CMAKE_BINARY_DIR}/etc)
file(RENAME ${CMAKE_BINARY_DIR}/etc/MaxScale_test.cnf ${CMAKE_BINARY_DIR}/etc/MaxScale.cnf) file(RENAME ${CMAKE_BINARY_DIR}/etc/MaxScale_test.cnf ${CMAKE_BINARY_DIR}/etc/MaxScale.cnf)
add_test(NAME RunExecutable COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/startmaxscale.sh "$<TARGET_FILE_DIR:maxscale>" "-c ${CMAKE_BINARY_DIR}") add_test(NAME RunExecutable COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/startmaxscale.sh "$<TARGET_FILE_DIR:maxscale>" "-c ${CMAKE_BINARY_DIR}")
set_tests_properties(RunExecutable PROPERTIES TIMEOUT 5) set_tests_properties(RunExecutable PROPERTIES TIMEOUT 5)
set_tests_properties(RunExecutable PROPERTIES WILL_FAIL TRUE)
add_test(NAME KillExecutable COMMAND killall -KILL maxscale) add_test(NAME KillExecutable COMMAND killall -KILL maxscale)
set_tests_properties(KillExecutable PROPERTIES DEPENDS StackHintTest ) set_tests_properties(KillExecutable PROPERTIES DEPENDS StackHintTest ) #this needs to be the last test that requires a running maxscale

View File

@ -1,6 +1,5 @@
#!/bin/sh #!/bin/sh
killall -KILL maxscale killall -KILL maxscale
sleep 1 sleep 1
nohup $1/maxscale $2 & /bin/sh $1/maxscale $2 &
trap "echo trap triggered." SIGABRT
exit 0 exit 0