Commit Graph

1175 Commits

Author SHA1 Message Date
Andre Puschmann 0957e9e095 enb: add getter for number of cells of an eNB
In order to set up the channel emulator we need to calculate the total
number of RF channels that a eNB has from within a test.

Change-Id: If641993033eb5dcdc6e2d6afdc8426ed322241ca
2020-06-23 16:41:00 +02:00
Andre Puschmann 219ec75aa9 iperf3: add getter to read the actual run time of an iperf client run
this is helpful to run some action for the exact run time of an iperf3
session. note that if no time spec is given when calling
"prepare_test_proc()", a modifier could set the runtime of an DL experiment
to an arbitrary value so we need to have a mechanism to read
the actual time from within a test

Change-Id: I484a0add322ffd269a1e9df72a00cf348950b268
2020-06-23 16:41:00 +02:00
Pau Espin 14bb5ff9de ms_osmo_mobile.py: Fix missing sublcass implementation of abstract MS methods
Change-Id: Icddab08c84ef97924d10801d7128158f515bcd01
2020-06-17 12:29:03 +02:00
Andre Puschmann 62e887d9b4 amarisoft_enb.cfg.tmpl: expose log options
this allows to alter the log options through a modifier

Change-Id: Iecd24afe6b242fbebc8463c9e1fa1c3b60b27d01
2020-06-17 08:54:07 +00:00
Pau Espin cedee0a00b doc/manuals: Fix callout definition in code block
Currently osmo-gsm-tester master jenkins build fails while building
manual due to errors like:
"asciidoc: WARNING: test_api.adoc: line 42: no callouts refer to list
item 1"

According to asciidoc documentation in [1], code examples can be
annotated with callouts, but callouts need to be put inside source code
comments.

[1] http://www.methods.co.nz/asciidoc/chunked/ch20.html

Change-Id: I2213874592342b12adf7440b25edc706abfc78ba
2020-06-16 10:04:15 +00:00
Pau Espin 5680255fb5 iperf3: Add support for setting TOS
Change-Id: I3ccc249ad1c9598c606303c52eff6823f45afa7b
2020-06-16 10:04:04 +00:00
Pau Espin 229f11647e iperf3: Refactor iperf3cli popen arg list generation
Change-Id: I10ab737e1317a52b6ccbd0de2470a9cf0c90c934
2020-06-16 10:04:04 +00:00
Andre Puschmann be50eae49b ms_srs: fix additional_args init
regressions after porting to list. init to new empty list

Change-Id: I06f370462934ca35f3aa13bbfcd9e5fc3df91895
2020-06-15 22:12:46 +02:00
Pau Espin e3d1b61175 Add per-test KPI support
tests can now use 'tenv.test().set_kpis(some_dict)' to set any kind of
data as KPIs, which will be presented in the junit report.

The representation of KPIs in the xml file doesn't follow the junit
format, mainly because it has no support for per-test properties.

Change-Id: I00e976f65a202e82d440bf33708f06c8ce2643e2
2020-06-15 15:42:58 +00:00
Pau Espin d4dc2ad3a2 selftest: Add test to verify junit xml report
Change-Id: I8cad02abe776cc00b513113dbaf3c948ea7956cd
2020-06-15 15:42:58 +00:00
Pau Espin e592de8056 srs: Convert additional_args attr to list to allow combining different params
Change-Id: I4b371332cd6fbe11b98c85c79a6f8fdcc776a57b
2020-06-15 17:31:23 +02:00
Andre Puschmann 393cd61382 amarisoft_drb.cfg.tmpl: adjust default values for QCI 1 and 2
use more realistic values for QCI 1 and 2 bearers to prepare
QoS operation

Change-Id: Ibfffde9ecccd473f22e816bd47e197fbe24b0ded
2020-06-15 15:09:55 +00:00
Andre Puschmann f678c4dfec iperf3: increase extra timeout to 30s
10s was too short and has still caused tests to fail because they were
stopped just before the iperf finished.

30s seems to be enought and has passed multiple times so far

Change-Id: I80b732a060356aa98882ff0e8b5debaf623ba0fb
2020-06-15 15:09:37 +00:00
Andre Puschmann 8b1547b562 rfemu: add max attenuation getter
this allows to query the maximum channel attenuation from within a test case

Change-Id: I35f7cb188790c59bbf2450f78c663fbc9440e406
2020-06-15 15:09:37 +00:00
Andre Puschmann ccb632037d enb_amarisoft: fix typo
Change-Id: Ie898da5eae10af96c2bca6c2413bdff4a5160e9f
2020-06-15 15:09:37 +00:00
Andre Puschmann b0ebcbcf10 epc: refactor run_wait() method and rename to prepare_proc()
this refactor no longer enforces blocking operation of the process.
Instead it returns the process object to the caller who
can now run either proc.launch() for non-blocking operation
or proc.launch_sync() for blocking mode.

The non-block mode allos doing other stuff in the background,
for example controlling the rfemu while running a ping.

