tests: Respect pamlibdir in installed tests

The build allows configuring pam module installation path but then it did
not respect it in installed tests.
This commit is contained in:
Jan Tojnar 2020-03-26 02:56:33 +01:00 committed by Philip Withnall
parent 0d60138e0a
commit 38c1170bda
2 changed files with 9 additions and 0 deletions

View File

@ -49,6 +49,7 @@ libglib_testing_dep = dependency(
config_h = configuration_data() config_h = configuration_data()
config_h.set_quoted('GETTEXT_PACKAGE', 'malcontent') config_h.set_quoted('GETTEXT_PACKAGE', 'malcontent')
config_h.set_quoted('PACKAGE_LOCALE_DIR', join_paths(get_option('prefix'), get_option('localedir'))) config_h.set_quoted('PACKAGE_LOCALE_DIR', join_paths(get_option('prefix'), get_option('localedir')))
config_h.set_quoted('PAMLIBDIR', pamlibdir)
config_h.set_quoted('VERSION', meson.project_version()) config_h.set_quoted('VERSION', meson.project_version())
configure_file( configure_file(
output: 'config.h', output: 'config.h',

View File

@ -24,6 +24,7 @@
#include <glib.h> #include <glib.h>
#include <locale.h> #include <locale.h>
#include <stdlib.h> #include <stdlib.h>
#include "config.h"
/* Test that the `pam_malcontent.so` module can be loaded using dlopen() and /* Test that the `pam_malcontent.so` module can be loaded using dlopen() and
* that it exports the appropriate symbols for PAM to be able to use it. */ * that it exports the appropriate symbols for PAM to be able to use it. */
@ -37,6 +38,13 @@ test_pam_malcontent_dlopen (void)
module_path = g_test_build_filename (G_TEST_BUILT, "..", "pam_malcontent.so", NULL); module_path = g_test_build_filename (G_TEST_BUILT, "..", "pam_malcontent.so", NULL);
/* Installed tests version. */
if (!g_file_test (module_path, G_FILE_TEST_EXISTS))
{
g_free (module_path);
module_path = g_build_filename (PAMLIBDIR, "pam_malcontent.so", NULL);
}
/* Check the module can be loaded. */ /* Check the module can be loaded. */
handle = dlopen (module_path, RTLD_NOW); handle = dlopen (module_path, RTLD_NOW);
g_assert_nonnull (handle); g_assert_nonnull (handle);