See script directory for method. The script to run in the top level MaxScale directory is called maxscale-uncrustify.sh, which uses another script, list-src, from the same directory (so you need to set your PATH). The uncrustify version was 0.66.
		
			
				
	
	
		
			97 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/**
 | 
						|
 * @file bug493.cpp regression case for bug 493 ( Can have same section name multiple times without warning)
 | 
						|
 *
 | 
						|
 * - Maxscale.cnf in which 'server2' is defined twice and tests checks error log for proper error message.
 | 
						|
 * - check if Maxscale is alive
 | 
						|
 */
 | 
						|
 | 
						|
/*
 | 
						|
 *  Hartmut Holzgraefe 2014-08-31 21:01:06 UTC
 | 
						|
 *  Due to a copy/paste error I ended up with two [server2] sections instead of having [server2] and
 | 
						|
 * [server3].
 | 
						|
 *
 | 
						|
 *  There were no error or warning messages about this in skygw_err1.log or skygw_msg1.log but only the second
 | 
						|
 * [server2] was actually used.
 | 
						|
 *
 | 
						|
 *
 | 
						|
 *  Configuration file:
 | 
						|
 *
 | 
						|
 *  ---8<------------------
 | 
						|
 *  [maxscale]
 | 
						|
 *  threads=1
 | 
						|
 *
 | 
						|
 *  [CLI]
 | 
						|
 *  type=service
 | 
						|
 *  router=cli
 | 
						|
 *
 | 
						|
 *  [CLI Listener]
 | 
						|
 *  type=listener
 | 
						|
 *  service=CLI
 | 
						|
 *  protocol=maxscaled
 | 
						|
 *  address=localhost
 | 
						|
 *  port=6603
 | 
						|
 *
 | 
						|
 *  [server1]
 | 
						|
 *  type=server
 | 
						|
 *  address=127.0.0.1
 | 
						|
 *  port=3000
 | 
						|
 *  protocol=MySQLBackend
 | 
						|
 *
 | 
						|
 *  [server2]
 | 
						|
 *  type=server
 | 
						|
 *  address=127.0.0.1
 | 
						|
 *  port=3001
 | 
						|
 *  protocol=MySQLBackend
 | 
						|
 *
 | 
						|
 *  [server2]
 | 
						|
 *  type=server
 | 
						|
 *  address=127.0.0.1
 | 
						|
 *  port=3002
 | 
						|
 *  protocol=MySQLBackend
 | 
						|
 *  -------->8---
 | 
						|
 *
 | 
						|
 *  maxadmin results:
 | 
						|
 *
 | 
						|
 *
 | 
						|
 *  ---8<--------------------
 | 
						|
 *  MaxScale> list servers
 | 
						|
 *  Servers.
 | 
						|
 *  -------------------+-----------------+-------+----------------------+------------
 | 
						|
 *  Server             | Address         | Port  | Status               | Connections
 | 
						|
 *  -------------------+-----------------+-------+----------------------+------------
 | 
						|
 *  server1            | 127.0.0.1       |  3000 | Running              |    0
 | 
						|
 *  server2            | 127.0.0.1       |  3002 | Running              |    0
 | 
						|
 *  -------------------+-----------------+-------+----------------------+------------
 | 
						|
 *  ------------->8---
 | 
						|
 *
 | 
						|
 *  So no entry for the first (actually correct) [server2] on port 3001,
 | 
						|
 *  but only for the duplicate 2nd [server2] with port set to 3002 ...
 | 
						|
 *  Comment 1 Mark Riddoch 2014-09-01 16:17:51 UTC
 | 
						|
 *  The ini file parser we use allows multiple sections with the same name and will combine the section
 | 
						|
 * contains. Within this restriction we now have added code that will detect the same parameter being set
 | 
						|
 * twice and will warn the user.
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
 | 
						|
#include <iostream>
 | 
						|
#include <unistd.h>
 | 
						|
#include "testconnections.h"
 | 
						|
 | 
						|
using namespace std;
 | 
						|
 | 
						|
int main(int argc, char* argv[])
 | 
						|
{
 | 
						|
    TestConnections* Test = new TestConnections(argc, argv);
 | 
						|
    Test->set_timeout(10);
 | 
						|
    Test->check_log_err(0, (char*) "Duplicate section found: server2", true);
 | 
						|
    Test->check_log_err(0,
 | 
						|
                        (char*)
 | 
						|
                        "Failed to open, read or process the MaxScale configuration file /etc/maxscale.cnf. Exiting",
 | 
						|
                        true);
 | 
						|
    // Test->check_maxscale_alive(0);
 | 
						|
    int rval = Test->global_result;
 | 
						|
    delete Test;
 | 
						|
    return rval;
 | 
						|
}
 |