Load all builder lists from the buildbot json
authorojan@chromium.org <ojan@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Apr 2012 19:08:48 +0000 (19:08 +0000)
committerojan@chromium.org <ojan@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 3 Apr 2012 19:08:48 +0000 (19:08 +0000)
https://bugs.webkit.org/show_bug.cgi?id=82998

Reviewed by Adam Barth.

Also, remove an unnecessary list of test types. Now we don't hard-code
builder names anywhere and we only have a single hard-coded list of
test types.

* TestResultServer/static-dashboards/builders.js:
(BuilderMaster.prototype.logPath):
(BuilderMaster.prototype.builderJsonPath):
(requestBuilderList.xhr.onload):
(requestBuilderList.xhr.onerror):
(isChromiumDepsFyiGpuTestRunner):
(isChromiumTipOfTreeGpuTestRunner):
(isChromiumDepsGTestRunner):
(isChromiumDepsCrosGTestRunner):
(isChromiumTipOfTreeGTestRunner):
(onBuilderListLoad):
(loadBuildersList):
* TestResultServer/static-dashboards/dashboard_base.js:
(parseCrossDashboardParameters):
(currentBuilderGroupCategory):
* TestResultServer/static-dashboards/flakiness_dashboard.html:
* TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
(testHtmlForTestsWithExpectationsButNoFailures):
(testGenerateChromiumTipOfTreeGpuBuildersFromBuilderList):
(testGenerateChromiumDepsGTestBuildersFromBuilderList):
(testGenerateChromiumDepsCrosGTestBuildersFromBuilderList):
(testGenerateChromiumTipOfTreeGTestBuildersFromBuilderList):
* TestResultServer/static-dashboards/timeline_explorer.html:

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

Tools/ChangeLog
Tools/TestResultServer/static-dashboards/builders.js
Tools/TestResultServer/static-dashboards/dashboard_base.js
Tools/TestResultServer/static-dashboards/flakiness_dashboard.html
Tools/TestResultServer/static-dashboards/flakiness_dashboard_tests.js
Tools/TestResultServer/static-dashboards/timeline_explorer.html

index afface4..07ca16d 100644 (file)
@@ -1,3 +1,38 @@
+2012-04-02  Ojan Vafai  <ojan@chromium.org>
+
+        Load all builder lists from the buildbot json
+        https://bugs.webkit.org/show_bug.cgi?id=82998
+
+        Reviewed by Adam Barth.
+
+        Also, remove an unnecessary list of test types. Now we don't hard-code
+        builder names anywhere and we only have a single hard-coded list of
+        test types.
+
+        * TestResultServer/static-dashboards/builders.js:
+        (BuilderMaster.prototype.logPath):
+        (BuilderMaster.prototype.builderJsonPath):
+        (requestBuilderList.xhr.onload):
+        (requestBuilderList.xhr.onerror):
+        (isChromiumDepsFyiGpuTestRunner):
+        (isChromiumTipOfTreeGpuTestRunner):
+        (isChromiumDepsGTestRunner):
+        (isChromiumDepsCrosGTestRunner):
+        (isChromiumTipOfTreeGTestRunner):
+        (onBuilderListLoad):
+        (loadBuildersList):
+        * TestResultServer/static-dashboards/dashboard_base.js:
+        (parseCrossDashboardParameters):
+        (currentBuilderGroupCategory):
+        * TestResultServer/static-dashboards/flakiness_dashboard.html:
+        * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
+        (testHtmlForTestsWithExpectationsButNoFailures):
+        (testGenerateChromiumTipOfTreeGpuBuildersFromBuilderList):
+        (testGenerateChromiumDepsGTestBuildersFromBuilderList):
+        (testGenerateChromiumDepsCrosGTestBuildersFromBuilderList):
+        (testGenerateChromiumTipOfTreeGTestBuildersFromBuilderList):
+        * TestResultServer/static-dashboards/timeline_explorer.html:
+
 2012-04-02  Ryosuke Niwa  <rniwa@webkit.org>
 
         Chromium testers should extract builds instead of building on their own
index 858d42a..c5222fb 100644 (file)
@@ -35,17 +35,22 @@ function BuilderMaster(name, basePath)
     this.basePath = basePath;
 }
 
-BuilderMaster.prototype.getLogPath = function(builder, buildNumber)
+BuilderMaster.prototype.logPath = function(builder, buildNumber)
 {
-    return this.basePath + builder + '/builds/' + buildNumber;
+    return this.basePath + 'builders/' + builder + '/builds/' + buildNumber;
 };
 
