blob: 0c3bc2bc034d942d813521811f242bb771bca7c6 [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
Andrew Jefferye984a462024-09-07 11:23:28 +020015test_include_dirs = [libpldm_include_dir, include_directories('../src')]
Andrew Jeffery9c766792022-08-10 23:12:49 +093016
Andrew Jefferye984a462024-09-07 11:23:28 +020017tests = ['instance-id', 'msgbuf', 'responder', 'utils']
Andrew Jeffery9c766792022-08-10 23:12:49 +093018
Andrew Jeffery48761c62024-06-03 15:48:26 +093019subdir('dsp')
20
Matt Johnstonabe9b372024-11-11 17:17:44 +080021if get_option('abi').contains('testing')
22 subdir('fuzz')
23endif
24
Andrew Jeffery9ca76702024-06-03 13:32:41 +093025# The 'test' transport APIs will never be marked stable as they are just for
26# testing.
Andrew Jefferyba05dba2023-08-29 14:43:04 +093027if get_option('abi').contains('testing')
Andrew Jefferye984a462024-09-07 11:23:28 +020028 subdir('transport')
Andrew Jefferyba05dba2023-08-29 14:43:04 +093029endif
30
Andrew Jefferyfef24ed2024-11-29 11:43:49 +103031if get_option('oem').contains('ibm')
Andrew Jefferye984a462024-09-07 11:23:28 +020032 subdir('oem/ibm')
Andrew Jeffery9c766792022-08-10 23:12:49 +093033endif
34
Andrew Jefferyfef24ed2024-11-29 11:43:49 +103035if get_option('oem').contains('meta')
Andrew Jefferye984a462024-09-07 11:23:28 +020036 subdir('oem/meta')
Delphine CC Chiu22fad392023-10-27 11:05:01 +080037endif
38
Andrew Jeffery9c766792022-08-10 23:12:49 +093039foreach t : tests
Andrew Jefferye984a462024-09-07 11:23:28 +020040 test(
41 t,
42 executable(
43 t.underscorify(),
44 t + '.cpp',
45 implicit_include_directories: false,
46 include_directories: test_include_dirs,
47 dependencies: [libpldm_dep, gtest_dep, gmock_dep],
48 ),
49 workdir: meson.current_source_dir(),
50 )
Andrew Jeffery9c766792022-08-10 23:12:49 +093051endforeach
52
Andrew Jefferye984a462024-09-07 11:23:28 +020053test(
54 'msgbuf_generic',
55 executable(
56 'msgbuf_generic',
57 'msgbuf_generic.c',
58 implicit_include_directories: false,
59 include_directories: test_include_dirs,
60 ),
61)