Module: wine Branch: master Commit: a2f0cb854231ad2f592786d10f2d62b9b325a135 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a2f0cb854231ad2f592786d10f...
Author: Detlef Riekenberg wine.dev@web.de Date: Fri Dec 8 14:02:50 2006 +0100
localspl/tests: Add tests for XcvClosePort.
---
dlls/localspl/tests/localmon.c | 33 +++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/dlls/localspl/tests/localmon.c b/dlls/localspl/tests/localmon.c index 89dd757..00978e7 100644 --- a/dlls/localspl/tests/localmon.c +++ b/dlls/localspl/tests/localmon.c @@ -291,6 +291,38 @@ static void test_InitializePrintMonitor( "returned %p with %d (expected %p)\n", res, GetLastError(), pm); }
+/* ########################### */ + +static void test_XcvClosePort(void) +{ + DWORD res; + HANDLE hXcv; + + if ((pXcvOpenPort == NULL) || (pXcvClosePort == NULL)) return; + +#if 0 + /* crash with native localspl.dll (w2k+xp) */ + res = pXcvClosePort(NULL); + res = pXcvClosePort(INVALID_HANDLE_VALUE); +#endif + + + SetLastError(0xdeadbeef); + hXcv = (HANDLE) 0xdeadbeef; + res = pXcvOpenPort(emptyW, SERVER_ACCESS_ADMINISTER, &hXcv); + ok(res, "returned %d with 0x%x and %p (expected '!= 0')\n", res, GetLastError(), hXcv); + + if (res) { + SetLastError(0xdeadbeef); + res = pXcvClosePort(hXcv); + ok( res, "returned %d with 0x%x(expected '!= 0')\n", res, GetLastError()); + +#if 0 + /* test for "Double Free": crash with native localspl.dll (w2k+xp) */ + res = pXcvClosePort(hXcv); +#endif + } +}
/* ########################### */
@@ -400,5 +432,6 @@ START_TEST(localmon) test_ConfigurePort(); test_DeletePort(); test_EnumPorts(); + test_XcvClosePort(); test_XcvOpenPort(); }