@@ -289,16 +289,22 @@ handle_test_results(Module, Pattern, Results) ->
289289 ct :log (" ~s (~s ): All ~p tests passed" , [Module , Pattern , TestsRun ]),
290290 ok ;
291291 false ->
292- % % Log detailed failure information
292+ % % Log detailed failure information to stderr for CI visibility
293293 lists :foreach (
294294 fun (Detail ) ->
295295 Test = maps :get (<<" test" >>, Detail , <<" unknown" >>),
296296 Trace = maps :get (<<" traceback" >>, Detail , <<>>),
297- ct :log (" FAILED: ~s~n~s " , [Test , Trace ])
297+ ct :log (" FAILED: ~s~n~s " , [Test , Trace ]),
298+ io :format (standard_error , " ~n === FAILED TEST: ~s ===~n~s~n " , [Test , Trace ])
298299 end ,
299300 FailureDetails
300301 ),
301- ct :fail ({tests_failed , Module , Pattern , #{
302+ % % Include first failure in the error for compact output
303+ FirstFail = case FailureDetails of
304+ [First |_ ] -> maps :get (<<" test" >>, First , <<" unknown" >>);
305+ _ -> <<" unknown" >>
306+ end ,
307+ ct :fail ({tests_failed , Module , Pattern , FirstFail , #{
302308 tests_run => TestsRun ,
303309 failures => Failures ,
304310 errors => Errors ,
0 commit comments