aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-06-08record_to_templates.pyneels/atticNeels Hofmeyr1-0/+92
Change-Id: I357e949de1c06fc360b187af44d3c3fd9024a01f
2022-06-08bsc vamos: fix f_lchan_long_str() for vamos shadowsNeels Hofmeyr1-1/+23
Change-Id: I0a3e0a8a2e379dc151c643176ae001aebbcc1b08
2022-06-08wait for all oml degradedNeels Hofmeyr1-3/+10
Change-Id: I8e804812fbd1a4fd6b1015f4a33c44b7ce96cc01
2022-06-08bsc: add BSC_Tests_2.ttcnNeels Hofmeyr3-18/+82
In this patch I propose to open a new file for BSC tests, simply BSC_Tests_2.ttcn. The reason is that modifying BSC_Tests.ttcn in tiny ways causes many other files that import BSC_Tests to be recompiled again and again for every dev cycle: for example the LCLS and CBSP test suites. By placing my new test in a separate file, I reduced the waiting time for titan compilation while developing the new tests. I will definitely do so again for future test development, so I thought why not see whether you guys also like this idea. (I previously argued that there is no problem with huge ttcn files, but I see now that pespin was right to favor reducing the file size. The most benefit probably comes from removed dependency builds.) Change-Id: I3eadaebcb3ff1fa5c5b72e297a474e2c2c25d45d
2022-06-08PCU_Tests: verify deallocation of TBFsNeels Hofmeyr1-0/+65
In most tests, add a final stage that ensures that all TBFs are freed in some way or other, by polling the talloc report via VTY. This implies that each test run is using the osmo-pcu process exclusively, i.e. that no other test cases run in parallel. In practice, this is currently always the case. Related: SYS#5209 Change-Id: Ied9deab5aff9b4b5f5874216393d6c56293754ab
2022-06-08RSL_Emulation: logging tweaksNeels Hofmeyr8-5/+50
Change-Id: I8ca105d1d5280cff9b88ce5a2bb9c98a3f1e7527
2022-06-08bsc: TC_dyn_pdch_* shorten some delaysNeels Hofmeyr1-9/+9
So far we're sleeping a hole second before verifying the PDCH status of a dynamic timeslot. That is just to ensure that osmo-bsc has read the message from its queue and changed its status. Change to a sleep of 0.1s, cutting a couple of seconds off the test execution. Change-Id: Ic6cd373e18aea6eff14f2be5432705b9838e6054
2022-06-07library/StatsD_Checker: make logging messages more readableVadim Yanitskiy1-2/+2
Change-Id: I0484f36184fe3724c57cedcf203894d701b91605
2022-06-07BSC_Tests: configure 3 additional TRX instances for BTS2Vadim Yanitskiy2-1/+91
Change-Id: Ie1241c54abac9a56906c525155cbf7482bca738e Related: Iba4fbd5c9ed59783df4ac64e68b2beef73a812ff Related: SYS#5460
2022-06-07BSC_Tests: add support for per-TRX RSL connectionsVadim Yanitskiy4-391/+471
So far it was possible to communicate with multiple BTS instances, however we were limited to only one IPA/RSL connection per BTS. Communicating with additional TRX instances requires establishing additional per-TRX IPA/RSL connections. This patch extends the testsuite infrastructure, so that it becomes possible to have up to 4 individual TRX instances for each BTS. * Introduce record 'BtsParams', store per-BTS params in an array. * IPA_RSL_PT: test_CT.IPA_RSL[NUM_BTS] -> test_CT.IPA_RSL[NUM_BTS][NUM_TRX]. * BTS_State: test_CT.bts[NUM_BTS] -> test_CT.bts[NUM_BTS][NUM_TRX]. * f_init_bts_and_check_sysinfo() accepts number of TRX instances. * f_init_bts() accepts number of TRX instances to configure. * f_ipa_rsl_start() accepts a BtsTrxIdx param. * Introduce record BtsTrxIdx allowing to specify BTS/TRX index values. * f_ipa_tx(), f_exp_ipa_rx() accept a BtsTrxIdx param (default {0, 0}). * f_est_dchan[_dyn]() accept a BtsTrxIdx param (default {0, 0}). ** and store the given BtsTrxIdx in returned DchanTuple. * f_chreq_act_ack() accepts a BtsTrxIdx param (default {0, 0}). * f_expect_chan_rel() accepts a BtsTrxIdx param (default {0, 0}). * f_exp_ipa_rx_nonfatal() accepts BtsTrxIdx (default {0, 0}). * f_exp_chan_rel_and_clear() uses BtsTrxIdx indicated in the given DchanTuple. * Fix CTRL/statsd expectations in TC_stat_num_bts_connected_[123]. * Fix CTRL expectations in TC_ctrl_trx_rf_locked. The major limitation is that MSC_ConnHdlr components still have no access to additional TRX instances - this can be implemented later. Change-Id: Ic0fd97234464ef624010a5f01189aa61f3393b84 Related: SYS#5460
2022-06-07DIAMETER: Send QoS AVPs in Gx CCAPau Espin Pedrol1-3/+9
This way we can trigger code paths in GGSN/PGW parsing those. Change-Id: Ib758d4e3acc331954aca6423372410cb1e341ebd
2022-06-07DIAMETER: Introduce and rework some AVP templatesPau Espin Pedrol3-13/+48
All the AVP ecosystem in DIAMETER is quite a mess. There's AVPs defined in several different specs, sometimes even with the same name and different AVP code and vendor. Hence, as we add more templates it becomes important to start using the prefix in order to differentiate where they come from. Change-Id: Iec7c51dae136629d6b754de4dd798e988ac51f6b
2022-06-04BSC_Tests: fix TC_lost_sdcch_during_assignment (SCCPlite)Vadim Yanitskiy1-4/+13
When running ttcn3-bsc-test against osmo-bsc in SCCPlite mode, TC_lost_sdcch_during_assignment fails with the following output: Local verdict of MTC: fail reason: "Timeout of T_guard" Final verdict of PTC: fail reason: "Unexpected DLCX received" One key problem is that in f_TC_lost_sdcch_during_assignment() we expect to receive a DLCX message on port MGCP, but somehow it gets caught by the as_Media_mgw earlier than we attempt to receive it. * Fix this race condition by activating the as_Media_mgw with fail_on_dlcx := false, so that it does not catch DLCX messages. Another problem is that for SCCPlite we're running the MGCP_Emulation component with multi_conn_mode=true, so that all MGCP messages are arriving at port MGCP_MULTI (not MGCP) wrapped into MGCP_RecvFrom. * Expect the DLCX message on either of the two ports depending on the value of g_pars.aoip (AoIP or SCCPlite mode). This change makes BSC_Tests.TC_lost_sdcch_during_assignment pass. Change-Id: If4807d3d7d196682f7f22732ad47bcbb72858ed3
2022-06-03BSC_Tests: fix a race condition in TC_imm_ass_pre_[ts,chan]_ackVadim Yanitskiy1-6/+6
These test cases sporadically fail on Jenkins and 9/10 times on my machine. The problem appears to be that we are sending both the RSL CHANnel ReQuireD and the VTY command simultaneously, and the later may be handled earlier than the former by osmo-bsc. Ensure that the RSL message is handled first by sending the VTY command after we have received the RSL CHANnel ACTivation message. Change-Id: I38cd31041741b69eb15098a089b4d4b6b918ffd4
2022-06-01library/RSL_Types: fix wrong comment near tr_RSL_MsgTypeTVadim Yanitskiy1-1/+1
Change-Id: Ic10e324375d1495d94352e7229e6be481106e8bb
2022-05-29bsc/osmo-bsc.cfg: change logging level nm info -> noticeVadim Yanitskiy1-1/+1
Stop spamming logs with tons of DNM messages (state changes, events). GSMTAP emits all these messages (including 'debug' ones) anyway. Related: I49352b3caf9f6bbdd594cfcdea54038fc0eaa874 (docker-playground.git) Change-Id: I9e60ea0968a44aa29753226626864ac9f4c1f8ab
2022-05-26mgw: Introduce test TC_two_crcx_mdcx_and_iuup{_rtp}_rfci_unorderedPau Espin Pedrol1-2/+39
Related: SYS#5969 Change-Id: I2523f18a0fdba87f4e13a2ce3c5da482c4af2e3c
2022-05-26bsc: test lchan rel during LCS Loc ReqNeels Hofmeyr1-0/+116
Test this scenario: Emergency call is started; Location Request is started to locate the emergency; lchan releases early for any reason; (Do not send Clear Request immediately); Location Request is completed, locating the emergency. Related: SYS#5912 Related: Ib44dd05b0adee84234f671313b156ff6625357cc (osmo-bsc) Change-Id: Idea690a4aa4aecbe4642a16e96d086cc0538564a
2022-05-26Allow Setting IuUP_Cfg from test using RTP_EmulationPau Espin Pedrol4-17/+43
Change-Id: I4e8296dae40277be51974338bc0d21c939eec149
2022-05-26IuUP: Encode Initialization according to cfgPau Espin Pedrol1-2/+45
Change-Id: I1dec3a8dcc829ad2c308636b697b089e873fd824
2022-05-26IuUP: Improve enc/dec of PDU Type 14Pau Espin Pedrol2-47/+142
Related: SYS#5969 Change-Id: I33e8a82e654b5afef8bc468cf6b1fff8fa9637ce
2022-05-26stp: Fix sporadic failure in TC_ipa_to_m3ua_niPau Espin Pedrol1-2/+1
It was spotted that from time to time the test set NI international instead of national. This is presumable due to a race condition between VTY and messages being received and forwarded. Let's delay resetting the VTY config after the message is recieved, to avoid the race conditions between them. Change-Id: I3ef08447d2e36b6948d3db4ec9d1459beebc9384
2022-05-25ggsn: test Gy Volume-Quote-Threshold featurePau Espin Pedrol2-6/+106
Change-Id: If10171589e915db8e78278d2d802e38c66b37687
2022-05-25ggsn/pgw: Fix Gy CCR Reporting-Reason expectanciesPau Espin Pedrol3-6/+15
The Reporting-Reason can be in different places depending on its values. In the case of TERMINATION, we expect it to be FINAL so we know its location. Change-Id: Id33b9bb2f7b469e03a0761dc8807770cfdf77fcc
2022-05-24tcpdump capture script: check permissions to fix running in a netnsEric Wild1-0/+13
This might be all caps (=ep), or a list of all caps. Change-Id: I75f7af6cc67e96ffb7b002591f7f7d1da9b5a51d
2022-05-24msc tests: fix test so they don't depend on previous test runsEric Wild1-7/+7
The test currently implicitly check the vlr state left by preceding tests. Change-Id: Iebaecd28a426b15baf4729f40b46dd33da79cbae
2022-05-23pgw: Validate charging reported valuesPau Espin Pedrol1-9/+18
Change-Id: I5024abc672bf92d41027c4c78d2925d0537bb470
2022-05-23ggsn: Validate charging reported valuesPau Espin Pedrol3-25/+109
Change-Id: I497309bb0b30c61bdb00e0c08f18294ecd4dd485
2022-05-20cosmetic: ggsn: document and clean up section in GT_CTPau Espin Pedrol1-1/+3
Change-Id: I8bafb546d5d8b819cb0962b50049005ff2b85cb4
2022-05-19ggsn: TC_act_deact_retrans_duplicate: Fix case where initial seq_nr is 65535Pau Espin Pedrol1-1/+5
Change-Id: I2a7a399cf962311aaf7270260cb2e4e00e5a676a
2022-05-19ggsn: Fix seq_nr overflowPau Espin Pedrol1-2/+2
As seen running a test: GTP_Templates.ttcn:87 Dynamic test case error: The first argument of function int2oct(), which is 65536, does not fit in 2 octets. Change-Id: Icbaf42879bade6f5b4e39144ec123bc1b3f893f8
2022-05-19pgw: Improve checks around Gy messagesPau Espin Pedrol3-12/+179
Change-Id: Ica3ca4cf72113d66e74dcff9f838e39cc5d63468
2022-05-19ggsn: Improve checks around Gy messagesPau Espin Pedrol2-23/+478
Change-Id: I702796f2f941b78da904faa2ffdba4185333bc0d
2022-05-18DIAMETER_Templates: Drop unused paramPau Espin Pedrol1-2/+0
Change-Id: Ic806f7d23f6e3b23365f4d45874b0bc3b3ec91d1
2022-05-18library/DIAMETER: Rename template to follow naming stylePau Espin Pedrol2-2/+2
Change-Id: I1c7cfbea25a2da99813aa3c4f8a5760c4185ee26
2022-05-18ggsn: Properly encode MISDN IE in GTPPau Espin Pedrol3-46/+49
ISDN-AddressString contains an initial byte at the start. We didn't care so far because we were not yet checking the content of msisdn, so the usual first '12'O byte was being considered as a header. Let's store it in GTP format as before, but let's pass it as a charstring when initializing the PdpContext, so that the human-style is visible in the test for easy visualization/comparison (It will be verified in a follow-up patch in Gy Diameter interface). Change-Id: Ie1b65707d4b08f2201572e1fa44a1f9f985eb096
2022-05-18DIAMETER_Types_ttcn: Generate types for TS 32.299 (Gy)Pau Espin Pedrol2-5/+4649
Change-Id: I8413781a28362816a1f93790951c125defbbaf6b
2022-05-18Add script to regen library/DIAMETER_Types.ttcnPau Espin Pedrol2-1/+24
This way we have a reproducible way to generate the same library/DIAMETER_Types.ttcn file. Change-Id: Ie6fdb8003a0faf25a5bf4027b672da73f788988e
2022-05-17RAN_Emulation: f_ran_unregister_imsi complement for f_ran_register_imsiHarald Welte1-2/+28
We have a function to register an IMSI but we're missing a function to unregister it from RAN_Emulation. This will cause resource leaks and eventually an overflow of the ImsiTable. We don't notice this yet as we don't have long enough running tests in the test suite yet. Change-Id: I1f5d86c999d4495d661166f98183dfbc48f05f47
2022-05-17GSUP: add f_unregister_imsi() to unregister an imsi/connhdlrHarald Welte1-1/+14
Change-Id: I13f6784533fe0e1f42d9595f028861d4645ec1a9
2022-05-17GSUP: Add function to unregister expect; clarify namingHarald Welte1-8/+36
Change-Id: I4f2eb3c2b48c8626eb2da633579a874d089be73a
2022-05-16ggsn: Append MS TimeZone IE to CreatePDPCtxReqPau Espin Pedrol2-9/+51
TS 29.060 states that it shall be included for primary PDP context activation if the information is available, so let's add it by default. Change-Id: I8c7e491a07cadfe09403504a82d34e412673a531
2022-05-13ggsn: Append IMEISV IE to CreatePdpCtxReqPau Espin Pedrol2-9/+39
Change-Id: I00975328e94afd116e59c88fd96c5b0154810a1e
2022-05-13ggsn: Append ChargingCharacteristics IE to CreatePdpCtxReqPau Espin Pedrol2-9/+33
This IE is conditionally added if the HLR provides it to the SGSN. Let's add it by default so that we test code paths where GGSN parses it. Related: SYS#5925 Change-Id: Ia0f74041d2107afeaa36b94e33474370b7b07c0e
2022-05-05msc: add test for OS#5532: crash from CM Serv RejNeels Hofmeyr1-0/+28
Reproduce the assertion trigger crashing osmo-msc reported in OS#5532, i.e. a CM Service Request that contains a mismatching Mobile Identity. Causes osmo-msc to crash with an assertion, so run it last. Fix of the crash: I6c735b79b67108bcaadada3f01c7046e262f939b Related: OS#5532 Depends: I6c735b79b67108bcaadada3f01c7046e262f939b (osmo-msc) Change-Id: I3f84d00f456aaee578787059d7010c25efcdcf56
2022-05-04pgw: Send MSISDN in GTPv2C CreateSessionRequestPau Espin Pedrol1-1/+1
Change-Id: I71bcad944f40aa78357f2d11f54d139103ca3e24
2022-05-04remsim: server: TC_connect_{client,bankd}_duplicateHarald Welte2-0/+85
Add two new tests for the remsim-server, which simulate what happens if a client or bankd with identical ID connects twice. We expect the second connection to get rejected at RSPRO level, and to be closed. Change-Id: I29023f6b5ba430338c77bf01508c81bd6d8c99fa Ralated: OS#5527
2022-05-04ggsn: Use larger MSISDN numberPau Espin Pedrol1-1/+1
Change-Id: I8a1eeb48efdddaa4f5466cdbe72545523ce31cb8
2022-05-03bsc: Fix dangling subscriber talloc ctx in f_TC_paging_NreqPau Espin Pedrol1-1/+6
First, page only on BTS0, not all the BTS. This simplifies the test and also makes the subscriber be refcounted only on BTS0. Then, drop the OML connection after receiving all the expected paging requests; it will make the BSC flush the paging queue and hence avoid TTCN3 checks erroring due to dangling subscriber talloc contexts. Change-Id: Ibbd9168f3ac2c1cd4f4577644d75499d49c2823f
2022-05-03BTS_Tests: add TC_ipa_crcx_ack_addr reproducing OS#5242Vadim Yanitskiy1-0/+34
Change-Id: Ic85904c967238555a6243a3df2d9225b957d5a5c Related: OS#5242