-CHROMIUM_BUILDER_MASTER = new BuilderMaster('Chromium', 'http://build.chromium.org/p/chromium/builders/');
-CHROMIUMOS_BUILDER_MASTER = new BuilderMaster('ChromiumChromiumOS', 'http://build.chromium.org/p/chromium.chromiumos/builders/');
-CHROMIUM_GPU_BUILDER_MASTER = new BuilderMaster('ChromiumGPU', 'http://build.chromium.org/p/chromium.gpu/builders/');
-CHROMIUM_GPU_FYI_BUILDER_MASTER = new BuilderMaster('ChromiumGPUFYI', 'http://build.chromium.org/p/chromium.gpu.fyi/builders/');
-CHROMIUM_WEBKIT_BUILDER_MASTER = new BuilderMaster('ChromiumWebkit', 'http://build.chromium.org/p/chromium.webkit/builders/');
-WEBKIT_BUILDER_MASTER = new BuilderMaster('webkit.org', 'http://build.webkit.org/builders/');
+BuilderMaster.prototype.builderJsonPath = function()
+{
+    return this.basePath + 'json/builders';
+};
+
+CHROMIUM_BUILDER_MASTER = new BuilderMaster('Chromium', 'http://build.chromium.org/p/chromium/');
+CHROMIUMOS_BUILDER_MASTER = new BuilderMaster('ChromiumChromiumOS', 'http://build.chromium.org/p/chromium.chromiumos/');
+CHROMIUM_GPU_BUILDER_MASTER = new BuilderMaster('ChromiumGPU', 'http://build.chromium.org/p/chromium.gpu/');
+CHROMIUM_GPU_FYI_BUILDER_MASTER = new BuilderMaster('ChromiumGPUFYI', 'http://build.chromium.org/p/chromium.gpu.fyi/');
+CHROMIUM_WEBKIT_BUILDER_MASTER = new BuilderMaster('ChromiumWebkit', 'http://build.chromium.org/p/chromium.webkit/');
+WEBKIT_BUILDER_MASTER = new BuilderMaster('webkit.org', 'http://build.webkit.org/');
 
 var LEGACY_BUILDER_MASTERS_TO_GROUPS = {
     'Chromium': '@DEPS - chromium.org',
@@ -93,20 +98,33 @@ function associateBuildersWithMaster(builders, master)
     });
 }
 
-function jsonRequest(url, onload, onerror)
+function requestBuilderList(builderGroups, builderFilter, master, groupName, groupEnum)
 {
+    var onLoad = partial(onBuilderListLoad, builderGroups, builderFilter, master, groupName, groupEnum);
     var xhr = new XMLHttpRequest();
+    var url = master.builderJsonPath();
     xhr.open('GET', url, true);
     xhr.onload = function() {
         if (xhr.status == 200)
-            onload(JSON.parse(xhr.response));
+            onLoad(JSON.parse(xhr.response));
         else
-            onerror(url);
+            onErrorLoadingBuilderList(url);
     };
-    xhr.onerror = function() { onerror(url); };
+    xhr.onerror = function() { onErrorLoadingBuilderList(url); };
     xhr.send();
 }
 
