Make avrorouter testing faster
The slave part of the binlogrouter replication can be ignored for avrorouter tests. This will speed up the testing by skipping the unnecessary restarting and configuration of slave servers.
This commit is contained in:
@ -25,45 +25,33 @@ using std::endl;
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
||||
TestConnections * Test = new TestConnections(argc, argv);
|
||||
Test->set_timeout(600);
|
||||
Test->stop_maxscale();
|
||||
Test->ssh_maxscale(true, (char *) "rm -rf /var/lib/maxscale/avro");
|
||||
TestConnections test(argc, argv);
|
||||
test.set_timeout(600);
|
||||
test.ssh_maxscale(true, (char *) "rm -rf /var/lib/maxscale/avro");
|
||||
|
||||
Test->repl->connect();
|
||||
execute_query(Test->repl->nodes[0], "DROP TABLE IF EXISTS t1");
|
||||
Test->repl->close_connections();
|
||||
sleep(5);
|
||||
/** Start master to binlogrouter replication */
|
||||
if (!test.replicate_from_master())
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
test.set_timeout(120);
|
||||
test.repl->connect();
|
||||
|
||||
Test->start_binlog();
|
||||
create_t1(test.repl->nodes[0]);
|
||||
insert_into_t1(test.repl->nodes[0], 3);
|
||||
execute_query(test.repl->nodes[0], "FLUSH LOGS");
|
||||
|
||||
Test->set_timeout(120);
|
||||
|
||||
Test->stop_maxscale();
|
||||
|
||||
Test->ssh_maxscale(true, "rm -rf /var/lib/maxscale/avro");
|
||||
|
||||
Test->set_timeout(120);
|
||||
|
||||
Test->start_maxscale();
|
||||
|
||||
Test->set_timeout(60);
|
||||
|
||||
Test->repl->connect();
|
||||
create_t1(Test->repl->nodes[0]);
|
||||
insert_into_t1(Test->repl->nodes[0], 3);
|
||||
execute_query(Test->repl->nodes[0], "FLUSH LOGS");
|
||||
|
||||
Test->repl->close_connections();
|
||||
|
||||
Test->set_timeout(120);
|
||||
test.repl->close_connections();
|
||||
|
||||
/** Give avrorouter some time to process the events */
|
||||
test.stop_timeout();
|
||||
sleep(10);
|
||||
test.set_timeout(120);
|
||||
|
||||
char * avro_check = Test->ssh_maxscale_output(true,
|
||||
"maxavrocheck -vv /var/lib/maxscale/avro/test.t1.000001.avro | grep \"{\"");
|
||||
char * output = Test->ssh_maxscale_output(true, "maxavrocheck -d /var/lib/maxscale/avro/test.t1.000001.avro");
|
||||
char * avro_check = test.ssh_maxscale_output(true,
|
||||
"maxavrocheck -vv /var/lib/maxscale/avro/test.t1.000001.avro | grep \"{\"");
|
||||
char * output = test.ssh_maxscale_output(true, "maxavrocheck -d /var/lib/maxscale/avro/test.t1.000001.avro");
|
||||
|
||||
std::istringstream iss;
|
||||
iss.str(output);
|
||||
@ -74,13 +62,13 @@ int main(int argc, char *argv[])
|
||||
for (std::string line; std::getline(iss, line);)
|
||||
{
|
||||
long long int x1, fl;
|
||||
Test->set_timeout(20);
|
||||
test.set_timeout(20);
|
||||
get_x_fl_from_json((char*)line.c_str(), &x1, &fl);
|
||||
|
||||
if (x1 != x1_exp || fl != fl_exp)
|
||||
{
|
||||
Test->add_result(1, "Output:x1 %lld, fl %lld, Expected: x1 %d, fl %d",
|
||||
x1, fl, x1_exp, fl_exp);
|
||||
test.add_result(1, "Output:x1 %lld, fl %lld, Expected: x1 %d, fl %d",
|
||||
x1, fl, x1_exp, fl_exp);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -89,19 +77,17 @@ int main(int argc, char *argv[])
|
||||
x1_exp = 0;
|
||||
x = x * 16;
|
||||
fl_exp++;
|
||||
Test->tprintf("fl = %d", fl_exp);
|
||||
test.tprintf("fl = %d", fl_exp);
|
||||
}
|
||||
}
|
||||
|
||||
if (fl_exp != 3)
|
||||
{
|
||||
Test->add_result(1, "not enough lines in avrocheck output\n");
|
||||
test.add_result(1, "not enough lines in avrocheck output");
|
||||
}
|
||||
|
||||
Test->set_timeout(120);
|
||||
execute_query(test.repl->nodes[0], "DROP TABLE test.t1;RESET MASTER");
|
||||
test.repl->fix_replication();
|
||||
|
||||
int rval = Test->global_result;
|
||||
delete Test;
|
||||
return rval;
|
||||
return test.global_result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user