xref: /openbmc/phosphor-logging/test/meson.build (revision 40fb54935ce7367636a7156039396ee91cc4d5e2)
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').enabled(),
17            'Googletest is required if tests are enabled',
18        )
19    endif
20endif
21
22if get_option('openpower-pel-extension').allowed()
23    subdir('openpower-pels')
24endif
25
26tests = [
27    'extensions_test',
28    'log_manager_dbus_tests',
29    'remote_logging_test_address',
30    'remote_logging_test_config',
31    'remote_logging_test_port',
32    'sdtest',
33    'serialization_test_path',
34    'serialization_test_properties',
35]
36foreach t : tests
37    test(
38        'test_' + t.underscorify(),
39        executable(
40            'test-' + t.underscorify(),
41            t + '.cpp',
42            'common.cpp',
43            '../phosphor-rsyslog-config/server-conf.cpp',
44            dependencies: [
45                conf_h_dep,
46                gmock_dep,
47                gtest_dep,
48                log_manager_deps,
49                pdi_dep,
50                phosphor_logging_dep,
51            ],
52            include_directories: include_directories('..', '../gen'),
53            link_with: log_manager_lib,
54        ),
55    )
56endforeach
57
58tests_non_parallel = [
59    'elog_quiesce_test',
60    'elog_update_ts_test',
61    'elog_errorwrap_test',
62]
63
64foreach t : tests_non_parallel
65    test(
66        'test_' + t.underscorify(),
67        executable(
68            'test-' + t.underscorify(),
69            t + '.cpp',
70            'common.cpp',
71            '../phosphor-rsyslog-config/server-conf.cpp',
72            dependencies: [
73                conf_h_dep,
74                gmock_dep,
75                gtest_dep,
76                log_manager_deps,
77                phosphor_logging_dep,
78            ],
79            include_directories: include_directories('..', '../gen'),
80            link_with: log_manager_lib,
81        ),
82        is_parallel: false,
83    )
84endforeach
85