summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--library/RAW_NS.ttcn5
-rw-r--r--pcu/PCU_Tests_NS.ttcn11
2 files changed, 12 insertions, 4 deletions
diff --git a/library/RAW_NS.ttcn b/library/RAW_NS.ttcn
index dca352f2..23530462 100644
--- a/library/RAW_NS.ttcn
+++ b/library/RAW_NS.ttcn
@@ -162,11 +162,10 @@ runs on RAW_NS_CT {
}
/* Receive a BSSGP RESET for given BVCI and ACK it */
-altstep as_rx_bvc_reset_tx_ack(BssgpBvci bvci, BssgpCellId cell_id, boolean oneshot := false, integer idx := 0) runs on RAW_NS_CT {
+altstep as_rx_bvc_reset_tx_ack(BssgpBvci bvci, template (omit) BssgpCellId cell_id, boolean oneshot := false, integer idx := 0) runs on RAW_NS_CT {
var NS_RecvFrom ns_rf;
- /* FIXME: nail down received cell_id in match */
[] NSCP[idx].receive(t_NS_RecvFrom(tr_NS_UNITDATA(t_SduCtrlB, 0,
- decmatch tr_BVC_RESET(?, bvci, ?))))
+ decmatch tr_BVC_RESET(?, bvci, cell_id))))
-> value ns_rf {
var PDU_BSSGP bssgp_rx := dec_PDU_BSSGP(ns_rf.msg.pDU_NS_Unitdata.nS_SDU);
var PDU_BSSGP bssgp_tx := valueof(ts_BVC_RESET_ACK(bvci, cell_id));
diff --git a/pcu/PCU_Tests_NS.ttcn b/pcu/PCU_Tests_NS.ttcn
index 26b81a2e..6a62f292 100644
--- a/pcu/PCU_Tests_NS.ttcn
+++ b/pcu/PCU_Tests_NS.ttcn
@@ -28,6 +28,11 @@ import from PCUIF_Types all;
import from PCUIF_CodecPort all;
import from RAW_NS all;
+modulepar {
+ /* tolerate CellID absence/presence in BVC-RESET in violation to spec */
+ boolean mp_tolerate_bvc_reset_cellid := false;
+}
+
type component RAW_PCU_CT {
/* PCUIF (we emulate the BTS part) */
port PCUIF_CODEC_PT PCU;
@@ -188,7 +193,11 @@ testcase TC_ns_full_bringup() runs on RAW_Test_CT {
f_outgoing_ns_alive();
/* Expect BVC-RESET for signaling (0) and ptp BVCI */
- as_rx_bvc_reset_tx_ack(0, mp_gb_cfg.cell_id, oneshot := true);
+ if (mp_tolerate_bvc_reset_cellid) {
+ as_rx_bvc_reset_tx_ack(0, mp_gb_cfg.cell_id, oneshot := true);
+ } else {
+ as_rx_bvc_reset_tx_ack(0, omit, oneshot := true);
+ }
as_rx_bvc_reset_tx_ack(mp_gb_cfg.bvci, mp_gb_cfg.cell_id, oneshot := true);
as_rx_bvc_unblock_tx_ack(mp_gb_cfg.bvci, oneshot := true);