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: false) 5 if gtest_proj.found() 6 gtest_dep = declare_dependency( 7 dependencies: [ 8 dependency('threads'), 9 gtest_proj.dependency('gtest'), 10 gtest_proj.dependency('gtest_main'), 11 ] 12 ) 13 gmock_dep = gtest_proj.dependency('gmock') 14 else 15 assert( 16 not get_option('tests').allowed(), 17 'Googletest is required if tests are enabled' 18 ) 19 endif 20endif 21 22test_sources = [ 23 '../occ_pass_through.cpp', 24 '../occ_manager.cpp', 25 '../occ_status.cpp', 26 '../occ_device.cpp', 27 '../occ_errors.cpp', 28 '../occ_ffdc.cpp', 29 '../occ_presence.cpp', 30 '../occ_command.cpp', 31 '../occ_dbus.cpp', 32 '../powercap.cpp', 33 '../i2c_occ.cpp', 34 '../utils.cpp', 35 occ_sensor_hpp, 36] 37 38if get_option('with-host-communication-protocol')=='pldm' 39 test_sources += [ 40 '../pldm.cpp', 41 ] 42endif 43 44if get_option('power10-support').allowed() 45 test_sources += [ 46 '../powermode.cpp', 47 ] 48endif 49 50tests = [ 51 'error_files_tests.cpp', 52 'occ_dbus_test.cpp', 53 'TestI2cOcc.cpp', 54 'utest.cpp', 55] 56 57pthread_dep = dependency('threads') 58 59foreach t : tests 60 test(t, executable(t.underscorify(), t, 61 test_sources, 62 include_directories: '..', 63 dependencies: [ 64 gtest_dep, 65 gmock_dep, 66 pthread_dep, 67 deps 68 ]), 69 workdir: meson.current_source_dir()) 70endforeach 71