Paul Vriens : winspool.drv: Fix some test failures on Win9x/WinMe.
Alexandre Julliard
julliard at winehq.org
Mon Feb 8 11:06:06 CST 2010
Module: wine
Branch: master
Commit: edf0b4a0611a24565410cc1b1674741eb401b48c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=edf0b4a0611a24565410cc1b1674741eb401b48c
Author: Paul Vriens <Paul.Vriens.Wine at gmail.com>
Date: Sat Feb 6 15:37:24 2010 +0100
winspool.drv: Fix some test failures on Win9x/WinMe.
---
dlls/winspool.drv/tests/info.c | 26 +++++++++++++++++++++++---
1 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/dlls/winspool.drv/tests/info.c b/dlls/winspool.drv/tests/info.c
index f3b2d78..79f47da 100644
--- a/dlls/winspool.drv/tests/info.c
+++ b/dlls/winspool.drv/tests/info.c
@@ -115,6 +115,22 @@ static DWORD access_denied_reported = 0;
/* ################################ */
+static BOOL on_win9x = FALSE;
+
+static BOOL check_win9x(void)
+{
+ if (pGetPrinterW)
+ {
+ SetLastError(0xdeadbeef);
+ pGetPrinterW(NULL, 0, NULL, 0, NULL);
+ return (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED);
+ }
+ else
+ {
+ return TRUE;
+ }
+}
+
static void find_default_printer(VOID)
{
static char buffer[DEFAULT_PRINTER_SIZE];
@@ -1156,7 +1172,7 @@ static void test_EnumPrinterDrivers(void)
}
/* EnumPrinterDriversA returns the same number of bytes as EnumPrinterDriversW */
- if (pEnumPrinterDriversW)
+ if (!on_win9x && pEnumPrinterDriversW)
{
DWORD double_needed;
DWORD double_returned;
@@ -2266,7 +2282,7 @@ static void test_GetPrinter(void)
ok(needed > 0,"not expected needed buffer size %d\n", needed);
/* GetPrinterA returns the same number of bytes as GetPrinterW */
- if (! ret && pGetPrinterW && level != 6 && level != 7)
+ if (!on_win9x && !ret && pGetPrinterW && level != 6 && level != 7)
{
DWORD double_needed;
ret = pGetPrinterW(hprn, level, NULL, 0, &double_needed);
@@ -2351,7 +2367,7 @@ static void test_GetPrinterDriver(void)
}
/* GetPrinterDriverA returns the same number of bytes as GetPrinterDriverW */
- if (! ret && pGetPrinterDriverW)
+ if (!on_win9x && !ret && pGetPrinterDriverW)
{
DWORD double_needed;
ret = pGetPrinterDriverW(hprn, NULL, level, NULL, 0, &double_needed);
@@ -2668,6 +2684,10 @@ START_TEST(info)
pXcvDataW = (void *) GetProcAddress(hwinspool, "XcvDataW");
pAddPortExA = (void *) GetProcAddress(hwinspool, "AddPortExA");
+ on_win9x = check_win9x();
+ if (on_win9x)
+ win_skip("Several W-functions are not available on Win9x/WinMe\n");
+
find_default_printer();
find_local_server();
find_tempfile();
More information about the wine-cvs
mailing list