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').enabled(), 17 'Googletest is required if tests are enabled' 18 ) 19 endif 20endif 21 22tests = [ 23 'elog_quiesce_test', 24 'elog_update_ts_test', 25 'extensions_test', 26 'remote_logging_test_address', 27 'remote_logging_test_config', 28 'remote_logging_test_port', 29 'sdtest', 30 'serialization_test_path', 31 'serialization_test_properties', 32 'elog_errorwrap_test', 33] 34foreach t : tests 35 test( 36 'test_' + t.underscorify(), 37 executable( 38 'test-' + t.underscorify(), 39 t + '.cpp', 40 log_manager_sources, 41 '../phosphor-rsyslog-config/server-conf.cpp', 42 link_with: libphosphor_logging, 43 cpp_args: [ 44 '-DTESTCASE=' + t.underscorify(), 45 '-DTESTCASE_' + t.underscorify(), 46 ], 47 dependencies: [ 48 cereal_dep, 49 gmock_dep, 50 gtest_dep, 51 pdi_dep, 52 sdbusplus_dep, 53 sdeventplus_dep, 54 ], 55 include_directories: include_directories('..', '../gen'), 56 ) 57 ) 58endforeach 59