1
1
import limit from 'p-limit'
2
2
import { getSafeTimers , shuffle } from '@vitest/utils'
3
3
import { processError } from '@vitest/utils/error'
4
+ import type { DiffOptions } from '@vitest/utils/diff'
4
5
import type { VitestRunner } from './types/runner'
5
6
import type { File , HookCleanupCallback , HookListener , SequenceHooks , Suite , SuiteHooks , Task , TaskMeta , TaskResult , TaskResultPack , TaskState , Test } from './types'
6
7
import { partitionSuiteChildren } from './utils/suite'
@@ -173,7 +174,7 @@ export async function runTest(test: Test, runner: VitestRunner) {
173
174
}
174
175
}
175
176
catch ( e ) {
176
- failTask ( test . result , e )
177
+ failTask ( test . result , e , runner . config . diffOptions )
177
178
}
178
179
179
180
// skipped with new PendingError
@@ -189,7 +190,7 @@ export async function runTest(test: Test, runner: VitestRunner) {
189
190
await callCleanupHooks ( beforeEachCleanups )
190
191
}
191
192
catch ( e ) {
192
- failTask ( test . result , e )
193
+ failTask ( test . result , e , runner . config . diffOptions )
193
194
}
194
195
195
196
if ( test . result . state === 'pass' )
@@ -233,7 +234,7 @@ export async function runTest(test: Test, runner: VitestRunner) {
233
234
updateTask ( test , runner )
234
235
}
235
236
236
- function failTask ( result : TaskResult , err : unknown ) {
237
+ function failTask ( result : TaskResult , err : unknown , diffOptions ?: DiffOptions ) {
237
238
if ( err instanceof PendingError ) {
238
239
result . state = 'skip'
239
240
return
@@ -244,7 +245,7 @@ function failTask(result: TaskResult, err: unknown) {
244
245
? err
245
246
: [ err ]
246
247
for ( const e of errors ) {
247
- const error = processError ( e )
248
+ const error = processError ( e , diffOptions )
248
249
result . error ??= error
249
250
result . errors ??= [ ]
250
251
result . errors . push ( error )
@@ -316,15 +317,15 @@ export async function runSuite(suite: Suite, runner: VitestRunner) {
316
317
}
317
318
}
318
319
catch ( e ) {
319
- failTask ( suite . result , e )
320
+ failTask ( suite . result , e , runner . config . diffOptions )
320
321
}
321
322
322
323
try {
323
324
await callSuiteHook ( suite , suite , 'afterAll' , runner , [ suite ] )
324
325
await callCleanupHooks ( beforeAllCleanups )
325
326
}
326
327
catch ( e ) {
327
- failTask ( suite . result , e )
328
+ failTask ( suite . result , e , runner . config . diffOptions )
328
329
}
329
330
330
331
if ( suite . mode === 'run' ) {
0 commit comments