Merge branch '2.3' into 2.4
This commit is contained in:
74
system-test/short_sessions.cpp
Normal file
74
system-test/short_sessions.cpp
Normal file
@ -0,0 +1,74 @@
|
||||
/**
|
||||
* @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 <maxtest/testconnections.hh>
|
||||
#include <maxtest/sql_t1.hh>
|
||||
|
||||
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;
|
||||
}
|
Reference in New Issue
Block a user