Cleanup: Move flatten-trie to loader.
authorjparent@chromium.org <jparent@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 Mar 2013 04:14:17 +0000 (04:14 +0000)
committerjparent@chromium.org <jparent@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 Mar 2013 04:14:17 +0000 (04:14 +0000)
https://bugs.webkit.org/show_bug.cgi?id=112196

Reviewed by Dirk Pranke.

flatten-trie is used only by the loader, so move it there and make it
private, rather than global in dashbaord_base. Moved the corresponding
unit test from flakiness_dashboard_unittests to loader_unittests.

* TestResultServer/static-dashboards/dashboard_base.js:
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
* TestResultServer/static-dashboards/loader.js:
(.):
* TestResultServer/static-dashboards/loader_unittests.js:

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

Tools/ChangeLog
Tools/TestResultServer/static-dashboards/dashboard_base.js
Tools/TestResultServer/static-dashboards/flakiness_dashboard_unittests.js
Tools/TestResultServer/static-dashboards/loader.js
Tools/TestResultServer/static-dashboards/loader_unittests.js

index 2e5426b..081ad5a 100644 (file)
@@ -1,3 +1,20 @@
+2013-03-12  Julie Parent  <jparent@chromium.org>
+
+        Cleanup: Move flatten-trie to loader.
+        https://bugs.webkit.org/show_bug.cgi?id=112196
+
+        Reviewed by Dirk Pranke.
+
+        flatten-trie is used only by the loader, so move it there and make it
+        private, rather than global in dashbaord_base. Moved the corresponding
+        unit test from flakiness_dashboard_unittests to loader_unittests.
+        
+        * TestResultServer/static-dashboards/dashboard_base.js:
+        * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
+        * TestResultServer/static-dashboards/loader.js:
+        (.):
+        * TestResultServer/static-dashboards/loader_unittests.js:
+
 2013-03-12  Oliver Hunt  <oliver@apple.com>
 
         Unbreak api tests
index 7c443f8..90d1ee2 100644 (file)
@@ -410,26 +410,6 @@ function isTipOfTreeWebKitBuilder()
 var g_resultsByBuilder = {};
 var g_expectationsByPlatform = {};
 
-// TODO(aboxhall): figure out whether this is a performance bottleneck and
-// change calling code to understand the trie structure instead if necessary.
-function flattenTrie(trie, prefix)
-{
-    var result = {};
-    for (var name in trie) {
-        var fullName = prefix ? prefix + "/" + name : name;
-        var data = trie[name];
-        if ("results" in data)
-            result[fullName] = data;
-        else {
-            var partialResult = flattenTrie(data, fullName);
-            for (var key in partialResult) {
-                result[key] = partialResult[key];
-            }
-        }
-    }
-    return result;
-}
-
 function isTreeMap()
 {
     return string.endsWith(window.location.pathname, 'treemap.html');
index f3c58ff..7e5defa 100644 (file)
@@ -83,23 +83,6 @@ function runExpectationsTest(builder, test, expectations, modifiers)
     equal(resultsForTest.modifiers, modifiers, message);
 }
 
-test('flattenTrie', 1, function() {
-    resetGlobals();
-    var tests = {
-        'bar.html': {'results': [[100, 'F']], 'times': [[100, 0]]},
-        'foo': {
-            'bar': {
-                'baz.html': {'results': [[100, 'F']], 'times': [[100, 0]]},
-            }
-        }
-    };
-    var expectedFlattenedTests = {
-        'bar.html': {'results': [[100, 'F']], 'times': [[100, 0]]},
-        'foo/bar/baz.html': {'results': [[100, 'F']], 'times': [[100, 0]]},
-    };
-    equal(JSON.stringify(flattenTrie(tests)), JSON.stringify(expectedFlattenedTests))
-});
-
 test('releaseFail', 2, function() {
     resetGlobals();
     loadBuildersList('@ToT - chromium.org', 'layout-tests');
index dd9b88a..7686875 100644 (file)
@@ -72,6 +72,26 @@ loader.Loader = function(opt_onLoadingComplete)
     this._onLoadingComplete = opt_onLoadingComplete || function() {};
 }
 
+// TODO(aboxhall): figure out whether this is a performance bottleneck and
+// change calling code to understand the trie structure instead if necessary.
+loader.Loader._flattenTrie = function(trie, prefix)
+{
+    var result = {};
+    for (var name in trie) {
+        var fullName = prefix ? prefix + "/" + name : name;
+        var data = trie[name];
+        if ("results" in data)
+            result[fullName] = data;
+        else {
+            var partialResult = loader.Loader._flattenTrie(data, fullName);
+            for (var key in partialResult) {
+                result[key] = partialResult[key];
+            }
+        }
+    }
+    return result;
+}
+
 loader.Loader.prototype = {
     load: function()
     {
@@ -169,7 +189,7 @@ loader.Loader.prototype = {
                 this._staleBuilders.push(builderName);
 
             if (json_version >= 4)
-                builds[builderName][TESTS_KEY] = flattenTrie(builds[builderName][TESTS_KEY]);
+                builds[builderName][TESTS_KEY] = loader.Loader._flattenTrie(builds[builderName][TESTS_KEY]);
             g_resultsByBuilder[builderName] = builds[builderName];
         }
     },
index 168ce0d..19a4b0c 100644 (file)
@@ -163,4 +163,21 @@ test('Loaded state set', 2, function() {
     resourceLoader._loadingSteps = [];
     resourceLoader.load();
     equal(true, resourceLoader.isLoadingComplete(), 'After loading, loading is complete');
-});
\ No newline at end of file
+});
+
+test('flattenTrie', 1, function() {
+    resetGlobals();
+    var tests = {
+        'bar.html': {'results': [[100, 'F']], 'times': [[100, 0]]},
+        'foo': {
+            'bar': {
+                'baz.html': {'results': [[100, 'F']], 'times': [[100, 0]]},
+            }
+        }
+    };
+    var expectedFlattenedTests = {
+        'bar.html': {'results': [[100, 'F']], 'times': [[100, 0]]},
+        'foo/bar/baz.html': {'results': [[100, 'F']], 'times': [[100, 0]]},
+    };
+    equal(JSON.stringify(loader.Loader._flattenTrie(tests)), JSON.stringify(expectedFlattenedTests))
+});