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_platform_test', 20 'libpldm_bios_test', 21 'libpldm_bios_table_test', 22 'libpldm_fru_test', 23 'libpldm_utils_test', 24 'libpldm_pdr_test', 25 'libpldm_firmware_update_test', 26 'msgbuf', 27] 28 29if get_option('abi').contains('testing') 30 tests += [ 'transport' ] 31endif 32 33if get_option('oem-ibm').allowed() 34 tests += [ 35 'oem/ibm/libpldm_fileio_test', 36 'oem/ibm/libpldm_host_test', 37 ] 38endif 39 40src_includes = include_directories('..' / 'src', '..' / 'include' / 'libpldm') 41 42foreach t : tests 43 test(t, executable(t.underscorify(), t + '.cpp', 44 implicit_include_directories: false, 45 include_directories: src_includes, 46 dependencies: [ 47 libpldm_dep, 48 gtest_dep, 49 gmock_dep]), 50 workdir: meson.current_source_dir()) 51endforeach 52 53test('bios_table_iter', executable('bios_table_iter', 54 'bios_table_iter.c', 55 implicit_include_directories: false, 56 include_directories: src_includes)) 57 58test('msgbuf_generic', executable('msgbuf_generic', 59 'msgbuf_generic.c', 60 implicit_include_directories: false, 61 include_directories: src_includes)) 62