<rdar://problem/8334338> run-webkit-tests sometimes hangs when using
authorjhoneycutt@apple.com <jhoneycutt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 26 Aug 2010 22:15:47 +0000 (22:15 +0000)
committerjhoneycutt@apple.com <jhoneycutt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 26 Aug 2010 22:15:47 +0000 (22:15 +0000)
WebKitTestRunner (44331)

Reviewed by Darin Adler.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
The hang occurs when WebKitTestRunner begins launching the WebKit2
web process then exits before it finishes launching. Work around this by
looking for the --print-supported-features argument and exiting without
creating the web process.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@66140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKitTools/ChangeLog
WebKitTools/WebKitTestRunner/TestController.cpp

index 03378b7..54af0b5 100644 (file)
@@ -1,3 +1,17 @@
+2010-08-25  Jon Honeycutt  <jhoneycutt@apple.com>
+
+        <rdar://problem/8334338> run-webkit-tests sometimes hangs when using
+        WebKitTestRunner (44331)
+
+        Reviewed by Darin Adler.
+
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::initialize):
+        The hang occurs when WebKitTestRunner begins launching the WebKit2
+        web process then exits before it finishes launching. Work around this by
+        looking for the --print-supported-features argument and exiting without
+        creating the web process.
+
 2010-08-26  Dirk Pranke  <dpranke@chromium.org>
 
         Reviewed by Tony Chang.
index c8a78d5..82e2e9b 100644 (file)
@@ -95,6 +95,8 @@ void TestController::initialize(int argc, const char* argv[])
 {
     platformInitialize();
 
+    bool printSupportedFeatures = false;
+
     for (int i = 1; i < argc; ++i) {
         std::string argument(argv[i]);
 
@@ -106,7 +108,11 @@ void TestController::initialize(int argc, const char* argv[])
             m_verbose = true;
             continue;
         }
-        
+        if (argument == "--print-supported-features") {
+            printSupportedFeatures = true;
+            break;
+        }
+
         // Skip any other arguments that begin with '--'.
         if (argument.length() >= 2 && argument[0] == '-' && argument[1] == '-')
             continue;
@@ -114,6 +120,13 @@ void TestController::initialize(int argc, const char* argv[])
         m_paths.push_back(argument);
     }
 
+    if (printSupportedFeatures) {
+        // FIXME: On Windows, DumpRenderTree uses this to expose whether it supports 3d
+        // transforms and accelerated compositing. When we support those features, we
+        // should match DRT's behavior.
+        exit(0);
+    }
+
     m_usingServerMode = (m_paths.size() == 1 && m_paths[0] == "-");
     if (m_usingServerMode)
         m_printSeparators = true;