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,4 +2,4 @@ add_executable(testlog testlog.c)
add_executable(testorder testorder.c) add_executable(testorder testorder.c)
target_link_libraries(testlog utils pthread log_manager) target_link_libraries(testlog utils pthread log_manager)
target_link_libraries(testorder 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) add_test(NAME TestLogOrder COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/logorder.sh ${CMAKE_CURRENT_BINARY_DIR}/test.log 500 0 500 ${CMAKE_CURRENT_BINARY_DIR})

View File

@ -1,25 +1,35 @@
#! /bin/bash #! /bin/bash
if [[ $# -lt 3 ]] if [[ $# -lt 4 ]]
then then
echo "Usage: logorder.sh <iterations> <frequency of flushes> <message size>" echo "Usage: logorder.sh <iterations> <frequency of flushes> <message size> <log file>"
echo "To disable log flushing, use 0 for flush frequency" echo "To disable log flushing, use 0 for flush frequency"
exit exit
fi fi
rm *.log rm *.log
#Create large messages if [ $# -eq 5 ]
$PWD/testorder $1 $2 $3 then
TDIR=$5
else
TDIR=$PWD
fi
#Create large messages
$TDIR/testorder $1 $2 $3
TESTLOG=$4
MCOUNT=$1 MCOUNT=$1
BLOCKS=`cat skygw_err1.log |tr -s ' '|grep -o 'block:[[:digit:]]\+'|cut -d ':' -f 2` BLOCKS=`cat $TDIR/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` MESSAGES=`cat $TDIR/skygw_err1.log |tr -s ' '|grep -o 'message|[[:digit:]]\+'|cut -d '|' -f 2`
prev=0 prev=0
error=0 error=0
all_errors=0 all_errors=0
for i in $BLOCKS for i in $BLOCKS
do do
@ -27,16 +37,16 @@ do
then then
error=1 error=1
all_errors=1 all_errors=1
echo "block mismatch: $i was after $prev." echo "block mismatch: $i was after $prev." >> $TESTLOG
fi fi
prev=$i prev=$i
done done
if [[ error -eq 0 ]] if [[ error -eq 0 ]]
then then
echo "Block buffers were in order" echo "Block buffers were in order" >> $TESTLOG
else else
echo "Error: block buffers were written in the wrong order" echo "Error: block buffers were written in the wrong order" >> $TESTLOG
fi fi
prev=0 prev=0
@ -49,15 +59,20 @@ do
then then
error=1 error=1
all_errors=1 all_errors=1
echo "message mismatch: $i was after $prev." echo "message mismatch: $i was after $prev." >> $TESTLOG
fi fi
prev=$i prev=$i
done done
if [[ error -eq 0 ]] if [[ error -eq 0 ]]
then then
echo "Block buffer messages were in order" echo "Block buffer messages were in order" >> $TESTLOG
else 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 fi
exit $all_errors

View File

@ -2,7 +2,8 @@ file(COPY ${ERRMSG} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
add_executable(canonizer canonizer.c) add_executable(canonizer canonizer.c)
target_link_libraries(canonizer pthread query_classifier z dl ssl aio crypt crypto rt m ${EMBEDDED_LIB} fullcore stdc++) 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 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_SOURCE_DIR}/input.sql
${CMAKE_CURRENT_BINARY_DIR}/output.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 #! /bin/sh
if [[ $# -lt 4 ]] if [[ $# -lt 4 ]]
then 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 exit 0
fi fi
EXECUTABLE=$1 TESTLOG=$1
INPUT=$2 INPUT=$2
OUTPUT=$3 OUTPUT=$3
EXPECTED=$4 EXPECTED=$4
DIFFLOG=diff.out DIFFLOG=diff.out
if [ $# -eq 5 ]
then
EXECUTABLE=$5
else
EXECUTABLE=$PWD/canonizer
fi
$EXECUTABLE $INPUT $OUTPUT $EXECUTABLE $INPUT $OUTPUT
diff $OUTPUT $EXPECTED > $DIFFLOG diff $OUTPUT $EXPECTED > $DIFFLOG
if [ $? -eq 0 ] if [ $? -eq 0 ]
then then
echo "PASSED" echo "PASSED" >> $TESTLOG
exval=0
else else
echo "FAILED" echo "FAILED" >> $TESTLOG
echo "Diff output: " echo "Diff output: " >> $TESTLOG
cat $DIFFLOG cat $DIFFLOG >> $TESTLOG
exit 1; exval=1
fi
if [ $# -eq 5 ]
then
cat $TESTLOG
exit $exval
fi fi
exit 0;

View File

@ -1,16 +1,16 @@
#!/bin/sh #!/bin/sh
NARGS=6 NARGS=7
THOST=$1 TLOG=$1
TPORT=$2 THOST=$2
TMASTER_ID=$3 TPORT=$3
TUSER=$4 TMASTER_ID=$4
TPWD=$5 TUSER=$5
DIR=$6 TPWD=$6
if [ $# != $NARGS ] ; if [ $# -lt $(( NARGS - 1 )) ] ;
then then
echo"" echo""
echo "Wrong number of arguments, gave "$#" but "$NARGS" is required" echo "Wrong number of arguments, gave "$#" but "$(( NARGS - 1 ))" is required"
echo "" echo ""
echo "Usage :" echo "Usage :"
echo " rwsplit.sh <log filename> <host> <port> <master id> <user> <password>" echo " rwsplit.sh <log filename> <host> <port> <master id> <user> <password>"
@ -18,236 +18,246 @@ echo ""
exit 1 exit 1
fi 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 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 TRETVAL=0
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_transaction_routing2b.sql TINPUT=test_transaction_routing2b.sql
TRETVAL=0 TRETVAL=0
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_transaction_routing3.sql TINPUT=test_transaction_routing3.sql
TRETVAL=2 TRETVAL=2
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" = "$TMASTER_ID" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_transaction_routing3b.sql TINPUT=test_transaction_routing3b.sql
TRETVAL=2 TRETVAL=2
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" = "$TMASTER_ID" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
# test implicit transaction, that is, not started explicitly, autocommit=0 # test implicit transaction, that is, not started explicitly, autocommit=0
TINPUT=$DIR/test_transaction_routing4.sql TINPUT=test_transaction_routing4.sql
TRETVAL=0 TRETVAL=0
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_transaction_routing4b.sql TINPUT=test_transaction_routing4b.sql
TRETVAL=0 TRETVAL=0
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
# set a var via SELECT INTO @, get data from master, returning server-id: put master server-id value in TRETVAL # 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 TRETVAL=$TMASTER_ID
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_implicit_commit1.sql TINPUT=test_implicit_commit1.sql
TRETVAL=$TMASTER_ID TRETVAL=$TMASTER_ID
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" = "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_implicit_commit2.sql TINPUT=test_implicit_commit2.sql
TRETVAL=$TMASTER_ID TRETVAL=$TMASTER_ID
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" = "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_implicit_commit3.sql TINPUT=test_implicit_commit3.sql
TRETVAL=$TMASTER_ID TRETVAL=$TMASTER_ID
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" = "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_implicit_commit4.sql TINPUT=test_implicit_commit4.sql
TRETVAL=$TMASTER_ID TRETVAL=$TMASTER_ID
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=test_implicit_commit5.sql TINPUT=test_implicit_commit5.sql
TRETVAL=$TMASTER_ID TRETVAL=$TMASTER_ID
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" = "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_implicit_commit6.sql TINPUT=test_implicit_commit6.sql
TRETVAL=$TMASTER_ID TRETVAL=$TMASTER_ID
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" = "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_implicit_commit7.sql TINPUT=test_implicit_commit7.sql
TRETVAL=$TMASTER_ID TRETVAL=$TMASTER_ID
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" = "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_autocommit_disabled1.sql TINPUT=test_autocommit_disabled1.sql
TRETVAL=1 TRETVAL=1
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_autocommit_disabled1b.sql TINPUT=test_autocommit_disabled1b.sql
TRETVAL=1 TRETVAL=1
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
# Disable autocommit in the first session and then test in new session that # Disable autocommit in the first session and then test in new session that
# it is again enabled. # it is again enabled.
TINPUT=$DIR/test_autocommit_disabled2.sql TINPUT=test_autocommit_disabled2.sql
TRETVAL=1 TRETVAL=1
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/set_autocommit_disabled.sql TINPUT=set_autocommit_disabled.sql
`$RUNCMD < $TINPUT` `$RUNCMD < $TDIR/$TINPUT`
TINPUT=test_after_autocommit_disabled.sql TINPUT=test_after_autocommit_disabled.sql
TRETVAL=$TMASTER_ID TRETVAL=$TMASTER_ID
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" = "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_sescmd.sql TINPUT=test_sescmd.sql
TRETVAL=2 TRETVAL=2
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=$DIR/test_temporary_table.sql TINPUT=test_temporary_table.sql
a=`$RUNCMD < $TINPUT` a=`$RUNCMD < $TDIR/$TINPUT`
TRETVAL=1 TRETVAL=1
if [ "$a" != "$TRETVAL" ]; then 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 else
echo "$TINPUT PASSED" ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
echo "-----------------------------------" echo "-----------------------------------" >> $TLOG
echo "Session variables: Stress Test 1" echo "Session variables: Stress Test 1" >> $TLOG
echo "-----------------------------------" echo "-----------------------------------" >> $TLOG
RUNCMD=mysql\ --host=$THOST\ -P$TPORT\ -u$TUSER\ -p$TPWD\ --unbuffered=true\ --disable-reconnect\ -q\ -r 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++)) for ((i = 0;i<1000;i++))
do do
if [[ $(( i % 50 )) -eq 0 ]]
then
printf "."
fi
a=`$RUNCMD < $TINPUT 2>&1` a=`$RUNCMD < $TINPUT 2>&1`
if [[ "`echo "$a"|grep -i 'error'`" != "" ]] if [[ "`echo "$a"|grep -i 'error'`" != "" ]]
then then
@ -257,19 +267,23 @@ do
done done
if [[ "$err" == "" ]] if [[ "$err" == "" ]]
then then
echo "TEST PASSED" echo "TEST PASSED" >> $TLOG
else else
echo "$err" echo "$err" >> $TLOG
echo "Test FAILED at iteration $((i+1))" echo "Test FAILED at iteration $((i+1))" >> $TLOG
fi fi
echo "-----------------------------------" echo "-----------------------------------" >> $TLOG
echo "Session variables: Stress Test 2" echo "Session variables: Stress Test 2" >> $TLOG
echo "-----------------------------------" echo "-----------------------------------" >> $TLOG
echo "" echo ""
err="" err=""
TINPUT=$DIR/test_sescmd3.sql TINPUT=test_sescmd3.sql
for ((j = 0;j<1000;j++)) for ((j = 0;j<1000;j++))
do do
if [[ $(( j % 50 )) -eq 0 ]]
then
printf "."
fi
b=`$RUNCMD < $TINPUT 2>&1` b=`$RUNCMD < $TINPUT 2>&1`
if [[ "`echo "$b"|grep -i 'null\|error'`" != "" ]] if [[ "`echo "$b"|grep -i 'null\|error'`" != "" ]]
then then
@ -279,8 +293,13 @@ do
done done
if [[ "$err" == "" ]] if [[ "$err" == "" ]]
then then
echo "TEST PASSED" echo "TEST PASSED" >> $TLOG
else 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 fi
echo ""

View File

@ -1,24 +1,32 @@
#!/bin/bash #!/bin/bash
NARGS=7 NARGS=8
THOST=$1 TLOG=$1
TPORT=$2 THOST=$2
TMASTER_ID=$3 TPORT=$3
TUSER=$4 TMASTER_ID=$4
TPWD=$5 TUSER=$5
TESTINPUT=$6 TPWD=$6
DIR=$7 TESTINPUT=$7
if [ $# != $NARGS ] ; if [ $# -lt $(( NARGS - 1 )) ] ;
then then
echo"" echo""
echo "Wrong number of arguments, gave "$#" but "$NARGS" is required" echo "Wrong number of arguments, gave "$#" but "$(( NARGS - 1 ))" is required"
echo "" echo ""
echo "Usage :" echo "Usage :"
echo " rwsplit_hints.sh <host> <port> <master id> <user> <password> <test file> <script directory>" echo " rwsplit_hints.sh <log filename> <host> <port> <master id> <user> <password> <test file>"
echo "" echo ""
exit 1 exit 1
fi fi
if [ $# -eq $NARGS ]
then
TDIR=$8
else
TDIR=.
fi
TESTINPUT=$TDIR/$TESTINPUT
RUNCMD=mysql\ --host=$THOST\ -P$TPORT\ -u$TUSER\ -p$TPWD\ --unbuffered=true\ --disable-reconnect\ --silent\ --comment RUNCMD=mysql\ --host=$THOST\ -P$TPORT\ -u$TUSER\ -p$TPWD\ --unbuffered=true\ --disable-reconnect\ --silent\ --comment
i=0 i=0
@ -43,7 +51,7 @@ crash=0
if [ "$TOUTPUT" != "${TRETVAL[x]}" -a "${TRETVAL[x]}" != "" ] if [ "$TOUTPUT" != "${TRETVAL[x]}" -a "${TRETVAL[x]}" != "" ]
then then
all_passed=0 all_passed=0
echo "$TESTINPUT:$((x + 1)): ${TINPUT[x]} FAILED, return value $TOUTPUT when ${TRETVAL[x]} was expected"; echo "$TESTINPUT:$((x + 1)): ${TINPUT[x]} FAILED, return value $TOUTPUT when ${TRETVAL[x]} was expected">>$TLOG;
fi fi
x=$((x+1)) x=$((x+1))
done < $TESTINPUT.output done < $TESTINPUT.output
@ -53,15 +61,18 @@ then
all_passed=0 all_passed=0
for ((v=0;v<$i;v++)) for ((v=0;v<$i;v++))
do do
echo "${TINPUT[v]} FAILED, nothing was returned"; echo "${TINPUT[v]} FAILED, nothing was returned">>$TLOG;
done done
fi fi
if [ $all_passed -eq 1 ] if [ $all_passed -eq 1 ]
then then
echo "Test set: PASSED"; echo "Test set: PASSED">>$TLOG;
exit 0
else else
echo "Test set: FAILED"; echo "Test set: FAILED">>$TLOG;
exit 1 fi
if [ $# -eq $NARGS ]
then
cat $TLOG
fi fi