Skip to content

Commit 17988e5

Browse files
authoredJul 28, 2023
fix: forceRerunTriggers correctly triggers a rerun (#3829)
1 parent 280e674 commit 17988e5

File tree

4 files changed

+22
-1
lines changed

4 files changed

+22
-1
lines changed
 

‎packages/vitest/src/node/core.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,7 @@ export class Vitest {
644644

645645
if (mm.isMatch(id, this.config.forceRerunTriggers)) {
646646
this.state.getFilepaths().forEach(file => this.changedTests.add(file))
647-
return []
647+
return [id]
648648
}
649649

650650
const projects = this.getModuleProjects(id)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const trigger = false

‎test/watch/fixtures/vitest.config.ts

+4
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,9 @@ export default defineConfig({
1010

1111
// This configuration is edited by tests
1212
reporters: 'verbose',
13+
14+
forceRerunTriggers: [
15+
'**/force-watch/**',
16+
],
1317
},
1418
})

‎test/watch/test/file-watching.test.ts

+16
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ const testFileContent = readFileSync(testFile, 'utf-8')
1212
const configFile = 'fixtures/vitest.config.ts'
1313
const configFileContent = readFileSync(configFile, 'utf-8')
1414

15+
const forceTriggerFile = 'fixtures/force-watch/trigger.js'
16+
const forceTriggerFileContent = readFileSync(forceTriggerFile, 'utf-8')
17+
1518
const cliArgs = ['--root', 'fixtures', '--watch']
1619
const cleanups: (() => void)[] = []
1720

@@ -26,6 +29,7 @@ afterEach(() => {
2629
writeFileSync(sourceFile, sourceFileContent, 'utf8')
2730
writeFileSync(testFile, testFileContent, 'utf8')
2831
writeFileSync(configFile, configFileContent, 'utf8')
32+
writeFileSync(forceTriggerFile, forceTriggerFileContent, 'utf8')
2933
cleanups.splice(0).forEach(cleanup => cleanup())
3034
})
3135

@@ -39,6 +43,18 @@ test('editing source file triggers re-run', async () => {
3943
await vitest.waitForStdout('1 passed')
4044
})
4145

46+
test('editing force rerun trigger reruns all tests', async () => {
47+
const vitest = await runVitestCli(...cliArgs)
48+
49+
writeFileSync(forceTriggerFile, editFile(forceTriggerFileContent), 'utf8')
50+
51+
await vitest.waitForStdout('Waiting for file changes...')
52+
await vitest.waitForStdout('RERUN ../force-watch/trigger.js')
53+
await vitest.waitForStdout('example.test.ts')
54+
await vitest.waitForStdout('math.test.ts')
55+
await vitest.waitForStdout('2 passed')
56+
})
57+
4258
test('editing test file triggers re-run', async () => {
4359
const vitest = await runVitestCli(...cliArgs)
4460

0 commit comments

Comments
 (0)
Please sign in to comment.