From f40fe98cd078afad8dc3a8cd9ccb182fa4e792e9 Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Thu, 11 Jun 2026 09:44:33 +0200 Subject: [PATCH] fix: mark errors as test run errors Related https://github.com/vitest-dev/vscode/discussions/791#discussioncomment-17240534 --- packages/extension/src/runner.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/extension/src/runner.ts b/packages/extension/src/runner.ts index c49764af..6743c154 100644 --- a/packages/extension/src/runner.ts +++ b/packages/extension/src/runner.ts @@ -310,27 +310,31 @@ export class TestRunner extends vscode.Disposable { // we only change the state of test cases to keep the correct test count // ignoring test files, test folders and suites - these only report syntax errors - private markNonTestCase(test: vscode.TestItem, result?: RunnerTaskResult) { + private markNonTestCase( + testRun: vscode.TestRun, + test: vscode.TestItem, + result?: RunnerTaskResult, + ) { if (!result) { log.verbose?.(`No task result for "${test.label}", ignoring`) return } // errors in a suite are stored only if it happens during discovery - const errors = result.errors?.map((err) => err.stack || err.message) + const errors = result.errors?.map((err) => testMessageForTestError(test, err as TestError)) if (!errors?.length) { log.verbose?.(`No errors found for "${test.label}"`) return } log.verbose?.(`Marking "${test.label}" as failed with ${errors.length} errors`) - test.error = errors.join('\n') + testRun.errored(test, errors, result?.duration) } private markResult(testRun: vscode.TestRun, test: vscode.TestItem, result?: RunnerTaskResult) { const isTestCase = getTestData(test) instanceof TestCase if (!isTestCase) { - this.markNonTestCase(test, result) + this.markNonTestCase(testRun, test, result) return }