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