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/.
Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Review at https://gerrit.osmocom.org/7219
bsc: add test for OS#3041
Change-Id: Ie4aa2f01c83b40303fa40ed64dbfce372b7cd96c
---
M bsc/BSC_Tests.ttcn
1 file changed, 64 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/19/7219/1
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index dc266ab..42ab5bf 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -233,6 +233,13 @@
}
}
+altstep no_bssmap_reset() runs on test_CT {
+ [] BSSAP.receive(tr_BSSAP_UNITDATA_ind(?, ?, tr_BSSMAP_Reset)) {
+ setverdict(fail, "unexpected BSSMAP Reset");
+ self.stop;
+ }
+}
+
function f_init_mgcp(charstring id) runs on test_CT {
id := id & "-MGCP";
@@ -1694,6 +1701,61 @@
vc_conn.done;
}
+/* OS#3041: Open and close N connections in a normal fashion, and expect no
+ * BSSMAP Reset just because of that. */
+testcase TC_bssmap_clear_does_not_cause_bssmap_reset() runs on test_CT {
+ var default d;
+ var integer i;
+ var DchanTuple dt;
+
+ f_init();
+
+ /* Wait for initial BSSMAP Reset to pass */
+ f_sleep(4.0);
+
+ d := activate(no_bssmap_reset());
+
+ /* Setup up a number of connections and RLSD them again from the MSC
+ * side. In the buggy behavior, the fourth one triggers BSSMAP Reset.
+ * Let's do it some more times for good measure. */
+ for (i := 0; i < 8; i := i+1) {
+ /* Setup a BSSAP connection and clear it right away. This is
+ * the MSC telling the BSC about a planned release, it's not an
+ * erratic loss of a connection. */
+ dt := f_est_dchan('23'O, 23, '00010203040506'O);
+
+ /* TODO for this test: maybe a plain RLSD could be considered
+ * erratic, in which case this test would have to play out a
+ * BSSMAP Clear as well. That would pan out something like
+ * testcase TC_chan_rel_rll_rel_ind(), however, at the time of
+ * writing that test fails and it makes no sense to import that
+ * failure here. */
+ if (false) {
+ /* simulate RLL REL IND */
+ f_ipa_tx(0, ts_RSL_REL_IND(dt.rsl_chan_nr, valueof(ts_RslLinkID_DCCH(0))));
+
+ /* expect BSC to disable the channel */
+ 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 DISC_IND on MSC side */
+ BSSAP.receive(tr_BSSAP_DISC_ind(dt.sccp_conn_id, ?, ?));
+ }
+
+ /* MSC disconnects as instructed. */
+ BSSAP.send(ts_BSSAP_DISC_req(dt.sccp_conn_id, 0));
+ }
+
+ /* In the buggy behavior, a timeout of 2 seconds happens between above
+ * trigger (logs "SIGTRAN connection down, reconnecting...") and the
+ * actual BSSMAP Reset. Wait a bit longer just to make sure. */
+ f_sleep(4.0);
+
+ deactivate(d);
+ f_shutdown_helper();
+}
+
control {
/* CTRL interface testing */
@@ -1768,6 +1830,8 @@
execute( TC_err_82_short_msg() );
execute( TC_err_84_unknown_msg() );
execute( TC_ho_int() );
+
+ execute( TC_bssmap_clear_does_not_cause_bssmap_reset() );
}
}
--
To view, visit https://gerrit.osmocom.org/7219
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie4aa2f01c83b40303fa40ed64dbfce372b7cd96c
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>