Change in osmo-ttcn3-hacks[master]: MGCP_Emulation: allow moving ep handling to another test component

laforge gerrit-no-reply at lists.osmocom.org
Fri Aug 6 14:03:33 UTC 2021


laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 )

Change subject: MGCP_Emulation: allow moving ep handling to another test component
......................................................................

MGCP_Emulation: allow moving ep handling to another test component

Will be used by MSC_Tests.TC_call_re_establishment in
Ifdff5573eeb3b3d41e8599b9b0228411d2576864,
where a call from one vc_conn gets re-established in another vc_conn.

Related: SYS#5130
Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54
---
M library/MGCP_Emulation.ttcn
1 file changed, 26 insertions(+), 1 deletion(-)

Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  osmith: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/library/MGCP_Emulation.ttcn b/library/MGCP_Emulation.ttcn
index 8ccc085..9a92b9c 100644
--- a/library/MGCP_Emulation.ttcn
+++ b/library/MGCP_Emulation.ttcn
@@ -193,6 +193,19 @@
 	mtc.stop;
 }
 
+private function f_ep_table_change_connhdlr(MGCP_ConnHdlr comp_ref, MgcpEndpoint ep)
+runs on MGCP_Emulation_CT {
+	var integer i;
+	for (i := 0; i < sizeof(MgcpEndpointTable); i := i+1) {
+		if (MgcpEndpointTable[i].endpoint == ep) {
+			MgcpEndpointTable[i].comp_ref := comp_ref;
+			log("MGCP_Emulation_CT: MgcpEndpointTable[", i, "] now sends to ", comp_ref);
+			return;
+		}
+	}
+	setverdict(fail, "MGCP Endpoint Table: Couldn't find entry to move to ", comp_ref);
+	mtc.stop;
+}
 
 /* Check if the given transaction ID is a pending CRCX. If yes, return true + remove */
 private function f_trans_id_was_pending(MgcpTransId trans_id)
@@ -349,6 +362,10 @@
 			f_ep_table_del(vc_conn, ep);
 			MGCP_PROC.reply(MGCPEM_delete_ep:{ep, vc_conn}) to vc_conn;
 			}
+		[] MGCP_PROC.getcall(MGCPEM_change_connhdlr:{?,?}) -> param(ep, vc_conn) {
+			f_ep_table_change_connhdlr(vc_conn, ep);
+			MGCP_PROC.reply(MGCPEM_change_connhdlr:{ep, vc_conn}) to vc_conn;
+			}
 		}
 
 	}
@@ -370,9 +387,10 @@
 
 signature MGCPEM_register(in ExpectCriteria cmd, in MGCP_ConnHdlr hdlr);
 signature MGCPEM_delete_ep(in MgcpEndpoint ep, in MGCP_ConnHdlr hdlr);
+signature MGCPEM_change_connhdlr(in MgcpEndpoint ep, in MGCP_ConnHdlr hdlr);
 
 type port MGCPEM_PROC_PT procedure {
-	inout MGCPEM_register, MGCPEM_delete_ep;
+	inout MGCPEM_register, MGCPEM_delete_ep, MGCPEM_change_connhdlr;
 } with { extension "internal" };
 
 function f_get_mgcp_by_crit(ExpectCriteria crit)
@@ -462,6 +480,13 @@
 	}
 }
 
+/* Move MGCP handling for a given MGW endpoint to a different MGCP_ConnHdlr component. */
+function f_mgcp_change_connhdlr(MgcpEndpoint ep) runs on MGCP_ConnHdlr {
+	MGCP_PROC.call(MGCPEM_change_connhdlr:{ep, self}) {
+		[] MGCP_PROC.getreply(MGCPEM_change_connhdlr:{?,?}) {};
+	}
+}
+
 
 private function f_expect_table_init()
 runs on MGCP_Emulation_CT {

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54
Gerrit-Change-Number: 25066
Gerrit-PatchSet: 5
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: osmith <osmith at sysmocom.de>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210806/b0131fd0/attachment.htm>


More information about the gerrit-log mailing list