mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	mysql-test/suite/im/t/im_daemon_life_cycle-im.opt: Rename: mysql-test/t/im_daemon_life_cycle-im.opt -> mysql-test/suite/im/t/im_daemon_life_cycle-im.opt mysql-test/suite/im/t/im_instance_conf-im.opt: Rename: mysql-test/t/im_instance_conf-im.opt -> mysql-test/suite/im/t/im_instance_conf-im.opt mysql-test/suite/im/t/im_life_cycle-im.opt: Rename: mysql-test/t/im_life_cycle-im.opt -> mysql-test/suite/im/t/im_life_cycle-im.opt mysql-test/suite/im/t/im_options-im.opt: Rename: mysql-test/t/im_options-im.opt -> mysql-test/suite/im/t/im_options-im.opt mysql-test/suite/im/t/im_utils-im.opt: Rename: mysql-test/t/im_utils-im.opt -> mysql-test/suite/im/t/im_utils-im.opt mysql-test/suite/im/r/im_cmd_line.result: Rename: mysql-test/r/im_cmd_line.result -> mysql-test/suite/im/r/im_cmd_line.result mysql-test/suite/im/r/im_daemon_life_cycle.result: Rename: mysql-test/r/im_daemon_life_cycle.result -> mysql-test/suite/im/r/im_daemon_life_cycle.result mysql-test/suite/im/r/im_instance_conf.result: Rename: mysql-test/r/im_instance_conf.result -> mysql-test/suite/im/r/im_instance_conf.result mysql-test/suite/im/r/im_life_cycle.result: Rename: mysql-test/r/im_life_cycle.result -> mysql-test/suite/im/r/im_life_cycle.result mysql-test/suite/im/r/im_options.result: Rename: mysql-test/r/im_options.result -> mysql-test/suite/im/r/im_options.result mysql-test/suite/im/r/im_utils.result: Rename: mysql-test/r/im_utils.result -> mysql-test/suite/im/r/im_utils.result mysql-test/suite/im/t/utils.sh: Rename: mysql-test/t/utils.sh -> mysql-test/suite/im/t/utils.sh mysql-test/suite/im/t/wait_for_process.sh: Rename: mysql-test/t/wait_for_process.sh -> mysql-test/suite/im/t/wait_for_process.sh mysql-test/suite/im/t/wait_for_socket.sh: Rename: mysql-test/t/wait_for_socket.sh -> mysql-test/suite/im/t/wait_for_socket.sh mysql-test/suite/im/t/log.sh: Rename: mysql-test/t/log.sh -> mysql-test/suite/im/t/log.sh mysql-test/suite/im/t/kill_n_check.sh: Rename: mysql-test/t/kill_n_check.sh -> mysql-test/suite/im/t/kill_n_check.sh mysql-test/suite/im/t/im_check_env.inc: Rename: mysql-test/include/im_check_env.inc -> mysql-test/suite/im/t/im_check_env.inc mysql-test/suite/im/t/im_cmd_line.imtest: Update location of im_check_env.inc mysql-test/suite/im/t/im_daemon_life_cycle.imtest: Update location of im_check_env.inc Add variable UTIL that points to the "ugly" .sh scripts mysql-test/suite/im/t/im_instance_conf.imtest: Update location of im_check_env.inc mysql-test/suite/im/t/im_life_cycle.imtest: Update location of im_check_env.inc Add variable UTIL that points to the "ugly" .sh scripts mysql-test/suite/im/t/im_options.imtest: Update location of im_check_env.inc mysql-test/suite/im/t/im_utils.imtest: Update location of im_check_env.inc Add variable UTIL that points to the "ugly" .sh scripts mysql-test/t/disabled.def: Move disabled im test to suite/im/t/disabled.def mysql-test/suite/im/t/disabled.def: New BitKeeper file ``mysql-test/suite/im/t/disabled.def''
		
			
				
	
	
		
			245 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			245 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
###########################################################################
 | 
						|
#
 | 
						|
# This test suite checks the following statements:
 | 
						|
