diff options
author | Harald Welte <laforge@gnumonks.org> | 2019-05-31 22:24:57 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-06-04 09:12:03 +0000 |
commit | 2f2b2b7f95ffe3353ab851a7b9f047e0ac41e66e (patch) | |
tree | cc2ced4733776b1c86d7895d23912536fcf5fa59 /library | |
parent | e6f071fe577eb277213848dece21311c71f3a3ef (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.ttcn | 54 |
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)" */} |