xref: /openbmc/entity-manager/test/meson.build (revision f440defad38e93ab95423ce801981dfe07363bf8)
1test_boost_args = boost_args + ['-DBOOST_ASIO_DISABLE_THREADS']
2gtest = dependency('gtest', main: true, disabler: true, required: false)
3gmock = dependency('gmock', disabler: true, required: false)
4
5if not (gtest.found() and gmock.found())
6    cmake = import('cmake')
7    gtest_subproject = cmake.subproject('gtest')
8    cm_gtest = gtest_subproject.dependency('gtest')
9    cm_gtest_main = gtest_subproject.dependency('gtest_main')
10    gtest = declare_dependency(dependencies: [cm_gtest, cm_gtest_main, threads])
11    gmock = gtest_subproject.dependency('gmock')
12
13endif
14
15test_include_dir = '../src'
16
17test(
18    'test_entity_manager',
19    executable(
20        'test_entity_manager',
21        'test_entity-manager.cpp',
22        '../src/entity_manager/expression.cpp',
23        '../src/utils.cpp',
24        '../src/entity_manager/utils.cpp',
25        cpp_args: test_boost_args,
26        dependencies: [
27            boost,
28            gtest,
29            nlohmann_json_dep,
30            phosphor_logging_dep,
31            sdbusplus,
32            valijson,
33        ],
34        include_directories: test_include_dir,
35    ),
36)
37
38test(
39    'test_fru_utils',
40    executable(
41        'test_fru_utils',
42        'test_fru-utils.cpp',
43        '../src/fru_device/fru_utils.cpp',
44        '../src/fru_device/fru_reader.cpp',
45        cpp_args: test_boost_args,
46        dependencies: [boost, gtest, gmock, phosphor_logging_dep, sdbusplus],
47        include_directories: test_include_dir,
48    ),
49)
50
51test(
52    'test_topology',
53    executable(
54        'test_topology',
55        'test_topology.cpp',
56        '../src/entity_manager/topology.cpp',
57        cpp_args: test_boost_args,
58        dependencies: [gtest, gmock, nlohmann_json_dep, phosphor_logging_dep],
59        include_directories: test_include_dir,
60    ),
61)
62
63test(
64    'test_gpio_presence',
65    executable(
66        'test_gpio_presence',
67        'test_gpio_presence.cpp',
68        cpp_args: test_boost_args,
69        include_directories: test_include_dir,
70        dependencies: [boost, gtest, gmock, phosphor_logging_dep, libgpio_dep],
71        link_with: gpio_presence_lib,
72    ),
73)
74