mariadb/mysql-test/suite/rpl/t/rpl_empty_master_host.test
Luis Soares b43d30e43a BUG#28796: CHANGE MASTER TO MASTER_HOST="" leads to invalid master.info
NOTE: this is the backport to next-mr.
                
This patch addresses the bug reported by checking wether 
host argument is an empty string or not. If empty, an error is
reported to the client, otherwise continue normally.
                       
This commit is based on the originally proposed patch and adds 
a test case as requested during review as well as refines comments, 
and makes test case result file less verbose (compared to previous patch).
2009-09-29 15:09:46 +01:00

51 lines
1.7 KiB
Text

#
# BUG
# ---
# BUG#28796: CHANGE MASTER TO MASTER_HOST="" leads to invalid master.info
#
# Description
# -----------
#
# This test aims at:
# i) verifying that an error is thrown when setting MASTER_HOST=''
# ii) no error is thrown when setting non empty MASTER_HOST
# iii) replication works after setting a correct host name/ip
#
# Implementation is performed by feeding different values (according
# to i), ii) and iii) ) to CHANGE MASTER TO MASTER_HOST= x and checking
# along the way if error/no error is thrown and/or if replication starts
# working when expected.
--source include/master-slave.inc
connection slave;
STOP SLAVE;
--source include/wait_for_slave_to_stop.inc
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
--echo Master_Host = '$master_host' (expected '127.0.0.1')
# attempt to change to an empty master host should
# result in error ER_WRONG_ARGUMENTS: "Incorrect arguments to ..."
error ER_WRONG_ARGUMENTS;
CHANGE MASTER TO MASTER_HOST="";
# show slave status still holds previous information
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
--echo Master_Host = '$master_host' (expected '127.0.0.1')
# changing master to other than empty master host succeeds
CHANGE MASTER TO MASTER_HOST="foo";
# show slave status should hold "foo" as master host
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
--echo Master_Host = '$master_host' (expected 'foo')
# changing back to localhost
CHANGE MASTER TO MASTER_HOST="127.0.0.1";
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
--echo Master_Host = '$master_host' (expected '127.0.0.1')
# start slave must succeed.
START SLAVE;
--source include/wait_for_slave_to_start.inc