MaxScale/maxscale-system-test/schemarouter_duplicate.cpp
Markus Mäkelä 4b6aab1417
Replace check_log_err with log_includes/log_excludes
The latter are more explicit and easier to understand at the call site.

Also removed the redundant crash checks via the log files.
2018-11-19 20:02:11 +02:00

36 lines
1.2 KiB
C++

/**
* @file schemarouter_duplicate.cpp - Schemarouter duplicate table detection test
*
* - Start MaxScale
* - create DB and table on all nodes
* - Connect to schemarouter
* - Execute query and expect failure
* - Check that message about duplicate tables is logged into error log
*/
#include <iostream>
#include "testconnections.h"
int main(int argc, char* argv[])
{
TestConnections test(argc, argv);
test.set_timeout(30);
/** Create a database and table on all nodes */
test.repl->execute_query_all_nodes("STOP SLAVE");
test.repl->execute_query_all_nodes("DROP DATABASE IF EXISTS duplicate;");
test.repl->execute_query_all_nodes("CREATE DATABASE duplicate;");
test.repl->execute_query_all_nodes("CREATE TABLE duplicate.duplicate (a int, b int);");
test.maxscales->connect_maxscale(0);
test.add_result(execute_query(test.maxscales->conn_rwsplit[0], "SELECT 1") == 0,
"Query should fail when duplicate table is found.");
test.stop_timeout();
sleep(10);
test.log_includes(0, "Duplicate tables found");
test.repl->execute_query_all_nodes("DROP DATABASE IF EXISTS duplicate");
test.repl->execute_query_all_nodes("START SLAVE");
return test.global_result;
}