Commit Graph

293 Commits

Author SHA1 Message Date
Pau Espin 8e57ac1a3c bts: Introduce test TC_dyn_osmo_pdch_sdcch8_act
Change-Id: I16d5f32697d2b5df97419d39a3948777bedfc1b5
2021-07-02 11:48:50 +00:00
Vadim Yanitskiy 6860e864d8 BTS_Tests.ttcn: fix indention and readability of some comments
Change-Id: I95c63c2d2498fec1915a2333d31d05f433560830
2021-06-30 08:01:09 +00:00
Philipp Maier ca058278c9 BTS_Tests: add testcase TC_paging_imsi_200percent_with_ps
The current paging load tests only test what happens when the paging
load is introduced from the PS side. However there are no tests that
tests what happens when PS pagings are introduced from the PCU side
into an already overloaded system.

osmo-bts was equipped recently with a mechanism that detects congestive
situations. Once a congestion is detcted osmo-bts will drop pagings from
the BTS side. The rationale of the new testcase is that the behavior
must not change when the PS pagings start since osmo-bts is dropping
them.

Change-Id: Ie72e788d9ebff6ca4e50314746127a9689948062
Depends: osmo-bts I30f97672d7a0c369c4a656e878ab8cbbd83e31ea
Related: SYS#5306
2021-06-28 08:47:04 +00:00
Pau Espin 65d712e973 bts: Test forwarding PCUIF<->IPA/OSMO/PCU
Change-Id: I78880098a55d1cb456011746efa0a47832a86ca8
2021-06-28 10:43:21 +02:00
Vadim Yanitskiy 83852c171b BTS: add a testcase for PDCH interference reports
Change-Id: I39e70524ad3d2ee51b537c8f786b7754a02949b1
Related: SYS#5313, OS#1569, OS#1866
2021-06-22 20:07:48 +02:00
Vadim Yanitskiy 98c4a1a3b9 BTS: add a test case for RF RESource INDication
Change-Id: I78b6d8beffa5228a28231b75728e7aebdd3cb23c
Related: SYS#5313, OS#1569, OS#1866
2021-06-22 20:07:48 +02:00
Vadim Yanitskiy 6b4404a717 BTS: release the channel in TC_ms_pwr_ctrl_{constant,pf_ewma}
Since recently, we do have NOPE indications in the virtual Um
environment.  Somehow this broke test cases for the MS power
control.  Releasing the channel makes everything work again.

Change-Id: I6a204bbecfe116aa302eae28ff24d6bb899fa8b7
Related: SYS#5313, OS#1569, OS#1866
2021-06-18 16:00:55 +00:00
Vadim Yanitskiy 2372db6aee BTS: ignore other RSL messages in function f_TC_paging()
Recent changes [1] to osmo-bts make it periodically send the
RF RESource INDication messages for each transceiver over the
A-bis/RSL.  These messages block the queue of 'RSL_CCHAN' port
and make the paging related test cases fail.  Ignore them.

Change-Id: I18b879235c6eefb2dd89a3f4502b0830efeac6bb
Related: [1] Id80fdbef087de625149755165c025c0a9563dc85
Related: SYS#5313, OS#1569
2021-06-09 01:11:28 +02:00
Vadim Yanitskiy 7387813db0 [VAMOS] BTS: add CHANnel ACTIVation test cases
Change-Id: I79817b3504b0d956e9fa52b8640d3a4d0fd2c4ba
Related: SYS#4895, OS#4941
2021-06-01 04:22:11 +02:00
Vadim Yanitskiy 918e2b2834 HACK: allow running parallel BTS_Tests.ConnHdlr components
Unfortunately, trxcon does not support handling more than one
connection in parallel.  If there is already one connection
established, it would reject all other connection attempts.

This causes an error in f_handler_init().  As a quick hack,
let's allow running BTS_Tests.ConnHdlr components without
establishing L1CTL connections at all.

Change-Id: I72bcaed6c3803a0e18c9b787036a441e30c220cc
Related: SYS#4895, OS#4941
2021-06-01 04:16:52 +02:00
Vadim Yanitskiy 1b9a7f663a BTS_Tests: accept templates as parameters in t_EITC()
Change-Id: I56cd32a6ba91c078608d64c95538b9a43e2fada9
Related: SYS#4895, OS#4941
2021-06-01 04:16:49 +02:00
Vadim Yanitskiy 7368a10460 BTS_Tests: make it less private and more friendly
These definitions will be also used in 'BTS_Tests_VAMOS' module.

