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    'ldap_config_test',
24    executable(
25        'ldap_config_test',
26        ['ldap_config_test.cpp',
27         'utils_test.cpp'],
28        include_directories: '..',
29        dependencies: [
30            gtest_dep,
31            gmock_dep,
32            phosphor_ldap_conf_dep,
33        ],
34        link_args: ['-lldap'],
35    ),
36)
37
38test(
39    'ldap_mapper_test',
40    executable(
41        'ldap_mapper_test',
42        'ldap_mapper_test.cpp',
43        include_directories: '..',
44        dependencies: [
45            gtest_dep,
46            gmock_dep,
47            phosphor_ldap_mapper_dep,
48        ],
49    ),
50)
51
52test(
53    'user_mgr_test',
54    executable(
55        'user_mgr_test',
56        'user_mgr_test.cpp',
57        include_directories: '..',
58        dependencies: [
59            gtest_dep,
60            gmock_dep,
61            user_manager_dep,
62        ],
63    ),
64)
65