54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 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;
 | 
						|
}
 |