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 f440933277
commit 9af2dd7824
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, 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); System.out.println("Reading zip-file " + file + " and writing pretty-printed XML to " + outFile);
ZipFile zipFile = ZipHelper.openZipFile(file); try (ZipFile zipFile = ZipHelper.openZipFile(file)) {
try { try (ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outFile)))) {
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outFile))); new OOXMLPrettyPrint().handle(zipFile, out);
try { }
new OOXMLPrettyPrint().handle(zipFile, out);
} finally {
out.close();
}
} finally { } 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(); Enumeration<? extends ZipEntry> entries = file.entries();
while(entries.hasMoreElements()) { while(entries.hasMoreElements()) {
ZipEntry entry = entries.nextElement(); ZipEntry entry = entries.nextElement();

View File

@ -40,6 +40,7 @@ import junit.framework.TestCase;
import org.junit.Test; import org.junit.Test;
import org.junit.internal.TextListener; import org.junit.internal.TextListener;
import org.junit.runner.Description;
import org.junit.runner.JUnitCore; import org.junit.runner.JUnitCore;
import org.junit.runner.Result; import org.junit.runner.Result;
@ -73,7 +74,14 @@ public final class OOXMLLite {
_ooxmlJar = new File(ooxmlJar); _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; String dest = null, test = null, ooxml = null;
@ -94,7 +102,7 @@ public final class OOXMLLite {
builder.build(); builder.build();
} }
void build() throws IOException, ClassNotFoundException { void build() throws IOException {
List<Class<?>> lst = new ArrayList<>(); List<Class<?>> lst = new ArrayList<>();
//collect unit tests //collect unit tests
String exclude = StringUtil.join("|", String exclude = StringUtil.join("|",
@ -156,7 +164,18 @@ public final class OOXMLLite {
//run tests //run tests
JUnitCore jUnitCore = new JUnitCore(); 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()])); Result result = jUnitCore.run(lst.toArray(new Class<?>[lst.size()]));
if (!result.wasSuccessful()) { if (!result.wasSuccessful()) {
throw new RuntimeException("Tests did not succeed, cannot build ooxml-lite jar"); throw new RuntimeException("Tests did not succeed, cannot build ooxml-lite jar");
@ -227,8 +246,7 @@ public final class OOXMLLite {
* @param out output * @param out output
* @param ptrn the pattern (regexp) to filter found files * @param ptrn the pattern (regexp) to filter found files
*/ */
private static void collectTests(File root, File arg, List<Class<?>> out, String ptrn, String exclude) private static void collectTests(File root, File arg, List<Class<?>> out, String ptrn, String exclude) {
throws ClassNotFoundException {
if (arg.isDirectory()) { if (arg.isDirectory()) {
File files[] = arg.listFiles(); File files[] = arg.listFiles();
if (files != null) { if (files != null) {