From 21240e63f94fd3cb6da9c2e01b616bd5934957da Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 11 Mar 2018 21:43:35 +0100 Subject: bts: Add f_rsl_transceive() flag to ignore all unrelated messages f_rsl_transceive() is currently using a number of default altsteps, but those are not applicable in all cases. Let's make this configurable, and use that flag during channel release. Change-Id: I34d8e9350dbe2b032a7454d7f003262e27c802ad --- bts/BTS_Tests.ttcn | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'bts/BTS_Tests.ttcn') diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index b0a2bcac..dcdf32b3 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -392,7 +392,8 @@ runs on ConnHdlr { fn.apply(id); } -function f_rsl_transceive(template RSL_Message tx, template RSL_Message exp_rx, charstring id) +function f_rsl_transceive(template RSL_Message tx, template RSL_Message exp_rx, charstring id, + boolean ignore_other := false) runs on ConnHdlr { timer T := 3.0; RSL.send(tx); @@ -406,12 +407,13 @@ runs on ConnHdlr { setverdict(fail, "Timeout expecting " & id); self.stop; } - [] as_l1_sacch(); - [] as_meas_res(); - [] as_l1_dcch(); - [] RSL.receive { + [not ignore_other] as_l1_sacch(); + [not ignore_other] as_meas_res(); + [not ignore_other] as_l1_dcch(); + [not ignore_other] RSL.receive { setverdict(fail, "Unexpected RSL message received"); } + [ignore_other] RSL.receive { repeat; } } } @@ -422,7 +424,7 @@ function f_rsl_chan_act(RSL_IE_ChannelMode mode) runs on ConnHdlr { function f_rsl_chan_deact() runs on ConnHdlr { f_rsl_transceive(ts_RSL_RF_CHAN_REL(g_chan_nr), tr_RSL_RF_CHAN_REL_ACK(g_chan_nr), - "RF CHAN REL"); + "RF CHAN REL", true); } private template ConnHdlrPars t_Pars(template RslChannelNr chan_nr, -- cgit v1.2.3