Skip to content

Commit

Permalink
chore: correctly track coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
sheremet-va committed Apr 5, 2024
1 parent f0f1d7f commit ae5af78
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/worker/actions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
const watchStateById: Record<string, WatchState | null> = {}
const providers = new WeakMap<Vitest, CoverageProvider>()
const coverages = new WeakMap<Vitest, unknown>()
const coverageStatuses = new WeakMap<Vitest, boolean>()

const vitestEntries = Object.entries(vitestById)
vitestEntries.forEach(([id, vitest]) => {
Expand Down Expand Up @@ -148,8 +149,8 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
}
finally {
vitest.configOverride.testNamePattern = undefined
vitest.coverageProvider = providers.get(vitest)
vitest.config.coverage.enabled = providers.has(vitest)
vitest.coverageProvider = coverageStatuses.get(vitest) ? providers.get(vitest) : undefined
vitest.config.coverage.enabled = coverageStatuses.get(vitest) || false
}
},
async cancelRun(id: string) {
Expand Down Expand Up @@ -196,6 +197,7 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
const vitest = vitestById[id]
coverages.delete(vitest)
vitest.config.coverage.enabled = true
coverageStatuses.set(vitest, true)

const jsonReporter = vitest.config.coverage.reporter.find(([name]) => name === 'json')
vitest.config.coverage.reporter = jsonReporter ? [jsonReporter] : [['json', {}]]
Expand All @@ -215,13 +217,15 @@ export function createWorkerMethods(vitestById: Record<string, Vitest>): BirpcMe
}
}
catch (err) {
coverageStatuses.set(vitest, false)
vitest.config.coverage.enabled = false
throw err
}
},
disableCoverage(id: string) {
const vitest = vitestById[id]
coverages.delete(vitest)
coverageStatuses.set(vitest, false)
vitest.config.coverage.enabled = false
vitest.coverageProvider = undefined
},
Expand Down

0 comments on commit ae5af78

Please sign in to comment.