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 += [ 31 'transport', 32 'transport/send_recv_one', 33 'transport/send_recv_timeout', 34 'transport/send_recv_unwanted', 35 'transport/send_recv_wrong_pldm_type', 36 'transport/send_recv_wrong_command_code' 37 ] 38endif 39 40if get_option('oem-ibm').allowed() 41 tests += [ 42 'oem/ibm/libpldm_fileio_test', 43 'oem/ibm/libpldm_host_test', 44 ] 45endif 46 47src_includes = include_directories('..' / 'src', '..' / 'include' / 'libpldm') 48 49foreach t : tests 50 test(t, executable(t.underscorify(), t + '.cpp', 51 implicit_include_directories: false, 52 include_directories: src_includes, 53 dependencies: [ 54 libpldm_dep, 55 gtest_dep, 56 gmock_dep]), 57 workdir: meson.current_source_dir()) 58endforeach 59 60test('bios_table_iter', executable('bios_table_iter', 61 'bios_table_iter.c', 62 implicit_include_directories: false, 63 include_directories: src_includes)) 64 65test('msgbuf_generic', executable('msgbuf_generic', 66 'msgbuf_generic.c', 67 implicit_include_directories: false, 68 include_directories: src_includes)) 69