Changeset 155648 in webkit
- Timestamp:
- Sep 12, 2013 2:02:39 PM (11 years ago)
- Location:
- trunk/LayoutTests
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r155646 r155648 1 2013-09-12 Alexey Proskuryakov <ap@apple.com> 2 3 svg/animations/smil-leak-*.svg tests are flaky 4 https://bugs.webkit.org/show_bug.cgi?id=114280 5 6 Reviewed by Tim Horton. 7 8 Moved garbage collection out of the function that touches nodes to be collected, 9 making sure that they are definitely not on the stack. 10 11 I could not reproduce locally, so this is a speculative fix. 12 13 * svg/animations/smil-leak-dynamically-added-element-instances.svg: 14 * svg/animations/smil-leak-element-instances-noBaseValRef.svg: 15 * svg/animations/smil-leak-element-instances.svg: 16 * svg/animations/smil-leak-elements.svg: 17 1 18 2013-09-12 Alexey Proskuryakov <ap@apple.com> 2 19 -
trunk/LayoutTests/svg/animations/smil-leak-dynamically-added-element-instances.svg
r124380 r155648 33 33 } 34 34 35 function cleanup() { 35 function startTest() { 36 // Collect garbage before recording starting live node count, in case there are live elements from previous tests. 37 GCController.collect(); 38 originalLiveElements = window.internals.numberOfLiveNodes(); 39 40 for (var i = 0; i < 50; i++) 41 g.appendChild(createAnimatedRectInstance()); 42 43 setTimeout(addMoreInstances, 100); 44 } 45 46 function addMoreInstances() { 47 for (var i = 0; i < 50; i++) 48 g.appendChild(createAnimatedRectInstance()); 49 50 setTimeout(continueTest, 0); 51 } 52 53 function continueTest() { 36 54 while (g.hasChildNodes()) 37 55 g.removeChild(g.lastChild); 38 56 57 setTimeout(finishTest, 0); 58 } 59 60 function finishTest() { 39 61 GCController.collect(); 40 62 … … 46 68 47 69 testRunner.notifyDone(); 48 }49 50 function addMoreInstances() {51 for (var i = 0; i < 50; i++)52 g.appendChild(createAnimatedRectInstance());53 54 setTimeout(cleanup, 0);55 }56 57 function startTest() {58 // Collect garbage before recording starting live node count, in case there are live elements from previous tests.59 GCController.collect();60 originalLiveElements = window.internals.numberOfLiveNodes();61 62 for (var i = 0; i < 50; i++)63 g.appendChild(createAnimatedRectInstance());64 65 setTimeout(addMoreInstances, 100);66 70 } 67 71 -
trunk/LayoutTests/svg/animations/smil-leak-element-instances-noBaseValRef.svg
r124380 r155648 33 33 } 34 34 35 function cleanup() { 35 function startTest() { 36 // Collect garbage before recording starting live node count, in case there are live elements from previous tests. 37 GCController.collect(); 38 originalLiveElements = window.internals.numberOfLiveNodes(); 39 40 for (var i = 0; i < 100; i++) 41 g.appendChild(createAnimatedRectInstance()); 42 43 setTimeout(continueTest, 0); 44 } 45 46 function continueTest() { 36 47 while (g.hasChildNodes()) 37 48 g.removeChild(g.lastChild); 38 49 50 setTimeout(finishTest, 0); 51 } 52 53 function finishTest() { 39 54 GCController.collect(); 40 55 … … 46 61 47 62 testRunner.notifyDone(); 48 }49 50 function startTest() {51 // Collect garbage before recording starting live node count, in case there are live elements from previous tests.52 GCController.collect();53 originalLiveElements = window.internals.numberOfLiveNodes();54 55 for (var i = 0; i < 100; i++)56 g.appendChild(createAnimatedRectInstance());57 58 setTimeout(cleanup, 0);59 63 } 60 64 -
trunk/LayoutTests/svg/animations/smil-leak-element-instances.svg
r124380 r155648 33 33 } 34 34 35 function cleanup() {36 while (g.hasChildNodes())37 g.removeChild(g.lastChild);38 39 GCController.collect();40 41 var liveDelta = window.internals.numberOfLiveNodes() - originalLiveElements;42 if (liveDelta == 0)43 log("PASS");44 else45 log("FAIL: " + liveDelta + " extra live node(s)");46 47 testRunner.notifyDone();48 }49 50 35 function startTest() { 51 36 // Collect garbage before recording starting live node count, in case there are live elements from previous tests. … … 59 44 g.appendChild(createAnimatedRectInstance()); 60 45 61 setTimeout(cleanup, 0); 46 setTimeout(continueTest, 0); 47 } 48 49 function continueTest() { 50 while (g.hasChildNodes()) 51 g.removeChild(g.lastChild); 52 53 setTimeout(finishTest, 0); 54 } 55 56 function finishTest() { 57 GCController.collect(); 58 59 var liveDelta = window.internals.numberOfLiveNodes() - originalLiveElements; 60 if (liveDelta == 0) 61 log("PASS"); 62 else 63 log("FAIL: " + liveDelta + " extra live node(s)"); 64 65 testRunner.notifyDone(); 62 66 } 63 67 -
trunk/LayoutTests/svg/animations/smil-leak-elements.svg
r124380 r155648 31 31 } 32 32 33 function cleanup() { 33 function startTest() { 34 // Collect garbage before recording starting live node count, in case there are live elements from previous tests. 35 GCController.collect(); 36 originalLiveElements = window.internals.numberOfLiveNodes(); 37 38 for (var i = 0; i < 100; i++) 39 g.appendChild(createAnimatedRect()); 40 41 setTimeout(continueTest, 0); 42 } 43 44 function continueTest() { 34 45 while (g.hasChildNodes()) 35 46 g.removeChild(g.lastChild); 36 47 48 setTimeout(finishTest, 0); 49 } 50 51 function finishTest() { 37 52 GCController.collect(); 38 53 … … 44 59 45 60 testRunner.notifyDone(); 46 }47 48 function startTest() {49 // Collect garbage before recording starting live node count, in case there are live elements from previous tests.50 GCController.collect();51 originalLiveElements = window.internals.numberOfLiveNodes();52 53 for (var i = 0; i < 100; i++)54 g.appendChild(createAnimatedRect());55 56 setTimeout(cleanup, 0);57 61 } 58 62
Note: See TracChangeset
for help on using the changeset viewer.