summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-10-09 12:15:18 +0200
committerHarald Welte <laforge@osmocom.org>2020-10-09 12:27:11 +0200
commit23e274919d14a37a9c40163219ce230acd2a100f (patch)
tree42ffa98644f5783488153e5f2a4bddc5d373877c
parent12d19b81a73634848f36ada2111131035afda26c (diff)
PCU_Tests_NS: Fix our expectations regarding CellID presence/absence
This is required by the spec, and implemented libosmocore since Change-Id Ie87820537d6d616da4fd4bbf73eab06e28fda5e1 So let's change our test expectations. Meanwhile, introduce mp_tolerate_bvc_reset_cellid for working around the bug in 'latest'. Change-Id: Icebee25b53fef623db6ae91ca0d943e70a3c86b7
-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);