1 package org.apache.maven.plugin.surefire.runorder;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import java.io.IOException;
24
25 import org.apache.maven.surefire.report.ReportEntry;
26
27 import static org.apache.maven.plugin.surefire.runorder.RunEntryStatisticsMap.fromFile;
28
29
30
31
32 public class StatisticsReporter
33 {
34 private final RunEntryStatisticsMap existing;
35
36 private final RunEntryStatisticsMap newResults;
37
38 private final File dataFile;
39
40 public StatisticsReporter( File dataFile )
41 {
42 this( dataFile, fromFile( dataFile ), new RunEntryStatisticsMap() );
43 }
44
45 protected StatisticsReporter( File dataFile, RunEntryStatisticsMap existing, RunEntryStatisticsMap newResults )
46 {
47 this.dataFile = dataFile;
48 this.existing = existing;
49 this.newResults = newResults;
50 }
51
52 public synchronized void testSetCompleted()
53 {
54 try
55 {
56 newResults.serialize( dataFile );
57 }
58 catch ( IOException e )
59 {
60 throw new RuntimeException( e );
61 }
62 }
63
64 public void testSucceeded( ReportEntry report )
65 {
66 newResults.add( existing.createNextGeneration( report ) );
67 }
68
69 public void testSkipped( ReportEntry report )
70 {
71 newResults.add( existing.createNextGeneration( report ) );
72 }
73
74 public void testError( ReportEntry report )
75 {
76 newResults.add( existing.createNextGenerationFailure( report ) );
77 }
78
79 public void testFailed( ReportEntry report )
80 {
81 newResults.add( existing.createNextGenerationFailure( report ) );
82 }
83 }