The tests now reset the replication state using queries and switchover instead of calling fix_replication(). The results are checked so these tests now test switchover as well. Also, reduce printing when verbose is on for any test using the get_output()-function in fail_switch_rejoin_common.cpp.
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (c) 2016 MariaDB Corporation Ab
 | 
						|
 *
 | 
						|
 * Use of this software is governed by the Business Source License included
 | 
						|
 * in the LICENSE.TXT file and at www.mariadb.com/bsl11.
 | 
						|
 *
 | 
						|
 * Change Date: 2020-01-01
 | 
						|
 *
 | 
						|
 * On the date above, in accordance with the Business Source License, use
 | 
						|
 * of this software will be governed by version 2 or later of the General
 | 
						|
 * Public License.
 | 
						|
 */
 | 
						|
 | 
						|
#include "testconnections.h"
 | 
						|
#include "failover_common.cpp"
 | 
						|
 | 
						|
int main(int argc, char** argv)
 | 
						|
{
 | 
						|
    const char FAILOVER_CMD[] = "maxadmin call command mysqlmon failover MySQL-Monitor";
 | 
						|
    //interactive = strcmp(argv[argc - 1], "interactive") == 0;
 | 
						|
    Mariadb_nodes::require_gtid(true);
 | 
						|
    TestConnections test(argc, argv);
 | 
						|
    test.repl->connect();
 | 
						|
    delete_slave_binlogs(test);
 | 
						|
 | 
						|
    sleep(2);
 | 
						|
    basic_test(test);
 | 
						|
    print_gtids(test);
 | 
						|
 | 
						|
    int node0_id = -1;
 | 
						|
    int ec = -1;
 | 
						|
 | 
						|
    // Part 1
 | 
						|
    node0_id = prepare_test_1(test);
 | 
						|
    sleep(3);
 | 
						|
 | 
						|
    test.maxscales->ssh_node_output(0, FAILOVER_CMD , true, &ec);
 | 
						|
    sleep(5);
 | 
						|
 | 
						|
    check_test_1(test, node0_id);
 | 
						|
    if (test.global_result != 0)
 | 
						|
    {
 | 
						|
        return test.global_result;
 | 
						|
    }
 | 
						|
 | 
						|
    // Part 2
 | 
						|
    prepare_test_2(test);
 | 
						|
    sleep(3);
 | 
						|
 | 
						|
    test.maxscales->ssh_node_output(0, FAILOVER_CMD, true, &ec);
 | 
						|
    sleep(5);
 | 
						|
 | 
						|
    check_test_2(test);
 | 
						|
    if (test.global_result != 0)
 | 
						|
    {
 | 
						|
        return test.global_result;
 | 
						|
    }
 | 
						|
 | 
						|
    // Part 3
 | 
						|
    prepare_test_3(test);
 | 
						|
    sleep(3);
 | 
						|
 | 
						|
    test.maxscales->ssh_node_output(0, FAILOVER_CMD, true, &ec);
 | 
						|
    sleep(5);
 | 
						|
 | 
						|
    check_test_3(test);
 | 
						|
    return test.global_result;
 | 
						|
}
 | 
						|
 |