pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28267 )
Change subject: bsc: Fix IPA_CFG_PORT handling several connections ......................................................................
bsc: Fix IPA_CFG_PORT handling several connections
Recent commit changing the layout of bts/trx port config made IPA_CFG_PORT be connected severa times when calling f_ipa_rsl_start() for each BTS/TRX.
Let's have separate ports per BTS/TRX as done in other ports in the test_CT component.
This avoid this error when calling f_ipa_rsl_stop(): """ Dynamic test case error: Port IPA_CFG_PORT has more than one active connections. Message can be sent on it only with explicit addressing. """
Change-Id: I916186c87c398ebb2d7f82f73b94de75034e346d --- M bsc/BSC_Tests.ttcn 1 file changed, 5 insertions(+), 5 deletions(-)
Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index b445709..8a7d465 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -612,8 +612,8 @@ port IPA_CODEC_PT IPA; /* Required for compilation of TC_rsl_unknown_unit_id() */ /* CTRL muxed over IPA in SCCPlite conn BSC<->MSC (or BSC-NAT) */ port IPA_CTRL_PT SCCPLITE_IPA_CTRL; - /* Configure/manage IPA_Emulation: */ - port IPA_CFG_PT IPA_CFG_PORT; + /* Configure/manage IPA_Emulation per-BTS/TRX port: */ + port IPA_CFG_PT IPA_CFG_PORT[NUM_BTS][NUM_TRX];
var MGCP_Emulation_CT vc_MGCP; port TELNETasp_PT BSCVTY; @@ -953,7 +953,7 @@ }
map(clnt.vc_IPA:IPA_PORT, system:IPA_CODEC_PT); - connect(clnt.vc_IPA:CFG_PORT, self:IPA_CFG_PORT); + connect(clnt.vc_IPA:CFG_PORT, self:IPA_CFG_PORT[idx.bts][idx.trx]); if (handler_mode) { connect(clnt.vc_IPA:IPA_RSL_PORT, clnt.vc_RSL:IPA_PT); } else { @@ -982,7 +982,7 @@ } }
-function f_ipa_rsl_stop(inout IPA_Client clnt) runs on test_CT { +function f_ipa_rsl_stop(inout IPA_Client clnt, BtsTrxIdx idx := {0, 0}) runs on test_CT { var IPL4asp_Types.Result res := { errorCode := omit, connId := omit, @@ -997,7 +997,7 @@ /* Alive components don't finish sockets (TCP FIN) when they are * stopped. Hence, we need to manually call close() on them to make sure * the IUT knows about it. */ - f_ipa_cfg_disconnect(IPA_CFG_PORT, res); + f_ipa_cfg_disconnect(IPA_CFG_PORT[idx.bts][idx.trx], res);
clnt.vc_IPA.stop; if (isbound(clnt.vc_RSL)) {