From 732a07957df8474c85ec7ed4791fdf1699a9c6b9 Mon Sep 17 00:00:00 2001 From: Paul Vriens Date: Tue, 24 Jun 2008 12:08:26 +0200 Subject: [PATCH] shell32/tests: Skip some tests if functions are not available. --- dlls/shell32/tests/shellpath.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c index a6bbcaefba7..a1cf2d37707 100644 --- a/dlls/shell32/tests/shellpath.c +++ b/dlls/shell32/tests/shellpath.c @@ -478,11 +478,14 @@ static void testShellValues(const struct shellExpectedValues testEntries[], { BYTE type; - type = testSHGetFolderLocation(optional, testEntries[i].folder); - ok(type == testEntries[i].pidlType || optional, - "%s has type %d (0x%02x), expected %d (0x%02x)\n", - getFolderName(testEntries[i].folder), type, type, - testEntries[i].pidlType, testEntries[i].pidlType); + if (pSHGetFolderLocation) + { + type = testSHGetFolderLocation(optional, testEntries[i].folder); + ok(type == testEntries[i].pidlType || optional, + "%s has type %d (0x%02x), expected %d (0x%02x)\n", + getFolderName(testEntries[i].folder), type, type, + testEntries[i].pidlType, testEntries[i].pidlType); + } type = testSHGetSpecialFolderLocation(optional, testEntries[i].folder); ok(type == testEntries[i].pidlType || optional, "%s has type %d (0x%02x), expected %d (0x%02x)\n", @@ -576,12 +579,15 @@ static void testPersonal(void) /* The pidl may be a real folder, or a virtual directory, or a drive if the * home directory is set to the root directory of a drive. */ - type = testSHGetFolderLocation(FALSE, CSIDL_PERSONAL); - ok(type == PT_FOLDER || type == PT_GUID || type == PT_DRIVE, - "CSIDL_PERSONAL returned invalid type 0x%02x, " - "expected PT_FOLDER or PT_GUID\n", type); - if (type == PT_FOLDER) - testSHGetFolderPath(FALSE, CSIDL_PERSONAL); + if (pSHGetFolderLocation) + { + type = testSHGetFolderLocation(FALSE, CSIDL_PERSONAL); + ok(type == PT_FOLDER || type == PT_GUID || type == PT_DRIVE, + "CSIDL_PERSONAL returned invalid type 0x%02x, " + "expected PT_FOLDER or PT_GUID\n", type); + if (type == PT_FOLDER) + testSHGetFolderPath(FALSE, CSIDL_PERSONAL); + } type = testSHGetSpecialFolderLocation(FALSE, CSIDL_PERSONAL); ok(type == PT_FOLDER || type == PT_GUID || type == PT_DRIVE, "CSIDL_PERSONAL returned invalid type 0x%02x, " @@ -898,6 +904,10 @@ START_TEST(shellpath) doChild(myARGV[2]); else { + /* Report missing functions once */ + if (!pSHGetFolderLocation) + skip("SHGetFolderLocation is not available\n"); + /* first test various combinations of parameters: */ testApiParameters(); -- 2.11.4.GIT