diff --git a/packages/runner/src/run.ts b/packages/runner/src/run.ts index db1d5ae3f892..21fcad7aacc3 100644 --- a/packages/runner/src/run.ts +++ b/packages/runner/src/run.ts @@ -658,12 +658,7 @@ export async function runTest(test: Test, runner: VitestRunner): Promise { }) if (test.result!.state !== 'fail') { - if (!test.repeats) { - test.result!.state = 'pass' - } - else if (test.repeats && retry === retryCount) { - test.result!.state = 'pass' - } + test.result!.state = 'pass' } } catch (e) { diff --git a/test/cli/fixtures/reported-tasks/1_first.test.ts b/test/cli/fixtures/reported-tasks/1_first.test.ts index 81d4d62dc76f..69b47ea745b3 100644 --- a/test/cli/fixtures/reported-tasks/1_first.test.ts +++ b/test/cli/fixtures/reported-tasks/1_first.test.ts @@ -86,6 +86,10 @@ it('registers a metadata', (ctx) => { ctx.task.meta.key = 'value' }) +it('should not show up as pending test when finished (#9689)', { retry: 2, repeats: 2 }, ({ task }) => { + expect(task.result?.state).toBe('run') +}) + declare module 'vitest' { interface TaskMeta { key?: string diff --git a/test/cli/test/reported-tasks.test.ts b/test/cli/test/reported-tasks.test.ts index 101ba9a3c5a7..d5248674c291 100644 --- a/test/cli/test/reported-tasks.test.ts +++ b/test/cli/test/reported-tasks.test.ts @@ -76,15 +76,15 @@ it('correctly reports a file', ({ testModule, files, project }) => { expect(testModule.location).toBeUndefined() expect(testModule.moduleId).toBe(resolve(root, './1_first.test.ts')) expect(testModule.project).toBe(project) - expect(testModule.children.size).toBe(17) + expect(testModule.children.size).toBe(18) const tests = [...testModule.children.tests()] - expect(tests).toHaveLength(12) + expect(tests).toHaveLength(13) const deepTests = [...testModule.children.allTests()] - expect(deepTests).toHaveLength(22) + expect(deepTests).toHaveLength(23) expect.soft([...testModule.children.allTests('skipped')]).toHaveLength(8) - expect.soft([...testModule.children.allTests('passed')]).toHaveLength(9) + expect.soft([...testModule.children.allTests('passed')]).toHaveLength(10) expect.soft([...testModule.children.allTests('failed')]).toHaveLength(5) expect.soft([...testModule.children.allTests('pending')]).toHaveLength(0)