Testing the corner case of receiving an Attach Request
while not (yet) sent an Attach Accept.
MS -> SGSN: Attach Request IMSI
MS <- SGSN: Identity Request IMSI (optional)
MS -> SGSN: Identity Response IMSI (optional)
MS <- SGSN: Identity Request IMEI
MS -> SGSN: Attach Request (2nd)
MS <- SGSN: Identity Response IMEI
MS <- SGSN: Attach Accept
MS -> SGSN: Attach Complete
Change-Id: I0bac50dc5a72ba8f9010b05bcb98aa7ff0b81cf6
When stopping and starting BSSGP_ConnHdlr multiple times, there
are Port connecting problems. Using a single iteration of
BSSGP_ConnHldr.start() works around this problem.
Change-Id: I8e5ae832f3908a172b9beb6d936074b806e0c799
TC_attach_check_complete_resend tests if the SGSN sends out the SGSN
Attach Accept multiple times. If the MS disappear,
there is no need for a ATTACH REJECT.
Change-Id: I3fa5c100b8389e184acf1e71e2792e5474c22dec
Cleans most of the sgsn state.
Depends on the SGSN commit I92096f3f6ea49e75676e30e9921d00210bac5382.
Change-Id: Idff3de6f1b8f5cb503edc5c6256ce2bf7ec7aaa2
MS <-> SGSN: Successful Attach
MS -> SGSN: Routing Area _a_ Update Request
MS <- SGSN: Routing Area _a_ Update Accept
MS -> SGSN: Routing Area _b_ Update Request
MS <- SGSN: Routing Area _b_ Update Accept
MS -> SGSN: Detach (PowerOff)
Change-Id: Ie636778628c216e315bd6f5bc11e0e5bd9c218a5
The LLC layer needs to be accessed by the SGSN tests
in order to do multi-BSSGP tests.
Otherwise the sgsn will see LLC frame with wrong sequence
numbers and drop them.
Change-Id: Ie9e9d7da0a78a96f4f431c9085b9e273a39535f1
Returns a RoutingAreaIdentificationV from GbInstance. This will be useful
when using multiple BSSGP and the g_pars.ra field is not the needed ra.
Change-Id: Ide96213ab2f210590b86deaf370486c8a0a78058
MS <-> SGSN: Successful Attach
MS -> SGSN: Routing Area Update Request
MS <- SGSN: Routing Area Update Accept
MS -> SGSN: Routing Area Update Request
MS <- SGSN: Routing Area Update Accept
MS -> SGSN: Detach (PowerOff)
Change-Id: Id76b4792c07816bcbe5e965f23c2b526df0923c3
The NS_Emulation has configuration values hardcoded or bound
to module parameters which prevents multiple instances.
Replace the module parameter based configuration with configuration
given when starting the NS_Emaulation.
Change-Id: I9128f9ad5c372779c38799269393137ba52576cd
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 cb111b21ab. 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
With this patch, I see all ttcn3-bsc-tests failing with
"Verdict: fail reason: VTY Timeout for prompt"
This reverts commit cb111b21ab.
Change-Id: I215d7ab5eee75cf6d3afaac760af64356c943140
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
Call mtc.stop after setverdict(fail), add reasons to most failures and
fail with verdict error for internal errors.
Change-Id: I9b618235939fa41160b9be6677b121963d3ec857
It's not needed for the functionality/scenario of f_gtpu_xceive_mo. It
probably was left in when creating it from f_gtpu_xceive_mo.
Change-Id: Ide226f8501c4598e2bfaa5f1ea62c3ff20807ce4
According to
"""
If a GSN receives a Delete PDP context without a Teardown In
dicator or with a Teardown Indicator with value set to
"0" and only that PDP context is active for a PDN connection, then the
GSN shall ignore the message.
"""
Change-Id: Id5d4774d719685631e4b467dff833ae886c90145
MS <-> SGSN: Attach
MS -> SGSN: Detach Req (Power off)
VTY -> SGSN: Check if MS is NOT in subscriber cache
Change-Id: I0956d54760f19ca556fa0d16ea4c5b96ac13f2fa
PARALLEL | VERDICTOP will log when the port is dying or when other
components will change to fail. This helped to find a timeout in the
SGSN tests where a function call message timed out.
Change-Id: I770ac964dc37e2752e7d35e493f707b091c739b0
TC_attach_rau will interact with the following tests, because the sgsn
is continuing sending RAU_ACCEPTs until it timed out or received a
RAU COMPLETE
Change-Id: Idac92bd61ee7145b7542e60c24e0a66b4ff7ddd4
Add ability to test UMTS AKA, by f_gmm_attach() with flags to select UMTS AKA
and to respond to it with GSM AKA SRES.
Add TC_attach_umts_aka_umts_res and TC_attach_umts_aka_gsm_sres.
Change existing TC_attach_* to also call f_gmm_attach(). (Actually,
f_gmm_attach() is almost exactly the previous TC_attach function body.)
osmo-sgsn change I36807bad3bc55c0030d4f09cb2c369714f24bec7 will implement
proper handling of GSM AKA response and make TC_attach_umts_aka_gsm_sres pass.
Related: OS#3193 OS#3224
Change-Id: I201ffeaee4439a413ab8289aceeccca9aba40a7a
'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
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
Add general infrastructure to
- pass an MCC-MNC for BSSGP to use into f_init();
- verify that the Attach Accept PLMN matches the BSSGP one.
Add TC_attach_mnc3() to feed an MNC with three digits and a leading zero, to
verify the recent mnc3 patches. When testing against a libosmocore and
osmo-sgsn before mnc3, this results in:
Test case TC_attach_mnc3 finished. Verdict: fail reason: "mismatching PLMN in Attach Accept: 02342F; expected 023042"
With the current master branches the proper 3-digit MNC with leading zero is
fed back into the Attach Accept message.
Change-Id: I8901ec0b090e342ebb04a04f9d759fc46c7d9cab
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
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
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
those were undetected as 'sgsn' is not yet part of the subdirectory
list in the master Makefile :/
Change-Id: I46b2baa10cc5a20cd0cb9c0bf32cc0e1a19d38e6
Based on the exsting NS/BSSGP emulation as well as the VTY, GSUP and
CTRL implementations, we are now building a test framework skeleton
for osmo-sgsn.
Change-Id: Icce90f9d8a680c7a523163e2c0bc03d12ff857e2