Browse Source

PrintWriter hides exceptions, avoid it

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@793462 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 16 years ago
parent
commit
f62d563414
15 changed files with 181 additions and 133 deletions
  1. +7
    -7
      src/main/org/apache/tools/ant/taskdefs/CVSPass.java
  2. +13
    -11
      src/main/org/apache/tools/ant/taskdefs/Execute.java
  3. +16
    -15
      src/main/org/apache/tools/ant/taskdefs/Javadoc.java
  4. +5
    -4
      src/main/org/apache/tools/ant/taskdefs/Jikes.java
  5. +6
    -5
      src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java
  6. +9
    -7
      src/main/org/apache/tools/ant/taskdefs/email/Message.java
  7. +5
    -4
      src/main/org/apache/tools/ant/taskdefs/optional/Cab.java
  8. +10
    -12
      src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java
  9. +7
    -5
      src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java
  10. +27
    -12
      src/main/org/apache/tools/ant/taskdefs/optional/junit/BriefJUnitResultFormatter.java
  11. +40
    -28
      src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java
  12. +7
    -7
      src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
  13. +4
    -3
      src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java
  14. +20
    -9
      src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java
  15. +5
    -4
      src/main/org/apache/tools/ant/util/JavaEnvUtils.java

+ 7
- 7
src/main/org/apache/tools/ant/taskdefs/CVSPass.java View File

@@ -19,14 +19,15 @@
package org.apache.tools.ant.taskdefs;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.util.FileUtils;
import org.apache.tools.ant.util.StringUtils;

