msi/tests: Add a test for repetitive MsiGetActiveDatabase calls.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Dmitry Timoshkov 2018-09-19 16:37:16 +08:00 committed by Alexandre Julliard
parent ff01293708
commit 06fd9bb317
1 changed files with 12 additions and 1 deletions

View File

@ -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);