<p>fixeria has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17967">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">PCU: refactor f_pcuif_rx_imm_ass(): also handle PCH SAPI<br><br>Change-Id: Ia5d162c1d8bbee43a6e9fab784d8675187f15be1<br>---<br>M pcu/PCU_Tests_RAW.ttcn<br>1 file changed, 21 insertions(+), 11 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/17967/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn</span><br><span>index 1d13b8e..be15f5a 100644</span><br><span>--- a/pcu/PCU_Tests_RAW.ttcn</span><br><span>+++ b/pcu/PCU_Tests_RAW.ttcn</span><br><span>@@ -237,27 +237,35 @@</span><br><span> }</span><br><span> </span><br><span> private function f_pcuif_rx_imm_ass(out GsmRrMessage rr_imm_ass,</span><br><span style="color: hsl(120, 100%, 40%);">+                                   template PCUIF_Sapi sapi := PCU_IF_SAPI_AGCH,</span><br><span>                                template GsmRrMessage t_imm_ass := ?,</span><br><span>                                uint8_t bts_nr := 0)</span><br><span> runs on RAW_PCU_Test_CT return boolean {</span><br><span>         var PCUIF_Message pcu_msg;</span><br><span style="color: hsl(120, 100%, 40%);">+    var octetstring data;</span><br><span>        timer T;</span><br><span> </span><br><span>         T.start(2.0);</span><br><span>        alt {</span><br><span>        [] BTS.receive(tr_PCUIF_DATA_REQ(bts_nr := bts_nr, trx_nr := 0, ts_nr := 0,</span><br><span style="color: hsl(0, 100%, 40%);">-                                      sapi := PCU_IF_SAPI_AGCH, data := ?))</span><br><span style="color: hsl(0, 100%, 40%);">-                                  -> value pcu_msg {</span><br><span style="color: hsl(0, 100%, 40%);">-           rr_imm_ass := dec_GsmRrMessage(pcu_msg.u.data_req.data);</span><br><span style="color: hsl(0, 100%, 40%);">-                log("Rx Immediate Assignment: ", rr_imm_ass);</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-         if (match(rr_imm_ass, t_imm_ass)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                     setverdict(pass);</span><br><span style="color: hsl(0, 100%, 40%);">-                       return true;</span><br><span style="color: hsl(120, 100%, 40%);">+                                   sapi := sapi, data := ?)) -> value pcu_msg {</span><br><span style="color: hsl(120, 100%, 40%);">+              /* On PCH the payload is prefixed with paging group (3 octets): skip it.</span><br><span style="color: hsl(120, 100%, 40%);">+               * TODO: add an additional template parameter, so we can match it. */</span><br><span style="color: hsl(120, 100%, 40%);">+         if (pcu_msg.u.data_req.sapi == PCU_IF_SAPI_PCH) {</span><br><span style="color: hsl(120, 100%, 40%);">+                     data := substr(pcu_msg.u.data_req.data, 3, pcu_msg.u.data_req.len - 3);</span><br><span style="color: hsl(120, 100%, 40%);">+               } else {</span><br><span style="color: hsl(120, 100%, 40%);">+                      data := pcu_msg.u.data_req.data;</span><br><span>             }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           /* Not for us? Wait for more. */</span><br><span style="color: hsl(0, 100%, 40%);">-                repeat;</span><br><span style="color: hsl(120, 100%, 40%);">+               rr_imm_ass := dec_GsmRrMessage(data);</span><br><span style="color: hsl(120, 100%, 40%);">+         if (not match(rr_imm_ass, t_imm_ass)) {</span><br><span style="color: hsl(120, 100%, 40%);">+                       /* Not for us? Wait for more. */</span><br><span style="color: hsl(120, 100%, 40%);">+                      repeat;</span><br><span style="color: hsl(120, 100%, 40%);">+               }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           log("Rx Immediate Assignment: ", rr_imm_ass);</span><br><span style="color: hsl(120, 100%, 40%);">+               setverdict(pass);</span><br><span style="color: hsl(120, 100%, 40%);">+             return true;</span><br><span>                 }</span><br><span>    [] BTS.receive { repeat; }</span><br><span>   [] T.timeout {</span><br><span>@@ -293,7 +301,9 @@</span><br><span>         if (is_11bit != 0) { ra := 127; }</span><br><span> </span><br><span>        /* Expect Immediate (TBF) Assignment on TS0/AGCH */</span><br><span style="color: hsl(0, 100%, 40%);">-     return f_pcuif_rx_imm_ass(rr_imm_ass, tr_IMM_TBF_ASS(?, ra, fn), bts_nr);</span><br><span style="color: hsl(120, 100%, 40%);">+     return f_pcuif_rx_imm_ass(rr_imm_ass, PCU_IF_SAPI_AGCH,</span><br><span style="color: hsl(120, 100%, 40%);">+                                 tr_IMM_TBF_ASS(?, ra, fn),</span><br><span style="color: hsl(120, 100%, 40%);">+                            bts_nr := bts_nr);</span><br><span> }</span><br><span> </span><br><span> private function f_imm_ass_verify_ul_tbf_ass(GsmRrMessage rr_imm_ass, out PacketUlAssign ul_tbf_ass)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17967">change 17967</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/17967"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ia5d162c1d8bbee43a6e9fab784d8675187f15be1 </div>
<div style="display:none"> Gerrit-Change-Number: 17967 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>