45 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /**
 | |
|  * MXS-1542: https://jira.mariadb.org/browse/MXS-1542
 | |
|  *
 | |
|  * Check that UTF16 strings work.
 | |
|  */
 | |
| 
 | |
| #include <maxtest/testconnections.hh>
 | |
| 
 | |
| int main(int argc, char** argv)
 | |
| {
 | |
|     TestConnections::skip_maxscale_start(true);
 | |
|     TestConnections::check_nodes(false);
 | |
|     TestConnections test(argc, argv);
 | |
| 
 | |
|     test.replicate_from_master();
 | |
| 
 | |
|     test.repl->connect();
 | |
|     execute_query(test.repl->nodes[0],
 | |
|                   "CREATE OR REPLACE TABLE t1 (data varchar(30) NOT NULL) DEFAULT CHARSET=utf16");
 | |
|     execute_query(test.repl->nodes[0],
 | |
|                   "INSERT INTO t1 VALUES ('Hello World'), ('Բարեւ աշխարհ'), ('こんにちは世界'), ('你好,世界'), ('Привет мир')");
 | |
| 
 | |
|     // Wait for the data to be processed
 | |
|     const char* logmsg = "Waiting until more data is written";
 | |
|     test.maxscales->ssh_node_f(0,
 | |
|                                true,
 | |
|                                "for ((i=0;i<15;i++)); do grep '%s' /var/log/maxscale/maxscale.log && break || sleep 1; done",
 | |
|                                logmsg);
 | |
| 
 | |
|     // Check if the Avro file contains the inserted value
 | |
|     int rc = test.maxscales->ssh_node_f(0,
 | |
|                                         true,
 | |
|                                         "maxavrocheck -d /var/lib/maxscale/avro/test.t1.000001.avro|grep 'Hello World'");
 | |
|     test.add_result(rc == 0, "Data is converted when a failure to convert is expected");
 | |
| 
 | |
|     printf("\n"
 | |
|            "o-------------------------------------------------------------------o\n"
 | |
|            "|The test is expected to fail, change it when the MXS-1542 is fixed.|\n"
 | |
|            "o-------------------------------------------------------------------o\n"
 | |
|            "\n");
 | |
| 
 | |
|     test.revert_replicate_from_master();
 | |
|     return test.global_result;
 | |
| }
 | 
