Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
fix(v8-to-istanbul): fixes shebang handling/ignore behavior (#267)
  • Loading branch information
bcoe committed Oct 25, 2020
1 parent 225d431 commit 21cd41f
Show file tree
Hide file tree
Showing 6 changed files with 82 additions and 41 deletions.
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -43,7 +43,7 @@
"istanbul-reports": "^3.0.2",
"rimraf": "^3.0.0",
"test-exclude": "^6.0.0",
"v8-to-istanbul": "^6.0.1",
"v8-to-istanbul": "^7.0.0",
"yargs": "^16.0.0",
"yargs-parser": "^20.0.0"
},
Expand Down
8 changes: 8 additions & 0 deletions test/fixtures/shebang.js
@@ -0,0 +1,8 @@
#!/usr/bin/env node
'use strict'

if (true) {
console.info('hello world')
} else {
console.info('goodnight moon')
}
11 changes: 11 additions & 0 deletions test/integration.js
Expand Up @@ -561,4 +561,15 @@ describe('c8', () => {
output.toString('utf8').should.matchSnapshot()
})
})

it('collects coverage for script with shebang', () => {
const { output } = spawnSync(nodePath, [
c8Path,
'--exclude="test/*.js"',
'--temp-directory=tmp/shebang',
'--clean=false',
require.resolve('./fixtures/shebang')
])
output.toString('utf8').should.matchSnapshot()
})
})
59 changes: 35 additions & 24 deletions test/integration.js.snap
Expand Up @@ -4,8 +4,8 @@ exports[`c8 /* c8 ignore next */ does not incorrectly mark previous branch as un
",--------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
--------------|---------|----------|---------|---------|-------------------
All files | 100 | 66.67 | 100 | 100 |
issue-254.js | 100 | 66.67 | 100 | 100 | 2
All files | 100 | 100 | 100 | 100 |
issue-254.js | 100 | 100 | 100 | 100 |
--------------|---------|----------|---------|---------|-------------------
,"
`;
Expand Down Expand Up @@ -48,9 +48,9 @@ negative
-----------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------------|---------|----------|---------|---------|-------------------
All files | 64.29 | 66.67 | 50 | 64.29 |
ts-compiled | 78.26 | 75 | 100 | 78.26 |
loaded.ts | 73.68 | 71.43 | 100 | 73.68 | 4-5,16-18
All files | 64.29 | 57.14 | 50 | 64.29 |
ts-compiled | 78.26 | 66.67 | 100 | 78.26 |
loaded.ts | 73.68 | 66.67 | 100 | 73.68 | 4-5,16-18
main.ts | 100 | 100 | 100 | 100 |
ts-compiled/dir | 0 | 0 | 0 | 0 |
unloaded.ts | 0 | 0 | 0 | 0 | 1-5
Expand All @@ -65,9 +65,9 @@ negative
--------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
--------------|---------|----------|---------|---------|-------------------
All files | 64.29 | 66.67 | 50 | 64.29 |
ts-only | 78.26 | 75 | 100 | 78.26 |
loaded.ts | 73.68 | 71.43 | 100 | 73.68 | 4-5,16-18
All files | 64.29 | 57.14 | 50 | 64.29 |
ts-only | 78.26 | 66.67 | 100 | 78.26 |
loaded.ts | 73.68 | 66.67 | 100 | 73.68 | 4-5,16-18
main.ts | 100 | 100 | 100 | 100 |
ts-only/dir | 0 | 0 | 0 | 0 |
unloaded.ts | 0 | 0 | 0 | 0 | 1-5
Expand Down Expand Up @@ -215,6 +215,17 @@ exports[`c8 cobertura report escapes special characters 1`] = `
"
`;
exports[`c8 collects coverage for script with shebang 1`] = `
",hello world
------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------|---------|----------|---------|---------|-------------------
All files | 75 | 50 | 100 | 75 |
shebang.js | 75 | 50 | 100 | 75 | 7-8
------------|---------|----------|---------|---------|-------------------
,"
`;
exports[`c8 merges reports from subprocesses together 1`] = `
",first
Expand Down Expand Up @@ -336,8 +347,8 @@ a = false
------------------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------------------|---------|----------|---------|---------|-------------------
All files | 84 | 57.14 | 100 | 84 |
branches.typescript.ts | 84 | 57.14 | 100 | 84 | 7,11-12,18
All files | 84 | 50 | 100 | 84 |
branches.typescript.ts | 84 | 50 | 100 | 84 | 7,11-12,18
------------------------|---------|----------|---------|---------|-------------------
,"
`;
Expand All @@ -351,8 +362,8 @@ covered
-----------------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------------------|---------|----------|---------|---------|-------------------
All files | 81.82 | 87.5 | 60 | 81.82 |
classes.typescript.ts | 81.82 | 87.5 | 60 | 81.82 | 12-13,21-22,27-28
All files | 81.82 | 85.71 | 60 | 81.82 |
classes.typescript.ts | 81.82 | 85.71 | 60 | 81.82 | 12-13,21-22,27-28
-----------------------|---------|----------|---------|---------|-------------------
,"
`;
Expand All @@ -364,8 +375,8 @@ a = false
-------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-------------|---------|----------|---------|---------|-------------------
All files | 80 | 50 | 100 | 80 |
branches.js | 80 | 50 | 100 | 80 | 2,5-6,13
All files | 80 | 40 | 100 | 80 |
branches.js | 80 | 40 | 100 | 80 | 2,5-6,13
-------------|---------|----------|---------|---------|-------------------
,"
`;
Expand All @@ -379,8 +390,8 @@ covered
------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------|---------|----------|---------|---------|-------------------
All files | 85.19 | 83.33 | 60 | 85.19 |
classes.js | 85.19 | 83.33 | 60 | 85.19 | 6-7,15,21
All files | 85.19 | 80 | 60 | 85.19 |
classes.js | 85.19 | 80 | 60 | 85.19 | 6-7,15,21
------------|---------|----------|---------|---------|-------------------
,"
`;
Expand All @@ -402,8 +413,8 @@ a = false
-------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-------------|---------|----------|---------|---------|-------------------
All files | 80 | 55.56 | 100 | 80 |
branches.js | 80 | 55.56 | 100 | 80 | 2,6-7,13
All files | 80 | 40 | 100 | 80 |
branches.js | 80 | 40 | 100 | 80 | 2,6-7,13
-------------|---------|----------|---------|---------|-------------------
,"
`;
Expand All @@ -417,8 +428,8 @@ covered
------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------|---------|----------|---------|---------|-------------------
All files | 77.78 | 80 | 71.43 | 77.78 |
classes.js | 77.78 | 80 | 71.43 | 77.78 | 7-8,15-16,21-22
All files | 77.78 | 83.33 | 60 | 77.78 |
classes.js | 77.78 | 83.33 | 60 | 77.78 | 7-8,15-16,21-22
------------|---------|----------|---------|---------|-------------------
,"
`;
Expand Down Expand Up @@ -446,9 +457,9 @@ covered
------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------|---------|----------|---------|---------|-------------------
All files | 78.57 | 85.71 | 60 | 78.57 |
All files | 78.57 | 83.33 | 60 | 78.57 |
class-1.js | 100 | 100 | 100 | 100 |
class-2.js | 73.91 | 85.71 | 60 | 73.91 | 7-8,15-16,21-22
class-2.js | 73.91 | 83.33 | 60 | 73.91 | 7-8,15-16,21-22
------------|---------|----------|---------|---------|-------------------
,"
`;
Expand All @@ -462,8 +473,8 @@ covered
------------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------------|---------|----------|---------|---------|-------------------
All files | 88.24 | 87.5 | 80 | 88.24 |
ts-node-basic.ts | 88.24 | 87.5 | 80 | 88.24 | 12-13,28-29
All files | 88.24 | 85.71 | 80 | 88.24 |
ts-node-basic.ts | 88.24 | 85.71 | 80 | 88.24 | 12-13,28-29
------------------|---------|----------|---------|---------|-------------------
,"
`;
Expand Down
37 changes: 24 additions & 13 deletions test/integration.js_10.snap
Expand Up @@ -4,8 +4,8 @@ exports[`c8 /* c8 ignore next */ does not incorrectly mark previous branch as un
",--------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
--------------|---------|----------|---------|---------|-------------------
All files | 100 | 66.67 | 100 | 100 |
issue-254.js | 100 | 66.67 | 100 | 100 | 2
All files | 100 | 100 | 100 | 100 |
issue-254.js | 100 | 100 | 100 | 100 |
--------------|---------|----------|---------|---------|-------------------
,"
`;
Expand Down Expand Up @@ -59,9 +59,9 @@ negative
-----------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------------|---------|----------|---------|---------|-------------------
All files | 64.29 | 66.67 | 50 | 64.29 |
ts-compiled | 78.26 | 75 | 100 | 78.26 |
loaded.ts | 73.68 | 71.43 | 100 | 73.68 | 4-5,16-18
All files | 64.29 | 57.14 | 50 | 64.29 |
ts-compiled | 78.26 | 66.67 | 100 | 78.26 |
loaded.ts | 73.68 | 66.67 | 100 | 73.68 | 4-5,16-18
main.ts | 100 | 100 | 100 | 100 |
ts-compiled/dir | 0 | 0 | 0 | 0 |
unloaded.ts | 0 | 0 | 0 | 0 | 1-5
Expand Down Expand Up @@ -245,6 +245,17 @@ exports[`c8 cobertura report escapes special characters 1`] = `
"
`;
exports[`c8 collects coverage for script with shebang 1`] = `
",hello world
------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------|---------|----------|---------|---------|-------------------
All files | 75 | 50 | 100 | 75 |
shebang.js | 75 | 50 | 100 | 75 | 7-8
------------|---------|----------|---------|---------|-------------------
,"
`;
exports[`c8 merges reports from subprocesses together 1`] = `
",first
Expand Down Expand Up @@ -404,8 +415,8 @@ covered
-----------------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------------------|---------|----------|---------|---------|-------------------
All files | 81.82 | 87.5 | 60 | 81.82 |
classes.typescript.ts | 81.82 | 87.5 | 60 | 81.82 | 12-13,21-22,27-28
All files | 81.82 | 85.71 | 60 | 81.82 |
classes.typescript.ts | 81.82 | 85.71 | 60 | 81.82 | 12-13,21-22,27-28
-----------------------|---------|----------|---------|---------|-------------------
,"
`;
Expand Down Expand Up @@ -455,8 +466,8 @@ a = false
-------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-------------|---------|----------|---------|---------|-------------------
All files | 80 | 55.56 | 100 | 80 |
branches.js | 80 | 55.56 | 100 | 80 | 2,6-7,13
All files | 80 | 40 | 100 | 80 |
branches.js | 80 | 40 | 100 | 80 | 2,6-7,13
-------------|---------|----------|---------|---------|-------------------
,"
`;
Expand All @@ -470,8 +481,8 @@ covered
------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------|---------|----------|---------|---------|-------------------
All files | 77.78 | 80 | 71.43 | 77.78 |
classes.js | 77.78 | 80 | 71.43 | 77.78 | 7-8,15-16,21-22
All files | 77.78 | 83.33 | 60 | 77.78 |
classes.js | 77.78 | 83.33 | 60 | 77.78 | 7-8,15-16,21-22
------------|---------|----------|---------|---------|-------------------
,"
`;
Expand Down Expand Up @@ -499,9 +510,9 @@ covered
------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
------------|---------|----------|---------|---------|-------------------
All files | 78.57 | 85.71 | 60 | 78.57 |
All files | 78.57 | 83.33 | 60 | 78.57 |
class-1.js | 100 | 100 | 100 | 100 |
class-2.js | 73.91 | 85.71 | 60 | 73.91 | 7-8,15-16,21-22
class-2.js | 73.91 | 83.33 | 60 | 73.91 | 7-8,15-16,21-22
------------|---------|----------|---------|---------|-------------------
,"
`;
Expand Down

0 comments on commit 21cd41f

Please sign in to comment.