File tree 2 files changed +51
-0
lines changed
2 files changed +51
-0
lines changed Original file line number Diff line number Diff line change @@ -194,6 +194,10 @@ workflows:
194
194
- run :
195
195
command : npx nyc report --check-coverage true --lines 100 --include unit-utils.js
196
196
working_directory : examples/same-folder
197
+ - run :
198
+ command : node ../../scripts/check-coverage main.js
199
+ - run :
200
+ command : node ../../scripts/check-coverage unit-utils.js
197
201
198
202
- publish :
199
203
filters :
Original file line number Diff line number Diff line change
1
+ const { join } = require ( 'path' )
2
+
3
+ const filename = process . argv [ 2 ]
4
+ if ( ! filename ) {
5
+ console . error ( 'Usage: node %s <file name>' , __filename )
6
+ process . exit ( 1 )
7
+ }
8
+ const coverageFilename = join ( process . cwd ( ) , '.nyc_output' , 'out.json' )
9
+ const coverage = require ( coverageFilename )
10
+ const fileCoverageKey = Object . keys ( coverage ) . find ( name => {
11
+ const fileCover = coverage [ name ]
12
+ if ( fileCover . path . endsWith ( filename ) ) {
13
+ return fileCover
14
+ }
15
+ } )
16
+
17
+ if ( ! fileCoverageKey ) {
18
+ console . error (
19
+ 'Could not find file %s in coverage in file %s' ,
20
+ filename ,
21
+ coverageFilename
22
+ )
23
+ process . exit ( 1 )
24
+ }
25
+
26
+ const fileCoverage = coverage [ fileCoverageKey ]
27
+ const statementCounters = fileCoverage . s
28
+ const isThereUncoveredStatement = Object . keys ( statementCounters ) . some (
29
+ ( k , key ) => {
30
+ return statementCounters [ key ] === 0
31
+ }
32
+ )
33
+ if ( isThereUncoveredStatement ) {
34
+ console . error (
35
+ 'file %s has statements that were not covered by tests' ,
36
+ fileCoverage . path
37
+ )
38
+ console . log ( 'statement counters %o' , statementCounters )
39
+
40
+ process . exit ( 1 )
41
+ }
42
+
43
+ console . log (
44
+ 'All statements in file %s (found for %s) were covered' ,
45
+ fileCoverage . path ,
46
+ filename
47
+ )
You can’t perform that action at this time.
0 commit comments