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

Unified Diff: Tools/GardeningServer/ui/ct-results-detail.html

Issue 416673003: Show non-webkit test failures in the failure stream (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: add files accidentally left out Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: Tools/GardeningServer/ui/ct-results-detail.html
diff --git a/Tools/GardeningServer/ui/ct-results-detail.html b/Tools/GardeningServer/ui/ct-results-detail.html
index 70c40f2208aef333ad7635f242cbfc964ea0fe32..b253fffbc41b73e478775255cc48c798e9cf93b5 100644
--- a/Tools/GardeningServer/ui/ct-results-detail.html
+++ b/Tools/GardeningServer/ui/ct-results-detail.html
@@ -6,7 +6,7 @@ found in the LICENSE file.
<link rel="import" href="ct-results-comparison.html">
-<polymer-element name="ct-results-detail" attributes="test builder result">
+<polymer-element name="ct-results-detail" attributes="failure builder">
<template>
<style>
:host {
@@ -28,14 +28,12 @@ found in the LICENSE file.
</template>
<script>
Polymer({
- test: '',
+ failure: null,
// FIXME: Initializing builder gives a JS error. Presumably because
// ct-results-by-builder sets builder="{{builders[selected]}}". But,
// it seems wrong that the way the parent uses this element constrains
// what the element can do. Polymer bug?
// builder: '',
- // FIXME: Initializing result gives a JS error like above.
- // result: '',
_urlGroups: [],
_kExpectedKind: results.kExpectedKind,
@@ -44,16 +42,30 @@ found in the LICENSE file.
_kUnknownKind: results.kUnknownKind,
observe: {
- result: '_update',
- test: '_update',
+ failure: '_update',
builder: '_update',
},
_update: function() {
- if (!this.test || !this.builder || !this.result)
+ if (!this.failure || !this.builder)
return;
- var failureInfo = results.failureInfo(this.test, this.builder, this.result);
+ // FIXME: If the types of groups doesn't change, then it'd be better to do this
+ // update in place so that the user doesn't see a flicker.
+ this._urlGroups = [];
+
+ var result = this.failure.resultNodesByBuilder[this.builder];
+ // FIXME: There's probably a less hacky way to check this.
+ if (result.actual == 'FAIL' || result.actual == 'UNKNOWN')
+ this._updateUrls();
+ else
+ this._updateWebkitTestUrls();
+ },
+
+ _updateWebkitTestUrls: function() {
+ var result = this.failure.resultNodesByBuilder[this.builder];
+ var failureInfo = results.failureInfo(this.failure.testName, this.builder, result.actual);
+
// FIXME: Move this logic to a proper model class so that the network requests this makes
// can be easily mocked out in tests.
results.fetchResultsURLs(failureInfo).then(function(resultsUrls) {
@@ -65,7 +77,6 @@ found in the LICENSE file.
resultsUrlsByTypeAndKind[resultType][results.resultKind(url)] = url;
});
- this._urlGroups = [];
Object.keys(resultsUrlsByTypeAndKind, function(resultType, resultsUrlsByKind) {
this._urlGroups.push({
type: resultType,
@@ -74,6 +85,27 @@ found in the LICENSE file.
}.bind(this));
}.bind(this));
},
+
+ _updateUrls: function() {
+ var result = this.failure.resultNodesByBuilder[this.builder];
+
+ // FIXME: We only store build logs by the test name, not the testsuite.testname,
+ // which means that two failing tests from different test suites conflict!
+ var testPart = result.actual == 'UNKNOWN' ? 'stdio' : this.failure.testName.split('.')[1];
+ var url = result.masterUrl +
+ '/builders/' + encodeURIComponent(this.builder) +
+ '/builds/' + result.lastFailingBuild +
+ '/steps/' + this.failure.step +
+ '/logs/' + testPart;
abarth-chromium 2014/07/29 16:38:17 Should this work be done by some model object? Ha
ojan 2014/07/30 04:14:17 Absolutely, but so should the pre-existing code he
+
+ var resultsUrlsByKind = {};
+ resultsUrlsByKind[this._kUnknownKind] = url;
+
+ this._urlGroups.push({
+ type: results.kTextType,
+ urls: resultsUrlsByKind,
+ });
+ },
});
</script>
</polymer-element>

Powered by Google App Engine
This is Rietveld 408576698