aboutsummaryrefslogtreecommitdiffstats
path: root/bsc
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2019-02-03 12:49:57 +0100
committerHarald Welte <laforge@gnumonks.org>2019-02-05 15:05:26 +0000
commitcc32ed90965538064ebd5e0910f1705c728e9dff (patch)
treeef9c5360c5c73e0721d1d90add0f07768b70191f /bsc
parent5ac49ccf61b100c1ee519ba5887ade7179269618 (diff)
BSC_Tests: Don't make invalid assumptions about RR RELEASE
The RR RELEASE message does not always have to be '060D00'O, which constrains it to: * not having any optional IEs * not having a cause value != 00 Let's relax the matching to accept any RR RELEASE message, whatever the cause may be, and whether or not there are any optional IEs at the end. At the same time, also remove some copy+pasting but rather have one template that gets used everywhere. Change-Id: I4b9d078c9b66f040fe673b5d957cf8e2c6d5892c
Diffstat (limited to 'bsc')
-rw-r--r--bsc/BSC_Tests.ttcn7
-rw-r--r--bsc/BSC_Tests_LCLS.ttcn3
2 files changed, 4 insertions, 6 deletions
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index af32b8c8..5ac81918 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -62,6 +62,7 @@ const float T3101_MAX := 12.0;
const integer NUM_TCHH_PER_BTS := 2;
const integer NUM_TCHF_PER_BTS := 4;
const integer NUM_SDCCH_PER_BTS := 4;
+template octetstring t_l3_rr_chan_rel := '060D??*'O;
/* per-BTS state which we keep */
@@ -860,7 +861,6 @@ function f_expect_chan_rel(integer bts_nr, RslChannelNr rsl_chan_nr,
) runs on test_CT {
var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0));
- var octetstring l3_rr_chan_rel := '060D00'O;
var boolean got_deact_sacch := false;
var boolean got_rr_chan_rel := false;
var boolean got_rll_rel_req := false;
@@ -872,7 +872,7 @@ function f_expect_chan_rel(integer bts_nr, RslChannelNr rsl_chan_nr,
got_deact_sacch := true;
repeat;
}
- [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(rsl_chan_nr, ?, l3_rr_chan_rel))) {
+ [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(IPAC_PROTO_RSL_TRX0, tr_RSL_DATA_REQ(rsl_chan_nr, ?, t_l3_rr_chan_rel))) {
got_rr_chan_rel := true;
repeat;
}
@@ -2812,12 +2812,11 @@ private function f_tc_ho_out_fail_no_ho_detect(charstring id) runs on MSC_ConnHd
* RR should be released and Clear Request should go to the MSC. */
var MgcpCommand mgcp;
- var octetstring l3_rr_chan_rel := '060D00'O;
interleave {
[] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) {
log("Got Deact SACCH");
}
- [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, l3_rr_chan_rel)) {
+ [] RSL.receive(tr_RSL_DATA_REQ(g_chan_nr, ?, t_l3_rr_chan_rel)) {
log("Got RR Release");
}
[] RSL.receive(tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL)) {
diff --git a/bsc/BSC_Tests_LCLS.ttcn b/bsc/BSC_Tests_LCLS.ttcn
index c4012064..0fada93d 100644
--- a/bsc/BSC_Tests_LCLS.ttcn
+++ b/bsc/BSC_Tests_LCLS.ttcn
@@ -700,10 +700,9 @@ testcase TC_lcls_connect_clear() runs on lcls_test_CT {
/* Perform hard BSSMAP Clear on "A" side, expect no LS on "B" side */
var myBSSMAP_Cause cause_val := GSM0808_CAUSE_CALL_CONTROL;
- var octetstring l3_rr_chan_rel := '060D00'O;
CONN_A.send(ts_BSSMAP_ClearCommand(enum2int(cause_val)));
interleave {
- [] CONN_A.receive(tr_RSL_DATA_REQ(?, tr_RslLinkID_DCCH(0), l3_rr_chan_rel));
+ [] CONN_A.receive(tr_RSL_DATA_REQ(?, tr_RslLinkID_DCCH(0), t_l3_rr_chan_rel));
[] CONN_A.receive(tr_RSL_DEACT_SACCH(?));
[] CONN_A.receive(tr_RSL_RF_CHAN_REL(?)) -> value rsl {
var RSL_IE_Body ieb;