diff --git a/lib/static/modules/group-errors.js b/lib/static/modules/group-errors.js index c1e8b4717..efbc495c7 100644 --- a/lib/static/modules/group-errors.js +++ b/lib/static/modules/group-errors.js @@ -64,10 +64,13 @@ function extractErrorsFromRetries(retries) { const errorsInRetry = new Set(); for (const retry of retries) { - for (const {error} of [...retry.imagesInfo, retry]) { + for (const {error, diffImg} of [...retry.imagesInfo, retry]) { if (get(error, 'message')) { errorsInRetry.add(error.message); } + if (diffImg) { + errorsInRetry.add('image comparison failed'); + } } } return [...errorsInRetry]; diff --git a/test/lib/static/modules/group-errors.js b/test/lib/static/modules/group-errors.js index c62aab152..23cbdf727 100644 --- a/test/lib/static/modules/group-errors.js +++ b/test/lib/static/modules/group-errors.js @@ -8,6 +8,7 @@ const { mkSuiteTree, mkTestResult } = require('../../../utils'); +const {mkImg_} = require('../components/utils'); describe('static/modules/group-errors', () => { it('should not collect errors from success test', () => { @@ -75,6 +76,29 @@ describe('static/modules/group-errors', () => { ]); }); + it('should collect image comparison fails', () => { + const suites = [ + mkSuiteTree({ + browsers: [ + mkBrowserResult({ + result: mkTestResult({ + imagesInfo: [ + {diffImg: mkImg_()} + ] + }) + }) + ] + }) + ]; + + const result = groupErrors({suites}); + + assert.strictEqual(result.length, 1); + assert.strictEqual(result[0].count, 1); + assert.strictEqual(result[0].name, 'image comparison failed'); + assert.strictEqual(result[0].pattern, 'image comparison failed'); + }); + it('should collect errors from result and retries', () => { const suites = [ mkSuiteTree({