[PATCH] Skip test on error
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Wed Jun 25 00:17:13 CDT 2008
---
dlls/mapi32/tests/prop.c | 44 +++++++++++++++++++++++++-------------------
1 files changed, 25 insertions(+), 19 deletions(-)
diff --git a/dlls/mapi32/tests/prop.c b/dlls/mapi32/tests/prop.c
index adc1d85..a2b9289 100644
--- a/dlls/mapi32/tests/prop.c
+++ b/dlls/mapi32/tests/prop.c
@@ -824,13 +824,16 @@ static void test_ScCopyRelocProps(void)
sc = pScCopyProps(1, &pvProp, buffer, &ulCount);
ok(sc == S_OK, "wrong ret %d\n", sc);
- ok(lpResProp->ulPropTag == pvProp.ulPropTag, "wrong tag %x\n",lpResProp->ulPropTag);
- ok(lpResProp->Value.MVszA.cValues == 1, "wrong cValues %d\n", lpResProp->Value.MVszA.cValues);
- ok(lpResProp->Value.MVszA.lppszA[0] == buffer + sizeof(SPropValue) + sizeof(char*),
- "wrong lppszA[0] %p\n",lpResProp->Value.MVszA.lppszA[0]);
- ok(ulCount == sizeof(SPropValue) + sizeof(char*) + 5, "wrong count %d\n", ulCount);
- ok(!strcmp(lpResProp->Value.MVszA.lppszA[0], szTestA),
- "wrong string '%s'\n", lpResProp->Value.MVszA.lppszA[0]);
+ if(sc == S_OK)
+ {
+ ok(lpResProp->ulPropTag == pvProp.ulPropTag, "wrong tag %x\n",lpResProp->ulPropTag);
+ ok(lpResProp->Value.MVszA.cValues == 1, "wrong cValues %d\n", lpResProp->Value.MVszA.cValues);
+ ok(lpResProp->Value.MVszA.lppszA[0] == buffer + sizeof(SPropValue) + sizeof(char*),
+ "wrong lppszA[0] %p\n",lpResProp->Value.MVszA.lppszA[0]);
+ ok(ulCount == sizeof(SPropValue) + sizeof(char*) + 5, "wrong count %d\n", ulCount);
+ ok(!strcmp(lpResProp->Value.MVszA.lppszA[0], szTestA),
+ "wrong string '%s'\n", lpResProp->Value.MVszA.lppszA[0]);
+ }
memcpy(buffer2, buffer, sizeof(buffer));
@@ -845,18 +848,21 @@ static void test_ScCopyRelocProps(void)
lpResProp = (LPSPropValue)buffer2;
ok(sc == S_OK, "wrong ret %d\n", sc);
- ok(lpResProp->ulPropTag == pvProp.ulPropTag, "wrong tag %x\n",lpResProp->ulPropTag);
- ok(lpResProp->Value.MVszA.cValues == 1, "wrong cValues %d\n", lpResProp->Value.MVszA.cValues);
- ok(lpResProp->Value.MVszA.lppszA[0] == buffer2 + sizeof(SPropValue) + sizeof(char*),
- "wrong lppszA[0] %p\n",lpResProp->Value.MVszA.lppszA[0]);
- /* Native has a bug whereby it calculates the size correctly when copying
- * but when relocating does not (presumably it uses UlPropSize() which
- * ignores multivalue pointers). Wine returns the correct value.
- */
- ok(ulCount == sizeof(SPropValue) + sizeof(char*) + 5 || ulCount == sizeof(SPropValue) + 5,
- "wrong count %d\n", ulCount);
- ok(!strcmp(lpResProp->Value.MVszA.lppszA[0], szTestA),
- "wrong string '%s'\n", lpResProp->Value.MVszA.lppszA[0]);
+ if(sc == S_OK)
+ {
+ ok(lpResProp->ulPropTag == pvProp.ulPropTag, "wrong tag %x\n",lpResProp->ulPropTag);
+ ok(lpResProp->Value.MVszA.cValues == 1, "wrong cValues %d\n", lpResProp->Value.MVszA.cValues);
+ ok(lpResProp->Value.MVszA.lppszA[0] == buffer2 + sizeof(SPropValue) + sizeof(char*),
+ "wrong lppszA[0] %p\n",lpResProp->Value.MVszA.lppszA[0]);
+ /* Native has a bug whereby it calculates the size correctly when copying
+ * but when relocating does not (presumably it uses UlPropSize() which
+ * ignores multivalue pointers). Wine returns the correct value.
+ */
+ ok(ulCount == sizeof(SPropValue) + sizeof(char*) + 5 || ulCount == sizeof(SPropValue) + 5,
+ "wrong count %d\n", ulCount);
+ ok(!strcmp(lpResProp->Value.MVszA.lppszA[0], szTestA),
+ "wrong string '%s'\n", lpResProp->Value.MVszA.lppszA[0]);
+ }
/* Native crashes with lpNew or lpOld set to NULL so skip testing this */
}
--
1.5.4.1
--------------030200050601040702000609--
More information about the wine-patches
mailing list