blob: 5ef050b13e23d49015389e7502aa8fc272733256 [file] [log] [blame]
gtest = dependency('gtest', main: true, disabler: true, required: false)
gmock = dependency('gmock', disabler: true, required: false)
if not gtest.found() or not gmock.found()
gtest_opts = import('cmake').subproject_options()
gtest_opts.add_cmake_defines({'CMAKE_CXX_FLAGS': '-Wno-pedantic'})
gtest_proj = import('cmake').subproject(
'googletest',
options: gtest_opts,
required: false)
if gtest_proj.found()
gtest = declare_dependency(
dependencies: [
dependency('threads'),
gtest_proj.dependency('gtest'),
gtest_proj.dependency('gtest_main'),
])
gmock = gtest_proj.dependency('gmock')
else
assert(not get_option('tests').enabled(), 'Googletest is required')
endif
endif
test_headers = include_directories('.')
test_deps = [
meson.get_compiler('cpp').find_library('dl'),
networkd_dep,
gtest,
gmock,
]
test_lib = static_library(
'networkd-test',
'mock_syscall.cpp',
'global_network_objects.cpp',
implicit_include_directories: false,
include_directories: test_headers,
dependencies: test_deps)
test_dep = declare_dependency(
dependencies: test_deps,
include_directories: test_headers,
link_with: test_lib)
tests = [
'config_parser',
'ethernet_interface',
'neighbor',
'netlink',
'network_manager',
#'rtnetlink',
'util',
'vlan_interface',
]
foreach t : tests
test(
t,
executable(
t.underscorify(),
'test_' + t + '.cpp',
implicit_include_directories: false,
dependencies: test_dep))
endforeach