+function isChromiumDepsFyiGpuTestRunner(builder)
+{
+    // FIXME: This is kind of wonky, but there's not really a better pattern.
+    return builder.indexOf('(') != -1;
+}
+
+function isChromiumTipOfTreeGpuTestRunner(builder)
+{
+    return builder.indexOf('GPU') != -1;
+}
+
 function isWebkitTestRunner(builder)
 {
     if (builder.indexOf('Tests') != -1) {
@@ -126,6 +144,22 @@ function isChromiumWebkitDepsTestRunner(builder)
     return builder.indexOf('Webkit') != -1 && builder.indexOf('Builder') == -1 && builder.indexOf('(deps)') != -1;
 }
 
+function isChromiumDepsGTestRunner(builder)
+{
+    return builder.indexOf('Tests') != -1 && builder.indexOf('Chrome Frame') == -1;
+}
+
+function isChromiumDepsCrosGTestRunner(builder)
+{
+    return builder.indexOf('Tests') != -1;
+}
+
+function isChromiumTipOfTreeGTestRunner(builder)
+{
+    return !isChromiumTipOfTreeGpuTestRunner(builder) && builder.indexOf('Builder') == -1 && builder.indexOf('Perf') == -1 &&
+         builder.indexOf('Webkit') == -1 && builder.indexOf('Valgrind') == -1 && builder.indexOf('Chrome Frame') == -1;
+}
+
 function generateBuildersFromBuilderList(builderList, filter)
 {
     return builderList.filter(filter).map(function(tester, index) {
@@ -136,14 +170,11 @@ function generateBuildersFromBuilderList(builderList, filter)
     });
 }
 
-var WEBKIT_DOT_ORG_BUILDER_JSON_URL = 'http://build.webkit.org/json/builders';
-var CHROMIUM_CANARY_BUILDER_JSON_URL = 'http://build.chromium.org/p/chromium.webkit/json/builders';
-
-function onLayoutTestBuilderListLoad(builderFilter, master, groupName, groupEnum, json)
+function onBuilderListLoad(builderGroups, builderFilter, master, groupName, groupEnum, json)
 {
     var builders = generateBuildersFromBuilderList(Object.keys(json), builderFilter);
     associateBuildersWithMaster(builders, master);
-    LAYOUT_TESTS_BUILDER_GROUPS[groupName] = new BuilderGroup(BuilderGroup.groupEnum, builders);
+    builderGroups[groupName] = new BuilderGroup(BuilderGroup.groupEnum, builders);
     g_handleBuildersListLoaded();
 }
 
@@ -153,148 +184,60 @@ function onErrorLoadingBuilderList(url)
 }
 
 function loadBuildersList(group, testType) {
-    if (testType != 'layout-tests') {
-        // FIXME: Load builder lists for non-layout-tests dynamically as well.
-        return;
+    if (testType == 'gpu_tests') {
+        switch(group) {
+        case '@DEPS FYI - chromium.org':
+            requestBuilderList(CHROMIUM_GPU_TESTS_BUILDER_GROUPS, isChromiumDepsFyiGpuTestRunner, CHROMIUM_GPU_FYI_BUILDER_MASTER, group, BuilderGroup.DEPS_WEBKIT);
+            break;
+
+        case '@ToT - chromium.org':
+            requestBuilderList(CHROMIUM_GPU_TESTS_BUILDER_GROUPS, isChromiumTipOfTreeGpuTestRunner, CHROMIUM_WEBKIT_BUILDER_MASTER, group, BuilderGroup.TOT_WEBKIT);
+            break;
+        }
+    } else if (testType == 'layout-tests') {
+        switch(group) {
+        case '@ToT - chromium.org':
+            requestBuilderList(LAYOUT_TESTS_BUILDER_GROUPS, isChromiumWebkitTipOfTreeTestRunner, CHROMIUM_WEBKIT_BUILDER_MASTER, group, BuilderGroup.TOT_WEBKIT);
+            break;
+
+        case '@ToT - webkit.org':
+            requestBuilderList(LAYOUT_TESTS_BUILDER_GROUPS, isWebkitTestRunner, WEBKIT_BUILDER_MASTER, group, BuilderGroup.TOT_WEBKIT);
+            break;
+
+        case '@DEPS - chromium.org':
+            requestBuilderList(LAYOUT_TESTS_BUILDER_GROUPS, isChromiumWebkitDepsTestRunner, CHROMIUM_WEBKIT_BUILDER_MASTER, group, BuilderGroup.DEPS_WEBKIT);
+            break;
+        }
+    } else {
+        switch(group) {
+        case '@DEPS - chromium.org':
+            requestBuilderList(CHROMIUM_GTESTS_BUILDER_GROUPS, isChromiumDepsGTestRunner, CHROMIUM_BUILDER_MASTER, group, BuilderGroup.DEPS_WEBKIT);
+            break;
+
+        case '@DEPS CrOS - chromium.org':
+            requestBuilderList(CHROMIUM_GTESTS_BUILDER_GROUPS, isChromiumDepsCrosGTestRunner, CHROMIUMOS_BUILDER_MASTER, group, BuilderGroup.DEPS_WEBKIT);
+            break;
+
+        case '@ToT - chromium.org':
+            requestBuilderList(CHROMIUM_GTESTS_BUILDER_GROUPS, isChromiumTipOfTreeGTestRunner, CHROMIUM_WEBKIT_BUILDER_MASTER, group, BuilderGroup.TOT_WEBKIT);
+            break;
+        }
     }
-    var onLoad, url;
-    switch(group) {
-    case '@ToT - chromium.org':
-        onLoad = partial(onLayoutTestBuilderListLoad, isChromiumWebkitTipOfTreeTestRunner, CHROMIUM_WEBKIT_BUILDER_MASTER, group, BuilderGroup.TOT_WEBKIT);
-        url = CHROMIUM_CANARY_BUILDER_JSON_URL;
-        break;
-
-    case '@ToT - webkit.org':
-        onLoad = partial(onLayoutTestBuilderListLoad, isWebkitTestRunner, WEBKIT_BUILDER_MASTER, group, BuilderGroup.TOT_WEBKIT);
-        url = WEBKIT_DOT_ORG_BUILDER_JSON_URL;
-        break;
-
-    case '@DEPS - chromium.org':
-        onLoad = partial(onLayoutTestBuilderListLoad, isChromiumWebkitDepsTestRunner, CHROMIUM_WEBKIT_BUILDER_MASTER, group, BuilderGroup.DEPS_WEBKIT);
-        url = CHROMIUM_CANARY_BUILDER_JSON_URL;
-        break;
-    }
-
-    jsonRequest(url, onLoad, onErrorLoadingBuilderList);
 }
 
 var LAYOUT_TESTS_BUILDER_GROUPS = {
     '@ToT - chromium.org': null,
     '@ToT - webkit.org': null,
     '@DEPS - chromium.org': null,
-}
-
-var CHROMIUM_GPU_GTESTS_DEPS_BUILDERS = [
-    ['Win7 Release (NVIDIA)', BuilderGroup.DEFAULT_BUILDER],
-    ['Win7 Debug (NVIDIA)'],
-    ['Mac Release (Intel)'],
-    ['Mac Debug (Intel)'],
-    ['Linux Release (NVIDIA)'],
-    ['Linux Debug (NVIDIA)'],
-];
-associateBuildersWithMaster(CHROMIUM_GPU_GTESTS_DEPS_BUILDERS, CHROMIUM_GPU_BUILDER_MASTER);
-
-var CHROMIUM_GPU_FYI_GTESTS_DEPS_BUILDERS = [
-    ['Win7 Release (ATI)', BuilderGroup.DEFAULT_BUILDER],
-    ['Win7 Release (Intel)'],
-    ['WinXP Release (NVIDIA)'],
-    ['WinXP Debug (NVIDIA)'],
-    ['Mac Release (ATI)'],
-    ['Linux Release (ATI)'],
-    ['Linux Release (Intel)'],
-    ['Win7 Audio'],
-    ['Linux Audio'],
-];
-associateBuildersWithMaster(CHROMIUM_GPU_FYI_GTESTS_DEPS_BUILDERS, CHROMIUM_GPU_FYI_BUILDER_MASTER);
-
-var CHROMIUM_GPU_GTESTS_TOT_BUILDERS = [
-    ['GPU Win7 (NVIDIA)', BuilderGroup.DEFAULT_BUILDER],
-    ['GPU Win7 (dbg) (NVIDIA)'],
-    ['GPU Mac'],
-    ['GPU Mac (dbg)'],
-    ['GPU Linux (NVIDIA)'],
-    ['GPU Linux (dbg) (NVIDIA)'],
-];
-associateBuildersWithMaster(CHROMIUM_GPU_GTESTS_TOT_BUILDERS, CHROMIUM_WEBKIT_BUILDER_MASTER);
+};
 
 var CHROMIUM_GPU_TESTS_BUILDER_GROUPS = {
-    '@DEPS - chromium.org': new BuilderGroup(BuilderGroup.DEPS_WEBKIT, CHROMIUM_GPU_GTESTS_DEPS_BUILDERS),
-    '@DEPS FYI - chromium.org': new BuilderGroup(BuilderGroup.DEPS_WEBKIT, CHROMIUM_GPU_FYI_GTESTS_DEPS_BUILDERS),
-    '@ToT - chromium.org': new BuilderGroup(BuilderGroup.TOT_WEBKIT, CHROMIUM_GPU_GTESTS_TOT_BUILDERS)
+    '@DEPS FYI - chromium.org': null,
+    '@ToT - chromium.org': null,
 };
 
