Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Needed to make filters visible inside sortable-table. | |
|
ojan
2014/07/22 02:01:26
Copyright
| |
| 2 PolymerExpressions.prototype.since_string = function(value) { | |
|
ojan
2014/07/22 02:01:27
Why do you need to do this? Can't you define a sin
| |
| 3 // Buildbot talks to us in seconds, js expect milliseconds | |
| 4 date = new Date(value * 1000.0); | |
| 5 return humanized_time_span(date); | |
| 6 } | |
| 7 PolymerExpressions.prototype.falsy_to_empty = function(value) { | |
| 8 return value ? value : ''; | |
|
ojan
2014/07/22 02:01:27
Nit: Idiomatic JS for this is:
return value || '';
| |
| 9 } | |
| 10 PolymerExpressions.prototype.master_name = function(value) { | |
| 11 if (!value) | |
| 12 return 'foo'; | |
|
ojan
2014/07/22 02:01:26
Log a warning and return something better?
| |
| 13 var url_parts = value.split('/'); | |
| 14 var long_name = url_parts[url_parts.length - 1]; | |
| 15 if (long_name.indexOf('chromium.') == 0) { | |
| 16 return long_name.slice('chromium.'.length); | |
| 17 } | |
| 18 return long_name; | |
| 19 } | |
| 20 PolymerExpressions.prototype.builder_url = function(failure) { | |
| 21 return failure.master_url + '/builders/' + failure.builder_name; | |
| 22 } | |
| 23 PolymerExpressions.prototype.build_url = function(failure, build_number) { | |
| 24 return PolymerExpressions.prototype.builder_url(failure) + '/builds/' + build_ number; | |
| 25 } | |
| 26 PolymerExpressions.prototype.step_url = function(failure, build_number) { | |
| 27 return PolymerExpressions.prototype.build_url(failure, build_number) + '/steps /' + failure.step_name; | |
| 28 } | |
| 29 PolymerExpressions.prototype.stdio_url = function(failure, build_number) { | |
| 30 return PolymerExpressions.prototype.step_url(failure, build_number) + '/logs/s tdio'; | |
| 31 } | |
| 32 | |
| 33 // This map is matches the test-results code: | |
| 34 // https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit /Tools/TestResultServer/handlers/buildershandler.py&l=40 | |
| 35 var MASTERS = [ | |
|
ojan
2014/07/22 02:01:26
This is fine for now, but add a FIXME to use test-
| |
| 36 {'name': 'ChromiumWin', 'url_name': 'chromium.win', 'groups': ['@ToT Chromiu m']}, | |
| 37 {'name': 'ChromiumMac', 'url_name': 'chromium.mac', 'groups': ['@ToT Chromiu m']}, | |
| 38 {'name': 'ChromiumLinux', 'url_name': 'chromium.linux', 'groups': ['@ToT Chr omium']}, | |
| 39 {'name': 'ChromiumChromiumOS', 'url_name': 'chromium.chromiumos', 'groups': ['@ToT ChromeOS']}, | |
| 40 {'name': 'ChromiumGPU', 'url_name': 'chromium.gpu', 'groups': ['@ToT Chromiu m']}, | |
| 41 {'name': 'ChromiumGPUFYI', 'url_name': 'chromium.gpu.fyi', 'groups': ['@ToT Chromium FYI']}, | |
| 42 {'name': 'ChromiumWebkit', 'url_name': 'chromium.webkit', 'groups': ['@ToT C hromium', '@ToT Blink']}, | |
| 43 {'name': 'ChromiumFYI', 'url_name': 'chromium.fyi', 'groups': ['@ToT Chromiu m FYI']}, | |
| 44 {'name': 'GpuTryServer', 'url_name': 'tryserver.chromium.gpu', 'groups': ['T ryServers']}, | |
| 45 {'name': 'V8', 'url_name': 'client.v8', 'groups': ['@ToT V8']}, | |
| 46 ]; | |
| 47 | |
| 48 function masterNameFromURL(master_url) { | |
| 49 var parts = master_url.trimRight('/').split('/') | |
| 50 return parts[parts.length - 1] | |
| 51 } | |
| 52 | |
| 53 // FIXME: test-results supports multiple 'groups' but it's an unused feature. | |
| 54 // It's not clear that any given waterfall should ever be in more than one 'tree '. | |
| 55 function groupForMaster(master_url) { | |
| 56 var name = masterNameFromURL(master_url); | |
| 57 for (var x = 0; x < MASTERS.length; ++x) { | |
| 58 var record = MASTERS[x]; | |
| 59 if (record['url_name'] == name) | |
| 60 return record['groups'][0]; | |
| 61 } | |
| 62 } | |
| 63 | |
| 64 PolymerExpressions.prototype.flakiness_dashboard_url = function(test_name, step_ name, master_url) { | |
| 65 if (!test_name) | |
| 66 return ''; | |
| 67 if (step_name.indexOf('test') == -1) | |
| 68 return ''; | |
| 69 return "http://test-results.appspot.com/dashboards/flakiness_dashboard.html#" | |
| 70 + "testType=" + step_name | |
| 71 + "&tests=" + encodeURIComponent(test_name) | |
| 72 + "&group=" + groupForMaster(master_url); | |
|
ojan
2014/07/22 02:01:26
This also needs to be encoded. FWIW, with sugarjs
| |
| 73 } | |
| OLD | NEW |