Change-Id: Ia6372e55a8829f722e40db537d9dfd63a94d1be9
2020-06-15 15:09:37 +00:00
Pau Espin e66e3aebb4 config: Allow empty config files
Change-Id: Ic010e06220421df00405c5b6f5ad2e83514b6dcd
2020-06-15 14:28:00 +02:00
Pau Espin 683d196532 testenv: Prepend underscor to internal method
Change-Id: I2297f4b44d6f0c88409ab6982de4e3640a6a48b2
2020-06-15 11:39:41 +02:00
Pau Espin c3cf682afd Implement per-test timeout guard
Timeout value can be specified by test in suite.conf:

config:
  suite:
    <suite_name>:
      <test_name>:
        timeout: 2 # 2 seconds timeout

Change-Id: I522f51f77f8be64ebfdb5d5e07ba92baf82d7706
2020-06-15 10:53:46 +02:00
Pau Espin a75f85a058 Refactor test specific config parsing & generation
The dictionary is generated once during test creation at suite startup.

Change-Id: I4de511d64ccf65d2ec6eec45dcf28529b74c5d26
2020-06-12 17:26:00 +02:00
Pau Espin 444129ee1f test: Move duration time calculation to helper function
Change-Id: Ica2e7d92f37d18a4f8832f38d9f9f3baba8be09f
2020-06-12 16:38:37 +02:00
Pau Espin 8cfb5d020f Remove all references to defaults: timeout: from suite.conf
This feature is not really implemented and maybe never was. In any case,
it makes sense to have that working per-test so we can specify different
values per test in case it's needed.

Change-Id: I3c1b95c10e974da87ec9abd25578d8bcc0bc55a3
2020-06-12 16:12:43 +02:00
Pau Espin a9bc93da99 iperf3: Fix iperf3cli.launch_sync() when configured to run more than 300 sec
process object always used timeout=300 while runnig wth launch_sync().
Let's allow replacing that value beforehand so that iperf3 can
pre-configure the process object and caller doesn't need to care about
calculating expected time.

Change-Id: I7f6c5078f648013515919aa35ebcdb3ef157b5e4
2020-06-12 15:34:32 +02:00
Andre Puschmann 7c759d9a89 srsenb_sib.conf.tmpl: add default SIB3
if SIB3 isn't transmitted, the UE won't do HO and cell reselection

Change-Id: I329a59d9d0fa3b25bc00b760a455eadbe0b7220f
2020-06-11 20:37:17 +02:00
Pau Espin ec28572e42 test: Store brief log per test and use as default report_stdout
Change-Id: I0972ba56a42c24f3d3b1bc94bcbdaca86026046a
2020-06-11 18:07:08 +02:00
Pau Espin 57e37f95e1 suites/4g: Wait for IP addr received before trying to use the link
Otherwise processes using the link like "ping" or "iperf3" may fail
because there's still no IP address assigned.

Change-Id: I28137f10a19db01fe90b24830a60342a448d1e92
2020-06-11 17:12:44 +02:00
Pau Espin a4bb6d315b testenv: Add debug log when overlaying templates dir
Change-Id: I10fdfc5b2e3bf4c96941a3fae53230131f384de9
2020-06-11 16:23:54 +02:00
Pau Espin 3b49d46464 amarisoft_enb: Properly set S1AP SCTP bind ip addr
Change-Id: I8e2b8609cb198c6d5e293cffaa0a9de99600f06d
2020-06-11 13:18:20 +02:00
Pau Espin 9e2e8d218d log: Fix OriginLoopError generated in log.Error from testenv.poll()
Change-Id: Iea80d06a30346533e4ecec338b03c72d1f1067ae
2020-06-11 12:41:35 +02:00
Pau Espin 8ea4ba2e5a ttcn3: Don't overwrite output junit file on multiple testsuites
Change-Id: I803fa8766acb4e90c4a735a420b24ef18ef6b0c9
2020-06-11 09:01:49 +00:00
Pau Espin 664e383021 EventLoop: Fix log error "Origin parent loop" during wait()
Setting the log.ctx manually is not needed anymore and it's actually
harmful since all palces where it was used, a log.Origin already in path
was being passed, causing a origin loop.

Change-Id: I0511b9f7bc59e3c7f2269ff3155d0c95db58d063
2020-06-10 19:50:12 +02:00
Pau Espin 3a81a7e4dc tests: Replace is_connected() with is_registered()
API was renamed and old name deprecated, let's use it everywhere.

Change-Id: Ic91dddcfd1a5a17c35d15a8a14628b3923229523
2020-06-10 17:57:37 +02:00
Pau Espin ffa325ede0 doc/manual: Fix links to nonexistent sections
Change-Id: I8742fa9c41d3ab95d41e299179df19c3d1e0a65b
2020-06-10 17:51:03 +02:00
Andre Puschmann 0a5011047a enb,ms: refactor base_rate selection for ZMQ
Use tailored sample rate only use for 6, 50 and 75 PRB. For all other bandwidths,
we use the full LTE rate and downsample.
With 5.76e6 as base sample rate, for example, we had some issue during the tests like:

