Change in osmo-ttcn3-hacks[master]: bts-lapdm: Introduce test TC_normal_reestablishment_state_unacked

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Wed Oct 21 11:52:24 UTC 2020


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

Change subject: bts-lapdm: Introduce test TC_normal_reestablishment_state_unacked
......................................................................

bts-lapdm: Introduce test TC_normal_reestablishment_state_unacked

Related: OS#4819
Change-Id: I551beaa29b9a1d3af0b1517e06ae1badf7e1bd3f
---
M bts/BTS_Tests_LAPDm.ttcn
1 file changed, 68 insertions(+), 0 deletions(-)

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



diff --git a/bts/BTS_Tests_LAPDm.ttcn b/bts/BTS_Tests_LAPDm.ttcn
index 7f5017d..05c1a71 100644
--- a/bts/BTS_Tests_LAPDm.ttcn
+++ b/bts/BTS_Tests_LAPDm.ttcn
@@ -1392,6 +1392,73 @@
 	f_testmatrix_each_chan(pars, refers(f_TC_normal_reestablishment));
 }
 
+/* Test procedure for normal reestablishment in state LAPD_STATE_TIMER_RECOV (after T200, waiting for Ack), as per:
+ * OS#4819
+ * 3GPP TS 44.006 8.4.1.2 "Normal establishment procedure"
+ * 3GPP TS 44.006 8.4.2.1 "General requirements"
+ * 3GPP TS 44.006 8.6.3 "Procedures for re-establishment"
+ * */
+private function f_TC_normal_reestablishment_state_unacked(charstring id) runs on ConnHdlr {
+	var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0))
+	var octetstring l3_mo := f_rnd_octstring(c_TS0406_MAX_L3_OCTETS);
+	var octetstring l3_mt := f_rnd_octstring(20);
+	var LapdmDlState dls;
+	var default d;
+	timer T := 3.0;
+	var boolean use_sacch := false;
+	var boolean received_estind := false;
+	var boolean received_ua := false;
+
+	fp_common_init();
+
+	/* some common altstep for meas res and other background noise */
+	d := activate(as_ignore_background(true));
+	RSL.clear;
+	LAPDM.clear;
+
+	f_establish_mo(link_id);
+	RSL.send(ts_RSL_DATA_REQ(g_chan_nr, link_id, l3_mt));
+	/* first transmission, P = 0 */
+	LAPDM.receive(t_PH_DATA(0, use_sacch, tr_LAPDm_I(link_id.sapi, c_r:=cr_MT_CMD, p:=false,
+							 nr:=0, ns:=0, l3:=l3_mt)));
+	/* re-transmission, P = 1 */
+	LAPDM.receive(t_PH_DATA(0, use_sacch, tr_LAPDm_I(link_id.sapi, c_r:=cr_MT_CMD, p:=true,
+							 nr:=0, ns:=0, l3:=l3_mt)));
+	deactivate(d);
+
+	/* We received one retrans, so peer is in LAPD_STATE_TIMER_RECOV state. Now send SABM: */
+	LAPDM.send(t_PH_DATA(link_id.sapi, use_sacch, ts_LAPDm_SABM(link_id.sapi, c_r:=cr_MO_CMD, p:=true, l3:=''O)));
+	T.start
+	alt {
+	[] LAPDM.receive(t_PH_DATA(?, use_sacch, tr_LAPDm_UA(link_id.sapi, cr_MT_RSP, f:=true, l3:=''O))) {
+		received_ua := true;
+		if (not received_estind) {
+			repeat;
+		}
+		}
+	[] RSL.receive(tr_RSL_EST_IND_NOL3(g_chan_nr, link_id)) {
+		received_estind := true;
+		if (not received_ua) {
+			repeat;
+		}
+	}
+	[] RSL.receive { repeat; }
+	[] LAPDM.receive { repeat; }
+	[] T.timeout { setverdict(fail, "Timeout waiting for UA"); }
+	}
+
+	/* Test we can still send data afterwards */
+	l3_mo := f_rnd_octstring(c_TS0406_MAX_L3_OCTETS);
+	dls := valueof(t_init_LapdmDlState);
+	f_lapdm_transceive_mo(dls, link_id, l3_mo);
+
+	fp_common_fini();
+}
+testcase TC_normal_reestablishment_state_unacked() runs on test_CT {
+	var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN));
+	f_testmatrix_each_chan(pars, refers(f_TC_normal_reestablishment_state_unacked));
+}
+
 control {
 	execute(TC_sabm_ua_dcch_sapi0());
 	execute(TC_sabm_ua_dcch_sapi0_nopayload());
@@ -1415,6 +1482,7 @@
 	execute(TC_incorrect_cr());
 	execute(TC_sabm_incorrect_c());
 	execute(TC_normal_reestablishment());
+	execute(TC_normal_reestablishment_state_unacked());
 }
 
 }

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/20805
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: I551beaa29b9a1d3af0b1517e06ae1badf7e1bd3f
Gerrit-Change-Number: 20805
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201021/a2ceabc9/attachment.htm>


More information about the gerrit-log mailing list