-var CHROMIUM_GTESTS_DEPS_BUILDERS = [
-    ['Win', BuilderGroup.DEFAULT_BUILDER],
-    ['Mac'],
-    ['Linux'],
-    ['Linux x64'],
-    ['XP Tests (1)'],
-    ['XP Tests (2)'],
-    ['XP Tests (3)'],
-    ['Vista Tests (1)'],
-    ['Vista Tests (2)'],
-    ['Vista Tests (3)'],
-    ['Win7 Tests (1)'],
-    ['Win7 Tests (2)'],
-    ['Win7 Tests (3)'],
-    ['Win7 Sync'],
-    ['XP Tests (dbg)(1)'],
-    ['XP Tests (dbg)(2)'],
-    ['XP Tests (dbg)(3)'],
-    ['XP Tests (dbg)(4)'],
-    ['XP Tests (dbg)(5)'],
-    ['XP Tests (dbg)(6)'],
-    ['Win7 Tests (dbg)(1)'],
-    ['Win7 Tests (dbg)(2)'],
-    ['Win7 Tests (dbg)(3)'],
-    ['Win7 Tests (dbg)(4)'],
-    ['Win7 Tests (dbg)(5)'],
-    ['Win7 Tests (dbg)(6)'],
-    ['Interactive Tests (dbg)'],
-    ['Win Aura'],
-    ['Mac10.5 Tests (1)'],
-    ['Mac10.5 Tests (2)'],
-    ['Mac10.5 Tests (3)'],
-    ['Mac10.6 Tests (1)'],
-    ['Mac10.6 Tests (2)'],
-    ['Mac10.6 Tests (3)'],
-    ['Mac10.6 Sync'],
-    ['Mac 10.5 Tests (dbg)(1)'],
-    ['Mac 10.5 Tests (dbg)(2)'],
-    ['Mac 10.5 Tests (dbg)(3)'],
-    ['Mac 10.5 Tests (dbg)(4)'],
-    ['Mac 10.6 Tests (dbg)(1)'],
-    ['Mac 10.6 Tests (dbg)(2)'],
-    ['Mac 10.6 Tests (dbg)(3)'],
-    ['Mac 10.6 Tests (dbg)(4)'],
-    ['Linux Tests x64'],
-    ['Linux Sync'],
-    ['Linux Tests (dbg)(1)'],
-    ['Linux Tests (dbg)(2)'],
-    ['Linux Tests (dbg)(shared)'],
-    ['Linux Tests (Aura dbg)'],
-];
-associateBuildersWithMaster(CHROMIUM_GTESTS_DEPS_BUILDERS, CHROMIUM_BUILDER_MASTER);
-
-var CHROMIUMOS_GTESTS_DEPS_BUILDERS = [
-    ['Linux ChromiumOS Tests (1)', BuilderGroup.DEFAULT_BUILDER],
-    ['Linux ChromiumOS Tests (2)'],
-    ['Linux ChromiumOS Tests (dbg)(1)'],
-    ['Linux ChromiumOS Tests (dbg)(2)'],
-    ['Linux ChromiumOS Tests (dbg)(3)'],
-];
-associateBuildersWithMaster(CHROMIUMOS_GTESTS_DEPS_BUILDERS, CHROMIUMOS_BUILDER_MASTER);
-
-var CHROMIUM_GTESTS_TOT_BUILDERS = [
-    ['Win (dbg)', BuilderGroup.DEFAULT_BUILDER],
-    ['Mac10.6 Tests'],
-    ['Linux Tests'],
-];
-associateBuildersWithMaster(CHROMIUM_GTESTS_TOT_BUILDERS, CHROMIUM_WEBKIT_BUILDER_MASTER);
-
 var CHROMIUM_GTESTS_BUILDER_GROUPS = {
-    '@DEPS - chromium.org': new BuilderGroup(BuilderGroup.DEPS_WEBKIT, CHROMIUM_GTESTS_DEPS_BUILDERS),
-    '@DEPS CrOS - chromium.org': new BuilderGroup(BuilderGroup.DEPS_WEBKIT, CHROMIUMOS_GTESTS_DEPS_BUILDERS),
-    '@ToT - chromium.org': new BuilderGroup(BuilderGroup.TOT_WEBKIT, CHROMIUM_GTESTS_TOT_BUILDERS),
+    '@DEPS - chromium.org': null,
+    '@DEPS CrOS - chromium.org': null,
+    '@ToT - chromium.org': null,
 };