[zmq] Error: tx time is 0.178 ms in the past (7833600 < 7835648)
[zmq] Error: tx time is 0.011 ms in the past (7835520 < 7835648)

Using a higher sample rate seems to work better.

Change-Id: I53678587b2c5e0e5dccb1b55a328ad2f1a97fc4c
2020-06-10 15:41:46 +02:00
Andre Puschmann acdf416796 enb_amarisoft: decrease max rate for TM2+
perhaps additional CRS for MIMO up to 25 PRB result in slighlt lower max rate

Change-Id: I128085e308f400622683905245d42f92a631e81d
2020-06-10 15:41:46 +02:00
Andre Puschmann 10ed8dc3a7 enb_srs: add extra head room for max rate with 6 PRB in MIMO mode
the overhead with 6 PRB and MIMO is a bit higher when compared
to other PRBs resulting in lower achievable throughput

Change-Id: I63888435553bba4f7be88cc745e24472921a7fb4
2020-06-10 15:41:46 +02:00
Andre Puschmann 07679207e2 handover.py: fix typo in test
Change-Id: I9a52a341d7575807d3e52460e1aa24732e3b3112
2020-06-10 15:41:46 +02:00
Andre Puschmann 898a5aaf68 4g_suite: add MT and MO test cases
add two new test cases to test paging (MT) and MO traffic

Change-Id: I5c7639f2c6953964a5b6979bc35f59464dbda43f
2020-06-10 15:41:42 +02:00
Andre Puschmann 419a662f76 ms_srs: refactor UE state getter functions
rename UE helper functions to query RRC connected/idle state
and adapt tests accordingly

also add helper to retrieve assinged IP address

Change-Id: I6cd057e34b4df6a1a73695355dd6406d7e039546
2020-06-10 15:40:00 +02:00
Andre Puschmann 8eeea7f991 srsenb.conf.tmpl: reduce RRC inactivity timer to 5s
the default value of 60s is too long to trigger errors in the handling
of this timer. So a 5s timer is more likely to reveal potential issues
during the test execution

Change-Id: Id7a6739487c7875c4f26a47d05978c9ea9f33873
2020-06-10 10:12:49 +02:00
Andre Puschmann f7915a8509 srsenb_sib.conf.tmpl: increase default T311 value to 10s
this matches the default of Amarisoft eNB so tests can use the same values

Change-Id: Ic81fb6428751305d8b37a25bddb0d018ca6f51f6
2020-06-10 10:12:49 +02:00
Andre Puschmann 98ad77e4a0 srsenb_sib.conf_tmpl: fix whitespaces
Change-Id: Ifbd3c8bd97d7e2d3f165e88f3358dce9e7e33067
2020-06-10 10:12:49 +02:00
Andre Puschmann 3c978fe0f2 ms_srs: add PRACH, reestablishment and paging counter
this allows to query the number of PRACH attempts and paging
messages received during a test

Change-Id: I592ace7c38d98bfbbec5001a3cdfffe21733ef9f
2020-06-10 10:12:49 +02:00
Andre Puschmann aa7b5b7751 epc: add run function to EPC
this allows, for example, to run a ping originating from the core to the UE

Change-Id: Id86c61cbccd41b77f94f125d8d127e2ab5e46cd9
2020-06-10 10:12:49 +02:00
Andre Puschmann 61d150b115 enb: refactor ue_max_rate() and move helper function back to sub classes
It turned out that the Amarisoft and SRS eNB scheduler produces
slightly different maximum data rates for both UL and DL.

Change-Id: I30fa7006906d101c53ba586fb06bced3945aa960
2020-06-10 10:12:49 +02:00
Andre Puschmann 487d1ef142 amarisoft_enb: fix RI config
this cause all MIMO modes to fail because RI reporting was disabled

Change-Id: Ic25233cf7feb4ded8b3d0f440191cc958d8bc0ec
2020-06-10 08:12:10 +00:00
Pau Espin 32f3e169b3 sysmocom/ttcn3/jenkins-run.sh: Pass confg file as cmdline
Fix after recent huge refactoring.

Change-Id: If0bcc9f7cb70e4ef324b3295d2174d11982a4bde
2020-06-09 16:22:50 +02:00
Pau Espin f2c2a34726 Fix ttcn3 testsuites after recent refactors
Change-Id: I545e3141ef56980e4ef2474b990bd4e4d4c21322
2020-06-09 14:32:14 +02:00
Pau Espin ef919c0f1c report: Add trial commit info to junit file
Change-Id: I997bbbeb3807af5cd927594a4155b824f0c6d03d
2020-06-05 14:08:28 +02:00
Pau Espin f3df1e4519 report: Add trial name to junit 'testsuites' node
Change-Id: I8cd62484bb67756e3d98d43a75731f4702acd2b7
2020-06-05 11:53:24 +02:00