@@ -23,6 +23,7 @@ function nextdir() {
23
23
require . resolve ( '../fixtures/v8-coverage/basic' )
24
24
] , { env : { ...process . env , NODE_V8_COVERAGE : coverageDirectory } } ) ;
25
25
assert . strictEqual ( output . status , 0 ) ;
26
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
26
27
const fixtureCoverage = getFixtureCoverage ( 'basic.js' , coverageDirectory ) ;
27
28
assert . ok ( fixtureCoverage ) ;
28
29
// first branch executed.
@@ -38,6 +39,7 @@ function nextdir() {
38
39
require . resolve ( '../fixtures/v8-coverage/exit-1' )
39
40
] , { env : { ...process . env , NODE_V8_COVERAGE : coverageDirectory } } ) ;
40
41
assert . strictEqual ( output . status , 1 ) ;
42
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
41
43
const fixtureCoverage = getFixtureCoverage ( 'exit-1.js' , coverageDirectory ) ;
42
44
assert . ok ( fixtureCoverage , 'coverage not found for file' ) ;
43
45
// first branch executed.
@@ -55,6 +57,7 @@ function nextdir() {
55
57
if ( ! common . isWindows ) {
56
58
assert . strictEqual ( output . signal , 'SIGINT' ) ;
57
59
}
60
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
58
61
const fixtureCoverage = getFixtureCoverage ( 'sigint.js' , coverageDirectory ) ;
59
62
assert . ok ( fixtureCoverage ) ;
60
63
// first branch executed.
@@ -70,6 +73,7 @@ function nextdir() {
70
73
require . resolve ( '../fixtures/v8-coverage/spawn-subprocess' )
71
74
] , { env : { ...process . env , NODE_V8_COVERAGE : coverageDirectory } } ) ;
72
75
assert . strictEqual ( output . status , 0 ) ;
76
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
73
77
const fixtureCoverage = getFixtureCoverage ( 'subprocess.js' ,
74
78
coverageDirectory ) ;
75
79
assert . ok ( fixtureCoverage ) ;
@@ -87,6 +91,7 @@ function nextdir() {
87
91
require . resolve ( '../fixtures/v8-coverage/worker' )
88
92
] , { env : { ...process . env , NODE_V8_COVERAGE : coverageDirectory } } ) ;
89
93
assert . strictEqual ( output . status , 0 ) ;
94
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
90
95
const fixtureCoverage = getFixtureCoverage ( 'subprocess.js' ,
91
96
coverageDirectory ) ;
92
97
assert . ok ( fixtureCoverage ) ;
@@ -103,6 +108,7 @@ function nextdir() {
103
108
require . resolve ( '../fixtures/v8-coverage/spawn-subprocess-no-cov' )
104
109
] , { env : { ...process . env , NODE_V8_COVERAGE : coverageDirectory } } ) ;
105
110
assert . strictEqual ( output . status , 0 ) ;
111
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
106
112
const fixtureCoverage = getFixtureCoverage ( 'subprocess.js' ,
107
113
coverageDirectory ) ;
108
114
assert . strictEqual ( fixtureCoverage , undefined ) ;
@@ -115,13 +121,35 @@ function nextdir() {
115
121
require . resolve ( '../fixtures/v8-coverage/async-hooks' )
116
122
] , { env : { ...process . env , NODE_V8_COVERAGE : coverageDirectory } } ) ;
117
123
assert . strictEqual ( output . status , 0 ) ;
124
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
118
125
const fixtureCoverage = getFixtureCoverage ( 'async-hooks.js' ,
119
126
coverageDirectory ) ;
120
127
assert . ok ( fixtureCoverage ) ;
121
128
// first branch executed.
122
129
assert . strictEqual ( fixtureCoverage . functions [ 1 ] . ranges [ 0 ] . count , 1 ) ;
123
130
}
124
131
132
+ // Outputs coverage when the coverage directory is not absolute.
133
+ {
134
+ const coverageDirectory = nextdir ( ) ;
135
+ const absoluteCoverageDirectory = path . join ( tmpdir . path , coverageDirectory ) ;
136
+ const output = spawnSync ( process . execPath , [
137
+ require . resolve ( '../fixtures/v8-coverage/basic' )
138
+ ] , {
139
+ cwd : tmpdir . path ,
140
+ env : { ...process . env , NODE_V8_COVERAGE : coverageDirectory }
141
+ } ) ;
142
+ assert . strictEqual ( output . status , 0 ) ;
143
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
144
+ const fixtureCoverage = getFixtureCoverage ( 'basic.js' ,
145
+ absoluteCoverageDirectory ) ;
146
+ assert . ok ( fixtureCoverage ) ;
147
+ // first branch executed.
148
+ assert . strictEqual ( fixtureCoverage . functions [ 1 ] . ranges [ 0 ] . count , 1 ) ;
149
+ // second branch did not execute.
150
+ assert . strictEqual ( fixtureCoverage . functions [ 1 ] . ranges [ 1 ] . count , 0 ) ;
151
+ }
152
+
125
153
// Extracts the coverage object for a given fixture name.
126
154
function getFixtureCoverage ( fixtureFile , coverageDirectory ) {
127
155
const coverageFiles = fs . readdirSync ( coverageDirectory ) ;
0 commit comments