REGRESSION (177368): Some tests started to immediately time out
authorap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 19 Dec 2014 23:25:46 +0000 (23:25 +0000)
committerap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 19 Dec 2014 23:25:46 +0000 (23:25 +0000)
https://bugs.webkit.org/show_bug.cgi?id=139826

Reviewed by Daniel Bates.

Tools:

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::done):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::dump):
Move invalidateWaitToDumpWatchdogTimer() call from dump() to done(). When a test
ends in a load failure, we don't dump, so we used to leak the timer.

* WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::notifyDone):
Added a comment.

LayoutTests:

* platform/wk2/TestExpectations: The culprit was this test that I unskipped to see
whether it passes. It in fact does pass, so let's remove the expectation entirely.

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

LayoutTests/ChangeLog
LayoutTests/platform/wk2/TestExpectations
Tools/ChangeLog
Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp

index 75c6b4d..c483097 100644 (file)
@@ -1,3 +1,13 @@
+2014-12-19  Alexey Proskuryakov  <ap@apple.com>
+
+        REGRESSION (177368): Some tests started to immediately time out
+        https://bugs.webkit.org/show_bug.cgi?id=139826
+
+        Reviewed by Daniel Bates.
+
+        * platform/wk2/TestExpectations: The culprit was this test that I unskipped to see
+        whether it passes. It in fact does pass, so let's remove the expectation entirely.
+
 2014-12-19  Brent Fulgham  <bfulgham@apple.com>
 
         [Win] Unreviewed gardening.
index 283ed38..3da6768 100644 (file)
@@ -76,9 +76,6 @@ webkit.org/b/82665 http/tests/webarchive/test-css-url-encoding-utf-8.html [ Skip
 webkit.org/b/82665 webarchive/test-css-url-resources-in-stylesheets.html [ Skip ]
 webkit.org/b/82665 webarchive/test-css-url-resources-inline-styles.html [ Skip ]
 
-# This test has been skipped for a long time. Temporarily marking as flaky to see what bots think.
-webkit.org/b/96741 fast/loader/recursive-before-unload-crash.html [ Pass Failure ]
-
 # WebKitTestRunner needs textInputController
 # <https://bugs.webkit.org/show_bug.cgi?id=42337>
 editing/input/setting-input-value-cancel-ime-composition.html
index f22b20d..ffa5e84 100644 (file)
@@ -1,3 +1,18 @@
+2014-12-19  Alexey Proskuryakov  <ap@apple.com>
+
+        REGRESSION (177368): Some tests started to immediately time out
+        https://bugs.webkit.org/show_bug.cgi?id=139826
+
+        Reviewed by Daniel Bates.
+
+        * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::done):
+        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::dump):
+        Move invalidateWaitToDumpWatchdogTimer() call from dump() to done(). When a test
+        ends in a load failure, we don't dump, so we used to leak the timer.
+        
+        * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::notifyDone):
+        Added a comment.
+
 2014-12-19  Brent Fulgham  <bfulgham@apple.com>
 
         [Win] Add accessor for serializing HTTP loads
index aecfb2e..d26ed94 100644 (file)
@@ -289,6 +289,8 @@ void InjectedBundle::done()
     page()->stopLoading();
     setTopLoadingFrame(0);
 
+    m_testRunner->invalidateWaitToDumpWatchdogTimer();
+
     m_accessibilityController->resetToConsistentState();
 
     WKRetainPtr<WKStringRef> doneMessageName(AdoptWK, WKStringCreateWithUTF8CString("Done"));
index 43e7d44..08f8115 100644 (file)
@@ -836,8 +836,6 @@ void InjectedBundlePage::dump()
 {
     ASSERT(InjectedBundle::shared().isTestRunning());
 
-    InjectedBundle::shared().testRunner()->invalidateWaitToDumpWatchdogTimer();
-
     // Force a paint before dumping. This matches DumpRenderTree on Windows. (DumpRenderTree on Mac
     // does this at a slightly different time.) See <http://webkit.org/b/55469> for details.
     WKBundlePageForceRepaint(m_page);
index 378349c..21d0878 100644 (file)
@@ -160,6 +160,10 @@ void TestRunner::notifyDone()
     if (m_waitToDump && !InjectedBundle::shared().topLoadingFrame())
         InjectedBundle::shared().page()->dump();
 
+    // We don't call invalidateWaitToDumpWatchdogTimer() here, even if we continue to wait for a load to finish.
+    // The test is still subject to timeout checking - it is better to detect an async timeout inside WebKitTestRunner
+    // than to let webkitpy do that, because WebKitTestRunner will dump partial results.
+
     m_waitToDump = false;
 }