summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test20
-rw-r--r--mysql-test/include/wait_for_slave_io_error.inc23
-rw-r--r--mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result2
3 files changed, 25 insertions, 20 deletions
diff --git a/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test b/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
index 6e750d57c56..66bd61a8ea9 100644
--- a/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
+++ b/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
@@ -68,19 +68,15 @@ eval SET DEBUG_SYNC=$debug_sync_action;
# Show slave last IO errno
connection slave;
-source include/wait_for_slave_io_to_stop.inc;
-let $last_io_errno= query_get_value("show slave status", Last_IO_Errno, 1);
--echo Check network error happened here
-if (`SELECT '$last_io_errno' = '2013' || # CR_SERVER_LOST
- '$last_io_errno' = '2003' || # CR_CONN_HOST_ERROR
- '$last_io_errno' = '2002' || # CR_CONNECTION_ERROR
- '$last_io_errno' = '2006' || # CR_SERVER_GONE_ERROR
- '$last_io_errno' = '1040' || # ER_CON_COUNT_ERROR
- '$last_io_errno' = '1053' # ER_SERVER_SHUTDOWN
- `)
-{
- --echo NETWORK ERROR
-}
+# '2013' CR_SERVER_LOST
+# '2003' CR_CONN_HOST_ERROR
+# '2002' CR_CONNECTION_ERROR
+# '2006' CR_SERVER_GONE_ERROR
+# '1040' ER_CON_COUNT_ERROR
+# '1053' ER_SERVER_SHUTDOWN
+let $slave_io_errno= 1040, 1053, 2002, 2003, 2006, 2013;
+source include/wait_for_slave_io_error.inc;
# deactivate the sync point of get_master_version_and_clock()
# now to avoid restarting IO-thread to re-enter it.
diff --git a/mysql-test/include/wait_for_slave_io_error.inc b/mysql-test/include/wait_for_slave_io_error.inc
index 101df69730c..34cbf20a73b 100644
--- a/mysql-test/include/wait_for_slave_io_error.inc
+++ b/mysql-test/include/wait_for_slave_io_error.inc
@@ -6,14 +6,21 @@
#
# ==== Usage ====
#
+# # Wait several errors.
+# let $slave_io_errno= 1, 2, 3;
+# source include/wait_for_slave_io_error.inc;
+#
+# # Print error message
+# let $slave_io_errno= 1;
+# let $show_slave_io_error= 1;
# source include/wait_for_slave_io_error.inc;
#
# Parameters:
#
# $slave_io_errno
-# The expected IO error number. This is required.
+# The expected IO error numbers. This is required.
# (After BUG#41956 has been fixed, this will be required to be a
-# symbolic name instead of a number.)
+# symbolic name instead of a numbers.)
#
# $show_slave_io_error
# If set, will print the error to the query log.
@@ -28,13 +35,17 @@ if (`SELECT '$slave_io_errno' = ''`) {
--die !!!ERROR IN TEST: you must set \$slave_io_errno before sourcing wait_for_slave_io_error.inc
}
-let $slave_param= Slave_IO_Running;
-let $slave_param_value= No;
-let $slave_error_message= Failed while waiting for slave to stop the IO thread (expecting error in the IO thread);
+let $old_slave_param_comparison= $slave_param_comparison;
+let $slave_param= Last_IO_Errno;
+let $slave_param_comparison= !=;
+let $slave_param_value= 0;
+let $slave_error_message= Failed while waiting for slave to produce an error in its sql thread;
source include/wait_for_slave_param.inc;
+let $slave_error_message= ;
+let $slave_param_comparison= $old_slave_param_comparison;
let $_error= query_get_value(SHOW SLAVE STATUS, Last_IO_Errno, 1);
-if (`SELECT '$_error' != '$slave_io_errno'`) {
+if (`SELECT $_error NOT IN ($slave_io_errno)`) {
--echo **** Slave stopped with wrong error code: $_error (expected $slave_io_errno) ****
source include/show_rpl_debug_info.inc;
--echo **** Slave stopped with wrong error code: $_error (expected $slave_io_errno) ****
diff --git a/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result b/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
index 6d3e73f787d..432bcfcc94d 100644
--- a/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
+++ b/mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result
@@ -14,7 +14,6 @@ slave is going to hang in get_master_version_and_clock
slave is unblocked
SET DEBUG_SYNC='now SIGNAL signal.get_unix_timestamp';
Check network error happened here
-NETWORK ERROR
set @@global.debug = "-d,'debug_lock.before_get_UNIX_TIMESTAMP'";
stop slave;
SET @@global.debug= "+d,'debug_lock.before_get_SERVER_ID'";
@@ -23,7 +22,6 @@ slave is going to hang in get_master_version_and_clock
slave is unblocked
SET DEBUG_SYNC='now SIGNAL signal.get_server_id';
Check network error happened here
-NETWORK ERROR
set @@global.debug = "-d,'debug_lock.before_get_SERVER_ID'";
set global debug= '';
reset master;