In Change-Id I52a4c8118828c1605cf672889982f987568ad17d we introduced
a name change for the SCCP/M3UA components, which meant that the log
level configuration did no longer apply as intended.
Change-Id: Iebdaf3446a81ea5f8310110f5cca2bdb3e552e3f
The L3 transaction-id in MT-SMS is allocated in the MSC, so any
messages we expect from the MSC must carry c_TIF_ORIG.
Change-Id: I6ea977a7662fdfc9c504f13ac5632ac20a04f522
'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
The testcase intentionally responds to the RAN sided CRCX
with a garbeled message to cause the MGCP handlin inside
the MSC to fail. The MSC is then expected not to perform
further MGCP operations since it did not get a proper
response to the first CRCX, so the specific endpoint name
is not known, eventually preventing from doing an MDCX.
However, the testcase responds to incoming DLCX commands,
instead setting the verdict to fail.
Also the altstep that dispatches the message after the
errornous MGCP response unconditionally catches all BSSAP
messages before entering the sub-altstep
as_clear_cmd_compl_disc() that handles the clearing of
the connection. Eventually the clear command is never
received in this sub-altstep.
- Make sure the verdict is set to fail when an MGCP
message is received after the errornous response to
the CRCX.
- Remove the unconditional BSSAP.receive in order to
be able to dispatch the clear command properly
- Update the expected-results.log file
Change-Id: I806491741d310e4410f6cb4ce0309235e9bf4300
Related: OS#2882
When the MS sends a Clear Request in the middle of a Location Updating, it
should be permitted for the MSC to send a Location Updating Reject back. Extend
with an alt that also allows a LU reject before the Clear Command.
The test explicitly hints at https://osmocom.org/issues/2862 which rightfully
forbids the MSC to send a second Clear Command after the first is completed.
However, this test so far explicitly permits a second Clear Command, so it was
probably passing in error all the time. Set verdict to failure if a second
Clear Command is received before the DISC_IND.
This changes the test verdict to failure with current osmo-msc master,
rightfully so; the failure will be fixed by the upcoming MSC subscr conn FSM
refactoring.
Change-Id: I7bc5555b829d61b0a2529107bc9b58446865545d
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
In Change-Id: I52a4c8118828c1605cf672889982f987568ad17d we introduced
config file syntax errors. It seems that change was not tested at all
before pushing :(
Change-Id: I80577798b502957afaa46abb510bcca3dc174ee4
The upcomming tests for inter-BSC handover make it necessary to
simulate multiple (two) BSCs to the MSC, while the current
Implementation can only handle one BSC instance at a time.
- Allow multiple BSC instances to be created
- Add a simple reset-test to test what happens when
two BSC instances are started (BSSMAP reset from two
different BSCs)
Change-Id: I52a4c8118828c1605cf672889982f987568ad17d
Related: OS#1609
The MMSC_Tests.cfg config file lacks most of the test comments.
- make sure the control section of MSC_Tests.ttcn and MSC_Tests.cfg
match up.
Change-Id: I89e6c65427a993261cab6a284e6cc3dbc5a5562f
The functions f_mt_call and f_mo_call establish a call, hold it
for 3 sec. and tear it down again. However, there may be test
situation where one wants to establish a call and then hold it
in order to perform other actions.
- split up the function into an _establish and _hangup part.
- add a replacement f_mt_call and f_mo_call function for the
already existing testcases
Change-Id: I0da9cf64d10de4036eb037ef5e491bfe3088670b
The problem is that Junit-XML doesn't have a mapping for inconclusive
results, and hence they show up as 'passed'.
By introducing this change, we make sure all tests that don't pass
show up as failed.
Change-Id: Iddd13d0055c91f9bd304ce9833fba0485abf4c4e
Test the reaction of osmo-msc when the DLCX at the end of a call
is not answered. Normally osmo-msc should time out and clear the
connection.
Change-ID osmo-msc:I78f1b6a9149488a4ad3f120c1e190a83c07d4b89 fixes
a regression that causes osmo-msc to segfault due to a use after
free. This testcase provokes the situation that leads to the
crash.
Change-Id: Ic124ea116496209f9a1d8e74ae3e3a36cf866db0
Related OS#2881
Related OS#2882
Not all tests were waiting/expecting the complete connection
shutdown, which results in the possibility for CLEAR CMD to arrive
during shutdown of the TITAN components and cause related errors.
Change-Id: I3a6c2e1f78b58f86ef84d4e323f432016a9afa7e
It may very well be that the MSC is first accepting the SCCP connection
and possibly sending a L3 (error) message before clearing/closing
the SCCP connection in case of errors in the COMPL L3 info.
Change-Id: I4cf08608413e9e1fb54848849baed79204f5dcd1
Until recently, OsmoMSC didn't distinguish 2-digit from 3-digit MNC,
and the config file states '42' as MNC while the tester used '042' in
several locations. This causes almost all MSC_Tests fail with recent
osmo-msc.
Let's fix the tests to use '42', as they should always have.
Change-Id: Id02bfd74127cf5551923912934240035106a8a4e
Originally, this code was not yet in an official upstream git repo.
However, it has been for many months, so let's remove our local copy
and use upstream git repositories like for all the other modules.
Change-Id: I2c616fb865df32cfec323d42e5d0d06de40c497b
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
Provoke a timeout error in the MGCP FSM which then triggers a
release on the CC layer. Ignore this release and let the CC leyer
timeout. The MSC is expected to clear the SCCP connection.
Change-Id: If3e0bee11763f1c6b2cfae91f2a818ff7d0df9e7
Related: OS#2881
Related: OS#2882
The following tests still lack support for wildcarded endpoints:
MSC_Tests.TC_lu_and_mo_call
MSC_Tests.TC_emerg_call_imsi
MSC_Tests.TC_mo_crcx_ran_reject
MSC_Tests.TC_mt_crcx_ran_reject
- Also add support for wildcarded endpoints for those tests.
This is a follow up patch for:
Change-Id I0efeae0f8a6e98deb843e79648f84a262f1d98f8
Change-Id: I16cb2582b9d1764d7cb7e4b787368a4dd5ddf69c
Related: OS#2710
In each subdir that is a target for symlinks, automatically ignore the results
of gen_links():
- At the top of gen_links.sh.inc, clear the .gitignore.
- In the loop, add each link name to the local .gitignore.
- In selected gen_links.sh, there is also a "manual" link creationg. So that
this also ends up in the local .gitignore, have the link creation as separate
gen_link() macro which at the same time adds to ./.gitignore.
- in the root .gitignore, ignore all the subdirs' generated */.gitignore files.
Change-Id: I73c11fe8362358bf7e1bdf0e1be53399b5d3351b
First of all, use one common place to define the gen_links() macro, in
gen_links.sh.inc.
In this new file, add a 'shift' to exclude the $DIR arg from also appearing in
$FILES.
This prevents the following wrong symlinks in the source dirs:
M3UA_CNL113537/src/src
MTP3asp_CNL113337/src/src
SCCP_CNL113341/src/src
Change-Id: Ia8493e77df1ba8723f2c5d2a49816247b0fb55f7
At the moment the testsuite is unable to detect when the call agent
performs a CRCX request with a wildcarded endpoint.
- Set a default endpoint name in cpars in case the MSC does
a CRCX request with wildcarded endpoint name.
- Detect if the MSC supplied a wildcarded endpoint name. Do
not overwrite the default setting in cpars then.
- Attach the endpoint name as Z: parameter in the response so
that the MSC knows which endpoint to use. (Unconditional,
does not harm on non wildcarded requests)
Change-Id: I0efeae0f8a6e98deb843e79648f84a262f1d98f8
Related: OS#2710
The testcase TC_mo_crcx_ran_timeout does not respond to the BSSMAP
relase request that is sent when the MGW times out.
- Acknowledge the release request before waiting for the MSC
to clear the SSCP connection
Change-Id: Ifcf9ebd2cc5184524ecae735257ed12a0ca70f71
Related OS#2881
Related OS#2882
This testcase triggers a bug in the BSSMAP reset logic that tricks
the MSC into a deadlock situation. The bug can only be triggered on
a freshly started MSC, otherwise the testcase will not have any
effect at all. That's why it its important that this is the first
testcase to be executed. If the IUT (MSC) is still affected by the
bug. It will enter the deadlog situation and all subsequent testcases
should fail until the IUT (MSC) is restarted. The matching real-life
scenario would be that the MSC restarts. The BSC is not informed by
the restart, so it continues to make connections (which fail) until
it notices that the MSC was down and the execution of a BSSMAP reset
procedure is required.
See also Gerrit Change Id:
I3fdcec5dbeaa0e21fd6a92568a623faa368239be
Closes: OS#4120
Change-Id: I1d7575e5bec9edabcc832c754d19dc5ba489861a
To trigger the segfault described in OS#2947, run TC_lu_imsi_auth_tmsi_encr_3_1
with logging category for MSC to set to debug.
Change-Id: I72a1dbb30e0a39dbf4b81c7e378d5607b62e10d3
This is a variation on TC_lu_imsi_auth_tmsi_encr_3_1 that "indicates" inability
of A5/3 by completely omitting a Classmark2.
Add flag send_cm_update to f_tc_lu_imsi_auth_tmsi_encr_3_1() so that we can
easily omit the classmark update. Set this flag to true in existing
TC_lu_imsi_auth_tmsi_encr_3_1, and add pass false from the new test.
Change-Id: I903136d5acbd88f2e0e26fee22e3878258e04786
Previously, f_start_handler() would initialize the BSC_ConnHdlrPars instance,
making it impossible to change those parameters before the test function was
invoked.
Add separate f_init_pars() function that sets the default parameters.
Change f_start_handler() to take a BSC_ConnHdlrPars argument; i.e. that
f_init_pars() can be called first, the parameters can then be modified and
finally fed into f_start_handler().
Change-Id: I46de36a032c2473025d0eb01e5909dbcdaf394f7
By moving to the BSC_ConnHdlrPars, also the tests that expect a LU failure able
to indicate a send_cm_update flag.
All current callers of f_perform_lu() pass send_early_cm as 'true', all are
covered by a default of 'true'.
Change-Id: Ic882293f199a33133a171bff14ff433f99cc8576
Let's use the preprocessor to avoid IPA_Emulation pulling *all*
dependencies into each and any of our projects. The code readability
suffers a bit from the many #ifdefs, but compilation speed increases
if we don't have to pull in all those (recursive) dependencies.
After all, a BTS test case will never need SCCP, GSUP or MGCP.
Change-Id: Ic0231adbd2171214de133d26b3fbf36130ee8aa0
Channels not being closed/cleared at the end of the test is a clear
failure, so don't mark the test as inconc.
Change-Id: Ie9188111da744f0aafaac02841d36a957bfc8d86
Let's make sure we share common configuration between the test
suites and split the config file into a "default" part which is
used (but not copied) in the Docker images, and a "local" part
which is basically those overrides that the user (or docker image)
wants to do from the default.
Change-Id: I3db452e24e5238aa05254d903739c64d202e61db
This fixes TC_emerg_call_imsi with current osmo-msc master. The old
implementation was broken as it didn't deal with MGCP yet.
Change-Id: Ic35797931387b078205269365421ad730db7af15
This adds a series of test cases that test various combinations of
A5/0, A5/1, A5/2 and A5/3 on both phone as well as network config
side.
Change-Id: I552fa4a23b7b65613a69b1a822e28e7dea401102
This record collects information about the network configuration,
such as whether or not authentication, tmsi allocation and/or
encryption are enabled. The individual helper functions can then
react according to this information, without having to pass long
argument lists along the call chain.
Change-Id: I01a931f1cbbca4593fff2fd12689f040ceaa79b6