Detlef Riekenberg : winspool/tests: Fix test for GetPrinterDriver.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri May 5 15:24:08 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 4bb446f8a85d01e0478ef127c8d73106f33df6ee
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=4bb446f8a85d01e0478ef127c8d73106f33df6ee
Author: Detlef Riekenberg <wine.dev at web.de>
Date: Tue May 2 05:58:36 2006 +0200
winspool/tests: Fix test for GetPrinterDriver.
---
dlls/winspool/tests/info.c | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/dlls/winspool/tests/info.c b/dlls/winspool/tests/info.c
index 1ca00b6..b6b15a1 100644
--- a/dlls/winspool/tests/info.c
+++ b/dlls/winspool/tests/info.c
@@ -1029,13 +1029,21 @@ static void test_GetPrinterDriver(void)
ok(!ret, "level %d: GetPrinterDriver should fail\n", level);
if (level >= 1 && level <= 6)
{
+ /* Not all levels are supported on all Windows-Versions */
+ if(GetLastError() == ERROR_INVALID_LEVEL) continue;
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "wrong error %ld\n", GetLastError());
ok(needed > 0,"not expected needed buffer size %ld\n", needed);
}
else
{
- ok(GetLastError() == ERROR_INVALID_LEVEL, "wrong error %ld\n", GetLastError());
- ok(needed == (DWORD)-1,"not expected needed buffer size %ld\n", needed);
+ /* ERROR_OUTOFMEMORY found on win9x */
+ ok( ((GetLastError() == ERROR_INVALID_LEVEL) ||
+ (GetLastError() == ERROR_OUTOFMEMORY)),
+ "%d: returned %d with %ld (expected '0' with: " \
+ "ERROR_INVALID_LEVEL or ERROR_OUTOFMEMORY)\n",
+ level, ret, GetLastError());
+ /* needed is modified in win9x. The modified Value depends on the
+ default Printer. testing for "needed == (DWORD)-1" will fail */
continue;
}
@@ -1052,7 +1060,10 @@ static void test_GetPrinterDriver(void)
DRIVER_INFO_2 *di_2 = (DRIVER_INFO_2 *)buf;
DWORD calculated = sizeof(*di_2);
- ok(di_2->cVersion >= 0 && di_2->cVersion <= 3, "di_2->cVersion = %ld\n", di_2->cVersion);
+ /* MSDN is wrong: The Drivers on the win9x-CD's have cVersion=0x0400
+ NT351: 1, NT4.0+w2k(Kernelmode): 2, w2k and above(Usermode): 3 */
+ ok((di_2->cVersion >= 0 && di_2->cVersion <= 3) ||
+ (di_2->cVersion == 0x0400), "di_2->cVersion = %ld\n", di_2->cVersion);
ok(di_2->pName != NULL, "not expected NULL ptr\n");
ok(di_2->pEnvironment != NULL, "not expected NULL ptr\n");
ok(di_2->pDriverPath != NULL, "not expected NULL ptr\n");
More information about the wine-cvs
mailing list