#   - CREATE INSTANCE <instance_name> [option1[=option1_value], ...];
 | 
						|
#   - DROP INSTANCE <instance_name>;
 | 
						|
#
 | 
						|
# For CREATE INSTANCE we check that:
 | 
						|
#   - CREATE INSTANCE succeeds for non-existing instance;
 | 
						|
#   - CREATE INSTANCE fails for existing instance;
 | 
						|
#   - CREATE INSTANCE can get additional options with and w/o values;
 | 
						|
#   - CREATE INSTANCE parses options and handles grammar errors correctly.
 | 
						|
#     Check that strings with spaces are handled correctly, unknown (for
 | 
						|
#     mysqld) options should also be handled;
 | 
						|
#   - CREATE INSTANCE updates both config file and internal configuration cache;
 | 
						|
#   - CREATE INSTANCE allows to create instances only with properly formed
 | 
						|
#     names (mysqld*);
 | 
						|
#
 | 
						|
# For DROP INSTANCE we check that:
 | 
						|
#   - DROP INSTANCE succeeds for existing instance;
 | 
						|
#   - DROP INSTANCE fails for non-existing instance;
 | 
						|
#   - DROP INSTANCE fails for active instance.
 | 
						|
#   - DROP INSTANCE updates both config file and internal configuration cache;
 | 
						|
#
 | 
						|
# NOTE: each CREATE INSTANCE statement must specify socket-file-name, otherwise
 | 
						|
# this results of the test can be affected by another running test suite.
 | 
						|
#
 | 
						|
###########################################################################
 | 
						|
 | 
						|
--source suite/im/t/im_check_env.inc
 | 
						|
 | 
						|
###########################################################################
 | 
						|
#
 | 
						|
# Check starting conditions.
 | 
						|
#
 | 
						|
###########################################################################
 | 
						|
 | 
						|
