Henri Verbeet : gameux/tests: Run the game explorer tests in a multithreaded apartment as well.
Alexandre Julliard
julliard at winehq.org
Tue Oct 11 14:03:39 CDT 2011
Module: wine
Branch: master
Commit: 7679d96c86176d43d85ef303e19cdb6a50355e5e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7679d96c86176d43d85ef303e19cdb6a50355e5e
Author: Henri Verbeet <hverbeet at 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();
}
More information about the wine-cvs
mailing list