# Test for 
# Bug #33931  	assertion at write_ignored_events_info_to_relay_log if init_slave_thread() fails
# Bug #33932  	assertion at handle_slave_sql if init_slave_thread() fails

source include/have_debug.inc;
source include/master-slave.inc;

connection slave;

# Add suppression for expected warnings in slaves error log
call mtr.add_suppression("Failed during slave I/O thread initialization");
call mtr.add_suppression("Slave SQL.*Failed during slave thread initialization.* 1593");

--source include/stop_slave.inc
reset slave;

# Set debug flags on slave to force errors to occur
SET @saved_dbug = @@GLOBAL.debug_dbug;
SET GLOBAL debug_dbug="d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";

--disable_query_log
eval CHANGE MASTER TO MASTER_USER='root',
                      MASTER_CONNECT_RETRY=1,
                      MASTER_HOST='127.0.0.1',
                      MASTER_PORT=$MASTER_MYPORT;
--enable_query_log

start slave;

#
# slave is going to stop because of emulated failures
# but there won't be any crashes nor asserts hit.
#

# 1593 = ER_SLAVE_FATAL_ERROR 
--let $slave_sql_errno= 1593
--let $show_slave_sql_error= 1
--source include/wait_for_slave_sql_error.inc

#
# Cleanup
#
SET @@GLOBAL.debug_dbug = @saved_dbug;

# Clear Last_SQL_Error
RESET SLAVE;

--let $rpl_only_running_threads= 1
--source include/rpl_end.inc
