Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA
This commit is contained in:
commit
2b30dcad6b
@ -13,4 +13,12 @@ target_link_libraries(harness fullcore)
|
|||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${ERRMSG} ${CMAKE_CURRENT_BINARY_DIR})
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${ERRMSG} ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
add_test(TestHintfilter /bin/sh -c "MAXSCALE_HOME=\"${CMAKE_BINARY_DIR}\" ${CMAKE_CURRENT_BINARY_DIR}/harness -i ${CMAKE_CURRENT_SOURCE_DIR}/hint_testing.input -o ${CMAKE_CURRENT_BINARY_DIR}/hint_testing.output -c ${CMAKE_CURRENT_SOURCE_DIR}/hint_testing.cnf -t 1 -s 1 -e ${CMAKE_CURRENT_SOURCE_DIR}/hint_testing.expected")
|
add_test(TestHintfilter /bin/sh -c "MAXSCALE_HOME=\"${CMAKE_BINARY_DIR}\" ${CMAKE_CURRENT_BINARY_DIR}/harness -i ${CMAKE_CURRENT_SOURCE_DIR}/hint_testing.input -o ${CMAKE_CURRENT_BINARY_DIR}/hint_testing.output -c ${CMAKE_CURRENT_SOURCE_DIR}/hint_testing.cnf -t 1 -s 1 -e ${CMAKE_CURRENT_SOURCE_DIR}/hint_testing.expected")
|
||||||
|
|
||||||
add_test(TestRegexfilter /bin/sh -c "MAXSCALE_HOME=\"${CMAKE_BINARY_DIR}\" ${CMAKE_CURRENT_BINARY_DIR}/harness -i ${CMAKE_CURRENT_SOURCE_DIR}/regextest.input -o ${CMAKE_CURRENT_BINARY_DIR}/regextest.output -c ${CMAKE_CURRENT_SOURCE_DIR}/regextest.cnf -t 1 -s 1 -e ${CMAKE_CURRENT_SOURCE_DIR}/regextest.expected")
|
add_test(TestRegexfilter /bin/sh -c "MAXSCALE_HOME=\"${CMAKE_BINARY_DIR}\" ${CMAKE_CURRENT_BINARY_DIR}/harness -i ${CMAKE_CURRENT_SOURCE_DIR}/regextest.input -o ${CMAKE_CURRENT_BINARY_DIR}/regextest.output -c ${CMAKE_CURRENT_SOURCE_DIR}/regextest.cnf -t 1 -s 1 -e ${CMAKE_CURRENT_SOURCE_DIR}/regextest.expected")
|
||||||
|
|
||||||
|
add_test(TestTeeRecursion ${CMAKE_CURRENT_SOURCE_DIR}/tee_recursion.sh
|
||||||
|
${CMAKE_BINARY_DIR}
|
||||||
|
${CMAKE_SOURCE_DIR}
|
||||||
|
${TEST_USER}
|
||||||
|
${TEST_PASSWORD}
|
||||||
|
${TEST_HOST}
|
||||||
|
${TEST_PORT})
|
||||||
|
86
server/modules/filter/test/tee_recursion.sh
Executable file
86
server/modules/filter/test/tee_recursion.sh
Executable file
@ -0,0 +1,86 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function execute_test()
|
||||||
|
{
|
||||||
|
|
||||||
|
RVAL=$(mysql --connect-timeout=5 -u $USER -p$PWD -h $HOST -P $PORT -e "select 1;"|grep -i error)
|
||||||
|
|
||||||
|
if [[ ! -e $MAXPID ]]
|
||||||
|
then
|
||||||
|
echo "Test failed: $MAXPID was not found."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$RVAL" != "" ]]
|
||||||
|
then
|
||||||
|
echo "Test failed: Query to backend didn't return an error."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
LAST_LOG=$(ls $BINDIR/log -1|grep err|sort|uniq|tail -n 1)
|
||||||
|
TEST_RESULT=$(cat $BINDIR/log/$LAST_LOG | grep -i recursive)
|
||||||
|
if [[ "$TEST_RESULT" != "" ]]
|
||||||
|
then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
echo "Test failed: Log file didn't mention tee recursion."
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function reload_conf()
|
||||||
|
{
|
||||||
|
$BINDIR/bin/maxadmin --user=admin --password=skysql reload config
|
||||||
|
if [[ $? -ne 0 ]]
|
||||||
|
then
|
||||||
|
echo "Test failed: maxadmin returned a non-zero value."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ $# -lt 6 ]]
|
||||||
|
then
|
||||||
|
echo "usage: $0 <build dir> <source dir>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
BINDIR=$1
|
||||||
|
SRCDIR=$2
|
||||||
|
USER=$3
|
||||||
|
PWD=$4
|
||||||
|
HOST=$5
|
||||||
|
PORT=$6
|
||||||
|
CONF=$BINDIR/etc/MaxScale.cnf
|
||||||
|
OLDCONF=$BINDIR/etc/MaxScale.cnf.old
|
||||||
|
MAXPID=$BINDIR/log/$(ls -1 $BINDIR/log|grep maxscale)
|
||||||
|
TEST1=$SRCDIR/server/modules/filter/test/tee_recursion1.cnf
|
||||||
|
TEST2=$SRCDIR/server/modules/filter/test/tee_recursion2.cnf
|
||||||
|
|
||||||
|
$BINDIR/bin/maxadmin --user=admin --password=skysql flush logs
|
||||||
|
|
||||||
|
mv $CONF $OLDCONF
|
||||||
|
cp $TEST1 $CONF
|
||||||
|
reload_conf
|
||||||
|
execute_test
|
||||||
|
T1RVAL=$?
|
||||||
|
mv $CONF $CONF.test1
|
||||||
|
cp $TEST2 $CONF
|
||||||
|
reload_conf
|
||||||
|
execute_test
|
||||||
|
T2RVAL=$?
|
||||||
|
mv $CONF $CONF.test2
|
||||||
|
mv $OLDCONF $CONF
|
||||||
|
reload_conf
|
||||||
|
|
||||||
|
if [[ $T1RVAL -ne 0 ]]
|
||||||
|
then
|
||||||
|
echo "Test 1 failed."
|
||||||
|
exit 1
|
||||||
|
elif [[ $T2RVAL -ne 0 ]]
|
||||||
|
then
|
||||||
|
echo "Test 2 failed"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "Test successful: log mentions recursive tee usage."
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
114
server/modules/filter/test/tee_recursion1.cnf
Normal file
114
server/modules/filter/test/tee_recursion1.cnf
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
[maxscale]
|
||||||
|
threads=4
|
||||||
|
|
||||||
|
[MySQL Monitor]
|
||||||
|
type=monitor
|
||||||
|
module=mysqlmon
|
||||||
|
servers=server1,server2,server3,server4
|
||||||
|
user=maxuser
|
||||||
|
passwd=maxpwd
|
||||||
|
monitor_interval=10000
|
||||||
|
|
||||||
|
[RW Split Router]
|
||||||
|
type=service
|
||||||
|
router=readwritesplit
|
||||||
|
servers=server1,server2,server3,server4
|
||||||
|
user=maxuser
|
||||||
|
passwd=maxpwd
|
||||||
|
filters=recurse1
|
||||||
|
|
||||||
|
[RW Split Hint Router]
|
||||||
|
type=service
|
||||||
|
router=readwritesplit
|
||||||
|
servers=server1,server2,server3,server4
|
||||||
|
user=maxuser
|
||||||
|
passwd=maxpwd
|
||||||
|
filters=recurse2
|
||||||
|
|
||||||
|
|
||||||
|
[Read Connection Router]
|
||||||
|
type=service
|
||||||
|
router=readconnroute
|
||||||
|
router_options=master
|
||||||
|
servers=server1
|
||||||
|
user=maxuser
|
||||||
|
passwd=maxpwd
|
||||||
|
filters=recurse3
|
||||||
|
|
||||||
|
[recurse3]
|
||||||
|
type=filter
|
||||||
|
module=tee
|
||||||
|
service=RW Split Router
|
||||||
|
|
||||||
|
[recurse2]
|
||||||
|
type=filter
|
||||||
|
module=tee
|
||||||
|
service=Read Connection Router
|
||||||
|
|
||||||
|
[recurse1]
|
||||||
|
type=filter
|
||||||
|
module=tee
|
||||||
|
service=RW Split Hint Router
|
||||||
|
|
||||||
|
|
||||||
|
[Debug Interface]
|
||||||
|
type=service
|
||||||
|
router=debugcli
|
||||||
|
|
||||||
|
[CLI]
|
||||||
|
type=service
|
||||||
|
router=cli
|
||||||
|
|
||||||
|
[Read Connection Listener]
|
||||||
|
type=listener
|
||||||
|
service=Read Connection Router
|
||||||
|
protocol=MySQLClient
|
||||||
|
port=4008
|
||||||
|
|
||||||
|
[RW Split Listener]
|
||||||
|
type=listener
|
||||||
|
service=RW Split Router
|
||||||
|
protocol=MySQLClient
|
||||||
|
port=4006
|
||||||
|
|
||||||
|
[RW Split Hint Listener]
|
||||||
|
type=listener
|
||||||
|
service=RW Split Hint Router
|
||||||
|
protocol=MySQLClient
|
||||||
|
port=4009
|
||||||
|
|
||||||
|
[Debug Listener]
|
||||||
|
type=listener
|
||||||
|
service=Debug Interface
|
||||||
|
protocol=telnetd
|
||||||
|
port=4442
|
||||||
|
|
||||||
|
[CLI Listener]
|
||||||
|
type=listener
|
||||||
|
service=CLI
|
||||||
|
protocol=maxscaled
|
||||||
|
port=6603
|
||||||
|
|
||||||
|
[server1]
|
||||||
|
type=server
|
||||||
|
address=127.0.0.1
|
||||||
|
port=3000
|
||||||
|
protocol=MySQLBackend
|
||||||
|
|
||||||
|
[server2]
|
||||||
|
type=server
|
||||||
|
address=127.0.0.1
|
||||||
|
port=3001
|
||||||
|
protocol=MySQLBackend
|
||||||
|
|
||||||
|
[server3]
|
||||||
|
type=server
|
||||||
|
address=127.0.0.1
|
||||||
|
port=3002
|
||||||
|
protocol=MySQLBackend
|
||||||
|
|
||||||
|
[server4]
|
||||||
|
type=server
|
||||||
|
address=127.0.0.1
|
||||||
|
port=3003
|
||||||
|
protocol=MySQLBackend
|
112
server/modules/filter/test/tee_recursion2.cnf
Normal file
112
server/modules/filter/test/tee_recursion2.cnf
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
[maxscale]
|
||||||
|
threads=4
|
||||||
|
|
||||||
|
[MySQL Monitor]
|
||||||
|
type=monitor
|
||||||
|
module=mysqlmon
|
||||||
|
servers=server1,server2,server3,server4
|
||||||
|
user=maxuser
|
||||||
|
passwd=maxpwd
|
||||||
|
monitor_interval=10000
|
||||||
|
|
||||||
|
[RW Split Router]
|
||||||
|
type=service
|
||||||
|
router=readwritesplit
|
||||||
|
servers=server1,server2,server3,server4
|
||||||
|
user=maxuser
|
||||||
|
passwd=maxpwd
|
||||||
|
filters=recurse1|recurse2
|
||||||
|
|
||||||
|
[RW Split Hint Router]
|
||||||
|
type=service
|
||||||
|
router=readwritesplit
|
||||||
|
servers=server1,server2,server3,server4
|
||||||
|
user=maxuser
|
||||||
|
passwd=maxpwd
|
||||||
|
|
||||||
|
[Read Connection Router]
|
||||||
|
type=service
|
||||||
|
router=readconnroute
|
||||||
|
router_options=master
|
||||||
|
servers=server1
|
||||||
|
user=maxuser
|
||||||
|
passwd=maxpwd
|
||||||
|
filters=recurse3
|
||||||
|
|
||||||
|
[recurse3]
|
||||||
|
type=filter
|
||||||
|
module=tee
|
||||||
|
service=RW Split Router
|
||||||
|
|
||||||
|
[recurse2]
|
||||||
|
type=filter
|
||||||
|
module=tee
|
||||||
|
service=Read Connection Router
|
||||||
|
|
||||||
|
[recurse1]
|
||||||
|
type=filter
|
||||||
|
module=tee
|
||||||
|
service=RW Split Hint Router
|
||||||
|
|
||||||
|
|
||||||
|
[Debug Interface]
|
||||||
|
type=service
|
||||||
|
router=debugcli
|
||||||
|
|
||||||
|
[CLI]
|
||||||
|
type=service
|
||||||
|
router=cli
|
||||||
|
|
||||||
|
[Read Connection Listener]
|
||||||
|
type=listener
|
||||||
|
service=Read Connection Router
|
||||||
|
protocol=MySQLClient
|
||||||
|
port=4008
|
||||||
|
|
||||||
|
[RW Split Listener]
|
||||||
|
type=listener
|
||||||
|
service=RW Split Router
|
||||||
|
protocol=MySQLClient
|
||||||
|
port=4006
|
||||||
|
|
||||||
|
[RW Split Hint Listener]
|
||||||
|
type=listener
|
||||||
|
service=RW Split Hint Router
|
||||||
|
protocol=MySQLClient
|
||||||
|
port=4009
|
||||||
|
|
||||||
|
[Debug Listener]
|
||||||
|
type=listener
|
||||||
|
service=Debug Interface
|
||||||
|
protocol=telnetd
|
||||||
|
port=4442
|
||||||
|
|
||||||
|
[CLI Listener]
|
||||||
|
type=listener
|
||||||
|
service=CLI
|
||||||
|
protocol=maxscaled
|
||||||
|
port=6603
|
||||||
|
|
||||||
|
[server1]
|
||||||
|
type=server
|
||||||
|
address=127.0.0.1
|
||||||
|
port=3000
|
||||||
|
protocol=MySQLBackend
|
||||||
|
|
||||||
|
[server2]
|
||||||
|
type=server
|
||||||
|
address=127.0.0.1
|
||||||
|
port=3001
|
||||||
|
protocol=MySQLBackend
|
||||||
|
|
||||||
|
[server3]
|
||||||
|
type=server
|
||||||
|
address=127.0.0.1
|
||||||
|
port=3002
|
||||||
|
protocol=MySQLBackend
|
||||||
|
|
||||||
|
[server4]
|
||||||
|
type=server
|
||||||
|
address=127.0.0.1
|
||||||
|
port=3003
|
||||||
|
protocol=MySQLBackend
|
@ -37,6 +37,22 @@ passwd=maxpwd
|
|||||||
type=filter
|
type=filter
|
||||||
module=hintfilter
|
module=hintfilter
|
||||||
|
|
||||||
|
[recurse3]
|
||||||
|
type=filter
|
||||||
|
module=tee
|
||||||
|
service=RW Split Router
|
||||||
|
|
||||||
|
[recurse2]
|
||||||
|
type=filter
|
||||||
|
module=tee
|
||||||
|
service=Read Connection Router
|
||||||
|
|
||||||
|
[recurse1]
|
||||||
|
type=filter
|
||||||
|
module=tee
|
||||||
|
service=RW Split Hint Router
|
||||||
|
|
||||||
|
|
||||||
[Debug Interface]
|
[Debug Interface]
|
||||||
type=service
|
type=service
|
||||||
router=debugcli
|
router=debugcli
|
||||||
|
Loading…
x
Reference in New Issue
Block a user