Commit Graph

1955 Commits

Author SHA1 Message Date
Pau Espin 5a012eed43 bts: Introduce new module for performance tests
A new module is created since its tests are aimed at running against
real HW set ups to check performance of the system under high loads.
As a result, tests in here will usually require a specific config file.

One first test is introduced to activate all TCH/H channels and see if
the BTS (+BTS-TRX) can keep on going fine for a while.

Related: OS#4365
Change-Id: I2d5f0043bdee1f8f5edcf46acce79ce547d1333d
2020-02-13 12:39:35 +00:00
Oliver Smith 36cb88c6cc deps/Makefile: fix ECLIPSEGIT2 clone URL
Switch to working clone URL, after more repositories stopped working
with the old URL. Revert 865ba37553
("deps: Work around disappearing eclipse.org git repositories").

Related: https://bugs.eclipse.org/bugs/show_bug.cgi?id=559943
Change-Id: I04b690a262765f60b671225e1a5425e2750d093f
2020-02-10 11:25:26 +01:00
Harald Welte 865ba37553 deps: Work around disappearing eclipse.org git repositories
See https://bugs.eclipse.org/bugs/show_bug.cgi?id=559943
and https://bugs.eclipse.org/bugs/show_bug.cgi?id=559944

Change-Id: I8942e71e674d46dda7fb81d2076fa189ee31eecd
2020-02-08 14:17:33 +01:00
Harald Welte c5a8021557 remove titan.TestPorts.GPIO module
We don't use it, and it suddenly disappeared from git.eclipse.org,
see https://bugs.eclipse.org/bugs/show_bug.cgi?id=559942

Change-Id: I5e5b9ab3dca9ff574980dad37616cdc981dd8607
2020-02-08 14:02:45 +01:00
Oliver Smith 421ea89aab hlr: add TC_MSLookup_mDNS_service_other_proxy
Ask proxy HLR about configured sip.voice service, and expect result.

Related: OS#4380
Change-Id: I2c956119783972b5e6828bed7554a8a79984d8a2
2020-02-06 16:21:47 +00:00
Oliver Smith da83c8307c hlr: add TC_MSLookup_mDNS_service_GSUP_HLR_proxy
Ask proxy HLR about gsup.hlr service, and expect no answer.

Related: OS#4380
Change-Id: Ic42c909e6540b2294b1109dc19c1df348224457b
2020-02-06 16:21:47 +00:00
Oliver Smith 18b48081fe hlr: add TC_MSLookup_mDNS_service_GSUP_HLR_home
Request "gsup.hlr" service right after creating subscriber from the home
HLR. "TC_MSLookup_mDNS_service_other_home" is similar, but does not query
the "gsup.hlr" service. The "gsup.hlr" service has a different code path
in OsmoHLR:
- it exists without being explicitly configured and returns the IP and
  port of the HLR's own GSUP server
- the request is answered, even if the subscriber is not attached to the
  HLR (for Location Update via proxy)

Related: OS#4380
Change-Id: Id567989e4be7ac2d3857d3ea61a1ca3a2401a8dc
2020-02-06 16:21:47 +00:00
Oliver Smith b51a53fdfa hlr: add TC_MSLookup_GSUP_proxy
Let OsmoHLR act as proxy between MSC and home HLR during Location
update.

Related: OS#4380
Change-Id: I945e651f1346e56dbe3c02d9d08ccd95cc8d6626
2020-02-06 16:21:47 +00:00
Oliver Smith d5696eb56e library/DNS_Helpers: add f_enc_IPv4
Used by upcoming D-GSM test, to pass the IP of the emulated GSUP server.
The code is based on f_enc_dns_hostname() in the same file.

Related: OS#4380
Change-Id: I8a5450988711680c93cfd657a34db759a56bc41e
2020-02-06 16:21:47 +00:00
Oliver Smith 07786da45b library/GSUP_Types: add dest name to some messages
Prepare for upcoming D-GSM test, that lets OsmoHLR act as proxy. It
forwards the messages based on the destination name, so the testsuite
must set it correctly.

