From cc32ed90965538064ebd5e0910f1705c728e9dff Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 3 Feb 2019 12:49:57 +0100 Subject: 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 --- bsc/BSC_Tests.ttcn | 7 +++---- bsc/BSC_Tests_LCLS.ttcn | 3 +-- 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; -- cgit v1.2.3