svg/animations/smil-leak-*.svg tests are flaky
authorap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 Sep 2013 17:40:07 +0000 (17:40 +0000)
committerap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 Sep 2013 17:40:07 +0000 (17:40 +0000)
https://bugs.webkit.org/show_bug.cgi?id=114280

Reviewed by Geoffrey Garen.

Try garbage collection multiple times, who knows which queues the deleted nodes
could still be in. Also, removed last week's experimental change to make 10x more
nodes to see how that affects the number of leaks (it didn't).

* svg/animations/smil-leak-dynamically-added-element-instances.svg:
* svg/animations/smil-leak-element-instances-noBaseValRef.svg:
* svg/animations/smil-leak-element-instances.svg:
* svg/animations/smil-leak-elements.svg:

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

LayoutTests/ChangeLog
LayoutTests/svg/animations/smil-leak-dynamically-added-element-instances.svg
LayoutTests/svg/animations/smil-leak-element-instances-noBaseValRef.svg
LayoutTests/svg/animations/smil-leak-element-instances.svg
LayoutTests/svg/animations/smil-leak-elements.svg

index 4c150ad..2328a96 100644 (file)
@@ -1,5 +1,21 @@
 2013-09-16  Alexey Proskuryakov  <ap@apple.com>
 
+        svg/animations/smil-leak-*.svg tests are flaky
+        https://bugs.webkit.org/show_bug.cgi?id=114280
+
+        Reviewed by Geoffrey Garen.
+
+        Try garbage collection multiple times, who knows which queues the deleted nodes
+        could still be in. Also, removed last week's experimental change to make 10x more
+        nodes to see how that affects the number of leaks (it didn't).
+
+        * svg/animations/smil-leak-dynamically-added-element-instances.svg:
+        * svg/animations/smil-leak-element-instances-noBaseValRef.svg:
+        * svg/animations/smil-leak-element-instances.svg:
+        * svg/animations/smil-leak-elements.svg:
+
+2013-09-16  Alexey Proskuryakov  <ap@apple.com>
+
         http/tests/misc/submit-post-keygen.html is extremely slow on bots, often timing out
         https://bugs.webkit.org/show_bug.cgi?id=121331
 
index 17ca504..efe82ef 100644 (file)
@@ -37,14 +37,14 @@ function startTest() {
     GCController.collect();
     originalLiveElements = window.internals.numberOfLiveNodes();
 
-    for (var i = 0; i < 500; i++)
+    for (var i = 0; i < 50; i++)
         g.appendChild(createAnimatedRectInstance());
 
     setTimeout(addMoreInstances, 100);
 }
 
 function addMoreInstances() {
-    for (var i = 0; i < 500; i++)
+    for (var i = 0; i < 50; i++)
         g.appendChild(createAnimatedRectInstance());
     
     setTimeout(continueTest, 0);
@@ -57,13 +57,18 @@ function continueTest() {
     setTimeout(finishTest, 0);
 }
 
+var attemptsToFinish = 5;
+
 function finishTest() {
     GCController.collect();
 
     var liveDelta = window.internals.numberOfLiveNodes() - originalLiveElements;
     if (liveDelta == 0)
         log("PASS");
-    else
+    else if (--attemptsToFinish) {
+        setTimeout(finishTest, 0);
+        return;
+    } else
         log("FAIL: " + liveDelta + " extra live node(s)");
 
     testRunner.notifyDone();
index 68012e0..d7ea4ad 100644 (file)
@@ -37,7 +37,7 @@ function startTest() {
     GCController.collect();
     originalLiveElements = window.internals.numberOfLiveNodes();
 
-    for (var i = 0; i < 1000; i++)
+    for (var i = 0; i < 100; i++)
         g.appendChild(createAnimatedRectInstance());
 
     setTimeout(continueTest, 0);
@@ -50,13 +50,18 @@ function continueTest() {
     setTimeout(finishTest, 0);
 }
 
+var attemptsToFinish = 5;
+
 function finishTest() {
     GCController.collect();
 
     var liveDelta = window.internals.numberOfLiveNodes() - originalLiveElements;
     if (liveDelta == 0)
         log("PASS");
-    else
+    else if (--attemptsToFinish) {
+        setTimeout(finishTest, 0);
+        return;
+    } else
         log("FAIL: " + liveDelta + " extra live node(s)");
 
     testRunner.notifyDone();
index 6eba74d..5b1cf62 100644 (file)
@@ -40,7 +40,7 @@ function startTest() {
     // Hold a reference to rect.x.baseVal on the root instance.
     xBaseVal = document.getElementById("rect").x.baseVal;
 
-    for (var i = 0; i < 1000; i++)
+    for (var i = 0; i < 100; i++)
         g.appendChild(createAnimatedRectInstance());
 
     setTimeout(continueTest, 0);
@@ -53,13 +53,18 @@ function continueTest() {
     setTimeout(finishTest, 0);
 }
 
+var attemptsToFinish = 5;
+
 function finishTest() {
     GCController.collect();
 
     var liveDelta = window.internals.numberOfLiveNodes() - originalLiveElements;
     if (liveDelta == 0)
         log("PASS");
-    else
+    else if (--attemptsToFinish) {
+        setTimeout(finishTest, 0);
+        return;
+    } else
         log("FAIL: " + liveDelta + " extra live node(s)");
 
     testRunner.notifyDone();
index 06a8002..56e80f8 100644 (file)
@@ -35,7 +35,7 @@ function startTest() {
     GCController.collect();
     originalLiveElements = window.internals.numberOfLiveNodes();
 
-    for (var i = 0; i < 1000; i++)
+    for (var i = 0; i < 100; i++)
         g.appendChild(createAnimatedRect());
 
     setTimeout(continueTest, 0);
@@ -48,13 +48,18 @@ function continueTest() {
     setTimeout(finishTest, 0);
 }
 
+var attemptsToFinish = 5;
+
 function finishTest() {
     GCController.collect();
 
     var liveDelta = window.internals.numberOfLiveNodes() - originalLiveElements;
     if (liveDelta == 0)
         log("PASS");
-    else
+    else if (--attemptsToFinish) {
+        setTimeout(finishTest, 0);
+        return;
+    } else
         log("FAIL: " + liveDelta + " extra live node(s)");
 
     testRunner.notifyDone();