<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/26130">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">pcu: Improve counter validation<br><br>Validate some new counters recently added in osmo-pcu. Use new naming<br>for assignment_{UL,DL}, which were renamed to be lower-case.<br>Tests on older version will still work by checking the older name.<br><br>Related: SYS#4878<br>Change-Id: I98e340053c91abdbf28c6e9641190bc78df35eff<br>---<br>M pcu/PCU_Tests.ttcn<br>1 file changed, 192 insertions(+), 8 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/30/26130/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn</span><br><span>index 2daf89b..dbe5f80 100644</span><br><span>--- a/pcu/PCU_Tests.ttcn</span><br><span>+++ b/pcu/PCU_Tests.ttcn</span><br><span>@@ -2383,6 +2383,22 @@</span><br><span>  var template (present) CodingScheme exp_dl_cs_mcs := cs_gprs_any;</span><br><span> </span><br><span>        f_TC_mo_ping_pong_2phase_access(c_PCUIF_Flags_noMCS, ms_racap_gprs_def, exp_ul_cs_mcs, exp_dl_cs_mcs);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           var StatsDExpects expect := {</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                  { name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.pkt.ul_assignment", mtype := "c", min := 1, max := 1 }</span><br><span style="color: hsl(120, 100%, 40%);">+             };</span><br><span style="color: hsl(120, 100%, 40%);">+            f_statsd_expect(expect);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span> }</span><br><span> </span><br><span> testcase TC_mo_ping_pong_with_ul_racap_egprs_only() runs on RAW_PCU_Test_CT {</span><br><span>@@ -2390,6 +2406,21 @@</span><br><span>         var template (present) CodingScheme exp_dl_cs_mcs := mcs_egprs_any;</span><br><span> </span><br><span>      f_TC_mo_ping_pong_2phase_access(c_PCUIF_Flags_default, ms_racap_egprs_def, exp_ul_cs_mcs, exp_dl_cs_mcs);</span><br><span style="color: hsl(120, 100%, 40%);">+     if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           var StatsDExpects expect := {</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                  { name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.pkt.ul_assignment", mtype := "c", min := 1, max := 1 }</span><br><span style="color: hsl(120, 100%, 40%);">+             };</span><br><span style="color: hsl(120, 100%, 40%);">+            f_statsd_expect(expect);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span> }</span><br><span> </span><br><span> testcase TC_force_two_phase_access() runs on RAW_PCU_Test_CT {</span><br><span>@@ -2400,6 +2431,22 @@</span><br><span>        var template (present) CodingScheme exp_dl_cs_mcs := cs_gprs_any;</span><br><span> </span><br><span>        f_TC_mo_ping_pong_2phase_access(c_PCUIF_Flags_noMCS, ms_racap_gprs_def, exp_ul_cs_mcs, exp_dl_cs_mcs);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           var StatsDExpects expect := {</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                  { name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.pkt.ul_assignment", mtype := "c", min := 1, max := 1 }</span><br><span style="color: hsl(120, 100%, 40%);">+             };</span><br><span style="color: hsl(120, 100%, 40%);">+            f_statsd_expect(expect);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span> }</span><br><span> </span><br><span> /* Test scenario where SGSN wants to send some data against MS and it is</span><br><span>@@ -2674,13 +2721,22 @@</span><br><span> </span><br><span>         var StatsDExpects expect := {</span><br><span>                { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 0, max := 0},</span><br><span style="color: hsl(0, 100%, 40%);">-           { name := "TTCN3.bts.0.immediate.assignment_DL", mtype := "c", min := 1, max := 1},</span><br><span style="color: hsl(0, 100%, 40%);">-         { name := "TTCN3.bts.0.immediate.assignment_UL", mtype := "c", min := 0, max := 0},</span><br><span>              { name := "TTCN3.bts.0.tbf.dl.alloc", mtype := "c", min := 1, max := 1},</span><br><span>                 { name := "TTCN3.bts.0.tbf.ul.alloc", mtype := "c", min := 0, max := 0},</span><br><span>                 { name := "TTCN3.bts.0.rlc.dl_payload_bytes", mtype := "c", min := 64, max := 64},</span><br><span>               { name := "TTCN3.bts.0.rlc.ul_payload_bytes", mtype := "c", min := 0, max := 0}</span><br><span>  };</span><br><span style="color: hsl(120, 100%, 40%);">+    if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           expect := expect & {</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 1, max := 1},</span><br><span style="color: hsl(120, 100%, 40%);">+                       { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 0, max := 0}</span><br><span style="color: hsl(120, 100%, 40%);">+                };</span><br><span style="color: hsl(120, 100%, 40%);">+    } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              expect := expect & {</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_DL", mtype := "c", min := 1, max := 1},</span><br><span style="color: hsl(120, 100%, 40%);">+                       { name := "TTCN3.bts.0.immediate.assignment_UL", mtype := "c", min := 0, max := 0}</span><br><span style="color: hsl(120, 100%, 40%);">+                };</span><br><span style="color: hsl(120, 100%, 40%);">+    }</span><br><span>    f_statsd_expect(expect);</span><br><span> </span><br><span>         f_shutdown(__BFILE__, __LINE__, final := true);</span><br><span>@@ -3054,6 +3110,7 @@</span><br><span> </span><br><span>  /* Initialize the PCU interface abstraction */</span><br><span>       f_init_raw(testcasename());</span><br><span style="color: hsl(120, 100%, 40%);">+   f_statsd_reset();</span><br><span> </span><br><span>        /* Establish BSSGP connection to the PCU */</span><br><span>  f_bssgp_establish();</span><br><span>@@ -3094,6 +3151,22 @@</span><br><span>        /* ACK the ACK */</span><br><span>    f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+      if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           var StatsDExpects expect := {</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                  { name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.pkt.ul_assignment", mtype := "c", min := 1, max := 1 }</span><br><span style="color: hsl(120, 100%, 40%);">+             };</span><br><span style="color: hsl(120, 100%, 40%);">+            f_statsd_expect(expect);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  f_shutdown(__BFILE__, __LINE__, final := true);</span><br><span> }</span><br><span> </span><br><span>@@ -3487,12 +3560,22 @@</span><br><span> </span><br><span>       var StatsDExpects expect := {</span><br><span>                { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 1, max := 1},</span><br><span style="color: hsl(0, 100%, 40%);">-           { name := "TTCN3.bts.0.immediate.assignment_DL", mtype := "c", min := 1, max := 1},</span><br><span>              { name := "TTCN3.bts.0.tbf.dl.alloc", mtype := "c", min := 1, max := 1},</span><br><span>                 { name := "TTCN3.bts.0.tbf.ul.alloc", mtype := "c", min := 1, max := 1},</span><br><span>                 { name := "TTCN3.bts.0.rlc.dl_payload_bytes", mtype := "c", min := 10, max := 10},</span><br><span>               { name := "TTCN3.bts.0.rlc.ul_payload_bytes", mtype := "c", min := 26, max := 26}</span><br><span>        };</span><br><span style="color: hsl(120, 100%, 40%);">+    if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           expect := expect & {</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 1, max := 1},</span><br><span style="color: hsl(120, 100%, 40%);">+                       { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 1, max := 1}</span><br><span style="color: hsl(120, 100%, 40%);">+                };</span><br><span style="color: hsl(120, 100%, 40%);">+    } else {</span><br><span style="color: hsl(120, 100%, 40%);">+              expect := expect & {</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_DL", mtype := "c", min := 1, max := 1},</span><br><span style="color: hsl(120, 100%, 40%);">+                       { name := "TTCN3.bts.0.immediate.assignment_UL", mtype := "c", min := 1, max := 1}</span><br><span style="color: hsl(120, 100%, 40%);">+                };</span><br><span style="color: hsl(120, 100%, 40%);">+    }</span><br><span>    f_statsd_expect(expect);</span><br><span> </span><br><span>         f_shutdown(__BFILE__, __LINE__, final := true);</span><br><span>@@ -3628,16 +3711,18 @@</span><br><span>    var template GsmRrMessage imm_ass;</span><br><span>   var template IaRestOctets rest;</span><br><span>      var template EgprsUlAss ul_ass;</span><br><span style="color: hsl(120, 100%, 40%);">+       const integer num_req := 6;</span><br><span> </span><br><span>      /* Initialize the PCU interface abstraction */</span><br><span>       f_init_raw(testcasename());</span><br><span style="color: hsl(120, 100%, 40%);">+   f_statsd_reset();</span><br><span> </span><br><span>        var EGPRSPktChRequest req := {</span><br><span>               /* NOTE: other fields are set in the loop */</span><br><span>                 signalling := { tag := '110011'B }</span><br><span>   };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  for (var integer i := 0; i < 6; i := i + 1) {</span><br><span style="color: hsl(120, 100%, 40%);">+      for (var integer i := 0; i < num_req; i := i + 1) {</span><br><span>               var BIT5 ext_ra := int2bit(f_rnd_int(32), 5);</span><br><span>                req.signalling.random_bits := ext_ra;</span><br><span> </span><br><span>@@ -3649,6 +3734,21 @@</span><br><span>           f_TC_egprs_pkt_chan_req(req, imm_ass);</span><br><span>       }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           var StatsDExpects expect := {</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                  { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                  { name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }</span><br><span style="color: hsl(120, 100%, 40%);">+               };</span><br><span style="color: hsl(120, 100%, 40%);">+            f_statsd_expect(expect);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  f_shutdown(__BFILE__, __LINE__, final := true);</span><br><span> }</span><br><span> </span><br><span>@@ -3656,16 +3756,18 @@</span><br><span>   var template GsmRrMessage imm_ass;</span><br><span>   var template IaRestOctets rest;</span><br><span>      var template EgprsUlAss ul_ass;</span><br><span style="color: hsl(120, 100%, 40%);">+       const integer num_req := 6;</span><br><span> </span><br><span>      /* Initialize the PCU interface abstraction */</span><br><span>       f_init_raw(testcasename());</span><br><span style="color: hsl(120, 100%, 40%);">+   f_statsd_reset();</span><br><span> </span><br><span>        var EGPRSPktChRequest req := {</span><br><span>               /* NOTE: other fields are set in the loop */</span><br><span>                 one_phase := { tag := '0'B }</span><br><span>         };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  for (var integer i := 0; i < 6; i := i + 1) {</span><br><span style="color: hsl(120, 100%, 40%);">+      for (var integer i := 0; i < num_req; i := i + 1) {</span><br><span>               var BIT5 ext_ra := int2bit(f_rnd_int(32), 5);</span><br><span>                var BIT5 mslot_class := int2bit(f_rnd_int(32), 5);</span><br><span>           var BIT2 priority := substr(ext_ra, 0, 2);</span><br><span>@@ -3683,6 +3785,21 @@</span><br><span>          f_TC_egprs_pkt_chan_req(req, imm_ass);</span><br><span>       }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           var StatsDExpects expect := {</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                  { name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                  { name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }</span><br><span style="color: hsl(120, 100%, 40%);">+               };</span><br><span style="color: hsl(120, 100%, 40%);">+            f_statsd_expect(expect);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  f_shutdown(__BFILE__, __LINE__, final := true);</span><br><span> }</span><br><span> </span><br><span>@@ -3690,16 +3807,18 @@</span><br><span>   var template GsmRrMessage imm_ass;</span><br><span>   var template IaRestOctets rest;</span><br><span>      var template EgprsUlAss ul_ass;</span><br><span style="color: hsl(120, 100%, 40%);">+       const integer num_req := 6;</span><br><span> </span><br><span>      /* Initialize the PCU interface abstraction */</span><br><span>       f_init_raw(testcasename());</span><br><span style="color: hsl(120, 100%, 40%);">+   f_statsd_reset();</span><br><span> </span><br><span>        var EGPRSPktChRequest req := {</span><br><span>               /* NOTE: other fields are set in the loop */</span><br><span>                 two_phase := { tag := '110000'B }</span><br><span>    };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  for (var integer i := 0; i < 6; i := i + 1) {</span><br><span style="color: hsl(120, 100%, 40%);">+      for (var integer i := 0; i < num_req; i := i + 1) {</span><br><span>               var BIT5 ext_ra := int2bit(f_rnd_int(32), 5);</span><br><span>                var BIT2 priority := substr(ext_ra, 0, 2);</span><br><span>           var BIT3 rand := substr(ext_ra, 2, 3);</span><br><span>@@ -3715,6 +3834,21 @@</span><br><span>              f_TC_egprs_pkt_chan_req(req, imm_ass);</span><br><span>       }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           var StatsDExpects expect := {</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                  { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                  { name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }</span><br><span style="color: hsl(120, 100%, 40%);">+               };</span><br><span style="color: hsl(120, 100%, 40%);">+            f_statsd_expect(expect);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  f_shutdown(__BFILE__, __LINE__, final := true);</span><br><span> }</span><br><span> </span><br><span>@@ -3767,11 +3901,13 @@</span><br><span> testcase TC_egprs_pkt_chan_req_reject_content() runs on RAW_PCU_Test_CT {</span><br><span>      var template IARRestOctets rest;</span><br><span>     var BIT5 ext_ra;</span><br><span style="color: hsl(120, 100%, 40%);">+      const integer num_req := 6;</span><br><span> </span><br><span>      /* Initialize the PCU interface abstraction */</span><br><span>       f_init_raw(testcasename());</span><br><span style="color: hsl(120, 100%, 40%);">+   f_statsd_reset();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   for (var integer i := 0; i < 6; i := i + 1) {</span><br><span style="color: hsl(120, 100%, 40%);">+      for (var integer i := 0; i < num_req; i := i + 1) {</span><br><span>               ext_ra := int2bit(f_rnd_int(32), 5); /* 5 LSB's of RA11 */</span><br><span>               rest := tr_IARRestOctets({ *, tr_ExtRAOpt(ext_ra), * });</span><br><span> </span><br><span>@@ -3779,6 +3915,20 @@</span><br><span>                f_TC_egprs_pkt_chan_req_reject('111111'B & ext_ra, 1337 + i, rest);</span><br><span>      }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           var StatsDExpects expect := {</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.unexpected", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_rej", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }</span><br><span style="color: hsl(120, 100%, 40%);">+               };</span><br><span style="color: hsl(120, 100%, 40%);">+            f_statsd_expect(expect);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  f_shutdown(__BFILE__, __LINE__, final := true);</span><br><span> }</span><br><span> </span><br><span>@@ -3788,16 +3938,18 @@</span><br><span>   var template IARRestOctets rest;</span><br><span>     var BIT5 ext_ra;</span><br><span>     var BIT11 ra11;</span><br><span style="color: hsl(120, 100%, 40%);">+       const integer num_req := 6;</span><br><span> </span><br><span>      /* Initialize the PCU interface abstraction */</span><br><span>       f_init_raw(testcasename());</span><br><span style="color: hsl(120, 100%, 40%);">+   f_statsd_reset();</span><br><span> </span><br><span>        var EGPRSPktChRequest req := {</span><br><span>               /* NOTE: other fields are set in the loop */</span><br><span>                 emergency := { tag := '110111'B }</span><br><span>    };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  for (var integer i := 0; i < 6; i := i + 1) {</span><br><span style="color: hsl(120, 100%, 40%);">+      for (var integer i := 0; i < num_req; i := i + 1) {</span><br><span>               ext_ra := int2bit(f_rnd_int(32), 5); /* 5 LSB's of RA11 */</span><br><span>               rest := tr_IARRestOctets({ *, tr_ExtRAOpt(ext_ra), * });</span><br><span> </span><br><span>@@ -3808,6 +3960,20 @@</span><br><span>                f_TC_egprs_pkt_chan_req_reject(ra11, 1337 + i, rest);</span><br><span>        }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           var StatsDExpects expect := {</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.unexpected", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_rej", mtype := "c", min := num_req, max := num_req },</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }</span><br><span style="color: hsl(120, 100%, 40%);">+               };</span><br><span style="color: hsl(120, 100%, 40%);">+            f_statsd_expect(expect);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  f_shutdown(__BFILE__, __LINE__, final := true);</span><br><span> }</span><br><span> </span><br><span>@@ -3826,6 +3992,7 @@</span><br><span> </span><br><span>         /* Initialize the PCU interface abstraction */</span><br><span>       f_init_raw(testcasename(), info_ind);</span><br><span style="color: hsl(120, 100%, 40%);">+ f_statsd_reset();</span><br><span> </span><br><span>        var EGPRSPktChRequest req := {</span><br><span>               one_phase := {</span><br><span>@@ -3849,6 +4016,23 @@</span><br><span>      /* At this point, the IUT should run out of free USFs */</span><br><span>     f_TC_egprs_pkt_chan_req_reject(ra11, 1870, rest, wi := info_ind.t3142);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+   if (mp_osmo_pcu_newer_than_0_9_0) {</span><br><span style="color: hsl(120, 100%, 40%);">+           var StatsDExpects expect := {</span><br><span style="color: hsl(120, 100%, 40%);">+                 { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 8, max := 8 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := 8, max := 8 },</span><br><span style="color: hsl(120, 100%, 40%);">+                  { name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 8, max := 8 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.rach.requests.unexpected", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                     { name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 7, max := 7 },</span><br><span style="color: hsl(120, 100%, 40%);">+                      { name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 7, max := 7 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                    { name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 0, max := 0 },</span><br><span style="color: hsl(120, 100%, 40%);">+                        { name := "TTCN3.bts.0.immediate.assignment_rej", mtype := "c", min := 1, max := 1 },</span><br><span style="color: hsl(120, 100%, 40%);">+                     { name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }</span><br><span style="color: hsl(120, 100%, 40%);">+               };</span><br><span style="color: hsl(120, 100%, 40%);">+            f_statsd_expect(expect);</span><br><span style="color: hsl(120, 100%, 40%);">+      }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  f_shutdown(__BFILE__, __LINE__, final := true);</span><br><span> }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/26130">change 26130</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/+/26130"/><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: I98e340053c91abdbf28c6e9641190bc78df35eff </div>
<div style="display:none"> Gerrit-Change-Number: 26130 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>