xref: /openbmc/bmcweb/test/meson.build (revision e5dd4999a035f11ce7bc4db0898235ae99227580)
1d49d847cSAlexander Hansen
2d49d847cSAlexander Hansensrcfiles_unittest = files(
3d49d847cSAlexander Hansen    'http/crow_getroutes_test.cpp',
4d49d847cSAlexander Hansen    'http/http2_connection_test.cpp',
5d49d847cSAlexander Hansen    'http/http_body_test.cpp',
6d49d847cSAlexander Hansen    'http/http_connection_test.cpp',
7d49d847cSAlexander Hansen    'http/http_response_test.cpp',
8d49d847cSAlexander Hansen    'http/mutual_tls.cpp',
9d49d847cSAlexander Hansen    'http/parsing_test.cpp',
10d49d847cSAlexander Hansen    'http/router_test.cpp',
11d49d847cSAlexander Hansen    'http/server_sent_event_test.cpp',
12d49d847cSAlexander Hansen    'http/utility_test.cpp',
13d49d847cSAlexander Hansen    'http/verb_test.cpp',
14d49d847cSAlexander Hansen    'http/zstd_decompressor_test.cpp',
15d49d847cSAlexander Hansen    'include/async_resolve_test.cpp',
16d49d847cSAlexander Hansen    'include/credential_pipe_test.cpp',
17d49d847cSAlexander Hansen    'include/http_utility_test.cpp',
18d49d847cSAlexander Hansen    'include/human_sort_test.cpp',
19d49d847cSAlexander Hansen    'include/json_html_serializer.cpp',
20d49d847cSAlexander Hansen    'include/multipart_test.cpp',
21d49d847cSAlexander Hansen    'include/ossl_random.cpp',
22d49d847cSAlexander Hansen    'include/sessions_test.cpp',
23d49d847cSAlexander Hansen    'include/ssl_key_handler_test.cpp',
24d49d847cSAlexander Hansen    'include/str_utility_test.cpp',
25d49d847cSAlexander Hansen    'redfish-core/include/dbus_log_watcher_test.cpp',
26d49d847cSAlexander Hansen    'redfish-core/include/event_log_test.cpp',
27d49d847cSAlexander Hansen    'redfish-core/include/event_matches_filter_test.cpp',
28d49d847cSAlexander Hansen    'redfish-core/include/filter_expr_executor_test.cpp',
29d49d847cSAlexander Hansen    'redfish-core/include/filter_expr_parser_test.cpp',
30d49d847cSAlexander Hansen    'redfish-core/include/privileges_test.cpp',
31d49d847cSAlexander Hansen    'redfish-core/include/redfish_aggregator_test.cpp',
32d49d847cSAlexander Hansen    'redfish-core/include/redfish_oem_routing_test.cpp',
33d49d847cSAlexander Hansen    'redfish-core/include/redfish_test.cpp',
34d49d847cSAlexander Hansen    'redfish-core/include/registries_test.cpp',
35d49d847cSAlexander Hansen    'redfish-core/include/submit_test_event_test.cpp',
36d49d847cSAlexander Hansen    'redfish-core/include/utils/dbus_utils.cpp',
37d49d847cSAlexander Hansen    'redfish-core/include/utils/error_code_test.cpp',
38d49d847cSAlexander Hansen    'redfish-core/include/utils/hex_utils_test.cpp',
39d49d847cSAlexander Hansen    'redfish-core/include/utils/ip_utils_test.cpp',
40d49d847cSAlexander Hansen    'redfish-core/include/utils/json_utils_test.cpp',
41d49d847cSAlexander Hansen    'redfish-core/include/utils/query_param_test.cpp',
42d49d847cSAlexander Hansen    'redfish-core/include/utils/sensor_utils_test.cpp',
43d49d847cSAlexander Hansen    'redfish-core/include/utils/stl_utils_test.cpp',
44*5e7c1f31SOliver Brewka    'redfish-core/include/utils/systems_utils_test.cpp',
45d49d847cSAlexander Hansen    'redfish-core/include/utils/time_utils_test.cpp',
46d49d847cSAlexander Hansen    'redfish-core/lib/chassis_test.cpp',
47d49d847cSAlexander Hansen    'redfish-core/lib/ethernet_test.cpp',
48d49d847cSAlexander Hansen    'redfish-core/lib/log_services_dump_test.cpp',
49d49d847cSAlexander Hansen    'redfish-core/lib/manager_diagnostic_data_test.cpp',
50d49d847cSAlexander Hansen    'redfish-core/lib/metadata_test.cpp',
51d49d847cSAlexander Hansen    'redfish-core/lib/power_subsystem_test.cpp',
52d49d847cSAlexander Hansen    'redfish-core/lib/service_root_test.cpp',
53d49d847cSAlexander Hansen    'redfish-core/lib/system_test.cpp',
54d49d847cSAlexander Hansen    'redfish-core/lib/systems_logservices_postcode.cpp',
55d49d847cSAlexander Hansen    'redfish-core/lib/thermal_subsystem_test.cpp',
56d49d847cSAlexander Hansen    'redfish-core/lib/update_service_test.cpp',
57d49d847cSAlexander Hansen) + test_sources
58d49d847cSAlexander Hansen
59d49d847cSAlexander Hansenif (get_option('tests').allowed())
60d49d847cSAlexander Hansen    gtest = dependency(
61d49d847cSAlexander Hansen        'gtest_main',
62d49d847cSAlexander Hansen        main: true,
63d49d847cSAlexander Hansen        version: '>=1.15.0',
64d49d847cSAlexander Hansen        required: true,
65d49d847cSAlexander Hansen    )
66d49d847cSAlexander Hansen    gmock = dependency('gmock', required: true)
67d49d847cSAlexander Hansen    gtestlib = static_library('gtestlib', dependencies: [gtest, gmock])
68d49d847cSAlexander Hansen    gtestdep = declare_dependency(
69d49d847cSAlexander Hansen        link_with: gtestlib,
70d49d847cSAlexander Hansen        dependencies: [
71d49d847cSAlexander Hansen            gtest.partial_dependency(includes: true),
72d49d847cSAlexander Hansen            gmock.partial_dependency(includes: true),
73d49d847cSAlexander Hansen        ],
74d49d847cSAlexander Hansen    )
75d49d847cSAlexander Hansen    # generate the test executable
76d49d847cSAlexander Hansen    foreach test_src : srcfiles_unittest
77d49d847cSAlexander Hansen        test_bin = executable(
78d49d847cSAlexander Hansen            fs.stem(test_src),
79d49d847cSAlexander Hansen            test_src,
80d49d847cSAlexander Hansen            link_with: bmcweblib,
81d49d847cSAlexander Hansen            include_directories: [incdir, include_directories('..')],
82d49d847cSAlexander Hansen            install_dir: bindir,
83d49d847cSAlexander Hansen            dependencies: bmcweb_dependencies + [gtestdep],
84d49d847cSAlexander Hansen        )
85d49d847cSAlexander Hansen        test(fs.stem(test_src), test_bin, protocol: 'gtest')
86d49d847cSAlexander Hansen    endforeach
87d49d847cSAlexander Hansenendif
88