Change-Id: Ia4eae7f14228e72cd63bd8f84e27606ac972006c
Related: SYS#4895, OS#4941
2021-06-01 04:16:44 +02:00
Vadim Yanitskiy 0310f63d81 BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req()
Change-Id: Ic0ecef07385621e0f0fbdae67daad95ef628cdd5
Related: SYS#4895, OS#4941
2021-06-01 04:16:42 +02:00
Vadim Yanitskiy e6c175575a BTS_Tests: accept optional TestSpecUnion in t_Pars
Change-Id: I75462c3d30544bb87b578f2627b304cce57393e5
Related: SYS#4895, OS#4941
2021-06-01 04:16:18 +02:00
Eric Wild b926039772 bts: add first a5/4 tests
Not much to do here, bts just passes the key.

Related: SYS#5324
Change-Id: I38e8a1cf15eb41a621b457b39024283a767c94be
2021-05-17 20:28:26 +00:00
Vadim Yanitskiy 7dad608cdc BTS_Tests: as_l1_sacch(): make MEAS_VALID flag configurable
Change-Id: I25ce3332671c42014a3dfd5de7ed1df16e73fbf8
Related: SYS#4918
2021-04-16 23:04:44 +00:00
Vadim Yanitskiy cb57c1b137 BTS_Tests: as_l1_sacch(): use values from ConnL1Pars
This would allow a test case to change the indicated values.

Change-Id: If56bf516bc64e695fb58fd42beda01101cdaa954
Related: SYS#4918
2021-04-16 23:04:30 +00:00
Vadim Yanitskiy 94bbe99796 BTS_Tests: refactor and fix TC_pcu_socket_connect_multi
The expectations of this test case were wrong.  The IUT would first
accept() an additional connection and then close() it immediately.
Since there may be other messages, like TIME.ind and DATA.ind, the
'alt' statement would not match successful connection result, and
instead would unblock the flow due to timeout.

The titan.TestPorts.UNIX_DOMAIN_SOCKETasp had to be changed [1] to
send UD_connect_result with ERROR if recv() returns zero or a negative.

[1] https://github.com/eclipse/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/pull/4

Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c
2021-04-01 15:34:39 +00:00
Vadim Yanitskiy 216021a35e BTS_Tests: fix IPv4 matching in TC_pcu_socket_{nsvc_ipv4,two_nsvc}
This commit fixes a regression introduced in [1]

Change-Id: I107039f1ff44ae8c41d690f5f293ed136c17586b
Fixes: [1] Ia9f366ca1fdad700a90ca3367e43523f7bac39a1
2021-03-24 15:51:40 +01:00
Vadim Yanitskiy ec9e981c74 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
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy c1981b7a5b BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/
Change-Id: Ic95c46426ed3ac9ead645037059190fead181b31
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy e2a50a88ac BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind
Change-Id: Id11094774d737a545a2cce389059d7e527219573
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy 1da1fefb73 library/PCUIF_Types: get rid of version 9 compatibility glue
Change-Id: Ia9f366ca1fdad700a90ca3367e43523f7bac39a1
Related: OS#5083
2021-03-23 13:41:09 +00:00
Philipp Maier 94c0848113 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 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
2021-02-03 08:27:16 +00:00
Pau Espin 9a5b8ffc5b CTRL: Introduce support to run osmocom CTRL server
Change-Id: I37db9962f51baf2c63bd58ec47ec89f773d7a255
2021-01-07 15:06:39 +01:00
Vadim Yanitskiy f105a5b846 BTS_Tests: as_l1_sacch(): fix Measurement Report padding
According to 3GPP TS 44.018, section 10.5.2.20, we should pad with zeroes.

Change-Id: I912027fd53b12ff118254e941d6e5e696e1dd410
2020-12-13 12:08:29 +00:00
Vadim Yanitskiy 5351ccf85e BTS_Tests: make ts_LapdmAddr / ts_LAPDm_AB more friendly
Change-Id: I35f84ebd6cb884f3ab63d1c2b77d8ed61acd5c74
2020-12-03 13:40:12 +00:00
Neels Hofmeyr c897cfb6e6 cosmetic: drop redundant assignment in f_TC_rach_content
Change-Id: I3b0f3df6c01642a84610f213f4682e330e12c068
2020-11-26 01:03:54 +00:00
Neels Hofmeyr d55a3ac5bf bts: TC_sacch_chan_act_ho_sync: expect SACCH with MS Power IE
According to 3GPP TS 48.058 4.1.4, SACCH may be transmitted also for only MS
Power present, and no Access Delay.

