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 ] 11 ) 12 gmock_dep = gtest_proj.dependency('gmock') 13 else 14 assert( 15 not get_option('tests').enabled(), 16 'Googletest is required if tests are enabled' 17 ) 18 endif 19endif 20 21test( 22 'telemetry-ut', 23 executable( 24 'telemetry-ut', 25 [ 26 '../src/metric.cpp', 27 '../src/persistent_json_storage.cpp', 28 '../src/report.cpp', 29 '../src/report_factory.cpp', 30 '../src/report_manager.cpp', 31 '../src/sensor.cpp', 32 '../src/sensor_cache.cpp', 33 'src/dbus_environment.cpp', 34 'src/main.cpp', 35 'src/stubs/dbus_sensor_object.cpp', 36 'src/test_detached_timer.cpp', 37 'src/test_metric.cpp', 38 'src/test_persistent_json_storage.cpp', 39 'src/test_report.cpp', 40 'src/test_report_manager.cpp', 41 'src/test_sensor.cpp', 42 'src/test_sensor_cache.cpp', 43 'src/test_unique_call.cpp', 44 'src/utils/generate_unique_mock_id.cpp', 45 ], 46 dependencies: [ 47 boost, 48 gmock_dep, 49 gtest_dep, 50 nlohmann_json, 51 phosphor_logging, 52 sdbusplus, 53 ], 54 include_directories: ['../src', 'src'] 55 ) 56) 57