
See script directory for method. The script to run in the top level MaxScale directory is called maxscale-uncrustify.sh, which uses another script, list-src, from the same directory (so you need to set your PATH). The uncrustify version was 0.66.
62 lines
1.8 KiB
C++
62 lines
1.8 KiB
C++
/**
|
|
* @file bug539.cpp regression case for bug539 ("MaxScale crashes in session_setup_filters")
|
|
* using maxadmin execute "fail backendfd"
|
|
* try quries against all services
|
|
* using maxadmin execute "fail clientfd"
|
|
* try quries against all services
|
|
* check if MaxScale alive
|
|
*/
|
|
|
|
|
|
#include "testconnections.h"
|
|
#include "maxadmin_operations.h"
|
|
|
|
int main(int argc, char* argv[])
|
|
{
|
|
TestConnections* Test = new TestConnections(argc, argv);
|
|
Test->set_timeout(20);
|
|
int i, j;
|
|
MYSQL* conn;
|
|
|
|
int N_cmd = 2;
|
|
char* fail_cmd[N_cmd - 1];
|
|
|
|
|
|
|
|
|
|
fail_cmd[0] = (char*) "fail backendfd";
|
|
fail_cmd[1] = (char*) "fail clientfd";
|
|
|
|
|
|
for (i = 0; i < N_cmd; i++)
|
|
{
|
|
for (j = 0; j < Test->maxscales->N_ports[0]; j++)
|
|
{
|
|
Test->tprintf("Executing MaxAdmin command '%s'\n", fail_cmd[i]);
|
|
if (maxscales->execute_maxadmin_command(0,
|
|
Test->maxscales->IP[0],
|
|
(char*) "admin",
|
|
Test->maxscales->maxadmin_password[0],
|
|
fail_cmd[i]) != 0)
|
|
{
|
|
Test->add_result(1, "MaxAdmin command failed\n");
|
|
}
|
|
else
|
|
{
|
|
printf("Trying query against %d\n", Test->maxscales->ports[0][j]);
|
|
conn = open_conn(ports[j],
|
|
Test->maxscales->IP[0],
|
|
Test->maxscales->user_name,
|
|
Test->maxscales->password,
|
|
Test->ssl);
|
|
Test->try_query(conn, (char*) "show processlist;");
|
|
}
|
|
}
|
|
}
|
|
|
|
Test->check_maxscale_alive(0);
|
|
int rval = Test->global_result;
|
|
delete Test;
|
|
return rval;
|
|
}
|