# Check that the configuration file contains only instances that we expect.
 | 
						|
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^server_id[^a-zA-Z0-9_\-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
###########################################################################
 | 
						|
#
 | 
						|
# CREATE INSTANCE tests.
 | 
						|
#
 | 
						|
###########################################################################
 | 
						|
 | 
						|
# Check that CREATE INSTANCE succeeds for non-existing instance and also check
 | 
						|
# that both config file and internal configuration cache have been updated.
 | 
						|
 | 
						|
CREATE INSTANCE mysqld3
 | 
						|
  server_id = 3,
 | 
						|
  socket = "$MYSQL_TMP_DIR/mysqld_3.sock";
 | 
						|
 | 
						|
SHOW INSTANCES;
 | 
						|
 
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^server_id[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
# Check that CREATE INSTANCE fails for existing instance. Let's all three
 | 
						|
# existing instances (running one, stopped one and just created one). Just in
 | 
						|
# case...
 | 
						|
 | 
						|
--error 3012 # ER_CREATE_EXISTING_INSTANCE
 | 
						|
CREATE INSTANCE mysqld1;
 | 
						|
 | 
						|
--error 3012 # ER_CREATE_EXISTING_INSTANCE
 | 
						|
CREATE INSTANCE mysqld2;
 | 
						|
 | 
						|
--error 3012 # ER_CREATE_EXISTING_INSTANCE
 | 
						|
CREATE INSTANCE mysqld3;
 | 
						|
 | 
						|
# Check that CREATE INSTANCE can get additional options with and w/o values.
 | 
						|
# Ensure that config file is updated properly.
 | 
						|
 | 
						|
#   - without values;
 | 
						|
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep "^nonguarded\$" $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
CREATE INSTANCE mysqld4
 | 
						|
  nonguarded,
 | 
						|
  server_id = 4,
 | 
						|
  socket = "$MYSQL_TMP_DIR/mysqld_4.sock";
 | 
						|
 | 
						|
SHOW INSTANCES;
 | 
						|
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep "^nonguarded\$" $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
#   - with value;
 | 
						|
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-A[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-B[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
CREATE INSTANCE mysqld5
 | 
						|
  test-A = 000,
 | 
						|
  test-B = test,
 | 
						|
  server_id = 5,
 | 
						|
  socket = "$MYSQL_TMP_DIR/mysqld_5.sock";
 | 
						|
 | 
						|
SHOW INSTANCES;
 | 
						|
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-A[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-B[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
# Check that CREATE INSTANCE parses options and handles grammar errors
 | 
						|
# correctly. Check that strings with spaces are handled correctly,
 | 
						|
# unknown (for mysqld) options should also be handled.
 | 
						|
 | 
						|
#   - check handling of extra spaces;
 | 
						|
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-C1[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-C2[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
CREATE INSTANCE mysqld6
 | 
						|
  test-C1  =  10  ,
 | 
						|
  test-C2  =  02  ,
 | 
						|
  server_id = 6,
 | 
						|
  socket = "$MYSQL_TMP_DIR/mysqld_6.sock";
 | 
						|
 | 
						|
SHOW INSTANCES;
 | 
						|
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-C1[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-C2[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
#   - check handling of grammar error;
 | 
						|
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-D[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-E[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
--error ER_SYNTAX_ERROR
 | 
						|
CREATE INSTANCE mysqld7  test-D  =  test-D-value  ;
 | 
						|
SHOW INSTANCES;
 | 
						|
 | 
						|
--error ER_SYNTAX_ERROR
 | 
						|
CREATE INSTANCE mysqld8  test-E  0  ;
 | 
						|
SHOW INSTANCES;
 | 
						|
 | 
						|
--error ER_SYNTAX_ERROR
 | 
						|
CREATE INSTANCE mysqld8  test-F  =  ;
 | 
						|
SHOW INSTANCES;
 | 
						|
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-D[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-E[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
#   - check parsing of string option values
 | 
						|
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-1[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-2[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-3[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-4[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-5[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-6[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-7[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
CREATE INSTANCE mysqld9
 | 
						|
  test-1=" hello world ",
 | 
						|
  test-2='  ',
 | 
						|
  server_id = 9,
 | 
						|
  socket = "$MYSQL_TMP_DIR/mysqld_9.sock";
 | 
						|
SHOW INSTANCES;
 | 
						|
 | 
						|
CREATE INSTANCE mysqld10
 | 
						|
  test-3='\b\babc\sdef',
 | 
						|
  server_id = 10,
 | 
						|
  socket = "$MYSQL_TMP_DIR/mysqld_10.sock";
 | 
						|
# test-3='abc def'
 | 
						|
SHOW INSTANCES;
 | 
						|
 | 
						|
CREATE INSTANCE mysqld11
 | 
						|
  test-4='abc\tdef',
 | 
						|
  test-5='abc\ndef',
 | 
						|
  server_id = 11,
 | 
						|
  socket = "$MYSQL_TMP_DIR/mysqld_11.sock";
 | 
						|
SHOW INSTANCES;
 | 
						|
 | 
						|
CREATE INSTANCE mysqld12
 | 
						|
  test-6="abc\rdef",
 | 
						|
  test-7="abc\\def",
 | 
						|
  server_id = 12,
 | 
						|
  socket = "$MYSQL_TMP_DIR/mysqld_12.sock";
 | 
						|
# test-6=abc
 | 
						|
SHOW INSTANCES;
 | 
						|
 | 
						|
--error ER_SYNTAX_ERROR
 | 
						|
CREATE INSTANCE mysqld13 test-bad=' \ ';
 | 
						|
SHOW INSTANCES;
 | 
						|
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-1[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-2[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-3[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-4[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-5[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-6[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-7[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
--exec grep '^test-bad' $MYSQLTEST_VARDIR/im.cnf || true;
 | 
						|
--echo --------------------------------------------------------------------
 | 
						|
 | 
						|
 | 
						|
# Check that CREATE INSTANCE allows to create instances only with properly
 | 
						|
# formed names (mysqld*).
 | 
						|
 | 
						|
--error 3014 # ER_MALFORMED_INSTANCE_NAME
 | 
						|
CREATE INSTANCE qqq1;
 | 
						|
 |