[PATCH] msi/tests: Run tests again with msi v2 (MsiApplyMultiplePatches)

Detlef Riekenberg wine.dev at web.de
Sun May 3 08:35:07 CDT 2009


---
 dlls/msi/tests/package.c |   31 ++++++++++++++++++++++---------
 1 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c
index 35a22de..60e745c 100644
--- a/dlls/msi/tests/package.c
+++ b/dlls/msi/tests/package.c
@@ -32,6 +32,8 @@
 static const char msifile[] = "winetest.msi";
 char CURR_DIR[MAX_PATH];
 
+static UINT (WINAPI * pMsiApplyMultiplePatchesA)(LPCSTR, LPCSTR, LPCSTR);
+
 static void get_user_sid(LPSTR *usersid)
 {
     HANDLE token;
@@ -11537,36 +11539,47 @@ static void test_MsiApplyMultiplePatches(void)
 {
     UINT r;
 
-    r = MsiApplyMultiplePatchesA(NULL, NULL, NULL);
+    if (!pMsiApplyMultiplePatchesA) {
+        win_skip("MsiApplyMultiplePatchesA not found\n");
+        return;
+    }
+
+    r = pMsiApplyMultiplePatchesA(NULL, NULL, NULL);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %u\n", r);
 
-    r = MsiApplyMultiplePatchesA("", NULL, NULL);
+    r = pMsiApplyMultiplePatchesA("", NULL, NULL);
     ok(r == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %u\n", r);
 
-    r = MsiApplyMultiplePatchesA(";", NULL, NULL);
+    r = pMsiApplyMultiplePatchesA(";", NULL, NULL);
     ok(r == ERROR_INVALID_NAME, "Expected ERROR_INVALID_NAME, got %u\n", r);
 
-    r = MsiApplyMultiplePatchesA("  ;", NULL, NULL);
+    r = pMsiApplyMultiplePatchesA("  ;", NULL, NULL);
     ok(r == ERROR_INVALID_NAME, "Expected ERROR_INVALID_NAME, got %u\n", r);
 
-    r = MsiApplyMultiplePatchesA(";;", NULL, NULL);
+    r = pMsiApplyMultiplePatchesA(";;", NULL, NULL);
     ok(r == ERROR_INVALID_NAME, "Expected ERROR_INVALID_NAME, got %u\n", r);
 
-    r = MsiApplyMultiplePatchesA("nosuchpatchpackage;", NULL, NULL);
+    r = pMsiApplyMultiplePatchesA("nosuchpatchpackage;", NULL, NULL);
     todo_wine ok(r == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %u\n", r);
 
-    r = MsiApplyMultiplePatchesA(";nosuchpatchpackage", NULL, NULL);
+    r = pMsiApplyMultiplePatchesA(";nosuchpatchpackage", NULL, NULL);
     ok(r == ERROR_INVALID_NAME, "Expected ERROR_INVALID_NAME, got %u\n", r);
 
-    r = MsiApplyMultiplePatchesA("nosuchpatchpackage;nosuchpatchpackage", NULL, NULL);
+    r = pMsiApplyMultiplePatchesA("nosuchpatchpackage;nosuchpatchpackage", NULL, NULL);
     todo_wine ok(r == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %u\n", r);
 
-    r = MsiApplyMultiplePatchesA("  nosuchpatchpackage  ;  nosuchpatchpackage  ", NULL, NULL);
+    r = pMsiApplyMultiplePatchesA("  nosuchpatchpackage  ;  nosuchpatchpackage  ", NULL, NULL);
     todo_wine ok(r == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %u\n", r);
 }
 
 START_TEST(package)
 {
+
+    HMODULE hmsi = GetModuleHandleA("msi.dll");
+
+    pMsiApplyMultiplePatchesA = (void *) GetProcAddress(hmsi, "MsiApplyMultiplePatchesA");
+
+
     GetCurrentDirectoryA(MAX_PATH, CURR_DIR);
 
     test_createpackage();
-- 
1.5.4.3


--=-EzUBVHyFOlVupVNe6Oyj--




More information about the wine-patches mailing list