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
This commit is contained in:
Harald Welte 2020-10-09 12:15:18 +02:00
parent 12d19b81a7
commit 23e274919d
2 changed files with 12 additions and 4 deletions

View File

@ -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));

View File

@ -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);