blob: 04dd4dce543eaba079acce7f54270d28f776aba5 [file] [log] [blame]
Andrew Jeffery9c766792022-08-10 23:12: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: 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 = [
Andrew Jefferyb27cebf2023-04-24 11:17:05 +093017 'instance-id',
Andrew Jeffery9c766792022-08-10 23:12:49 +093018 'libpldm_base_test',
Andrew Jeffery9c766792022-08-10 23:12:49 +093019 'libpldm_bios_table_test',
Andrew Jeffery44925df2024-06-03 13:19:28 +093020 'libpldm_bios_test',
Andrew Jefferyc63f63a2023-02-24 22:29:33 +103021 'libpldm_firmware_update_test',
Andrew Jeffery44925df2024-06-03 13:19:28 +093022 'libpldm_fru_test',
23 'libpldm_pdr_test',
24 'libpldm_platform_test',
25 'libpldm_utils_test',
Andrew Jefferyc63f63a2023-02-24 22:29:33 +103026 'msgbuf',
Andrew Jefferycc45aed2023-09-10 23:03:29 +093027 'responder',
Andrew Jeffery9c766792022-08-10 23:12:49 +093028]
29
Andrew Jeffery9ca76702024-06-03 13:32:41 +093030# The 'test' transport APIs will never be marked stable as they are just for
31# testing.
Andrew Jefferyba05dba2023-08-29 14:43:04 +093032if get_option('abi').contains('testing')
Andrew Jeffery2aa237d2023-09-22 18:21:06 +093033 tests += [
34 'transport',
35 'transport/send_recv_one',
36 'transport/send_recv_timeout',
37 'transport/send_recv_unwanted',
Andrew Jeffery44925df2024-06-03 13:19:28 +093038 'transport/send_recv_wrong_command_code',
Andrew Jeffery2aa237d2023-09-22 18:21:06 +093039 'transport/send_recv_wrong_pldm_type',
Andrew Jeffery2aa237d2023-09-22 18:21:06 +093040 ]
Andrew Jefferyba05dba2023-08-29 14:43:04 +093041endif
42
Andrew Jeffery8de8e1e2023-06-09 14:37:18 +093043if get_option('oem-ibm').allowed()
Andrew Jeffery9c766792022-08-10 23:12:49 +093044 tests += [
45 'oem/ibm/libpldm_fileio_test',
46 'oem/ibm/libpldm_host_test',
47 ]
48endif
49
Delphine CC Chiu22fad392023-10-27 11:05:01 +080050if get_option('oem-meta').allowed()
51 tests += [
52 'oem/meta/libpldm_fileio_test',
53 ]
54endif
55
Andrew Jefferyb0c1d202023-11-07 22:08:44 +103056test_include_dirs = [ libpldm_include_dir, include_directories('../src') ]
Andrew Jefferyc63f63a2023-02-24 22:29:33 +103057
Andrew Jeffery9c766792022-08-10 23:12:49 +093058foreach t : tests
59 test(t, executable(t.underscorify(), t + '.cpp',
60 implicit_include_directories: false,
Andrew Jefferyb0c1d202023-11-07 22:08:44 +103061 include_directories: test_include_dirs,
Andrew Jeffery9c766792022-08-10 23:12:49 +093062 dependencies: [
63 libpldm_dep,
64 gtest_dep,
65 gmock_dep]),
66 workdir: meson.current_source_dir())
67endforeach
68
Andrew Jeffery73d91762023-06-28 12:19:19 +093069test('bios_table_iter', executable('bios_table_iter',
70 'bios_table_iter.c',
71 implicit_include_directories: false,
Andrew Jefferyb0c1d202023-11-07 22:08:44 +103072 include_directories: test_include_dirs))
Andrew Jeffery73d91762023-06-28 12:19:19 +093073
Andrew Jefferyc63f63a2023-02-24 22:29:33 +103074test('msgbuf_generic', executable('msgbuf_generic',
75 'msgbuf_generic.c',
76 implicit_include_directories: false,
Andrew Jefferyb0c1d202023-11-07 22:08:44 +103077 include_directories: test_include_dirs))