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_argument',
24    executable(
25        'argument_test',
26        'argument_test.cpp',
27        include_directories: '..',
28        dependencies: [
29            gtest_dep,
30            gmock_dep,
31            cert_manager_dep,
32        ],
33    ),
34)
35
36test(
37    'test_certs_manager',
38    executable(
39        'test-certs-manager',
40        'certs_manager_test.cpp',
41        include_directories: '..',
42        dependencies: [
43            gtest_dep,
44            gmock_dep,
45            cert_manager_dep,
46        ],
47    ),
48    timeout: 500, # Takes about 1 minute to generate all the certs.
49                  # considering valgrind enabled path setting up this 500 sec.
50)
51
52if not get_option('ca-cert-extension').disabled()
53    test(
54        'test_ca_certs_manager',
55        executable(
56            'test-ca-certs-manager',
57            'ca_certs_manager_test.cpp',
58            include_directories: '..',
59            dependencies: [
60                gtest_dep,
61                gmock_dep,
62                bmc_vmi_ca_dep,
63            ],
64        ),
65    )
66endif
67