blob: 8e5da4c3d949ba7eed34765a5a534d7de07c8bfe [file] [log] [blame]
George Liubddcf852021-09-08 08:46:22 +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
22test_sources = [
23 generated_sources,
24 '../occ_pass_through.cpp',
25 '../occ_manager.cpp',
26 '../occ_status.cpp',
27 '../occ_device.cpp',
28 '../occ_errors.cpp',
Eddie James2f9f9bb2021-09-20 14:26:31 -050029 '../occ_ffdc.cpp',
George Liubddcf852021-09-08 08:46:22 +080030 '../occ_presence.cpp',
31 '../occ_command.cpp',
32 '../occ_dbus.cpp',
33 '../powercap.cpp',
34 '../i2c_occ.cpp',
35 '../utils.cpp',
36]
37
38if get_option('with-host-communication-protocol')=='pldm'
39 test_sources += [
40 '../pldm.cpp',
41 ]
42endif
43
44if get_option('power10-support').enabled()
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: ['..', '../gen'],
63 dependencies: [
64 gtest_dep,
65 gmock_dep,
66 pthread_dep,
67 deps
68 ]),
69 workdir: meson.current_source_dir())
70endforeach