pcu: Introduce test TC_ul_multislot_tbf_ms_class_from_2phase
Similar to the DL TBF counterpart from last commit, this time verifying
UL multislot TBF is allocated.
Change-Id: I26a3cc0f2bd7bab176aa52df3e40aca7300de216
diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index bb17190..3421c73 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -1790,6 +1790,49 @@
f_shutdown(__BFILE__, __LINE__, final := true);
}
+testcase TC_ul_multislot_tbf_ms_class_from_2phase() runs on RAW_PCU_Test_CT {
+ var PCUIF_info_ind info_ind := valueof(ts_PCUIF_INFO_default);
+ var RlcmacDlBlock dl_block;
+ var octetstring data := f_rnd_octstring(10);
+ var PollFnCtx pollctx;
+ var uint32_t sched_fn;
+ var GprsMS ms;
+
+ var MultislotCap_GPRS mscap_gprs := {
+ gprsmultislotclass := '10010'B, /* MS class 18, supports 8 DL and 8 UL */
+ gprsextendeddynalloccap := '0'B
+ };
+ var MSRadioAccessCapabilityV ms_racap := { valueof(ts_RaCapRec('0001'B /* E-GSM */, mscap_gprs, omit)) };
+
+
+ /* Initialize NS/BSSGP side */
+ f_init_bssgp();
+ /* Initialize GPRS MS side */
+ f_init_gprs_ms();
+ ms := g_ms[0]; /* We only use first MS in this test */
+
+ /* Only 1 TRX with 8 PDCH */
+ f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '11111111'B, 0);
+ f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7));
+
+ /* Initialize the PCU interface abstraction */
+ f_init_raw(testcasename(), info_ind);
+
+ /* Establish BSSGP connection to the PCU */
+ f_bssgp_establish();
+ f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli);
+
+ /* Send PACKET RESOURCE REQUEST to notify the MultiSlot Class */
+ pollctx := f_ms_establish_ul_tbf_2phase_access(ms, ts_RlcMacUlCtrl_PKT_RES_REQ(ms.tlli, ms_racap));
+
+ if (f_ultbf_num_slots(ms.ul_tbf) != 8) {
+ setverdict(fail, "Expected 8 PDCH slot allocated but got ", f_ultbf_num_slots(ms.ul_tbf));
+ f_shutdown(__BFILE__, __LINE__);
+ }
+
+ f_shutdown(__BFILE__, __LINE__, final := true);
+}
+
/* Test scenario where MS wants to request a new TBF once the current one is
* ending, by means of sending a Packet Resource Request on ul slot provided by
* last Pkt Ul ACK's RRBP.
@@ -2878,6 +2921,7 @@
execute( TC_multitrx_multims_alloc() );
execute( TC_dl_multislot_tbf_ms_class_from_sgsn() );
execute( TC_dl_multislot_tbf_ms_class_from_2phase() );
+ execute( TC_ul_multislot_tbf_ms_class_from_2phase() );
}
execute( TC_pcuif_info_ind_subsequent() );