xref: /openbmc/dbus-sensors/src/tests/meson.build (revision ff8c90ef9060a6c64443786ed45d110e8f8260c9)
1d7be555eSGeorge Liugtest_dep = dependency('gtest', main: true, disabler: true, required: false)
2d7be555eSGeorge Liugmock_dep = dependency('gmock', disabler: true, required: false)
3d7be555eSGeorge Liuif not gtest_dep.found() or not gmock_dep.found()
4d7be555eSGeorge Liu    gtest_proj = import('cmake').subproject('googletest', required: false)
5d7be555eSGeorge Liu    if gtest_proj.found()
6d7be555eSGeorge Liu        gtest_dep = declare_dependency(
7d7be555eSGeorge Liu            dependencies: [
8d7be555eSGeorge Liu                dependency('threads'),
9d7be555eSGeorge Liu                gtest_proj.dependency('gtest'),
10d7be555eSGeorge Liu                gtest_proj.dependency('gtest_main'),
11d7be555eSGeorge Liu            ],
12d7be555eSGeorge Liu        )
13d7be555eSGeorge Liu        gmock_dep = gtest_proj.dependency('gmock')
14d7be555eSGeorge Liu    else
15d7be555eSGeorge Liu        assert(
16d7be555eSGeorge Liu            not get_option('tests').allowed(),
17d7be555eSGeorge Liu            'Googletest is required if tests are enabled',
18d7be555eSGeorge Liu        )
19d7be555eSGeorge Liu    endif
20d7be555eSGeorge Liuendif
21d7be555eSGeorge Liu
22*ff8c90efSPatrick Williamsut_deps_list = [gtest_dep]
23d7be555eSGeorge Liu
24d7be555eSGeorge Liuut_deps_list += default_deps
25d7be555eSGeorge Liusrc_inc = include_directories('..')
26d7be555eSGeorge Liu
27d7be555eSGeorge Liutest(
28d7be555eSGeorge Liu    'test_utils',
29d7be555eSGeorge Liu    executable(
30d7be555eSGeorge Liu        'test_utils',
31d7be555eSGeorge Liu        'test_Utils.cpp',
32d7be555eSGeorge Liu        '../Utils.cpp',
33d7be555eSGeorge Liu        dependencies: ut_deps_list,
34d7be555eSGeorge Liu        implicit_include_directories: false,
35d7be555eSGeorge Liu        include_directories: src_inc,
36d7be555eSGeorge Liu    ),
37d7be555eSGeorge Liu)
38d7be555eSGeorge Liu
39d7be555eSGeorge Liutest(
40d7be555eSGeorge Liu    'test_ipmb',
41d7be555eSGeorge Liu    executable(
42d7be555eSGeorge Liu        'test_ipmb',
43d7be555eSGeorge Liu        '../ipmb/IpmbSensor.cpp',
44d7be555eSGeorge Liu        '../Utils.cpp',
45d7be555eSGeorge Liu        '../ipmb/IpmbSDRSensor.cpp',
46d7be555eSGeorge Liu        'test_IpmbSensor.cpp',
47d7be555eSGeorge Liu        dependencies: ut_deps_list,
48*ff8c90efSPatrick Williams        link_with: [utils_a, thresholds_a, devicemgmt_a],
49d7be555eSGeorge Liu        implicit_include_directories: false,
50d7be555eSGeorge Liu        include_directories: src_inc,
51d7be555eSGeorge Liu    ),
52d7be555eSGeorge Liu)
53275f7c39SAndrew Jeffery
54275f7c39SAndrew Jefferytest(
55275f7c39SAndrew Jeffery    'MCTPReactor',
56275f7c39SAndrew Jeffery    executable(
57275f7c39SAndrew Jeffery        'test_MCTPReactor',
58275f7c39SAndrew Jeffery        'test_MCTPReactor.cpp',
59275f7c39SAndrew Jeffery        '../mctp/MCTPReactor.cpp',
60275f7c39SAndrew Jeffery        '../mctp/MCTPEndpoint.cpp',
61275f7c39SAndrew Jeffery        dependencies: [gmock_dep, ut_deps_list, utils_dep],
62275f7c39SAndrew Jeffery        implicit_include_directories: false,
63*ff8c90efSPatrick Williams        include_directories: '../mctp',
64*ff8c90efSPatrick Williams    ),
65275f7c39SAndrew Jeffery)
66275f7c39SAndrew Jeffery
67275f7c39SAndrew Jefferytest(
68275f7c39SAndrew Jeffery    'MCTPEndpoint',
69275f7c39SAndrew Jeffery    executable(
70275f7c39SAndrew Jeffery        'test_MCTPEndpoint',
71275f7c39SAndrew Jeffery        'test_MCTPEndpoint.cpp',
72275f7c39SAndrew Jeffery        '../mctp/MCTPEndpoint.cpp',
73275f7c39SAndrew Jeffery        dependencies: [gmock_dep, ut_deps_list, utils_dep],
74275f7c39SAndrew Jeffery        implicit_include_directories: false,
75*ff8c90efSPatrick Williams        include_directories: '../mctp',
76*ff8c90efSPatrick Williams    ),
77275f7c39SAndrew Jeffery)
78