From 7679d96c86176d43d85ef303e19cdb6a50355e5e Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Tue, 11 Oct 2011 17:24:52 +0200 Subject: [PATCH] gameux/tests: Run the game explorer tests in a multithreaded apartment as well. --- dlls/gameux/tests/gameexplorer.c | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/dlls/gameux/tests/gameexplorer.c b/dlls/gameux/tests/gameexplorer.c index 7be9c69ab9c..462fb8f8443 100644 --- a/dlls/gameux/tests/gameexplorer.c +++ b/dlls/gameux/tests/gameexplorer.c @@ -656,30 +656,42 @@ static void test_install_uninstall_game(void) } } -START_TEST(gameexplorer) +static void run_tests(void) { - HRESULT r; BOOL gameExplorerAvailable = FALSE; BOOL gameExplorer2Available = FALSE; + test_create(&gameExplorerAvailable, &gameExplorer2Available); + + if(gameExplorerAvailable) + test_add_remove_game(); + + if(gameExplorer2Available) + test_install_uninstall_game(); +} + +START_TEST(gameexplorer) +{ if(_loadDynamicRoutines()) { - r = CoInitialize( NULL ); - ok( r == S_OK, "failed to init COM\n"); - - test_create(&gameExplorerAvailable, &gameExplorer2Available); + HRESULT hr; - if(gameExplorerAvailable) - test_add_remove_game(); + hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); + ok(hr == S_OK, "Failed to initialize COM, hr %#x.\n", hr); + trace("Running apartment threaded tests.\n"); + run_tests(); + if(SUCCEEDED(hr)) + CoUninitialize(); - if(gameExplorer2Available) - test_install_uninstall_game(); + hr = CoInitializeEx(NULL, COINIT_MULTITHREADED); + ok(hr == S_OK, "Failed to initialize COM, hr %#x.\n", hr); + trace("Running multithreaded tests.\n"); + run_tests(); + if(SUCCEEDED(hr)) + CoUninitialize(); } else /* this is not a failure, because both procedures loaded by address * are always available on systems which has gameux.dll */ win_skip("too old system, cannot load required dynamic procedures\n"); - - - CoUninitialize(); } -- 2.11.4.GIT