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