From 35eedb84fdf9f087ead64f6f6928f2d20330d174 Mon Sep 17 00:00:00 2001 From: Terrasse Date: Sat, 25 Jan 2025 16:57:31 +0800 Subject: [PATCH] fix: curl return code could be 7 when there is DNS error redirection for bad hosts (issue #1165) --- test/error_tests.cpp | 2 +- test/get_tests.cpp | 3 ++- test/head_tests.cpp | 2 +- test/post_tests.cpp | 2 +- test/raw_body_tests.cpp | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/test/error_tests.cpp b/test/error_tests.cpp index 23b52c83b..f51c050e7 100644 --- a/test/error_tests.cpp +++ b/test/error_tests.cpp @@ -76,7 +76,7 @@ TEST(ErrorTests, ProxyFailure) { Response response = cpr::Get(url, cpr::Proxies{{"http", "http://bad_host.libcpr.org"}}); EXPECT_EQ(url, response.url); EXPECT_EQ(0, response.status_code); - EXPECT_EQ(ErrorCode::COULDNT_RESOLVE_PROXY, response.error.code); + EXPECT_TRUE(response.error.code == ErrorCode::COULDNT_RESOLVE_PROXY || response.error.code == ErrorCode::COULDNT_CONNECT); } TEST(ErrorTests, BoolFalseTest) { diff --git a/test/get_tests.cpp b/test/get_tests.cpp index 9a7e82611..350902123 100644 --- a/test/get_tests.cpp +++ b/test/get_tests.cpp @@ -1,4 +1,5 @@ #include +#include #include #include @@ -112,7 +113,7 @@ TEST(BasicTests, BadHostTest) { EXPECT_EQ(std::string{}, response.text); EXPECT_EQ(url, response.url); EXPECT_EQ(0, response.status_code); - EXPECT_EQ(ErrorCode::COULDNT_RESOLVE_HOST, response.error.code); + EXPECT_TRUE(response.error.code == ErrorCode::COULDNT_RESOLVE_HOST || response.error.code == ErrorCode::COULDNT_CONNECT); } TEST(CookiesTests, BasicCookiesTest) { diff --git a/test/head_tests.cpp b/test/head_tests.cpp index 6e3c00f66..4d01b4df9 100644 --- a/test/head_tests.cpp +++ b/test/head_tests.cpp @@ -47,7 +47,7 @@ TEST(HeadTests, BadHostHeadTest) { EXPECT_EQ(std::string{}, response.text); EXPECT_EQ(url, response.url); EXPECT_EQ(0, response.status_code); - EXPECT_EQ(ErrorCode::COULDNT_RESOLVE_HOST, response.error.code); + EXPECT_TRUE(response.error.code == ErrorCode::COULDNT_RESOLVE_HOST || response.error.code == ErrorCode::COULDNT_CONNECT); } TEST(HeadTests, CookieHeadTest) { diff --git a/test/post_tests.cpp b/test/post_tests.cpp index 8183c9329..6dd72e746 100644 --- a/test/post_tests.cpp +++ b/test/post_tests.cpp @@ -119,7 +119,7 @@ TEST(UrlEncodedPostTests, UrlPostBadHostTest) { EXPECT_EQ(url, response.url); EXPECT_EQ(std::string{}, response.header["content-type"]); EXPECT_EQ(0, response.status_code); - EXPECT_EQ(ErrorCode::COULDNT_RESOLVE_HOST, response.error.code); + EXPECT_TRUE(response.error.code == ErrorCode::COULDNT_RESOLVE_HOST || response.error.code == ErrorCode::COULDNT_CONNECT); } TEST(UrlEncodedPostTests, FormPostSingleTest) { diff --git a/test/raw_body_tests.cpp b/test/raw_body_tests.cpp index ae0e7925e..cf8de80fc 100644 --- a/test/raw_body_tests.cpp +++ b/test/raw_body_tests.cpp @@ -110,7 +110,7 @@ TEST(BodyPostTests, UrlPostBadHostTest) { EXPECT_EQ(url, response.url); EXPECT_EQ(std::string{}, response.header["content-type"]); EXPECT_EQ(0, response.status_code); - EXPECT_EQ(ErrorCode::COULDNT_RESOLVE_HOST, response.error.code); + EXPECT_TRUE(response.error.code == ErrorCode::COULDNT_RESOLVE_HOST || response.error.code == ErrorCode::COULDNT_CONNECT); } TEST(BodyPostTests, StringMoveBodyTest) {