Module: wine Branch: master Commit: 7679d96c86176d43d85ef303e19cdb6a50355e5e URL: http://source.winehq.org/git/wine.git/?a=commit;h=7679d96c86176d43d85ef303e1...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Tue Oct 11 17:24:52 2011 +0200
gameux/tests: Run the game explorer tests in a multithreaded apartment as well.
---
dlls/gameux/tests/gameexplorer.c | 38 +++++++++++++++++++++++++------------- 1 files changed, 25 insertions(+), 13 deletions(-)
diff --git a/dlls/gameux/tests/gameexplorer.c b/dlls/gameux/tests/gameexplorer.c index 7be9c69..462fb8f 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(); }