From 114aa43a5447d948a267d1d933867422a3f64b85 Mon Sep 17 00:00:00 2001 From: Paul Vriens Date: Thu, 25 Mar 2010 10:47:53 +0100 Subject: [PATCH] msi/tests: Fix test failures on W2K with Windows Installer 2.x. --- dlls/msi/tests/msi.c | 68 +++++++++++++++++++++++++++++++------------- 1 file changed, 48 insertions(+), 20 deletions(-) diff --git a/dlls/msi/tests/msi.c b/dlls/msi/tests/msi.c index 2995adbe56b..e4ae619f035 100644 --- a/dlls/msi/tests/msi.c +++ b/dlls/msi/tests/msi.c @@ -9352,7 +9352,9 @@ static void test_MsiEnumPatches(void) lstrcpyA(patch, "apple"); lstrcpyA(transforms, "banana"); r = MsiEnumPatchesA(prodcode, 0, patch, transforms, &size); - ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); + ok(r == ERROR_NO_MORE_ITEMS || + broken(r == ERROR_FILE_NOT_FOUND), /* Windows Installer < 3.0 */ + "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); ok(!lstrcmpA(patch, "apple"), "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch); ok(!lstrcmpA(transforms, "banana"), @@ -9369,7 +9371,8 @@ static void test_MsiEnumPatches(void) lstrcpyA(patch, "apple"); lstrcpyA(transforms, "banana"); r = MsiEnumPatchesA(prodcode, 0, patch, transforms, &size); - ok(r == ERROR_BAD_CONFIGURATION, + ok(r == ERROR_BAD_CONFIGURATION || + broken(r == ERROR_SUCCESS), /* Windows Installer < 3.0 */ "Expected ERROR_BAD_CONFIGURATION, got %d\n", r); ok(!lstrcmpA(patch, "apple"), "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch); @@ -9405,8 +9408,11 @@ static void test_MsiEnumPatches(void) lstrcpyA(patch, "apple"); lstrcpyA(transforms, "banana"); r = MsiEnumPatchesA(prodcode, 0, patch, transforms, &size); - ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - ok(!lstrcmpA(patch, "apple"), + ok(r == ERROR_NO_MORE_ITEMS || + broken(r == ERROR_FILE_NOT_FOUND), /* Windows Installer < 3.0 */ + "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); + ok(!lstrcmpA(patch, "apple") || + broken(!lstrcmpA(patch, patchcode)), /* Windows Installer < 3.0 */ "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch); ok(!lstrcmpA(transforms, "banana"), "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms); @@ -9467,7 +9473,8 @@ static void test_MsiEnumPatches(void) ok(r == ERROR_MORE_DATA, "Expected ERROR_MORE_DATA, got %d\n", r); ok(!lstrcmpA(patch, patchcode), "Expected \"%s\", got \"%s\"\n", patchcode, patch); - ok(!lstrcmpA(transforms, "whate"), + ok(!lstrcmpA(transforms, "whate") || + broken(!lstrcmpA(transforms, "banana")), /* Windows Installer < 3.0 */ "Expected \"whate\", got \"%s\"\n", transforms); ok(size == 8 || size == 16, "Expected 8 or 16, got %d\n", size); @@ -9541,7 +9548,9 @@ static void test_MsiEnumPatches(void) lstrcpyA(patch, "apple"); lstrcpyA(transforms, "banana"); r = MsiEnumPatchesA(prodcode, 0, patch, transforms, &size); - ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); + ok(r == ERROR_NO_MORE_ITEMS || + broken(r == ERROR_FILE_NOT_FOUND), /* Windows Installer < 3.0 */ + "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); ok(!lstrcmpA(patch, "apple"), "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch); ok(!lstrcmpA(transforms, "banana"), @@ -9558,7 +9567,8 @@ static void test_MsiEnumPatches(void) lstrcpyA(patch, "apple"); lstrcpyA(transforms, "banana"); r = MsiEnumPatchesA(prodcode, 0, patch, transforms, &size); - ok(r == ERROR_BAD_CONFIGURATION, + ok(r == ERROR_BAD_CONFIGURATION || + broken(r == ERROR_SUCCESS), /* Windows Installer < 3.0 */ "Expected ERROR_BAD_CONFIGURATION, got %d\n", r); ok(!lstrcmpA(patch, "apple"), "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch); @@ -9594,8 +9604,11 @@ static void test_MsiEnumPatches(void) lstrcpyA(patch, "apple"); lstrcpyA(transforms, "banana"); r = MsiEnumPatchesA(prodcode, 0, patch, transforms, &size); - ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - ok(!lstrcmpA(patch, "apple"), + ok(r == ERROR_NO_MORE_ITEMS || + broken(r == ERROR_FILE_NOT_FOUND), /* Windows Installer < 3.0 */ + "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); + ok(!lstrcmpA(patch, "apple") || + broken(!lstrcmpA(patch, patchcode)), /* Windows Installer < 3.0 */ "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch); ok(!lstrcmpA(transforms, "banana"), "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms); @@ -9610,10 +9623,14 @@ static void test_MsiEnumPatches(void) lstrcpyA(patch, "apple"); lstrcpyA(transforms, "banana"); r = MsiEnumPatchesA(prodcode, 0, patch, transforms, &size); - ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - ok(!lstrcmpA(patch, "apple"), + ok(r == ERROR_NO_MORE_ITEMS || + broken(r == ERROR_SUCCESS), /* Windows Installer < 3.0 */ + "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); + ok(!lstrcmpA(patch, "apple") || + broken(!lstrcmpA(patch, patchcode)), /* Windows Installer < 3.0 */ "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch); - ok(!lstrcmpA(transforms, "banana"), + ok(!lstrcmpA(transforms, "banana") || + broken(!lstrcmpA(transforms, "whatever")), /* Windows Installer < 3.0 */ "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms); ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size); @@ -9686,7 +9703,9 @@ static void test_MsiEnumPatches(void) lstrcpyA(patch, "apple"); lstrcpyA(transforms, "banana"); r = MsiEnumPatchesA(prodcode, 0, patch, transforms, &size); - ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); + ok(r == ERROR_NO_MORE_ITEMS || + broken(r == ERROR_FILE_NOT_FOUND), /* Windows Installer < 3.0 */ + "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); ok(!lstrcmpA(patch, "apple"), "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch); ok(!lstrcmpA(transforms, "banana"), @@ -9703,7 +9722,8 @@ static void test_MsiEnumPatches(void) lstrcpyA(patch, "apple"); lstrcpyA(transforms, "banana"); r = MsiEnumPatchesA(prodcode, 0, patch, transforms, &size); - ok(r == ERROR_BAD_CONFIGURATION, + ok(r == ERROR_BAD_CONFIGURATION || + broken(r == ERROR_SUCCESS), /* Windows Installer < 3.0 */ "Expected ERROR_BAD_CONFIGURATION, got %d\n", r); ok(!lstrcmpA(patch, "apple"), "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch); @@ -9739,8 +9759,11 @@ static void test_MsiEnumPatches(void) lstrcpyA(patch, "apple"); lstrcpyA(transforms, "banana"); r = MsiEnumPatchesA(prodcode, 0, patch, transforms, &size); - ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - ok(!lstrcmpA(patch, "apple"), + ok(r == ERROR_NO_MORE_ITEMS || + broken(r == ERROR_FILE_NOT_FOUND), /* Windows Installer < 3.0 */ + "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); + ok(!lstrcmpA(patch, "apple") || + broken(!lstrcmpA(patch, patchcode)), /* Windows Installer < 3.0 */ "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch); ok(!lstrcmpA(transforms, "banana"), "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms); @@ -9804,10 +9827,14 @@ static void test_MsiEnumPatches(void) lstrcpyA(patch, "apple"); lstrcpyA(transforms, "banana"); r = MsiEnumPatchesA(prodcode, 0, patch, transforms, &size); - ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - ok(!lstrcmpA(patch, "apple"), + ok(r == ERROR_NO_MORE_ITEMS || + broken(r == ERROR_SUCCESS), /* Windows Installer < 3.0 */ + "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); + ok(!lstrcmpA(patch, "apple") || + broken(!lstrcmpA(patch, patchcode)), /* Windows Installer < 3.0 */ "Expected lpPatchBuf to be unchanged, got \"%s\"\n", patch); - ok(!lstrcmpA(transforms, "banana"), + ok(!lstrcmpA(transforms, "banana") || + broken(!lstrcmpA(transforms, "whatever")), /* Windows Installer < 3.0 */ "Expected lpTransformsBuf to be unchanged, got \"%s\"\n", transforms); ok(size == MAX_PATH, "Expected size to be unchanged, got %d\n", size); @@ -9841,7 +9868,8 @@ static void test_MsiEnumPatches(void) WideCharToMultiByte( CP_ACP, 0, transformsW, -1, transforms, MAX_PATH, NULL, NULL ); ok(!lstrcmpA(patch, patchcode), "Expected \"%s\", got \"%s\"\n", patchcode, patch); - ok(!lstrcmpA(transforms, "whate"), + ok(!lstrcmpA(transforms, "whate") || + broken(!lstrcmpA(transforms, "banana")), /* Windows Installer < 3.0 */ "Expected \"whate\", got \"%s\"\n", transforms); ok(size == 8, "Expected 8, got %d\n", size);