<p>Max <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/13305">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">BTS: use PCU-related test cases as version string<br><br>When running PCU-related tests against BTS use name of the test as a PCU<br>version string sent from TTCN-3 code. This makes it easier to separate<br>OsmoBTS log output related to different test cases.<br><br>Change-Id: I9ef9e46061ef116529bdea196050f914804615b3<br>---<br>M bts/BTS_Tests.ttcn<br>1 file changed, 35 insertions(+), 18 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn</span><br><span>index 86d43fe..e617323 100644</span><br><span>--- a/bts/BTS_Tests.ttcn</span><br><span>+++ b/bts/BTS_Tests.ttcn</span><br><span>@@ -2723,33 +2723,43 @@</span><br><span>     }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+private function f_init_pcu_test() runs on test_CT {</span><br><span style="color: hsl(120, 100%, 40%);">+      f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, testcasename())));</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* PDCH activation via PCU socket; check for presence of RTS.req */</span><br><span> testcase TC_pcu_act_req() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-       f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         f_TC_pcu_act_req(0, 0, 7, true);</span><br><span> }</span><br><span> </span><br><span> /* PDCH activation via PCU socket on non-PDCU timeslot */</span><br><span> testcase TC_pcu_act_req_wrong_ts() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-  f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         f_TC_pcu_act_req(0, 0, 1, false);</span><br><span> }</span><br><span> </span><br><span> /* PDCH activation via PCU socket on wrong BTS */</span><br><span> testcase TC_pcu_act_req_wrong_bts() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-        f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         f_TC_pcu_act_req(23, 0, 7, false);</span><br><span> }</span><br><span> </span><br><span> /* PDCH activation via PCU socket on wrong TRX */</span><br><span> testcase TC_pcu_act_req_wrong_trx() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-       f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         f_TC_pcu_act_req(0, 23, 7, false);</span><br><span> }</span><br><span> </span><br><span> /* PDCH deactivation via PCU socket; check for absence of RTS.req */</span><br><span> testcase TC_pcu_deact_req() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-    f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         /* Activate PDCH */</span><br><span>  f_TC_pcu_act_req(0, 0, 7, true);</span><br><span>     f_sleep(1.0);</span><br><span>@@ -2759,7 +2769,8 @@</span><br><span> </span><br><span> /* Attempt to deactivate a PDCH on a non-PDCH timeslot */</span><br><span> testcase TC_pcu_deact_req_wrong_ts() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-        f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         f_TC_pcu_deact_req(0, 0, 1);</span><br><span> }</span><br><span> </span><br><span>@@ -2768,11 +2779,11 @@</span><br><span>      const octetstring si13 := '00010203040506070909'O;</span><br><span>   var PCUIF_send_data sd;</span><br><span>      timer T:= 3.0;</span><br><span style="color: hsl(0, 100%, 40%);">-  f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span> </span><br><span>       /* Set SI13 via RSL */</span><br><span>       f_rsl_bcch_fill_raw(RSL_SYSTEM_INFO_13, si13);</span><br><span style="color: hsl(0, 100%, 40%);">-  PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, "BTS_Test v23")));</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>   T.start;</span><br><span>     alt {</span><br><span>        [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_DATA_IND(0, 0, 0, ?, PCU_IF_SAPI_BCCH))) -> value sd {</span><br><span>@@ -2824,7 +2835,8 @@</span><br><span> </span><br><span> /* Send DATA.req on invalid BTS */</span><br><span> testcase TC_pcu_data_req_wrong_bts() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">- f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         f_TC_pcu_act_req(0, 0, 7, true);</span><br><span>     f_pcu_data_req(23, 0, 7, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA);</span><br><span>       /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */</span><br><span>@@ -2833,7 +2845,8 @@</span><br><span> </span><br><span> /* Send DATA.req on invalid TRX */</span><br><span> testcase TC_pcu_data_req_wrong_trx() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         f_TC_pcu_act_req(0, 0, 7, true);</span><br><span>     f_pcu_data_req(0, 100, 7, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA);</span><br><span>      /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */</span><br><span>@@ -2842,7 +2855,8 @@</span><br><span> </span><br><span> /* Send DATA.req on invalid timeslot */</span><br><span> testcase TC_pcu_data_req_wrong_ts() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-       f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         f_TC_pcu_act_req(0, 0, 7, true);</span><br><span>     f_pcu_data_req(0, 0, 70, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA);</span><br><span>       /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */</span><br><span>@@ -2851,14 +2865,16 @@</span><br><span> </span><br><span> /* Send DATA.req on timeslot that hasn't been activated */</span><br><span> testcase TC_pcu_data_req_ts_inactive() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-   f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         f_pcu_data_req(0, 0, 7, 0, 0, PCU_IF_SAPI_PDTCH, c_PCU_DATA);</span><br><span>        /* FIXME: how to check this wasn't actually sent and didn't crash BTS? */</span><br><span>    f_sleep(2.0);</span><br><span> }</span><br><span> </span><br><span> testcase TC_pcu_data_req_pdtch() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-    f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         f_TC_pcu_act_req(0, 0, 7, true);</span><br><span>     f_pcu_wait_rts_and_data_req(0, 0, 7, PCU_IF_SAPI_PDTCH, c_PCU_DATA);</span><br><span>         /* FIXME: how to check this was actually sent */</span><br><span>@@ -2866,7 +2882,8 @@</span><br><span> }</span><br><span> </span><br><span> testcase TC_pcu_data_req_ptcch() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">- f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>         f_TC_pcu_act_req(0, 0, 7, true);</span><br><span>     f_pcu_wait_rts_and_data_req(0, 0, 7, PCU_IF_SAPI_PTCCH, c_PCU_DATA);</span><br><span>         /* FIXME: how to check this was actually sent */</span><br><span>@@ -2876,7 +2893,7 @@</span><br><span> /* Send AGCH from PCU; check it appears on Um side */</span><br><span> testcase TC_pcu_data_req_agch() runs on test_CT {</span><br><span>       timer T := 3.0;</span><br><span style="color: hsl(0, 100%, 40%);">- f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span>   f_init_l1ctl();</span><br><span>      f_l1_tune(L1CTL);</span><br><span> </span><br><span>@@ -2898,7 +2915,7 @@</span><br><span> /* Send IMM.ASS from PCU for PCH; check it appears on Um side */</span><br><span> testcase TC_pcu_data_req_imm_ass_pch() runs on test_CT {</span><br><span>        var octetstring imm_ass := f_rnd_octstring(23);</span><br><span style="color: hsl(0, 100%, 40%);">- f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span>   f_init_l1ctl();</span><br><span>      f_l1_tune(L1CTL);</span><br><span> </span><br><span>@@ -2921,7 +2938,7 @@</span><br><span> </span><br><span> /* Send RACH from Um side, expect it to show up on PCU socket */</span><br><span> testcase TC_pcu_rach_content() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-       f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span>   f_init_l1ctl();</span><br><span>      f_l1_tune(L1CTL);</span><br><span> </span><br><span>@@ -2962,7 +2979,7 @@</span><br><span> </span><br><span> /* Send PAGING via RSL, expect it to shw up on PCU socket */</span><br><span> testcase TC_pcu_paging_from_rsl() runs on test_CT {</span><br><span style="color: hsl(0, 100%, 40%);">-        f_init();</span><br><span style="color: hsl(120, 100%, 40%);">+     f_init_pcu_test();</span><br><span> </span><br><span>       for (var integer i := 0; i < 100; i := i+1) {</span><br><span>             var MobileL3_CommonIE_Types.MobileIdentityLV mi;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13305">change 13305</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/13305"/><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-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I9ef9e46061ef116529bdea196050f914804615b3 </div>
<div style="display:none"> Gerrit-Change-Number: 13305 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: Max <msuraev@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Max <msuraev@sysmocom.de> </div>