diff options
Diffstat (limited to 'mysql-test/include/check-testcase.test')
-rw-r--r-- | mysql-test/include/check-testcase.test | 78 |
1 files changed, 68 insertions, 10 deletions
diff --git a/mysql-test/include/check-testcase.test b/mysql-test/include/check-testcase.test index 6dcb01c13cf..858a89f706c 100644 --- a/mysql-test/include/check-testcase.test +++ b/mysql-test/include/check-testcase.test @@ -1,15 +1,73 @@ - -# -# This test is executed twice for each test case if mysql-test-run is passed -# the flag --check-testcase. Before every testcase it is run with mysqltest -# in record mode and will thus produce an output file that can be compared -# to output from after the tescase. -# In that way its possible to check that a testcase does not have -# any unwanted side affects. +# ==== Purpose ==== # +# This test is executed twice for each test case. Before every +# testcase it is run with mysqltest in record mode and will thus +# produce an output file that can be compared to output from after the +# tescase. In that way, it is possible to check that a testcase does +# not have any unwanted side affects. + --disable_query_log -call mtr.check_testcase(); ---enable_query_log +# We want to ensure all slave configuration is restored. But SHOW +# SLAVE STATUS returns nothing for servers not configured as slaves, +# and (after BUG#28796 was fixed) there is no way to de-configure a +# slave. Hence, it's impossible to clean up the replication state at +# the end. But we want to check that the slave is stopped, there is +# no error, and a few other invariants. So we issue SHOW SLAVE +# STATUS, and if it returns no rows we fake the result. +--let $tmp= query_get_value(SHOW SLAVE STATUS, Slave_IO_Running, 1) +--let $tmp= `SELECT '$tmp' = 'No such row'` +if ($tmp) +{ + # Note: after WL#5177, fields 13-18 shall not be filtered-out. + --echo Slave_IO_State + --echo Master_Host 127.0.0.1 + --echo Master_User root + --echo Master_Port # + --echo Connect_Retry # + --echo Master_Log_File # + --echo Read_Master_Log_Pos # + --echo Relay_Log_File # + --echo Relay_Log_Pos # + --echo Relay_Master_Log_File # + --echo Slave_IO_Running No + --echo Slave_SQL_Running No + --echo Replicate_Do_DB # + --echo Replicate_Ignore_DB # + --echo Replicate_Do_Table # + --echo Replicate_Ignore_Table # + --echo Replicate_Wild_Do_Table # + --echo Replicate_Wild_Ignore_Table # + --echo Last_Errno 0 + --echo Last_Error + --echo Skip_Counter 0 + --echo Exec_Master_Log_Pos # + --echo Relay_Log_Space # + --echo Until_Condition # + --echo Until_Log_File # + --echo Until_Log_Pos # + --echo Master_SSL_Allowed No + --echo Master_SSL_CA_File + --echo Master_SSL_CA_Path + --echo Master_SSL_Cert + --echo Master_SSL_Cipher + --echo Master_SSL_Key + --echo Seconds_Behind_Master NULL + --echo Master_SSL_Verify_Server_Cert No + --echo Last_IO_Errno 0 + --echo Last_IO_Error + --echo Last_SQL_Errno 0 + --echo Last_SQL_Error + --echo Replicate_Ignore_Server_Ids + --echo Master_Server_Id # +} +if (!$tmp) { + # Note: after WL#5177, fields 13-18 shall not be filtered-out. + --replace_column 4 # 5 # 6 # 7 # 8 # 9 # 10 # 13 # 14 # 15 # 16 # 17 # 18 # 22 # 23 # 24 # 25 # 26 # 40 # + query_vertical + SHOW SLAVE STATUS; +} +call mtr.check_testcase(); +--enable_query_log |