Change-Id: I2e1c0ecc9de65a019aaa9f08bb051bf051156172
2020-11-26 00:41:09 +00:00
Vadim Yanitskiy 3191d73f6c BTS_Tests: make Training Sequence Code configurable
Change-Id: Ifc09d4192584048d39ebfa22824eda69320fa2c5
2020-11-24 12:05:27 +01:00
Vadim Yanitskiy 7e70709689 BTS_Tests: generate g_AllChannels from module parameters
Change-Id: I600aa49768328b89707b4da13d61f6a8089ac351
2020-11-24 11:58:49 +01:00
Vadim Yanitskiy 42d8bd5012 BTS_Tests: re-organize configuration of TRX/TS params
Change-Id: I9b225249d135399f63d3c7e4c567121dfea63f75
2020-11-24 11:58:49 +01:00
Vadim Yanitskiy bc8ebce10e library/GSM_RR_Types: make ts_MEAS_REP more user-friendly
Change-Id: Ica1ea41ebba5c518d515a211e77ca6651c4173d6
2020-11-24 11:58:49 +01:00
Vadim Yanitskiy 1acc7bb184 library: move Osmocom_Types.Arfcn to GSM_Types.GsmBandArfcn
In some cases GsmArfcn itself is not enough.  It case of L1CTL
and GSMTAP, it needs to be equipped with a band discriminator:

  - DCS / PCS (as the numbers may overlap),
  - Downlink / Uplink (not yet there).

Let's rename this record and move it to GSM_Types.  Also, add
send / receive tamplates, so we can add new fields later.

Change-Id: I7a63f03bbd15a06caafb786122dc12991d115771
2020-11-24 11:58:49 +01:00
Vadim Yanitskiy 2b991b6469 BTS_Tests: turn 'l1ctl_ma_def' into 'c_arfcn_list'
It will be easier to use this list / array in non-L1CTL specific
records and templates, e.g. in (RR) Immediate Assignment.

Change-Id: I392299eea9a82168f893a72d06872c280b6fbdce
2020-11-14 21:38:15 +00:00
Vadim Yanitskiy ab5769cd74 BTS_Tests: introduce and use as_l1_sacch_l1h()
The new altstep reduces code duplication and simplifies access
to the L1 SACCH Header.  It uses dec_SacchL1Header() to decode
the header, and would apply the received TA / MS Power level
values by default (see 'do_apply' parameter).

Change-Id: Ie593d9b06aea694fb0903a6d26ee387d8da4c82d
Related: SYS#4918
2020-11-14 21:38:15 +00:00
Neels Hofmeyr 76d1d1a815 bts: TC_sacch_chan_act_ho_*: test that SACCH appears after HO RACH
Change-Id: I33bb56c5f51dcc79adc1fe39926cf152aac1e213
2020-11-09 10:52:52 +00:00
Neels Hofmeyr dd59741dbe bts: fix TC_sacch_chan_act_ho_*: missing send SACCH FILL
The test sets random bits for SI5 and expects to see those in dl SACCH. That
can only possibly work when that SI5 was actually sent to the BTS.

Change-Id: I0d3a96f5ae932734e986637ca2cb23805eba6829
2020-11-09 10:52:52 +00:00
Neels Hofmeyr d34681bc6b bts: fix TC_sacch_chan_act_ho_*: missing Handover Reference IE
The tests still fail, but at least not as prematurely as before.

Change-Id: I3f58ed30f7f2e92d2d1694769a4214a6d257f8a9
2020-11-09 10:52:52 +00:00
Vadim Yanitskiy 28a03efa3f BTS_Tests/DTX: eliminate redundant f_TC functions
Change-Id: I4db97d3bea152668c14ce1fb85700364dfdaa575
Related: OS#4801
2020-11-02 09:31:46 +00:00
Vadim Yanitskiy babf1ce4cb BTS_Tests/DTX: remove redundant RSL channel number check
We never launch this test case in DTX mode on anything else than
TCH/F, so it does not make sense to check this all the time.

