https://git.reactos.org/?p=reactos.git;a=commitdiff;h=cd631b7912deacc77a802a...
commit cd631b7912deacc77a802a7c816faa2c76781aef Author: winesync ros-dev@reactos.org AuthorDate: Sat Mar 12 15:11:51 2022 +0100 Commit: Mark Jansen mark.jansen@reactos.org CommitDate: Sun Mar 20 19:27:36 2022 +0100
[WINESYNC] msi/tests: Improve COM test.
Test for a class that Wine actually supports, and also make sure our apartment is uninitialized.
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
wine commit id fdb9bdc88b27ffdaea5ad31256f250b66bdf6b78 by Zebediah Figura z.figura12@gmail.com --- modules/rostests/winetests/msi/custom.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/modules/rostests/winetests/msi/custom.c b/modules/rostests/winetests/msi/custom.c index 9cf90dc25ad..8d3234876ce 100644 --- a/modules/rostests/winetests/msi/custom.c +++ b/modules/rostests/winetests/msi/custom.c @@ -24,8 +24,7 @@ #include <windef.h> #include <winbase.h> #define COBJMACROS -#include <objbase.h> -#include <unknwn.h> +#include <msxml.h> #include <msi.h> #include <msiquery.h>
@@ -248,14 +247,19 @@ UINT WINAPI main_test(MSIHANDLE hinst) { UINT res; IUnknown *unk = NULL; - HRESULT hres; + HRESULT hr;
/* Test for an MTA apartment */ - hres = CoCreateInstance(&CLSID_Picture_Metafile, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void **)&unk); - todo_wine_ok(hinst, hres == S_OK, "CoCreateInstance failed with %08x\n", hres); + hr = CoCreateInstance(&CLSID_XMLDocument, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void **)&unk); + todo_wine_ok(hinst, hr == S_OK, "CoCreateInstance failed with %08x\n", hr);
if (unk) IUnknown_Release(unk);
+ /* but ours is uninitialized */ + hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); + ok(hinst, hr == S_OK, "got %#x\n", hr); + CoUninitialize(); + /* Test MsiGetDatabaseState() */ res = MsiGetDatabaseState(hinst); todo_wine_ok(hinst, res == MSIDBSTATE_ERROR, "expected MSIDBSTATE_ERROR, got %u\n", res);