Related: OS#4380
Change-Id: I7623b7a7c7a18ba18a38d0834979d18ab0fbb961
2020-02-06 16:21:47 +00:00
Oliver Smith 6e81f7e940 hlr: add emulated GSUP server (second HLR)
Prepare for upcoming D-GSM test, which needs to emulate a GSUP server.

Related: OS#4380
Change-Id: Idbfe8a145c90a524145089a06d9bbefac4d7edd8
2020-02-06 16:21:47 +00:00
Oliver Smith deb80a6a82 hlr: add TC_MSLookup_mDNS_service_other_home
Send an mslookup mDNS request to the home HLR, asking about a service
that is not "gsup.hlr". Hence the "_other" in the test name, service
"gsup.hlr" has different code paths, and related tests will be added in
follow-up patches.

This is the first test using MSLookup_mDNS_Emulation, so add related
test infrastructure.

Related: OS#4380
Depends: osmo-hlr I2fe453553c90e6ee527ed13a13089900efd488aa
Change-Id: Ia7f92d33691f910549353b16a7b0efc18e521719
2020-02-06 16:21:47 +00:00
Oliver Smith 39ca7c3fe8 deps: set titan.TestPorts.UDPasp_commit
Fixes: 7c5cb6eb8a ("deps: use UDPasp from osmocom github fork")
Change-Id: I141b906d2a5969afb5f6e27413fa1c18c54d5708
2020-02-06 16:21:47 +00:00
Daniel Willmann 69cfc5e417 SGSN_Tests_Iu: Enable Iu tests that made the SGSN crash
Depends: osmo-sgsn I3fc614da6ba137e871ee0fe86ca22b6a4a354dd2
Change-Id: I96851c7c06c8f95ad280a275c2b83d825f0c88cb
Related: OS#3727
2020-01-28 14:44:39 +01:00
Daniel Willmann 1c1161119d SGSN_Tests: Wait for RAU Accept after receiving SecurityModeCmd
We don't want to pass the test or return from this function before
receiving a RAU accept. With Iu we expect a Security Mode
Command/Complete before the routing area is updated, but we do want to
wait for the actual RAU Accept or fail when receiving a RAU Reject.

Change-Id: Id89e2c6dae8cbdb5e8dee1c92960dc3346590a95
Related: OS#3727
2020-01-28 14:41:57 +01:00
Daniel Willmann 1c2ff0fa93 SGSN_Tests: Only call f_bssgp_client_llgmm_assign for Gb RAN
Calling this function with Iu RAN (ran_index > 2) does not work because
BSSGP_PROC[ran_index] doesn't exist.

Change-Id: Ieef654e3886759a40763ece3903de9127ba8d9c6
Related: OS#3727
2020-01-28 14:39:25 +01:00
Pau Espin e30d543576 sccp: Introduce test TC_it_avoids_tiar
Related: OS#4343
Change-Id: I3a970a9b7ed7fb178095760025dd83c570dcff5e
2020-01-21 14:22:20 +01:00
Pau Espin 1269b1b4c6 sccp: verify inactivity timers are not started in TC_udt_without_cr_cc
Related: OS#4343
Change-Id: I2cc5e41e33aac300d33887caed1cc3fbdffcbb17
2020-01-21 14:22:15 +01:00
Pau Espin 392eaf32fe sccp: Don't use hardcoded SCCP local references
as tests are added or order is changed, local references used by the system under test may
change, so let's take and use the one notified instead of harcoding
values.

Change-Id: I2b52cc637c20d5644f413030edd9040a6e6bfe2f
2020-01-21 13:18:41 +01:00
Vadim Yanitskiy 2521906537 MSC: add a test case to check T3212 expiration during paging
Long story short: some time ago I noticed that OsmoMSC crashes if
T3212 expires during the Paging procedure. This is not the case
anymore (as the test case shows) and apparently the bug has been
fixed, hovewer I believe it makes sense to add this test case.