Change-Id: I6e971d87f26253f4283c47b7f8826d14a2567a9b
Related: OS#4801
2020-11-02 09:31:46 +00:00
Vadim Yanitskiy 76dc4d0073 BTS_Tests/DTX: provide more details in failed verdict message
Change-Id: I15f9303e79750c2864b97697b4378f748a1c7246
Related: OS#4801
2020-11-02 09:31:46 +00:00
Vadim Yanitskiy 080a17d24b BTS_Tests/DTX: SACCH has nothing to do with fill frames
There is no such thing like a fill frame on SACCH:

  - on Downlink, it's always System Information messages;
  - on Uplink, it's always the Measurement Reports.

Yes, osmo-bts-trx does send dummy LAPDm func=UI frames on SACCH,
but this happens because the test suite never feds it with the
associated System Information messages (i.e. Type 5, 5ter, 6).

In the 'alt' statement, restrict matching of L1CTL DATA.ind, so
only DCCH/FACCH blocks are counted.  Ignore DL SACCH blocks.

This change reveals that TC_tch_sign_l2_fill_frame_dtxd actually
fails because no fill frames are received at all from the IUT.

Change-Id: I6c68dd0a7dfa18ae4573a037399b6650feb22f11
Related: OS#4801
2020-11-02 09:31:46 +00:00
Vadim Yanitskiy 2a9accef09 library/PCUIF_Types: f_PCUIF_ver_INFO_PDCHMask_get() returns BIT8
Change-Id: Ib8e497b596370d0b48e76e6e86c01f0c1d9c5df5
2020-10-31 20:25:15 +07:00
Vadim Yanitskiy 2f8ee5a0c7 library/PCUIF_Types: add '_get' prefix to f_PCUIF_ver_INFO_PDCHMask()
Change-Id: I0ce8f3fe8cfd47c61199fbbdf0d80d19e6f105e9
2020-10-31 20:25:15 +07:00
Vadim Yanitskiy 34ed228b0f BTS_Tests/DTX: get rid of f_g_chan_is_{tchf,tchh,sdcch4,sdcch8}
TTCN-3 offers templates and pattern matching, so no need to match
against all possible variants of the RSL channel number.

Change-Id: I104595c4a96617f8000f803d19a890cff0b02744
Related: OS#4801
2020-10-24 23:41:40 +07:00
Vadim Yanitskiy 3bb3b602d0 BTS_Tests: fix both TC_si_sched[_13_2bis_2ter]_2quater
The current definition of the SI2quater Rest Octets is incomplete.
In particular, the missing part is Repeated UTRAN FDD/TDD Neighbour
Cells structure, for which 3GPP came up with a very tricky encoding.

Given that both test cases checking scheduling of the SI messages
and not their content, let's simply use different SI2quater samples
containing E-UTRAN Parameters Description instead.

Change-Id: I3556be33eda17dd6fce347b390a3662d43064897
Fixes: OS#4662, OS#4800
2020-10-24 21:46:35 +07:00
Philipp Maier 149c392f25 BTS_Tests: add FAACH to TC_meas_res_speech_tchX
The current TC_meas_res_speech_tchX tests only test a pure voice
transmission. A voice transmission can be occasionally interrupted by
FACCH transmissions. This should also be tested. Lets ad a _facch
variant for the two speech test variants we already that injects a FACCH
from time to time.

Related: OS#4799
Change-Id: Ie9cd39739d4b972f4e533a7bc90f79e914888aab
2020-10-22 17:33:57 +02:00
Vadim Yanitskiy 5fa8561b99 BTS_Tests: introduce TC_speech_no_rtp_{tchf,tchh}
The purpose of these new test cases is to demonstrate a problem
described in OS#4823: the IUT sends *dummy bursts* in absence of
MT RTP frames, so on the MS side it looks like RF failures.

It's not yet clear what needs to be sent by the BTS in this kind
of situation, but at least we can verify that whatever is sent
can be decoded on the MS side without CRC errors.

Change-Id: I620ea84ae92c976a62c1f8334ec14a2a7685aa21
Related: OS#4823
2020-10-21 11:51:18 +00:00
Vadim Yanitskiy 780bc07a25 BTS_Tests: introduce TC_meas_res_speech_tchh_toa256()
Change-Id: Ib35e5a1ac0b25e6a1f0f395e4e2693ca99548217
Related: OS#4799
2020-10-20 02:46:13 +07:00