[PATCH 4/4] msi/tests: Add a test for repetitive MsiGetActiveDatabase calls.

Dmitry Timoshkov dmitry at baikal.ru
Wed Sep 19 00:28:01 CDT 2018


Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 dlls/msi/tests/custom.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/dlls/msi/tests/custom.c b/dlls/msi/tests/custom.c
index c6e9f1eb52..1694e93fde 100644
--- a/dlls/msi/tests/custom.c
+++ b/dlls/msi/tests/custom.c
@@ -281,7 +281,7 @@ static void test_db(MSIHANDLE hinst)
                                         VT_EMPTY, VT_EMPTY, VT_LPSTR, VT_EMPTY, VT_LPSTR,
                                         VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_I4,
                                         VT_I4, VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY };
-    MSIHANDLE hdb, view, rec, rec2, suminfo;
+    MSIHANDLE hdb, hdb2, view, rec, rec2, suminfo;
     char buffer[10];
     DWORD sz;
     UINT r, count, type, i;
@@ -312,6 +312,17 @@ static void test_db(MSIHANDLE hinst)
     ok(hinst, sz == strlen(buffer), "got size %u\n", sz);
     ok(hinst, !strcmp(buffer, "Name"), "got '%s'\n", buffer);
 
+    /* Test MsiGetActiveDatabase + MsiDatabaseIsTablePersistent once again */
+    hdb2 = MsiGetActiveDatabase(hinst);
+    ok(hinst, hdb2, "MsiGetActiveDatabase failed\n");
+    ok(hinst, hdb2 != hdb, "db handles should be different\n");
+
+    r = MsiDatabaseIsTablePersistentA(hdb2, "Test");
+    ok(hinst, r == MSICONDITION_TRUE, "got %u\n", r);
+
+    r = MsiCloseHandle(hdb2);
+    ok(hinst, !r, "got %u\n", r);
+
     r = MsiCloseHandle(rec2);
     ok(hinst, !r, "got %u\n", r);
 
-- 
2.17.1




More information about the wine-devel mailing list