Change-Id: If9147ae8b07d5120d2853b9acda2313910ac48be
2020-01-20 20:54:00 +00:00
Pau Espin f7ba234acf sccp: Introduce TC_udt_without_cr_cc
Change-Id: I752af1ae4a34d8d72472e716fe721198f1ba46b1
2020-01-20 20:24:10 +01:00
Pau Espin a2473da683 sccp: Introduce test TC_tiar_timeout
Existing templates are moved to SCPP_Templates.ttcn and new ones
required for the test are added there.

Related: OS#4343
Change-Id: I7b56fe77ac3b350d722c74b043e6ecabc48dcf31
2020-01-20 20:15:26 +01:00
Pau Espin 94b7a68f76 sccp: Stop test on rx unexpected sccp msg
Change-Id: I3889d7f275d3461fb51209d28c101a5570aca9b3
2020-01-20 19:31:46 +01:00
Pau Espin 6cd16469ff stp: Remove unneded copy of ConvertASPAddressToEncodedAddress_itu()
Since commit d0575c2fd8, we are using a
forked version of titan.ProtocolEmulations.SCCP with a change to allow
us to run those function directly from its module, no need to copy them
anymore.

Change-Id: I5fe700bd751e1f8f432d052ae6a2f013c5b89580
2020-01-20 18:18:45 +01:00
Oliver Smith 7c5cb6eb8a deps: use UDPasp from osmocom github fork
Has additional SO_REUSEADDR patch, which is needed for D-GSM mslookup
mDNS testing.

Related: SYS#4618
Change-Id: Ie7e1c3dbd67dba9079a5768e442faffc936fd7fa
2020-01-20 07:32:40 +00:00
Oliver Smith 66fde7672e deps: add titan.ProtocolModules.DNS
To be used in mslookup mDNS tests.

Related: SYS#4618
Change-Id: I89dd528b7934892c5a24209374e8218a95db6ab3
2020-01-20 07:32:16 +00:00
Oliver Smith 62a1c63436 hlr: f_perform_UL: add CnDomain parameter
Make it possible to do CS location update, not only PS. This is needed
for upcoming D-GSM related tests.

Related: SYS#4618
Change-Id: Idd699f054c9242614b9bea066428293f8b2da9c2
2020-01-20 07:31:45 +00:00
Pau Espin e187091e16 sccp: Rename module param sccp_cfg to mp_sccp_cfg
Change-Id: Ied9fbfb9bd35a99205ca13db033dd9ea03d51238
2020-01-17 17:34:23 +01:00
Harald Welte 9adf57b5ac Add SCCP_Tests_RAW for testing the actual SCCP implementation
Using SCCP_Tests_RAW.ttcn we can trasnceive decoded MTP3 primitives
containing decoded SCCP messages against a remote SCCP implementation.

Related: OS#4343
Change-Id: I07c43cfac9cdbdeccf102cd08309ca9ec64968cc
2020-01-17 17:34:23 +01:00
Pau Espin c64d7269b2 sccp: Modify SCCP_tests to be run against sccp_demo_user in srv mode
It's easier to handle several tests if they are the ones connecting to
the program under tests.
Forthcoming SCCP_Tests_RAW require use of this mode too.

Take the chance to tweak other values which were wrong, in order to have
CR answered correctly with a CC later on.

Related: OS#4343
Change-Id: Ibf99b1546411b9a9b4375b82f1003d93d3c1645d
2020-01-17 17:25:46 +01:00
Vadim Yanitskiy 2d3f846572 MSC/SMPP: fix RP-ACK expectations in TC_smpp_mo_sms
The MSC shall not send RP-ACK before the response from ESME.

