summaryrefslogtreecommitdiff
path: root/mysql-test/t/im_options_set.imtest
diff options
context:
space:
mode:
authorunknown <anozdrin@mysql.com>2005-10-01 01:14:50 +0400
committerunknown <anozdrin@mysql.com>2005-10-01 01:14:50 +0400
commit43c8f453e5353cf1d81368fdac732b6ff8519920 (patch)
treeae2d126f149e3a5b22bc6f216d72f8c332064d07 /mysql-test/t/im_options_set.imtest
parent46d8163b1b53a61e75ff43cb140e6055dc7cad05 (diff)
downloadmariadb-git-43c8f453e5353cf1d81368fdac732b6ff8519920.tar.gz
WL#2789 "Instance Manager: test using mysql-test-run testing framework"
Add Instance Manager tests. mysql-test/include/im_check_os.inc: Currently Instance Manager tests are known to work only on UNIX platform. This header file is included in each IM-test in order to skip the test on Windows. mysql-test/r/im_daemon_life_cycle.result: Results file for Instance Manager daemon test. mysql-test/r/im_life_cycle.result: Results file for Instance Manager life cycle test. mysql-test/r/im_options_set.result: Results file for Instance Manager SET statement test. mysql-test/r/im_options_unset.result: Results file for Instance Manager UNSET statement test. mysql-test/r/im_utils.result: Results file for Instance Manager utils test. mysql-test/t/im_daemon_life_cycle-im.opt: Options file for Instance Manager daemon test. mysql-test/t/im_daemon_life_cycle.imtest: Instance Manager daemon test (mysqltestrun-part). mysql-test/t/im_life_cycle.imtest: Instance Manager life cycle test. mysql-test/t/im_options_set.imtest: Instance Manager SET statement test. mysql-test/t/im_options_unset.imtest: Instance Manager UNSET statement test. mysql-test/t/im_utils.imtest: Instance Manager utils test. mysql-test/t/kill_n_check.sh: The helper script. Its main idea is to kill some process and check that the process will (or will not) be restarted.
Diffstat (limited to 'mysql-test/t/im_options_set.imtest')
-rw-r--r--mysql-test/t/im_options_set.imtest142
1 files changed, 142 insertions, 0 deletions
diff --git a/mysql-test/t/im_options_set.imtest b/mysql-test/t/im_options_set.imtest
new file mode 100644
index 00000000000..785c6d05fef
--- /dev/null
+++ b/mysql-test/t/im_options_set.imtest
@@ -0,0 +1,142 @@
+###########################################################################
+#
+# This file contains test for (3) test suite.
+#
+# Consult WL#2789 for more information.
+#
+###########################################################################
+
+#
+# Check the options-management commands:
+# - SET;
+# - FLUSH INSTANCES;
+#
+# Let's test the commands on the option 'server_id'. It's expected that
+# originally the instances have the following server ids:
+# - mysqld1: 1
+# - mysqld2: 2
+#
+# 1. SET <instance_id>.server_id= SERVER_ID); where SERVER_ID is 11 or 12.
+# 1.1. check that the configuration file has been updated (i.e. contains
+# server_id=SERVER_ID for the instance);
+# 1.2. (for mysqld1) check that the running instance has not been affected:
+# connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id''
+# returns zero;
+# 1.3. check that internal cache of Instance Manager has not been affected
+# (i.e. SHOW INSTANCE OPTIONS <instance> does not contain updated value).
+#
+# 2. FLUSH INSTANCES;
+# 2.1. check that the configuration file has not been updated;
+# 2.2. (for mysqld1) check that the running instance has not been affected:
+# connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id''
+# returns zero value;
+# 2.3. check that internal cache of Instance Manager has been updated (i.e.
+# SHOW INSTANCE OPTIONS <instance> contains 'server_id=SERVER_ID' line).
+#
+# 3. Restore options.
+#
+
+###########################################################################
+
+--source include/im_check_os.inc
+
+###########################################################################
+#
+# 0. Check starting conditions.
+#
+###########################################################################
+
+# - check the configuration file;
+
+--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf ;
+
+# - check the running instances.
+
+--connect (mysql1_con,localhost,root,,mysql,$IM_MYSQLD1_PORT,$IM_MYSQLD1_SOCK)
+
+--connection mysql1_con
+
+SHOW VARIABLES LIKE 'server_id';
+
+--connection default
+
+# - check the internal cache.
+# TODO: we should check only server_id option here.
+
+# SHOW INSTANCE OPTIONS mysqld1;
+# SHOW INSTANCE OPTIONS mysqld2;
+
+###########################################################################
+#
+# 1. SET <instance_id>.server_id= SERVER_ID); where SERVER_ID is 11 or 12.
+#
+###########################################################################
+
+# * mysqld1
+
+SET mysqld1.server_id = 11;
+
+# - check that the configuration file has been updated (i.e. contains
+# server_id=SERVER_ID for the instance);
+
+--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf ;
+
+# - (for mysqld1) check that the running instance has not been affected:
+# connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id''
+# returns zero;
+
+--connection mysql1_con
+
+SHOW VARIABLES LIKE 'server_id';
+
+--connection default
+
+# - check that internal cache of Instance Manager has not been affected
+# (i.e. SHOW INSTANCE OPTIONS <instance> does not contain updated value).
+# TODO: we should check only server_id option here.
+
+# SHOW INSTANCE OPTIONS mysqld1;
+
+# * mysqld2
+
+SET mysqld2.server_id = 12;
+
+# - check that the configuration file has been updated (i.e. contains
+# server_id=SERVER_ID for the instance);
+
+--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf ;
+
+# - check that internal cache of Instance Manager has not been affected
+# (i.e. SHOW INSTANCE OPTIONS <instance> does not contain updated value).
+# TODO: we should check only server_id option here.
+
+# SHOW INSTANCE OPTIONS mysqld2;
+
+###########################################################################
+#
+# 2. FLUSH INSTANCES;
+#
+###########################################################################
+
+FLUSH INSTANCES;
+
+# - check that the configuration file has not been updated;
+
+--exec grep server_id $MYSQL_TEST_DIR/var/im.cnf ;
+
+# - (for mysqld1) check that the running instance has not been affected:
+# connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id''
+# returns zero value;
+
+--connection mysql1_con
+
+SHOW VARIABLES LIKE 'server_id';
+
+--connection default
+
+# - check that internal cache of Instance Manager has been updated (i.e.
+# SHOW INSTANCE OPTIONS <instance> contains 'server_id=' line).
+# TODO: we should check only server_id option here.
+
+# SHOW INSTANCE OPTIONS mysqld1;
+# SHOW INSTANCE OPTIONS mysqld2;