Skip to content

Commit ae5af78

Browse files
committed
chore: correctly track coverage
1 parent f0f1d7f commit ae5af78

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/worker/actions.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
2222
const watchStateById: Record<string, WatchState | null> = {}
2323
const providers = new WeakMap<Vitest, CoverageProvider>()
2424
const coverages = new WeakMap<Vitest, unknown>()
25+
const coverageStatuses = new WeakMap<Vitest, boolean>()
2526

2627
const vitestEntries = Object.entries(vitestById)
2728
vitestEntries.forEach(([id, vitest]) => {
@@ -148,8 +149,8 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
148149
}
149150
finally {
150151
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
153154
}
154155
},
155156
async cancelRun(id: string) {
@@ -196,6 +197,7 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
196197
const vitest = vitestById[id]
197198
coverages.delete(vitest)
198199
vitest.config.coverage.enabled = true
200+
coverageStatuses.set(vitest, true)
199201

200202
const jsonReporter = vitest.config.coverage.reporter.find(([name]) => name === 'json')
201203
vitest.config.coverage.reporter = jsonReporter ? [jsonReporter] : [['json', {}]]
@@ -215,13 +217,15 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
215217
}
216218
}
217219
catch (err) {
220+
coverageStatuses.set(vitest, false)
218221
vitest.config.coverage.enabled = false
219222
throw err
220223
}
221224
},
222225
disableCoverage(id: string) {
223226
const vitest = vitestById[id]
224227
coverages.delete(vitest)
228+
coverageStatuses.set(vitest, false)
225229
vitest.config.coverage.enabled = false
226230
vitest.coverageProvider = undefined
227231
},

0 commit comments

Comments
 (0)