Added $(ROOT_PATH)/test.inc where test parameters can be added. For example, MaxScale port numbers, usernames, passwords. The file can be included in every */test/makefile so that all test directories can use same parameters if necessary.

Moved checking test results to rwsplit.sh so that tests can use easily different criterias to evaluate test success.
This commit is contained in:
VilhoRaatikka
2014-03-27 10:06:31 +02:00
parent f380c707f9
commit 75549c6a20
5 changed files with 45 additions and 22 deletions

View File

@ -4,7 +4,8 @@
# testall - clean, build and run local and subdirectories' tests # testall - clean, build and run local and subdirectories' tests
include ../../../../../build_gateway.inc include ../../../../../build_gateway.inc
include ../../../../../makefile.inc include $(ROOT_PATH)/makefile.inc
include $(ROOT_PATH)/test.inc
CC=cc CC=cc
TESTLOG := $(shell pwd)/testrouters.log TESTLOG := $(shell pwd)/testrouters.log
@ -29,9 +30,7 @@ runtests:
@echo $(shell date) >> $(TESTLOG) @echo $(shell date) >> $(TESTLOG)
@echo "Test MaxScale R/W Split" >> $(TESTLOG) @echo "Test MaxScale R/W Split" >> $(TESTLOG)
@echo "-------------------------------" >> $(TESTLOG) @echo "-------------------------------" >> $(TESTLOG)
./rwsplit.sh $(TESTLOG) test_transaction_routing1.sql 127.0.0.1 4006 maxuser maxpwd ./rwsplit.sh $(TESTLOG) $(THOST) $(TPORT_RW) $(TUSER) $(TPWD)
./rwsplit.sh $(TESTLOG) test_transaction_routing2.sql 127.0.0.1 4006 maxuser maxpwd
./rwsplit.sh $(TESTLOG) test_transaction_routing3.sql 127.0.0.1 4006 maxuser maxpwd
@echo "" >> $(TESTLOG) @echo "" >> $(TESTLOG)

View File

@ -1,11 +1,10 @@
#!/bin/sh #!/bin/sh
NARGS=6 NARGS=5
TLOG=$1 TLOG=$1
TINPUT=$2 THOST=$2
THOST=$3 TPORT=$3
TPORT=$4 TUSER=$4
TUSER=$5 TPWD=$5
TPWD=$6
if [ $# != $NARGS ] ; if [ $# != $NARGS ] ;
then then
@ -13,7 +12,7 @@ echo""
echo "Wrong number of arguments, gave "$#" but "$NARGS" is required" echo "Wrong number of arguments, gave "$#" but "$NARGS" is required"
echo "" echo ""
echo "Usage :" echo "Usage :"
echo " rwsplit.sh <log filename> <test input> <host> <port> <user> <password>" echo " rwsplit.sh <log filename> <host> <port> <user> <password>"
echo "" echo ""
exit 1 exit 1
fi fi
@ -21,10 +20,29 @@ 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=test_transaction_routing1.sql
TRETVAL=2
a=`$RUNCMD < ./$TINPUT` a=`$RUNCMD < ./$TINPUT`
if [ "$a" != "2" ]; then if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED">>$TLOG; echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
else else
echo "$TINPUT PASSED">>$TLOG ; echo "$TINPUT PASSED">>$TLOG ;
fi fi
TINPUT=test_transaction_routing2.sql
TRETVAL=foo
a=`$RUNCMD < ./$TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
else
echo "$TINPUT PASSED">>$TLOG ;
fi
TINPUT=test_transaction_routing3.sql
TRETVAL=bar
a=`$RUNCMD < ./$TINPUT`
if [ "$a" != "$TRETVAL" ]; then
echo "$TINPUT FAILED, return value $a when $TRETVAL was expected">>$TLOG;
else
echo "$TINPUT PASSED">>$TLOG ;
fi

View File

@ -1,7 +1,7 @@
USE test; USE test;
SET autocommit = 0; SET autocommit = 0;
SET @a= -1; SET @a= -1;
SET @b = -2; SET @b= -2;
START TRANSACTION; START TRANSACTION;
CREATE TABLE IF NOT EXISTS myCity (a int, b char(20)); CREATE TABLE IF NOT EXISTS myCity (a int, b char(20));
INSERT INTO myCity VALUES (1, 'Milan'); INSERT INTO myCity VALUES (1, 'Milan');
@ -9,7 +9,7 @@ INSERT INTO myCity VALUES (2, 'London');
COMMIT; COMMIT;
START TRANSACTION; START TRANSACTION;
DELETE FROM myCity; DELETE FROM myCity;
SET @a = (SELECT COUNT(1) FROM myCity); SET @a = (SELECT COUNT(*) FROM myCity);
ROLLBACK; ROLLBACK;
START TRANSACTION; START TRANSACTION;
SET @b = (SELECT COUNT(*) FROM myCity); SET @b = (SELECT COUNT(*) FROM myCity);

View File

@ -1,7 +1,3 @@
SET autocommit = 1; SET autocommit = 0;
SELECT @@server_id INTO @a; SELECT @@in_transaction INTO @a;
START TRANSACTION; SELECT @a;
SELECT @@server_id INTO @b;
COMMIT;
SELECT (@a-@b) INTO @c;
SELECT @a, @b, @c;

10
test.inc Normal file
View File

@ -0,0 +1,10 @@
#
# This file includes parameters needed for running tests and may be included
# in makefiles in test directories if seen useful.
#
THOST := 127.0.0.1
TPORT_RCONN := 4008
TPORT_RW := 4006
TUSER := maxuser
TPWD := maxpwd