Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: Tools/GardeningServer/scripts/results.js

Issue 23521006: Rework garden-o-matic to fetch lists of builds from googlestorage properly. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: lint Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | Tools/GardeningServer/scripts/results_unittests.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 11 matching lines...) Expand all
22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 * THE POSSIBILITY OF SUCH DAMAGE. 23 * THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 var results = results || {}; 26 var results = results || {};
27 27
28 (function() { 28 (function() {
29 29
30 var kResultsName = 'failing_results.json'; 30 var kResultsName = 'failing_results.json';
31 31
32 var kBuildLinkRegexp = /a href="\d+\/"/g;
33 var kBuildNumberRegexp = /\d+/;
34
35 var PASS = 'PASS'; 32 var PASS = 'PASS';
36 var TIMEOUT = 'TIMEOUT'; 33 var TIMEOUT = 'TIMEOUT';
37 var TEXT = 'TEXT'; 34 var TEXT = 'TEXT';
38 var CRASH = 'CRASH'; 35 var CRASH = 'CRASH';
39 var IMAGE = 'IMAGE'; 36 var IMAGE = 'IMAGE';
40 var IMAGE_TEXT = 'IMAGE+TEXT'; 37 var IMAGE_TEXT = 'IMAGE+TEXT';
41 var AUDIO = 'AUDIO'; 38 var AUDIO = 'AUDIO';
42 var MISSING = 'MISSING'; 39 var MISSING = 'MISSING';
43 40
44 var kFailingResults = [TEXT, IMAGE_TEXT, AUDIO]; 41 var kFailingResults = [TEXT, IMAGE_TEXT, AUDIO];
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 179
183 results.directoryForBuilder = function(builderName) 180 results.directoryForBuilder = function(builderName)
184 { 181 {
185 return config.kPlatforms[config.currentPlatform].resultsDirectoryNameFromBui lderName(builderName); 182 return config.kPlatforms[config.currentPlatform].resultsDirectoryNameFromBui lderName(builderName);
186 } 183 }
187 184
188 function resultsDirectoryURL(platform, builderName) 185 function resultsDirectoryURL(platform, builderName)
189 { 186 {
190 if (config.useLocalResults) 187 if (config.useLocalResults)
191 return '/localresult?path='; 188 return '/localresult?path=';
192 return resultsDirectoryListingURL(platform, builderName) + 'results/layout-t est-results/'; 189 return layoutTestResultsURL(platform) + '/' + results.directoryForBuilder(bu ilderName) + '/results/layout-test-results/';
193 } 190 }
194 191
195 function resultsDirectoryListingURL(platform, builderName) 192 function resultsPrefixListingURL(platform, builderName)
196 { 193 {
197 return layoutTestResultsURL(platform) + '/' + results.directoryForBuilder(bu ilderName) + '/'; 194 return layoutTestResultsURL(platform) + '/?prefix=' + results.directoryForBu ilder(builderName) + '/&delimiter=/';
198 } 195 }
199 196
200 function resultsDirectoryURLForBuildNumber(platform, builderName, buildNumber) 197 function resultsDirectoryURLForBuildNumber(platform, builderName, buildNumber)
201 { 198 {
202 return resultsDirectoryListingURL(platform, builderName) + buildNumber + '/' ; 199 return layoutTestResultsURL(platform) + '/' + results.directoryForBuilder(bu ilderName) + '/' + buildNumber + '/' ;
203 } 200 }
204 201
205 function resultsSummaryURL(platform, builderName) 202 function resultsSummaryURL(platform, builderName)
206 { 203 {
207 return resultsDirectoryURL(platform, builderName) + kResultsName; 204 return resultsDirectoryURL(platform, builderName) + kResultsName;
208 } 205 }
209 206
210 function resultsSummaryURLForBuildNumber(platform, builderName, buildNumber) 207 function resultsSummaryURLForBuildNumber(platform, builderName, buildNumber)
211 { 208 {
212 return resultsDirectoryURLForBuildNumber(platform, builderName, buildNumber) + kResultsName; 209 return resultsDirectoryURLForBuildNumber(platform, builderName, buildNumber) + kResultsName;
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 $.each(dictionaryOfResultNodes, function(key, resultNode) { 322 $.each(dictionaryOfResultNodes, function(key, resultNode) {
326 var analyzer = new results.ResultAnalyzer(resultNode); 323 var analyzer = new results.ResultAnalyzer(resultNode);
327 collectedResults = collectedResults.concat(analyzer.unexpectedResults()) ; 324 collectedResults = collectedResults.concat(analyzer.unexpectedResults()) ;
328 }); 325 });
329 return base.uniquifyArray(collectedResults); 326 return base.uniquifyArray(collectedResults);
330 }; 327 };
331 328
332 // Callback data is [{ buildNumber:, url: }] 329 // Callback data is [{ buildNumber:, url: }]
333 function historicalResultsLocations(platform, builderName, callback) 330 function historicalResultsLocations(platform, builderName, callback)
334 { 331 {
335 var listingURL = resultsDirectoryListingURL(platform, builderName); 332 var listingURL = resultsPrefixListingURL(platform, builderName);
336 net.get(listingURL, function(directoryListing) { 333 net.get(listingURL, function(prefixListingDocument) {
337 var historicalResultsData = directoryListing.match(kBuildLinkRegexp).map (function(buildLink) { 334 var historicalResultsData = [];
338 var buildNumber = parseInt(buildLink.match(kBuildNumberRegexp)[0]); 335 $(prefixListingDocument).find("Prefix").each(function() {
339 var resultsData = { 336 var buildString = this.textContent.replace(results.directoryForBuild er(builderName) + '/', '');
340 'buildNumber': buildNumber, 337 if (buildString.match(/\d+\//)) {
341 'url': resultsSummaryURLForBuildNumber(platform, builderName, bu ildNumber) 338 var buildNumber = parseInt(buildString);
342 }; 339 var resultsData = {
343 return resultsData; 340 'buildNumber': buildNumber,
344 }).reverse(); 341 'url': resultsSummaryURLForBuildNumber(platform, builderName , buildNumber)
345 342 };
343 historicalResultsData.unshift(resultsData);
344 }
345 });
346 callback(historicalResultsData); 346 callback(historicalResultsData);
347 }); 347 });
348 } 348 }
349 349
350 function walkHistory(platform, builderName, testName, callback) 350 function walkHistory(platform, builderName, testName, callback)
351 { 351 {
352 var indexOfNextKeyToFetch = 0; 352 var indexOfNextKeyToFetch = 0;
353 var keyList = []; 353 var keyList = [];
354 354
355 function continueWalk() 355 function continueWalk()
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 $.each(builderNameList, function(index, builderName) { 541 $.each(builderNameList, function(index, builderName) {
542 var resultsURL = resultsSummaryURL(config.currentPlatform, builderName); 542 var resultsURL = resultsSummaryURL(config.currentPlatform, builderName);
543 net.jsonp(resultsURL, function(resultsTree) { 543 net.jsonp(resultsURL, function(resultsTree) {
544 resultsByBuilder[builderName] = resultsTree; 544 resultsByBuilder[builderName] = resultsTree;
545 tracker.requestComplete(); 545 tracker.requestComplete();
546 }); 546 });
547 }); 547 });
548 }; 548 };
549 549
550 })(); 550 })();
OLDNEW
« no previous file with comments | « no previous file | Tools/GardeningServer/scripts/results_unittests.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698