<p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370">View Change</a></p><p>24 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn">File pcu/GPRS_Components.ttcn:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@78">Patch Set #5, Line 78:</a> <code style="font-family:monospace,monospace">uint8_t</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">boolean? Ideally, we should use something like "bitstring length (8.. […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">I iitially used a boolean but then had issues passing it to some lower layer template in RAW_PCUIF or alike because it also expected an uint8_t, so I left is as uint8_t. It can be moved to boolean together with lower layers later if we want.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@79">Patch Set #5, Line 79:</a> <code style="font-family:monospace,monospace">PCUIF_BurstType</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Not sure if access burst type should be stored here, as you don't really need to match it in the ass […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Ack, will simply apply it when needed.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@160">Patch Set #5, Line 160:</a> <code style="font-family:monospace,monospace">dynamic</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">It also makes sense to parse both 'usf' and 'usf_granularity' here. Can be done later though.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">it's done for usf in later commit in the patchset. usf_granularity is TBH for later.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@169">Patch Set #5, Line 169:</a> <code style="font-family:monospace,monospace">dynamic</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">It also makes sense to parse both 'usf' and 'usf_granularity' here. Can be done later though.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Same as above.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@204">Patch Set #5, Line 204:</a> <code style="font-family:monospace,monospace">dl_ass</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">This template is not used in this function...</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">ack, will check it.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@249">Patch Set #5, Line 249:</a> <code style="font-family:monospace,monospace">ms.burst_type := BURST_TYPE_0;</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">This should be kept as a parameter of the function that actually sends RACH.ind to the IUT.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">I will simply do this check before sending RACH.ind to send the correct BURST_TYPE.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@294">Patch Set #5, Line 294:</a> <code style="font-family:monospace,monospace">tr_RLCMAC_DL_PACKET_ASS</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">So by default, this function would match DL Assignment, while it can also handle UL Assignment. […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">ack</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@294">Patch Set #5, Line 294:</a> <code style="font-family:monospace,monospace">imm_ass_rlcmac</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">This name is confusing as there is no RLC/MAC version of the RR Immediate Assignment.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">ack, should be named f_ms_rc_ass_pacch</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@299">Patch Set #5, Line 299:</a> <code style="font-family:monospace,monospace">f_rx_rlcmac_dl_block</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Please add a TODO/FIXME here stating that we need an alt statement here.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">for what exactly? I could start adding TODOs everywhere, but I won't add it unless there's something specific which makes sense here.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@310">Patch Set #5, Line 310:</a> <code style="font-family:monospace,monospace">Wrong TLLI</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">This probably means that received assignment is not for us, and we should wait for another one? At l […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Right now we are only supporting 1 MS and checking for 1 TLLI, so the message is fine.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@327">Patch Set #5, Line 327:</a> <code style="font-family:monospace,monospace">uint16_t</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Why 16 bits? Should be 8 I believe.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">will check the template.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@353">Patch Set #5, Line 353:</a> <code style="font-family:monospace,monospace">establish</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">This name is confusing. […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">ok will change the name,</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@362">Patch Set #5, Line 362:</a> <code style="font-family:monospace,monospace">uint32_t fn := 0</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">template uint32_t fn := ?</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">no, fn=0 is fine here, iirc it's a special value meaning "next one".</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@381">Patch Set #5, Line 381:</a> <code style="font-family:monospace,monospace">data := f_pad_oct(data, 23, '00'O); /* CS-1 */</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">There must be a comment that padding only works for CS-1. […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Indeed I know it only works for CS1, but it was always the case. I will add a TODO.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/GPRS_Components.ttcn@405">Patch Set #5, Line 405:</a> <code style="font-family:monospace,monospace">f_ms_tx_ul_data_block_multi</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Maybe call it f_ms_tx_rand_ul_data_blocks()? The point is that the function generates payload itself […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">ACK</p></li></ul></li><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn">File pcu/PCU_Tests.ttcn:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn@a811">Patch Set #5, Line 811:</a> <code style="font-family:monospace,monospace">bsn := 0;</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Are you sure?</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Yes it's fine, I changed the test a bit so it makes more sense from a real MS point of view.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn@269">Patch Set #5, Line 269:</a> <code style="font-family:monospace,monospace">f_ms_establish_ul_tbf</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Uhhhh, such an overhead... […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Come on, it was already calling f_establish_tbf, there's no much new overhead.<br>Let's use same infra so people can easily understand other tests once you have seen one.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn@310">Patch Set #5, Line 310:</a> <code style="font-family:monospace,monospace">f_ms_rx_imm_ass_ccch</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Same problem here, what would be the failure reason? Right, "failed to match Immediate Assignment". […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">So what? the test is more complete, more stuff is checked for free in the same scenario. Really, let's push forward.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn@584">Patch Set #5, Line 584:</a> </p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><pre style="font-family: monospace,monospace; white-space: pre-wrap;">if (match(dl_block, tr_RLCMAC_DUMMY_CTRL())) {<br>                 continue;<br>             }<br>             if (not match(dl_block, tr_RLCMAC_UL_ACK_NACK_GPRS(ul_tfi := ?)) and<br>              not match(dl_block, tr_RLCMAC_UL_ACK_NACK_EGPRS(ul_tfi := ?))) {<br>                  setverdict(fail, "Failed to match Packet Uplink ACK / NACK:", dl_block);<br>                    f_shutdown(__BFILE__, __LINE__);<br>              }<br></pre></blockquote></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">This goes behind the scope of the test case.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Not really, I'm fixing the test since it was not behaving correctly as an MS would. I stated in the commit I also fixed/improved some tests while moving to the new API.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn@609">Patch Set #5, Line 609:</a> <code style="font-family:monospace,monospace">f_shutdown</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Unrelated change. AFAIR, I intentionally did not break here.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">I think this is fine. You want me to remove it? ok, I will remove it.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn@685">Patch Set #5, Line 685:</a> <code style="font-family:monospace,monospace">f_shutdown</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Again unrelated. […]</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Again, I think it's fine since we always want to terminate immediately after the error, having afterwards calling f_shutdown with final := true is confusing.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn@730">Patch Set #5, Line 730:</a> <code style="font-family:monospace,monospace">f_shutdown</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Same.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Same.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn@747">Patch Set #5, Line 747:</a> <code style="font-family:monospace,monospace">ms := g_ms[0]; /* We only use first MS in this test */</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">While it could be just one line: var GprsMS ms := valueof(t_GprsMS_def) or so.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Yes for these tests, not for future ones.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370/5/pcu/PCU_Tests.ttcn@1511">Patch Set #5, Line 1511:</a> <code style="font-family:monospace,monospace">f_TC_egprs_pkt_chan_req</code></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Same here, we don't really need MS/TBF/... abstraction here.</blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Same, it makes sense using same set of tools so people can easily understand tests and develop them.<br>The old APIs will be eventually dropped.</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/18370">change 18370</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/+/18370"/><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: Ib3fee37580f0ea0530a659dec83656799bf57288 </div>
<div style="display:none"> Gerrit-Change-Number: 18370 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Comment-Date: Thu, 21 May 2020 22:21:49 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-Has-Labels: No </div>
<div style="display:none"> Comment-In-Reply-To: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-MessageType: comment </div>