Dmitry Timoshkov : kernel32/tests: Add a FlushFileBuffers test for a COM port.
Alexandre Julliard
julliard at winehq.org
Fri Aug 30 11:00:38 CDT 2013
Module: wine
Branch: master
Commit: f69ec2c61c675974cafc4161d74aab60fe751338
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f69ec2c61c675974cafc4161d74aab60fe751338
Author: Dmitry Timoshkov <dmitry at 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();
More information about the wine-cvs
mailing list