@@ -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 ) ;
@@ -86,6 +90,7 @@ function nextdir() {
86
90
require . resolve ( '../fixtures/v8-coverage/worker' )
87
91
] , { env : { ...process . env , NODE_V8_COVERAGE : coverageDirectory } } ) ;
88
92
assert . strictEqual ( output . status , 0 ) ;
93
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
89
94
const fixtureCoverage = getFixtureCoverage ( 'subprocess.js' ,
90
95
coverageDirectory ) ;
91
96
assert . ok ( fixtureCoverage ) ;
@@ -102,6 +107,7 @@ function nextdir() {
102
107
require . resolve ( '../fixtures/v8-coverage/spawn-subprocess-no-cov' )
103
108
] , { env : { ...process . env , NODE_V8_COVERAGE : coverageDirectory } } ) ;
104
109
assert . strictEqual ( output . status , 0 ) ;
110
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
105
111
const fixtureCoverage = getFixtureCoverage ( 'subprocess.js' ,
106
112
coverageDirectory ) ;
107
113
assert . strictEqual ( fixtureCoverage , undefined ) ;
@@ -114,13 +120,35 @@ function nextdir() {
114
120
require . resolve ( '../fixtures/v8-coverage/async-hooks' )
115
121
] , { env : { ...process . env , NODE_V8_COVERAGE : coverageDirectory } } ) ;
116
122
assert . strictEqual ( output . status , 0 ) ;
123
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
117
124
const fixtureCoverage = getFixtureCoverage ( 'async-hooks.js' ,
118
125
coverageDirectory ) ;
119
126
assert . ok ( fixtureCoverage ) ;
120
127
// first branch executed.
121
128
assert . strictEqual ( fixtureCoverage . functions [ 1 ] . ranges [ 0 ] . count , 1 ) ;
122
129
}
123
130
131
+ // Outputs coverage when the coverage directory is not absolute.
132
+ {
133
+ const coverageDirectory = nextdir ( ) ;
134
+ const absoluteCoverageDirectory = path . join ( tmpdir . path , coverageDirectory ) ;
135
+ const output = spawnSync ( process . execPath , [
136
+ require . resolve ( '../fixtures/v8-coverage/basic' )
137
+ ] , {
138
+ cwd : tmpdir . path ,
139
+ env : { ...process . env , NODE_V8_COVERAGE : coverageDirectory }
140
+ } ) ;
141
+ assert . strictEqual ( output . status , 0 ) ;
142
+ assert . strictEqual ( output . stderr . toString ( ) , '' ) ;
143
+ const fixtureCoverage = getFixtureCoverage ( 'basic.js' ,
144
+ absoluteCoverageDirectory ) ;
145
+ assert . ok ( fixtureCoverage ) ;
146
+ // first branch executed.
147
+ assert . strictEqual ( fixtureCoverage . functions [ 1 ] . ranges [ 0 ] . count , 1 ) ;
148
+ // second branch did not execute.
149
+ assert . strictEqual ( fixtureCoverage . functions [ 1 ] . ranges [ 1 ] . count , 0 ) ;
150
+ }
151
+
124
152
// Extracts the coverage object for a given fixture name.
125
153
function getFixtureCoverage ( fixtureFile , coverageDirectory ) {
126
154
const coverageFiles = fs . readdirSync ( coverageDirectory ) ;
0 commit comments