@@ -380,6 +380,36 @@ func TestSetException(t *testing.T) {
380
380
},
381
381
},
382
382
},
383
+ "Joined and wrapped errors" : {
384
+ exception : errors .Join (
385
+ fmt .Errorf ("wrapper: %w" , errors .New ("base error" )),
386
+ errors .New ("joined" ),
387
+ ),
388
+ maxErrorCount : - 1 ,
389
+ expected : []Exception {
390
+ {
391
+ Value : "base error" ,
392
+ Type : "*errors.errorString" ,
393
+ Mechanism : & Mechanism {Type : "generic" , ExceptionID : 0 , IsExceptionGroup : true },
394
+ },
395
+ {
396
+ Value : "wrapper: base error" ,
397
+ Type : "*fmt.wrapError" ,
398
+ Mechanism : & Mechanism {Type : "generic" , ExceptionID : 1 , ParentID : Pointer (0 ), IsExceptionGroup : true },
399
+ },
400
+ {
401
+ Value : "joined" ,
402
+ Type : "*errors.errorString" ,
403
+ Mechanism : & Mechanism {Type : "generic" , ExceptionID : 2 , IsExceptionGroup : true },
404
+ },
405
+ {
406
+ Value : "wrapper: base error\n joined" ,
407
+ Type : "*errors.joinError" ,
408
+ Stacktrace : & Stacktrace {Frames : []Frame {}},
409
+ Mechanism : & Mechanism {Type : "generic" , ExceptionID : 3 , IsExceptionGroup : true },
410
+ },
411
+ },
412
+ },
383
413
}
384
414
385
415
for name , tc := range testCases {
0 commit comments