Skip to content

Commit 99c8881

Browse files
committed
test_runner: require --enable-source-maps for source map coverage
1 parent 3e7eb05 commit 99c8881

2 files changed

Lines changed: 42 additions & 5 deletions

File tree

lib/internal/test_runner/coverage.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ class TestCoverage {
338338
mapCoverageWithSourceMap(coverage) {
339339
const { result } = coverage;
340340
const sourceMapCache = coverage['source-map-cache'];
341-
if (!sourceMapCache) {
341+
if (!this.globalOptions.sourceMaps || !sourceMapCache) {
342342
return result;
343343
}
344344
const newResult = new SafeMap();

test/parallel/test-runner-coverage.js

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,37 @@ test('coverage reports on lines, functions, and branches', skipIfNoInspector, as
289289
});
290290
});
291291

292+
test('coverage without --enable-source-map ignores sourcemaps', skipIfNoInspector, () => {
293+
let report = [
294+
'# start of coverage report',
295+
'# --------------------------------------------------------------',
296+
'# file | line % | branch % | funcs % | uncovered lines',
297+
'# --------------------------------------------------------------',
298+
'# a.test.mjs | 100.00 | 100.00 | 100.00 | ',
299+
'# index.test.js | 71.43 | 66.67 | 100.00 | 6-7',
300+
'# stdin.test.js | 100.00 | 100.00 | 100.00 | ',
301+
'# --------------------------------------------------------------',
302+
'# all files | 85.71 | 87.50 | 100.00 | ',
303+
'# --------------------------------------------------------------',
304+
'# end of coverage report',
305+
].join('\n');
306+
307+
if (common.isWindows) {
308+
report = report.replaceAll('/', '\\');
309+
}
310+
311+
const fixture = fixtures.path('test-runner', 'coverage');
312+
const args = [
313+
'--test',
314+
'--experimental-test-coverage',
315+
'--test-reporter', 'tap',
316+
];
317+
const result = spawnSync(process.execPath, args, { cwd: fixture });
318+
assert.strictEqual(result.stderr.toString(), '');
319+
assert(result.stdout.toString().includes(report));
320+
assert.strictEqual(result.status, 1);
321+
});
322+
292323
test('coverage with source maps', skipIfNoInspector, () => {
293324
let report = [
294325
'# start of coverage report',
@@ -298,9 +329,9 @@ test('coverage with source maps', skipIfNoInspector, () => {
298329
'# a.test.ts | 53.85 | 100.00 | 100.00 | 8-13', // part of a bundle
299330
'# b.test.ts | 55.56 | 100.00 | 100.00 | 1 7-9', // part of a bundle
300331
'# index.test.js | 71.43 | 66.67 | 100.00 | 6-7', // no source map
301-
'# stdin.test.ts | 57.14 | 100.00 | 100.00 | 4-6', // Source map without original file
332+
'# stdin.test.ts | 42.86 | 100.00 | 0.00 | 2 4-6', // Source map without original file
302333
'# --------------------------------------------------------------',
303-
'# all files | 58.33 | 87.50 | 100.00 | ',
334+
'# all files | 55.56 | 85.71 | 66.67 | ',
304335
'# --------------------------------------------------------------',
305336
'# end of coverage report',
306337
].join('\n');
@@ -311,7 +342,10 @@ test('coverage with source maps', skipIfNoInspector, () => {
311342

312343
const fixture = fixtures.path('test-runner', 'coverage');
313344
const args = [
314-
'--test', '--experimental-test-coverage', '--test-reporter', 'tap',
345+
'--enable-source-maps',
346+
'--test',
347+
'--experimental-test-coverage',
348+
'--test-reporter', 'tap',
315349
];
316350
const result = spawnSync(process.execPath, args, { cwd: fixture });
317351

@@ -489,7 +523,10 @@ test('coverage with included and excluded files', skipIfNoInspector, () => {
489523
test('properly accounts for line endings in source maps', skipIfNoInspector, () => {
490524
const fixture = fixtures.path('test-runner', 'source-map-line-lengths', 'index.js');
491525
const args = [
492-
'--test', '--experimental-test-coverage', '--test-reporter', 'tap',
526+
'--enable-source-maps',
527+
'--test',
528+
'--experimental-test-coverage',
529+
'--test-reporter', 'tap',
493530
fixture,
494531
];
495532
const report = [

0 commit comments

Comments
 (0)