This seems to be a variation of a bug already encountered; here the kernel does not report the right value in the IOSB until after completion is signaled.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48587 Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/httpapi/tests/httpapi.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/dlls/httpapi/tests/httpapi.c b/dlls/httpapi/tests/httpapi.c index d758dee6b2c..752d008fc6b 100644 --- a/dlls/httpapi/tests/httpapi.c +++ b/dlls/httpapi/tests/httpapi.c @@ -233,9 +233,11 @@ static void test_v1_server(void) ok(ret, "Got error %u.\n", GetLastError()); ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size);
- /* 64-bit Windows 10 version 1507 apparently suffers from a bug where it - * will report success before completely filling the buffer. Wait for a - * short interval to work around this. */ + /* Various versions of Windows (observed on 64-bit Windows 8 and Windows 10 + * version 1507, but probably affecting others) suffer from a bug where the + * kernel will report success before completely filling the buffer or + * reporting the correct buffer size. Wait for a short interval to work + * around this. */ Sleep(100);
ok(!req->Flags, "Got flags %#x.\n", req->Flags); @@ -1306,10 +1308,14 @@ static void test_v2_server(void) ret = send(s, req_text, strlen(req_text), 0); ok(ret == strlen(req_text), "send() returned %d.\n", ret);
+ ret = WaitForSingleObject(ovl.hEvent, 100); + ok(!ret, "Got %u.\n", ret); + + Sleep(100); + ret = GetOverlappedResult(queue, &ovl, &ret_size, TRUE); ok(ret, "Got error %u.\n", GetLastError()); ok(ret_size > sizeof(*req), "Got size %u.\n", ret_size); - Sleep(100);
ok(!req->Flags, "Got flags %#x.\n", req->Flags); ok(req->ConnectionId, "Expected nonzero connection ID.\n");
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=83524
Your paranoid android.
=== w1064 (32 bit report) ===
httpapi: httpapi.c:307: Test failed: Got SSL connection ID fd00000160000005. httpapi.c:1375: Test failed: Got SSL connection ID fe00000060000004. httpapi.c:1378: Test failed: Got request info 0064E40C.
=== w10pro64 (32 bit report) ===
httpapi: httpapi.c:307: Test failed: Got SSL connection ID ff00000260000001. httpapi.c:1375: Test failed: Got SSL connection ID fd00000060000001. httpapi.c:1378: Test failed: Got request info 0064E40C.
=== w1064 (64 bit report) ===
httpapi: httpapi.c:1375: Test failed: Got SSL connection ID fc00000160000004. httpapi.c:1378: Test failed: Got request info 000000000064E428.
=== w1064_2qxl (64 bit report) ===
httpapi: httpapi.c:307: Test failed: Got SSL connection ID ff00000260000001. httpapi.c:1375: Test failed: Got SSL connection ID ff00000060000011. httpapi.c:1378: Test failed: Got request info 000000000064E428.
=== w10pro64 (64 bit report) ===
httpapi: httpapi.c:1375: Test failed: Got SSL connection ID ff0000026000000c. httpapi.c:1378: Test failed: Got request info 000000000064E428.
=== w10pro64_ar (64 bit report) ===
httpapi: httpapi.c:1375: Test failed: Got SSL connection ID fd0000016000000d. httpapi.c:1378: Test failed: Got request info 000000000064E428.
=== w10pro64_he (64 bit report) ===
httpapi: httpapi.c:307: Test failed: Got SSL connection ID ff00000260000001. httpapi.c:1375: Test failed: Got SSL connection ID ff00000260000011. httpapi.c:1378: Test failed: Got request info 000000000064E428.
=== w10pro64_ja (64 bit report) ===
httpapi: httpapi.c:307: Test failed: Got SSL connection ID ff00000260000001. httpapi.c:1375: Test failed: Got SSL connection ID ff00000060000015. httpapi.c:1378: Test failed: Got request info 000000000064E428.
=== w10pro64_zh_CN (64 bit report) ===
httpapi: httpapi.c:307: Test failed: Got SSL connection ID ff00000260000001. httpapi.c:1375: Test failed: Got SSL connection ID fd00000160000003. httpapi.c:1378: Test failed: Got request info 000000000064E428.