aboutsummaryrefslogtreecommitdiffstats
path: root/hlr
AgeCommit message (Collapse)AuthorFilesLines
2021-02-26hlr: Get rid of module param mp_hlr_supports_dgsmPau Espin Pedrol2-14/+6
This param is not needed anymore since new releases used in -latest don't need to disable it. Change-Id: I484267c169646310564bd6d9cd13a196b61400e4 Related: OS#5042
2021-01-07CTRL: Introduce support to run osmocom CTRL serverPau Espin Pedrol1-1/+1
Change-Id: I37db9962f51baf2c63bd58ec47ec89f773d7a255
2020-10-01update expected resultsNeels Hofmeyr1-1/+31
Change-Id: Icb534a2b00fc48c3ead009a620e6061e595cb581
2020-05-19update expected resultsNeels Hofmeyr1-1/+8
Change-Id: I37014274ee97f09985c31966e7cc9122fe11a856
2020-05-18library/IPA: use tr_ASP_IPA_EV instead of inline templatesVadim Yanitskiy2-3/+3
This way we can easily add new parameters to ASP_IPA_Event. Change-Id: Icc37286fcb4d43836d56a26424ecb9dcba58d1f1
2020-05-18library/IPA: split t_ASP_IPA_EVT_UD into send / receive templatesVadim Yanitskiy1-1/+1
Change-Id: Ib5494bff3f9aa0ac396b729c326e7b4a64c5a5dd
2020-05-11hlr: add tests for GSUP proxy routingNeels Hofmeyr1-38/+124
GSUP proxy routing, as it is implemented in an upcoming osmo-hlr patch, requires that osmo-hlr returns a received Source Name IE back as Destination Name IE. Add tests for these, for various situations. These tests pass since GSUP request handling with request->response association was introduced to osmo-hlr in I179ebb0385b5b355f4740e14d43be97bf93622e3. Implement this by adding a source_name to the g_pars, which should be sent out in ts_GSUP_* to osmo-hlr, and expected back as destination_name in returned messages. Add source_name and destination_name to various templates, with default := omit. Add f_gen_ts_ies() and f_gen_tr_ies() to compose expected IEs more generically. Change-Id: I3728776d862c5e5fa7628ca28d74c1ef247459fa
2020-02-06hlr: add TC_MSLookup_mDNS_service_other_proxyOliver Smith1-0/+43
Ask proxy HLR about configured sip.voice service, and expect result. Related: OS#4380 Change-Id: I2c956119783972b5e6828bed7554a8a79984d8a2
2020-02-06hlr: add TC_MSLookup_mDNS_service_GSUP_HLR_proxyOliver Smith1-0/+42
Ask proxy HLR about gsup.hlr service, and expect no answer. Related: OS#4380 Change-Id: Ic42c909e6540b2294b1109dc19c1df348224457b
2020-02-06hlr: add TC_MSLookup_mDNS_service_GSUP_HLR_homeOliver Smith1-0/+44
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-06hlr: add TC_MSLookup_GSUP_proxyOliver Smith2-1/+65
Let OsmoHLR act as proxy between MSC and home HLR during Location update. Related: OS#4380 Change-Id: I945e651f1346e56dbe3c02d9d08ccd95cc8d6626
2020-02-06hlr: add emulated GSUP server (second HLR)Oliver Smith1-5/+66
Prepare for upcoming D-GSM test, which needs to emulate a GSUP server. Related: OS#4380 Change-Id: Idbfe8a145c90a524145089a06d9bbefac4d7edd8
2020-02-06hlr: add TC_MSLookup_mDNS_service_other_homeOliver Smith5-1/+100
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-01-20hlr: f_perform_UL: add CnDomain parameterOliver Smith1-2/+3
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-15hlr: add TC_gsup_sai_num_auth_vectorsAlexander Couzens1-4/+61
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
2019-12-03hlr: Don't attempt to find AUTN in 2G-only tupleHarald Welte1-1/+3
In Change-Id I40c6cf7e28ad9331e6c27fe7acafa3f9e277eedf we introduced a patch that verifies the AMF separation bit for 3G/3G vs 4G authentication. However, the test ignored the fact that AUTN cannot be present in pure 2G tuples. This makes TC_gsup_sai pass again. Change-Id: I9b61e62a58b583461dd5e67dd12119be282cae21
2019-12-02HLR: Add test for generating EPS (LTE) tuples with separation bit == 1Harald Welte1-2/+75
Depends: osmo-hlr Ic766bc40f6126bb479bd0a05b0e96bec3e240008 Change-Id: I40c6cf7e28ad9331e6c27fe7acafa3f9e277eedf
2019-11-25hlr: stop on various failuresNeels Hofmeyr1-1/+15
I found some of the tests hard to analyse when geting failures, because they don't stop the test on failure. Spread some 'mtc.stop' so that the test stops at the failed message instead of carrying on. Change-Id: I804aca84d0ccf4767a5c097cf6c882ccbd87c4e1
2019-07-08hlr: update expected-results.xmlOliver Smith1-1/+7
Add check imei, create-subscriber-on-demand tests. Change-Id: I8ea4a90d5da8367f369522cfd9133e2c6061dd5c
2019-06-18hlr: add create-subscriber-on-demand testsOliver Smith1-0/+173
Test all possible code paths where a subscriber on demand can be created: * Check IMEI early * Location Update * Send Auth Info Related: OS#2542 Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e
2019-06-13hlr: add Check IMEI testsOliver Smith1-0/+110
Create tests for most code paths of rx_check_imei_req() in hlr.c (except for subscriber create on demand, this will be in an upcoming patch). Add missing message types to GSUP_Types.ttcn, and adjust the IMEI and IMEI_Result IEs for consistency with the existing IEs, and to make the tests compile. Related: OS#2541 Change-Id: I97c8462f0817149feadd0c4865e3df6c2af92a80
2019-06-13hlr: add f_vty_subscr_show_nomatch()Oliver Smith1-0/+13
Allow to check if a certain pattern does not match the "show subscriber" output. This will be used by upcoming tests for the check IMEI GSUP message type, to check if the IMEI was not stored, depending on the OsmoHLR configuration. Change-Id: I176d8fd2ee74e1eb7ac797f931cd6005d398740f
2019-06-09hlr: add osmo-hlr.cfgOliver Smith1-0/+23
Copy osmo-hlr.cfg from docker-playground.git, but replace all IPs with 127.0.0.1. Change-Id: I73f673523dab8765ca87851175fafdec9fc20e1b
2019-05-27cosmetic: Update copyright statement, license notice and SPDXHarald Welte2-1/+23
Some of our files didn't have a copyright notice at all, let's add it. Also, update the notices in other files and ensure a SPDX identifier is present in all but the most trivial files. Change-Id: If7fa19ce484b415bc645e39b3d0d666b44b5f0fd
2019-03-29HLR_Tests.ttcn: suspend some compilation warningsVadim Yanitskiy1-20/+34
In the most use cases of f_SS_expect() we are not interested in GSUP_PDU returned by this function. Calling it without storing the returned value causes TTCN-3 compiler to complain: warning: The value returned by function `@HLR_Tests.f_SS_expect' is not used Let's make use of previously unused variable 'res', and save the returned GSUP_PDU to make the TTCN-3 compiler happy. Change-Id: Ifda42aa18af8076013b436364513296b2b008731
2019-01-23update expected resultsNeels Hofmeyr1-1/+1
Change-Id: Idacaf8343bed4a37878eacdf338c4d5eb46bf7a7
2018-11-29library/GSUP_Types.ttcn: fix missing session state IE in PROC_SS_ERRVadim Yanitskiy1-4/+4
Both session state and session ID IEs are always being encoded together by libosmocore's GSUP implementation. So, if a message contains a session ID IE, session state IE shall also be there. For some reason, the session state IE was missing in both ts_GSUP_PROC_SS_ERR and tr_GSUP_PROC_SS_ERR templates. This could led to incorrect matching in our test cases. This change fixes both templates by adding the missing IE. Since tr_GSUP_PROC_SS_ERR templete is used in HLR_Tests.ttcn, all the affected matching statements were also corrected. This correction doesn't affect successful test case executions, because we don't test possible problematic situations yet. But if something went wrong on the HLR side (i.e. SUT), the matching statements wouldn't match the PROC_SS_ERR message correctly and continue to wait until the guard timer is expired. Change-Id: I44070396ce7119eab4608d9f9fb090bb223dfaa2
2018-11-28HLR_Tests.ttcn: introduce TC_mo_sss_rejectVadim Yanitskiy2-0/+51
As at the moment, OsmoHLR doesn't support "structured" SS, such requests are being rejected. This test case aims to verify that. Change-Id: I147b919d0242b3b44e39a4587bf1b4660fa58bd2 Related: OS#3651
2018-11-12hlr: Fix DTE by requesting the correct typeDaniel Willmann1-1/+1
Previous commit d686a8a54873eb61fae7d55cb001378dae3fbd7d from Vadim introduced a copy and paste error. Change-Id: I5075b17a810762651e0c7d638cc4c35c58436cd9
2018-11-04hlr/HLR_EUSE.ttcn: remove redundant code from f_main_mo()Vadim Yanitskiy1-13/+9
There is no need to pass session state from f_main_mo() to a choosen EUSE handler (e.g. f_ss_echo), because a handler itself is capable to extract the session state IE. Change-Id: I1054baf3e7dafd05b797610b586e6202740f07b6
2018-10-24Add Misc_Helpers.ttcn to centralize TTCN3 shutdown handlingDaniel Willmann1-1/+1
This function can now be called from anywhere to try and safely shutdown a testcase. It is not optimal as we can't call "all component.stop" from outside the mtc, but without any proper and orderly shutdown handling of all our emulation components I believe this is the best we can do. To use it: import from Misc_Helpers all; in your module and then call Misc_Helpers.f_shutdown(__BFILE__, __LINE__); You can also pass the function a verdict and a message and it will take care of calling setverdict, but beware of the following: While setverdict would accept any number of arguments as log message and convert them to a log string f_shutdown expects one charstring. It's possible to use the log2str function to use the log arguments in setverdict for f_shutdown, for example setverdict(fail, "Template didn't match: ", tmpl_foo); would become Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Template didn't match: ", tmpl_foo)); Change-Id: I84d1aa6732f6b748d2bfdeac8f6309023717f267
2018-09-06update expected resultsNeels Hofmeyr1-1/+8
Change-Id: I32c29e62ca317937db771f8fb1540bb1fe9da2ab
2018-08-08HLR: Actual USSD test casesHarald Welte1-3/+338
Change-Id: I74a3419140179b1625e82d1298864e424fb81398
2018-08-08hlr: actually register simulated MSC as "MSC" identity to HLRHarald Welte1-0/+1
Change-Id: I3b6dc719318db8aef960f3249c16c20deb5793a7
2018-08-08HLR: Add HLR_EUSE.ttcn to implement minimal external USSD EntityHarald Welte1-0/+124
As OsmoHLR is getting support for external USSD Entities (EUSEs), we have to implement this function in the test logic in order to test it. Change-Id: Ibab210b06abfd5a21e81c7f7fbe574c4f67414a0
2018-08-07hlr: Link required libraries for USSD / SS messagesHarald Welte2-3/+19
Change-Id: I4501a4843b412dc06051c5e037764e581de1977a
2018-07-27detect VTY TELNET port connection failures (attempt #2)Stefan Sperling1-0/+1
Pass the CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT parameter to the TELNET port by default. This allows tests to make progress into an error handling path if they are started while the osmo-* program they want to connect on VTY is not running. Observed with osmo-ggsn tests, where if the one test runs into a VTY connection failure the subsequent test would get stuck forever in a map() call on the VTY TELNET port. Teach the function f_vty_wait_for_prompt() about connection reports by the TELNET module. We may now receive an integer which represents the socket file descriptor for the telnet connection. This case was not handled by the previous change made in commit cb111b21aba1d5881da1a1d3f19754cbd15b3779. As a result, BSC tests started failing with "VTY Timeout for prompt" because the alt-statement in f_vty_wait_for_prompt() would not progress past the integer sitting on the VTY port's receive queue. Change-Id: I56925f93af6c55e93f3f417099db135744da6a40 Related: OS#3149
2018-07-27Revert "detect VTY TELNET port connection failures in TTCN3 tests"Neels Hofmeyr1-1/+0
With this patch, I see all ttcn3-bsc-tests failing with "Verdict: fail reason: VTY Timeout for prompt" This reverts commit cb111b21aba1d5881da1a1d3f19754cbd15b3779. Change-Id: I215d7ab5eee75cf6d3afaac760af64356c943140
2018-07-27detect VTY TELNET port connection failures in TTCN3 testsStefan Sperling1-0/+1
Pass the CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT parameter to the TELNET port by default. This allows tests to make progress into an error handling path if they are started while the osmo-* program they want to connect on VTY is not running. Observed with osmo-ggsn tests, where if the one test runs into a VTY connection failure the subsequent test would get stuck forever in a map() call on the VTY TELNET port. Change-Id: I9acf7793d5d68aec6d087cff254a10d8b673dab1 Related: OS#3149
2018-07-24Stop tests after failuresDaniel Willmann1-6/+6
Call mtc.stop after setverdict(fail), add reasons to most failures and fail with verdict error for internal errors. Change-Id: I9b618235939fa41160b9be6677b121963d3ec857
2018-06-15hlr: Port HLR tests to use GSUP_EmulationHarald Welte2-127/+265
Going via GSUP_Emulation (rather than using GSUP_CodecPort directly) adds many benefits, such as: * ability to have multiple transactions in parallel * no silent discard/ignore of unexpected GSUP messages, like those for IMSIs we don't expect. Change-Id: Id2ddd6b81c374ad6350b62fcc5442436757d66cd
2018-06-14Add README.md file for several suitesPau Espin Pedrol1-0/+16
Content grabbed from [1] and converted to markdown as it's more probable to have it displayed correctly on popular git repo hosting platforms. Syntax for embedded graphviz taken from [2]. [1] http://git.gnumonks.org/laforge-slides/plain/2018/osmodevcon2018-ttcn3_test_suites/osmodevcon2018-ttcn3_test_suites.adoc [2] https://github.com/stlehmann/markdown-graphviz Change-Id: I9aad03e605569e9613665a7585d60bf308bcb54f
2018-06-12Osmocom_VTY_Functions: move f_vty_transceive_match from HLR to this libraryAlexander Couzens1-8/+0
f_vty_transceive_match will be used by future SGSN tests. Change-Id: Ia69ab6d5639c2e10059f88c8cc97463820cb72e6
2018-06-11hlr: Update expected-resultsHarald Welte1-6/+1
as of Change-Id Change-Id: I4f51abdf44dfc62d7e8792341aad6dafe58923da, osmo-hlr passes HLR_Tests.TC_gsup_sai_err_invalid_imsi Change-Id: I72fb71806c72ce29e8c6c9b25723f02009463cec
2018-04-11mask timestamps and source file nrs in expected-results.xml filesNeels Hofmeyr1-13/+13
Prepare for upcoming updates with concise diffs. Change-Id: Ic9f006aa8db1b477598605e0525faeb229b03641
2018-04-11fix build: don't clean out expected-results.log: rename to *.xmlNeels Hofmeyr1-0/+0
'make clean' as generated by ttcn3_makefilegen removes all *.log files, which of course cleans out expected-results.log, which should not happen. Since this is a junit XML file, rename the suffix to .xml. Change-Id: Ic334f6b758eef865e3a497aa430691a3ae696d25
2018-04-09update expected HLR test results to prevent unexpected 'pass'Stefan Sperling1-9/+4
With https://gerrit.osmocom.org/#/c/7685/ the test TC_vty_msisdn_isd is now passing. Update expected log output accordingly. Change-Id: Ie8cfbef5a0adcb927917b0623f89309479a60001 Depends: Iffe1d7afb9fc7dbae542f70bbf5391ddc08a14b4 Related: OS#2785
2018-04-09improve failure diagnostics in TC_vty_msisdn_isd HLR testStefan Sperling1-0/+4
Check for reception of an Insert Subscriber Data with outdated MSISDN. This happened to me while working on a fix for issue OS#2785, and it seems to be an easy mistake implementations can make. Catch this situation in the test and log an explicit message about the problem. Related: OS#2785 Change-Id: Ib0809617cca621cc22f29b078828057fd49f27e5
2018-04-06add compare-results.sh, call from start-testsuite.shNeels Hofmeyr1-0/+23
Compare current test results to the expected results, and exit in error on discrepancies. Add compare-result.sh: (trivially) grep junit xml output to determine which tests passed and which didn't, and compare against an expected-result.log, another junit file from a previous run. Summarize and determine success. Include an "xfail" feature: tests that are expected to fail are marked as "xfail", unexpected failures as "FAIL". In various subdirs, copy the current jenkins jobs' junit xml outputs as expected-results.log, so that we will start getting useful output in both jenkins runs and manual local runs. In start-testsuite.sh, after running the tests, invoke the results comparison. Due to the single-line parsing nature, the script so far does not distinguish between error and failure. I doubt that we actually need to do that though. Related: OS#3136 Change-Id: I87d62a8be73d73a5eeff61a842e7c27a0066079d
2018-03-16ignore results of .ttcnpp filesNeels Hofmeyr1-0/+2
Add another macro ignore_pp_results to gen_links.sh.inc and call from all gen_links.sh files, to add results of *.ttcnpp files, i.e. generated *.ttcn files, to .gitignore. Change-Id: Ic7fb176226771212d7700dafaf27ac71f12a4a61