File tree Expand file tree Collapse file tree 2 files changed +37
-0
lines changed Expand file tree Collapse file tree 2 files changed +37
-0
lines changed Original file line number Diff line number Diff line change 1+ package dotty .communitybuild ;
2+
3+ import java .util .List ;
4+
5+ import org .junit .runner .Description ;
6+ import org .junit .runner .Result ;
7+ import org .junit .runner .notification .Failure ;
8+ import org .junit .runner .notification .RunListener ;
9+
10+ public class FailureSummarizer extends RunListener {
11+ @ Override
12+ public void testRunFinished (Result result ) throws Exception {
13+ super .testRunFinished (result );
14+ if (result .getFailureCount () > 0 ) {
15+ Thread .sleep (500 ); // pause to give sbt log buffers some time to flush
16+ summarizeFailures (result .getFailures ());
17+ }
18+ }
19+
20+ private void summarizeFailures (List <Failure > failures ) {
21+ err ("********************************************************************************" );
22+ err ("Failed projects:" );
23+ for (Failure f : failures ) {
24+ err (" - " + getProjectName (f .getDescription ()));
25+ }
26+ err ("********************************************************************************" );
27+ }
28+
29+ private String getProjectName (Description desc ) {
30+ return desc .getClassName () + "." + desc .getMethodName ();
31+ }
32+
33+ private void err (String msg ) {
34+ System .err .println (msg );
35+ }
36+ }
Original file line number Diff line number Diff line change @@ -1360,6 +1360,7 @@ object Build {
13601360 testOptions in Test += Tests .Argument (
13611361 TestFrameworks .JUnit ,
13621362 " --include-categories=dotty.communitybuild.TestCategory" ,
1363+ " --run-listener=dotty.communitybuild.FailureSummarizer" ,
13631364 ),
13641365 Compile / run := (Compile / run).dependsOn(prepareCommunityBuild).evaluated,
13651366 (Test / testOnly) := ((Test / testOnly) dependsOn prepareCommunityBuild).evaluated,
You can’t perform that action at this time.
0 commit comments