From a14a8af5fde75e126b201f227064b27542a30198 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Tue, 20 Nov 2018 13:12:22 +0100 Subject: [PATCH] bts: Disable PCU related tests if PCU socket not configured With some real HW setups, there's no PCU (osmo-pcu) available locally, for instance when using a sysmobts, or when using a nanoBTS. There's no need to waste time and generate extra output by running this tests in this case. Furthermore, some tests seem to crash sometimes in that setup, probably due to using invalid fd (-1): MTC@801a0da9866a: Setting RSL_SYSTEM_INFO_4 (4): '31061C62F224002A4740E50400'O /osmo-ttcn3-hacks/bts/BTS_Tests: Segmentation fault occurred /usr/lib/titan/libttcn3-parallel-dynamic.so(_Z14signal_handleri+0xa3)[0x7f0c33b48073] /lib/x86_64-linux-gnu/libc.so.6(+0x33060)[0x7f0c321aa060] /osmo-ttcn3-hacks/bts/UD_PT.so(_ZN12UD__PortType15UD__PT_PROVIDER13outgoing_sendERKN9UD__Types14UD__send__dataE+0xf0)[0x7f0c349e42f8] /osmo-ttcn3-hacks/bts/PCUIF_CodecPort.so(_ZN16PCUIF__CodecPort16PCUIF__CODEC__PT4sendERKNS_17PCUIF__send__dataERK9COMPONENT+0x19e)[0x7f0c37e1731a] /osmo-ttcn3-hacks/bts/PCUIF_CodecPort.so(_ZN16PCUIF__CodecPort16PCUIF__CODEC__PT4sendERKNS_26PCUIF__send__data_templateE+0x5f)[0x7f0c37e174f7] /osmo-ttcn3-hacks/bts/BTS_Tests.so(_ZN10BTS__Tests20f__TC__pcu__act__reqERK7INTEGERS2_S2_RK7BOOLEAN+0x411)[0x7f0c3eec3210] /osmo-ttcn3-hacks/bts/BTS_Tests.so(_ZN10BTS__Tests28testcase_TC__pcu__deact__reqEbd+0x15d)[0x7f0c3eec4f27] /osmo-ttcn3-hacks/bts/BTS_Tests.so(+0xfb65d)[0x7f0c3eeef65d] /usr/lib/titan/libttcn3-parallel-dynamic.so(_ZN11Module_List15execute_controlEPKc+0x1c)[0x7f0c33af3fbc] Change-Id: I773c7ec52dd8532bf160e92ffefc8d936ca55de2 --- bts/BTS_Tests.ttcn | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index cde9562b8..753d89bad 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4186,23 +4186,27 @@ control { execute( TC_ipa_crcx_mdcx_mdcx_dlcx_not_active() ); execute( TC_ipa_crcx_sdcch_not_active() ); - execute( TC_pcu_act_req() ); - execute( TC_pcu_act_req_wrong_ts() ); - execute( TC_pcu_act_req_wrong_bts() ); - execute( TC_pcu_act_req_wrong_trx() ); - execute( TC_pcu_deact_req() ); - execute( TC_pcu_deact_req_wrong_ts() ); - execute( TC_pcu_ver_si13() ); - execute( TC_pcu_data_req_wrong_bts() ); - execute( TC_pcu_data_req_wrong_trx() ); - execute( TC_pcu_data_req_wrong_ts() ); - execute( TC_pcu_data_req_ts_inactive() ); - execute( TC_pcu_data_req_pdtch() ); - execute( TC_pcu_data_req_ptcch() ); - execute( TC_pcu_data_req_agch() ); - execute( TC_pcu_data_req_imm_ass_pch() ); - execute( TC_pcu_rach_content() ); - execute( TC_pcu_paging_from_rsl() ); + if (mp_pcu_socket != "") { + execute( TC_pcu_act_req() ); + execute( TC_pcu_act_req_wrong_ts() ); + execute( TC_pcu_act_req_wrong_bts() ); + execute( TC_pcu_act_req_wrong_trx() ); + execute( TC_pcu_deact_req() ); + execute( TC_pcu_deact_req_wrong_ts() ); + execute( TC_pcu_ver_si13() ); + execute( TC_pcu_data_req_wrong_bts() ); + execute( TC_pcu_data_req_wrong_trx() ); + execute( TC_pcu_data_req_wrong_ts() ); + execute( TC_pcu_data_req_ts_inactive() ); + execute( TC_pcu_data_req_pdtch() ); + execute( TC_pcu_data_req_ptcch() ); + execute( TC_pcu_data_req_agch() ); + execute( TC_pcu_data_req_imm_ass_pch() ); + execute( TC_pcu_rach_content() ); + execute( TC_pcu_paging_from_rsl() ); + } else { + log("PCU socket path not available, skipping PCU tests"); + } execute( TC_dyn_osmo_pdch_act_deact() ); execute( TC_dyn_osmo_pdch_unsol_deact() );