blob: aa44862f7b1bb19b6c40ade3e846178fc8d0e20d [file] [log] [blame]
George Liu208acee2022-05-10 14:01:30 +08001gtest_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'),
Patrick Williams0eb16842025-02-01 08:36:50 -050011 ],
George Liu208acee2022-05-10 14:01:30 +080012 )
13 gmock_dep = gtest_proj.dependency('gmock')
Patrick Williams0eb16842025-02-01 08:36:50 -050014 else
George Liu208acee2022-05-10 14:01:30 +080015 assert(
Patrick Williams6c79a722023-11-29 06:44:14 -060016 not get_option('tests').allowed(),
Patrick Williams0eb16842025-02-01 08:36:50 -050017 'Googletest is required if tests are enabled',
George Liu208acee2022-05-10 14:01:30 +080018 )
Patrick Williams0eb16842025-02-01 08:36:50 -050019 endif
George Liu208acee2022-05-10 14:01:30 +080020endif
21
22test_sources = [
Patrick Williams0eb16842025-02-01 08:36:50 -050023 '../snmp_conf_manager.cpp',
24 '../snmp_client.cpp',
25 '../snmp_serialize.cpp',
26 '../snmp_util.cpp',
George Liu208acee2022-05-10 14:01:30 +080027]
28
29tests = [
Patrick Williams0eb16842025-02-01 08:36:50 -050030 'test_error_notification.cpp',
31 'test_snmp_conf_manager.cpp',
32 'test_snmp_util.cpp',
33 'test_snmp_serialize.cpp',
34 'test_snmp_client.cpp',
George Liu208acee2022-05-10 14:01:30 +080035]
36
37foreach t : tests
Patrick Williams0eb16842025-02-01 08:36:50 -050038 test(
39 t,
40 executable(
41 t.underscorify(),
42 t,
43 test_sources,
44 include_directories: ['..'],
45 dependencies: [gtest_dep, gmock_dep, deps],
46 ),
47 workdir: meson.current_source_dir(),
48 )
George Liu208acee2022-05-10 14:01:30 +080049endforeach