Let's move code related to coping stuff to remote hosts and managing
remote processes under a class where relevant information is stored.
This simplifies parameters being passed all over and allows to reuse
more code.
Change-Id: Ifff5ded8fdb28e8ef267cebe6c5f30a910cae11a
Since libosmo-abis d4be696bbc20522a0284b6d0aefa872585f6926f it is
enabled by default. Since we don't need it so far and required
dependencies are not available in sysmobts SDK, let's disable it
explicitly.
Change-Id: Id017f3d2f51d30fa53881b627460fb568f19713b
bts_osmotrx will check if target host can run the inst, and otherwise
run osmo-trx-lms already present in the system (installed by other
means). This way same class can be used both ways, since the only real
difference between the 2 scenarios is:
* copying inst vs not copying it.
* Running binary from inst vs running it from PATH.
This commit does not provide a mechanism to make sure the osmo-trx or its
dependencies are up-to-date in the target system. A solution for that
will be provided separately.
Related: SYS#4663
Change-Id: I6bd76f6d7e0cb2b6f7bdde971b6515846048a341
This will be useful in the event a user wants to run a binary already
available in the target which needs no copying, but still requires the
non-binary related items to be copied and set up, such as config files,
directory structure, etc.
This option will be used to run osmo-trx-lms in LimeNetMicro already
installed from an OBS repo, since cross-compiling all related
dependencies would require a lot of work to do now.
Change-Id: I6b0f2a19e493c7ac911c5db0ea08f5c0ab936d74
Caller may want to access the proc object after running the process, for
instance to check return code or inspect its stdout/stderr logs.
Change-Id: I60a18dcf699ebeaced951f7d5ff188f573772282
This way there's no need to go over hours of logging in the main log to
find information of a failing test.
Change-Id: I8cb79c7855e0bc14282d6728841e92ba22699eed
If class Test calls get_run_dir(), it will generate the run dir from
Suite.get_run_dir() + append, and Suite.get_run_dir() in turn will do
the same with Trial.get_run_dir(). In suite_test.py, however, we are
passing a plain log.Origin object (parent of Trial), which doesn't
implement this function. We need to add it since tests will start using
get_run_dir() to write their own log files.
Generated tmp files are deleted on success and left there on error, in
order to be able to debug stuff easily.
Change-Id: Ic8326659a9ced0351e1e7e57ef21ce36f777729a
This reverts commit 91199a3137.
Since we now support powercycling the SC5, we don't longer need to use a
different ARFCN for it.
Change-Id: Ie8b49c556c90b4a97a73695a93ac4108660a217f
* Add powersupply related code to bts_osmotrx.py to power cycle the
board.
* Each time the board is started, we need to unlock the RF (start TRX
implementation).
Change-Id: I8a1428c1ff90c9f5b42d7ffe86a6fc763819cba2
The feature is not supported yet and it seems to be leaving osmo-trx-lms
in a zombie state preventing it to exit and blocking other tests.
Let's disable it until this feature is working properly under manual
use.
Related: OS#4151
Change-Id: Ic255481e6f1fbbf06c4576f924cf27ae80567801
Some gcc version (< 7.3.0) on ARM generate wrong code for __thread
variables that crash at runtime. It seems, due to some unknown reason, that we
are not affected by this bug with toolchain from poky pyro (6.4.0). However,
libosmocore as of e188b8cd98f599468fbb200c7d590de955daf761 applies some
CFLAGS="-mtls-dialect=gnu2" to workaround the issue automatically. But same
toolchain contains an "ld" that crashes when those flags are applied.
Fortunately, libosmocore provides a way to disable the workaround, and since
we are not affected by the bug, we are fine with that. If the toolchain had
the TLS runtime bug, then we'd had to build with -O0. Can be probably dropped
once we move to newer toolchain.
Depends: libosmocore.git afce89dac1a3cdb975da72020acdba16940fd679
Related: OS#4062
Change-Id: I583354735a7671e5bba1c0f6e60c84b6ef55ac63
Parameter was dropped a while ago in osmo-bts, since it's calculated
dynamically from VTY config. So let's drop it to avoid a deprecation
warning message in osmo-bts log file.
Change-Id: Ia17a2528e091d4691c511732ed251e472d1270eb
Due to a bug in sysmocell-5K's TRX implementation, it may keep polluting
the air transmitting after the BTS is disconnected. This could cause
interferences with other tests. Correct fix would be to RF lock it after
test finishes (through ccli), but let's simply use a different ARFCN for
now.
Related: OS#4129
Change-Id: I6d5555aa8740b262ee92110987189c076db44f76
It was spotted that most TTCN3 tests run against sysmobts fail because
of following error:
BTS_Tests.ttcn:643 Test case TC_chan_act_react finished. Verdict: fail reason: "BTS_Tests.ttcn:399 : Timeout waiting for ASP_IPA_EVENT_UP"
Looking carefully at the logs and pcap files, it was seen that usually
sysmobts tries to connect around 1 second after the TTCN3 tests decides
it's enough. Current timeout was default of 15 seconds. Let's set it to
30 seconds.
While at it, also set mp_ipa_up_delay, as initially set to 3 seconds in
osmo-ttcn3-hacks.git d95f340a01fe7e9fe59f02b6ec4f9d018feb8c75 having
physical tests in mind.
Change-Id: I25c0a49851865291c6251556aff139961c3d4166
Force TRXDv0 when using sysmocell-5k as a TRX, since its implementation
(different than osmo-trx) doesn't support higher versions. Furthermore,
it will crash upon receival of SETFORMAT string. By forcing maximum TRXD
version to 0, osmo-bts-trx won't sent any SETFORMAT message since 0 is
the initial version to use.
Depends: osmo-bts.git I5eb1fdc002f9d7f4acf475356d8fc998dc8f6326
Related: OS#4006
Change-Id: Ic95c38d91dba354ae64c5edbfcea3fbbf34a7de3
We will need to enable/disable generation of lua script code
depending on the subscriber and mass test.
Change-Id: Ide4d788543d910356efe9f61e789b3975f7bc558
Introduce an Executor that forwards all testcase related methods to
a list of testcases. Allow to instantiate them by name and use the
result to access the statistics.
Change-Id: Ia65ee53987e92b24e6b8c40e1376bc74dc260180
Move the starting code out of the Update Location "test". In the mid
term we can have a SMS test run in addition to waiting the Update
Location tests.
A mass-test testcase will have a life-cycle of:
* Creation
* Configure (number of subscribers, probably all subs)
* Pre-Start trigger (same as configure so it can be omitted)
* Post-Start (all processes run)
* Query if the test has completed
The next step is an actual implementation to send SMS.
Change-Id: Ie15f5123775d11dd44243b2741d047ed93f318f9
We want to have LU, SMS and other tests run at the same time. Begin
by creating a single result where testcases can store additional data.
Move the stats code into the UL test case handling and out of the
suite.
Change-Id: Ie99351bee1515de8cf6870467f08256a53701907
In the quest to support multiple testcases we will use a single
script. Parts can be enabled/disabled depending on which tests
we want/need to run.
Change-Id: I8a093671173976eba9215c00a7aea0f6cab467c6
We already updated our ofono branch to current master (after 1.28),
and this fix is not longer required, as stated in ticket OS#3064.
Related: OS#3064
This reverts commit f8d12196f0.
Change-Id: I884f6d4f3df4f3b4e2ac05e4dba2ad8704697521
sudo drops forwarding of signals sent by processes of the same
process group, which means by default will drop signals from
parent and children processes. By moving it to another group, we
will later be able to kill it.
Note: sudo documentation is wrong, since it states it only drops
signals from children.
See following link for more information:
https://stackoverflow.com/questions/34337840/cant-terminate-a-sudo-process-created-with-python-in-ubuntu-15-10
Change-Id: I25990234aaa496c501ff45ad7f7fd549d6f188da
This avoids extra unneeded logging about killing with signal when
actually no signal is being sent.
Change-Id: I5b5dd78fe3301d8eef2ab93da3b37029268ae198
We used to do that once after ofono startup for all iface
(modem-netns-setup.py), but then if a modem crashes the interface is
re-created on the default netns, and tests fail until manual re-run of
modem-netns-setup.py.
This way now we always make sure the iface is moved to the expected
netns before it is used.
Related: OS#3881
Change-Id: I506309c424aa46684c4516a1a0217343ecbf32c6