summaryrefslogtreecommitdiffstats
path: root/bts/BTS_Tests.ttcn
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-03-11 21:43:35 +0100
committerHarald Welte <laforge@gnumonks.org>2018-03-12 16:04:53 +0100
commit21240e63f94fd3cb6da9c2e01b616bd5934957da (patch)
treeedfe1de03f18ec77d9170e4b3f9f16215ae29e6f /bts/BTS_Tests.ttcn
parent629cc6b77a56a6fce341eda7f490fa9f6583a5f4 (diff)
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
Diffstat (limited to 'bts/BTS_Tests.ttcn')
-rw-r--r--bts/BTS_Tests.ttcn14
1 files changed, 8 insertions, 6 deletions
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index b0a2bca..dcdf32b 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,