Commit Graph

4233 Commits

Author SHA1 Message Date
Philipp Maier ade455b09c MGCP_Test: fix config file include path
The config file mistakenly references the defaults for the MSC.

- correct include path to use MGCP_Test.default

Change-Id: I12c6907717dfba1c31790a2b71f42e37743351af
2018-03-16 13:46:40 +01:00
Philipp Maier 94f3f1bfa6 MSC_Tests: Test SCCP clearing on release timeout
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
2018-03-16 11:10:22 +01:00
Philipp Maier f1e02bb46b MSC_Tests: Support wildcarded endpoints (follow up)
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
2018-03-16 09:15:32 +00:00
Neels Hofmeyr 53fb0cf22b gen_links.sh: auto-generate .gitignore files to ignore symlinks
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
2018-03-16 00:08:08 +01:00
Neels Hofmeyr 1a4c4601d7 fix gen_links.sh: don't include source dir as link target
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
2018-03-16 00:08:02 +01:00
Philipp Maier 4b2692d50b MSC_Tests: Support wildcarded endpoints
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
2018-03-14 21:08:20 +00:00
Stefan Sperling 83348bcfbf fix cell identifier generation in ttcn3 paging tests
The cell identifier used by the paging tests is 001-01, i.e. uses a
2-digit MNC. With the introduction of 3-digit MNC support in osmo-bsc,
the paging tests became incompatible with a osmo-bsc config with:

  network country code 1
  mobile network code 1

Explicitly declare a Cell_Identity with 2-digit MNC (includes an 'f').

Also, fix f_enc_mcc_mnc to properly encode 2-digit MNC values.

Related: OS#2847
Change-Id: Ide5228b403e43de8649b6eda18749ea2a9f592a9
2018-03-14 17:59:41 +01:00
Philipp Maier 8e58f596dc MSC_Tests: Respond to BSSMAP release
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
2018-03-14 12:33:34 +00:00
Harald Welte 3568dc7c4b PCUIF_Types: Upgrade to PCU interface v9
Change-Id: If024bbe51d91666fcfe9d3458d85ff269c327a7c
2018-03-13 17:41:51 +01:00
Harald Welte d378a256c7 bts: Verify the PCU protocol interface version
Change-Id: If2033720a38879cd2f4c4f8d3fe3fed1468da3cb
2018-03-13 17:03:46 +01:00
Harald Welte 99ca30ce2e remove *.default from [EXECUTE] in *.default files
The problem is that the .cfg file cannot override the [EXECUTE]
provided list of tests

Change-Id: I7e1e0499b3b32014b25ae4b515263f57a4ea6daf
2018-03-13 14:30:55 +01:00
Harald Welte ea17b91e78 bts: Add TC_sacch_info_mod and TC_sacch_filling
Change-Id: I38b3e302eddb699b2dbdae06fc929dd59de7b2dc
2018-03-12 16:04:54 +01:00
Harald Welte 21240e63f9 bts: Add f_rsl_transceive() flag to ignore all unrelated messages
f_rsl_transceive() is currently using a number of default altsteps,
but those are not applicable in all cases.  Let's make this
configurable, and use that flag during channel release.

Change-Id: I34d8e9350dbe2b032a7454d7f003262e27c802ad
2018-03-12 16:04:53 +01:00
Harald Welte 629cc6b77a bts: Add TC_deact_sacch()
This test case checks on each logical channel if the DEACT SACCH RSL
message actually deactivates downlink SACCH as expected.

Change-Id: Id8219ffce0635071cb50669b89368de51fe82843
2018-03-12 16:04:48 +01:00
Harald Welte 294b0a299c bts: Add f_shutdown() for clean shutdown; use it from tests
Change-Id: I225d2363c77dce969bda95ff27506bece586a34a
2018-03-12 16:04:45 +01:00
Harald Welte 3dc2046427 bts: Send DM_REL_REQ to L1 when closing logical channel
Change-Id: I0c0bb52b4de20dfd2d4ea8d0045ea63d84686ac5
2018-03-12 16:04:44 +01:00
Harald Welte 3c0a0f8a40 bts: f_rsl_transceive: Add altsteps for sacch/facch/meas_rep
It may be that during CHAN DEACT we still receive any of those messages,
which is not an error condition.  Let's activate the related altsteps.

