package org.jgroups.util;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
/**
* Dumps the data (tests.data) generated by {@link JUnitXMLReporter} to stdout
* @author Bela Ban
* @since 3.1
*/
public class DumpData {
public static void main(String[] args) throws FileNotFoundException {
if(args.length == 0) {
System.out.println("DumpData <tests.data>");
return;
}
File file=new File(args[0]);
if(!file.exists()) {
System.err.println(file + " not found");
return;
}
List<JUnitXMLReporter.TestCase> test_cases=new ArrayList<JUnitXMLReporter.TestCase>();
DataInputStream input=new DataInputStream(new FileInputStream(file));
try {
for(;;) {
JUnitXMLReporter.TestCase test_case=new JUnitXMLReporter.TestCase();
try {
test_case.readFrom(input);
test_cases.add(test_case);
}
catch(Exception e) {
break;
}
}
}
finally {
Util.close(input);
}
if(test_cases.isEmpty()) {
System.err.println("No test cases found in " + file);
return;
}
int num_failures=JUnitXMLReporter.getFailures(test_cases);
int num_skips=JUnitXMLReporter.getSkips(test_cases);
int num_errors=JUnitXMLReporter.getErrors(test_cases);
long total_time=JUnitXMLReporter.getTotalTime(test_cases);
int cnt=1;
for(JUnitXMLReporter.TestCase test_case: test_cases) {
System.out.println(cnt++ + ": " + test_case);
}
System.out.println(Util.bold(test_cases.size() + " tests " + num_failures + " failures " + num_errors +
" errors " + num_skips + " skips time=" + (total_time / 1000.0) + "\n"));
}
}