blob: 8fc3477e1cf7cbac2689a39d6a0c4ef8283f74f7 [file] [log] [blame]
Andrew Jeffery2f20c5a2021-05-27 14:52:49 +09301gtest_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'),
Andrew Jefferyab8b0452024-01-11 09:55:51 +103011 ],
Andrew Jeffery2f20c5a2021-05-27 14:52:49 +093012 )
13 gmock_dep = gtest_proj.dependency('gmock')
14 else
15 assert(
Patrick Williams5bc307f2023-11-29 06:44:23 -060016 not get_option('tests').allowed(),
Andrew Jefferyab8b0452024-01-11 09:55:51 +103017 'Googletest is required if tests are enabled',
Andrew Jeffery2f20c5a2021-05-27 14:52:49 +093018 )
19 endif
20endif
Brad Bishopfeb19ef2019-11-07 18:02:16 -050021
Patrick Williamsff8c90e2025-02-01 08:37:02 -050022ut_deps_list = [gtest_dep]
Ed Tanous16966b52021-09-15 15:06:59 -070023
24ut_deps_list += default_deps
George Liud7be5552024-09-20 10:39:09 +080025src_inc = include_directories('..')
Ed Tanous16966b52021-09-15 15:06:59 -070026
Lei YUd3204142021-11-16 14:57:27 +080027test(
28 'test_utils',
29 executable(
30 'test_utils',
31 'test_Utils.cpp',
George Liud7be5552024-09-20 10:39:09 +080032 '../Utils.cpp',
Ed Tanous16966b52021-09-15 15:06:59 -070033 dependencies: ut_deps_list,
Lei YUd3204142021-11-16 14:57:27 +080034 implicit_include_directories: false,
George Liud7be5552024-09-20 10:39:09 +080035 include_directories: src_inc,
Andrew Jefferyab8b0452024-01-11 09:55:51 +103036 ),
Lei YUd3204142021-11-16 14:57:27 +080037)
Ed Tanous828c5a62024-02-09 16:59:22 -080038
39test(
40 'test_ipmb',
41 executable(
42 'test_ipmb',
George Liud7be5552024-09-20 10:39:09 +080043 '../ipmb/IpmbSensor.cpp',
44 '../Utils.cpp',
45 '../ipmb/IpmbSDRSensor.cpp',
Ed Tanous828c5a62024-02-09 16:59:22 -080046 'test_IpmbSensor.cpp',
47 dependencies: ut_deps_list,
Patrick Williamsff8c90e2025-02-01 08:37:02 -050048 link_with: [utils_a, thresholds_a, devicemgmt_a],
Ed Tanous828c5a62024-02-09 16:59:22 -080049 implicit_include_directories: false,
George Liud7be5552024-09-20 10:39:09 +080050 include_directories: src_inc,
Ed Tanous828c5a62024-02-09 16:59:22 -080051 ),
52)
Andrew Jeffery275f7c32024-01-31 12:41:14 +103053
54test(
55 'MCTPReactor',
56 executable(
57 'test_MCTPReactor',
58 'test_MCTPReactor.cpp',
59 '../mctp/MCTPReactor.cpp',
60 '../mctp/MCTPEndpoint.cpp',
Patrick Williamsff8c90e2025-02-01 08:37:02 -050061 dependencies: [gmock_dep, ut_deps_list, utils_dep],
Andrew Jeffery275f7c32024-01-31 12:41:14 +103062 implicit_include_directories: false,
Patrick Williamsff8c90e2025-02-01 08:37:02 -050063 include_directories: '../mctp',
64 ),
Andrew Jeffery275f7c32024-01-31 12:41:14 +103065)
66
67test(
68 'MCTPEndpoint',
69 executable(
70 'test_MCTPEndpoint',
71 'test_MCTPEndpoint.cpp',
72 '../mctp/MCTPEndpoint.cpp',
Patrick Williamsff8c90e2025-02-01 08:37:02 -050073 dependencies: [gmock_dep, ut_deps_list, utils_dep],
Andrew Jeffery275f7c32024-01-31 12:41:14 +103074 implicit_include_directories: false,
Patrick Williamsff8c90e2025-02-01 08:37:02 -050075 include_directories: '../mctp',
76 ),
Andrew Jeffery275f7c32024-01-31 12:41:14 +103077)