Change-Id: Ic27b28ead3fc4bff82655d0e8d88fda01b71eca7
2018-03-12 16:04:42 +01:00
Harald Welte 5398d5e6f7 bts: Make f_TC_meas_res_periodic work with real BTS
In a real BTS + OsmocomBB-L1, we cannot control fake ToA/RSSI, but we
simply assume the signal is strong/good.

Change-Id: I55a79f9e23118d2bb28f27cbcc7ab28712570ef1
2018-03-12 16:04:41 +01:00
Harald Welte fa45e9ed8c bts: Ignore first MEAS REP as it often contains bogus values
The first measurement report typically has bad performance as
it contains measurements taken before the MS actually started
to transmit on it.  Let's make sure we only validate all but
the first MEAS REP

Change-Id: I5edfdca0c2b5c63073dca7f12f9c0d447e37995c
2018-03-12 16:04:39 +01:00
Harald Welte d5684396e5 bts: Introduce RxLev/RxQual tolerance values
In real-world measurements there's always some tolerance.  Use
templates for integer ranges of rxlev + rxqual and add some module
parameters to make them configurable.

Change-Id: I41396ad081706a0dbd6cc992b81d9bba266b6d6d
2018-03-12 16:04:38 +01:00
Harald Welte 84271629d7 bts: Make PCU and TRXC sockets optional
If we want to test with a real (remote) BTS, we can neither access
the PCU socket nor is there any fake_trx control socket for fake
toa/rssi

Change-Id: Ibb02cf289b0d2e77170f146463822c164efc21cd
2018-03-12 16:04:37 +01:00
Harald Welte 0fd1fb08ef bts: Align default SI contents with what we see from OsmoBSC
Change-Id: I8d0fa73e1a9b859e1833b0d2ce8cb6bbf07938cc
2018-03-12 16:04:36 +01:00
Harald Welte b9585f840c BTS_Tests: Access Control Classes are inverted
No normal phone would ever send us a RACH request due to all ACC
being barred in the SI of BTS_Tests

Change-Id: I149dca67971bde3072ec2081d9ad7e8f43434ebf
2018-03-12 16:04:34 +01:00
Harald Welte aca6e07cf7 L1CTL: Have proper timeout during reset
Change-Id: Ib6b33f522eddb1377e9857cc5d88363852732b46
2018-03-12 16:04:33 +01:00
Harald Welte 3757e60d6f L1CTL: make sure to self.stop in all setverdict(fail) cases
Change-Id: I2013a8ec0641d8ef935e6615c1bde599f42db260
2018-03-12 16:04:31 +01:00
Harald Welte f8df4cb339 L1CTL/bts: Fix tons of compiler warnings by splitting rx+tx templates
Change-Id: I9c8be0856516a6a168795c792f76d14c08c3dabb
2018-03-12 16:04:22 +01:00
Harald Welte cc5c1152cc WIP: Work towards a more real DL TBF receiver implementation
Change-Id: I300312734d99f2b8a406f39e04b4f738940f7579
2018-03-12 16:04:15 +01:00
Harald Welte b669ee029e pcu: First DL TBF hack
Change-Id: Ib3f09e125a7a4492d9072f8e9f5896eaac7ed03b
2018-03-12 15:50:03 +01:00
Harald Welte 0cae455d2c bts: Add test for SI1 scheduling
We so far only tested combinations without SI1 present, let's change
that.

