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
This commit is contained in:
parent
a9e17b34ae
commit
735b6563ec
|
@ -501,24 +501,35 @@ runs on ConnHdlr return RANAP_PDU {
|
|||
/* 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 @@ friend function f_rab_ass_req(inout MgcpParameters pars) runs on ConnHdlr {
|
|||
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 @@ friend function f_tc_rab_release(charstring id, TestHdlrParams pars) runs on Con
|
|||
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 @@ friend function f_tc_ps_rab_assignment_with_pfcp(charstring id, TestHdlrParams p
|
|||
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 @@ friend function f_tc_ps_rab_assignment_without_pfcp(charstring id, TestHdlrParam
|
|||
|
||||
/* 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;
|
||||
|
|
Loading…
Reference in New Issue