Mike McCormack : msi: Check that transforms preserve tables.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Oct 5 05:03:19 CDT 2006


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

Author: Mike McCormack <mike at codeweavers.com>
Date:   Thu Oct  5 13:40:52 2006 +0900

msi: Check that transforms preserve tables.

---

 dlls/msi/tests/db.c |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c
index 318d167..a065477 100644
--- a/dlls/msi/tests/db.c
+++ b/dlls/msi/tests/db.c
@@ -1720,6 +1720,14 @@ static void test_generate_transform(void
     r = run_query(hdb1, 0, query);
     ok(r == ERROR_SUCCESS, "failed to add table\n");
 
+    query = "INSERT INTO `AAR` ( `BAR`, `CAR` ) VALUES ( 1, 'vw' )";
+    r = run_query(hdb1, 0, query);
+    ok(r == ERROR_SUCCESS, "failed to add row 1\n");
+
+    query = "INSERT INTO `AAR` ( `BAR`, `CAR` ) VALUES ( 2, 'bmw' )";
+    r = run_query(hdb1, 0, query);
+    ok(r == ERROR_SUCCESS, "failed to add row 2\n");
+
     todo_wine {
     r = MsiDatabaseGenerateTransform(hdb1, hdb2, NULL, 0, 0);
     ok( r == ERROR_SUCCESS, "return code %d, should be ERROR_SUCCESS\n", r );
@@ -1727,11 +1735,19 @@ static void test_generate_transform(void
     r = MsiDatabaseGenerateTransform(hdb1, hdb2, mstfile, 0, 0);
     ok( r == ERROR_SUCCESS, "return code %d, should be ERROR_SUCCESS\n", r );
 
+    /* database needs to be committed */
+    MsiDatabaseCommit(hdb1);
+
+    r = MsiDatabaseGenerateTransform(hdb1, hdb2, mstfile, 0, 0);
+    ok( r == ERROR_SUCCESS, "return code %d, should be ERROR_SUCCESS\n", r );
+
     MsiCloseHandle( hdb1 );
 
     r = MsiDatabaseApplyTransform( hdb2, mstfile, 0 );
     ok( r == ERROR_SUCCESS, "return code %d, should be ERROR_SUCCESS\n", r );
 
+    MsiDatabaseCommit(hdb2);
+
     /* apply the same transform again? */
     r = MsiDatabaseApplyTransform( hdb2, mstfile, 0 );
     ok( r == ERROR_INSTALL_TRANSFORM_FAILURE,
@@ -1741,6 +1757,18 @@ static void test_generate_transform(void
     MsiCloseHandle( hdb2 );
 
     DeleteFile(msifile);
+
+    r = MsiOpenDatabase(msifile2, MSIDBOPEN_READONLY, &hdb1 );
+    ok( r == ERROR_SUCCESS , "Failed to create database\n" );
+
+    todo_wine {
+    query = "select `BAR`,`CAR` from `AAR`";
+    r = run_query(hdb1, 0, query);
+    ok(r == ERROR_SUCCESS, "select query failed\n");
+    }
+
+    MsiCloseHandle( hdb1 );
+
     DeleteFile(msifile2);
     DeleteFile(mstfile);
 }




More information about the wine-cvs mailing list