Displaying error message in queue if fails

This commit is contained in:
Gaël Métais
2014-12-29 22:55:52 +01:00
parent f601044645
commit be2911707c
6 changed files with 61 additions and 15 deletions
+5 -1
View File
@@ -1,7 +1,11 @@
.status {
margin: 2em;
margin-top: 2em;
font-size: 2.5em;
}
.statusSubMessage {
font-size: 0.8em;
margin-bottom: 6em;
}
.queueLink {
color: #FFF;
}
@@ -12,6 +12,8 @@ dashboardCtrl.controller('DashboardCtrl', ['$scope', '$rootScope', '$routeParams
$rootScope.loadedResult = result;
$scope.result = result;
init();
}, function(err) {
alert('aie');
});
} else {
$scope.result = $rootScope.loadedResult;
+6 -1
View File
@@ -1,8 +1,13 @@
.status {
margin: 2em;
margin-top: 2em;
font-size: 2.5em;
}
.statusSubMessage {
font-size: 0.8em;
margin-bottom: 6em;
}
.queueLink {
color: #FFF;
}
+19 -8
View File
@@ -1,14 +1,25 @@
<p>Tested url: &nbsp; <a href="{{url}}" target="_blank" class="testedUrl">{{url}}</a></p>
<div ng-if="status.statusCode == 'failed'">
<div class="status">Test failed :(</div>
<div class="status">Test failed</div>
<p class="statusSubMessage">{{status.error}}</p>
<p><a class="queueLink" href="https://github.com/gmetais/YellowLabTools/issues" target="_blank">Report a bug on GitHub</a></p>
<p><a class="queueLink" href="/">Back to index</a></p>
</div>
<div class="status" ng-if="status.statusCode == 'awaiting'">
<ng-pluralize count="status.position" when="{
'one': 'Waiting behind 1 other test',
'other': 'Waiting behind {} other tests'}">
</ng-pluralize></div>
<div class="status" ng-if="status.statusCode == 'running'">Test is running...</div>
<div class="status" ng-if="status.statusCode == 'complete'">Test complete</div>
<div ng-if="status.statusCode == 'awaiting'">
<div class="status">
<ng-pluralize count="status.position" when="{
'one': 'Waiting behind 1 other test',
'other': 'Waiting behind {} other tests'}">
</ng-pluralize>
</div>
<p class="statusSubMessage">(auto-refresh activated)</p>
</div>
<div ng-if="status.statusCode == 'running'">
<div class="status">Test is running...</div>
<p class="statusSubMessage">(auto-refresh activated)</p>
</div>
<div ng-if="status.statusCode == 'complete'">
<div class="status">Test complete</div>
<p class="statusSubMessage">Opening results...</p>
</div>
+2 -3
View File
@@ -75,10 +75,9 @@ var ApiController = function(app) {
}).fail(function(err) {
console.error('Test failed for %s', run.params.url);
console.error(err);
console.error(err.stack);
console.error(err.toString());
runsDatastore.markAsFailed(run.runId);
runsDatastore.markAsFailed(run.runId, err.toString());
}).finally(function() {
queue.remove(run.runId);
+27 -2
View File
@@ -53,11 +53,36 @@ function RunsDatastore() {
};
this.markAsFailed = function(runId) {
this.markAsFailed = function(runId, err) {
var run = runs[runId];
var errorMessage;
switch(err) {
case '252':
errorMessage = "Error 252: page timeout in Phantomas";
break;
case '253':
errorMessage = "Error 253: Phantomas config error";
break;
case '254':
errorMessage = "Error 254: page loading failed in Phantomas";
break;
case '255':
errorMessage = "Error 255: Phantomas error";
break;
case '1001':
errorMessage = "Error 1001: JavaScript profiling failed";
break;
case '1002':
errorMessage = "Error 1002: missing Phantomas metrics";
break;
default:
errorMessage = err;
}
run.status = {
statusCode: STATUS_FAILED
statusCode: STATUS_FAILED,
error: errorMessage
};
runs[runId] = run;