My current distribution ships a newer libcrypto and libssl which are not
ABI compatible with the ones generated by Jenkins. I had to copy those
libraries locally and use LD_LIBRARY_PATH to be able to run binaries
compiled coming from the jenkins slave. Without this patch I am not
able to run it because it is overwriting the previous variable.
Change-Id: Id9b16d13d343616cbf87b9da8a99e3fae48da6bd
Log on level 'log', more clearly show whether it's for reservation or actual
use, show the origin that is asking for them.
Change-Id: I3b78c7bdcaec90943900343c878099160f8d2f64
For each run on a trial, create a log target that logs to a file in the run
dir. Set all levels to DBG in that log target.
Related: OS#2206
Change-Id: Ie7279aeaf32950f85d4145abdc917024003d1d99
Rename log_sink to log_write_func to make it more clear.
Remember the list of log targets as static member LogTarget.all_targets.
Make each LogTarget instance register with the list of targets implicitly.
No longer create a default log target, rather create one explicitly in
osmo-gsm-tester.py.
Change-Id: I5844485eaed536cb34b44bfe23dc635fe1982dcd
Add flag raise_if_missing, and if False, instead of raising an exception,
return an empty list for that kind of resource. This makes sense for a caller
that requests a single resource.
When finding a single resource to use in ReservedResources.get(), use this to
raise a more adequate exception message if none was found.
Change-Id: Ia296ea68a787bede037a6cea38563b570fb0766e
The prompt() is useful for supervisor (user) interaction during tests.
However it had numerous problems:
- closed stdin, so second prompt() didn't work
- no editing
- no utf-8 multichar
- unflexible poll interval (poll often to stay responsive to input)
and unrelated:
- stdin was hijacked by subprocess.Popen
Firstly pass stdin=PIPE to all subprocesses to leave the tester's stdin
untouched.
Secondly use python input() to read the user entry (instead of mucking about
with the stdin fd), and import readline for history and editing features.
The old approach was put in place to allow polling DBus and processes
regularly. Instead, allow this by running input() in a separate thread while
polling regularly and slowly in the main thread.
The prompt code is now simpler, cleaner and works better.
Will be used in the upcoming 'debug' suite.
Change-Id: I580aca52cd038b59418055259d0d09e9aab49124
Collect incoming signals in a defer queue and handle them once the DBus polling
is through.
Related: OS#2220
Change-Id: Ic7520f2165888a4ee0f83b779cd58d20c4e45fa0
trials-cleanup.sh was still using the old 'SEEN' marker and thus didn't work.
In trial.py, make sure that *every* trial that is run is marked as taken, not
only those discovered by Trial.next().
Change-Id: I8aa6b2eece5d43266a7c84e6b2974b8fe7f3cda1
On failure to find an unused resource (in case a test tries to use more
resources than are reserved), the handling code had a bug: print
reserved_resources from the proper source, i.e. suite_run.
Change-Id: Ifdc4201581b3293605196292339e841543ea284e
Allow tokens to be passed for SMS composition, and use that to pass MO and MT
modem names into the SMS text for easier debugging.
Change-Id: I5e0d066ffa7a4631e8568c6cd4f210627f209122
For some reason the code there catches exceptions happening while interfaces
are being established. That's not a good idea, drop it.
Related: OS#2220
Change-Id: Ida7731ed6ff3cad44ff437137abe2d6a424fcaa4
Tweak test expectations to include the new debug logging.
Go through the paths in alphabetical order to get deterministic logging output,
so the test expectations always match.
Change-Id: I11a905b2467cda691d9ccea30ae436bac96476c9
/suites will be the definitive GSM tests collection where everyone should contribute.
Since we're using /example on our current osmo-gsm-tester setup actually as-is,
change paths.conf to point at ../suites.
Change-Id: I7a4d0161d3dcb3a0c723b0b96db85dd032cc2159
Use it to set root user for SysmoBTS, otherwise if osmo-gsm-tester is
run by another user it will fail to connect
Change-Id: I67d4126fc75cb9c2d249c713cd6f14db1f1e21da
Before, the test would rely on timeouts to work out. Instead, use marker files
to indicate whether to wait longer. Firstly to signal a blocking process should
end, secondly that it has indeed ended.
Also use a mktemp tempdir instead of /tmp
The nested wait was definitely a bad idea. This here is certainly not very
nice either, but an attempt to catch cases where a dbus interface cannot
be used yet despite being signalled by ofono (sporadically happens).
Change-Id: I2ac7eb0f5174250f4b97e2bf758666410d8cb854