@@ -44,10 +44,7 @@ function getTapCoverageFixtureReport() {
44
44
}
45
45
46
46
const fixture = fixtures . path ( 'test-runner' , 'coverage.js' ) ;
47
- const neededArguments = [
48
- '--experimental-test-coverage' ,
49
- '--test-reporter' , 'tap' ,
50
- ] ;
47
+ const reporter = fixtures . fileURL ( 'test-runner/custom_reporters/coverage.mjs' ) ;
51
48
52
49
const coverages = [
53
50
{ flag : '--test-coverage-lines' , name : 'line' , actual : 78.35 } ,
@@ -56,10 +53,12 @@ const coverages = [
56
53
] ;
57
54
58
55
for ( const coverage of coverages ) {
59
- test ( `test passing ${ coverage . flag } ` , async ( t ) => {
56
+ test ( `test passing ${ coverage . flag } ` , ( ) => {
60
57
const result = spawnSync ( process . execPath , [
61
- ...neededArguments ,
58
+ '--test' ,
59
+ '--experimental-test-coverage' ,
62
60
`${ coverage . flag } =25` ,
61
+ '--test-reporter' , 'tap' ,
63
62
fixture ,
64
63
] ) ;
65
64
@@ -70,10 +69,27 @@ for (const coverage of coverages) {
70
69
assert ( ! findCoverageFileForPid ( result . pid ) ) ;
71
70
} ) ;
72
71
73
- test ( `test failing ${ coverage . flag } ` , async ( t ) => {
72
+ test ( `test passing ${ coverage . flag } with custom reporter` , ( ) => {
73
+ const result = spawnSync ( process . execPath , [
74
+ '--test' ,
75
+ '--experimental-test-coverage' ,
76
+ `${ coverage . flag } =25` ,
77
+ '--test-reporter' , reporter ,
78
+ fixture ,
79
+ ] ) ;
80
+
81
+ const stdout = JSON . parse ( result . stdout . toString ( ) ) ;
82
+ assert . strictEqual ( stdout . summary . thresholds [ coverage . name ] , 25 ) ;
83
+ assert . strictEqual ( result . status , 0 ) ;
84
+ assert ( ! findCoverageFileForPid ( result . pid ) ) ;
85
+ } ) ;
86
+
87
+ test ( `test failing ${ coverage . flag } ` , ( ) => {
74
88
const result = spawnSync ( process . execPath , [
75
- ...neededArguments ,
89
+ '--test' ,
90
+ '--experimental-test-coverage' ,
76
91
`${ coverage . flag } =99` ,
92
+ '--test-reporter' , 'tap' ,
77
93
fixture ,
78
94
] ) ;
79
95
@@ -84,9 +100,25 @@ for (const coverage of coverages) {
84
100
assert ( ! findCoverageFileForPid ( result . pid ) ) ;
85
101
} ) ;
86
102
87
- test ( `test out-of-range ${ coverage . flag } (too high)` , async ( t ) => {
103
+ test ( `test failing ${ coverage . flag } with custom reporter` , ( ) => {
104
+ const result = spawnSync ( process . execPath , [
105
+ '--test' ,
106
+ '--experimental-test-coverage' ,
107
+ `${ coverage . flag } =99` ,
108
+ '--test-reporter' , reporter ,
109
+ fixture ,
110
+ ] ) ;
111
+
112
+ const stdout = JSON . parse ( result . stdout . toString ( ) ) ;
113
+ assert . strictEqual ( stdout . summary . thresholds [ coverage . name ] , 99 ) ;
114
+ assert . strictEqual ( result . status , 1 ) ;
115
+ assert ( ! findCoverageFileForPid ( result . pid ) ) ;
116
+ } ) ;
117
+
118
+ test ( `test out-of-range ${ coverage . flag } (too high)` , ( ) => {
88
119
const result = spawnSync ( process . execPath , [
89
- ...neededArguments ,
120
+ '--test' ,
121
+ '--experimental-test-coverage' ,
90
122
`${ coverage . flag } =101` ,
91
123
fixture ,
92
124
] ) ;
@@ -96,9 +128,10 @@ for (const coverage of coverages) {
96
128
assert ( ! findCoverageFileForPid ( result . pid ) ) ;
97
129
} ) ;
98
130
99
- test ( `test out-of-range ${ coverage . flag } (too low)` , async ( t ) => {
131
+ test ( `test out-of-range ${ coverage . flag } (too low)` , ( ) => {
100
132
const result = spawnSync ( process . execPath , [
101
- ...neededArguments ,
133
+ '--test' ,
134
+ '--experimental-test-coverage' ,
102
135
`${ coverage . flag } =-1` ,
103
136
fixture ,
104
137
] ) ;
0 commit comments