xref: /openbmc/openpower-occ-control/test/meson.build (revision a8ebb1db377b7a86ba5890723d5a0f7c4d636217)
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  '../occ_pass_through.cpp',
24  '../occ_manager.cpp',
25  '../occ_status.cpp',
26  '../occ_device.cpp',
27  '../occ_errors.cpp',
28  '../occ_ffdc.cpp',
29  '../occ_presence.cpp',
30  '../occ_command.cpp',
31  '../occ_dbus.cpp',
32  '../powercap.cpp',
33  '../i2c_occ.cpp',
34  '../utils.cpp',
35  occ_sensor_hpp,
36]
37
38if get_option('with-host-communication-protocol')=='pldm'
39    test_sources += [
40        '../pldm.cpp',
41    ]
42endif
43
44if get_option('power10-support').allowed()
45    test_sources += [
46        '../powermode.cpp',
47    ]
48endif
49
50tests = [
51  'error_files_tests.cpp',
52  'occ_dbus_test.cpp',
53  'TestI2cOcc.cpp',
54  'utest.cpp',
55]
56
57pthread_dep = dependency('threads')
58
59foreach t : tests
60  test(t, executable(t.underscorify(), t,
61                     test_sources,
62                     include_directories: '..',
63                     dependencies: [
64                         gtest_dep,
65                         gmock_dep,
66                         pthread_dep,
67                         deps
68                         ]),
69       workdir: meson.current_source_dir())
70endforeach
71