Paul Vriens : winspool/tests: Don't treat having no printers as a failure.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Dec 12 08:42:08 CST 2006


Module: wine
Branch: master
Commit: e9cd221e803a94f160dba69c6c79ea3b5c943701
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e9cd221e803a94f160dba69c6c79ea3b5c943701

Author: Paul Vriens <paul.vriens.wine at gmail.com>
Date:   Tue Dec 12 10:22:49 2006 +0100

winspool/tests: Don't treat having no printers as a failure.

---

 dlls/winspool.drv/tests/info.c |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/dlls/winspool.drv/tests/info.c b/dlls/winspool.drv/tests/info.c
index 786ea3f..dec988e 100644
--- a/dlls/winspool.drv/tests/info.c
+++ b/dlls/winspool.drv/tests/info.c
@@ -1637,15 +1637,37 @@ static void test_EnumPrinters(void)
     DWORD ret;
 
     SetLastError(0xdeadbeef);
+    neededA = -1;
     ret = EnumPrintersA(PRINTER_ENUM_LOCAL, NULL, 2, NULL, 0, &neededA, &num);
-    ok(ret == 0, "ret %d\n", ret);
-    ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "gle %d\n", GetLastError());
+    if (!ret)
+    {
+        /* We have 1 or more printers */
+        ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "gle %d\n", GetLastError());
+        ok(neededA > 0, "Expected neededA to show the number of needed bytes\n");
+    }
+    else
+    {
+        /* We don't have any printers defined */
+        ok(GetLastError() == S_OK, "gle %d\n", GetLastError());
+        ok(neededA == 0, "Expected neededA to be zero\n");
+    }
     ok(num == 0, "num %d\n", num);
 
     SetLastError(0xdeadbeef);
+    neededW = -1;
     ret = EnumPrintersW(PRINTER_ENUM_LOCAL, NULL, 2, NULL, 0, &neededW, &num);
-    ok(ret == 0, "ret %d\n", ret);
-    ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "gle %d\n", GetLastError());
+    if (!ret)
+    {
+        /* We have 1 or more printers */
+        ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "gle %d\n", GetLastError());
+        ok(neededW > 0, "Expected neededW to show the number of needed bytes\n");
+    }
+    else
+    {
+        /* We don't have any printers defined */
+        ok(GetLastError() == S_OK, "gle %d\n", GetLastError());
+        ok(neededW == 0, "Expected neededW to be zero\n");
+    }
     ok(num == 0, "num %d\n", num);
 
     /* Outlook2003 relies on the buffer size returned by EnumPrintersA being big enough




More information about the wine-cvs mailing list