[2/4] dpnet/tests: Skip tests if dpnet is a stub dll.
Hans Leidekker
hans at codeweavers.com
Fri Dec 9 11:03:04 CST 2016
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
dlls/dpnet/tests/Makefile.in | 2 +-
dlls/dpnet/tests/address.c | 34 ++++++++++++++++++++++++++++++++++
dlls/dpnet/tests/client.c | 34 ++++++++++++++++++++++++++++++++++
dlls/dpnet/tests/server.c | 34 ++++++++++++++++++++++++++++++++++
4 files changed, 103 insertions(+), 1 deletion(-)
diff --git a/dlls/dpnet/tests/Makefile.in b/dlls/dpnet/tests/Makefile.in
index 13eae44..d7f6d71 100644
--- a/dlls/dpnet/tests/Makefile.in
+++ b/dlls/dpnet/tests/Makefile.in
@@ -1,5 +1,5 @@
TESTDLL = dpnet.dll
-IMPORTS = dxguid uuid dpnet ole32
+IMPORTS = dxguid uuid dpnet ole32 version
C_SRCS = \
address.c \
diff --git a/dlls/dpnet/tests/address.c b/dlls/dpnet/tests/address.c
index dd0ef23..16ba6a7 100644
--- a/dlls/dpnet/tests/address.c
+++ b/dlls/dpnet/tests/address.c
@@ -353,10 +353,44 @@ static void address_duplicate(void)
}
}
+/* taken from programs/winetest/main.c */
+static BOOL is_stub_dll(const char *filename)
+{
+ DWORD size, ver;
+ BOOL isstub = FALSE;
+ char *p, *data;
+
+ size = GetFileVersionInfoSizeA(filename, &ver);
+ if (!size) return FALSE;
+
+ data = HeapAlloc(GetProcessHeap(), 0, size);
+ if (!data) return FALSE;
+
+ if (GetFileVersionInfoA(filename, ver, size, data))
+ {
+ char buf[256];
+
+ sprintf(buf, "\\StringFileInfo\\%04x%04x\\OriginalFilename", MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), 1200);
+ if (VerQueryValueA(data, buf, (void**)&p, &size))
+ isstub = !lstrcmpiA("wcodstub.dll", p);
+ }
+ HeapFree(GetProcessHeap(), 0, data);
+
+ return isstub;
+}
+
START_TEST(address)
{
HRESULT hr;
+ if (!winetest_interactive &&
+ (is_stub_dll("c:\\windows\\system32\\dpnet.dll") ||
+ is_stub_dll("c:\\windows\\syswow64\\dpnet.dll")))
+ {
+ win_skip("dpnet is a stub dll, skipping tests\n");
+ return;
+ }
+
hr = CoInitialize(0);
ok(hr == S_OK, "failed to init com\n");
if(hr != S_OK)
diff --git a/dlls/dpnet/tests/client.c b/dlls/dpnet/tests/client.c
index 68b3832..db08f73 100644
--- a/dlls/dpnet/tests/client.c
+++ b/dlls/dpnet/tests/client.c
@@ -606,8 +606,42 @@ static void test_cleanup_dp_peer(void)
CoUninitialize();
}
+/* taken from programs/winetest/main.c */
+static BOOL is_stub_dll(const char *filename)
+{
+ DWORD size, ver;
+ BOOL isstub = FALSE;
+ char *p, *data;
+
+ size = GetFileVersionInfoSizeA(filename, &ver);
+ if (!size) return FALSE;
+
+ data = HeapAlloc(GetProcessHeap(), 0, size);
+ if (!data) return FALSE;
+
+ if (GetFileVersionInfoA(filename, ver, size, data))
+ {
+ char buf[256];
+
+ sprintf(buf, "\\StringFileInfo\\%04x%04x\\OriginalFilename", MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), 1200);
+ if (VerQueryValueA(data, buf, (void**)&p, &size))
+ isstub = !lstrcmpiA("wcodstub.dll", p);
+ }
+ HeapFree(GetProcessHeap(), 0, data);
+
+ return isstub;
+}
+
START_TEST(client)
{
+ if (!winetest_interactive &&
+ (is_stub_dll("c:\\windows\\system32\\dpnet.dll") ||
+ is_stub_dll("c:\\windows\\syswow64\\dpnet.dll")))
+ {
+ win_skip("dpnet is a stub dll, skipping tests\n");
+ return;
+ }
+
if(!test_init_dp())
return;
diff --git a/dlls/dpnet/tests/server.c b/dlls/dpnet/tests/server.c
index 928c6a0..307167f 100644
--- a/dlls/dpnet/tests/server.c
+++ b/dlls/dpnet/tests/server.c
@@ -180,10 +180,44 @@ static void test_server_info(void)
}
}
+/* taken from programs/winetest/main.c */
+static BOOL is_stub_dll(const char *filename)
+{
+ DWORD size, ver;
+ BOOL isstub = FALSE;
+ char *p, *data;
+
+ size = GetFileVersionInfoSizeA(filename, &ver);
+ if (!size) return FALSE;
+
+ data = HeapAlloc(GetProcessHeap(), 0, size);
+ if (!data) return FALSE;
+
+ if (GetFileVersionInfoA(filename, ver, size, data))
+ {
+ char buf[256];
+
+ sprintf(buf, "\\StringFileInfo\\%04x%04x\\OriginalFilename", MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), 1200);
+ if (VerQueryValueA(data, buf, (void**)&p, &size))
+ isstub = !lstrcmpiA("wcodstub.dll", p);
+ }
+ HeapFree(GetProcessHeap(), 0, data);
+
+ return isstub;
+}
+
START_TEST(server)
{
HRESULT hr;
+ if (!winetest_interactive &&
+ (is_stub_dll("c:\\windows\\system32\\dpnet.dll") ||
+ is_stub_dll("c:\\windows\\syswow64\\dpnet.dll")))
+ {
+ win_skip("dpnet is a stub dll, skipping tests\n");
+ return;
+ }
+
hr = CoInitialize(0);
ok( hr == S_OK, "failed to init com\n");
if (hr != S_OK)
--
2.1.4
More information about the wine-patches
mailing list