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