DRT fails to reset page visibility between tests
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Jun 2017 20:09:24 +0000 (20:09 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 16 Jun 2017 20:09:24 +0000 (20:09 +0000)
https://bugs.webkit.org/show_bug.cgi?id=173485

Reviewed by Alexey Proskuryakov.

DRT fails to reset page visibility between tests and relies on tests calling testRunner.resetPageVisibility().
Fix this to address flakiness.

I confirmed this by commenting out the call to testRunner.resetPageVisibility() in
fast/events/page-visibility-onvisibilitychange.html and running the test in a loop.
The test became flaky without the DRT change and was no longer flaky with the DRT
change.

WebKitTestRunner already does this.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):

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

Tools/ChangeLog
Tools/DumpRenderTree/mac/DumpRenderTree.mm

index 8d7a573..7f10124 100644 (file)
@@ -1,3 +1,23 @@
+2017-06-16  Chris Dumez  <cdumez@apple.com>
+
+        DRT fails to reset page visibility between tests
+        https://bugs.webkit.org/show_bug.cgi?id=173485
+
+        Reviewed by Alexey Proskuryakov.
+
+        DRT fails to reset page visibility between tests and relies on tests calling testRunner.resetPageVisibility().
+        Fix this to address flakiness.
+
+        I confirmed this by commenting out the call to testRunner.resetPageVisibility() in
+        fast/events/page-visibility-onvisibilitychange.html and running the test in a loop.
+        The test became flaky without the DRT change and was no longer flaky with the DRT
+        change.
+
+        WebKitTestRunner already does this.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (resetWebViewToConsistentStateBeforeTesting):
+
 2017-06-16  Alex Christensen  <achristensen@webkit.org>
 
         Implement basic authentication in MiniBrowser
index 8cef65d..e2058d4 100644 (file)
@@ -1825,6 +1825,7 @@ static void resetWebViewToConsistentStateBeforeTesting(const TestOptions& option
     setlocale(LC_ALL, "");
 
     if (gTestRunner) {
+        gTestRunner->resetPageVisibility();
         WebCoreTestSupport::resetInternalsObject([mainFrame globalContext]);
         // in the case that a test using the chrome input field failed, be sure to clean up for the next test
         gTestRunner->removeChromeInputField();