From: Simon McVittie Date: Mon, 12 Sep 2022 12:24:28 +0000 (+0100) Subject: test: Export G_TEST_BUILDDIR, G_TEST_SRCDIR X-Git-Tag: dbus-1.15.2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=37e01259435a28b11a087867ea199cd09f0a5cff;p=thirdparty%2Fdbus.git test: Export G_TEST_BUILDDIR, G_TEST_SRCDIR These environment variables are used by GLib's g_test_build_filename() and related convenience functions, which make it easier for unit tests to find data files in a way that works for both build-time tests and "as-installed" tests. During "as-installed" testing, both variables will normally be unset, and GLib uses the directory containing the executable. In most cases that results in the right thing happening, and this will also be true for dbus, since we install the test executables in ${libexecdir}/installed-tests, helper executables in the same place, and test data in ${libexecdir}/installed-tests/data. Signed-off-by: Simon McVittie --- diff --git a/cmake/modules/Macros.cmake b/cmake/modules/Macros.cmake index d4c26460d..044e2a70d 100644 --- a/cmake/modules/Macros.cmake +++ b/cmake/modules/Macros.cmake @@ -65,6 +65,8 @@ macro(add_unit_test _name _target) list(APPEND _env "DBUS_TEST_EXEC=${DBUS_TEST_EXEC}") list(APPEND _env "DBUS_TEST_HOMEDIR=${DBUS_TEST_HOMEDIR}") list(APPEND _env "DBUS_TEST_UNINSTALLED=1") + list(APPEND _env "G_TEST_BUILDDIR=${Z_DRIVE_IF_WINE}${PROJECT_BINARY_DIR}/test") + list(APPEND _env "G_TEST_SRCDIR=${Z_DRIVE_IF_WINE}${PROJECT_SOURCE_DIR}/test") list(APPEND _env ${__ENV}) set_tests_properties(${_name} PROPERTIES ENVIRONMENT "${_env}") endmacro() diff --git a/test/Makefile.am b/test/Makefile.am index 116422119..659aead37 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -439,6 +439,8 @@ AM_TESTS_ENVIRONMENT = \ export DBUS_TEST_EXEC=@abs_top_builddir@/test; \ export DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus; \ export DBUS_TEST_UNINSTALLED=1; \ + export G_TEST_BUILDDIR=@abs_builddir@; \ + export G_TEST_SRCDIR=@abs_srcdir@; \ export HOME=@abs_top_builddir@/dbus; \ $(NULL) diff --git a/test/meson.build b/test/meson.build index 6de67035b..2a3c346d1 100644 --- a/test/meson.build +++ b/test/meson.build @@ -43,12 +43,14 @@ test_env = environment() test_env.set('DBUS_TOP_SRCDIR', meson.project_source_root()) test_env.set('DBUS_TEST_SRCDIR', meson.current_source_dir()) +test_env.set('G_TEST_SRCDIR', meson.current_source_dir()) test_env.set('DBUS_TOP_BUILDDIR', meson.project_build_root()) test_env.set('DBUS_TEST_HOMEDIR', meson.project_build_root() / 'dbus') test_env.set('HOME', meson.project_build_root() / 'dbus') # Tests in bus/config-parser.c rely on this specific value test_env.set('DBUS_TEST_BUILDDIR', meson.current_build_dir()) +test_env.set('G_TEST_BUILDDIR', meson.current_build_dir()) test_env.set('DBUS_TEST_EXEC', meson.current_build_dir()) test_env.set('DBUS_TEST_DATA', meson.current_build_dir() / 'data')