Jacek Caban : wininet: Fixed http tests on win10.
Alexandre Julliard
julliard at wine.codeweavers.com
Sat May 14 10:07:28 CDT 2016
Module: wine
Branch: master
Commit: f4e68eef37615e6351f8264886c686d9980b9876
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f4e68eef37615e6351f8264886c686d9980b9876
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri May 13 18:46:40 2016 +0200
wininet: Fixed http tests on win10.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wininet/tests/http.c | 35 +++++++++++++++++++++++------------
1 file changed, 23 insertions(+), 12 deletions(-)
diff --git a/dlls/wininet/tests/http.c b/dlls/wininet/tests/http.c
index 3f65784..b09f20d 100644
--- a/dlls/wininet/tests/http.c
+++ b/dlls/wininet/tests/http.c
@@ -520,7 +520,7 @@ static void InternetReadFile_test(int flags, const test_data_t *test)
length = sizeof(buffer);
res = HttpQueryInfoA(hor, HTTP_QUERY_RAW_HEADERS, buffer, &length, 0x0);
ok(res, "HttpQueryInfoA(HTTP_QUERY_RAW_HEADERS) failed with error %d\n", GetLastError());
- ok(length == 0, "HTTP_QUERY_RAW_HEADERS: expected length 0, but got %d\n", length);
+ ok(length == 0 || (length == 1 && !*buffer) /* win10 */, "HTTP_QUERY_RAW_HEADERS: expected length 0, but got %d\n", length);
ok(!strcmp(buffer, ""), "HTTP_QUERY_RAW_HEADERS: expected string \"\", but got \"%s\"\n", buffer);
CHECK_NOTIFIED(INTERNET_STATUS_HANDLE_CREATED);
@@ -1759,8 +1759,8 @@ static void HttpHeaders_test(void)
memset(buffer, 'x', sizeof(buffer));
ok(HttpQueryInfoA(hRequest,HTTP_QUERY_RAW_HEADERS_CRLF,
buffer,&len,&index) == TRUE,"Query failed\n");
- ok(len == 2, "Expected 2, got %d\n", len);
- ok(strcmp(buffer, "\r\n") == 0, "Expected CRLF, got '%s'\n", buffer);
+ ok(len == 2 || len == 4 /* win10 */, "Expected 2 or 4, got %d\n", len);
+ ok(memcmp(buffer, "\r\n\r\n", len) == 0, "Expected CRLF, got '%s'\n", buffer);
ok(index == 0, "Index was incremented\n");
ok(HttpAddRequestHeadersA(hRequest,"Warning:test2",-1,HTTP_ADDREQ_FLAG_ADD),
@@ -1962,8 +1962,7 @@ static const char contmsg[] =
static const char expandcontmsg[] =
"HTTP/1.1 100 Continue\r\n"
"Server: winecontinue\r\n"
-"Tag: something witty\r\n"
-"\r\n";
+"Tag: something witty\r\n";
static const char okmsg[] =
"HTTP/1.1 200 OK\r\n"
@@ -2390,6 +2389,8 @@ static void test_basic_request(int port, const char *verb, const char *url)
DWORD r, count, error;
char buffer[0x100];
+ trace("basic request %s %s\n", verb, url);
+
hi = InternetOpenA(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
ok(hi != NULL, "open failed\n");
@@ -2403,7 +2404,7 @@ static void test_basic_request(int port, const char *verb, const char *url)
r = HttpSendRequestA(hr, NULL, 0, NULL, 0);
error = GetLastError();
ok(error == ERROR_SUCCESS || broken(error != ERROR_SUCCESS), "expected ERROR_SUCCESS, got %u\n", error);
- ok(r, "HttpSendRequest failed\n");
+ ok(r, "HttpSendRequest failed: %u\n", GetLastError());
count = 0;
memset(buffer, 0, sizeof buffer);
@@ -3073,14 +3074,24 @@ static void test_header_override(int port)
ok(req != NULL, "HttpOpenRequest failed\n");
ret = HttpAddRequestHeadersA(req, host_header_override, ~0u, HTTP_ADDREQ_FLAG_REPLACE);
- err = GetLastError();
- todo_wine ok(!ret, "HttpAddRequestHeaders succeeded\n");
- todo_wine ok(err == ERROR_HTTP_HEADER_NOT_FOUND, "Expected error ERROR_HTTP_HEADER_NOT_FOUND, got %d\n", err);
+ if(ret) { /* win10 returns success */
+ trace("replacing host header is supported.\n");
- ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
- ok(ret, "HttpSendRequest failed\n");
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
+ ok(ret, "HttpSendRequest failed\n");
- test_status_code_todo(req, 400);
+ test_status_code(req, 200);
+ }else {
+ trace("replacing host header is not supported.\n");
+
+ err = GetLastError();
+ ok(err == ERROR_HTTP_HEADER_NOT_FOUND, "Expected error ERROR_HTTP_HEADER_NOT_FOUND, got %d\n", err);
+
+ ret = HttpSendRequestA(req, NULL, 0, NULL, 0);
+ ok(ret, "HttpSendRequest failed\n");
+
+ test_status_code(req, 400);
+ }
InternetCloseHandle(req);
InternetCloseHandle(con);
More information about the wine-cvs
mailing list