Module: wine Branch: master Commit: f69ec2c61c675974cafc4161d74aab60fe751338 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f69ec2c61c675974cafc4161d7...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Fri Aug 30 18:20:26 2013 +0900
kernel32/tests: Add a FlushFileBuffers test for a COM port.
---
dlls/kernel32/tests/comm.c | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/dlls/kernel32/tests/comm.c b/dlls/kernel32/tests/comm.c index 647c07a..e5264c8 100644 --- a/dlls/kernel32/tests/comm.c +++ b/dlls/kernel32/tests/comm.c @@ -1872,9 +1872,35 @@ done: CloseHandle(hcom); }
+static void test_FlushFileBuffers(void) +{ + HANDLE hcom; + DWORD ret, bytes, errors; + COMSTAT stat; + + hcom = test_OpenComm(FALSE); + if (hcom == INVALID_HANDLE_VALUE) return; + + ret = WriteFile(hcom, "\0\0\0\0\0\0\0", 7, &bytes, NULL); + ok(ret, "WriteFile error %d\n", GetLastError()); + ok(bytes == 7, "expected 7, got %u\n", bytes); + + ret = FlushFileBuffers(hcom); + ok(ret, "FlushFileBuffers error %d\n", GetLastError()); + + ret = ClearCommError(hcom, &errors, &stat); + ok(ret, "ClearCommError error %d\n", GetLastError()); + ok(stat.cbInQue == 0, "expected 0, got %d bytes in InQueue\n", stat.cbInQue); + ok(stat.cbOutQue == 0, "expected 0, got %d bytes in OutQueue\n", stat.cbOutQue); + ok(errors == 0, "expected errors 0, got %#x\n", errors); + + CloseHandle(hcom); +} + START_TEST(comm) { test_ClearCommError(); /* keep it the very first test */ + test_FlushFileBuffers(); test_BuildCommDCB(); test_ReadTimeOut(); test_waittxempty();