Change-Id: Ide1376cae8e75412039b7dc9f0b8bb390eab2280
Related: OS#4351
2020-01-15 16:08:31 +00:00
Vadim Yanitskiy 3382076554 MSC/SMPP: introduce TC_smpp_mo_sms_rp_error for OS#4351
This test case reproduces the problem described in OS#4351:

  1. MS/UE submits a MO SMS which it getting touted to an ESME;
  2. MSC prematurely responds with RP-ACK to the MS/UE;
  3. ESME responds with DELIVER-SM error;
  4. SMS transaction is already terminated (by RP-ACK).

Expected behaviour:

  1. MS/UE submits a MO SMS which it getting touted to an ESME;
  2. ESME responds with DELIVER-SM error;
  3. MSC terminates the SMS transaction with RP-ERROR.

Change-Id: I33c6ea0ffdf8b8a45f587d690bdceb38fc42c898
Related: OS#4351
2020-01-15 16:08:31 +00:00
Vadim Yanitskiy e9e9301e87 library/L3_Templates.ttcn: fix length matching in tr_RP_ERROR_MT
Change-Id: Id5a4210a9f256f8bd7b0048fd65610de8c378bb9
2020-01-15 16:08:31 +00:00
Vadim Yanitskiy a358dd4398 MSC/SMS-over-GSUP: cosmetic: use a single log() call to print received PDU
Change-Id: I862766ac87715d5ad141405f343f0563fd75150f
2020-01-15 16:08:31 +00:00
Vadim Yanitskiy da77459579 MSC: fix coding style in f_tc_lu_and_mt_sms_paging_and_nothing()
Change-Id: Ide647f62150b2ca64e12044ae8dae5bb33e600c2
2020-01-15 16:08:31 +00:00
Harald Welte bc88eace05 deps/Makefile: Update Socket-API + IPL4 upstream tags
Change-Id: I557f1515528ac3a90b34c1fb647d88a1989fea37
2020-01-15 15:58:00 +00:00
Alexander Couzens 9269644b70 hlr: add TC_gsup_sai_num_auth_vectors
TC_gsup_sai_num_auth_vectors tests the GSUP IE
GSUP_IE_NUM_VECTORS_REQ which allows the client to
ask for a specific amount of auth tuples in a
Send Auth Info request.

Change-Id: I10a523cbaf08fe42924ffd0dc498496fdc76395f
2020-01-15 15:57:46 +00:00
Vadim Yanitskiy 5ef90a033e MSC/Iu: fixup: start 16 BSC_ConnHdlr components in parallel
Since Ibca0e9196c25ab00803041b81f7b490ba2f0a3ba we can have up to
16 components of type BSC_ConnHdlr running in parallel. Both
TC_multi_lu_and_{mo,mt}_ussd test cases have been updated,
but their Iu/UMTS siblings have not. Let's fix this.

Change-Id: Iaa7347e973ee617cc1780b84e0c298f0a302227c
2020-01-13 20:55:25 +00:00
Harald Welte 6cb85a67e9 deps/Makefile: Update most of our dependencies to upstream
Upstream TITAN repositories have almost no actual code changes.

However, they did switch to MPLv2, and they did update documentation
from word documents to asciidoc.

Change-Id: If5bd3d567de40ec2f72cdf63499435ac0bb4047e
2020-01-12 15:33:05 +00:00
Harald Welte b82ca2f656 deps/Makefile: Switch back to upstream for more repositories
Upstream TITAN has merged some of our changes upstream, so we can
move away from our forked repositories

Change-Id: I91a1e13173e059a94fb76858ec1a1879ab1a8686
2020-01-12 15:32:55 +00:00
Philipp Maier 15cd6870c5 BTS_Tests: skip tests that need PCU socket access
Some tests need direct access to the pcu socket, however, when working
with hardware bts this socket is not always available. The tests that
depend on the pcu socket are then skipped by the testsuite.

The following tests are not automatically excluded, but require direct
PCU access. Lets exclude them as well:

