From 3776fdb0152d82c1b89aae635ff393ac7ba06ad5 Mon Sep 17 00:00:00 2001 From: Markus Makela Date: Wed, 17 Sep 2014 10:39:47 +0300 Subject: [PATCH] added a 'testall' target which builds and runs the tests --- CMakeLists.txt | 14 +++++--------- .../routing/readwritesplit/test/CMakeLists.txt | 2 +- .../modules/routing/readwritesplit/test/rwsplit.sh | 8 +++++--- .../readwritesplit/test/test_hints/CMakeLists.txt | 6 +++--- server/test/CMakeLists.txt | 3 +-- server/test/startmaxscale.sh | 3 +-- 6 files changed, 16 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 595d6ff55..f1cc62307 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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") include(CPack) - -#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}) -#set_tests_properties(PrepareTests PROPERTIES WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) -#set_tests_properties(PrepareTests PROPERTIES COST 2000.0) - -#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) \ No newline at end of file +add_custom_target(testall + COMMAND ${CMAKE_COMMAND} -DDEPS_OK=Y -DBUILD_TESTS=Y -DBUILD_TYPE=Debug -DINSTALL_DIR=${CMAKE_BINARY_DIR} -DINSTALL_SYSTEM_FILES=N ${CMAKE_SOURCE_DIR} + COMMAND make install + COMMAND make test + COMMENT "Running full test suite") \ No newline at end of file diff --git a/server/modules/routing/readwritesplit/test/CMakeLists.txt b/server/modules/routing/readwritesplit/test/CMakeLists.txt index e114a890f..b2012e789 100644 --- a/server/modules/routing/readwritesplit/test/CMakeLists.txt +++ b/server/modules/routing/readwritesplit/test/CMakeLists.txt @@ -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) add_subdirectory(test_hints) \ No newline at end of file diff --git a/server/modules/routing/readwritesplit/test/rwsplit.sh b/server/modules/routing/readwritesplit/test/rwsplit.sh index 7b7813c99..fcca4ac37 100755 --- a/server/modules/routing/readwritesplit/test/rwsplit.sh +++ b/server/modules/routing/readwritesplit/test/rwsplit.sh @@ -18,9 +18,11 @@ echo "" exit 1 fi -if [ $# -eq $NARGS ] +if [ "$#" == "$NARGS" ] then + echo "CTest mode" TDIR=$7 #this is only used by CMake + echo "Test directory is: $TDIR" else TDIR=. fi @@ -258,7 +260,7 @@ do then printf "." fi - a=`$RUNCMD < $TINPUT 2>&1` + a=`$RUNCMD < $TDIR/$TINPUT 2>&1` if [[ "`echo "$a"|grep -i 'error'`" != "" ]] then err=`echo "$a" | grep -i error` @@ -284,7 +286,7 @@ do then printf "." fi - b=`$RUNCMD < $TINPUT 2>&1` + b=`$RUNCMD < $TDIR/$TINPUT 2>&1` if [[ "`echo "$b"|grep -i 'null\|error'`" != "" ]] then err=`echo "$b" | grep -i null\|error` diff --git a/server/modules/routing/readwritesplit/test/test_hints/CMakeLists.txt b/server/modules/routing/readwritesplit/test/test_hints/CMakeLists.txt index 410a9fad6..ed804382b 100644 --- a/server/modules/routing/readwritesplit/test/test_hints/CMakeLists.txt +++ b/server/modules/routing/readwritesplit/test/test_hints/CMakeLists.txt @@ -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 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 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 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 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 hints.log ${TEST_HOST} ${TEST_PORT_RW_HINT} ${TEST_MASTER_ID} ${TEST_USER} ${TEST_PASSWORD} stack_tests ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/server/test/CMakeLists.txt b/server/test/CMakeLists.txt index 9a3fd8b55..7f0d55bf6 100644 --- a/server/test/CMakeLists.txt +++ b/server/test/CMakeLists.txt @@ -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) add_test(NAME RunExecutable COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/startmaxscale.sh "$" "-c ${CMAKE_BINARY_DIR}") set_tests_properties(RunExecutable PROPERTIES TIMEOUT 5) -set_tests_properties(RunExecutable PROPERTIES WILL_FAIL TRUE) 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 diff --git a/server/test/startmaxscale.sh b/server/test/startmaxscale.sh index 4d449ec4b..b67aebbf3 100755 --- a/server/test/startmaxscale.sh +++ b/server/test/startmaxscale.sh @@ -1,6 +1,5 @@ #!/bin/sh killall -KILL maxscale sleep 1 -nohup $1/maxscale $2 & -trap "echo trap triggered." SIGABRT +/bin/sh $1/maxscale $2 & exit 0