more configuration options, README update and tests

This commit is contained in:
Markus Makela 2014-09-12 16:48:21 +03:00
parent ba9a31497e
commit 32b72ce474
11 changed files with 199 additions and 148 deletions

View File

@ -32,7 +32,7 @@ if(GCOV)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov")
endif()
if(STATIC_EMBEDDED)
if((NOT EMBEDDED_LIB) AND STATIC_EMBEDDED)
find_file(EMBEDDED_LIB libmysqld.a PATHS /usr/lib /usr/lib64 PATH_SUFFIXES mysql mariadb)

31
README
View File

@ -152,6 +152,37 @@ max_connections=4096
Please check errmsg.sys is found in the MaxScale install_dir DEST/MaxScale/mysql
\section Building Building MaxScale with CMake
You can also build MaxScale with CMake which makes the build process a bit more simple.
All the same dependencies are required as with the normal MaxScale build with the addition of CMake
version 2.6 for regular builds and 2.8 or newer for package generation.
CMake tries to find all the required directories and files on its own but if it can't find them or you wish to
explicitly state the locations you can pass additional options to CMake by using the -D flag. To confirm the variable
values, you can run CMake in interactive mode by using the -i flag or use the ccmake GUI.
For example, to build MaxScale using CMake with a custom install location:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/skysql <path to MaxScale source>
make
make install
This generates the required makefiles in the current directory, compiles and links all the programs and installs
all the required files in their right places.
Variables controlling the CMake build process:
CMAKE_INSTALL_PREFIX=<path> Install destination prefix, same as DEST
CMAKE_BUILD_TYPE=[Debug|Release] Type of the build
EMBEDDED_LIB=<path> Path to the embedded library, filename included
MYSQL_DIR=<path> Path to MySQL headers
STATIC_EMBEDDED=[Y|N] Link the static or the dynamic verson of the library
GCOV=[Y|N] Generate gcov output
\section Running Running MaxScale
MaxScale consists of a core executable and a number of modules that implement

View File

@ -2,4 +2,4 @@ add_executable(testlog testlog.c)
add_executable(testorder testorder.c)
target_link_libraries(testlog utils pthread log_manager)
target_link_libraries(testorder utils pthread log_manager)
add_test(NAME TestLogOrder COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/logorder.sh 500 0 500 logtest.log)
add_test(NAME TestLogOrder COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/logorder.sh 500 0 500)

View File

