Title: [205123] trunk/Tools
Revision
205123
Author
commit-qu...@webkit.org
Date
2016-08-29 09:23:46 -0700 (Mon, 29 Aug 2016)

Log Message

Sample Process on notifyDone timed out
https://bugs.webkit.org/show_bug.cgi?id=161063

Patch by Jonathan Bedard <jbed...@apple.com> on 2016-08-29
Reviewed by Darin Adler.

* Scripts/webkitpy/port/driver.py:
(Driver._check_for_driver_timeout):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp: Call sample_process during notifyDone timeouts.
(WTR::TestRunner::waitToDumpWatchdogTimerFired):
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: Log pid and name for testing harness.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (205122 => 205123)


--- trunk/Tools/ChangeLog	2016-08-29 16:18:59 UTC (rev 205122)
+++ trunk/Tools/ChangeLog	2016-08-29 16:23:46 UTC (rev 205123)
@@ -1,5 +1,18 @@
 2016-08-29  Jonathan Bedard  <jbed...@apple.com>
 
+        Sample Process on notifyDone timed out
+        https://bugs.webkit.org/show_bug.cgi?id=161063
+
+        Reviewed by Darin Adler.
+
+        * Scripts/webkitpy/port/driver.py:
+        (Driver._check_for_driver_timeout): 
+        * WebKitTestRunner/InjectedBundle/TestRunner.cpp: Call sample_process during notifyDone timeouts.
+        (WTR::TestRunner::waitToDumpWatchdogTimerFired):
+        * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: Log pid and name for testing harness.
+
+2016-08-29  Jonathan Bedard  <jbed...@apple.com>
+
         Check-webkit-style does not work with Objective-C blocks
         https://bugs.webkit.org/show_bug.cgi?id=161247
 

Modified: trunk/Tools/Scripts/webkitpy/port/driver.py (205122 => 205123)


--- trunk/Tools/Scripts/webkitpy/port/driver.py	2016-08-29 16:18:59 UTC (rev 205122)
+++ trunk/Tools/Scripts/webkitpy/port/driver.py	2016-08-29 16:23:46 UTC (rev 205123)
@@ -422,6 +422,15 @@
         return cmd
 
     def _check_for_driver_timeout(self, out_line):
+        if out_line.startswith("#PID UNRESPONSIVE - "):
+            match = re.match('#PID UNRESPONSIVE - (\S+)', out_line)
+            child_process_name = match.group(1) if match else 'WebProcess'
+            match = re.search('pid (\d+)', out_line)
+            child_process_pid = int(match.group(1)) if match else None
+            err_line = 'Wait on notifyDone timed out, process ' + child_process_name + ' pid = ' + str(child_process_pid)
+            self.error_from_test += err_line
+            _log.debug(err_line)
+            self._port.sample_process(child_process_name, child_process_pid)
         if out_line == "FAIL: Timed out waiting for notifyDone to be called\n":
             self._driver_timed_out = True
 

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp (205122 => 205123)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp	2016-08-29 16:18:59 UTC (rev 205122)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp	2016-08-29 16:23:46 UTC (rev 205123)
@@ -44,6 +44,7 @@
 #include <WebKit/WKBundlePrivate.h>
 #include <WebKit/WKBundleScriptWorld.h>
 #include <WebKit/WKData.h>
+#include <WebKit/WKPagePrivate.h>
 #include <WebKit/WKRetainPtr.h>
 #include <WebKit/WKSerializedScriptValue.h>
 #include <WebKit/WebKit2_C.h>
@@ -158,6 +159,11 @@
 {
     invalidateWaitToDumpWatchdogTimer();
     auto& injectedBundle = InjectedBundle::singleton();
+#if PLATFORM(COCOA)
+    char buffer[1024];
+    snprintf(buffer, sizeof(buffer), "#PID UNRESPONSIVE - %s (pid %d)\n", getprogname(), getpid());
+    injectedBundle.outputText(buffer);
+#endif
     injectedBundle.outputText("FAIL: Timed out waiting for notifyDone to be called\n\n");
     injectedBundle.done();
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to