11import limit from 'p-limit'
22import { getSafeTimers , shuffle } from '@vitest/utils'
33import { processError } from '@vitest/utils/error'
4+ import type { DiffOptions } from '@vitest/utils/diff'
45import type { VitestRunner } from './types/runner'
56import type { File , HookCleanupCallback , HookListener , SequenceHooks , Suite , SuiteHooks , Task , TaskMeta , TaskResult , TaskResultPack , TaskState , Test } from './types'
67import { partitionSuiteChildren } from './utils/suite'
@@ -173,7 +174,7 @@ export async function runTest(test: Test, runner: VitestRunner) {
173174 }
174175 }
175176 catch ( e ) {
176- failTask ( test . result , e )
177+ failTask ( test . result , e , runner . config . diffOptions )
177178 }
178179
179180 // skipped with new PendingError
@@ -189,7 +190,7 @@ export async function runTest(test: Test, runner: VitestRunner) {
189190 await callCleanupHooks ( beforeEachCleanups )
190191 }
191192 catch ( e ) {
192- failTask ( test . result , e )
193+ failTask ( test . result , e , runner . config . diffOptions )
193194 }
194195
195196 if ( test . result . state === 'pass' )
@@ -233,7 +234,7 @@ export async function runTest(test: Test, runner: VitestRunner) {
233234 updateTask ( test , runner )
234235}
235236
236- function failTask ( result : TaskResult , err : unknown ) {
237+ function failTask ( result : TaskResult , err : unknown , diffOptions ?: DiffOptions ) {
237238 if ( err instanceof PendingError ) {
238239 result . state = 'skip'
239240 return
@@ -244,7 +245,7 @@ function failTask(result: TaskResult, err: unknown) {
244245 ? err
245246 : [ err ]
246247 for ( const e of errors ) {
247- const error = processError ( e )
248+ const error = processError ( e , diffOptions )
248249 result . error ??= error
249250 result . errors ??= [ ]
250251 result . errors . push ( error )
@@ -316,15 +317,15 @@ export async function runSuite(suite: Suite, runner: VitestRunner) {
316317 }
317318 }
318319 catch ( e ) {
319- failTask ( suite . result , e )
320+ failTask ( suite . result , e , runner . config . diffOptions )
320321 }
321322
322323 try {
323324 await callSuiteHook ( suite , suite , 'afterAll' , runner , [ suite ] )
324325 await callCleanupHooks ( beforeAllCleanups )
325326 }
326327 catch ( e ) {
327- failTask ( suite . result , e )
328+ failTask ( suite . result , e , runner . config . diffOptions )
328329 }
329330
330331 if ( suite . mode === 'run' ) {
0 commit comments