OOXMLLite: IDE warnings and add an additional listener to print out progress during running tests

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1828179 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Dominik Stadler 2018-04-02 17:16:07 +00:00
parent 2444a5396d
commit 9d66493f20
2 changed files with 31 additions and 19 deletions

View File

@ -84,25 +84,19 @@ public class OOXMLPrettyPrint {
}
private static void handleFile(File file, File outFile) throws ZipException,
IOException, TransformerException, ParserConfigurationException {
IOException, ParserConfigurationException {
System.out.println("Reading zip-file " + file + " and writing pretty-printed XML to " + outFile);
ZipFile zipFile = ZipHelper.openZipFile(file);
try {
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outFile)));
try {
new OOXMLPrettyPrint().handle(zipFile, out);
} finally {
out.close();
}
try (ZipFile zipFile = ZipHelper.openZipFile(file)) {
try (ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outFile)))) {
new OOXMLPrettyPrint().handle(zipFile, out);
}
} finally {
zipFile.close();
System.out.println();
System.out.println();
}
}
private void handle(ZipFile file, ZipOutputStream out) throws IOException, TransformerException {
private void handle(ZipFile file, ZipOutputStream out) throws IOException {
Enumeration<? extends ZipEntry> entries = file.entries();
while(entries.hasMoreElements()) {
ZipEntry entry = entries.nextElement();

View File

@ -40,6 +40,7 @@ import junit.framework.TestCase;
import org.junit.Test;
import org.junit.internal.TextListener;
import org.junit.runner.Description;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
@ -73,7 +74,14 @@ public final class OOXMLLite {
_ooxmlJar = new File(ooxmlJar);
}
public static void main(String[] args) throws IOException, ClassNotFoundException {
public static void main(String[] args) throws IOException {
System.out.println("Free memory (bytes): " +
Runtime.getRuntime().freeMemory());
long maxMemory = Runtime.getRuntime().maxMemory();
System.out.println("Maximum memory (bytes): " +
(maxMemory == Long.MAX_VALUE ? "no limit" : maxMemory));
System.out.println("Total memory (bytes): " +
Runtime.getRuntime().totalMemory());
String dest = null, test = null, ooxml = null;
@ -94,7 +102,7 @@ public final class OOXMLLite {
builder.build();
}
void build() throws IOException, ClassNotFoundException {
void build() throws IOException {
List<Class<?>> lst = new ArrayList<>();
//collect unit tests
String exclude = StringUtil.join("|",
@ -153,10 +161,21 @@ public final class OOXMLLite {
System.out.println("Collecting unit tests from " + _testDir);
collectTests(_testDir, _testDir, lst, ".+.class$", ".+(" + exclude + ").class");
System.out.println("Found " + lst.size() + " classes");
//run tests
JUnitCore jUnitCore = new JUnitCore();
jUnitCore.addListener(new TextListener(System.out));
jUnitCore.addListener(new TextListener(System.out) {
private int count;
@Override
public void testStarted(Description description) {
count++;
if(count % 100 == 0) {
System.out.println();
System.out.println(count + "/" + lst.size() + ": " + description.getDisplayName());
}
super.testStarted(description);
}
});
Result result = jUnitCore.run(lst.toArray(new Class<?>[lst.size()]));
if (!result.wasSuccessful()) {
throw new RuntimeException("Tests did not succeed, cannot build ooxml-lite jar");
@ -227,8 +246,7 @@ public final class OOXMLLite {
* @param out output
* @param ptrn the pattern (regexp) to filter found files
*/
private static void collectTests(File root, File arg, List<Class<?>> out, String ptrn, String exclude)
throws ClassNotFoundException {
private static void collectTests(File root, File arg, List<Class<?>> out, String ptrn, String exclude) {
if (arg.isDirectory()) {
File files[] = arg.listFiles();
if (files != null) {