Merge branch 'release-1.0beta-refresh' of https://github.com/skysql/MaxScale into release-1.0beta-refresh

This commit is contained in:
VilhoRaatikka 2014-09-24 12:55:19 +03:00
commit 315b5b92df
3 changed files with 207 additions and 7 deletions

View File

@ -273,7 +273,10 @@ char c;
}
else if (*buf)
{
sendCommand(so, buf);
if (!sendCommand(so, buf))
{
return 0;
}
}
}
@ -298,6 +301,7 @@ connectMaxScale(char *hostname, char *port)
{
struct sockaddr_in addr;
int so;
int keepalive = 1;
if ((so = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
@ -315,6 +319,9 @@ int so;
hostname, port, strerror(errno));
return -1;
}
if (setsockopt(so, SOL_SOCKET,
SO_KEEPALIVE, &keepalive , sizeof(keepalive )))
perror("setsockopt");
return so;
}
@ -387,11 +394,14 @@ authMaxScale(int so, char *user, char *password)
{
char buf[20];
read(so, buf, 4);
if (read(so, buf, 4) != 4)
return 0;
write(so, user, strlen(user));
read(so, buf, 8);
if (read(so, buf, 8) != 8)
return 0;
write(so, password, strlen(password));
read(so, buf, 6);
if (read(so, buf, 6) != 6)
return 0;
return strncmp(buf, "FAILED", 6);
}
@ -412,10 +422,11 @@ sendCommand(int so, char *cmd)
char buf[80];
int i, j, newline = 1;
write(so, cmd, strlen(cmd));
if (write(so, cmd, strlen(cmd)) == -1)
return 0;
while (1)
{
if ((i = read(so, buf, 80)) == -1)
if ((i = read(so, buf, 80)) <= 0)
return 0;
for (j = 0; j < i; j++)
{

View File

@ -0,0 +1,189 @@
#!/bin/sh
failure=0
passed=0
maxadmin -pskysql help >& /dev/null
if [ $? -eq "1" ]; then
echo "Auth test (correct password): Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "Auth test (correct password): Passed"
fi
maxadmin -pwrongpasswd help >& /dev/null
if [ $? -eq "0" ]; then
echo "Auth test (wrong password): Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "Auth test (wrong password): Passed"
fi
maxadmin --password=skysql help >& /dev/null
if [ $? -eq "1" ]; then
echo "Auth test (long option): Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "Auth test (long option): Passed"
fi
maxadmin -pskysql enable log debug >& /dev/null
if [ $? -eq "1" ]; then
echo "Enable debug log: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "Enable debug log: Passed"
fi
maxadmin -pskysql enable log trace >& /dev/null
if [ $? -eq "1" ]; then
echo "Enable trace log: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "Enable trace log: Passed"
fi
maxadmin -pskysql disable log debug >& /dev/null
if [ $? -eq "1" ]; then
echo "Disable debug log: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "Disable debug log: Passed"
fi
maxadmin -pskysql disable log trace >& /dev/null
if [ $? -eq "1" ]; then
echo "Disable trace log: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "Disable trace log: Passed"
fi
for cmd in clients dcbs filters listeners modules monitors services servers sessions threads
do
maxadmin -pskysql list $cmd | grep -s '-' >& /dev/null
if [ $? -eq "1" ]; then
echo "list command ($cmd): Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "list command ($cmd): Passed"
fi
done
for cmd in dcbs dbusers epoll filters modules monitors services servers sessions threads users
do
maxadmin -pskysql show $cmd | grep -s ' ' >& /dev/null
if [ $? -eq "1" ]; then
echo "show command ($cmd): Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "show command ($cmd): Passed"
fi
done
master=`maxadmin -pskysql list servers | awk '/Master/ { print $1; }'`
if [ $? -eq "1" ]; then
echo "Extract master server: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "Extract master server: Passed"
fi
if [ "$master" = "" ]; then
echo "Get master server: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "Get master server: Passed"
fi
maxadmin -pskysql show server $master | grep -s 'Master' >& /dev/null
if [ $? -eq "1" ]; then
echo "show server master: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "show server master: Passed"
fi
maxadmin -pskysql set server $master maint >& /dev/null
if [ $? -eq "1" ]; then
echo "set server: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "set server: Passed"
fi
maxadmin -pskysql list servers | grep $master | grep -s Maint >& /dev/null
if [ $? -eq "1" ]; then
echo "set maintenance mode: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "set maintenance mode: Passed"
fi
maxadmin -pskysql clear server $master maint >& /dev/null
if [ $? -eq "1" ]; then
echo "clear server: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "clear server: Passed"
fi
maxadmin -pskysql list servers | grep $master | grep -s Maint >& /dev/null
if [ $? -eq "0" ]; then
echo "clear maintenance mode: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "clear maintenance mode: Passed"
fi
dcbs=`maxadmin -pskysql list dcbs | awk -F\| '/listening/ { if ( NF > 1 ) print $1 }'`
if [ $? -eq "1" ]; then
echo "Get dcb listeners: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "Get dcb listeners: Passed"
fi
for i in $dcbs
do
maxadmin -pskysql show dcb $i | grep -s 'listening' >& /dev/null
if [ $? -eq "1" ]; then
echo "show dcb listeners: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "show dcb listeners: Passed"
fi
done
sessions=`maxadmin -pskysql list sessions | awk -F\| '/Listener/ { if ( NF > 1 ) print $1 }'`
if [ $? -eq "1" ]; then
echo "Get listener sessions: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "Get listener sessions: Passed"
fi
for i in $sessions
do
maxadmin -pskysql show session $i | grep -s 'Listener' >& /dev/null
if [ $? -eq "1" ]; then
echo "show session listeners: Failed"
failure=`expr $failure + 1`
else
passed=`expr $passed + 1`
echo "show session listeners: Passed"
fi
done
echo "Test run complete. $passed passes, $failure failures"
exit $failure

View File

@ -279,6 +279,7 @@ int n_connect = 0;
client_dcb->session =
session_alloc(dcb->session->service, client_dcb);
maxscaled_pr = (MAXSCALED *)malloc(sizeof(MAXSCALED));
maxscaled_pr->username = NULL;
client_dcb->protocol = (void *)maxscaled_pr;
if (maxscaled_pr == NULL)
@ -294,7 +295,6 @@ int n_connect = 0;
}
n_connect++;
maxscaled_pr->state = MAXSCALED_STATE_LOGIN;
maxscaled_pr->username = NULL;
dcb_printf(client_dcb, "USER");
}
}