blob: 5504c844fe2f6f029b87e9360ce39da7d802b30c [file] [log] [blame]
/*
* Copyright (C) 2011 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
var config = config || {};
(function() {
config.kBuildNumberLimit = 20;
config.kPlatforms = {
'apple' : {
label : 'Apple',
buildConsoleURL: 'https://build.webkit.org',
layoutTestResultsURL: 'https://build.webkit.org/results',
waterfallURL: 'https://build.webkit.org/waterfall',
builders: {
'Apple Lion Release WK1 (Tests)' : {version: 'lion' },
'Apple Lion Debug WK1 (Tests)' : {version: 'lion', debug: true},
'Apple Lion Release WK2 (Tests)' : {version: 'lion' },
'Apple Lion Debug WK2 (Tests)' : {version: 'lion', debug: true},
'Apple MountainLion Release WK1 (Tests)' : {version: 'mountainlion' },
'Apple MountainLion Debug WK1 (Tests)' : {version: 'mountainlion', debug: true},
'Apple MountainLion Release WK2 (Tests)' : {version: 'mountainlion' },
'Apple MountainLion Debug WK2 (Tests)' : {version: 'mountainlion', debug: true},
// 'Apple Win XP Debug (Tests)' : {version: 'xp',debug: true},
// 'Apple Win 7 Release (Tests)' : {version: 'win7'},
},
haveBuilderAccumulatedResults : false,
useDirectoryListingForOldBuilds: false,
useFlakinessDashboard: false,
resultsDirectoryNameFromBuilderName: function(builderName) {
return encodeURIComponent(builderName);
},
resultsDirectoryForBuildNumber: function(buildNumber, revision) {
return encodeURIComponent('r' + revision + ' (' + buildNumber + ')');
},
_builderApplies: function(builderName) {
return builderName.indexOf('Apple') !== -1;
},
},
'gtk' : {
label : 'GTK',
buildConsoleURL: 'https://build.webkit.org',
layoutTestResultsURL: 'https://build.webkit.org/results',
waterfallURL: 'https://build.webkit.org/waterfall',
builders: {
'GTK Linux 64-bit Release (Tests)' : {version: '64-bit release'},
'GTK Linux 64-bit Debug (Tests)' : {version: '64-bit debug', debug: true},
},
haveBuilderAccumulatedResults : false,
useDirectoryListingForOldBuilds: false,
useFlakinessDashboard: false,
resultsDirectoryNameFromBuilderName: function(builderName) {
return encodeURIComponent(builderName);
},
resultsDirectoryForBuildNumber: function(buildNumber, revision) {
return encodeURIComponent('r' + revision + ' (' + buildNumber + ')');
},
_builderApplies: function(builderName) {
return builderName.indexOf('GTK') !== -1;
},
},
'wpe' : {
label : 'WPE',
buildConsoleURL: 'https://build.webkit.org',
layoutTestResultsURL: 'https://build.webkit.org/results',
waterfallURL: 'https://build.webkit.org/waterfall',
builders: {
'WPE Linux 64-bit Release (Tests)' : {version: '64-bit release'},
},
haveBuilderAccumulatedResults : false,
useDirectoryListingForOldBuilds: false,
useFlakinessDashboard: false,
resultsDirectoryNameFromBuilderName: function(builderName) {
return encodeURIComponent(builderName);
},
resultsDirectoryForBuildNumber: function(buildNumber, revision) {
return encodeURIComponent('r' + revision + ' (' + buildNumber + ')');
},
_builderApplies: function(builderName) {
return builderName.indexOf('WPE') !== -1;
},
},
};
config.kTracURL = 'https://trac.webkit.org';
config.kBugzillaURL = 'https://bugs.webkit.org';
config.kRevisionAttr = 'data-revision';
config.kTestNameAttr = 'data-test-name';
config.kBuilderNameAttr = 'data-builder-name';
config.kFailureCountAttr = 'data-failure-count';
config.kFailureTypesAttr = 'data-failure-types';
config.kInfobarTypeAttr = 'data-infobar-type';
var kTenMinutesInMilliseconds = 10 * 60 * 1000;
config.kUpdateFrequency = kTenMinutesInMilliseconds;
config.kRelativeTimeUpdateFrequency = 1000 * 60;
config.kExperimentalFeatures = window.location.search.search('enableExperiments=1') != -1;
config.currentPlatform = base.getURLParameter('platform') || 'apple';
// FIXME: We should add a way to restrict the results to a subset of the builders
// (or maybe just a single builder) in the UI as well as via an URL parameter.
config.currentBuilder = base.getURLParameter('builder');
config.currentBuilders = function() {
var current_builders = {};
if (config.currentBuilder) {
current_builders[config.currentBuilder] = config.kPlatforms[config.currentPlatform].builders[config.currentBuilder];
return current_builders;
} else {
return config.kPlatforms[config.currentPlatform].builders;
}
};
config.builderApplies = function(builderName) {
if (config.currentBuilder)
return builderName == config.currentBuilder;
return config.kPlatforms[config.currentPlatform]._builderApplies(builderName);
};
config.setPlatform = function(platform) {
if (!this.kPlatforms[platform]) {
window.console.log(platform + ' is not a recognized platform');
return;
}
config.currentPlatform = platform;
};
config.useLocalResults = Boolean(base.getURLParameter('useLocalResults')) || false;
})();