pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40472?usp=email )
Change subject: stp: IPA: Introduce test TC_beat ......................................................................
stp: IPA: Introduce test TC_beat
Similar to the one already available in STP_Tests_M3UA, but testing PING/PONG in IPA.
Change-Id: I3d762fb4780aaa9931c3841cce69da6ee95529f3 --- M stp/STP_Tests_IPA.ttcn M stp/expected-results.xml 2 files changed, 43 insertions(+), 1 deletion(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve
diff --git a/stp/STP_Tests_IPA.ttcn b/stp/STP_Tests_IPA.ttcn index 8a34054..07d1f2b 100644 --- a/stp/STP_Tests_IPA.ttcn +++ b/stp/STP_Tests_IPA.ttcn @@ -25,6 +25,8 @@ import from SCCPasp_Types all; import from SCCP_Emulation all;
+import from IPA_Types all; +import from IPA_CodecPort all; import from IPA_Emulation all;
import from M3UA_Emulation all; @@ -66,6 +68,7 @@ * having to re-invent IPA CCM handling here */ port MTP3asp_PT IPA[MAX_NR_IPA]; port IPA_SP_PT IPA_CTRL[MAX_NR_IPA]; + port IPA_CFG_PT IPA_CFG[MAX_NR_IPA]; var IPA_Emulation_CT vc_IPA[MAX_NR_IPA]; var IPA_CCM_Parameters g_ccm_pars[MAX_NR_IPA]; var IpaConfigs g_ipa_configs; @@ -157,6 +160,7 @@ map(vc_IPA[i]:IPA_PORT, system:IPA_CODEC_PT); connect(self:IPA[i], vc_IPA[i]:MTP3_SP_PORT); connect(self:IPA_CTRL[i], vc_IPA[i]:IPA_SP_PORT); + connect(self:IPA_CFG[i], vc_IPA[i]:CFG_PORT); g_ccm_pars[i] := c_IPA_default_ccm_pars; g_ccm_pars[i].name := g_ipa_configs[i].as_name; } @@ -486,6 +490,41 @@ f_tc_tmt_loadshare_sls(true); }
+private function f_IPA_ping(integer idx) runs on IPA_CT +{ + var IpaCcmMsgtype ipa_ping_msg := IPAC_MSGT_PING; + var IpaCcmMsgtype ipa_pong_msg := IPAC_MSGT_PONG; + var octetstring ipa_ping_data := int2oct(enum2int(ipa_ping_msg), 1); + var octetstring ipa_pong_data := int2oct(enum2int(ipa_pong_msg), 1); + timer T := 3.0; + T.start; + + IPA_CTRL[idx].send(valueof(t_ASP_IPA_UD(IPAC_PROTO_CCM, ipa_ping_data))); + + alt { + [] IPA_CTRL[idx].receive(t_ASP_IPA_UD(IPAC_PROTO_CCM, ipa_pong_data)) { + setverdict(pass); + } + [] IPA_CTRL[idx].receive(t_ASP_IPA_UD(IPAC_PROTO_CCM, ipa_ping_data)) { + /* Answer any PING from peer meanwhile: */ + IPA_CTRL[0].send(valueof(t_ASP_IPA_UD(IPAC_PROTO_CCM, ipa_pong_data))); + repeat; + } + } +} + +testcase TC_beat() runs on IPA_CT { + var Misc_Helpers.ro_charstring asps := { "ipa-asp-override-sender" }; + var IpaConfigs ipa_configs := ipa_build_configs(asps); + + f_init_common(); + f_init_ipa(ipa_configs := ipa_configs); + f_connect_ipa(0); + + f_ipa_cfg_chg_ccm_enabled(IPA_CFG[0], false); + f_IPA_ping(0); +} + control { execute( TC_unknown_client_nodynamic() ); execute( TC_unknown_as_client_nodynamic() ); @@ -497,6 +536,8 @@ execute( TC_tmt_loadshare_roundrobin() ); execute( TC_tmt_loadshare_sls() ); execute( TC_unknown_client_dynamic_tmt_loadshare() ); + + execute( TC_beat() ); }
diff --git a/stp/expected-results.xml b/stp/expected-results.xml index 88e8d17..44e0ea2 100644 --- a/stp/expected-results.xml +++ b/stp/expected-results.xml @@ -1,5 +1,5 @@ <?xml version="1.0"?> -<testsuite name='STP_Tests' tests='52' failures='0' errors='0' skipped='0' inconc='0' time='MASKED'> +<testsuite name='STP_Tests' tests='53' failures='0' errors='0' skipped='0' inconc='0' time='MASKED'> <testcase classname='STP_Tests_M3UA' name='TC_connect_asp_up' time='MASKED'/> <testcase classname='STP_Tests_M3UA' name='TC_beat' time='MASKED'/> <testcase classname='STP_Tests_M3UA' name='TC_beat_payload' time='MASKED'/> @@ -54,6 +54,7 @@ <testcase classname='STP_Tests_IPA' name='TC_tmt_loadshare_roundrobin' time='MASKED'/> <testcase classname='STP_Tests_IPA' name='TC_tmt_loadshare_sls' time='MASKED'/> <testcase classname='STP_Tests_IPA' name='TC_unknown_client_dynamic_tmt_loadshare' time='MASKED'/> + <testcase classname='STP_Tests_IPA' name='TC_beat' time='MASKED'/> <testcase classname='STP_Tests_IPA_M3UA' name='TC_m3ua_to_ipa' time='MASKED'/> <testcase classname='STP_Tests_IPA_M3UA' name='TC_ipa_to_m3ua' time='MASKED'/> <testcase classname='STP_Tests_IPA_M3UA' name='TC_ipa_to_m3ua_ni' time='MASKED'/>