/**
@@ -93,7 +94,7 @@ public class CVSPass extends Task {
log("passFile: " + passFile, Project.MSG_DEBUG);

BufferedReader reader = null;
PrintWriter writer = null;
BufferedWriter writer = null;
try {
StringBuffer buf = new StringBuffer();

@@ -114,9 +115,10 @@ public class CVSPass extends Task {

log("Writing -> " + pwdfile , Project.MSG_DEBUG);

writer = new PrintWriter(new FileWriter(passFile));
writer = new BufferedWriter(new FileWriter(passFile));

writer.println(pwdfile);
writer.write(pwdfile);
writer.newLine();
} catch (IOException e) {
throw new BuildException(e);
} finally {
@@ -127,9 +129,7 @@ public class CVSPass extends Task {
// ignore
}
}
if (writer != null) {
writer.close();
}
FileUtils.close(writer);
}
}



+ 13
- 11
src/main/org/apache/tools/ant/taskdefs/Execute.java View File

@@ -19,12 +19,12 @@
package org.apache.tools.ant.taskdefs;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.StringReader;
import java.util.HashMap;
import java.util.Iterator;
@@ -1177,9 +1177,9 @@ public class Execute {
private File createCommandFile(String[] cmd, String[] env)
throws IOException {
File script = FILE_UTILS.createTempFile("ANT", ".COM", null, true, true);
PrintWriter out = null;
BufferedWriter out = null;
try {
out = new PrintWriter(new FileWriter(script));
out = new BufferedWriter(new FileWriter(script));

// add the environment as logicals to the DCL script
if (env != null) {
@@ -1187,18 +1187,20 @@ public class Execute {
for (int i = 0; i < env.length; i++) {
eqIndex = env[i].indexOf('=');
if (eqIndex != -1) {
out.print("$ DEFINE/NOLOG ");
out.print(env[i].substring(0, eqIndex));
out.print(" \"");
out.print(env[i].substring(eqIndex + 1));
out.println('\"');
out.write("$ DEFINE/NOLOG ");
out.write(env[i].substring(0, eqIndex));
out.write(" \"");
out.write(env[i].substring(eqIndex + 1));
out.write('\"');
out.newLine();
}
}
}
out.print("$ " + cmd[0]);
out.write("$ " + cmd[0]);
for (int i = 1; i < cmd.length; i++) {
out.println(" -");
out.print(cmd[i]);
out.write(" -");
out.newLine();
out.write(cmd[i]);
}
} finally {
if (out != null) {


+ 16
- 15
src/main/org/apache/tools/ant/taskdefs/Javadoc.java View File

@@ -21,7 +21,7 @@ import java.io.File;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.FileReader;
import java.net.MalformedURLException;
@@ -1706,7 +1706,7 @@ public class Javadoc extends Task {
}

File tmpList = null;
PrintWriter srcListWriter = null;
BufferedWriter srcListWriter = null;

try {
/**
@@ -1717,7 +1717,7 @@ public class Javadoc extends Task {
tmpList = FILE_UTILS.createTempFile("javadoc", "", null, true, true);
toExecute.createArgument()
.setValue("@" + tmpList.getAbsolutePath());
srcListWriter = new PrintWriter(
srcListWriter = new BufferedWriter(
new FileWriter(tmpList.getAbsolutePath(),
true));
}
@@ -1730,9 +1730,7 @@ public class Javadoc extends Task {
throw new BuildException("Error creating temporary file",
e, getLocation());
} finally {
if (srcListWriter != null) {
srcListWriter.close();
}
FileUtils.close(srcListWriter);
}

if (packageList != null) {
@@ -1898,7 +1896,7 @@ public class Javadoc extends Task {
private void writeExternalArgs(Commandline toExecute) {
// If using an external file, write the command line options to it
File optionsTmpFile = null;
PrintWriter optionsListWriter = null;
BufferedWriter optionsListWriter = null;
try {
optionsTmpFile = FILE_UTILS.createTempFile(
"javadocOptions", "", null, true, true);
@@ -1906,7 +1904,7 @@ public class Javadoc extends Task {
toExecute.clearArgs();
toExecute.createArgument().setValue(
"@" + optionsTmpFile.getAbsolutePath());
optionsListWriter = new PrintWriter(
optionsListWriter = new BufferedWriter(
new FileWriter(optionsTmpFile.getAbsolutePath(), true));
for (int i = 0; i < listOpt.length; i++) {
String string = listOpt[i];
@@ -1914,10 +1912,11 @@ public class Javadoc extends Task {
toExecute.createArgument().setValue(string);
} else {
if (string.startsWith("-")) {
optionsListWriter.print(string);
optionsListWriter.print(" ");
optionsListWriter.write(string);
optionsListWriter.write(" ");
} else {
optionsListWriter.println(quoteString(string));
optionsListWriter.write(quoteString(string));
optionsListWriter.newLine();
}
}
}
@@ -2170,13 +2169,14 @@ public class Javadoc extends Task {
Vector sourceFilesToDoc,
boolean useExternalFile,
File tmpList,
PrintWriter srcListWriter)
BufferedWriter srcListWriter)
throws IOException {
Enumeration e = packagesToDoc.elements();
while (e.hasMoreElements()) {
String packageName = (String) e.nextElement();
if (useExternalFile) {
srcListWriter.println(packageName);
srcListWriter.write(packageName);
srcListWriter.newLine();
} else {
toExecute.createArgument().setValue(packageName);
}
@@ -2194,10 +2194,11 @@ public class Javadoc extends Task {
if (File.separatorChar == '\\') {
name = sourceFileName.replace(File.separatorChar, '/');
}
srcListWriter.println("\"" + name + "\"");
srcListWriter.write("\"" + name + "\"");
} else {
srcListWriter.println(sourceFileName);
srcListWriter.write(sourceFileName);
}
srcListWriter.newLine();
} else {
toExecute.createArgument().setValue(sourceFileName);
}


+ 5
- 4
src/main/org/apache/tools/ant/taskdefs/Jikes.java View File

@@ -17,10 +17,10 @@
*/
package org.apache.tools.ant.taskdefs;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
@@ -83,13 +83,14 @@ public class Jikes {

if (myos.toLowerCase().indexOf("windows") >= 0
&& args.length > MAX_FILES_ON_COMMAND_LINE) {
PrintWriter out = null;
BufferedWriter out = null;
try {
tmpFile = FileUtils.getFileUtils().createTempFile("jikes",
"tmp", null, false, true);
out = new PrintWriter(new FileWriter(tmpFile));
out = new BufferedWriter(new FileWriter(tmpFile));
for (int i = 0; i < args.length; i++) {
out.println(args[i]);
out.write(args[i]);
out.newLine();
}
out.flush();
commandArray = new String[] {command,


+ 6
- 5
src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java View File

@@ -21,10 +21,10 @@ package org.apache.tools.ant.taskdefs.compilers;
//Java5 style
//import static org.apache.tools.ant.util.StringUtils.LINE_SEP;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Location;
import org.apache.tools.ant.Project;
@@ -467,18 +467,19 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter {
*/
if (Commandline.toString(args).length() > COMMAND_LINE_LIMIT
&& firstFileName >= 0) {
PrintWriter out = null;
BufferedWriter out = null;
try {
tmpFile = FILE_UTILS.createTempFile(
"files", "", getJavac().getTempdir(), true, true);
out = new PrintWriter(new FileWriter(tmpFile));
out = new BufferedWriter(new FileWriter(tmpFile));
for (int i = firstFileName; i < args.length; i++) {
if (quoteFiles && args[i].indexOf(" ") > -1) {
args[i] = args[i].replace(File.separatorChar, '/');
out.println("\"" + args[i] + "\"");
out.write("\"" + args[i] + "\"");
} else {
out.println(args[i]);
out.write(args[i]);
}
out.newLine();
}
out.flush();
commandArray = new String[firstFileName + 1];


+ 9
- 7
src/main/org/apache/tools/ant/taskdefs/email/Message.java View File

@@ -18,12 +18,12 @@
package org.apache.tools.ant.taskdefs.email;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.PrintWriter;

import org.apache.tools.ant.ProjectComponent;

@@ -114,10 +114,10 @@ public class Message extends ProjectComponent {
public void print(PrintStream ps)
throws IOException {
// We need character encoding aware printing here.
// So, using PrintWriter over OutputStreamWriter instead of PrintStream
PrintWriter out
= charset != null ? new PrintWriter(new OutputStreamWriter(ps, charset))
: new PrintWriter(ps);
// So, using BufferedWriter over OutputStreamWriter instead of PrintStream
BufferedWriter out
= charset != null ? new BufferedWriter(new OutputStreamWriter(ps, charset))
: new BufferedWriter(new OutputStreamWriter(ps));
if (messageSource != null) {
// Read message from a file
FileReader freader = new FileReader(messageSource);
@@ -126,13 +126,15 @@ public class Message extends ProjectComponent {
BufferedReader in = new BufferedReader(freader);
String line = null;
while ((line = in.readLine()) != null) {
out.println(getProject().replaceProperties(line));
out.write(getProject().replaceProperties(line));
out.newLine();
}
} finally {
freader.close();
}
} else {
out.println(getProject().replaceProperties(buffer.substring(0)));
out.write(getProject().replaceProperties(buffer.substring(0)));
out.newLine();
}
out.flush();
}


+ 5
- 4
src/main/org/apache/tools/ant/taskdefs/optional/Cab.java View File

@@ -18,11 +18,11 @@

package org.apache.tools.ant.taskdefs.optional;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Enumeration;
import java.util.Vector;
import org.apache.tools.ant.BuildException;
@@ -179,11 +179,12 @@ public class Cab extends MatchingTask {
throws IOException {
File listFile = FILE_UTILS.createTempFile("ant", "", null, true, true);

PrintWriter writer = new PrintWriter(new FileOutputStream(listFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(listFile));

int size = files.size();
for (int i = 0; i < size; i++) {
writer.println('\"' + files.elementAt(i).toString() + '\"');
writer.write('\"' + files.elementAt(i).toString() + '\"');
writer.newLine();
}
writer.close();



+ 10
- 12
src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java View File

@@ -27,7 +27,6 @@ import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Reader;
import java.io.Writer;
import java.util.Iterator;
@@ -368,7 +367,6 @@ public class ReplaceRegExp extends Task {

BufferedReader br = new BufferedReader(r);
BufferedWriter bw = new BufferedWriter(w);
PrintWriter pw = new PrintWriter(bw);

boolean changes = false;

@@ -398,8 +396,8 @@ public class ReplaceRegExp extends Task {
changes = true;
}

pw.print(res);
pw.print('\r');
bw.write(res);
bw.write('\r');

linebuf = new StringBuffer();
// hasCR is still true (for the second one)
@@ -416,12 +414,12 @@ public class ReplaceRegExp extends Task {
changes = true;
}

pw.print(res);
bw.write(res);
if (hasCR) {
pw.print('\r');
bw.write('\r');
hasCR = false;
}
pw.print('\n');
bw.write('\n');

linebuf = new StringBuffer();
} else { // any other char
@@ -434,9 +432,9 @@ public class ReplaceRegExp extends Task {
changes = true;
}

pw.print(res);
bw.write(res);
if (hasCR) {
pw.print('\r');
bw.write('\r');
hasCR = false;
}

@@ -449,7 +447,7 @@ public class ReplaceRegExp extends Task {
}
} while (c >= 0);

pw.flush();
bw.flush();
} else {
String buf = FileUtils.safeReadFully(br);

@@ -459,8 +457,8 @@ public class ReplaceRegExp extends Task {
changes = true;
}

pw.print(res);
pw.flush();
bw.write(res);
bw.flush();
}

r.close();


+ 7
- 5
src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java View File

@@ -18,11 +18,11 @@
package org.apache.tools.ant.taskdefs.optional.depend;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URL;
import java.util.Enumeration;
import java.util.Hashtable;
@@ -216,23 +216,25 @@ public class Depend extends MatchingTask {
private void writeCachedDependencies(Hashtable dependencyMap)
throws IOException {
if (cache != null) {
PrintWriter pw = null;
BufferedWriter pw = null;
try {
cache.mkdirs();
File depFile = new File(cache, CACHE_FILE_NAME);

pw = new PrintWriter(new FileWriter(depFile));
pw = new BufferedWriter(new FileWriter(depFile));
Enumeration e = dependencyMap.keys();
while (e.hasMoreElements()) {
String className = (String) e.nextElement();

pw.println(CLASSNAME_PREPEND + className);
pw.write(CLASSNAME_PREPEND + className);
pw.newLine();

Vector dependencyList
= (Vector) dependencyMap.get(className);
int size = dependencyList.size();
for (int x = 0; x < size; x++) {
pw.println(dependencyList.elementAt(x));
pw.write(String.valueOf(dependencyList.elementAt(x)));
pw.newLine();
}
}
} finally {


+ 27
- 12
src/main/org/apache/tools/ant/taskdefs/optional/junit/BriefJUnitResultFormatter.java View File

@@ -18,14 +18,16 @@

package org.apache.tools.ant.taskdefs.optional.junit;

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.NumberFormat;

import junit.framework.AssertionFailedError;
import junit.framework.Test;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.util.FileUtils;
import org.apache.tools.ant.util.StringUtils;

@@ -48,7 +50,7 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter {
/**
* Used for writing the results.
*/
private PrintWriter output;
private BufferedWriter output;

/**
* Used as part of formatting the results.
@@ -58,7 +60,7 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter {
/**
* Used for writing formatted results to.
*/
private PrintWriter resultWriter;
private BufferedWriter resultWriter;

/**
* Formatter for timings.
@@ -80,7 +82,7 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter {
*/
public BriefJUnitResultFormatter() {
results = new StringWriter();
resultWriter = new PrintWriter(results);
resultWriter = new BufferedWriter(results);
}

/**
@@ -89,7 +91,7 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter {
*/
public void setOutput(OutputStream out) {
this.out = out;
output = new PrintWriter(out);
output = new BufferedWriter(new java.io.OutputStreamWriter(out));
}

/**
@@ -120,8 +122,12 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter {
StringBuffer sb = new StringBuffer("Testsuite: ");
sb.append(suite.getName());
sb.append(StringUtils.LINE_SEP);
output.write(sb.toString());
output.flush();
try {
output.write(sb.toString());
output.flush();
} catch (IOException ex) {
throw new BuildException(ex);
}
}

/**
@@ -164,6 +170,8 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter {
resultWriter.close();
output.write(results.toString());
output.flush();
} catch (IOException ex) {
throw new BuildException(ex);
} finally {
if (out != System.out && out != System.err) {
FileUtils.close(out);
@@ -242,10 +250,17 @@ public class BriefJUnitResultFormatter implements JUnitResultFormatter {
endTest(test);
}

resultWriter.println(formatTest(test) + type);
resultWriter.println(error.getMessage());
String strace = JUnitTestRunner.getFilteredTrace(error);
resultWriter.println(strace);
resultWriter.println();
try {
resultWriter.write(formatTest(test) + type);
resultWriter.newLine();
resultWriter.write(error.getMessage());
resultWriter.newLine();
String strace = JUnitTestRunner.getFilteredTrace(error);
resultWriter.write(strace);
resultWriter.newLine();
resultWriter.newLine();
} catch (IOException ex) {
throw new BuildException(ex);
}
}
}

+ 40
- 28
src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java View File

@@ -17,11 +17,11 @@
*/
package org.apache.tools.ant.taskdefs.optional.junit;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
@@ -90,7 +90,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
private static SortedSet/*<TestInfos>*/ failedTests = new TreeSet();

/** A writer for writing the generated source to. */
private PrintWriter writer;
private BufferedWriter writer;

/**
* Location and name of the generated JUnit class.
@@ -249,54 +249,66 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm
verbose("Write collector class to '" + sourceFile.getAbsolutePath() + "'");

sourceFile.delete();
writer = new PrintWriter(new FileOutputStream(sourceFile));
writer = new BufferedWriter(new FileWriter(sourceFile));

createClassHeader();
createSuiteMethod();
createClassFooter();

FileUtils.close(writer);
} catch (FileNotFoundException e) {
} catch (IOException e) {
e.printStackTrace();
}
}

private void createClassHeader() {
private void createClassHeader() throws IOException {
String className = getLocationName().replace('\\', '/');
if (className.indexOf('/') > -1) {
className = className.substring(className.lastIndexOf('/') + 1);
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss,SSS");
writer.print("// generated on: ");
writer.println(sdf.format(new Date()));
writer.println("import junit.framework.*;");
writer.print("public class ");
writer.print(className);
writer.write("// generated on: ");
writer.write(sdf.format(new Date()));
writer.newLine();
writer.write("import junit.framework.*;");
writer.newLine();
writer.write("public class ");
writer.write(className);
// If this class does not extend TC, Ant doesnt run these
writer.println(" extends TestCase {");
writer.write(" extends TestCase {");
writer.newLine();
// standard String-constructor
writer.print(" public ");
writer.print(className);
writer.println("(String testname) {");
writer.println(" super(testname);");
writer.println(" }");
writer.write(" public ");
writer.write(className);
writer.write("(String testname) {");
writer.newLine();
writer.write(" super(testname);");
writer.newLine();
writer.write(" }");
writer.newLine();
}

private void createSuiteMethod() {
writer.println(" public static Test suite() {");
writer.println(" TestSuite suite = new TestSuite();");
private void createSuiteMethod() throws IOException {
writer.write(" public static Test suite() {");
writer.newLine();
writer.write(" TestSuite suite = new TestSuite();");
writer.newLine();
for (Iterator iter = failedTests.iterator(); iter.hasNext();) {
TestInfos testInfos = (TestInfos) iter.next();
writer.print(" suite.addTest(");
writer.print(testInfos);
writer.println(");");
writer.write(" suite.addTest(");
writer.write(String.valueOf(testInfos));
writer.write(");");
writer.newLine();
}
writer.println(" return suite;");
writer.println(" }");
writer.write(" return suite;");
writer.newLine();
writer.write(" }");
writer.newLine();
}

private void createClassFooter() {
writer.println("}");
private void createClassFooter() throws IOException {
writer.write("}");
writer.newLine();
}

// ===== Helper classes and methods =====


+ 7
- 7
src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java View File

@@ -27,7 +27,6 @@ import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.lang.reflect.Constructor;
import java.net.URL;
import java.util.ArrayList;
@@ -849,10 +848,10 @@ public class JUnitTask extends Task {
// Create a temporary file to pass the test cases to run to
// the runner (one test case per line)
File casesFile = createTempPropertiesFile("junittestcases");
PrintWriter writer = null;
BufferedWriter writer = null;
try {
writer =
new PrintWriter(new BufferedWriter(new FileWriter(casesFile)));
new BufferedWriter(new BufferedWriter(new FileWriter(casesFile)));

log("Creating casesfile '" + casesFile.getAbsolutePath()
+ "' with content: ", Project.MSG_VERBOSE);
@@ -1969,15 +1968,16 @@ public class JUnitTask extends Task {
return t;
}

private static void printDual(PrintWriter w, PrintStream s, String text)
private static void printDual(BufferedWriter w, PrintStream s, String text)
throws IOException {
w.print(text);
w.write(text);
s.print(text);
}

private static void printlnDual(PrintWriter w, PrintStream s, String text)
private static void printlnDual(BufferedWriter w, PrintStream s, String text)
throws IOException {
w.println(text);
w.write(text);
w.newLine();
s.println(text);
}
}

+ 4
- 3
src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java View File

@@ -19,6 +19,7 @@
package org.apache.tools.ant.taskdefs.optional.junit;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
@@ -26,7 +27,6 @@ import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.StringReader;
import java.io.StringWriter;
import java.lang.reflect.Method;
@@ -878,7 +878,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
return stack;
}
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
BufferedWriter pw = new BufferedWriter(sw);
StringReader sr = new StringReader(stack);
BufferedReader br = new BufferedReader(sr);

@@ -886,7 +886,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
try {
while ((line = br.readLine()) != null) {
if (!filterLine(line)) {
pw.println(line);
pw.write(line);
pw.newLine();
}
}
} catch (Exception e) {


+ 20
- 9
src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java View File

@@ -18,9 +18,9 @@

package org.apache.tools.ant.taskdefs.optional.junit;

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.NumberFormat;
import java.util.Hashtable;
@@ -61,7 +61,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter {
/**
* Convenience layer on top of {@link #inner inner}.
*/
private PrintWriter wri;
private BufferedWriter wri;
/**
* Suppress endTest if testcase failed.
*/
@@ -73,7 +73,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter {
/** No arg constructor */
public PlainJUnitResultFormatter() {
inner = new StringWriter();
wri = new PrintWriter(inner);
wri = new BufferedWriter(inner);
}

/** {@inheritDoc}. */
@@ -185,7 +185,8 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter {
return;
}
synchronized (wri) {
wri.print("Testcase: "
try {
wri.write("Testcase: "
+ JUnitVersionHelper.getTestCaseName(test));
Long l = (Long) testStarts.get(test);
double seconds = 0;
@@ -195,7 +196,11 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter {
(System.currentTimeMillis() - l.longValue()) / ONE_SECOND;
}

wri.println(" took " + nf.format(seconds) + " sec");
wri.write(" took " + nf.format(seconds) + " sec");
wri.newLine();
} catch (IOException ex) {
throw new BuildException(ex);
}
}
}

@@ -239,11 +244,17 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter {
failed.put(test, Boolean.TRUE);
}

wri.println(type);
wri.println(t.getMessage());
try {
wri.write(type);
wri.newLine();
wri.write(t.getMessage());
wri.newLine();
String strace = JUnitTestRunner.getFilteredTrace(t);
wri.print(strace);
wri.println("");
wri.write(strace);
wri.newLine();
} catch (IOException ex) {
throw new BuildException(ex);
}
}
}



+ 5
- 4
src/main/org/apache/tools/ant/util/JavaEnvUtils.java View File

@@ -17,9 +17,9 @@
*/
package org.apache.tools.ant.util;

import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.util.Vector;
@@ -441,11 +441,12 @@ public final class JavaEnvUtils {
public static File createVmsJavaOptionFile(String[] cmd)
throws IOException {
File script = FILE_UTILS.createTempFile("ANT", ".JAVA_OPTS", null, false, true);
PrintWriter out = null;
BufferedWriter out = null;
try {
out = new PrintWriter(new BufferedWriter(new FileWriter(script)));
out = new BufferedWriter(new FileWriter(script));
for (int i = 0; i < cmd.length; i++) {
out.println(cmd[i]);
out.write(cmd[i]);
out.newLine();
}
} finally {
FileUtils.close(out);


Loading…
Cancel
Save