polardbxengine/mysql-test/suite/x/t/macros/assert_notices.macro

139 lines
3.4 KiB
Plaintext

################################################################
#
# This file contains following notice-assertion macros:
#
# * Dont_enable_notice - ARG1_IGNORE ARG2_IGNORE
# * Enable_notice - NUMBER_OF_SERVERS_TO_ENABLE NOTICE_NAMES_TO_ENABLE
# * Disable_notice - NUMBER_OF_SERVERS_TO_DISABLE NOTICE_NAMES_TO_DISABLE
# * CHK_assert_notice_view_changed - SESSION_NAME
# * CHK_assert_notice_state_changed - SESSION_NAME
# * CHK_assert_notice_role_changed - SESSION_NAME
# * CHK_assert_notice_quorum_lost - SESSION_NAME
# * CHK_assert_notice_none - SESSION_NAME
# * CHK_assert_notice_none_ignore_args - ARG1_IGNORE SESSION_NAME
# * CHK_assert_notice - NOTICE_NAME SESSION_NAME
#
#
## General macros
#
-->macro Dont_enable_notice %SERVER_NUMBER% %NOTICE_NAMES%
-->endmacro
-->macro Enable_notice %SERVER_NUMBER% %NOTICE_NAMES%
repeat %SERVER_NUMBER% %ITERATION%;
varlet %ITERATION_SESSION% %ITERATION%;
varinc %ITERATION_SESSION% 1;
callmacro Setsession verify_%ITERATION_SESSION%;
echo [Enabling GR notifications];
noquery_result;
stmtadmin enable_notices %NOTICE_NAMES%;
recvresult;
query_result;
endrepeat;
-->endmacro
-->macro Disable_notice %SERVER_NUMBER% %NOTICE_NAMES%
repeat %SERVER_NUMBER% %ITERATION%;
varlet %ITERATION_SESSION% %ITERATION%;
varinc %ITERATION_SESSION% 1;
callmacro Setsession verify_%ITERATION_SESSION%;
echo [Disabling GR notifications];
noquery_result;
stmtadmin disable_notices %NOTICE_NAMES%;
recvresult;
query_result;
endrepeat;
-->endmacro
#
## Assertion specific macros
#
-->macro CHK_assert_notice_view_changed %NAME%
echo [ASSERT view_change on '%NAME%' connection];
quiet;
setsession %NAME%;
noquiet;
noquery_result;
recvmessage Mysqlx.Notice.Frame {type:4 payload:"type:2"};
query_result;
-->endmacro
-->macro CHK_assert_notice_role_changed %NAME%
echo [ASSERT role_change on '%NAME%' connection];
quiet;
setsession %NAME%;
noquiet;
noquery_result;
recvmessage Mysqlx.Notice.Frame {type:4 payload:"type:3"};
query_result;
-->endmacro
-->macro CHK_assert_notice_state_changed %NAME%
echo [ASSERT state_change on '%NAME%' connection];
quiet;
setsession %NAME%;
noquiet;
noquery_result;
recvmessage Mysqlx.Notice.Frame {type:4 payload:"type:4"};
query_result;
-->endmacro
-->macro CHK_assert_notice_quorum_lost %NAME%
echo [ASSERT quorum_lost on '%NAME%' connection];
quiet;
setsession %NAME%;
noquiet;
noquery_result;
recvmessage Mysqlx.Notice.Frame {type:4 payload:"type:1"};
query_result;
-->endmacro
-->macro CHK_assert_notice_none %NAME%
echo [ASSERT no notices on '%NAME%' connection];
quiet;
setsession %NAME%;
stmtadmin ping;
noquiet;
noquery_result;
recvtype Mysqlx.Sql.StmtExecuteOk;
query_result;
-->endmacro
-->macro CHK_assert_notice_none_ignore_args %NAME% %SESSION_ID%
callmacro CHK_assert_notice_none %SESSION_ID%;
-->endmacro
-->macro CHK_assert_notice %NAME% %SESSION_ID%
callmacro CHK_assert_notice_%NAME% %SESSION_ID%;
-->endmacro
-->macro_varg CHK_assert_ignore
-->endmacro
-->macro Assert_notice_session_state %PARAM% %VALUE%
noquery_result;
echo [ASSERT notice session state change - %PARAM%, %VALUE%];
-->recvmessage Mysqlx.Notice.Frame {type:3 scope:LOCAL payload:"param:%PARAM% value{%VALUE%}"}
query_result;
-->endmacro
-->macro Assert_notice_warning %LEVEL% %CODE%
noquery_result;
echo [ASSERT notice warning - %LEVEL%, %CODE%];
-->recvmessage Mysqlx.Notice.Frame {type:1 scope:LOCAL payload:"level:%LEVEL% code:%CODE%"}
query_result;
-->endmacro