[2/2] kernel32/tests: Add a test to show that WaitCommEvent should fail if there is a pending wait.
Dmitry Timoshkov
dmitry at baikal.ru
Mon Sep 2 04:27:01 CDT 2013
---
dlls/kernel32/tests/comm.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/tests/comm.c b/dlls/kernel32/tests/comm.c
index 60d51e2..2129fe6 100644
--- a/dlls/kernel32/tests/comm.c
+++ b/dlls/kernel32/tests/comm.c
@@ -783,7 +783,7 @@ static void test_waittxempty(void)
DWORD before, after, bytes, timediff, evtmask, errors, i;
BOOL res;
DWORD baud = SLOWBAUD;
- OVERLAPPED ovl_write, ovl_wait;
+ OVERLAPPED ovl_write, ovl_wait, ovl_wait2;
COMSTAT stat;
hcom = test_OpenComm(TRUE);
@@ -956,6 +956,16 @@ todo_wine
{
ok(!evtmask, "WaitCommEvent: expected 0, got %#x\n", evtmask);
+ S(U(ovl_wait2)).Offset = 0;
+ S(U(ovl_wait2)).OffsetHigh = 0;
+ ovl_wait2.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
+ SetLastError(0xdeadbeef);
+ res = WaitCommEvent(hcom, &evtmask, &ovl_wait2);
+ ok(!res, "WaitCommEvent should fail if there is a pending wait\n");
+todo_wine
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
+ CloseHandle(ovl_wait2.hEvent);
+
/* unblock pending wait */
trace("recovering after WAIT_TIMEOUT...\n");
/* FIXME: Wine fails to unblock with new mask being equal to the old one */
--
1.8.3.4
More information about the wine-patches
mailing list