winspoool/tests: [2/2] Build the Name of the local Printerver in a
seperate Function
Detlef Riekenberg
wine.dev at web.de
Thu Dec 21 17:48:16 CST 2006
Avoid code-duplication in following tests
Changelog:
winspoool/tests: Build the Name of the local Printerver in a seperate
Function
--
By by ... Detlef
-------------- next part --------------
>From 02d47ff7724d7e75d0342d55dbdfa1dd75acb260 Mon Sep 17 00:00:00 2001
From: Detlef Riekenberg <wine.dev at web.de>
Date: Fri, 22 Dec 2006 00:46:53 +0100
Subject: [PATCH] winspool/tests: Build the Name of the local Printerver in a seperate Function
---
dlls/winspool.drv/tests/info.c | 44 +++++++++++++++++++++++++++-------------
1 files changed, 30 insertions(+), 14 deletions(-)
diff --git a/dlls/winspool.drv/tests/info.c b/dlls/winspool.drv/tests/info.c
index 94cf3d2..f1dba3f 100644
--- a/dlls/winspool.drv/tests/info.c
+++ b/dlls/winspool.drv/tests/info.c
@@ -56,6 +56,7 @@ struct monitor_entry {
};
static LPSTR default_printer = NULL;
+static LPSTR local_server = NULL;
/* report common behavior only once */
static DWORD report_deactivated_spooler = 1;
@@ -179,6 +180,30 @@ static struct monitor_entry * find_insta
return entry;
}
+
+/* ########################### */
+
+static void find_local_server(VOID)
+{
+ static char buffer[MAX_PATH];
+ DWORD res;
+ DWORD size;
+
+ size = sizeof(buffer) - 3 ;
+ buffer[0] = '\\';
+ buffer[1] = '\\';
+ buffer[2] = '\0';
+
+ SetLastError(0xdeadbeef);
+ res = GetComputerNameA(&buffer[2], &size);
+ trace("returned %d with %d and %d: '%s'\n", res, GetLastError(), size, buffer);
+
+ ok( res != 0, "returned %d with %d and %d: '%s' (expected '!= 0')\n",
+ res, GetLastError(), size, buffer);
+
+ if (res) local_server = buffer;
+}
+
/* ########################### */
@@ -1219,10 +1244,6 @@ static void test_OpenPrinter(void)
PRINTER_DEFAULTSA defaults;
HANDLE hprinter;
DWORD res;
- DWORD size;
- CHAR buffer[DEFAULT_PRINTER_SIZE];
- LPSTR ptr;
-
SetLastError(MAGIC_DEAD);
res = OpenPrinter(NULL, NULL, NULL);
@@ -1268,17 +1289,11 @@ static void test_OpenPrinter(void)
}
- size = sizeof(buffer) - 3 ;
- ptr = buffer;
- ptr[0] = '\\';
- ptr++;
- ptr[0] = '\\';
- ptr++;
- if (GetComputerNameA(ptr, &size)) {
- hprinter = (HANDLE) MAGIC_DEAD;
- SetLastError(MAGIC_DEAD);
- res = OpenPrinter(buffer, &hprinter, NULL);
+ if (local_server != NULL) {
+ hprinter = (HANDLE) 0xdeadbeef;
+ SetLastError(0xdeadbeef);
+ res = OpenPrinter(local_server, &hprinter, NULL);
todo_wine {
ok(res || (!res && GetLastError() == ERROR_INVALID_PARAMETER),
"returned %d with %d (expected '!=0' or '0' with ERROR_INVALID_PARAMETER)\n",
@@ -1681,6 +1696,7 @@ START_TEST(info)
pSetDefaultPrinterA = (void *) GetProcAddress(hwinspool, "SetDefaultPrinterA");
find_default_printer();
+ find_local_server();
test_AddMonitor();
test_AddPort();
--
1.4.1
More information about the wine-patches
mailing list