-
index 5db65e5..e34d43c 100644 (file)
@@ -107,7 +107,7 @@ var WEBKIT_REVISIONS_KEY = 'webkitRevision';
 var TIMESTAMPS_KEY = 'secondsSinceEpoch';
 var BUILD_NUMBERS_KEY = 'buildNumbers';
 var TESTS_KEY = 'tests';
-var TWO_WEEKS_SECONDS = 60 * 60 * 24 * 14;
+var ONE_WEEK_SECONDS = 60 * 60 * 24 * 7;
 
 // These should match the testtype uploaded to test-results.appspot.com.
 // See http://test-results.appspot.com/testfile.
@@ -330,6 +330,8 @@ function parseCrossDashboardParameters()
         parseParameter(parameters, parameterName);
 
     fillMissingValues(g_crossDashboardState, g_defaultCrossDashboardStateValues);
+    if (currentBuilderGroup() === undefined)
+        g_crossDashboardState.group = g_defaultCrossDashboardStateValues.group;
 }
 
 function parseDashboardSpecificParameters()
@@ -347,15 +349,20 @@ function parseParameters()
 
     parseCrossDashboardParameters();
     parseDashboardSpecificParameters();
+    parseParameter(queryHashAsMap(), 'builder');
 
     var crossDashboardDiffState = diffStates(oldCrossDashboardState, g_crossDashboardState);
     var dashboardSpecificDiffState = diffStates(oldDashboardSpecificState, g_currentState);
 
     fillMissingValues(g_currentState, g_defaultDashboardSpecificStateValues);
-
-    parseParameter(queryHashAsMap(), 'builder');
     fillMissingValues(g_currentState, {'builder': g_defaultBuilderName});
 
