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

Change subject: hnbgw: add f_rua_expect()
......................................................................

hnbgw: add f_rua_expect()

End the guessing when seeing "timeout of T_guard": set a precise failure
verdict when an expected RUA message did not arrive as expected.

Change-Id: I29e6b7659ba53efee9f676197b502f79780ead7e
---
M hnbgw/HNBGW_Tests.ttcn
1 file changed, 33 insertions(+), 23 deletions(-)

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




diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn
index 5a2c72e..cf0cd07 100644
--- a/hnbgw/HNBGW_Tests.ttcn
+++ b/hnbgw/HNBGW_Tests.ttcn
@@ -501,24 +501,35 @@
 /* send RANAP on Iu and expect it to show up on Iuh */
 function f_iu2iuh(template (present) RANAP_PDU tx, template RANAP_PDU exp_rx 
:= omit)
 runs on ConnHdlr return RANAP_PDU {
-       var RANAP_PDU rx;
-       timer T := 5.0;
-
        if (istemplatekind(exp_rx, "omit")) {
                exp_rx := tx;
        }

        BSSAP.send(tx);
-       T.start;

+       return f_rua_expect(exp_rx)
+}
+
+/* expect to receive a specific RUA message on Iuh */
+private function f_rua_expect(template (present) RANAP_PDU exp_rx) runs on 
ConnHdlr return RANAP_PDU
+{
+       var RANAP_PDU rx;
+       timer T := 5.0;
+       T.start;
        alt {
        [] RUA.receive(exp_rx) -> value rx {
                setverdict(pass);
                }
+       [] RUA.receive(RANAP_PDU:?) {
+               setverdict(fail, "Got an unexpected RUA message, was waiting 
for ", exp_rx);
+               mtc.stop;
+               }
        [] T.timeout {
                setverdict(fail, "Timeout waiting for Iuh ", exp_rx);
+               mtc.stop;
                }
        }
+       T.stop;
        return rx;
 }

@@ -945,19 +956,13 @@
                setverdict(fail, "Timeout waiting for MGCP");
                }
        }
+       T.stop;

        /* Expect RAB Assignment Request with IP/port from CRCX ACK via Iuh */
        rab_sml := ts_RAB_SML(t_RAB_id(23), 
f_ts_RAB_TLA(pars.mgw_conn_1.mgw_rtp_ip), 
t_RAB_binding_port(pars.mgw_conn_1.mgw_rtp_port));
        tx := valueof(ts_RANAP_RabAssReq(rab_sml));
 
-       alt {
-       [] RUA.receive(tx) {
-               setverdict(pass);
-               }
-       [] T.timeout {
-               setverdict(fail, "Timeout waiting for Iuh ", tx);
-               }
-       }
+       f_rua_expect(tx);
 }

 friend function f_rab_ass_resp(inout MgcpParameters pars) runs on ConnHdlr {
@@ -1119,16 +1124,9 @@
                setverdict(fail, "Timeout waiting for DLCX");
        }
        }
+       T.stop;

-       alt {
-       [] RUA.receive(tx) {
-               setverdict(pass);
-               }
-       [] T.timeout {
-               setverdict(fail, "Timeout waiting for Iuh ", tx);
-               }
-       }
-
+       f_rua_expect(tx);
 }

 testcase TC_rab_release() runs on test_CT {
@@ -1365,7 +1363,7 @@
        rab_sml := ts_RAB_SML_ps(t_RAB_id(23), 
f_ts_RAB_TLA(gtp_pars.access.local.addr),
                                 gtp_pars.access.local.teid);
        rx := valueof(ts_RANAP_RabAssReq(rab_sml));
-       RUA.receive(rx);
+       f_rua_expect(rx);

        /* Send back RAB Assignment Response via Iuh */
        var template RAB_SetupOrModifiedList rab_smdl;
@@ -1436,7 +1434,7 @@

        /* Expect on Iuh: unmodified RAB Assignment Request */
        rx := valueof(ts_RANAP_RabAssReq(rab_sml));
-       RUA.receive(rx);
+       f_rua_expect(rx);

        /* Send back RAB Assignment Response via Iuh */
        var template RAB_SetupOrModifiedList rab_smdl;

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/31765
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: I29e6b7659ba53efee9f676197b502f79780ead7e
Gerrit-Change-Number: 31765
Gerrit-PatchSet: 3
Gerrit-Owner: neels <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: neels <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to