@ -1,6 +1,6 @@
#! /bin/bash
if [[ $# -lt 4 ]]
if [[ $# -lt 3 ]]
then
echo "Usage: logorder.sh <iterations> <frequency of flushes> <message size>"
echo "To disable log flushing, use 0 for flush frequency"
@ -12,7 +12,6 @@ rm *.log
#Create large messages
$PWD/testorder $1 $2 $3
TESTLOG=$4
MCOUNT=$1
BLOCKS=`cat skygw_err1.log |tr -s ' '|grep -o 'block:[[:digit:]]\+'|cut -d ':' -f 2`
@ -20,23 +19,24 @@ MESSAGES=`cat skygw_err1.log |tr -s ' '|grep -o 'message|[[:digit:]]\+'|cut -d '
prev=0
error=0
all_errors=0
for i in $BLOCKS
do
if [[ $i -le $prev ]]
then
error=1
echo "block mismatch: $i was after $prev." >> $TESTLOG
all_errors=1
echo "block mismatch: $i was after $prev."
fi
prev=$i
done
if [[ error -eq 0 ]]
then
echo "Block buffers were in order" >> $TESTLOG
echo "Block buffers were in order"
else
echo "Error: block buffers were written in the wrong order" >> $TESTLOG
echo "Error: block buffers were written in the wrong order"
fi
prev=0
@ -48,14 +48,16 @@ do
if [[ $i -ne $(( prev + 1 )) ]]
then
error=1
echo "message mismatch: $i was after $prev." >> $TESTLOG
all_errors=1
echo "message mismatch: $i was after $prev."
fi
prev=$i
done
if [[ error -eq 0 ]]
then
echo "Block buffer messages were in order" >> $TESTLOG
echo "Block buffer messages were in order"
else
echo "Error: block buffer messages were written in the wrong order" >> $TESTLOG
echo "Error: block buffer messages were written in the wrong order"
fi
exit $all_errors

View File

@ -1,34 +1,46 @@
macro(set_maxscale_version)
#MaxScale version number
set(MAXSCALE_VERSION_MAJOR "1")
set(MAXSCALE_VERSION_MINOR "0")
set(MAXSCALE_VERSION_PATCH "0")
set(MAXSCALE_VERSION "${MAXSCALE_VERSION_MAJOR}.${MAXSCALE_VERSION_MINOR}.${MAXSCALE_VERSION_PATCH}")
set(MAXSCALE_VERSION "${MAXSCALE_VERSION_MAJOR}.${MAXSCALE_VERSION_MINOR}.${MAXSCALE_VERSION_PATCH}-beta")
endmacro()
macro(set_testing_variables)
if(NOT TEST_LOG)
set(TEST_LOG "${CMAKE_SOURCE_DIR}/test/test_maxscale.log")
endif()
# hostname or IP address of MaxScale's host
if(NOT TEST_HOST)
set(TEST_HOST "127.0.0.1")
endif()
if(NOT TEST_PORT)
set(TEST_PORT "4006")
# port of read connection router module
if(NOT TEST_PORT_RW)
set(TEST_PORT_RW "4008")
endif()
# port of read/write split router module
if(NOT TEST_PORT_RW)
set(TEST_PORT_RW "4006")
endif()
# port of read/write split router module with hints
if(NOT TEST_PORT_RW_HINT)
set(TEST_PORT_RW_HINT "4006")
endif()
# master's server_id
if(NOT TEST_MASTER_ID)
set(TEST_MASTER_ID "3000")
endif()
# username of MaxScale user
if(NOT TEST_USER)
set(TEST_USER "maxuser")
endif()
# password of MaxScale user
if(NOT TEST_PASSWORD)
set(TEST_PASSWORD "maxpwd")
endif()

View File

@ -1,4 +1,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)
add_test(NAME TestCanonicalQuery COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/canontest.sh testcanon.log input.sql output.sql expected.sql)
add_test(NAME TestCanonicalQuery COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/canontest.sh
$<TARGET_FILE:canonizer>
${CMAKE_CURRENT_SOURCE_DIR}/input.sql
${CMAKE_CURRENT_BINARY_DIR}/output.sql
${CMAKE_CURRENT_SOURCE_DIR}/expected.sql)

View File

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

View File

@ -10,3 +10,4 @@ add_test(TestHash test_hash)
add_test(TestSpinlock test_spinlock)
add_test(TestFilter test_filter)
add_test(TestAdminUsers test_adminusers)

View File

@ -1,2 +1,2 @@
add_test(NAME ReadWriteSplitTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rwsplit.sh test.log ${TEST_HOST} ${TEST_PORT} ${TEST_MASTER_ID} ${TEST_USER} ${TEST_PASSWORD})
set_tests_properties(ReadWriteSplitTest PROPERTIES DEPENDS ExecutableTest)
add_test(NAME ReadWriteSplitTest COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/rwsplit.sh ${TEST_HOST} ${TEST_PORT_RW} ${TEST_MASTER_ID} ${TEST_USER} ${TEST_PASSWORD})
set_tests_properties(ReadWriteSplitTest PROPERTIES DEPENDS WaitForExecutable)

View File

@ -1,11 +1,10 @@
#!/bin/sh
NARGS=6
TLOG=$1
THOST=$2
TPORT=$3
TMASTER_ID=$4
TUSER=$5
TPWD=$6
NARGS=5
THOST=$1
TPORT=$2
TMASTER_ID=$3
TUSER=$4
TPWD=$5
if [ $# != $NARGS ] ;
then
@ -21,231 +20,231 @@ fi
RUNCMD=mysql\ --host=$THOST\ -P$TPORT\ -u$TUSER\ -p$TPWD\ --unbuffered=true\ --disable-reconnect\ --silent
TINPUT=test_transaction_routing2.sql
TINPUT=$PWD/test_transaction_routing2.sql
TRETVAL=0
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_transaction_routing2b.sql
TINPUT=$PWD/test_transaction_routing2b.sql
TRETVAL=0
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_transaction_routing3.sql
TINPUT=$PWD/test_transaction_routing3.sql
TRETVAL=2
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" = "$TMASTER_ID" ]; then
echo "$TINPUT FAILED, return value $a when one of the slave IDs was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when one of the slave IDs was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_transaction_routing3b.sql
TINPUT=$PWD/test_transaction_routing3b.sql
TRETVAL=2
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" = "$TMASTER_ID" ]; then
echo "$TINPUT FAILED, return value $a when one of the slave IDs was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when one of the slave IDs was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
# test implicit transaction, that is, not started explicitly, autocommit=0
TINPUT=test_transaction_routing4.sql
TINPUT=$PWD/test_transaction_routing4.sql
TRETVAL=0
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_transaction_routing4b.sql
TINPUT=$PWD/test_transaction_routing4b.sql
TRETVAL=0
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
# set a var via SELECT INTO @, get data from master, returning server-id: put master server-id value in TRETVAL
TINPUT=select_for_var_set.sql
TINPUT=$PWD/select_for_var_set.sql
TRETVAL=$TMASTER_ID
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_implicit_commit1.sql
TINPUT=$PWD/test_implicit_commit1.sql
TRETVAL=$TMASTER_ID
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" = "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG;
echo "$TINPUT FAILED, return value $a when it was not accetable";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_implicit_commit2.sql
TINPUT=$PWD/test_implicit_commit2.sql
TRETVAL=$TMASTER_ID
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" = "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG;
echo "$TINPUT FAILED, return value $a when it was not accetable";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_implicit_commit3.sql
TINPUT=$PWD/test_implicit_commit3.sql
TRETVAL=$TMASTER_ID
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" = "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG;
echo "$TINPUT FAILED, return value $a when it was not accetable";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_implicit_commit4.sql
TINPUT=$PWD/test_implicit_commit4.sql
TRETVAL=$TMASTER_ID
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_implicit_commit5.sql
TRETVAL=$TMASTER_ID
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" = "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG;
echo "$TINPUT FAILED, return value $a when it was not accetable";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_implicit_commit6.sql
TINPUT=$PWD/test_implicit_commit6.sql
TRETVAL=$TMASTER_ID
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" = "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG;
echo "$TINPUT FAILED, return value $a when it was not accetable";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_implicit_commit7.sql
TINPUT=$PWD/test_implicit_commit7.sql
TRETVAL=$TMASTER_ID
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" = "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG;
echo "$TINPUT FAILED, return value $a when it was not accetable";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_autocommit_disabled1.sql
TINPUT=$PWD/test_autocommit_disabled1.sql
TRETVAL=1
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_autocommit_disabled1b.sql
TINPUT=$PWD/test_autocommit_disabled1b.sql
TRETVAL=1
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
# Disable autocommit in the first session and then test in new session that
# it is again enabled.
TINPUT=test_autocommit_disabled2.sql
TINPUT=$PWD/test_autocommit_disabled2.sql
TRETVAL=1
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=set_autocommit_disabled.sql
`$RUNCMD < ./$TINPUT`
TINPUT=$PWD/set_autocommit_disabled.sql
`$RUNCMD < $TINPUT`
TINPUT=test_after_autocommit_disabled.sql
TRETVAL=$TMASTER_ID
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" = "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG;
echo "$TINPUT FAILED, return value $a when it was not accetable";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_sescmd.sql
TINPUT=$PWD/test_sescmd.sql
TRETVAL=2
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
a=`$RUNCMD < ./$TINPUT`
a=`$RUNCMD < $TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
TINPUT=test_temporary_table.sql
a=`$RUNCMD < ./$TINPUT`
TINPUT=$PWD/test_temporary_table.sql
a=`$RUNCMD < $TINPUT`
TRETVAL=1
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected";
else
echo "$TINPUT PASSED">>$TLOG ;
echo "$TINPUT PASSED" ;
fi
echo "-----------------------------------" >> $TLOG
echo "Session variables: Stress Test 1" >> $TLOG
echo "-----------------------------------" >> $TLOG
echo "-----------------------------------"
echo "Session variables: Stress Test 1"
echo "-----------------------------------"
RUNCMD=mysql\ --host=$THOST\ -P$TPORT\ -u$TUSER\ -p$TPWD\ --unbuffered=true\ --disable-reconnect\ -q\ -r
TINPUT=test_sescmd2.sql
TINPUT=$PWD/test_sescmd2.sql
for ((i = 0;i<1000;i++))
do
if [[ $(( i % 50 )) -eq 0 ]]
@ -261,17 +260,17 @@ do
done
if [[ "$err" == "" ]]
then
echo "TEST PASSED" >> $TLOG
echo "TEST PASSED"
else
echo "$err" >> $TLOG
echo "Test FAILED at iteration $((i+1))" >> $TLOG
echo "$err"
echo "Test FAILED at iteration $((i+1))"
fi
echo "-----------------------------------" >> $TLOG
echo "Session variables: Stress Test 2" >> $TLOG
echo "-----------------------------------" >> $TLOG
echo "-----------------------------------"
echo "Session variables: Stress Test 2"
echo "-----------------------------------"
echo ""
err=""
TINPUT=test_sescmd3.sql
TINPUT=$PWD/test_sescmd3.sql
for ((j = 0;j<1000;j++))
do
if [[ $(( j % 50 )) -eq 0 ]]
@ -287,8 +286,8 @@ do
done
if [[ "$err" == "" ]]
then
echo "TEST PASSED" >> $TLOG
echo "TEST PASSED"
else
echo "Test FAILED at iteration $((j+1))" >> $TLOG
echo "Test FAILED at iteration $((j+1))"
fi
echo "" >> $TLOG
echo ""

View File

@ -1,5 +1,5 @@
add_test(NAME ExecutableTest COMMAND maxscale)
add_test(NAME RunExecutable COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/startmaxscale.sh $<TARGET_FILE:maxscale> "-c ${CMAKE_BINARY_DIR}/")
add_test(NAME WaitForExecutable COMMAND sleep 5)
add_test(NAME KillExecutable COMMAND killall maxscale)
set_tests_properties(WaitForExecutable PROPERTIES DEPENDS ExecutableTest)
set_tests_properties(KillExecutable PROPERTIES DEPENDS ReadWriteSplitTest DEPENDS WaitForExecutable)
set_tests_properties(WaitForExecutable PROPERTIES DEPENDS RunExecutable)
set_tests_properties(KillExecutable PROPERTIES DEPENDS ReadWriteSplitTest)