Commit Graph
11 Commits
Author SHA1 Message Date
Alyssa Ross daa8292878 build: prepend to LD_LIBRARY_PATH and GI_TYPELIB_PATH
In Nixpkgs packages are installed in separate prefixes.
Starting from GLib / gobject-introspection 2.80, GLib introspection data
is provided by GLib itself instead of gobject-introspection. This causes
tests failures in Nixpkgs because the GI_TYPELIB_PATH set by the build
environment was overridden, leaving it unable to find GLib:

	    ImportError: cannot import name GLib, introspection typelib not found

Only GI_TYPELIB_PATH needs to be preserved in our case, but I've made
the same change for LD_LIBRARY_PATH, other environments might rely on
that in a similar way.
2024-05-08 09:53:14 +02:00
Frederic Martinsons 99570090ea build: set LD_LIBRARY_PATH along with GI_TYPELIB_PATH when launching stub
Otherwise we may use a wrong typelib shared library (the one that
is installed on the system which run the test)

Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com>
2023-01-09 14:17:22 +00:00
Aleksander Morgado f419f56628 build: drop autotools 2022-11-07 14:26:02 +00:00
Aleksander Morgado b3f315ad2d core,log: new 'MSG' log level between 'INFO' and 'WARN'
We're bumping the current "INFO" level messages to the new "MSG"
level, also making the new level the default.

The old "INFO" level will be used to setup an intermediate level of
logging which is not as verbose as "DEBUG" but still provides some
capabilities to analyze the behavior of a modem.
2022-11-04 13:12:56 +00:00
Aleksander Morgado d2bc98a1eb tools,tests: make test-wrapper.sh.in template executable
So that when the meson build does the template replacement, the
generated file is also executable and can be used as Exec line in the
test DBus service file.

Fixes the 'test-stub' unit test in meson.
2022-02-16 00:27:51 +01:00
Bruce A. Johnson 91ed72aa29 core: switch bash shell scripts to use /bin/sh for use w/Busybox.
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/483
2022-01-05 10:26:16 +01:00
Iñigo Martínez 77d1c24361 build: Port to meson
meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
2021-09-07 10:55:43 +00:00
Alyssa Ross a8f086bfb3 tools: fix signal type in service test
The signal definition is:

    <signal name="StateChanged">
      <arg name="old" type="i" />
      <arg name="new" type="i" />
      <arg name="reason" type="u" />
    </signal>

So the first two arguments need to be adjusted.

Without this change, the test was failing for me:

    (/build/source/tools/tests/.libs/lt-test-stub:77030): GLib-GObject-CRITICAL **: 15:05:35.276: ../gobject/gsignal.c:3167: value for 'gint' parameter 0 for signal "state-changed" is of type 'guint'
2021-06-18 08:34:06 +00:00
Aleksander Morgado 7b7bbdd999 tools: disable stub tester if no introspection enabled
TEST: test-stub...
    /MM/stub/modem/interface: dbus-daemon[48020]: [session uid=0 pid=48020] Activating service name='org.freedesktop.ModemManager1' requested by ':1.0' (uid=0 pid=48005 comm="/builds/mobile-broadband/ModemManager/tools/tests/")
  Traceback (most recent call last):
    File "/builds/mobile-broadband/ModemManager/tools/test-modemmanager-service.py", line 7, in <module>
      gi.require_version('ModemManager', '1.0')
    File "/usr/lib/python3/dist-packages/gi/__init__.py", line 129, in require_version
      raise ValueError('Namespace %s not available' % namespace)
  ValueError: Namespace ModemManager not available
  dbus-daemon[48020]: [session uid=0 pid=48020] Activated service 'org.freedesktop.ModemManager1' failed: Process org.freedesktop.ModemManager1 exited with status 1
2021-04-28 22:41:06 +02:00
Frederic Martinsons 89cd1696c3 tools: add unit test for test-modemmanager-service.py
The tests spawn the service via GTestDBus framework and make
some test API call while checking libmm interface to verify
that informations are well propagated.

To be able to use the fresh built libmm typelib, I used a
wrapper script to set GI_TYPELIB_PATH (because DBus activation
process clean the environment so it is not possible to set
it directly in the file).

This requires also the install of libgirepository-dev and python3-gi
in the CI docker.

Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
2021-01-15 16:44:19 +00:00
Frederic Martinsons 519df2544b tools: add new system daemon stub tester application
This script mock some of ModemManager DBus interfaces (main object, Modem, Sim),
it also adds a test interface "org.freedesktop.ModemManager1.LibmmGlibTest"
which allow to inject some errors and simulate behavior:
  - Add a modem object
  - Emit modem state changed
  - Set modem error

This script also add the possibility to log in a file for debugging purpose.
Because the stdout/stderr are not shown when the program is spawned by DBus
auto activation.

Note: Script is heavily inspired from test-networkmanager-service.py from
NetworkManager project

Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
2020-11-12 18:34:59 +01:00