From 16da62971b0991d2e9c588cb13370b8b642f642c Mon Sep 17 00:00:00 2001 From: Philipp Maier Date: Fri, 29 Jan 2021 21:17:26 +0100 Subject: BTS_Tests: test forwarding of SI1, SI3 and SI13 via PCUIF Whenever the BSC is updating SI1, SI3 or SI13 via RSL, the PCU should be informed about the change via PCUIF as well. For SI13 this is already the case and a testcase exists. The version 11 of the PCUIF protocol is now capable to update SI1 and SI3 as well. - Update BTS_Tests.TC_pcu_ver_si13 so that it works with the current protocol version - Add BTS_Tests.TC_pcu_ver_si3 and BTS_Tests.TC_pcu_ver_si1 that test SI1 and SI3 as well. Depends: osmo-bts Ib7aeb41e634ad6fcab3766a4667b0267c749436a Change-Id: I5138ab183793e7eee4dc494318d984e9f1f56932 Related: SYS#5103 --- bts/BTS_Tests.ttcn | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index c8430324..68a3142b 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4676,19 +4676,18 @@ testcase TC_pcu_deact_req_wrong_ts() runs on test_CT { } /* Test the PCU->BTS Version and BTS->PCU SI13 handshake */ -testcase TC_pcu_ver_si13() runs on test_CT { - const octetstring si13 := '00010203040506070909'O; +function f_TC_pcu_ver_siXX(octetstring si, RSL_IE_SysinfoType rsl_si_type, octetstring osmo_si_type) runs on test_CT { var PCUIF_send_data sd; timer T:= 3.0; f_init_pcu_test(); /* Set SI13 via RSL */ - f_rsl_bcch_fill_raw(RSL_SYSTEM_INFO_13, si13); + f_rsl_bcch_fill_raw(rsl_si_type, si); T.start; alt { [] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_DATA_IND(0, 0, 0, ?, PCU_IF_SAPI_BCCH))) -> value sd { - if (substr(sd.data.u.data_ind.data, 0, lengthof(si13)) == si13) { + if (substr(sd.data.u.data_ind.data, 0, lengthof(si) + 1) == osmo_si_type & si) { setverdict(pass); } else { repeat; @@ -4696,11 +4695,29 @@ testcase TC_pcu_ver_si13() runs on test_CT { } [] PCU.receive { repeat; } [] T.timeout { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for SI13"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Timeout waiting for SI"); } } } +/* Test the PCU->BTS Version and BTS->PCU SI1 handshake */ +testcase TC_pcu_ver_si1() runs on test_CT { + const octetstring si1 := '010111132A252B27CC29AA11BB33CC'O; + f_TC_pcu_ver_siXX(si1, RSL_SYSTEM_INFO_1, '01'O); +} + +/* Test the PCU->BTS Version and BTS->PCU SI3 handshake */ +testcase TC_pcu_ver_si3() runs on test_CT { + const octetstring si3 := '00012223242526272929AABBCC'O; + f_TC_pcu_ver_siXX(si3, RSL_SYSTEM_INFO_3, '03'O); +} + +/* Test the PCU->BTS Version and BTS->PCU SI13 handshake */ +testcase TC_pcu_ver_si13() runs on test_CT { + const octetstring si13 := '00010203040506070909'O; + f_TC_pcu_ver_siXX(si13, RSL_SYSTEM_INFO_13, '0b'O); +} + private const octetstring c_PCU_DATA := '000102030405060708090a0b0c0d0e0f10111213141516'O; /* helper function to send a PCU DATA.req */ @@ -7305,6 +7322,8 @@ control { execute( TC_pcu_act_req_wrong_trx() ); execute( TC_pcu_deact_req() ); execute( TC_pcu_deact_req_wrong_ts() ); + execute( TC_pcu_ver_si1() ); + execute( TC_pcu_ver_si3() ); execute( TC_pcu_ver_si13() ); if (mp_l1_supports_gprs) { execute( TC_pcu_data_req_pdtch() ); -- cgit v1.2.3