Change-Id: I5a62901a9477a75dce12299a0b1359d7744f75f3
Related: OS#3051
2018-03-12 14:29:20 +00:00
Harald Welte 370527372d L1CTL: Add f_L1CTL_PARAM for timing advance + tx power control
Change-Id: I30051804ae9cc62b5ad8c8a11a53d96489b8a52f
2018-03-12 14:29:14 +00:00
Harald Welte 3778acc5d5 BTS_Tests: Fix SI L2 pseudo-length and rest octets
Now the cell is actually recognized by phones

Change-Id: I76b5b178b6884241cfa9b86550aac4865419ef76
2018-03-12 14:28:55 +00:00
Harald Welte f8e7f135d6 L1CTL: Fix passing 'combined' and 'offset' from f_L1CTL_RACH()
The function didn't pass its arguments down into the actual L1CTL
port and instead provided '0' into t_L1CTL_RACH_REQ

Change-Id: I5af9654e1fd903420b0dfe7f2db0a6572803d9ef
2018-03-12 14:28:49 +00:00
Harald Welte 8fe9eba3eb L1CTL: Try FBSB up to 10 times in f_L1CTL_FBSB()
For some reason, even with a perfectly valid/strong signal, the FBSB
task sometimes fails in the firmware.  Let's wrap a loop around
it and try up to 10 times before failing the test.

Change-Id: I2262278dcd7e2f0cf4d293e0549527866522bece
2018-03-12 14:28:41 +00:00
Harald Welte 344c0cf6cf L1CTL_Types: Fix bit-ordering in FBSB_REQ
Change-Id: Idbfdf1e855489c37a7212573ef51bd7fc63f24f7
2018-03-12 14:26:54 +00:00
Harald Welte 439e546539 RLCMAC_EncDec: Fix handling of optional LlcBlockHdr
Whenever the OPTIONAL<> construct is used for a member of a record,
we have to add an extra set of parenthsis in order to avoid bogus
"has no RAW decode method" error messages.

It seems the OPTIONAL inherits from Base_Type which will print
"which has no RAW decoding method" from its RAW_decode().

Change-Id: Idfaa11db0e2db4be144800b5bccc44d0515220d7
2018-03-12 14:23:57 +00:00
Harald Welte a35a9ca4d4 pcu: Adapt TC_paging to new code structure
OsmoPCU still doesn't support PAGING-PS, so this test is moot.

Change-Id: I94258c386073b1c11792949df56d643b92eeaefd
2018-03-12 14:23:57 +00:00
Harald Welte a0895f96a9 pcu: Rename 'gprs_gb/Test' tp 'pcu/PCU_Tests' to align with other suites
Change-Id: Ia3350e7e1a9d6715ab81f4a5f413b7e4d728ff60
2018-03-12 14:23:57 +00:00
Harald Welte 54242db850 WIP: pcu testing
Change-Id: Iee66d4a2eab520dfc115ffeb16ab6413e4057973
2018-03-12 14:23:57 +00:00
Harald Welte 060e27a476 gprs_gb: working UL TBF with segmentation
Change-Id: I0f93246f02e1bee2e1e9db62af5e1e3559c415e9
2018-03-12 14:23:57 +00:00
Harald Welte 7024baa66c gprs_gb: working Uplink PACKET_CONTROL_ACK against OsmoPCU
Change-Id: I2c7d0eb9371911e28f328caeaed63cb8ec311ac1
2018-03-12 14:23:57 +00:00
Neels Hofmeyr fd445c34fe bsc: add TC_ms_rel_ind_does_not_cause_bssmap_reset
bsc: add TC_bssmap_clear_does_not_cause_bssmap_reset(), but the same triggered
by an MS Rel Ind and a BSSMAP Clear Request sent to the MSC first.

This test will only succeed once TC_chan_rel_rll_rel_ind() succeeds, i.e. with
below osmo-bsc fix.

