BTS: use existing templates for ASP_RSL_Unitdata

Change-Id: I8d7b3f8b019964ece9a3187f8232d8d23b2a53a5
This commit is contained in:
Vadim Yanitskiy 2020-05-25 22:03:48 +07:00
parent ca5c520842
commit 493abe7ec6
2 changed files with 45 additions and 56 deletions

View File

@ -315,7 +315,7 @@ template (value) SystemInformation ts_SI4_default := {
function f_rsl_bcch_fill_raw(RSL_IE_SysinfoType rsl_si_type, octetstring si_enc)
runs on test_CT {
log("Setting ", rsl_si_type, ": ", si_enc);
RSL_CCHAN.send(ts_RSL_UD(ts_RSL_BCCH_INFO(rsl_si_type, si_enc)));
RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_BCCH_INFO(rsl_si_type, si_enc)));
}
function f_rsl_bcch_fill(RSL_IE_SysinfoType rsl_si_type, template (value) SystemInformation si_dec)
@ -493,17 +493,6 @@ runs on test_CT return ConnHdlr {
return vc_conn;
}
template ASP_RSL_Unitdata ts_RSL_UD(template RSL_Message rsl, IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := {
streamId := sid,
rsl := rsl
}
template ASP_RSL_Unitdata tr_RSL_UD(template RSL_Message rsl,
template IpaStreamId sid := IPAC_PROTO_RSL_TRX0) := {
streamId := sid,
rsl := rsl
}
private altstep as_Tguard() runs on ConnHdlr {
[] g_Tguard.timeout {
Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Tguard timeout");
@ -1293,10 +1282,10 @@ testcase TC_rach_content() runs on test_CT {
timer T := 5.0;
T.start;
alt {
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn, t_RslChanNr_RACH(0)))) {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(ra, fn, t_RslChanNr_RACH(0)))) {
T.stop;
}
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(?, ?, ?, ?))) {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?, ?, ?, ?))) {
Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected CHAN RQD");
}
[] RSL_CCHAN.receive { repeat; }
@ -1333,7 +1322,7 @@ testcase TC_rach_count() runs on test_CT {
timer T := 3.0;
T.start;
alt {
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(?,?))) {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(?,?))) {
rsl_chrqd := rsl_chrqd + 1;
f_timer_safe_restart(T);
repeat;
@ -1372,11 +1361,11 @@ testcase TC_rach_load_idle_thresh0() runs on test_CT {
timer T := 5.0;
T.start;
alt {
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, 0, 0))) {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, 0, 0))) {
setverdict(pass);
repeat;
}
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud {
setverdict(fail, "Unexpected RACH LOAD IND: ", rx_ud);
repeat;
}
@ -1400,7 +1389,7 @@ testcase TC_rach_load_idle_below_thresh() runs on test_CT {
timer T := 5.0;
T.start;
alt {
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud {
setverdict(fail, "Unexpected RACH LOAD IND: ", rx_ud);
repeat;
}
@ -1444,7 +1433,7 @@ testcase TC_rach_load_count() runs on test_CT {
timer T := 5.0;
T.start;
alt {
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, ?, ?)))
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(tr_rach_slots_per_interval, ?, ?)))
-> value rx_ud {
var RSL_IE_Body ie;
f_rsl_find_ie(rx_ud.rsl, RSL_IE_RACH_LOAD, ie);
@ -1454,7 +1443,7 @@ testcase TC_rach_load_count() runs on test_CT {
}
repeat;
}
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RACH_LOAD_IND(?, ?, ?))) -> value rx_ud {
setverdict(fail, "Unexpected RACH LOAD IND: ", rx_ud);
repeat;
}
@ -1487,10 +1476,10 @@ private function f_rach_toffs(int16_t toffs256, boolean expect_pass) runs on tes
timer T := 1.5;
T.start;
alt {
[expect_pass] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) {
[expect_pass] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) {
setverdict(pass);
}
[not expect_pass] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) {
[not expect_pass] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CHAN_RQD(ra, fn))) {
Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("RACH passed but was expected to be dropped: ", toffs256));
}
[] RSL_CCHAN.receive { repeat; }
@ -2947,7 +2936,7 @@ type record PagingTestState {
/* receive + ignore RSL RF RES IND */
altstep as_rsl_res_ind() runs on test_CT {
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_RF_RES_IND)) {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_RF_RES_IND)) {
repeat;
}
}
@ -2986,14 +2975,14 @@ private function f_TC_paging(PagingTestCfg cfg) runs on test_CT return PagingTes
while (st.num_paging_sent < pkt_total) {
alt {
/* check for presence of CCCH LOAD IND (paging load) */
[cfg.exp_overload] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) {
[cfg.exp_overload] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) {
st.num_overload := st.num_overload + 1;
repeat;
}
[not cfg.exp_overload] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) {
[not cfg.exp_overload] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(0))) {
Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected PCH Overload");
}
[cfg.exp_load_ind] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND)) {
[cfg.exp_load_ind] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) {
log("Rx LOAD_IND");
/* FIXME: analyze/verify interval + contents */
repeat;
@ -3015,7 +3004,7 @@ private function f_TC_paging(PagingTestCfg cfg) runs on test_CT return PagingTes
}
/* Send RSL PAGING COMMAND */
RSL_CCHAN.send(ts_RSL_UD(ts_RSL_PAGING_CMD(mi, st.num_paging_sent mod 4)));
RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_PAGING_CMD(mi, st.num_paging_sent mod 4)));
st.num_paging_sent := st.num_paging_sent + 1;
}
@ -3045,8 +3034,8 @@ private function f_TC_paging(PagingTestCfg cfg) runs on test_CT return PagingTes
[] as_l1_count_paging(st.num_paging_rcv_msgs, st.num_paging_rcv_ids, cfg);
[] L1CTL.receive { repeat; }
/* 65535 == empty paging queue, we can terminate*/
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND(65535))) { }
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { repeat; }
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND(65535))) { }
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_PAGING_LOAD_IND)) { repeat; }
[] T_wait.timeout {
Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Waiting for empty paging queue");
}
@ -3199,14 +3188,14 @@ private function f_TC_imm_ass(integer num_total, float sleep_s, float exp_pass)
var ChannelDescription ch_desc := valueof(ts_ChanDesc(valueof(t_RslChanNr_SDCCH4(0, 0))));
var GsmRrMessage ia := valueof(ts_IMM_ASS(42, i, 5, ch_desc, c_MA_null));
var octetstring ia_enc := enc_GsmRrMessage(ia);
RSL_CCHAN.send(ts_RSL_UD(ts_RSL_IMM_ASSIGN(ia_enc, 0)));
RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_IMM_ASSIGN(ia_enc, 0)));
num_tx := num_tx+1;
f_sleep(sleep_s);
}
/* FIXME: check if imm.ass arrive on Um side */
T.start;
alt {
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_DELETE_IND(?, 0))) {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_DELETE_IND(?, 0))) {
num_del := num_del+1;
repeat;
}
@ -3720,10 +3709,10 @@ private function f_exp_err_rep(template RSL_Cause cause) runs on test_CT {
timer T := 5.0;
T.start;
alt {
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_ERROR_REPORT(cause))) {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_ERROR_REPORT(cause))) {
setverdict(pass);
}
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_ERROR_REPORT(?))) {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_ERROR_REPORT(?))) {
Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Wrong cause in RSL ERR REP");
}
[] RSL_CCHAN.receive {
@ -3740,7 +3729,7 @@ testcase TC_rsl_protocol_error() runs on test_CT {
f_init();
var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O));
rsl.ies := omit;
RSL_CCHAN.send(ts_RSL_UD(rsl));
RSL_CCHAN.send(ts_ASP_RSL_UD(rsl));
f_exp_err_rep(RSL_ERR_PROTO);
}
@ -3751,7 +3740,7 @@ testcase TC_rsl_mand_ie_error() runs on test_CT {
var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O));
rsl.ies := { rsl.ies[0] };
RSL_CCHAN.send(ts_RSL_UD(rsl));
RSL_CCHAN.send(ts_ASP_RSL_UD(rsl));
f_exp_err_rep(RSL_ERR_MAND_IE_ERROR);
}
@ -3761,7 +3750,7 @@ testcase TC_rsl_ie_content_error() runs on test_CT {
f_init();
var RSL_Message rsl := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O));
rsl.ies[1].body.sysinfo_type := RSL_SYSTEM_INFO_5;
RSL_CCHAN.send(ts_RSL_UD(rsl));
RSL_CCHAN.send(ts_ASP_RSL_UD(rsl));
f_exp_err_rep(RSL_ERR_IE_CONTENT);
}
@ -3815,14 +3804,14 @@ testcase TC_err_rep_wrong_msg_type() runs on test_CT {
RSL_CCHAN.clear;
rsl_tx := valueof(ts_RSL_BCCH_INFO(RSL_SYSTEM_INFO_1, ''O));
rsl_tx.msg_type := RSL_MT_LOCATION_INFO;
RSL_CCHAN.send(ts_RSL_UD(rsl_tx));
RSL_CCHAN.send(ts_ASP_RSL_UD(rsl_tx));
f_exp_err_rep(RSL_ERR_MSG_TYPE);
/* TRX Management */
RSL_CCHAN.clear;
rsl_tx := ts_RSL_SACCH_FILL(RSL_SYSTEM_INFO_5, ''O);
rsl_tx.msg_type := RSL_MT_UNIT_DATA_IND;
RSL_CCHAN.send(ts_RSL_UD(rsl_tx));
RSL_CCHAN.send(ts_ASP_RSL_UD(rsl_tx));
f_exp_err_rep(RSL_ERR_MSG_TYPE);
/* Dedicated Channel */
@ -4613,7 +4602,7 @@ testcase TC_pcu_paging_from_rsl() runs on test_CT {
mi_lv_enc := f_pad_oct(mi_lv_enc, 9, '00'O);
/* Send RSL PAGING COMMAND */
RSL_CCHAN.send(ts_RSL_UD(ts_RSL_PAGING_CMD(mi, i mod 4)));
RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_PAGING_CMD(mi, i mod 4)));
T.start;
alt {
[] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_PAG_REQ(0, mi_lv_enc))) {

View File

@ -159,7 +159,7 @@ private function f_rsl_smscb_default_null() runs on test_CT
{
var RSL_IE_CbCommandType cmd_type :=
valueof(ts_RSL_IE_CbCmdType(RSL_CB_CMD_DEFAULT, 1, true));
RSL_CCHAN.send(ts_RSL_UD(ts_RSL_SMSCB_CMD(cmd_type, ''O)));
RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_SMSCB_CMD(cmd_type, ''O)));
}
template RSL_IE t_RSL_IE_SMSCB_EXT := t_RSL_IE(RSL_IE_SMSCB_CHAN_INDICATOR, {smscb_chan_ind := 1});
@ -181,7 +181,7 @@ runs on test_CT {
if (extd) {
rsl.ies := rsl.ies & { valueof(t_RSL_IE_SMSCB_EXT) };
}
RSL_CCHAN.send(ts_RSL_UD(rsl));
RSL_CCHAN.send(ts_ASP_RSL_UD(rsl));
}
if (ispresent(pars_chan.default_msg)) {
msg := pars_chan.default_msg;
@ -191,7 +191,7 @@ runs on test_CT {
if (extd) {
rsl.ies := rsl.ies & { valueof(t_RSL_IE_SMSCB_EXT) };
}
RSL_CCHAN.send(ts_RSL_UD(rsl));
RSL_CCHAN.send(ts_ASP_RSL_UD(rsl));
}
}
@ -720,10 +720,10 @@ testcase TC_cbch_load_idle_no_cbch() runs on test_CT {
T.start;
alt {
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud {
setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud);
}
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud {
setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud);
}
[] RSL_CCHAN.receive { repeat; }
@ -748,18 +748,18 @@ function f_TC_cbc_load_idle() runs on test_CT {
RSL_CCHAN.clear;
T.start;
alt {
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(false, tr_slot_count))) {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(false, tr_slot_count))) {
basic_count := basic_count + 1;
repeat;
}
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count))) -> value rx_ud {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count))) -> value rx_ud {
extd_count := extd_count + 1;
repeat;
}
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud {
setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud);
}
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud {
setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud);
}
[] RSL_CCHAN.receive { repeat; }
@ -824,18 +824,18 @@ function f_TC_cbc_load_overload(CbchTestPars pars) runs on test_CT {
T_total.start;
T_retransmit.start;
alt {
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(true, tr_slot_count_basic))) {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC(true, tr_slot_count_basic))) {
basic_count := basic_count + 1;
repeat;
}
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count_extd))) {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD(false, tr_slot_count_extd))) {
extd_count := extd_count + 1;
repeat;
}
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_BASIC)) -> value rx_ud {
setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud);
}
[] RSL_CCHAN.receive(tr_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud {
[] RSL_CCHAN.receive(tr_ASP_RSL_UD(tr_RSL_CBCH_LOAD_IND_EXTD)) -> value rx_ud {
setverdict(fail, "Received unexpected CBCH LOAD IND: ", rx_ud);
}
[] RSL_CCHAN.receive { repeat; }
@ -906,7 +906,7 @@ testcase TC_etws_p1ro() runs on test_CT {
f_init_l1ctl();
f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH);
RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws)));
RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws)));
/* wait for a bit until old non-ETWS Paging messages are gone */
f_sleep(1.0);
L1CTL.clear;
@ -999,11 +999,11 @@ testcase TC_etws_p1ro_end() runs on test_CT {
f_init_l1ctl();
f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH);
RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws)));
RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws)));
/* wait for a bit until old non-ETWS Paging messages are gone */
f_sleep(3.0);
/* disable the ETWS PN again */
RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(''O)));
RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(''O)));
f_sleep(2.0);
T.start;
L1CTL.clear;
@ -1033,7 +1033,7 @@ testcase TC_etws_pcu() runs on test_CT {
f_init_l1ctl();
f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH);
RSL_CCHAN.send(ts_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws)));
RSL_CCHAN.send(ts_ASP_RSL_UD(ts_RSL_OSMO_ETWS_CMD(c_etws)));
T.start;
alt {