fixeria has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23465 )

Change subject: BTS_Tests: do not connect to PCUIF socket if not used
......................................................................

BTS_Tests: do not connect to PCUIF socket if not used

The PCUIF connection involves a lot of frequent messages, such as
the TIME.ind and since recently DATA.ind with len=0.  As a result,
the test suite logs are getting unreadable due to lots of coding
warnings and port queueing notifications.

This change is aimed to improve the situation a bit, by establishing
the PCUIF connection only for those test cases which actually use it.

Side effects:

  * TC_pcu_socket_verify_info_ind becomes reliable, because the
    PCUIF establishment is done after the RSL bootstrapping;

  * TC_pcu_socket_connect_multi starts to fail, because it used
    to pass due to timeout, since not all messages are handled
    in the 'alt' statement.

Change-Id: I09ccb65ce94a41ffdad4e93da650c3f32d422af4
Related: OS#5083
---
M bts/BTS_Tests.ttcn
M bts/BTS_Tests_SMSCB.ttcn
2 files changed, 20 insertions(+), 23 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve
  Jenkins Builder: Verified



diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 005b1d7..58947c5 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -472,7 +472,7 @@
        trxc_conn_id := res.connId;
 }

-/* global init function */
+/* global init function (without PCUIF connection) */
 friend function f_init(uint8_t trx_nr := 0)
 runs on test_CT
 {
@@ -555,9 +555,6 @@
        f_rsl_bcch_fill(RSL_SYSTEM_INFO_2, ts_SI2_default);
        f_rsl_bcch_fill(RSL_SYSTEM_INFO_4, ts_SI4_default);

-       map(self:PCU, system:PCU);
-       f_init_pcu(PCU, id, g_pcu_conn_id, g_pcu_last_info);
-
        if (mp_bts_trxc_port != -1) {
                var TrxcMessage ret;

@@ -4283,7 +4280,9 @@
 }

 testcase TC_si_sched_13() runs on test_CT {
-       f_init();
+       /* NOTE: PCUIF connection is not used in this test case, but
+        * without it the IUT would not broadcast SI13 (see OS#3075). */
+       f_init_with_pcuif();
        si_cfg.si13_present := true;
        f_rsl_bcch_fill_raw(RSL_SYSTEM_INFO_13, 
'0106009000185a6fc9e08410ab2b2b2b2b2b2b2b2b2b2b'O);
        f_TC_si_sched();
@@ -4291,7 +4290,9 @@
 }

 testcase TC_si_sched_13_2bis_2ter_2quater() runs on test_CT {
-       f_init();
+       /* NOTE: PCUIF connection is not used in this test case, but
+        * without it the IUT would not broadcast SI13 (see OS#3075). */
+       f_init_with_pcuif();
        si_cfg.si2bis_present := true;
        f_rsl_bcch_fill_raw(RSL_SYSTEM_INFO_2bis, 
'550602bfe809b3ff00000000000000000000007900002b'O);
        si_cfg.si2ter_present := true;
@@ -4626,6 +4627,8 @@

 friend function f_init_with_pcuif() runs on test_CT {
        f_init();
+       map(self:PCU, system:PCU);
+       f_init_pcu(PCU, testcasename(), g_pcu_conn_id, g_pcu_last_info);
        PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, 
testcasename())));
 }

@@ -5453,7 +5456,7 @@
        var ConnHdlrPars pars;
        var ConnHdlr vc_conn;

-       f_init();
+       f_init_with_pcuif();

        pars := valueof(t_Pars(t_RslChanNr_SDCCH4(0,3), ts_RSL_ChanMode_SIGN));
        vc_conn := f_start_handler(refers(f_TC_rr_suspend_req), pars, true);
@@ -5465,7 +5468,7 @@
        timer T := 5.0;

        /* this (among other things) establishes the first connection to the 
PCUIF socket */
-       f_init();
+       f_init_with_pcuif();

        /* try to establish a second connection, expect it to fail */
        PCU.send(UD_connect:{mp_pcu_socket, -1});
