mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-06-11 10:34:18 +00:00
Merge remote-tracking branch 'origin/master' into tod
This commit is contained in:
+71
-14
@@ -4,7 +4,7 @@ envs.set('G_DEBUG', 'fatal-warnings')
|
||||
envs.set('G_MESSAGES_DEBUG', 'all')
|
||||
|
||||
# Setup paths
|
||||
envs.set('MESON_SOURCE_ROOT', meson.build_root())
|
||||
envs.set('MESON_SOURCE_ROOT', meson.source_root())
|
||||
envs.prepend('LD_LIBRARY_PATH', join_paths(meson.build_root(), 'libfprint'))
|
||||
|
||||
# Set FP_DEVICE_EMULATION so that drivers can adapt (e.g. to use fixed
|
||||
@@ -16,6 +16,12 @@ envs.set('FP_DRIVERS_WHITELIST', 'virtual_image')
|
||||
|
||||
envs.set('NO_AT_BRIDGE', '1')
|
||||
|
||||
drivers_tests = [
|
||||
'elan',
|
||||
'vfs5011',
|
||||
'synaptics',
|
||||
]
|
||||
|
||||
if get_option('introspection')
|
||||
envs.prepend('GI_TYPELIB_PATH', join_paths(meson.build_root(), 'libfprint'))
|
||||
|
||||
@@ -26,24 +32,44 @@ if get_option('introspection')
|
||||
env: envs,
|
||||
depends: libfprint_typelib,
|
||||
)
|
||||
else
|
||||
test('virtual-image',
|
||||
find_program('sh'),
|
||||
args: ['-c', 'exit 77']
|
||||
)
|
||||
endif
|
||||
|
||||
drivers_tests = [
|
||||
'vfs5011',
|
||||
'synaptics',
|
||||
]
|
||||
|
||||
foreach driver_test: drivers_tests
|
||||
driver_envs = envs
|
||||
driver_envs.set('FP_DRIVERS_WHITELIST', driver_test)
|
||||
|
||||
if driver_test in drivers
|
||||
test(driver_test,
|
||||
find_program('umockdev-test.py'),
|
||||
args: join_paths(meson.current_source_dir(), driver_test),
|
||||
env: driver_envs,
|
||||
suite: ['drivers'],
|
||||
timeout: 10,
|
||||
depends: libfprint_typelib,
|
||||
)
|
||||
else
|
||||
test(driver_test,
|
||||
find_program('sh'),
|
||||
args: ['-c', 'exit 77']
|
||||
)
|
||||
endif
|
||||
endforeach
|
||||
else
|
||||
warning('Skipping all driver tests as introspection bindings are missing')
|
||||
test('virtual-image',
|
||||
find_program('sh'),
|
||||
args: ['-c', 'exit 77']
|
||||
)
|
||||
|
||||
foreach driver_test: drivers_tests
|
||||
test(driver_test,
|
||||
find_program('umockdev-test.py'),
|
||||
args: join_paths(meson.current_source_dir(), driver_test),
|
||||
env: driver_envs,
|
||||
suite: ['drivers'],
|
||||
timeout: 10,
|
||||
depends: libfprint_typelib,
|
||||
find_program('sh'),
|
||||
args: ['-c', 'exit 77']
|
||||
)
|
||||
endforeach
|
||||
endif
|
||||
@@ -59,6 +85,7 @@ test_utils = static_library('fprint-test-utils',
|
||||
unit_tests = [
|
||||
'fpi-device',
|
||||
'fpi-ssm',
|
||||
'fpi-assembling',
|
||||
]
|
||||
|
||||
if 'virtual_image' in drivers
|
||||
@@ -68,11 +95,41 @@ if 'virtual_image' in drivers
|
||||
]
|
||||
endif
|
||||
|
||||
unit_tests_deps = { 'fpi-assembling' : [cairo_dep] }
|
||||
|
||||
test_config = configuration_data()
|
||||
test_config.set_quoted('SOURCE_ROOT', meson.source_root())
|
||||
test_config_h = configure_file(output: 'test-config.h', configuration: test_config)
|
||||
|
||||
foreach test_name: unit_tests
|
||||
if unit_tests_deps.has_key(test_name)
|
||||
missing_deps = false
|
||||
foreach dep: unit_tests_deps[test_name]
|
||||
if not dep.found()
|
||||
missing_deps = true
|
||||
break
|
||||
endif
|
||||
endforeach
|
||||
|
||||
if missing_deps
|
||||
# Create a dummy test that always skips instead
|
||||
warning('Test @0@ cannot be compiled due to missing dependencies'.format(test_name))
|
||||
test(test_name,
|
||||
find_program('sh'),
|
||||
suite: ['unit-tests'],
|
||||
args: ['-c', 'exit 77'],
|
||||
)
|
||||
continue
|
||||
endif
|
||||
extra_deps = unit_tests_deps[test_name]
|
||||
else
|
||||
extra_deps = []
|
||||
endif
|
||||
|
||||
basename = 'test-' + test_name
|
||||
test_exe = executable(basename,
|
||||
sources: basename + '.c',
|
||||
dependencies: libfprint_private_dep,
|
||||
sources: [basename + '.c', test_config_h],
|
||||
dependencies: [ libfprint_private_dep ] + extra_deps,
|
||||
c_args: common_cflags,
|
||||
link_with: test_utils,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user