This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has uploaded this change for review. ( https://gerrit.osmocom.org/9629
Change subject: bsc: Factor out duplicated code into f_exp_chan_rel_and_clear()
......................................................................
bsc: Factor out duplicated code into f_exp_chan_rel_and_clear()
There's a sequence of commands which was repeated over at least
four test cases. Let's factor this out into the new
f_exp_chan_rel_and_clear() function, and use that function from
all the former copy+pasted sections.
Change-Id: Ic6791fce4e8787e38b818a12ed526d3e47f313ef
---
M bsc/BSC_Tests.ttcn
1 file changed, 19 insertions(+), 40 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/29/9629/1
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index bab56d1..a5509fd 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -667,9 +667,23 @@
return dt;
}
+/* expect RF CAN REL from BTS, acknowledge it and clear the MSC side */
+private function f_exp_chan_rel_and_clear(DchanTuple dt, integer bts_nr := 0) runs on test_CT {
+ var RSL_Message rx_rsl;
+ /* expect BSC to disable the channel */
+ rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL), T3101_MAX);
+ /* respond with CHAN REL ACK */
+ f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(dt.rsl_chan_nr));
+
+ /* expect Clear Complete from BSC */
+ BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_ClearComplete));
+
+ /* MSC disconnects as instructed. */
+ BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0));
+}
+
/* Test behavior of channel release after unilateral RLL REL IND (DISC from MS) */
testcase TC_chan_rel_rll_rel_ind() runs on test_CT {
- var RSL_Message rx_rsl;
var BSSAP_N_DATA_ind rx_di;
var DchanTuple dt;
@@ -688,15 +702,7 @@
BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_ClearCommand(cause)));
/* expect BSC to disable the channel */
- rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL), T3101_MAX);
- /* respond with CHAN REL ACK */
- f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(dt.rsl_chan_nr));
-
- /* expect Clear Complete from BSC */
- BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_ClearComplete));
-
- /* release the SCCP connection */
- BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0));
+ f_exp_chan_rel_and_clear(dt, 0);
/* wait for SCCP emulation to do its job */
f_sleep(1.0);
@@ -707,7 +713,6 @@
/* Test behavior of channel release after CONN FAIL IND from BTS */
testcase TC_chan_rel_conn_fail() runs on test_CT {
var BSSAP_N_DATA_ind rx_di;
- var RSL_Message rx_rsl;
var DchanTuple dt;
f_init(1);
@@ -726,15 +731,7 @@
BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_ClearCommand(cause)));
/* expect BSC to disable the channel */
- rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL), T3101_MAX);
- /* respond with CHAN REL ACK */
- f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(dt.rsl_chan_nr));
-
- /* expect Clear Complete from BSC */
- BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_ClearComplete));
-
- /* release the SCCP connection */
- BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0));
+ f_exp_chan_rel_and_clear(dt, 0);
/* wait for SCCP emulation to do its job */
f_sleep(1.0);
@@ -2092,7 +2089,6 @@
var integer i;
var DchanTuple dt;
var BSSAP_N_DATA_ind rx_di;
- var RSL_Message rx_rsl;
var myBSSMAP_Cause cause_val := GSM0808_CAUSE_CALL_CONTROL;
var BssmapCause cause := enum2int(cause_val);
@@ -2120,15 +2116,7 @@
BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_ClearCommand(cause)));
/* expect BSC to disable the channel */
- rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL), T3101_MAX);
- /* respond with CHAN REL ACK */
- f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(dt.rsl_chan_nr));
-
- /* expect Clear Complete from BSC */
- BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_ClearComplete));
-
- /* MSC disconnects as instructed. */
- BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0));
+ f_exp_chan_rel_and_clear(dt, 0);
}
/* In the buggy behavior, a timeout of 2 seconds happens between above
@@ -2148,7 +2136,6 @@
var integer i;
var DchanTuple dt;
var BSSAP_N_DATA_ind rx_di;
- var RSL_Message rx_rsl;
var integer j;
f_init();
@@ -2182,15 +2169,7 @@
BSSAP.send(ts_BSSAP_DATA_req(dt.sccp_conn_id, ts_BSSMAP_ClearCommand(cause)));
/* expect BSC to disable the channel */
- rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_RF_CHAN_REL), T3101_MAX);
- /* respond with CHAN REL ACK */
- f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(dt.rsl_chan_nr));
-
- /* expect Clear Complete from BSC */
- BSSAP.receive(tr_BSSAP_DATA_ind(dt.sccp_conn_id, tr_BSSMAP_ClearComplete));
-
- /* MSC disconnects as instructed. */
- BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0));
+ f_exp_chan_rel_and_clear(dt, 0);
}
/* In the buggy behavior, a timeout of 2 seconds happens between above
--
To view, visit https://gerrit.osmocom.org/9629
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic6791fce4e8787e38b818a12ed526d3e47f313ef
Gerrit-Change-Number: 9629
Gerrit-PatchSet: 1
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180614/1597023a/attachment.htm>