tests: Add unit tests for some of service/dconf-writer.c
[dconf.git] / tests / meson.build
blob3274059b200957f86d7ab234dfbf9b4f146f818e
1 sources = files(
2   'dconf-mock-dbus.c',
3   'dconf-mock-gvdb.c',
4   'dconf-mock-shm.c',
7 libdconf_mock = static_library(
8   'dconf-mock',
9   sources: sources,
10   dependencies: glib_dep,
13 envs = test_env + [
14   'G_TEST_SRCDIR=' + meson.current_source_dir(),
15   'G_TEST_BUILDDIR=' + meson.current_build_dir(),
18 test_dir = meson.current_source_dir()
20 dl_dep = cc.find_library('dl', required: false)
21 m_dep = cc.find_library('m')
23 unit_tests = [
24   # [name, sources, c_args, dependencies, link_with]
25   ['paths', 'paths.c', [], libdconf_common_dep, []],
26   ['changeset', 'changeset.c', [], libdconf_common_dep, []],
27   ['shm', ['shm.c', 'tmpdir.c'], [], [dl_dep, libdconf_common_dep, libdconf_shm_dep], []],
28   ['gvdb', 'gvdb.c', '-DSRCDIR="@0@"'.format(test_dir), libgvdb_dep, []],
29   ['gdbus-thread', 'dbus.c', '-DDBUS_BACKEND="/gdbus/thread"', libdconf_gdbus_thread_dep, []],
30   ['gdbus-filter', 'dbus.c', '-DDBUS_BACKEND="/gdbus/filter"', libdconf_gdbus_filter_dep, []],
31   ['engine', 'engine.c', '-DSRCDIR="@0@"'.format(test_dir), [dl_dep, libdconf_engine_dep, m_dep], libdconf_mock],
32   ['client', 'client.c', '-DSRCDIR="@0@"'.format(test_dir), [libdconf_client_dep, libdconf_engine_dep], libdconf_mock],
33   ['writer', 'writer.c', '-DSRCDIR="@0@"'.format(test_dir), [glib_dep, dl_dep, m_dep], [libdconf_service, libdconf_mock]],
36 foreach unit_test: unit_tests
37   exe = executable(
38     unit_test[0],
39     unit_test[1],
40     c_args: unit_test[2],
41     dependencies: unit_test[3],
42     link_with: unit_test[4],
43     include_directories: [top_inc, include_directories('../service')],
44   )
46   test(unit_test[0], exe, is_parallel: false, env: envs)
47 endforeach