MaxScale/maxscale-system-test/short_sessions.cpp
Markus Mäkelä d11c78ad80
Format all sources with Uncrustify
Formatted all sources and manually tuned some files to make the code look
neater.
2018-09-10 13:22:49 +03:00

75 lines
2.4 KiB
C++

/**
* @file short_sessions.cpp Executes a lof of short queries, use own short session for every query (some
* relations to bug#424)
*
* - using RSplit create table
* - close connection
* - do 100 times: open connections to RWSplit, execute short INSERT, close connection
* - Select inserted rows through all services
* - check if Maxscale alive
*/
#include <iostream>
#include "testconnections.h"
#include "sql_t1.h"
using namespace std;
int main(int argc, char* argv[])
{
int iterations = 100;
TestConnections test(argc, argv);
test.set_timeout(20);
test.repl->connect();
MYSQL* conn = test.maxscales->open_rwsplit_connection(0);
execute_query(conn, "USE test;");
create_t1(conn);
mysql_close(conn);
test.tprintf("Executing %d inserts", iterations);
for (int i = 0; i < iterations; i++)
{
char sql[100];
sprintf(sql, "INSERT INTO t1 (x1, fl) VALUES(%d, 1);", i);
test.set_timeout(15);
conn = test.maxscales->open_rwsplit_connection(0);
execute_query(conn, "%s", sql);
mysql_close(conn);
}
test.set_timeout(20);
test.add_result(test.maxscales->connect_maxscale(0), "Failed to connect to MaxScale");
test.tprintf("Checking t1 table using RWSplit router");
test.set_timeout(240);
test.add_result(execute_select_query_and_check(test.maxscales->conn_rwsplit[0],
(char*) "SELECT * FROM t1;",
iterations),
"t1 is wrong");
test.tprintf("Checking t1 table using ReadConn router in master mode");
test.set_timeout(240);
test.add_result(execute_select_query_and_check(test.maxscales->conn_master[0],
(char*) "SELECT * FROM t1;",
iterations),
"t1 is wrong");
test.tprintf("Checking t1 table using ReadConn router in slave mode");
test.set_timeout(240);
test.add_result(execute_select_query_and_check(test.maxscales->conn_slave[0],
(char*) "SELECT * FROM t1;",
iterations),
"t1 is wrong");
test.set_timeout(20);
test.maxscales->close_maxscale_connections(0);
test.check_maxscale_alive(0);
return test.global_result;
}