@@ -22,6 +22,7 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
22
22
const watchStateById : Record < string , WatchState | null > = { }
23
23
const providers = new WeakMap < Vitest , CoverageProvider > ( )
24
24
const coverages = new WeakMap < Vitest , unknown > ( )
25
+ const coverageStatuses = new WeakMap < Vitest , boolean > ( )
25
26
26
27
const vitestEntries = Object . entries ( vitestById )
27
28
vitestEntries . forEach ( ( [ id , vitest ] ) => {
@@ -148,8 +149,8 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
148
149
}
149
150
finally {
150
151
vitest . configOverride . testNamePattern = undefined
151
- vitest . coverageProvider = providers . get ( vitest )
152
- vitest . config . coverage . enabled = providers . has ( vitest )
152
+ vitest . coverageProvider = coverageStatuses . get ( vitest ) ? providers . get ( vitest ) : undefined
153
+ vitest . config . coverage . enabled = coverageStatuses . get ( vitest ) || false
153
154
}
154
155
} ,
155
156
async cancelRun ( id : string ) {
@@ -196,6 +197,7 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
196
197
const vitest = vitestById [ id ]
197
198
coverages . delete ( vitest )
198
199
vitest . config . coverage . enabled = true
200
+ coverageStatuses . set ( vitest , true )
199
201
200
202
const jsonReporter = vitest . config . coverage . reporter . find ( ( [ name ] ) => name === 'json' )
201
203
vitest . config . coverage . reporter = jsonReporter ? [ jsonReporter ] : [ [ 'json' , { } ] ]
@@ -215,13 +217,15 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
215
217
}
216
218
}
217
219
catch ( err ) {
220
+ coverageStatuses . set ( vitest , false )
218
221
vitest . config . coverage . enabled = false
219
222
throw err
220
223
}
221
224
} ,
222
225
disableCoverage ( id : string ) {
223
226
const vitest = vitestById [ id ]
224
227
coverages . delete ( vitest )
228
+ coverageStatuses . set ( vitest , false )
225
229
vitest . config . coverage . enabled = false
226
230
vitest . coverageProvider = undefined
227
231
} ,
0 commit comments