From 6e3b68988a5413341e866613f00197dc78e05548 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Wed, 4 Dec 2019 19:24:16 +0100 Subject: [PATCH] pcu: Verify contents of data dl blocks originated from emulated SGSN Change-Id: I4fe79572094038cbb26d5195c0544846ca2550b5 --- pcu/PCU_Tests_RAW.ttcn | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn index 410dc31c9..cddf9f667 100644 --- a/pcu/PCU_Tests_RAW.ttcn +++ b/pcu/PCU_Tests_RAW.ttcn @@ -759,13 +759,34 @@ private function f_rx_rlcmac_dl_block_exp_data(out RlcmacDlBlock dl_block, octet runs on RAW_PCU_Test_CT { var template RlcmacDlBlock dl_template := tr_RLCMAC_DATA_RRBP; dl_template.data.blocks := ?; - /* TODO: match data correctly: { valueof(t_RLCMAC_LLCBLOCK(data)) }; */ f_rx_rlcmac_dl_block(dl_block); if (not match(dl_block, dl_template)) { setverdict(fail, "Failed to match Packet data: ", dl_block, " vs ", dl_template); mtc.stop; } + + if (lengthof(dl_block.data.blocks) < 1) { + setverdict(fail, "DL block has no LLC payload: ", dl_block); + mtc.stop; + } + + if (ispresent(dl_block.data.blocks[0].hdr) and dl_block.data.blocks[0].hdr.length_ind != lengthof(data)) { + setverdict(fail, "DL block has LLC header with wrong expected size: ", + dl_block.data.blocks[0].hdr.length_ind, " vs ", lengthof(data)); + mtc.stop; + } + + if (dl_block.data.blocks[0].payload != data) { + setverdict(fail, "Failed to match content of LLC payload in DL Block: ", dl_block, " vs ", data); + mtc.stop; + } + + /* Check next data blocks contain dummy frames */ + if (lengthof(dl_block.data.blocks) > 1 and substr(dl_block.data.blocks[1].payload, 0, 3) != '43C001'O) { + setverdict(fail, "Second data payload is not a dummy frame: ", dl_block.data.blocks[1].payload); + mtc.stop; + } } testcase TC_pcuif_suspend() runs on RAW_PCU_Test_CT {