Title: [92743] trunk/Tools
- Revision
- 92743
- Author
- [email protected]
- Date
- 2011-08-09 18:49:02 -0700 (Tue, 09 Aug 2011)
Log Message
garden-o-matic should use huerstics to narrow regression range
https://bugs.webkit.org/show_bug.cgi?id=65948
Reviewed by Dimitri Glazkov.
When analyzing a regression range, if one of the commit messages
mentions the test in question, we now hueristically assume that
revision caused the failure. (I'm shamelessly stealing this idea from
TestFailures.)
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js:
Modified Paths
Diff
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js (92742 => 92743)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js 2011-08-10 01:44:07 UTC (rev 92742)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js 2011-08-10 01:49:02 UTC (rev 92743)
@@ -47,6 +47,32 @@
});
}
+function fuzzyFind(testName, commitData)
+{
+ var indexOfLastDot = testName.lastIndexOf('.');
+ var stem = indexOfLastDot == -1 ? testName : testName.substr(0, indexOfLastDot);
+ return commitData.message.indexOf(stem) != -1;
+}
+
+function heuristicallyNarrowRegressionRange(failureAnalysis)
+{
+ var commitDataList = model.state.recentCommits;
+ var commitDataIndex = commitDataList.length - 1;
+
+ for(var revision = failureAnalysis.newestPassingRevision + 1; revision <= failureAnalysis.oldestFailingRevision; ++revision) {
+ while (commitDataIndex >= 0 && commitDataList[commitDataIndex].revision < revision)
+ --commitDataIndex;
+ var commitData = commitDataList[commitDataIndex];
+ if (commitData.revision != revision)
+ continue;
+ if (fuzzyFind(failureAnalysis.testName, commitData)) {
+ failureAnalysis.oldestFailingRevision = revision;
+ failureAnalysis.newestPassingRevision = revision - 1;
+ return;
+ }
+ }
+}
+
model.queueForRebaseline = function(failureInfo)
{
model.state.rebaselineQueue.push(failureInfo);
@@ -107,6 +133,8 @@
'newestPassingRevision': newestPassingRevision,
};
+ heuristicallyNarrowRegressionRange(failureAnalysis);
+
var previousFailureAnalysis = model.state.failureAnalysisByTest[testName];
if (previousFailureAnalysis
&& previousFailureAnalysis.oldestFailingRevision <= failureAnalysis.oldestFailingRevision
Modified: trunk/Tools/ChangeLog (92742 => 92743)
--- trunk/Tools/ChangeLog 2011-08-10 01:44:07 UTC (rev 92742)
+++ trunk/Tools/ChangeLog 2011-08-10 01:49:02 UTC (rev 92743)
@@ -1,3 +1,17 @@
+2011-08-09 Adam Barth <[email protected]>
+
+ garden-o-matic should use huerstics to narrow regression range
+ https://bugs.webkit.org/show_bug.cgi?id=65948
+
+ Reviewed by Dimitri Glazkov.
+
+ When analyzing a regression range, if one of the commit messages
+ mentions the test in question, we now hueristically assume that
+ revision caused the failure. (I'm shamelessly stealing this idea from
+ TestFailures.)
+
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js:
+
2011-07-13 Eric Seidel <[email protected]>
new-run-webkit-test's WinPort has no fallback logic
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes