xref: /openbmc/libpldm/tests/meson.build (revision 9ca767010ae5d9aecc82e6017213a3d5095085db)
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: true)
5    gtest_dep = declare_dependency(
6            dependencies: [
7                dependency('threads'),
8                gtest_proj.dependency('gtest'),
9                gtest_proj.dependency('gtest_main'),
10            ]
11        )
12        gmock_dep = gtest_proj.dependency('gmock')
13endif
14
15
16tests = [
17  'instance-id',
18  'libpldm_base_test',
19  'libpldm_bios_table_test',
20  'libpldm_bios_test',
21  'libpldm_firmware_update_test',
22  'libpldm_fru_test',
23  'libpldm_pdr_test',
24  'libpldm_platform_test',
25  'libpldm_utils_test',
26  'msgbuf',
27  'responder',
28]
29
30# The 'test' transport APIs will never be marked stable as they are just for
31# testing.
32if get_option('abi').contains('testing')
33  tests += [
34    'transport',
35    'transport/send_recv_one',
36    'transport/send_recv_timeout',
37    'transport/send_recv_unwanted',
38    'transport/send_recv_wrong_command_code',
39    'transport/send_recv_wrong_pldm_type',
40  ]
41endif
42
43if get_option('oem-ibm').allowed()
44  tests += [
45    'oem/ibm/libpldm_fileio_test',
46    'oem/ibm/libpldm_host_test',
47  ]
48endif
49
50if get_option('oem-meta').allowed()
51  tests += [
52    'oem/meta/libpldm_fileio_test',
53  ]
54endif
55
56test_include_dirs = [ libpldm_include_dir, include_directories('../src') ]
57
58foreach t : tests
59  test(t, executable(t.underscorify(), t + '.cpp',
60                     implicit_include_directories: false,
61                     include_directories: test_include_dirs,
62                     dependencies: [
63                         libpldm_dep,
64                         gtest_dep,
65                         gmock_dep]),
66       workdir: meson.current_source_dir())
67endforeach
68
69test('bios_table_iter', executable('bios_table_iter',
70                                   'bios_table_iter.c',
71                                   implicit_include_directories: false,
72                                   include_directories: test_include_dirs))
73
74test('msgbuf_generic', executable('msgbuf_generic',
75                                  'msgbuf_generic.c',
76                                  implicit_include_directories: false,
77                                  include_directories: test_include_dirs))
78