pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40196?usp=email )
Change subject: stp: Introduce test TC_m3ua_scp_srv_adm_shutdown ......................................................................
stp: Introduce test TC_m3ua_scp_srv_adm_shutdown
Related: OS#6752 Change-Id: Iad34af7e7758fbd3a0d686a261ccce53bc705817 --- M stp/STP_Tests_M3UA.ttcn M stp/expected-results.xml 2 files changed, 49 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/40196/1
diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index a4dd539..4cca78f 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -542,6 +542,53 @@ f_clear_m3ua(); }
+/* Test administrative state, VTY "[no] shutdown" */ +testcase TC_m3ua_scp_srv_adm_shutdown() runs on RAW_M3UA_CT { + f_init_m3ua(); + + f_M3UA_asp_up_act(0, c_M3UA_TMT_override, omit); + f_sleep(1.0); + f_vty_cs7_asp_cmd(f_m3ua_cli_config(0), "shutdown"); + log("ASP should now be DOWN") + var PortEvent pev; + alt { + [] M3UA[0].receive(PortEvent:{sctpEvent := ?}) -> value pev { + log("sctp event: ", pev) + repeat; + } + [] M3UA[0].receive(PortEvent:{connClosed:=?}) -> value pev { + log("Peer closed conn: ", pev) + } + } + + f_sleep(1.0); + /* Make sure SCTP conn will be closed when we connect to it. */ + log("Connecting to ASP (expect closed):"); + f_M3UA_connect_sctp(0); + timer T := 5.0; + T.start; + alt { + [] M3UA[0].receive(PortEvent:{sctpEvent := ?}) -> value pev { + log("sctp event: ", pev) + repeat; + } + [] M3UA[0].receive(PortEvent:{connClosed:=?}) -> value pev { + log("Peer closed conn: ", pev) + } + [] T.timeout { + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Expected close from ASP SCTP server!"); + } + } + + /* Now let the ASP be active again, it should reconnect to us: */ + f_vty_cs7_asp_cmd(f_m3ua_cli_config(0), "no shutdown"); + log("Connecting to ASP (expect success):"); + f_M3UA_connect_sctp(0); + f_M3UA_asp_up_act(0, c_M3UA_TMT_override, omit, ntfy_after_up := c_M3UA_ST_I_AS_PENDING); + + f_clear_m3ua(); +} + /* Test if traffic is routed from idx_tx/pc_tx to idx_rx/pc_rx */ private function f_test_traffic(integer idx_tx, template (omit) OCT4 rctx_sender, OCT4 pc_tx, integer idx_rx, template (omit) OCT4 rctx_receiver, OCT4 pc_rx, @@ -1572,6 +1619,7 @@ execute( TC_tmt_loadshare_sls() ); execute( TC_tmt_broadcast() ); execute( TC_act_rctx_data_no_rctx() ); + execute( TC_m3ua_scp_srv_adm_shutdown() );
execute( TC_m3ua_tcp_cli() ); execute( TC_m3ua_tcp_cli_srv() ); diff --git a/stp/expected-results.xml b/stp/expected-results.xml index 02a801a..bb944ca 100644 --- a/stp/expected-results.xml +++ b/stp/expected-results.xml @@ -12,6 +12,7 @@ <testcase classname='STP_Tests_M3UA' name='TC_tmt_loadshare_sls' time='MASKED'/> <testcase classname='STP_Tests_M3UA' name='TC_tmt_broadcast' time='MASKED'/> <testcase classname='STP_Tests_M3UA' name='TC_act_rctx_data_no_rctx' time='MASKED'/> + <testcase classname='STP_Tests_M3UA' name='TC_m3ua_scp_srv_adm_shutdown' time='MASKED'/> <testcase classname='STP_Tests_M3UA' name='TC_m3ua_tcp_cli' time='MASKED'/> <testcase classname='STP_Tests_M3UA' name='TC_m3ua_tcp_cli_srv' time='MASKED'/> <testcase classname='STP_Tests_M3UA' name='TC_m3ua_tcp_srv' time='MASKED'/>