Title: [93063] trunk/Tools
Revision
93063
Author
dglaz...@chromium.org
Date
2011-08-15 15:14:05 -0700 (Mon, 15 Aug 2011)

Log Message

garden-o-matic frontend needs model.commitDataForRevisionRange function.
https://bugs.webkit.org/show_bug.cgi?id=66252

Reviewed by Adam Barth.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js: Added commitDataForRevisionRange method.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model_unittests.js: Added tests.

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js (93062 => 93063)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js	2011-08-15 21:56:03 UTC (rev 93062)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js	2011-08-15 22:14:05 UTC (rev 93063)
@@ -97,15 +97,38 @@
     return queue;
 };
 
+var g_commitIndex = {};
+
 model.updateRecentCommits = function(callback)
 {
     trac.recentCommitData('trunk', kCommitLogLength, function(commitDataList) {
         model.state.recentCommits = commitDataList;
+        updateCommitIndex();
         findAndMarkRevertedRevisions(model.state.recentCommits);
         callback();
     });
 };
 
+function updateCommitIndex() {
+    model.state.recentCommits.forEach(function(commitData) {
+        g_commitIndex[commitData.revision] = commitData;
+    });
+}
+
+/*
+    Assumes SVN-style, consecutive revision scheme.
+*/
+model.commitDataListForRevisionRange = function(fromRevision, toRevision)
+{
+    var result = [];
+    for (var revision = fromRevision; revision <= toRevision; ++revision) {
+        var commitData = g_commitIndex[revision];
+        if (commitData)
+            result.push(commitData);
+    }
+    return result;
+};
+
 model.updateResultsByBuilder = function(callback)
 {
     results.fetchResultsByBuilder(config.kBuilders, function(resultsByBuilder) {

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model_unittests.js (93062 => 93063)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model_unittests.js	2011-08-15 21:56:03 UTC (rev 93062)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model_unittests.js	2011-08-15 22:14:05 UTC (rev 93063)
@@ -177,4 +177,33 @@
     });
 });
 
+test("commitDataListForRevisionRange", 6, function() {
+    var simulator = new NetworkSimulator();
+
+    simulator.get = function(url, callback)
+    {
+        simulator.scheduleCallback(function() {
+            var parser = new DOMParser();
+            var responseDOM = parser.parseFromString(kExampleCommitDataXML, "application/xml");
+            callback(responseDOM);
+        });
+    };
+
+    simulator.runTest(function() {
+        model.updateRecentCommits(function() {
+            function extractBugIDs(commitData)
+            {
+                return commitData.bugID;
+            }
+
+            deepEqual(model.commitDataListForRevisionRange(92259, 92259).map(extractBugIDs), [65593]);
+            deepEqual(model.commitDataListForRevisionRange(92256, 92259).map(extractBugIDs), [65657, 65593]);
+            deepEqual(model.commitDataListForRevisionRange(92259, 92256).map(extractBugIDs), []);
+            deepEqual(model.commitDataListForRevisionRange(0, 92256).map(extractBugIDs), [65657]);
+            deepEqual(model.commitDataListForRevisionRange(92256, 0).map(extractBugIDs), []);
+            delete model.state.recentCommits;
+        });
+    });
+});
+
 })();

Modified: trunk/Tools/ChangeLog (93062 => 93063)


--- trunk/Tools/ChangeLog	2011-08-15 21:56:03 UTC (rev 93062)
+++ trunk/Tools/ChangeLog	2011-08-15 22:14:05 UTC (rev 93063)
@@ -1,5 +1,15 @@
 2011-08-15  Dimitri Glazkov  <dglaz...@chromium.org>
 
+        garden-o-matic frontend needs model.commitDataForRevisionRange function.
+        https://bugs.webkit.org/show_bug.cgi?id=66252
+
+        Reviewed by Adam Barth.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model.js: Added commitDataForRevisionRange method.
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/model_unittests.js: Added tests.
+
+2011-08-15  Dimitri Glazkov  <dglaz...@chromium.org>
+
         garden-o-matic frontend needs a generic way to track updates.
         https://bugs.webkit.org/show_bug.cgi?id=66245
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to