139 lines
3.4 KiB
Plaintext
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
|