Detlef Riekenberg : winspool/tests: Fix failures in test_DEVMODE.

Alexandre Julliard julliard at wine.codeweavers.com
Sun May 7 03:36:41 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 72d6d425270d995dea1d48361e293768b1b2489f
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=72d6d425270d995dea1d48361e293768b1b2489f

Author: Detlef Riekenberg <wine.dev at web.de>
Date:   Tue May  2 00:03:51 2006 +0200

winspool/tests: Fix failures in test_DEVMODE.

---

 dlls/winspool/tests/info.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/dlls/winspool/tests/info.c b/dlls/winspool/tests/info.c
index b6b15a1..aaeba2a 100644
--- a/dlls/winspool/tests/info.c
+++ b/dlls/winspool/tests/info.c
@@ -1096,8 +1096,16 @@ static void test_GetPrinterDriver(void)
 
 static void test_DEVMODE(const DEVMODE *dm, LONG dmSize, LPCSTR exp_prn_name)
 {
-    ok(!strcmp(exp_prn_name, (LPCSTR)dm->dmDeviceName), "expected %s, got %s\n", exp_prn_name, dm->dmDeviceName);
-    ok(dm->dmSize + dm->dmDriverExtra == dmSize, "%u != %ld\n", dm->dmSize + dm->dmDriverExtra, dmSize);
+    /* On NT3.51, some fields in DEVMODE are empty/zero
+      (dmDeviceName, dmSpecVersion, dmDriverVersion and dmDriverExtra)
+       We skip the Tests on this Platform */
+    if (dm->dmSpecVersion || dm->dmDriverVersion || dm->dmDriverExtra) {
+        /* The Printername can be larger (MAX_PATH) than CCHDEVICENAME  */
+        ok(!strncmp(exp_prn_name, (LPCSTR)dm->dmDeviceName, CCHDEVICENAME), 
+            "expected '%s', got '%s'\n", exp_prn_name, dm->dmDeviceName);
+        ok(dm->dmSize + dm->dmDriverExtra == dmSize,
+            "%u != %ld\n", dm->dmSize + dm->dmDriverExtra, dmSize);
+    }
     trace("dmFields %08lx\n", dm->dmFields);
 }
 




More information about the wine-cvs mailing list