pcu: Check stats for pcu channel allocation, bytes transferred
Change-Id: I90964b32fa11ed2582afc5fb56bd302b06606f86
Related: SYS#4877
diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index 142cdcd..0bd7093 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -51,10 +51,18 @@
import from SGSN_Components all;
import from GPRS_Components all;
+import from StatsD_Types all;
+import from StatsD_CodecPort all;
+import from StatsD_CodecPort_CtrlFunct all;
+import from StatsD_Checker all;
+
modulepar {
charstring mp_pcu_sock_path := PCU_SOCK_DEFAULT;
float X2002 := 0.2; /* Timer -2002, IMM ASSIGN confirm delay */
+
+ charstring mp_pcu_statsd_ip := "127.0.0.1";
+ integer mp_pcu_statsd_port := 8125;
}
@@ -102,10 +110,13 @@
uint8_t high
}
-type component RAW_PCU_Test_CT extends bssgp_CT, MS_BTS_IFACE_CT {
+type component RAW_PCU_Test_CT extends bssgp_CT, MS_BTS_IFACE_CT, StatsD_ConnHdlr {
/* PCU interface abstraction component */
var RAW_PCUIF_CT vc_PCUIF;
+ /* StatsD */
+ var StatsD_Checker_CT vc_STATSD;
+
/* Connection to the PCUIF component */
port RAW_PCU_MSG_PT PCUIF;
/* VTY connection to the PCU */
@@ -215,6 +226,11 @@
f_init_vty(id);
+ f_init_statsd(id, vc_STATSD, mp_pcu_statsd_ip, mp_pcu_statsd_port);
+ /* This is normally done in the ConnHdlr component, but here
+ * the Test_CT doubles as ConnHdlr */
+ connect(self:STATSD_PROC, vc_STATSD:STATSD_PROC);
+
vc_PCUIF.start(f_PCUIF_CT_handler(mp_pcu_sock_path));
vc_BTS.start(f_BTS_CT_handler(0, valueof(info_ind)));
@@ -1437,6 +1453,8 @@
/* Initialize the PCU interface abstraction */
f_init_raw(testcasename());
+ f_statsd_reset();
+
/* Establish BSSGP connection to the PCU */
f_bssgp_establish();
f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
@@ -1486,6 +1504,17 @@
/* Make sure that the next block (after the Ack) is dummy */
f_rx_rlcmac_dl_block_exp_dummy(dl_block);
+ var StatsDExpects expect := {
+ { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 0, max := 0},
+ { name := "TTCN3.bts.0.immediate.assignment_DL", mtype := "c", min := 1, max := 1},
+ { name := "TTCN3.bts.0.immediate.assignment_UL", mtype := "c", min := 0, max := 0},
+ { name := "TTCN3.bts.0.tbf.dl.alloc", mtype := "c", min := 1, max := 1},
+ { name := "TTCN3.bts.0.tbf.ul.alloc", mtype := "c", min := 0, max := 0},
+ { name := "TTCN3.bts.0.rlc.dl_payload_bytes", mtype := "c", min := 112, max := 112},
+ { name := "TTCN3.bts.0.rlc.ul_payload_bytes", mtype := "c", min := 0, max := 0}
+ };
+ f_statsd_expect(expect);
+
f_shutdown(__BFILE__, __LINE__, final := true);
}
@@ -1849,6 +1878,8 @@
/* Initialize the PCU interface abstraction */
f_init_raw(testcasename());
+ f_statsd_reset();
+
/* Establish BSSGP connection to the PCU */
f_bssgp_establish();
f_bssgp_client_llgmm_assign('FFFFFFFF'O, ms.tlli);
@@ -1878,6 +1909,16 @@
f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc),
f_dl_block_ack_fn(dl_block, dl_fn));
+ var StatsDExpects expect := {
+ { name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 1, max := 1},
+ { name := "TTCN3.bts.0.immediate.assignment_DL", mtype := "c", min := 1, max := 1},
+ { name := "TTCN3.bts.0.tbf.dl.alloc", mtype := "c", min := 1, max := 1},
+ { name := "TTCN3.bts.0.tbf.ul.alloc", mtype := "c", min := 1, max := 1},
+ { name := "TTCN3.bts.0.rlc.dl_payload_bytes", mtype := "c", min := 28, max := 28},
+ { name := "TTCN3.bts.0.rlc.ul_payload_bytes", mtype := "c", min := 16, max := 16}
+ };
+ f_statsd_expect(expect);
+
f_shutdown(__BFILE__, __LINE__, final := true);
}