1 package org.apache.maven.plugin.surefire.report;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.BufferedOutputStream;
23 import java.io.OutputStreamWriter;
24 import java.io.PrintStream;
25 import java.io.PrintWriter;
26 import java.util.List;
27 import org.apache.maven.surefire.report.ReportEntry;
28
29
30
31
32
33
34
35 public class ConsoleReporter
36 {
37 public static final String BRIEF = "brief";
38
39 public static final String PLAIN = "plain";
40
41 private static final String TEST_SET_STARTING_PREFIX = "Running ";
42
43 private static final int BUFFER_SIZE = 4096;
44
45 private final PrintWriter writer;
46
47
48 public ConsoleReporter( PrintStream originalSystemOut )
49 {
50 OutputStreamWriter out = new OutputStreamWriter( new BufferedOutputStream( originalSystemOut, BUFFER_SIZE ) );
51 this.writer = new PrintWriter( out );
52 }
53
54 public void testSetStarting( ReportEntry report )
55 {
56 writeMessage( getTestSetStartingMessage( report ) );
57 }
58
59 public void writeMessage( String message )
60 {
61 if ( writer != null )
62 {
63 writer.print( message );
64
65 writer.flush();
66 }
67 }
68
69 public void writeLnMessage( String message )
70 {
71 if ( writer != null )
72 {
73 writer.println( message );
74
75 writer.flush();
76 }
77 }
78
79 public void testSetCompleted( WrappedReportEntry report, TestSetStats testSetStats, List<String> testResults )
80 {
81 writeMessage( testSetStats.getTestSetSummary( report ) );
82
83 if ( testResults != null )
84 {
85 for ( String testResult : testResults )
86 {
87 writeLnMessage( testResult );
88 }
89 }
90 }
91
92
93 public void reset()
94 {
95 if ( writer != null )
96 {
97 writer.flush();
98 }
99 }
100
101
102
103
104
105
106
107
108 static String getTestSetStartingMessage( ReportEntry report )
109 {
110 StringBuilder message = new StringBuilder();
111 message.append( TEST_SET_STARTING_PREFIX );
112 message.append( report.getNameWithGroup() );
113
114 message.append( "\n" );
115 return message.toString();
116 }
117
118
119 }