# See rpl_gtid_mode_off_new_master.test.

--source include/have_debug.inc
--source include/have_gtid.inc
--source include/have_binlog_format_row.inc

--source include/master-slave.inc

--connection slave
CALL mtr.add_suppression('Slave I/O: The master uses an unknown GTID_MODE');
CALL mtr.add_suppression('The slave IO thread stops because the master has an unknown');

SET @save_debug= @@GLOBAL.DEBUG;

--source include/stop_slave.inc
SET @@GLOBAL.DEBUG = 'd,simulate_master_has_gtid_mode_on_permissive';
--source include/start_slave.inc
--let $assert_text= Receiver thread should report that on_permissive is unknown
--let $assert_file=$MYSQLTEST_VARDIR/log/mysqld.2.err
--let $assert_only_after= Slave I/O thread: connected to master
--let $assert_select= Slave I/O: The master uses an unknown GTID_MODE 'on_permissive'. Treating it as 'ON'.
--let $assert_count= 1
--source include/assert_grep.inc

--source include/stop_slave.inc
SET @@GLOBAL.DEBUG = 'd,simulate_master_has_gtid_mode_on_something';
--source include/start_slave.inc
--let $assert_text= Receiver thread should report that on_something is unknown
--let $assert_select= Slave I/O: The master uses an unknown GTID_MODE 'on_something'. Treating it as 'ON'.
--source include/assert_grep.inc

--source include/stop_slave.inc
SET @@GLOBAL.DEBUG = 'd,simulate_master_has_unknown_gtid_mode';
START SLAVE;
--let $slave_io_errno= convert_error(ER_SLAVE_FATAL_ERROR)
--source include/wait_for_slave_io_error.inc

SET @@GLOBAL.DEBUG= @save_debug;
--source include/stop_slave_sql.inc
RESET SLAVE;
--source include/start_slave.inc

--source include/rpl_end.inc
