Title: [130533] trunk/LayoutTests
Revision
130533
Author
o...@chromium.org
Date
2012-10-05 11:32:13 -0700 (Fri, 05 Oct 2012)

Log Message

Have perf test assert worst order of magnitude
https://bugs.webkit.org/show_bug.cgi?id=98535

Reviewed by Tony Chang.

Really we only care if tests get order of magnitude slower.
Assert that tests are at least a certain magnitude.
Hopefully this will reduce flakiness some.

* resources/magnitude-perf.js:
(Magnitude._run):

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (130532 => 130533)


--- trunk/LayoutTests/ChangeLog	2012-10-05 18:26:37 UTC (rev 130532)
+++ trunk/LayoutTests/ChangeLog	2012-10-05 18:32:13 UTC (rev 130533)
@@ -1,3 +1,17 @@
+2012-10-05  Ojan Vafai  <o...@chromium.org>
+
+        Have perf test assert worst order of magnitude
+        https://bugs.webkit.org/show_bug.cgi?id=98535
+
+        Reviewed by Tony Chang.
+
+        Really we only care if tests get order of magnitude slower.
+        Assert that tests are at least a certain magnitude.
+        Hopefully this will reduce flakiness some.
+       
+        * resources/magnitude-perf.js:
+        (Magnitude._run):
+
 2012-10-05  Ryosuke Niwa  <rn...@webkit.org>
 
         Deleting across multiple paragraphs can change the style of surrounding text

Modified: trunk/LayoutTests/resources/magnitude-perf.js (130532 => 130533)


--- trunk/LayoutTests/resources/magnitude-perf.js	2012-10-05 18:26:37 UTC (rev 130532)
+++ trunk/LayoutTests/resources/magnitude-perf.js	2012-10-05 18:32:13 UTC (rev 130533)
@@ -35,6 +35,13 @@
 Magnitude.POLYNOMIAL = ">=O(n^2)";
 Magnitude.INDETERMINATE = "indeterminate result";
 
+Magnitude._order = {}
+Magnitude._order[Magnitude.CONSTANT] = 1;
+Magnitude._order[Magnitude.LINEAR] = 2;
+Magnitude._order[Magnitude.LOGARITHMIC] = 3;
+Magnitude._order[Magnitude.POLYNOMIAL] = 4;
+Magnitude._order[Magnitude.INDETERMINATE] = 5;
+
 Magnitude._log = function(msg)
 {
     if (!Magnitude._container)
@@ -71,12 +78,13 @@
 
     numTriesLeft--;
     var bigO = Magnitude._bigOGuess();
-    if (bigO == expected || numTriesLeft < 1) {
-        Magnitude._log(bigO == expected ? "PASS" : "FAIL: got " + bigO + " expected " + expected);
+    var passed = Magnitude._order[bigO] <= Magnitude._order[expected];
+    if (passed || numTriesLeft < 1) {
+        Magnitude._log(passed ? "PASS" : "FAIL: got " + bigO + " expected " + expected);
 
         // By default don't log detailed information to layout test results to keep expected results
         // consistent from run to run.
-        if (!window.testRunner || bigO != expected)
+        if (!window.testRunner || !passed)
             Magnitude._log(Magnitude._debugLog);
     } else {
         Magnitude._debug("numTriesLeft: " + numTriesLeft);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to