+    // FIXME: dashboard_base shouldn't know anything about specific dashboard specific keys.
+    if (dashboardSpecificDiffState.builder)
+        delete g_currentState.tests;
+    if (g_currentState.tests)
+        delete g_currentState.builder;
+
     // Some parameters require loading different JSON files when the value changes. Do a reload.
     if (Object.keys(oldCrossDashboardState).length) {
         for (var key in g_crossDashboardState) {
@@ -440,45 +447,11 @@ function isGPUTestResults()
 
 function currentBuilderGroupCategory()
 {
-    switch (g_crossDashboardState.testType) {
-    case 'layout-tests':
-        return LAYOUT_TESTS_BUILDER_GROUPS
-    case 'gpu_tests':
-        return CHROMIUM_GPU_TESTS_BUILDER_GROUPS
-    case 'aura_unittests':
-    case 'aura_shell_unittests':
-    case 'base_unittests':
-    case 'browser_tests':
-    case 'cacheinvalidation_unittests':
-    case 'compositor_unittests':
-    case 'content_unittests':
-    case 'courgette_unittests':
-    case 'crypto_unittests':
-    case 'googleurl_unittests':
-    case 'gfx_unittests':
-    case 'gpu_unittests':
-    case 'installer_util_unittests':
-    case 'interactive_ui_tests':
-    case 'ipc_tests':
-    case 'jingle_unittests':
-    case 'media_unittests':
-    case 'mini_installer_test':
-    case 'nacl_ui_tests':
-    case 'net_unittests':
-    case 'printing_unittests':
-    case 'remoting_unittests':
-    case 'safe_browsing_tests':
-    case 'sql_unittests':
-    case 'sync_unit_tests':
-    case 'sync_integration_tests':
-    case 'test_shell_tests':
-    case 'ui_tests':
-    case 'unit_tests':
-    case 'views_unittests':
-        return CHROMIUM_GTESTS_BUILDER_GROUPS
-    default:
-        console.log('invalid testType parameter: ' + g_crossDashboardState.testType);
-    }
+    if (g_crossDashboardState.testType == 'layout-tests')
+        return LAYOUT_TESTS_BUILDER_GROUPS;
+    if (g_crossDashboardState.testType == 'gpu_tests')
+        return CHROMIUM_GPU_TESTS_BUILDER_GROUPS;
+    return CHROMIUM_GTESTS_BUILDER_GROUPS;
 }
 
 function currentBuilderGroup()
@@ -524,7 +497,7 @@ function ADD_RESULTS(builds)
         // running that suite anymore.
         // FIXME: Grab which bots run which tests directly from the buildbot JSON instead.
         var lastRunSeconds = builds[builderName].secondsSinceEpoch[0];
-        if ((Date.now() / 1000) - lastRunSeconds > TWO_WEEKS_SECONDS)
+        if ((Date.now() / 1000) - lastRunSeconds > ONE_WEEK_SECONDS)
             continue;
 
         if (json_version >= 4)
index e0fc22f..697c6d9 100644 (file)
@@ -1260,7 +1260,7 @@ function showPopupForBuild(e, builder, index, opt_testName)
 
     var buildNumber = g_resultsByBuilder[builder].buildNumbers[index];
     var master = builderMaster(builder);
-    var buildBasePath = master.getLogPath(builder, buildNumber);
+    var buildBasePath = master.logPath(builder, buildNumber);
 
     html += '<ul><li>' + linkHTMLToOpenWindow(buildBasePath, 'Build log') +
         '</li><li>' +
@@ -2150,7 +2150,7 @@ function loadGPUResultsForBuilder(builder, test, expectationsContainer)
     var failureIndex = indexesForFailures(builder, test)[0];
 
     var buildNumber = g_resultsByBuilder[builder].buildNumbers[failureIndex];
-    var pathToLog = builderMaster(builder).getLogPath(builder, buildNumber) + pathToFailureLog(test);
+    var pathToLog = builderMaster(builder).logPath(builder, buildNumber) + pathToFailureLog(test);
 
     var chromeRevision = g_resultsByBuilder[builder].chromeRevision[failureIndex];
     var builderName = builder.replace(/[^A-Za-z0-9 ]/g, '').replace(/ /g, '_');
@@ -2173,7 +2173,7 @@ function loadNonWebKitResultsForBuilder(builder, test, expectationsContainer)
         // FIXME: This doesn't seem to work anymore. Did the paths change?
         // Once that's resolved, see if we need to try each GTEST_MODIFIERS prefix as well.
         var buildNumber = g_resultsByBuilder[builder].buildNumbers[failureIndexes[i]];
-        var pathToLog = builderMaster(builder).getLogPath(builder, buildNumber) + pathToFailureLog(test);
+        var pathToLog = builderMaster(builder).logPath(builder, buildNumber) + pathToFailureLog(test);
         appendNonWebKitResults(container, pathToLog, 'non-webkit-results');
     }
 }
index c5a5696..ffb4418 100644 (file)
@@ -335,6 +335,9 @@ function testHtmlForTestsWithExpectationsButNoFailures()
 
     g_currentState.showUnexpectedPasses = true;
     g_currentState.showSkipped = true;
+
+    g_crossDashboardState.group = '@ToT - chromium.org';
+    g_crossDashboardState.testType = 'layout-tests';
     
     var container = document.createElement('div');
     container.innerHTML = htmlForTestsWithExpectationsButNoFailures(builder);
@@ -403,6 +406,24 @@ function generateBuildersFromBuilderListHelper(builderList, expectedBuilders, bu
     })
 }
 
