blob: 059d13c3f863da5b8f8c42e4cbb095a8134673cf [file] [log] [blame]
George Liu687fe072021-05-04 16:16:43 +08001gtest_dep = dependency('gtest', main: true, disabler: true, required: false)
2gmock_dep = dependency('gmock', disabler: true, required: false)
3if not gtest_dep.found() or not gmock_dep.found()
4 gtest_proj = import('cmake').subproject('googletest', required: false)
5 if gtest_proj.found()
6 gtest_dep = declare_dependency(
7 dependencies: [
8 dependency('threads'),
9 gtest_proj.dependency('gtest'),
10 gtest_proj.dependency('gtest_main'),
11 ]
12 )
13 gmock_dep = gtest_proj.dependency('gmock')
14 else
15 assert(
16 not get_option('tests').enabled(),
17 'Googletest is required if tests are enabled'
18 )
19 endif
20endif
21
George Liu4b062012020-10-13 15:26:58 +080022test_sources = [
23 '../manager.cpp',
24 '../serialize.cpp',
25 '../utils.cpp'
26]
27
28tests = [
29 'utest.cpp',
30 'utest-serialize.cpp',
31]
32
33if get_option('use-json').enabled()
34 tests += ['utest-led-json.cpp']
35endif
36
37foreach t : tests
38 test(t, executable(t.underscorify(), t,
39 test_sources,
40 include_directories: ['..'],
41 dependencies: [
George Liu687fe072021-05-04 16:16:43 +080042 gtest_dep,
43 gmock_dep,
George Liu4b062012020-10-13 15:26:58 +080044 deps
45 ]),
46 workdir: meson.current_source_dir())
47endforeach