// Copyright Epic Games, Inc. All Rights Reserved. #include #include #include #include #include #include #if ZEN_WITH_TESTS # define ZEN_TEST_WITH_RUNNER 1 # include # include #endif int main([[maybe_unused]] int argc, [[maybe_unused]] char* argv[]) { #if ZEN_PLATFORM_WINDOWS setlocale(LC_ALL, "en_us.UTF8"); #endif // ZEN_PLATFORM_WINDOWS #if ZEN_WITH_TESTS zen::zenhttp_forcelinktests(); # if ZEN_PLATFORM_LINUX zen::IgnoreChildSignals(); # endif # if ZEN_WITH_TRACE zen::TraceInit("zenhttp-test"); zen::TraceOptions TraceCommandlineOptions; if (GetTraceOptionsFromCommandline(TraceCommandlineOptions)) { TraceConfigure(TraceCommandlineOptions); } # endif // ZEN_WITH_TRACE zen::logging::InitializeLogging(); zen::MaximizeOpenFileCount(); using namespace std::literals; for (int i = 1; i < argc; ++i) { std::string_view Arg(argv[i]); if (Arg.starts_with("--httpclient="sv)) { std::string_view Value = Arg.substr(13); if (Value == "curl"sv) { zen::SetDefaultHttpClientBackend(zen::HttpClientBackend::kCurl); } else if (Value == "cpr"sv) { zen::SetDefaultHttpClientBackend(zen::HttpClientBackend::kCpr); } } } return ZEN_RUN_TESTS(argc, argv); #else return 0; #endif }