tests: Search the appropriate directories for our GIR XML inputs

During "as-installed" testing, we should search the GIR_DIR for GIR XML,
instead of hard-coding that it is `${prefix}/share/gir-1.0`. This is
not the case on at least Debian, in order to make it possible to
install more than one architecture's flavour of `GLib-2.0.gir`,
which contains some architecture-specific `#define`s.

Also search GOBJECT_INTROSPECTION_DATADIR/GIR_SUFFIX (in practice
something like `/usr/share/gir-1.0` in all cases) to accommodate
distributions like Debian that move the architecture-independent
majority of GIR XML into /usr/share to avoid duplication, leaving
only the architecture-specific minority of files like `GLib-2.0.gir`
in the GIR_DIR.

Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
Simon McVittie
2025-02-21 12:35:16 +00:00
parent 135850a534
commit 9f18bb6258
12 changed files with 79 additions and 35 deletions

25
tests/lib/meson.build Normal file
View File

@@ -0,0 +1,25 @@
# Copyright 2024 Collabora Ltd.
# Copyright 2025 Simon McVittie
# SPDX-License-Identifier: LGPL-2.1-or-later
install_data(
files(
'taptestrunner.py',
'testprogramrunner.py',
),
install_dir: installed_tests_execdir,
install_tag: 'tests',
)
tests_conf = configuration_data()
tests_conf.set('glib_datadir', glib_datadir)
tests_conf.set('glib_girdir', glib_girdir)
configure_file(
configuration: tests_conf,
input: 'glibconfig.py.in',
output: 'glibconfig.py',
install: installed_tests_enabled,
install_dir: installed_tests_execdir,
install_tag: 'tests',
)