- TC_dyn_osmo_pdch_act_deact
- TC_dyn_osmo_pdch_double_act
- TC_dyn_ipa_pdch_act_deact
- TC_dyn_ipa_pdch_act_tchf_act_nack

Change-Id: I735b85d2ff3f541ebf0a558735d6172d69e7c29f
Related: OS#3863
2020-01-12 13:15:54 +00:00
Pau Espin a42745c93b msc: Introduce test TC_(iu_)chan_rel_sccp_tiar_timeout
Verify SCCP T(iar) timeout triggers release of established channel.

Related: OS#4343
Change-Id: Id6488a262e656f5c8fabb4e81f4797b305eb09e2
2020-01-12 13:11:39 +00:00
Pau Espin c675b6119c bsc: Introduce test TC_chan_rel_sccp_tiar_timeout
Verify SCCP T(iar) timeout triggers release of established channel.

Change-Id: Ic2724f62689b99c33e2e5c3a0c2fd022178a788c
2020-01-12 13:11:39 +00:00
Harald Welte d0575c2fd8 deps: Switch to osmocom fork of titan.ProtocolEmulations.SCCP
This allows us to use the ConvertPDUEncodedAddressToASPAddress()
functions from outside SCCP_CT.  See Change-Id
I72351168d4e0e79cea3319a537d51d47027266f4

Change-Id: I38b47c3b382281d0e7a3d80d1630362096949b6f
2020-01-12 11:48:58 +01:00
Harald Welte 29adc89e60 SCCP_Tests.default: Use "SccpDemoUser" as VTY prompt
It seems that our TTCN3 VTY/Telnet module no longer supports '-'
inside prompt.  However, older sccp_demu_user programs in
libosmo-sccp.git before Change-Id
I4b6d7dd6fdf7521a4a9071e50ac1dcb2993c74bb use this.

Let's adjust our expectation here to the new dash-less variant.

Change-Id: Ib00f1f89bf1484d8a8e07be8c0a1fc849bcf03a0
2020-01-12 11:48:58 +01:00
Harald Welte 94c88f4bd5 WIP: gen_links.sh + regen_makefile.sh for make SCCP_Tests
Change-Id: Ib6004d2b23c8207faac7f8b7bd07e84c404cd84d
2020-01-12 11:48:58 +01:00
Pau Espin 925818ac36 pcu: Check received IMSI suffix from PCUIF paging request
Change-Id: Ia11447fb71ea0b6a8fcce1a28e93cc166d22ef7a
2020-01-11 00:24:03 +00:00
Vadim Yanitskiy 1c9754dc0d MSC: add test cases for concurrent MO/MT SS/USSD transactions
Both test cases make use of the existing functions:

  - TC_multi_lu_and_mo_ussd: f_tc_lu_and_mo_ussd_single_request(),
  - TC_multi_lu_and_mt_ussd: f_tc_lu_and_mt_ussd_notification(),

starting several (*) BSC_ConnHdlr components in parallel.

(*) The maximum amount is limited by 16 - this is as much
    as both GSUP and SCTP emulation components can handle.

Change-Id: I2fb1c5d285163d5245d92fa24c197a5027ecbe6f
Related: OS#2931
2020-01-10 16:03:27 +00:00
Vadim Yanitskiy f3906e63f8 library/GSUP_Emulation.ttcn: extend size of GsupExpectTable
We already have 16 entries in the GsupImsiTable. Let's also extend
the GsupExpectTable, so we can have 16 components of type
BSC_ConnHdlr running in parallel.

Change-Id: Ibca0e9196c25ab00803041b81f7b490ba2f0a3ba
2020-01-10 16:03:27 +00:00
Vadim Yanitskiy ae74774138 MSC: f_ran_register_imsi(): allow passing omit as TMSI
Change-Id: I6dd2f77283a79e83f028115f4cc42f05db885838
2020-01-10 16:03:27 +00:00