Related: OS#3041
Depends: I0f8c9c4e6b6850b15c70250fd3f88bdf75f9accf (osmo-bsc)
Change-Id: Ie4aa2f01c83b40303fa40ed64dbfce372b7cd96c
2018-03-12 04:43:16 +01:00
Neels Hofmeyr 27f643639e bsc: TC_chan_rel_rll_rel_ind: expect full MSC Clear Request
This test sends a REL IND from the MS and immediately expects an lchan release.
Instead, osmo-bsc patch I0f8c9c4e6b6850b15c70250fd3f88bdf75f9accf decides to
signal full BSSMAP Clear Request to the MSC first, so expect that first.

Note that this test currently fails, and said osmo-bsc.git patch will make this
test pass.

Change-Id: I737be141b69a250eb6eb38007f8042981c1a31cf
2018-03-12 04:43:16 +01:00
Neels Hofmeyr 4ff9328beb bsc: add TC_bssmap_clear_does_not_cause_bssmap_reset()
Same as TC_bssmap_rlsd_does_not_cause_bssmap_reset(), but with a proper BSSMAP
Clear from the MSC first.

Related: OS#3041
Change-Id: If6ca85d7b80a727cbfdabbf07529ced22602734e
2018-03-12 04:43:16 +01:00
Neels Hofmeyr cdc2d7690d bsc: add TC_bssap_rlsd_does_not_cause_bssmap_reset
A test with BSSMAP Clear involved would also be a nice addition, but this so
far tests a direct RLSD from the MSC.

(One way to invoke a typical release situation would be a scenario like in
TC_chan_rel_rll_rel_ind(), but that test currently fails; another would be to
directly invoke a BSSMAP Clear from the MSC first.)

Related: OS#3041
Change-Id: I168cf240383485a5ffbbde377b4f89c5d1f5ab93
2018-03-12 04:43:12 +01:00
Neels Hofmeyr cc3f76adb2 bsc: cosmetic: T_guard timeout: add 'self.stop'
If the T_guard runs out, unless we self.stop, we might run into this
potentially confusing follow-up error:

00:23:04.206712 mtc BSC_Tests.ttcn:322 Dynamic test case error: Copying an unbound value of type @RSL_Types.RSL_Message.
00:23:04.206778 mtc BSC_Tests.ttcn:322 setverdict(error): fail -> error

Change-Id: I1d373159483bdd9f74e8944e430913e73c289e03
2018-03-12 04:43:12 +01:00
Philipp Maier 328d166dbb MSC_Tests: Add testcase TC_cr_before_reset
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
2018-03-07 18:40:44 +01:00
Vadim Yanitskiy c81d6e4483 bts/BTS_Tests.ttcn: update TC_rach_max_ta test case
Since the I662294fe3136cf7a259be13816a3e63f7db9a948, OsmoBTS
should pass RACH requests with ToA > -2 symbol periods only.

We do allow early signal arrival up to 2 symbols, otherwise
it is most likely noise, interference or a ghost.

Change-Id: Icccc88545ed3aabd6da28a40599a8a77d1de477d
2018-03-05 22:42:45 +07:00
Harald Welte edcdd90c49 BSSGP_Emulation: Fix automatic BVC flow control ACK in SGSN role
This code had been intended to be used, but commented out, and
never really been completed or tested.

Change-Id: Iaa573219548f2a6a2eb13408fec65c55f9e88ddb
2018-03-03 22:40:01 +01:00
Harald Welte 1cd673dd01 rlcmac: Fix name of RRBP_Nplus21_or_22_mod_2715648
It's RRBP_Nplus12_or_22_mod_2715648 not RRBP_Nplus22_or_22_mod_2715648

Change-Id: Idb2ab447611a0571292b8cb31e9f279d0e98966f
2018-03-03 22:40:01 +01:00
Harald Welte c27f684998 Gb: avoid warnings about not-running timers
If we have  T.timeout  clause in an alt/altstep, we should put
[T.running] as guard expression to avoid warnings about matching
on timers never started - at least for timers where this is a valid
situation.

Change-Id: I96db5c288e0b9c47539cccab8ae7a886d0b9fff3
2018-03-03 22:40:01 +01:00