kernel32/tests: Add a test to show that WaitCommEvent should fail if there is a pending wait.
This commit is contained in:
parent
663dbd9f1c
commit
4135900235
|
@ -783,7 +783,7 @@ static void test_waittxempty(void)
|
||||||
DWORD before, after, bytes, timediff, evtmask, errors, i;
|
DWORD before, after, bytes, timediff, evtmask, errors, i;
|
||||||
BOOL res;
|
BOOL res;
|
||||||
DWORD baud = SLOWBAUD;
|
DWORD baud = SLOWBAUD;
|
||||||
OVERLAPPED ovl_write, ovl_wait;
|
OVERLAPPED ovl_write, ovl_wait, ovl_wait2;
|
||||||
COMSTAT stat;
|
COMSTAT stat;
|
||||||
|
|
||||||
hcom = test_OpenComm(TRUE);
|
hcom = test_OpenComm(TRUE);
|
||||||
|
@ -956,6 +956,16 @@ todo_wine
|
||||||
{
|
{
|
||||||
ok(!evtmask, "WaitCommEvent: expected 0, got %#x\n", evtmask);
|
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 */
|
/* unblock pending wait */
|
||||||
trace("recovering after WAIT_TIMEOUT...\n");
|
trace("recovering after WAIT_TIMEOUT...\n");
|
||||||
/* FIXME: Wine fails to unblock with new mask being equal to the old one */
|
/* FIXME: Wine fails to unblock with new mask being equal to the old one */
|
||||||
|
|
Loading…
Reference in New Issue