blob: 7ded00583819357d6449ee695baf12b47e37f8b8 [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(
Andrew Jefferye984a462024-09-07 11:23:28 +02006 dependencies: [
7 dependency('threads'),
8 gtest_proj.dependency('gtest'),
9 gtest_proj.dependency('gtest_main'),
10 ],
11 )
12 gmock_dep = gtest_proj.dependency('gmock')
Andrew Jeffery9c766792022-08-10 23:12:49 +093013endif
14
John Chung7a8d9322025-08-27 20:56:19 -050015test_include_dirs = [
16 libpldm_include_dir,
17 include_directories('../src', '../tests'),
18]
Andrew Jeffery9c766792022-08-10 23:12:49 +093019
Andrew Jefferye984a462024-09-07 11:23:28 +020020tests = ['instance-id', 'msgbuf', 'responder', 'utils']
Andrew Jeffery9c766792022-08-10 23:12:49 +093021
Andrew Jeffery48761c62024-06-03 15:48:26 +093022subdir('dsp')
23
Matt Johnstonabe9b372024-11-11 17:17:44 +080024if get_option('abi').contains('testing')
25 subdir('fuzz')
26endif
27
Andrew Jeffery9ca76702024-06-03 13:32:41 +093028# The 'test' transport APIs will never be marked stable as they are just for
29# testing.
Andrew Jefferyba05dba2023-08-29 14:43:04 +093030if get_option('abi').contains('testing')
Andrew Jefferye984a462024-09-07 11:23:28 +020031 subdir('transport')
Andrew Jefferyba05dba2023-08-29 14:43:04 +093032endif
33
Andrew Jefferyfef24ed2024-11-29 11:43:49 +103034if get_option('oem').contains('ibm')
Andrew Jefferye984a462024-09-07 11:23:28 +020035 subdir('oem/ibm')
Andrew Jeffery9c766792022-08-10 23:12:49 +093036endif
37
Andrew Jefferyfef24ed2024-11-29 11:43:49 +103038if get_option('oem').contains('meta')
Andrew Jefferye984a462024-09-07 11:23:28 +020039 subdir('oem/meta')
Delphine CC Chiu22fad392023-10-27 11:05:01 +080040endif
41
Andrew Jeffery9c766792022-08-10 23:12:49 +093042foreach t : tests
Andrew Jefferye984a462024-09-07 11:23:28 +020043 test(
44 t,
45 executable(
46 t.underscorify(),
47 t + '.cpp',
48 implicit_include_directories: false,
49 include_directories: test_include_dirs,
50 dependencies: [libpldm_dep, gtest_dep, gmock_dep],
51 ),
52 workdir: meson.current_source_dir(),
53 )
Andrew Jeffery9c766792022-08-10 23:12:49 +093054endforeach
55
Andrew Jefferye984a462024-09-07 11:23:28 +020056test(
57 'msgbuf_generic',
58 executable(
59 'msgbuf_generic',
60 'msgbuf_generic.c',
61 implicit_include_directories: false,
62 include_directories: test_include_dirs,
63 ),
64)