Detlef Riekenberg : winspool/tests: Handle the Windows bug in GetPrinterDataEx.
Alexandre Julliard
julliard at winehq.org
Thu Jun 17 11:17:14 CDT 2010
Module: wine
Branch: master
Commit: 2cbb9a1ee5bca8c0e83d769391469c66aaf7b351
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2cbb9a1ee5bca8c0e83d769391469c66aaf7b351
Author: Detlef Riekenberg <wine.dev at web.de>
Date: Thu Jun 17 00:38:24 2010 +0200
winspool/tests: Handle the Windows bug in GetPrinterDataEx.
---
dlls/winspool.drv/tests/info.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/dlls/winspool.drv/tests/info.c b/dlls/winspool.drv/tests/info.c
index b86d367..b81bde4 100644
--- a/dlls/winspool.drv/tests/info.c
+++ b/dlls/winspool.drv/tests/info.c
@@ -2461,8 +2461,19 @@ static void test_GetPrinterDataEx(void)
needed = 0xdeadbeef;
SetLastError(0xdeadbeef);
+ /* vista and w2k8 have a bug in GetPrinterDataEx:
+ the current LastError value is returned as result */
res = pGetPrinterDataExA(hprn, NULL, defaultspooldirectory, NULL, NULL, 0, &needed);
- ok( (res == ERROR_MORE_DATA) && ((needed == len) || (needed == (len * sizeof(WCHAR)))),
+ ok( ((res == ERROR_MORE_DATA) || broken(res == 0xdeadbeef)) &&
+ ((needed == len) || (needed == (len * sizeof(WCHAR)))),
+ "got %d, needed: %d (expected ERROR_MORE_DATA and %d or %d)\n",
+ res, needed, len, len * sizeof(WCHAR));
+
+ needed = 0xdeadbeef;
+ SetLastError(0xdeaddead);
+ res = pGetPrinterDataExA(hprn, NULL, defaultspooldirectory, NULL, NULL, 0, &needed);
+ ok( ((res == ERROR_MORE_DATA) || broken(res == 0xdeaddead)) &&
+ ((needed == len) || (needed == (len * sizeof(WCHAR)))),
"got %d, needed: %d (expected ERROR_MORE_DATA and %d or %d)\n",
res, needed, len, len * sizeof(WCHAR));
More information about the wine-cvs
mailing list