gameux/tests: Run the game explorer tests in a multithreaded apartment as well.

This commit is contained in:
Henri Verbeet 2011-10-11 17:24:52 +02:00 committed by Alexandre Julliard
parent 95ede76673
commit 7679d96c86
1 changed files with 25 additions and 13 deletions

View File

@ -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 gameExplorerAvailable = FALSE;
BOOL gameExplorer2Available = 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()) if(_loadDynamicRoutines())
{ {
r = CoInitialize( NULL ); HRESULT hr;
ok( r == S_OK, "failed to init COM\n");
test_create(&gameExplorerAvailable, &gameExplorer2Available); 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(gameExplorerAvailable) hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
test_add_remove_game(); ok(hr == S_OK, "Failed to initialize COM, hr %#x.\n", hr);
trace("Running multithreaded tests.\n");
if(gameExplorer2Available) run_tests();
test_install_uninstall_game(); if(SUCCEEDED(hr))
CoUninitialize();
} }
else else
/* this is not a failure, because both procedures loaded by address /* this is not a failure, because both procedures loaded by address
* are always available on systems which has gameux.dll */ * are always available on systems which has gameux.dll */
win_skip("too old system, cannot load required dynamic procedures\n"); win_skip("too old system, cannot load required dynamic procedures\n");
CoUninitialize();
} }