xref: /openbmc/phosphor-led-manager/test/meson.build (revision ee2ecbfacca459888e37db8bb668e752f07d41e5)
1gtest_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').allowed(),
17            'Googletest is required if tests are enabled'
18        )
19  endif
20endif
21
22test_sources = [
23  '../manager/manager.cpp',
24  '../utils.cpp'
25]
26
27tests = [
28  'utest.cpp',
29  'utest-led-json.cpp',
30  'utest-group-priority.cpp',
31]
32if get_option('persistent-led-asserted').allowed()
33  test_sources += [
34    '../manager/serialize.cpp',
35  ]
36  tests += [
37    'utest-serialize.cpp',
38  ]
39endif
40
41foreach t : tests
42  test(t, executable(t.underscorify(), t,
43                     test_sources,
44                     include_directories: ['..', '../manager'],
45                     dependencies: [
46                         gtest_dep,
47                         gmock_dep,
48                         deps
49                         ]),
50       workdir: meson.current_source_dir())
51endforeach
52