diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2019-09-08 15:37:15 +0200 |
---|---|---|
committer | laforge <laforge@gnumonks.org> | 2019-09-08 19:21:27 +0000 |
commit | 9b2a3e8cb8a6d60da92965687e41698f783c4aa0 (patch) | |
tree | bc9f5dacf65596eaf50f598715cc87ddf430535d | |
parent | 0b5e0f9146c0ba7a7664959af302dbd2fd3508c6 (diff) |
library/GSM_RR_Types.ttcn: fix ImmediateAssignment coding regressions
Since I403d2141536303a966be7ff51b06c3de202412e6, IA Rest Octets is
a mandatory IE. When changing the definition of ts_IMM_ASS, I forgot
to mark its optional 'lh', 'hl', and 'hh' as omitted explicitly.
As a result, many of our TTCN-3 test cases were broken:
Dynamic test case error: Using an unbound optional field.
Also, in Ifdcdcf50709fcc03195cb8ef6092977e26f910ec I added an
optional field 'pad' to record 'IaRestOctets'. That was not the
best solution, because padding should be handled transparently.
Let's get rid of that dummy field and equip both 'ImmediateAssignment'
and 'IaRestOctets' records with proper padding attributes. The later
one needs to be marked with 'CSN.1 L/H' attribute in the future, but
for now we should keep it octet-aligned.
Change-Id: I69d5fbd8e3388e287bfa54f02454d207e62ee640
-rw-r--r-- | library/GSM_RR_Types.ttcn | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index f313e23a..b098118d 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -543,13 +543,13 @@ module GSM_RR_Types { IaRestOctLL ll optional, IaRestOctLH lh optional, IaRestOctHL hl optional, - IaRestOctHH hh optional, - bitstring pad optional + IaRestOctHH hh optional } with { variant (ll) "PRESENCE(presence = '00'B)" variant (lh) "PRESENCE(presence = '01'B)" variant (hl) "PRESENCE(presence = '10'B)" variant (hh) "PRESENCE(presence = '11'B)" + variant "PADDING(yes), PADDING_PATTERN('00101011'B)" }; type record MeasurementResults { @@ -590,7 +590,8 @@ module GSM_RR_Types { /* TODO: starting time TLV */ IaRestOctets rest_octets } with { variant (chan_desc) "PRESENCE(ded_or_tbf.tbf = false)" - variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" }; + variant (pkt_chan_desc) "PRESENCE(ded_or_tbf.tbf = true)" + variant "PADDING(168), PADDING_PATTERN('00101011'B)" }; /* 9.1.20 */ type record ReqRefWaitInd { @@ -744,7 +745,8 @@ module GSM_RR_Types { /* Compressed INTER RAT HO INFO: shall not be used (L) * TODO: use variant "CSN.1 L/H" to avoid confusion. */ compressed_irat_ho_info_ind := '1'B - } + }, + lh := omit, hl := omit, hh := omit } } } |