Hans Leidekker : winhttp/tests: Handle timeout errors.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Sep 25 15:22:02 CDT 2015
Module: wine
Branch: master
Commit: 29967d63bbe2279de003f4b1cea55000aac46074
URL: http://source.winehq.org/git/wine.git/?a=commit;h=29967d63bbe2279de003f4b1cea55000aac46074
Author: Hans Leidekker <hans at codeweavers.com>
Date: Tue Sep 22 15:58:33 2015 +0200
winhttp/tests: Handle timeout errors.
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
dlls/winhttp/tests/notification.c | 21 +++++++++++++--------
dlls/winhttp/tests/winhttp.c | 31 ++++++++++++++++++++-----------
2 files changed, 33 insertions(+), 19 deletions(-)
diff --git a/dlls/winhttp/tests/notification.c b/dlls/winhttp/tests/notification.c
index a409c0d..5d76d12 100644
--- a/dlls/winhttp/tests/notification.c
+++ b/dlls/winhttp/tests/notification.c
@@ -159,7 +159,7 @@ static void setup_test( struct info *info, enum api function, unsigned int line
static void test_connection_cache( void )
{
HANDLE ses, con, req, event;
- DWORD size, status;
+ DWORD size, status, err;
BOOL ret, unload = TRUE;
struct info info, *context = &info;
@@ -194,7 +194,8 @@ static void test_connection_cache( void )
setup_test( &info, winhttp_send_request, __LINE__ );
ret = WinHttpSendRequest( req, NULL, 0, NULL, 0, 0, 0 );
- if (!ret && GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT)
+ err = GetLastError();
+ if (!ret && (err == ERROR_WINHTTP_CANNOT_CONNECT || err == ERROR_WINHTTP_TIMEOUT))
{
skip("connection failed, skipping\n");
goto done;
@@ -222,7 +223,8 @@ static void test_connection_cache( void )
setup_test( &info, winhttp_send_request, __LINE__ );
ret = WinHttpSendRequest( req, NULL, 0, NULL, 0, 0, 0 );
- if (!ret && GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT)
+ err = GetLastError();
+ if (!ret && (err == ERROR_WINHTTP_CANNOT_CONNECT || err == ERROR_WINHTTP_TIMEOUT))
{
skip("connection failed, skipping\n");
goto done;
@@ -289,7 +291,8 @@ static void test_connection_cache( void )
setup_test( &info, winhttp_send_request, __LINE__ );
ret = WinHttpSendRequest( req, NULL, 0, NULL, 0, 0, 0 );
- if (!ret && GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT)
+ err = GetLastError();
+ if (!ret && (err == ERROR_WINHTTP_CANNOT_CONNECT || err == ERROR_WINHTTP_TIMEOUT))
{
skip("connection failed, skipping\n");
goto done;
@@ -317,7 +320,8 @@ static void test_connection_cache( void )
setup_test( &info, winhttp_send_request, __LINE__ );
ret = WinHttpSendRequest( req, NULL, 0, NULL, 0, 0, 0 );
- if (!ret && GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT)
+ err = GetLastError();
+ if (!ret && (err == ERROR_WINHTTP_CANNOT_CONNECT || err == ERROR_WINHTTP_TIMEOUT))
{
skip("connection failed, skipping\n");
goto done;
@@ -387,7 +391,7 @@ static const struct notification redirect_test[] =
static void test_redirect( void )
{
HANDLE ses, con, req;
- DWORD size, status;
+ DWORD size, status, err;
BOOL ret;
struct info info, *context = &info;
@@ -414,7 +418,8 @@ static void test_redirect( void )
setup_test( &info, winhttp_send_request, __LINE__ );
ret = WinHttpSendRequest( req, NULL, 0, NULL, 0, 0, 0 );
- if (!ret && GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT)
+ err = GetLastError();
+ if (!ret && (err == ERROR_WINHTTP_CANNOT_CONNECT || err == ERROR_WINHTTP_TIMEOUT))
{
skip("connection failed, skipping\n");
goto done;
@@ -524,7 +529,7 @@ static void test_async( void )
SetLastError( 0xdeadbeef );
ret = WinHttpSendRequest( req, NULL, 0, NULL, 0, 0, 0 );
err = GetLastError();
- if (!ret && err == ERROR_WINHTTP_CANNOT_CONNECT)
+ if (!ret && (err == ERROR_WINHTTP_CANNOT_CONNECT || err == ERROR_WINHTTP_TIMEOUT))
{
skip("connection failed, skipping\n");
WinHttpCloseHandle( req );
diff --git a/dlls/winhttp/tests/winhttp.c b/dlls/winhttp/tests/winhttp.c
index 369574a..0ecd5ab 100644
--- a/dlls/winhttp/tests/winhttp.c
+++ b/dlls/winhttp/tests/winhttp.c
@@ -254,7 +254,7 @@ static void test_OpenRequest (void)
SetLastError(0xdeadbeef);
ret = WinHttpSendRequest(request, WINHTTP_NO_ADDITIONAL_HEADERS, 0, NULL, 0, 0, 0);
err = GetLastError();
- if (!ret && err == ERROR_WINHTTP_CANNOT_CONNECT)
+ if (!ret && (err == ERROR_WINHTTP_CANNOT_CONNECT || err == ERROR_WINHTTP_TIMEOUT))
{
skip("Connection failed, skipping.\n");
goto done;
@@ -280,6 +280,7 @@ static void test_empty_headers_param(void)
{
static const WCHAR empty[] = {0};
HINTERNET ses, con, req;
+ DWORD err;
BOOL ret;
ses = WinHttpOpen(test_useragent, 0, NULL, NULL, 0);
@@ -292,7 +293,8 @@ static void test_empty_headers_param(void)
ok(req != NULL, "failed to open a request %u\n", GetLastError());
ret = WinHttpSendRequest(req, empty, 0, NULL, 0, 0, 0);
- if (!ret && GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT)
+ err = GetLastError();
+ if (!ret && (err == ERROR_WINHTTP_CANNOT_CONNECT || err == ERROR_WINHTTP_TIMEOUT))
{
skip("connection failed, skipping\n");
goto done;
@@ -315,7 +317,7 @@ static void test_SendRequest (void)
static CHAR post_data[] = "mode=Test";
static const char test_post[] = "mode => Test\0\n";
HINTERNET session, request, connection;
- DWORD header_len, optional_len, total_len, bytes_rw, size;
+ DWORD header_len, optional_len, total_len, bytes_rw, size, err;
DWORD_PTR context;
BOOL ret;
CHAR buffer[256];
@@ -348,7 +350,8 @@ static void test_SendRequest (void)
context++;
ret = WinHttpSendRequest(request, content_type, header_len, post_data, optional_len, total_len, context);
- if (!ret && GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT)
+ err = GetLastError();
+ if (!ret && (err == ERROR_WINHTTP_CANNOT_CONNECT || err == ERROR_WINHTTP_TIMEOUT))
{
skip("connection failed, skipping\n");
goto done;
@@ -968,7 +971,7 @@ static void CALLBACK cert_error(HINTERNET handle, DWORD_PTR ctx, DWORD status, L
static void test_secure_connection(void)
{
HINTERNET ses, con, req;
- DWORD size, status, policy, bitness, read_size;
+ DWORD size, status, policy, bitness, read_size, err;
BOOL ret;
CERT_CONTEXT *cert;
WINHTTP_CERTIFICATE_INFO info;
@@ -989,7 +992,8 @@ static void test_secure_connection(void)
ok(req != NULL, "failed to open a request %u\n", GetLastError());
ret = WinHttpSendRequest(req, NULL, 0, NULL, 0, 0, 0);
- if (!ret && GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT)
+ err = GetLastError();
+ if (!ret && (err == ERROR_WINHTTP_CANNOT_CONNECT || err == ERROR_WINHTTP_TIMEOUT))
{
skip("Connection failed, skipping.\n");
goto cleanup;
@@ -1011,7 +1015,9 @@ static void test_secure_connection(void)
WinHttpSetStatusCallback(req, cert_error, WINHTTP_CALLBACK_STATUS_SECURE_FAILURE, 0);
ret = WinHttpSendRequest(req, NULL, 0, NULL, 0, 0, 0);
- if (!ret && (GetLastError() == ERROR_WINHTTP_SECURE_FAILURE || GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT))
+ err = GetLastError();
+ if (!ret && (err == ERROR_WINHTTP_SECURE_FAILURE || err == ERROR_WINHTTP_CANNOT_CONNECT ||
+ err == ERROR_WINHTTP_TIMEOUT))
{
skip("secure connection failed, skipping remaining secure tests\n");
goto cleanup;
@@ -1089,7 +1095,8 @@ static void test_request_parameter_defaults(void)
ok(req != NULL, "failed to open a request %u\n", GetLastError());
ret = WinHttpSendRequest(req, NULL, 0, NULL, 0, 0, 0);
- if (!ret && GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT)
+ error = GetLastError();
+ if (!ret && (error == ERROR_WINHTTP_CANNOT_CONNECT || error == ERROR_WINHTTP_TIMEOUT))
{
skip("connection failed, skipping\n");
goto done;
@@ -1116,7 +1123,8 @@ static void test_request_parameter_defaults(void)
ok(req != NULL, "failed to open a request %u\n", GetLastError());
ret = WinHttpSendRequest(req, NULL, 0, NULL, 0, 0, 0);
- if (!ret && (GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT || GetLastError() == ERROR_WINHTTP_TIMEOUT))
+ error = GetLastError();
+ if (!ret && (error == ERROR_WINHTTP_CANNOT_CONNECT || error == ERROR_WINHTTP_TIMEOUT))
{
skip("connection failed, skipping\n");
goto done;
@@ -4009,7 +4017,7 @@ static void test_chunked_read(void)
static const WCHAR verb[] = {'/','t','e','s','t','c','h','u','n','k','e','d',0};
static const WCHAR chunked[] = {'c','h','u','n','k','e','d',0};
WCHAR header[32];
- DWORD len;
+ DWORD len, err;
HINTERNET ses, con = NULL, req = NULL;
BOOL ret;
@@ -4028,7 +4036,8 @@ static void test_chunked_read(void)
if (!req) goto done;
ret = WinHttpSendRequest( req, NULL, 0, NULL, 0, 0, 0 );
- if (!ret && GetLastError() == ERROR_WINHTTP_CANNOT_CONNECT)
+ err = GetLastError();
+ if (!ret && (err == ERROR_WINHTTP_CANNOT_CONNECT || err == ERROR_WINHTTP_TIMEOUT))
{
skip("connection failed, skipping\n");
goto done;
More information about the wine-cvs
mailing list