build: Add meson build system

Reuse the generated dbus interface .xml files from fprintd to avoid
unnecessary copies.
This commit is contained in:
Marco Trevisan (Treviño)
2020-01-22 13:57:01 +01:00
committed by Bastien Nocera
parent 5c5849dca7
commit eb6dbb6953
16 changed files with 589 additions and 1 deletions

46
tests/meson.build Normal file
View File

@ -0,0 +1,46 @@
tests = [
'fprintd',
'test_fprintd_utils',
]
foreach t: tests
test(t,
python3,
args: meson.current_source_dir() / t + '.py',
suite: ['daemon'],
depends: [
fprintd,
fprintd_utils,
],
env: [
'G_DEBUG=fatal-criticals',
'FPRINT_BUILD_DIR=' + meson.build_root() / 'src',
'TOPSRCDIR=' + meson.source_root(),
],
)
endforeach
add_test_setup('default_setup',
is_default: true,
env: [
'G_SLICE=always-malloc',
'MALLOC_CHECK_=2',
'MALLOC_PERTURB_=55',
],
)
if find_program('valgrind', required: false).found()
glib_share = glib_dep.get_pkgconfig_variable('prefix') / 'share' / glib_dep.name()
glib_suppressions = glib_share + '/valgrind/glib.supp'
add_test_setup('valgrind',
env: [
'G_SLICE=always-malloc',
'VALGRIND=' + glib_suppressions,
],
timeout_multiplier: 5
)
endif
if get_option('pam')
subdir('pam')
endif

26
tests/pam/meson.build Normal file
View File

@ -0,0 +1,26 @@
subdir('services')
tests = [
'test_pam_fprintd',
]
foreach t: tests
test(t,
python3,
args: meson.current_source_dir() / t + '.py',
suite: ['PAM'],
depends: [
pam_fprintd,
pam_service_file,
],
env: [
'TOPBUILDDIR=' + meson.build_root(),
'TOPSRCDIR=' + meson.source_root(),
'LD_PRELOAD=libpam_wrapper.so',
'PAM_WRAPPER=1',
'PAM_WRAPPER_SERVICE_DIR=' + meson.current_build_dir() / 'services',
'G_DEBUG=fatal-warnings',
],
timeout: 60,
)
endforeach

View File

@ -0,0 +1,13 @@
# Meson doesn't allow to have configure_file's as targets we depend on... Meh!
pam_service_file = custom_target('pam_test_service_file',
output: 'null',
command: 'true',
depends: pam_fprintd,
depend_files: configure_file(
input: 'fprintd-pam-test.in',
output: 'fprintd-pam-test',
configuration: configuration_data({
'FPRINTDPAMPATH': pam_fprintd.full_path(),
}),
),
)

View File

@ -163,7 +163,7 @@ class TestPamFprintd(dbusmock.DBusTestCase):
if __name__ == '__main__':
if 'PAM_WRAPPER_SERVICE_DIR' not in os.environ:
print('Cannot run test without environment set correctly, run "make check" instead')
print('Cannot run test without environment set correctly, run "meson test" instead')
sys.exit(1)
# set stream to sys.stderr to get debug output
unittest.main(testRunner=unittest.TextTestRunner(stream=sys.stdout, verbosity=2))