[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

mihaip at chromium.org mihaip at chromium.org
Wed Dec 22 14:28:13 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 4b76ac0323fe4d05b56cfaa092b6dbdd669cb2d0
Author: mihaip at chromium.org <mihaip at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Oct 10 19:46:12 2010 +0000

    2010-10-10  Mihai Parparita  <mihaip at chromium.org>
    
            Reviewed by Adam Barth.
    
            <a ping> tests are slow
            https://bugs.webkit.org/show_bug.cgi?id=47431
    
            The ping tests showed up as being flaky in Adam Barth's email; this
            might just be due to them being on the slow side due to the 1 second
            refresh in check-ping.php. We can instead switch to using file_exists
            in a loop if we invalidate the file status cache. Running the three
            ping tests with --iterations=10 now takes 4 seconds instead of 23.
    
            This surfaces a race condition in image-load-in-unload-handler.html
            (we don't start sending data till we get the ping, but unload handlers
            (where the ping is sent) aren't run till we start getting data). Fixed
            by adding a dummy page in between.
    
            * http/tests/navigation/resources/check-ping.php:
            * http/tests/navigation/image-load-in-unload-handler.html:
            * http/tests/navigation/resources/ping-redirect.html: Added.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69469 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index fff04b9..5364754 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,25 @@
+2010-10-10  Mihai Parparita  <mihaip at chromium.org>
+
+        Reviewed by Adam Barth.
+
+        <a ping> tests are slow
+        https://bugs.webkit.org/show_bug.cgi?id=47431
+        
+        The ping tests showed up as being flaky in Adam Barth's email; this
+        might just be due to them being on the slow side due to the 1 second
+        refresh in check-ping.php. We can instead switch to using file_exists
+        in a loop if we invalidate the file status cache. Running the three
+        ping tests with --iterations=10 now takes 4 seconds instead of 23.
+        
+        This surfaces a race condition in image-load-in-unload-handler.html
+        (we don't start sending data till we get the ping, but unload handlers
+        (where the ping is sent) aren't run till we start getting data). Fixed
+        by adding a dummy page in between.
+
+        * http/tests/navigation/resources/check-ping.php:
+        * http/tests/navigation/image-load-in-unload-handler.html:
+        * http/tests/navigation/resources/ping-redirect.html: Added.
+
 2010-10-10  Robert Hogan  <robert at webkit.org>
 
         Reviewed by Antonio Gomes.
diff --git a/LayoutTests/http/tests/navigation/image-load-in-unload-handler.html b/LayoutTests/http/tests/navigation/image-load-in-unload-handler.html
index cebd258..4ea8e03 100644
--- a/LayoutTests/http/tests/navigation/image-load-in-unload-handler.html
+++ b/LayoutTests/http/tests/navigation/image-load-in-unload-handler.html
@@ -13,7 +13,13 @@ function test() {
         testCalled = true;
         return;
     }
-    location.assign("resources/check-ping.php");
+    // We can't go to check-ping.php directly, since that doesn't start sending
+    // a response until the ping data is detected, but unload handlers (where
+    // we send the ping) are only run once we've begun receiving data from the
+    // page being navigated to. Instead, we go through a dummy redirect page,
+    // to make sure that the onunload handler has run before we get to 
+    // check-ping.php.
+    location.assign("resources/ping-redirect.html");
 }
 
 function ping() {
diff --git a/LayoutTests/http/tests/navigation/resources/check-ping.php b/LayoutTests/http/tests/navigation/resources/check-ping.php
index a0f2dd7..8b1bb02 100644
--- a/LayoutTests/http/tests/navigation/resources/check-ping.php
+++ b/LayoutTests/http/tests/navigation/resources/check-ping.php
@@ -1,11 +1,8 @@
 <?php
-if (!file_exists("ping.txt")) {
-    $page = $_SERVER['PHP_SELF'];
-    // This refresh header is unfortunate, but if the file doesn't
-    // exist when this php script starts running, it won't notice
-    // its creation even if we sleep and check again.
-    header("Refresh: 1; url=$page");
-    return;
+while (!file_exists("ping.txt")) {
+    usleep(10000);
+    // file_exists() caches results, we want to invalidate the cache.
+    clearstatcache();
 }
 
 echo "<html><body>\n";
diff --git a/LayoutTests/http/tests/navigation/resources/ping-redirect.html b/LayoutTests/http/tests/navigation/resources/ping-redirect.html
new file mode 100644
index 0000000..969c967
--- /dev/null
+++ b/LayoutTests/http/tests/navigation/resources/ping-redirect.html
@@ -0,0 +1,3 @@
+<script>
+location.href = 'check-ping.php';
+</script>

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list