Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions lib/collector/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ module.exports = class Collector {
}

addFail(result) {
const {startTime, duration, err: {message, stack}} = result;
const {err: {message, stack}} = result;

this._addTestResult(result, {
status: 'fail',
errorReason: {message, stack},
retries: [{message, stack, startTime, duration}]
retries: []
});
}

Expand All @@ -39,16 +39,22 @@ module.exports = class Collector {
}

addRetry(result) {
this.addFail(result);
const {startTime, duration, err: {message, stack}} = result;

this._addTestResult(result, {
status: 'fail',
errorReason: {message, stack},
retries: [{message, stack, startTime, duration}]
});
}

addError(result) {
const {message, stack, startTime, duration} = result;
const {message, stack} = result;

this._addTestResult(result, {
status: 'error',
errorReason: {message, stack},
retries: [{message, stack, startTime, duration}]
retries: []
});
}

Expand Down
35 changes: 29 additions & 6 deletions test/lib/collector/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,12 +86,7 @@ describe('collector/index', () => {
startTime: data.startTime,
duration: data.duration,
errorReason: {message: testError.message, stack: testError.stack},
retries: [{
message: testError.message,
stack: testError.stack,
startTime: data.startTime,
duration: data.duration
}]
retries: []
}});
});
});
Expand All @@ -114,6 +109,34 @@ describe('collector/index', () => {
});
});

it('should save one retry for test that failed after one retry', () => {
const testRetryError = new Promise.OperationalError('test retry');
const testFailError = new Promise.OperationalError('test fail');
const dataRetry = {fullName: 'some name', browserId: 'bro', err: testRetryError, startTime: 1000, duration: 500};
const dataFail = {fullName: 'some name', browserId: 'bro', err: testFailError, startTime: 1000, duration: 500};
const collector = mkCollector_();

collector.addRetry(dataRetry);
collector.addFail(dataFail);

return saveReport_(collector).then((result) => {
assert.deepEqual(result, {'some name.bro': {
fullName: 'some name',
browserId: 'bro',
status: 'fail',
errorReason: {message: testFailError.message, stack: testFailError.stack},
startTime: dataFail.startTime,
duration: dataFail.duration,
retries: [{
message: testRetryError.message,
stack: testRetryError.stack,
startTime: dataRetry.startTime,
duration: dataRetry.duration
}]
}});
});
});

it('should add failed test if the retry fails', () => {
const testError = new Promise.OperationalError('test');
const data = {fullName: 'some name', browserId: 'bro', err: testError, startTime: 1000, duration: 500};
Expand Down