diff --git a/log_manager/test/CMakeLists.txt b/log_manager/test/CMakeLists.txt index eb529ba0b..1763e5933 100644 --- a/log_manager/test/CMakeLists.txt +++ b/log_manager/test/CMakeLists.txt @@ -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) \ No newline at end of file +add_test(NAME TestLogOrder COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/logorder.sh ${CMAKE_CURRENT_BINARY_DIR}/test.log 500 0 500 ${CMAKE_CURRENT_BINARY_DIR}) \ No newline at end of file diff --git a/log_manager/test/logorder.sh b/log_manager/test/logorder.sh index aaad7ffd7..49ca43c83 100755 --- a/log_manager/test/logorder.sh +++ b/log_manager/test/logorder.sh @@ -1,25 +1,35 @@ #! /bin/bash -if [[ $# -lt 3 ]] +if [[ $# -lt 4 ]] then - echo "Usage: logorder.sh " + echo "Usage: logorder.sh " echo "To disable log flushing, use 0 for flush frequency" exit fi rm *.log -#Create large messages -$PWD/testorder $1 $2 $3 +if [ $# -eq 5 ] +then + TDIR=$5 +else + TDIR=$PWD +fi +#Create large messages + +$TDIR/testorder $1 $2 $3 + +TESTLOG=$4 MCOUNT=$1 -BLOCKS=`cat skygw_err1.log |tr -s ' '|grep -o 'block:[[:digit:]]\+'|cut -d ':' -f 2` -MESSAGES=`cat skygw_err1.log |tr -s ' '|grep -o 'message|[[:digit:]]\+'|cut -d '|' -f 2` +BLOCKS=`cat $TDIR/skygw_err1.log |tr -s ' '|grep -o 'block:[[:digit:]]\+'|cut -d ':' -f 2` +MESSAGES=`cat $TDIR/skygw_err1.log |tr -s ' '|grep -o 'message|[[:digit:]]\+'|cut -d '|' -f 2` prev=0 error=0 all_errors=0 + for i in $BLOCKS do @@ -27,16 +37,16 @@ do then error=1 all_errors=1 - echo "block mismatch: $i was after $prev." + echo "block mismatch: $i was after $prev." >> $TESTLOG fi prev=$i done if [[ error -eq 0 ]] then - echo "Block buffers were in order" + echo "Block buffers were in order" >> $TESTLOG else - echo "Error: block buffers were written in the wrong order" + echo "Error: block buffers were written in the wrong order" >> $TESTLOG fi prev=0 @@ -49,15 +59,20 @@ do then error=1 all_errors=1 - echo "message mismatch: $i was after $prev." + echo "message mismatch: $i was after $prev." >> $TESTLOG fi prev=$i done if [[ error -eq 0 ]] then - echo "Block buffer messages were in order" + echo "Block buffer messages were in order" >> $TESTLOG else - echo "Error: block buffer messages were written in the wrong order" + echo "Error: block buffer messages were written in the wrong order" >> $TESTLOG +fi + +if [ $# -eq 5 ] +then + cat $TESTLOG + exit $all_errors fi -exit $all_errors diff --git a/query_classifier/test/canonical_tests/CMakeLists.txt b/query_classifier/test/canonical_tests/CMakeLists.txt index fcfe6da2a..0575a1a0e 100644 --- a/query_classifier/test/canonical_tests/CMakeLists.txt +++ b/query_classifier/test/canonical_tests/CMakeLists.txt @@ -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 - $ + ${CMAKE_CURRENT_BINARY_DIR}/test.log ${CMAKE_CURRENT_SOURCE_DIR}/input.sql ${CMAKE_CURRENT_BINARY_DIR}/output.sql - ${CMAKE_CURRENT_SOURCE_DIR}/expected.sql) \ No newline at end of file + ${CMAKE_CURRENT_SOURCE_DIR}/expected.sql + $) diff --git a/query_classifier/test/canonical_tests/canontest.sh b/query_classifier/test/canonical_tests/canontest.sh index dd9342fc1..dd931504f 100755 --- a/query_classifier/test/canonical_tests/canontest.sh +++ b/query_classifier/test/canonical_tests/canontest.sh @@ -1,23 +1,37 @@ #! /bin/sh if [[ $# -lt 4 ]] then - echo "Usage: canontest.sh " + echo "Usage: canontest.sh " 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; diff --git a/server/modules/routing/readwritesplit/test/rwsplit.sh b/server/modules/routing/readwritesplit/test/rwsplit.sh index d68d14283..7b7813c99 100755 --- a/server/modules/routing/readwritesplit/test/rwsplit.sh +++ b/server/modules/routing/readwritesplit/test/rwsplit.sh @@ -1,16 +1,16 @@ #!/bin/sh -NARGS=6 -THOST=$1 -TPORT=$2 -TMASTER_ID=$3 -TUSER=$4 -TPWD=$5 -DIR=$6 +NARGS=7 +TLOG=$1 +THOST=$2 +TPORT=$3 +TMASTER_ID=$4 +TUSER=$5 +TPWD=$6 -if [ $# != $NARGS ] ; +if [ $# -lt $(( NARGS - 1 )) ] ; then echo"" -echo "Wrong number of arguments, gave "$#" but "$NARGS" is required" +echo "Wrong number of arguments, gave "$#" but "$(( NARGS - 1 ))" is required" echo "" echo "Usage :" echo " rwsplit.sh " @@ -18,236 +18,246 @@ echo "" exit 1 fi +if [ $# -eq $NARGS ] +then + TDIR=$7 #this is only used by CMake +else + TDIR=. +fi RUNCMD=mysql\ --host=$THOST\ -P$TPORT\ -u$TUSER\ -p$TPWD\ --unbuffered=true\ --disable-reconnect\ --silent -TINPUT=$DIR/test_transaction_routing2.sql +TINPUT=test_transaction_routing2.sql TRETVAL=0 -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_transaction_routing2b.sql +TINPUT=test_transaction_routing2b.sql TRETVAL=0 -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_transaction_routing3.sql +TINPUT=test_transaction_routing3.sql TRETVAL=2 -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" = "$TMASTER_ID" ]; then - echo "$TINPUT FAILED, return value $a when one of the slave IDs was expected"; + echo "$TINPUT FAILED, return value $a when one of the slave IDs was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_transaction_routing3b.sql +TINPUT=test_transaction_routing3b.sql TRETVAL=2 -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" = "$TMASTER_ID" ]; then - echo "$TINPUT FAILED, return value $a when one of the slave IDs was expected"; + echo "$TINPUT FAILED, return value $a when one of the slave IDs was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi # test implicit transaction, that is, not started explicitly, autocommit=0 -TINPUT=$DIR/test_transaction_routing4.sql +TINPUT=test_transaction_routing4.sql TRETVAL=0 -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_transaction_routing4b.sql +TINPUT=test_transaction_routing4b.sql TRETVAL=0 -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi # set a var via SELECT INTO @, get data from master, returning server-id: put master server-id value in TRETVAL -TINPUT=$DIR/select_for_var_set.sql +TINPUT=select_for_var_set.sql TRETVAL=$TMASTER_ID -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_implicit_commit1.sql +TINPUT=test_implicit_commit1.sql TRETVAL=$TMASTER_ID -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" = "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when it was not accetable"; + echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_implicit_commit2.sql +TINPUT=test_implicit_commit2.sql TRETVAL=$TMASTER_ID -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" = "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when it was not accetable"; + echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_implicit_commit3.sql +TINPUT=test_implicit_commit3.sql TRETVAL=$TMASTER_ID -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" = "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when it was not accetable"; + echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_implicit_commit4.sql +TINPUT=test_implicit_commit4.sql TRETVAL=$TMASTER_ID -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi TINPUT=test_implicit_commit5.sql TRETVAL=$TMASTER_ID -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" = "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when it was not accetable"; + echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_implicit_commit6.sql +TINPUT=test_implicit_commit6.sql TRETVAL=$TMASTER_ID -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" = "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when it was not accetable"; + echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_implicit_commit7.sql +TINPUT=test_implicit_commit7.sql TRETVAL=$TMASTER_ID -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" = "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when it was not accetable"; + echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_autocommit_disabled1.sql +TINPUT=test_autocommit_disabled1.sql TRETVAL=1 -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_autocommit_disabled1b.sql +TINPUT=test_autocommit_disabled1b.sql TRETVAL=1 -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi # Disable autocommit in the first session and then test in new session that # it is again enabled. -TINPUT=$DIR/test_autocommit_disabled2.sql +TINPUT=test_autocommit_disabled2.sql TRETVAL=1 -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/set_autocommit_disabled.sql -`$RUNCMD < $TINPUT` +TINPUT=set_autocommit_disabled.sql +`$RUNCMD < $TDIR/$TINPUT` TINPUT=test_after_autocommit_disabled.sql TRETVAL=$TMASTER_ID -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" = "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when it was not accetable"; + echo "$TINPUT FAILED, return value $a when it was not accetable">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_sescmd.sql +TINPUT=test_sescmd.sql TRETVAL=2 -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -a=`$RUNCMD < $TINPUT` +a=`$RUNCMD < $TDIR/$TINPUT` if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -TINPUT=$DIR/test_temporary_table.sql -a=`$RUNCMD < $TINPUT` +TINPUT=test_temporary_table.sql +a=`$RUNCMD < $TDIR/$TINPUT` TRETVAL=1 if [ "$a" != "$TRETVAL" ]; then - echo "$TINPUT FAILED, return value $a when $TRETVAL was expected"; + echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG; else - echo "$TINPUT PASSED" ; + echo "$TINPUT PASSED">>$TLOG ; fi -echo "-----------------------------------" -echo "Session variables: Stress Test 1" -echo "-----------------------------------" +echo "-----------------------------------" >> $TLOG +echo "Session variables: Stress Test 1" >> $TLOG +echo "-----------------------------------" >> $TLOG RUNCMD=mysql\ --host=$THOST\ -P$TPORT\ -u$TUSER\ -p$TPWD\ --unbuffered=true\ --disable-reconnect\ -q\ -r -TINPUT=$DIR/test_sescmd2.sql +TINPUT=test_sescmd2.sql for ((i = 0;i<1000;i++)) do + if [[ $(( i % 50 )) -eq 0 ]] + then + printf "." + fi a=`$RUNCMD < $TINPUT 2>&1` if [[ "`echo "$a"|grep -i 'error'`" != "" ]] then @@ -257,19 +267,23 @@ do done if [[ "$err" == "" ]] then - echo "TEST PASSED" + echo "TEST PASSED" >> $TLOG else - echo "$err" - echo "Test FAILED at iteration $((i+1))" + echo "$err" >> $TLOG + echo "Test FAILED at iteration $((i+1))" >> $TLOG fi -echo "-----------------------------------" -echo "Session variables: Stress Test 2" -echo "-----------------------------------" +echo "-----------------------------------" >> $TLOG +echo "Session variables: Stress Test 2" >> $TLOG +echo "-----------------------------------" >> $TLOG echo "" err="" -TINPUT=$DIR/test_sescmd3.sql +TINPUT=test_sescmd3.sql for ((j = 0;j<1000;j++)) do + if [[ $(( j % 50 )) -eq 0 ]] + then + printf "." + fi b=`$RUNCMD < $TINPUT 2>&1` if [[ "`echo "$b"|grep -i 'null\|error'`" != "" ]] then @@ -279,8 +293,13 @@ do done if [[ "$err" == "" ]] then - echo "TEST PASSED" + echo "TEST PASSED" >> $TLOG else - echo "Test FAILED at iteration $((j+1))" + echo "Test FAILED at iteration $((j+1))" >> $TLOG +fi +echo "" >> $TLOG + +if [ $# -eq $NARGS ] +then + cat $TLOG fi -echo "" diff --git a/server/modules/routing/readwritesplit/test/test_hints/rwsplit_hints.sh b/server/modules/routing/readwritesplit/test/test_hints/rwsplit_hints.sh index 8db83cafa..1f751861f 100755 --- a/server/modules/routing/readwritesplit/test/test_hints/rwsplit_hints.sh +++ b/server/modules/routing/readwritesplit/test/test_hints/rwsplit_hints.sh @@ -1,24 +1,32 @@ #!/bin/bash -NARGS=7 -THOST=$1 -TPORT=$2 -TMASTER_ID=$3 -TUSER=$4 -TPWD=$5 -TESTINPUT=$6 -DIR=$7 +NARGS=8 +TLOG=$1 +THOST=$2 +TPORT=$3 +TMASTER_ID=$4 +TUSER=$5 +TPWD=$6 +TESTINPUT=$7 -if [ $# != $NARGS ] ; +if [ $# -lt $(( NARGS - 1 )) ] ; then echo"" -echo "Wrong number of arguments, gave "$#" but "$NARGS" is required" +echo "Wrong number of arguments, gave "$#" but "$(( NARGS - 1 ))" is required" echo "" echo "Usage :" -echo " rwsplit_hints.sh