@@ -5487,7 +5490,7 @@
 /* Ensure that PCUIF socket can disconnect + reconnect */
 testcase TC_pcu_socket_reconnect() runs on test_CT {
        /* this (among other things) establishes the first connection to the 
PCUIF socket */
-       f_init();
+       f_init_with_pcuif();

        f_sleep(1.0);

@@ -5548,13 +5551,7 @@
 /* Make sure that GPRS Indicator is absent when the PCU is not connected */
 private function f_TC_pcu_socket_noconnect(RrMessageType si_type)
 runs on test_CT {
-       /* don't call f_init() as this would connect PCU socket */
-       f_init_rsl(testcasename());
-
-       /* Send both System Information Type 3 and 4 (with GPRS Indicator) */
-       f_rsl_bcch_fill(RSL_SYSTEM_INFO_3, ts_SI3_default);
-       f_rsl_bcch_fill(RSL_SYSTEM_INFO_4, ts_SI4_default);
-
+       f_init();
        f_init_l1ctl();
        f_l1_tune(L1CTL);
        f_sleep(2.0);
@@ -5581,7 +5578,7 @@
 private function f_TC_pcu_socket_connect(RrMessageType si_type)
 runs on test_CT {
        /* this (among other things) establishes the first connection to the 
PCUIF socket */
-       f_init();
+       f_init_with_pcuif();
        f_init_l1ctl();
        f_l1_tune(L1CTL);

@@ -5609,7 +5606,7 @@
 private function f_TC_pcu_socket_disconnect(RrMessageType si_type)
 runs on test_CT {
        /* this (among other things) establishes the first connection to the 
PCUIF socket */
-       f_init();
+       f_init_with_pcuif();
        f_init_l1ctl();
        f_l1_tune(L1CTL);

@@ -5646,7 +5643,7 @@
 testcase TC_pcu_socket_verify_info_ind() runs on test_CT {
        var SystemInformation si3 := valueof(ts_SI3_default);

-       f_init();
+       f_init_with_pcuif();

        /* actually give the BTS some time to fully come up and to send a PCU 
INFO IND with the correct
         * information */
@@ -5681,7 +5678,7 @@
        var PCUIF_info_ind info_ind;
        var FreqHopPars fhp;

-       f_init();
+       f_init_with_pcuif();
 
        info_ind := g_pcu_last_info.u.info_ind;

@@ -5726,7 +5723,7 @@
        f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip 
127.127.127.127");
        f_vty_transceive(BSCVTY, "drop bts connection 0 oml");

-       f_init();
+       f_init_with_pcuif();

        var PCUIF_RemoteAddr remote_addr := 
g_pcu_last_info.u.info_ind.remote_addr;
        var template PCUIF_RemoteAddr tr_remote_addr := {
@@ -5746,7 +5743,7 @@
        f_init_vty_bsc();
        f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip 
fd00::ca:ff:ee");

-       f_init();
+       f_init_with_pcuif();

        var PCUIF_RemoteAddr remote_addr := 
g_pcu_last_info.u.info_ind.remote_addr;
        var template PCUIF_RemoteAddr tr_remote_addr := {
diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn
index 102e2ac..dda78fd 100644
--- a/bts/BTS_Tests_SMSCB.ttcn
+++ b/bts/BTS_Tests_SMSCB.ttcn
@@ -1051,7 +1051,7 @@
 testcase TC_etws_pcu() runs on test_CT {
        timer T := 10.0;

-       f_init();
+       f_init_with_pcuif();
        f_init_l1ctl();
        f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH);


--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23465
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I09ccb65ce94a41ffdad4e93da650c3f32d422af4
Gerrit-Change-Number: 23465
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanits...@sysmocom.de>
Gerrit-Reviewer: laforge <lafo...@osmocom.org>
Gerrit-Reviewer: pespin <pes...@sysmocom.de>
Gerrit-MessageType: merged

Reply via email to