Jacek Caban : shlwapi: Skip more tests on too old shlwapi.dll.
Alexandre Julliard
julliard at winehq.org
Mon Oct 11 13:15:09 CDT 2010
Module: wine
Branch: master
Commit: a839e2ec4572dad3b790f20a925adcab0e4875b9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a839e2ec4572dad3b790f20a925adcab0e4875b9
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sun Oct 10 15:11:22 2010 +0200
shlwapi: Skip more tests on too old shlwapi.dll.
---
dlls/shlwapi/tests/clist.c | 13 +++++++++++--
dlls/shlwapi/tests/clsid.c | 7 +++++++
dlls/shlwapi/tests/ordinal.c | 6 ++++++
dlls/shlwapi/tests/path.c | 6 ++++++
dlls/shlwapi/tests/shreg.c | 7 +++++++
5 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/dlls/shlwapi/tests/clist.c b/dlls/shlwapi/tests/clist.c
index 3b979fd..0c1704d 100644
--- a/dlls/shlwapi/tests/clist.c
+++ b/dlls/shlwapi/tests/clist.c
@@ -212,10 +212,16 @@ static HRESULT (WINAPI *pSHLWAPI_213)(_IDummyStream*);
static HRESULT (WINAPI *pSHLWAPI_214)(_IDummyStream*,ULARGE_INTEGER*);
-static void InitFunctionPtrs(void)
+static BOOL InitFunctionPtrs(void)
{
SHLWAPI_hshlwapi = GetModuleHandleA("shlwapi.dll");
+ /* SHCreateStreamOnFileEx was introduced in shlwapi v6.0 */
+ if(!GetProcAddress(SHLWAPI_hshlwapi, "SHCreateStreamOnFileEx")){
+ win_skip("Too old shlwapi version\n");
+ return FALSE;
+ }
+
pSHLWAPI_17 = (void *)GetProcAddress( SHLWAPI_hshlwapi, (LPSTR)17);
ok(pSHLWAPI_17 != 0, "No Ordinal 17\n");
pSHLWAPI_18 = (void *)GetProcAddress( SHLWAPI_hshlwapi, (LPSTR)18);
@@ -238,6 +244,8 @@ static void InitFunctionPtrs(void)
ok(pSHLWAPI_213 != 0, "No Ordinal 213\n");
pSHLWAPI_214 = (void *)GetProcAddress( SHLWAPI_hshlwapi, (LPSTR)214);
ok(pSHLWAPI_214 != 0, "No Ordinal 214\n");
+
+ return TRUE;
}
static void InitDummyStream(_IDummyStream* iface)
@@ -623,7 +631,8 @@ static void test_SHLWAPI_214(void)
START_TEST(clist)
{
- InitFunctionPtrs();
+ if(!InitFunctionPtrs())
+ return;
test_CList();
diff --git a/dlls/shlwapi/tests/clsid.c b/dlls/shlwapi/tests/clsid.c
index 85550fc..ed37c79 100644
--- a/dlls/shlwapi/tests/clsid.c
+++ b/dlls/shlwapi/tests/clsid.c
@@ -185,6 +185,13 @@ static void test_CLSIDFromProgIDWrap(void)
START_TEST(clsid)
{
hShlwapi = GetModuleHandleA("shlwapi.dll");
+
+ /* SHCreateStreamOnFileEx was introduced in shlwapi v6.0 */
+ if(!GetProcAddress(hShlwapi, "SHCreateStreamOnFileEx")){
+ win_skip("Too old shlwapi version\n");
+ return;
+ }
+
pSHLWAPI_269 = (void*)GetProcAddress(hShlwapi, (LPSTR)269);
pSHLWAPI_23 = (void*)GetProcAddress(hShlwapi, (LPSTR)23);
diff --git a/dlls/shlwapi/tests/ordinal.c b/dlls/shlwapi/tests/ordinal.c
index 7b02031..dfee9bf 100644
--- a/dlls/shlwapi/tests/ordinal.c
+++ b/dlls/shlwapi/tests/ordinal.c
@@ -2770,6 +2770,12 @@ START_TEST(ordinal)
is_win2k_and_lower = GetProcAddress(hShlwapi, "StrChrNW") == 0;
is_win9x = GetProcAddress(hShlwapi, (LPSTR)99) == 0; /* StrCpyNXA */
+ /* SHCreateStreamOnFileEx was introduced in shlwapi v6.0 */
+ if(!GetProcAddress(hShlwapi, "SHCreateStreamOnFileEx")){
+ win_skip("Too old shlwapi version\n");
+ return;
+ }
+
init_pointers();
hmlang = LoadLibraryA("mlang.dll");
diff --git a/dlls/shlwapi/tests/path.c b/dlls/shlwapi/tests/path.c
index 9b4b15e..e5f5c7c 100644
--- a/dlls/shlwapi/tests/path.c
+++ b/dlls/shlwapi/tests/path.c
@@ -1362,6 +1362,12 @@ START_TEST(path)
{
HMODULE hShlwapi = GetModuleHandleA("shlwapi.dll");
+ /* SHCreateStreamOnFileEx was introduced in shlwapi v6.0 */
+ if(!GetProcAddress(hShlwapi, "SHCreateStreamOnFileEx")){
+ win_skip("Too old shlwapi version\n");
+ return;
+ }
+
pPathCreateFromUrlA = (void*)GetProcAddress(hShlwapi, "PathCreateFromUrlA");
pPathCreateFromUrlW = (void*)GetProcAddress(hShlwapi, "PathCreateFromUrlW");
pPathCombineW = (void*)GetProcAddress(hShlwapi, "PathCombineW");
diff --git a/dlls/shlwapi/tests/shreg.c b/dlls/shlwapi/tests/shreg.c
index 5fb3dac..11ebae9 100644
--- a/dlls/shlwapi/tests/shreg.c
+++ b/dlls/shlwapi/tests/shreg.c
@@ -452,6 +452,13 @@ START_TEST(shreg)
if (!hkey) return;
hshlwapi = GetModuleHandleA("shlwapi.dll");
+
+ /* SHCreateStreamOnFileEx was introduced in shlwapi v6.0 */
+ if(!GetProcAddress(hshlwapi, "SHCreateStreamOnFileEx")){
+ win_skip("Too old shlwapi version\n");
+ return;
+ }
+
pSHCopyKeyA=(SHCopyKeyA_func)GetProcAddress(hshlwapi,"SHCopyKeyA");
pSHRegGetPathA=(SHRegGetPathA_func)GetProcAddress(hshlwapi,"SHRegGetPathA");
pSHRegGetValueA=(SHRegGetValueA_func)GetProcAddress(hshlwapi,"SHRegGetValueA");
More information about the wine-cvs
mailing list