[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    [PATCH] ntdll/tests: Fix failures in the file tests (GetOverlappedResult)
From:       Detlef Riekenberg <wine.dev () web ! de>
Date:       2019-03-31 15:34:47
Message-ID: 20190331153447.2160-1-wine.dev () web ! de
[Download RAW message or body]

Setting LastError to ERROR_SUCCESS in GetOverlappedResult seems to be broken.

Example test failure:
http://test.winehq.org/data/c6ff0e01224e86c7baa31d019fcb0a7bf03e2f96/win10_dr-i7-HD3000-wowv3/ntdll:file.html


Patch tested:
https://testbot.winehq.org/JobDetails.pl?Key=50279

--
bye bye ...
        ... Detlef

Signed-off-by: Detlef Riekenberg <wine.dev@web.de>
---
 dlls/ntdll/tests/file.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
index d107c2ed2b..0aa3c041af 100644
--- a/dlls/ntdll/tests/file.c
+++ b/dlls/ntdll/tests/file.c
@@ -4464,7 +4464,8 @@ static void test_read_write(void)
         SetLastError(0xdeadbeef);
         ret = GetOverlappedResult(hfile, &ovl, &bytes, TRUE);
         ok(ret, "GetOverlappedResult should report TRUE\n");
-        ok(GetLastError() == 0xdeadbeef, "expected 0xdeadbeef, got %d\n", \
GetLastError()); +        ok((GetLastError() == 0xdeadbeef) || broken(GetLastError() \
== ERROR_SUCCESS), +            "expected 0xdeadbeef, got %d\n", GetLastError());
         ok(bytes == 0, "expected 0, read %u\n", bytes);
         ok((NTSTATUS)ovl.Internal == STATUS_SUCCESS, "expected STATUS_SUCCESS, got \
                %#lx\n", ovl.Internal);
         ok(ovl.InternalHigh == 0, "expected 0, got %lu\n", ovl.InternalHigh);
@@ -4493,7 +4494,8 @@ static void test_read_write(void)
         SetLastError(0xdeadbeef);
         ret = GetOverlappedResult(hfile, &ovl, &bytes, TRUE);
         ok(ret, "GetOverlappedResult should report TRUE\n");
-        ok(GetLastError() == 0xdeadbeef, "expected 0xdeadbeef, got %d\n", \
GetLastError()); +        ok((GetLastError() == 0xdeadbeef) || broken(GetLastError() \
== ERROR_SUCCESS), +            "expected 0xdeadbeef, got %d\n", GetLastError());
         ok(bytes == 0, "expected 0, read %u\n", bytes);
         ok((NTSTATUS)ovl.Internal == STATUS_SUCCESS, "expected STATUS_SUCCESS, got \
                %#lx\n", ovl.Internal);
         ok(ovl.InternalHigh == 0, "expected 0, got %lu\n", ovl.InternalHigh);
--
2.21.0.windows.1


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic