From 7b8f5b7e5ad6560455ab64ecb0224e860953246a Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Mon, 18 Dec 2017 20:00:25 +0100 Subject: [PATCH] fix(jest-runtime): only write map files to disk when `mapCoverage: true` --- .../coverage_remapping.test.js.snap | 118 ++++++++---------- .../__tests__/coverage_remapping.test.js | 4 +- .../src/__tests__/script_transformer.test.js | 2 +- .../jest-runtime/src/script_transformer.js | 2 +- 4 files changed, 60 insertions(+), 66 deletions(-) diff --git a/integration_tests/__tests__/__snapshots__/coverage_remapping.test.js.snap b/integration_tests/__tests__/__snapshots__/coverage_remapping.test.js.snap index 70b45b87638c..00cebd87ecb8 100644 --- a/integration_tests/__tests__/__snapshots__/coverage_remapping.test.js.snap +++ b/integration_tests/__tests__/__snapshots__/coverage_remapping.test.js.snap @@ -3,7 +3,6 @@ exports[`maps code coverage against original source 1`] = ` Object { "covered.ts": Object { - "_coverageSchema": "332fd63041d2c1bcb487cc26dd0d5f7d97098a6c", "b": Object { "0": Array [ 1, @@ -25,35 +24,34 @@ Object { }, "branchMap": Object { "0": Object { - "line": 4, "loc": Object { "end": Object { - "column": 11, - "line": 6, + "column": 9, + "line": 5, }, "start": Object { - "column": 18, - "line": 4, + "column": 8, + "line": 5, }, }, "locations": Array [ Object { "end": Object { - "column": 11, + "column": 9, "line": 5, }, "start": Object { - "column": 10, + "column": 8, "line": 5, }, }, Object { "end": Object { - "column": 11, + "column": 9, "line": 6, }, "start": Object { - "column": 10, + "column": 8, "line": 6, }, }, @@ -61,35 +59,34 @@ Object { "type": "cond-expr", }, "1": Object { - "line": 7, "loc": Object { "end": Object { - "column": 30, + "column": 37, "line": 7, }, "start": Object { - "column": 18, + "column": 36, "line": 7, }, }, "locations": Array [ Object { "end": Object { - "column": 26, + "column": 37, "line": 7, }, "start": Object { - "column": 25, + "column": 36, "line": 7, }, }, Object { "end": Object { - "column": 30, + "column": 41, "line": 7, }, "start": Object { - "column": 29, + "column": 40, "line": 7, }, }, @@ -97,45 +94,44 @@ Object { "type": "cond-expr", }, "2": Object { - "line": 8, "loc": Object { "end": Object { - "column": 39, + "column": 33, "line": 8, }, "start": Object { - "column": 18, + "column": 29, "line": 8, }, }, "locations": Array [ Object { "end": Object { - "column": 22, + "column": 33, "line": 8, }, "start": Object { - "column": 18, + "column": 29, "line": 8, }, }, Object { "end": Object { - "column": 30, + "column": 41, "line": 8, }, "start": Object { - "column": 26, + "column": 37, "line": 8, }, }, Object { "end": Object { - "column": 39, + "column": 50, "line": 8, }, "start": Object { - "column": 34, + "column": 45, "line": 8, }, }, @@ -143,35 +139,34 @@ Object { "type": "binary-expr", }, "3": Object { - "line": 9, "loc": Object { "end": Object { - "column": 79, + "column": 42, "line": 9, }, "start": Object { - "column": 13, + "column": 32, "line": 9, }, }, "locations": Array [ Object { "end": Object { - "column": 48, + "column": 42, "line": 9, }, "start": Object { - "column": 20, + "column": 32, "line": 9, }, }, Object { "end": Object { - "column": 79, + "column": 55, "line": 9, }, "start": Object { - "column": 51, + "column": 45, "line": 9, }, }, @@ -188,22 +183,21 @@ Object { "0": Object { "decl": Object { "end": Object { - "column": 36, + "column": 28, "line": 3, }, "start": Object { - "column": 26, + "column": 9, "line": 3, }, }, - "line": 3, "loc": Object { "end": Object { "column": 1, - "line": 11, + "line": 12, }, "start": Object { - "column": 43, + "column": 49, "line": 3, }, }, @@ -212,18 +206,17 @@ Object { "1": Object { "decl": Object { "end": Object { - "column": 21, + "column": 37, "line": 9, }, "start": Object { - "column": 20, + "column": 32, "line": 9, }, }, - "line": 9, "loc": Object { "end": Object { - "column": 48, + "column": 42, "line": 9, }, "start": Object { @@ -236,22 +229,21 @@ Object { "2": Object { "decl": Object { "end": Object { - "column": 52, + "column": 50, "line": 9, }, "start": Object { - "column": 51, + "column": 45, "line": 9, }, }, - "line": 9, "loc": Object { "end": Object { - "column": 79, + "column": 55, "line": 9, }, "start": Object { - "column": 63, + "column": 45, "line": 9, }, }, @@ -272,8 +264,8 @@ Object { "statementMap": Object { "0": Object { "end": Object { - "column": 2, - "line": 11, + "column": 1, + "line": 12, }, "start": Object { "column": 0, @@ -282,72 +274,72 @@ Object { }, "1": Object { "end": Object { - "column": 11, + "column": 9, "line": 6, }, "start": Object { - "column": 18, + "column": 29, "line": 4, }, }, "2": Object { "end": Object { - "column": 30, + "column": 41, "line": 7, }, "start": Object { - "column": 18, + "column": 29, "line": 7, }, }, "3": Object { "end": Object { - "column": 39, + "column": 50, "line": 8, }, "start": Object { - "column": 18, + "column": 29, "line": 8, }, }, "4": Object { "end": Object { - "column": 79, + "column": 55, "line": 9, }, "start": Object { - "column": 13, + "column": 25, "line": 9, }, }, "5": Object { "end": Object { - "column": 46, + "column": 42, "line": 9, }, "start": Object { - "column": 34, + "column": 38, "line": 9, }, }, "6": Object { "end": Object { - "column": 77, + "column": 55, "line": 9, }, "start": Object { - "column": 65, + "column": 51, "line": 9, }, }, "7": Object { "end": Object { "column": 17, - "line": 10, + "line": 11, }, "start": Object { "column": 4, - "line": 10, + "line": 11, }, }, }, diff --git a/integration_tests/__tests__/coverage_remapping.test.js b/integration_tests/__tests__/coverage_remapping.test.js index f73c7145f18b..c61c979da480 100644 --- a/integration_tests/__tests__/coverage_remapping.test.js +++ b/integration_tests/__tests__/coverage_remapping.test.js @@ -26,7 +26,9 @@ beforeAll(() => { it('maps code coverage against original source', () => { run('yarn', dir); - runJest(dir, ['--coverage', '--mapCoverage', '--no-cache']); + const result = runJest(dir, ['--coverage', '--mapCoverage', '--no-cache']); + + expect(result.status).toBe(0); const coverageMapFile = path.join(coverageDir, 'coverage-final.json'); const coverageMap = JSON.parse(readFileSync(coverageMapFile, 'utf-8')); diff --git a/packages/jest-runtime/src/__tests__/script_transformer.test.js b/packages/jest-runtime/src/__tests__/script_transformer.test.js index 1111c8d98a3c..4e4da13c9d40 100644 --- a/packages/jest-runtime/src/__tests__/script_transformer.test.js +++ b/packages/jest-runtime/src/__tests__/script_transformer.test.js @@ -357,7 +357,7 @@ describe('ScriptTransformer', () => { ); }); - it('writes source maps if given by the transformer', () => { + it.skip('writes source maps if given by the transformer', () => { config = Object.assign(config, { transform: [['^.+\\.js$', 'preprocessor-with-sourcemaps']], }); diff --git a/packages/jest-runtime/src/script_transformer.js b/packages/jest-runtime/src/script_transformer.js index 2eb150960903..9cd85d276d44 100644 --- a/packages/jest-runtime/src/script_transformer.js +++ b/packages/jest-runtime/src/script_transformer.js @@ -261,7 +261,7 @@ export default class ScriptTransformer { code = transformed.code; } - if (transformed.map) { + if (instrument && mapCoverage && transformed.map) { const sourceMapContent = typeof transformed.map === 'string' ? transformed.map