blob: 29d4b95fb50c4d50da9c3bee017510c25a9934db [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 = [
Patrick Williams953315d2022-03-16 14:30:39 -050023 '../manager/manager.cpp',
George Liu4b062012020-10-13 15:26:58 +080024 '../utils.cpp'
25]
26
27tests = [
28 'utest.cpp',
George Liufb00eeb2021-06-15 10:04:17 +080029 'utest-led-json.cpp',
George Liu4b062012020-10-13 15:26:58 +080030]
George Liu54671852023-10-30 09:09:39 +080031if get_option('persistent-led-asserted').enabled()
32 test_sources += [
33 '../manager/serialize.cpp',
34 ]
35 tests += [
36 'utest-serialize.cpp',
37 ]
38endif
George Liu4b062012020-10-13 15:26:58 +080039
George Liu4b062012020-10-13 15:26:58 +080040foreach t : tests
41 test(t, executable(t.underscorify(), t,
42 test_sources,
Patrick Williams953315d2022-03-16 14:30:39 -050043 include_directories: ['..', '../manager'],
George Liu4b062012020-10-13 15:26:58 +080044 dependencies: [
George Liu687fe072021-05-04 16:16:43 +080045 gtest_dep,
46 gmock_dep,
George Liu4b062012020-10-13 15:26:58 +080047 deps
48 ]),
49 workdir: meson.current_source_dir())
Patrick Williams953315d2022-03-16 14:30:39 -050050endforeach