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 22test( 23 'test_modbus_commands', 24 executable( 25 'test_modbus_commands', 26 'test_modbus_commands.cpp', 27 dependencies: [gtest_dep, gmock_dep, default_deps, modbus_rtu_dep], 28 include_directories: ['.'], 29 ), 30) 31 32test( 33 'test_modbus', 34 executable( 35 'test_modbus', 36 'test_modbus.cpp', 37 'modbus_server_tester.cpp', 38 dependencies: [gtest_dep, gmock_dep, default_deps, modbus_rtu_dep], 39 include_directories: ['.'], 40 ), 41) 42 43test( 44 'test_port', 45 executable( 46 'test_port', 47 'test_port.cpp', 48 'modbus_server_tester.cpp', 49 dependencies: [gtest_dep, gmock_dep, default_deps, modbus_rtu_dep], 50 include_directories: ['.', common_include], 51 ), 52) 53 54test( 55 'test_inventory', 56 executable( 57 'test_inventory', 58 'test_inventory.cpp', 59 'modbus_server_tester.cpp', 60 inventory_src, 61 dependencies: [gtest_dep, gmock_dep, default_deps, modbus_rtu_dep], 62 include_directories: ['.', common_include], 63 ), 64) 65 66test( 67 'test_sensors', 68 executable( 69 'test_sensors', 70 'test_sensors.cpp', 71 'modbus_server_tester.cpp', 72 device_src, 73 firmware_src, 74 link_with: [modbus_common_lib], 75 dependencies: [gtest_dep, gmock_dep, default_deps, modbus_rtu_dep], 76 include_directories: ['.', common_include], 77 ), 78) 79 80test( 81 'test_events', 82 executable( 83 'test_events', 84 'test_events.cpp', 85 link_with: [modbus_common_lib], 86 dependencies: [gtest_dep, gmock_dep, default_deps, modbus_rtu_dep], 87 include_directories: ['.', common_include], 88 ), 89) 90 91test( 92 'test_firmware', 93 executable( 94 'test_firmware', 95 'test_firmware.cpp', 96 'modbus_server_tester.cpp', 97 firmware_src, 98 link_with: [modbus_common_lib], 99 dependencies: [gtest_dep, gmock_dep, default_deps, modbus_rtu_dep], 100 include_directories: ['.', common_include], 101 ), 102) 103