Module: wine Branch: master Commit: 06fd9bb3178c363bdcc89586248a2ce707f94041 URL: https://source.winehq.org/git/wine.git/?a=commit;h=06fd9bb3178c363bdcc895862... Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Wed Sep 19 16:37:16 2018 +0800 msi/tests: Add a test for repetitive MsiGetActiveDatabase calls. Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru> Signed-off-by: Hans Leidekker <hans(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- 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 c9ec82f..cd6cb0c 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);