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