mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-08 20:03:34 +02:00
Given they could re-use the same pam-wrapper temporary dir, it's better to avoid running them concurrently.
60 lines
1.6 KiB
Meson
60 lines
1.6 KiB
Meson
subdir('services')
|
|
|
|
tests = [
|
|
'test_pam_fprintd',
|
|
]
|
|
|
|
preloaded_libs = []
|
|
pam_tests_ld_preload = []
|
|
|
|
if address_sanitizer
|
|
# ASAN has to be the first in list
|
|
preloaded_libs += 'asan'
|
|
endif
|
|
|
|
preloaded_libs += 'pam_wrapper'
|
|
|
|
foreach libname: preloaded_libs
|
|
lib = run_command(meson.get_compiler('c'),
|
|
'-print-file-name=lib@0@.so'.format(libname)
|
|
).stdout().strip()
|
|
|
|
# Support linker script files
|
|
if run_command('grep', '-qI', '^INPUT', files(lib)).returncode() == 0
|
|
out = run_command('cat', lib).stdout()
|
|
lib = out.split('(')[1].split(')')[0].strip()
|
|
endif
|
|
|
|
if lib != '' and lib[0] == '/'
|
|
message('Found library @0@ as @1@'.format(libname, lib))
|
|
pam_tests_ld_preload += '@0@'.format(files(lib)[0])
|
|
else
|
|
tests = []
|
|
warning('No library found for ' + libname + ', skipping PAM tests')
|
|
endif
|
|
endforeach
|
|
|
|
foreach t: tests
|
|
python_tests += [
|
|
{
|
|
'name': t,
|
|
'file': files(meson.current_source_dir() / t + '.py')[0],
|
|
'is_parallel': false,
|
|
'env': [
|
|
'TOPBUILDDIR=' + meson.build_root(),
|
|
'TOPSRCDIR=' + meson.source_root(),
|
|
'LD_PRELOAD=' + ' '.join(pam_tests_ld_preload),
|
|
'PAM_WRAPPER=1',
|
|
'PAM_WRAPPER_DEBUGLEVEL=2',
|
|
'PAM_WRAPPER_SERVICE_DIR=' + meson.current_build_dir() / 'services',
|
|
'G_DEBUG=fatal-warnings',
|
|
],
|
|
'depends': [
|
|
pam_fprintd,
|
|
pam_service_file,
|
|
],
|
|
'suite': ['PAM'],
|
|
}
|
|
]
|
|
endforeach
|