Harald Welte has submitted this change and it was merged. Change subject: L1CTL: make sure to self.stop in all setverdict(fail) cases ......................................................................
L1CTL: make sure to self.stop in all setverdict(fail) cases Change-Id: I2013a8ec0641d8ef935e6615c1bde599f42db260 --- M library/L1CTL_PortType.ttcn M library/L1CTL_Types.ttcn 2 files changed, 44 insertions(+), 15 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/L1CTL_PortType.ttcn b/library/L1CTL_PortType.ttcn index 40a4c75..6c4fe70 100644 --- a/library/L1CTL_PortType.ttcn +++ b/library/L1CTL_PortType.ttcn @@ -34,7 +34,7 @@ } function f_L1CTL_FBSB(L1CTL_PT pt, Arfcn arfcn, L1ctlCcchMode ccch_mode := CCCH_MODE_COMBINED) { - timer T := 5.0; + timer T := 15.0; for (var integer i := 0; i < 10; i := i+1) { pt.send(ts_L1CTL_FBSB_REQ(arfcn, valueof(t_L1CTL_FBSB_F_ALL), 0, ccch_mode, 57)); T.start @@ -45,11 +45,27 @@ self.stop; }; [] pt.receive(tr_L1CTL_FBSB_CONF(?)) { - pt.send(t_L1ctlResetReq(L1CTL_RES_T_FULL)); - pt.receive; + f_sleep(1.0); } [] pt.receive { repeat; }; - [] T.timeout { setverdict(fail, "Timeout in FBSB") }; + [] T.timeout { + setverdict(fail, "Timeout in FBSB") + self.stop; + }; + } + } + } + + function f_L1CTL_CCCH_MODE(L1CTL_PT pt, L1ctlCcchMode ccch_mode) { + timer T := 2.0; + pt.send(ts_L1CTL_CCCH_MODE_REQ(ccch_mode)); + T.start; + alt { + [] pt.receive(tr_L1CTL_CCCH_MODE_CONF) { } + [] pt.receive { repeat; } + [] T.timeout { + setverdict(fail, "Timeout in CCH_MODE"); + self.stop; } } } @@ -63,7 +79,10 @@ alt { [] pt.receive(tr_L1CTL_RACH_CONF) -> value rc { fn := rc.dl_info.frame_nr }; [] pt.receive { repeat; }; - [] T.timeout { setverdict(fail, "Timeout in RACH") }; + [] T.timeout { + setverdict(fail, "Timeout in RACH"); + self.stop; + } } return fn; } @@ -88,7 +107,10 @@ } }; [] pt.receive { repeat }; - [] T.timeout { setverdict(fail, "Timeout waiting for IMM ASS") }; + [] T.timeout { + setverdict(fail, "Timeout waiting for IMM ASS"); + self.stop; + } } T.stop; return rr.payload.imm_ass; @@ -110,7 +132,10 @@ } }; [] pt.receive { repeat }; - [] T.timeout { setverdict(fail, "Timeout waiting for IMM ASS") }; + [] T.timeout { + setverdict(fail, "Timeout waiting for IMM ASS"); + self.stop; + } } T.stop; return rr.payload.imm_ass; @@ -123,7 +148,10 @@ alt { [] pt.receive(tr_L1CTL_TBF_CFG_CONF(is_uplink)) {} [] pt.receive { repeat }; - [] T.timeout { setverdict(fail, "Timeout waiting for TBF-CFG.conf") }; + [] T.timeout { + setverdict(fail, "Timeout waiting for TBF-CFG.conf"); + self.stop; + }; } T.stop; } @@ -140,7 +168,7 @@ pt.receive(L1CTL_connect_result:{result_code := SUCCESS, err:=omit}); f_L1CTL_setGetMsgLen(pt, 0, vl_f, {}); - pt.send(t_L1ctlResetReq(L1CTL_RES_T_SCHED)); + pt.send(t_L1ctlResetReq(L1CTL_RES_T_FULL)); pt.receive; } diff --git a/library/L1CTL_Types.ttcn b/library/L1CTL_Types.ttcn index 34650d0..814e7df 100644 --- a/library/L1CTL_Types.ttcn +++ b/library/L1CTL_Types.ttcn @@ -437,13 +437,14 @@ } }; - template L1ctlUlMessage ts_L1CTL_CCCH_MODE_CONF := { - header := ts_L1ctlHeader(L1CTL_CCCH_MODE_CONF), - ul_info := omit, - ul_info_tbf := omit, - ul_info_abs := omit, + + template L1ctlDlMessage tr_L1CTL_MsgType(template L1ctlMsgType msg_type) := { + header := tr_L1ctlHeader(msg_type), + dl_info := *, payload := ? - }; + } + + template L1ctlDlMessage tr_L1CTL_CCCH_MODE_CONF := tr_L1CTL_MsgType(L1CTL_CCCH_MODE_CONF); template L1ctlUlMessage ts_L1CTL_RACH_REQ(uint8_t ra, uint8_t combined, uint16_t offset) := { header := ts_L1ctlHeader(L1CTL_RACH_REQ), -- To view, visit https://gerrit.osmocom.org/7238 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I2013a8ec0641d8ef935e6615c1bde599f42db260 Gerrit-PatchSet: 3 Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Owner: Harald Welte <lafo...@gnumonks.org> Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org> Gerrit-Reviewer: Jenkins Builder