bts: Extend LAPDm test suite with a number of new tests
This adds the following test cases to BTS_Tests_LAPDm.ttcn:
* TC_sabm_retransmit_bts()
* TC_sabm_invalid_resp()
* TC_sabm_dm()
* TC_establish_ign_first_sabm()
* TC_iframe_seq_and_ack()
* TC_iframe_timer_recovery()
Change-Id: I4e1136c0c0f10d5bc8d01e826ae5d92f17a0b2aa
diff --git a/library/LAPDm_Types.ttcn b/library/LAPDm_Types.ttcn
index a1ca5fe..577c9bd 100644
--- a/library/LAPDm_Types.ttcn
+++ b/library/LAPDm_Types.ttcn
@@ -105,7 +105,7 @@
s := { n_r := nr, p_f := pf, s := '00'B }
};
template (value) LapdmCtrl ts_LapdmCtrlRR(uint3_t nr, boolean pf) := {
- s := { n_r := nr, p_f := pf, s := '00'B }
+ s := { n_r := nr, p_f := pf, s := '00'B, spare := '01'B }
};
template LapdmCtrl tr_LapdmCtrlRNR(template uint3_t nr, template boolean pf) modifies tr_LapdmCtrlS := {
@@ -115,6 +115,10 @@
template LapdmCtrl tr_LapdmCtrlREJ(template uint3_t nr, template boolean pf) modifies tr_LapdmCtrlS := {
s := { n_r := nr, p_f := pf, s := '10'B }
};
+ template (value) LapdmCtrl ts_LapdmCtrlREJ(uint3_t nr, boolean pf) := {
+ s := { n_r := nr, p_f := pf, s := '10'B, spare := '01'B }
+ };
+
template LapdmCtrl tr_LapdmCtrlSABM(template boolean p) := {
u := { u := '001'B, p_f := p, u2 := '11'B, spare := '11'B }
@@ -126,6 +130,9 @@
template LapdmCtrl tr_LapdmCtrlDM(template boolean f) := {
u := { u := '000'B, p_f := f, u2 := '11'B, spare := '11'B }
};
+ template (value) LapdmCtrl ts_LapdmCtrlDM(boolean f) := {
+ u := { u := '000'B, p_f := f, u2 := '11'B, spare := '11'B }
+ };
template LapdmCtrl tr_LapdmCtrlUI(template boolean p := false) := {
u := { u := '000'B, p_f := p, u2 := '00'B, spare := '11'B }
@@ -261,6 +268,28 @@
}
}
+ template (value) LapdmFrame ts_LAPDm_DM(LapdmSapi sapi, boolean c_r, boolean f) := {
+ ab := {
+ addr := ts_LapdmAddr(sapi, c_r),
+ ctrl := ts_LapdmCtrlDM(f),
+ len := 0, /* overwritten in encoder */
+ m := false,
+ el := 1,
+ payload := ''O
+ }
+ }
+ template LapdmFrame tr_LAPDm_DM(template LapdmSapi sapi, template boolean c_r,
+ template boolean f) := {
+ ab := {
+ addr := tr_LapdmAddr(sapi, c_r),
+ ctrl := tr_LapdmCtrlDM(f),
+ len := ?,
+ m := false,
+ el := 1,
+ payload := ''O
+ }
+ }
+
template LapdmFrame ts_LAPDm_DISC(LapdmSapi sapi, boolean c_r, boolean p) := {
ab := {
addr := ts_LapdmAddr(sapi, c_r),
@@ -368,6 +397,29 @@
}
}
+ template LapdmFrame tr_LAPDm_REJ(template LapdmSapi sapi, template boolean c_r,
+ template boolean p, template uint3_t nr) := {
+ ab := {
+ addr := tr_LapdmAddr(sapi, c_r),
+ ctrl := tr_LapdmCtrlREJ(nr, p),
+ len := 0,
+ m := false,
+ el := 1,
+ payload := ''O
+ }
+ }
+ template (value) LapdmFrame ts_LAPDm_REJ(LapdmSapi sapi, boolean c_r,
+ boolean p, uint3_t nr) := {
+ ab := {
+ addr := ts_LapdmAddr(sapi, c_r),
+ ctrl := ts_LapdmCtrlREJ(nr, p),
+ len := 0,
+ m := false,
+ el := 1,
+ payload := ''O
+ }
+ }
+
} with { encode "RAW"; /*variant "FIELDORDER(msb)" */}