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 writer.print( message );
62 writer.flush();
63 }
64
65 public void writeLnMessage( String message )
66 {
67 writer.println( message );
68 writer.flush();
69 }
70
71 public void testSetCompleted( WrappedReportEntry report, TestSetStats testSetStats, List<String> testResults )
72 {
73 writeMessage( testSetStats.getTestSetSummary( report ) );
74
75 if ( testResults != null )
76 {
77 for ( String testResult : testResults )
78 {
79 writeLnMessage( testResult );
80 }
81 }
82 }
83
84
85 public void reset()
86 {
87 writer.flush();
88 }
89
90
91
92
93
94
95
96
97 static String getTestSetStartingMessage( ReportEntry report )
98 {
99 return TEST_SET_STARTING_PREFIX + report.getNameWithGroup() + "\n";
100 }
101
102
103 }