James Hawkins : msi: Use package_from_db instead of opening the package with MsiOpenPackage.

Alexandre Julliard julliard at winehq.org
Fri Oct 26 08:34:47 CDT 2007


Module: wine
Branch: master
Commit: 4d2e148fb0d6bd9a07e4f474f2959cafd38fad69
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4d2e148fb0d6bd9a07e4f474f2959cafd38fad69

Author: James Hawkins <truiken at gmail.com>
Date:   Thu Oct 25 15:29:55 2007 -0500

msi: Use package_from_db instead of opening the package with MsiOpenPackage.

---

 dlls/msi/tests/db.c |   30 +++++++++++++++++++++++-------
 1 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c
index c620768..8e96d77 100644
--- a/dlls/msi/tests/db.c
+++ b/dlls/msi/tests/db.c
@@ -2249,6 +2249,24 @@ static MSIHANDLE create_package_db(LPCSTR filename)
     return hdb;
 }
 
+static MSIHANDLE package_from_db(MSIHANDLE hdb)
+{
+    UINT res;
+    CHAR szPackage[10];
+    MSIHANDLE hPackage;
+
+    sprintf(szPackage,"#%li",hdb);
+    res = MsiOpenPackage(szPackage,&hPackage);
+    if (res != ERROR_SUCCESS)
+        return 0;
+
+    res = MsiCloseHandle(hdb);
+    if (res != ERROR_SUCCESS)
+        return 0;
+
+    return hPackage;
+}
+
 static void test_try_transform(void)
 {
     MSIHANDLE hdb, hview, hrec, hpkg;
@@ -2258,11 +2276,10 @@ static void test_try_transform(void)
     char buffer[MAX_PATH];
 
     DeleteFile(msifile);
-    DeleteFile(msifile2);
     DeleteFile(mstfile);
 
     /* create the database */
-    hdb = create_package_db(msifile2);
+    hdb = create_package_db(msifile);
     ok(hdb, "Failed to create package db\n");
 
     query = "CREATE TABLE `MOO` ( `NOO` SHORT NOT NULL, `OOO` CHAR(255) PRIMARY KEY `NOO`)";
@@ -2315,7 +2332,7 @@ static void test_try_transform(void)
     else
         generate_transform_manual();
 
-    r = MsiOpenDatabase(msifile2, MSIDBOPEN_DIRECT, &hdb );
+    r = MsiOpenDatabase(msifile, MSIDBOPEN_DIRECT, &hdb );
     ok( r == ERROR_SUCCESS , "Failed to create database\n" );
 
     r = MsiDatabaseApplyTransform( hdb, mstfile, 0 );
@@ -2423,11 +2440,10 @@ static void test_try_transform(void)
 
     MsiCloseHandle(hrec);
     MsiCloseHandle(hview);
-    MsiCloseHandle(hdb);
 
     /* check that the property was added */
-    r = MsiOpenPackage(msifile2, &hpkg);
-    ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+    hpkg = package_from_db(hdb);
+    ok(hpkg != 0, "Expected non-NULL hpkg\n");
 
     sz = MAX_PATH;
     r = MsiGetProperty(hpkg, "prop", buffer, &sz);
@@ -2435,9 +2451,9 @@ static void test_try_transform(void)
     ok(!lstrcmp(buffer, "val"), "Expected val, got %s\n", buffer);
 
     MsiCloseHandle(hpkg);
+    MsiCloseHandle(hdb);
 
     DeleteFile(msifile);
-    DeleteFile(msifile2);
     DeleteFile(mstfile);
 }
 




More information about the wine-cvs mailing list