+function testGenerateChromiumDepsFyiGpuBuildersFromBuilderList()
+{
+    var builderList = ["Linux Audio", "Linux Release (ATI)", "Linux Release (Intel)", "Mac Release (ATI)", "Win7 Audio", "Win7 Release (ATI)", "Win7 Release (Intel)", "WinXP Debug (NVIDIA)", "WinXP Release (NVIDIA)"];
+    var expectedBuilders = [["Linux Release (ATI)", 2], ["Linux Release (Intel)"], ["Mac Release (ATI)"], ["Win7 Release (ATI)"], ["Win7 Release (Intel)"], ["WinXP Debug (NVIDIA)"], ["WinXP Release (NVIDIA)"] ];
+    generateBuildersFromBuilderListHelper(builderList, expectedBuilders, isChromiumDepsFyiGpuTestRunner);
+}
+
+function testGenerateChromiumTipOfTreeGpuBuildersFromBuilderList()
+{
+    var builderList = ["Chrome Frame Tests", "GPU Linux (NVIDIA)", "GPU Linux (dbg) (NVIDIA)", "GPU Mac", "GPU Mac (dbg)", "GPU Win7 (NVIDIA)", "GPU Win7 (dbg) (NVIDIA)", "Linux Perf",
+        "Linux Tests", "Linux Valgrind", "Mac Builder (dbg)", "Mac10.6 Perf", "Mac10.6 Tests", "Vista Perf", "Vista Tests", "Webkit Linux", "Webkit Linux (dbg)", "Webkit Linux (deps)",
+        "Webkit Linux 32", "Webkit Mac Builder", "Webkit Mac Builder (dbg)", "Webkit Mac Builder (deps)", "Webkit Mac10.5", "Webkit Mac10.5 (dbg)(1)", "Webkit Mac10.5 (dbg)(2)",
+        "Webkit Mac10.6", "Webkit Mac10.6 (dbg)", "Webkit Mac10.6 (deps)", "Webkit Mac10.7", "Webkit Vista", "Webkit Win", "Webkit Win (dbg)(1)", "Webkit Win (dbg)(2)",
+        "Webkit Win (deps)", "Webkit Win Builder", "Webkit Win Builder (dbg)", "Webkit Win Builder (deps)", "Webkit Win7", "Win (dbg)", "Win Builder"];
+    var expectedBuilders = [["GPU Linux (NVIDIA)", 2], ["GPU Linux (dbg) (NVIDIA)"], ["GPU Mac"], ["GPU Mac (dbg)"], ["GPU Win7 (NVIDIA)"], ["GPU Win7 (dbg) (NVIDIA)"]];
+    generateBuildersFromBuilderListHelper(builderList, expectedBuilders, isChromiumTipOfTreeGpuTestRunner);
+}
+
 function testGenerateWebkitBuildersFromBuilderList()
 {
     var builderList = ["Chromium Android Release", "Chromium Linux Release", "Chromium Linux Release (Grid Layout)", "Chromium Linux Release (Perf)", "Chromium Linux Release (Tests)",
@@ -442,6 +463,44 @@ function testGenerateChromiumWebkitDepsBuildersFromBuilderList()
     generateBuildersFromBuilderListHelper(builderList, expectedBuilders, isChromiumWebkitDepsTestRunner);
 }
 
+function testGenerateChromiumDepsGTestBuildersFromBuilderList()
+{
+    var builderList = ["Android Builder", "Chrome Frame Tests (ie6)", "Chrome Frame Tests (ie7)", "Chrome Frame Tests (ie8)", "Interactive Tests (dbg)", "Linux", "Linux Builder (dbg)",
+        "Linux Builder (dbg)(shared)", "Linux Builder x64", "Linux Clang (dbg)", "Linux Sync", "Linux Tests (dbg)(1)", "Linux Tests (dbg)(2)", "Linux Tests (dbg)(shared)", "Linux Tests x64",
+        "Linux x64", "Mac", "Mac 10.5 Tests (dbg)(1)", "Mac 10.5 Tests (dbg)(2)", "Mac 10.5 Tests (dbg)(3)", "Mac 10.5 Tests (dbg)(4)", "Mac 10.6 Tests (dbg)(1)", "Mac 10.6 Tests (dbg)(2)",
+        "Mac 10.6 Tests (dbg)(3)", "Mac 10.6 Tests (dbg)(4)", "Mac Builder", "Mac Builder (dbg)", "Mac10.5 Tests (1)", "Mac10.5 Tests (2)", "Mac10.5 Tests (3)", "Mac10.6 Sync",
+        "Mac10.6 Tests (1)", "Mac10.6 Tests (2)", "Mac10.6 Tests (3)", "NACL Tests", "NACL Tests (x64)", "Vista Tests (1)", "Vista Tests (2)", "Vista Tests (3)", "Win", "Win Aura",
+        "Win Builder", "Win Builder (dbg)", "Win Builder 2010 (dbg)", "Win7 Sync", "Win7 Tests (1)", "Win7 Tests (2)", "Win7 Tests (3)", "Win7 Tests (dbg)(1)", "Win7 Tests (dbg)(2)",
+        "Win7 Tests (dbg)(3)", "Win7 Tests (dbg)(4)", "Win7 Tests (dbg)(5)", "Win7 Tests (dbg)(6)", "XP Tests (1)", "XP Tests (2)", "XP Tests (3)", "XP Tests (dbg)(1)", "XP Tests (dbg)(2)",
+        "XP Tests (dbg)(3)", "XP Tests (dbg)(4)", "XP Tests (dbg)(5)", "XP Tests (dbg)(6)"];
+    var expectedBuilders = [["Interactive Tests (dbg)", 2], ["Linux Tests (dbg)(1)"], ["Linux Tests (dbg)(2)"], ["Linux Tests (dbg)(shared)"], ["Linux Tests x64"], ["Mac 10.5 Tests (dbg)(1)"],
+        ["Mac 10.5 Tests (dbg)(2)"], ["Mac 10.5 Tests (dbg)(3)"], ["Mac 10.5 Tests (dbg)(4)"], ["Mac 10.6 Tests (dbg)(1)"], ["Mac 10.6 Tests (dbg)(2)"], ["Mac 10.6 Tests (dbg)(3)"],
+        ["Mac 10.6 Tests (dbg)(4)"], ["Mac10.5 Tests (1)"], ["Mac10.5 Tests (2)"], ["Mac10.5 Tests (3)"], ["Mac10.6 Tests (1)"], ["Mac10.6 Tests (2)"], ["Mac10.6 Tests (3)"], ["NACL Tests"],
+        ["NACL Tests (x64)"], ["Vista Tests (1)"], ["Vista Tests (2)"], ["Vista Tests (3)"], ["Win7 Tests (1)"], ["Win7 Tests (2)"], ["Win7 Tests (3)"], ["Win7 Tests (dbg)(1)"],
+        ["Win7 Tests (dbg)(2)"], ["Win7 Tests (dbg)(3)"], ["Win7 Tests (dbg)(4)"], ["Win7 Tests (dbg)(5)"], ["Win7 Tests (dbg)(6)"], ["XP Tests (1)"], ["XP Tests (2)"], ["XP Tests (3)"],
+        ["XP Tests (dbg)(1)"], ["XP Tests (dbg)(2)"], ["XP Tests (dbg)(3)"], ["XP Tests (dbg)(4)"], ["XP Tests (dbg)(5)"], ["XP Tests (dbg)(6)"]];
+    generateBuildersFromBuilderListHelper(builderList, expectedBuilders, isChromiumDepsGTestRunner);
+}
+
+function testGenerateChromiumDepsCrosGTestBuildersFromBuilderList()
+{
+    var builderList = ["ChromiumOS (amd64)", "ChromiumOS (arm)", "ChromiumOS (tegra2)", "ChromiumOS (x86)", "Linux ChromiumOS (Clang dbg)", "Linux ChromiumOS Builder", "Linux ChromiumOS Builder (dbg)",
+        "Linux ChromiumOS Tests (1)", "Linux ChromiumOS Tests (2)", "Linux ChromiumOS Tests (dbg)(1)", "Linux ChromiumOS Tests (dbg)(2)", "Linux ChromiumOS Tests (dbg)(3)"];
+    var expectedBuilders = [["Linux ChromiumOS Tests (1)", 2], ["Linux ChromiumOS Tests (2)"], ["Linux ChromiumOS Tests (dbg)(1)"], ["Linux ChromiumOS Tests (dbg)(2)"], ["Linux ChromiumOS Tests (dbg)(3)"]];
+    generateBuildersFromBuilderListHelper(builderList, expectedBuilders, isChromiumDepsCrosGTestRunner);
+}
+
+function testGenerateChromiumTipOfTreeGTestBuildersFromBuilderList()
+{
+    var builderList = ["Chrome Frame Tests", "GPU Linux (NVIDIA)", "GPU Linux (dbg) (NVIDIA)", "GPU Mac", "GPU Mac (dbg)", "GPU Win7 (NVIDIA)", "GPU Win7 (dbg) (NVIDIA)", "Linux Perf",
+        "Linux Tests", "Linux Valgrind", "Mac Builder (dbg)", "Mac10.6 Perf", "Mac10.6 Tests", "Vista Perf", "Vista Tests", "Webkit Linux", "Webkit Linux (dbg)", "Webkit Linux (deps)",
+        "Webkit Linux 32", "Webkit Mac Builder", "Webkit Mac Builder (dbg)", "Webkit Mac Builder (deps)", "Webkit Mac10.5", "Webkit Mac10.5 (dbg)(1)", "Webkit Mac10.5 (dbg)(2)",
+        "Webkit Mac10.6", "Webkit Mac10.6 (dbg)", "Webkit Mac10.6 (deps)", "Webkit Mac10.7", "Webkit Vista", "Webkit Win", "Webkit Win (dbg)(1)", "Webkit Win (dbg)(2)",
+        "Webkit Win (deps)", "Webkit Win Builder", "Webkit Win Builder (dbg)", "Webkit Win Builder (deps)", "Webkit Win7", "Win (dbg)", "Win Builder"];
+    var expectedBuilders = [['Linux Tests', BuilderGroup.DEFAULT_BUILDER], ['Mac10.6 Tests'], ['Vista Tests'], ['Win (dbg)']];
+    generateBuildersFromBuilderListHelper(builderList, expectedBuilders, isChromiumTipOfTreeGTestRunner);
+}
+
 function assertObjectsDeepEqual(a, b)
 {
     assertEquals(Object.keys(a).length, Object.keys(b).length);
index fc6b17f..dd85053 100644 (file)
@@ -284,7 +284,7 @@ function updateBuildInspector(results, builder, dygraph, index)
     var buildNumber = results[BUILD_NUMBERS_KEY][index];
     addRow('', '');
     var master = builderMaster(builder);
-    var buildUrl = master.getLogPath(builder, results[BUILD_NUMBERS_KEY][index]);
+    var buildUrl = master.logPath(builder, results[BUILD_NUMBERS_KEY][index]);
     if (master == WEBKIT_BUILDER_MASTER) {
         var resultsUrl = 'http://build.webkit.org/results/' + builder + '/r' + results[WEBKIT_REVISIONS_KEY][index] +
             ' (' + results[BUILD_NUMBERS_KEY][index] + ')';