aboutsummaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2019-05-31 22:24:57 +0200
committerHarald Welte <laforge@gnumonks.org>2019-06-04 09:12:03 +0000
commit2f2b2b7f95ffe3353ab851a7b9f047e0ac41e66e (patch)
treecc2ced4733776b1c86d7895d23912536fcf5fa59 /library
parente6f071fe577eb277213848dece21311c71f3a3ef (diff)
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
Diffstat (limited to 'library')
-rw-r--r--library/LAPDm_Types.ttcn54
1 files changed, 53 insertions, 1 deletions
diff --git a/library/LAPDm_Types.ttcn b/library/LAPDm_Types.ttcn
index a1ca5fe5..577c9bdf 100644
--- a/library/LAPDm_Types.ttcn
+++ b/library/LAPDm_Types.ttcn
@@ -105,7 +105,7 @@ module LAPDm_Types {
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 @@ module LAPDm_Types {
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 @@ module LAPDm_Types {
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 @@ module LAPDm_Types {
}
}
+ 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 @@ module LAPDm_Types {
}
}
+ 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)" */}