diff --git a/maxscale-system-test/mxs1678_relay_master.cpp b/maxscale-system-test/mxs1678_relay_master.cpp index dca421eef..e2714a958 100644 --- a/maxscale-system-test/mxs1678_relay_master.cpp +++ b/maxscale-system-test/mxs1678_relay_master.cpp @@ -7,54 +7,6 @@ #include #include -typedef std::set StringSet; - -// Note: This is backported from 2.2 and can be replaced with MaxScales::get_server_status once merged -StringSet state(TestConnections& test, const char* name) -{ - StringSet rval; - int exit_code; - char* res = test.maxscales->ssh_node_output_f(0, true, &exit_code, - "maxadmin list servers|grep \'%s\'", name); - char* pipe = strrchr(res, '|'); - - if (res && pipe) - { - pipe++; - char* tok = strtok(pipe, ","); - - while (tok) - { - char* p = tok; - char *end = strchr(tok, '\n'); - if (!end) - { - end = strchr(tok, '\0'); - } - - // Trim leading whitespace - while (p < end && isspace(*p)) - { - p++; - } - - // Trim trailing whitespace - while (end > tok && isspace(*end)) - { - *end-- = '\0'; - } - - rval.insert(p); - tok = strtok(NULL, ",\n"); - } - } - - free(res); - - return rval; -} - - int main(int argc, char** argv) { TestConnections test(argc, argv); @@ -63,6 +15,7 @@ int main(int argc, char** argv) execute_query(test.repl->nodes[3], "CHANGE MASTER TO MASTER_HOST='%s', MASTER_PORT=%d", test.repl->IP_private[2], test.repl->port[2]); execute_query(test.repl->nodes[3], "START SLAVE"); + sleep(5); StringSet master = {"Master", "Running"}; StringSet slave = {"Slave", "Running"}; @@ -74,10 +27,10 @@ int main(int argc, char** argv) test.tprintf("%s", output); free(output); - test.add_result(state(test, "server1") != master, "server1 is not a master"); - test.add_result(state(test, "server2") != slave, "server2 is not a slave"); - test.add_result(state(test, "server3") != relay_master, "server3 is not a relay master"); - test.add_result(state(test, "server4") != slave, "server4 is not a slave"); + test.add_result(test.maxscales->get_server_status("server1") != master, "server1 is not a master"); + test.add_result(test.maxscales->get_server_status("server2") != slave, "server2 is not a slave"); + test.add_result(test.maxscales->get_server_status("server3") != relay_master, "server3 is not a relay master"); + test.add_result(test.maxscales->get_server_status("server4") != slave, "server4 is not a slave"); execute_query(test.repl->nodes[2], "STOP SLAVE IO_THREAD"); sleep(10); @@ -86,10 +39,10 @@ int main(int argc, char** argv) output = test.maxscales->ssh_node_output(0, "maxadmin list servers", true, &exit_code); test.tprintf("%s", output); free(output); - test.add_result(state(test, "server1") != master, "server1 is not a master"); - test.add_result(state(test, "server2") != slave, "server2 is not a slave"); - test.add_result(state(test, "server3") != relay_master, "server3 is not a relay master"); - test.add_result(state(test, "server4") != slave, "server4 is not a slave"); + test.add_result(test.maxscales->get_server_status("server1") != master, "server1 is not a master"); + test.add_result(test.maxscales->get_server_status( "server2") != slave, "server2 is not a slave"); + test.add_result(test.maxscales->get_server_status("server3") != relay_master, "server3 is not a relay master"); + test.add_result(test.maxscales->get_server_status("server4") != slave, "server4 is not a slave"); test.repl->fix_replication(); return test.global_result;