multiple JUnit tests in a single VM. PR: 32973 git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@278057 13f79535-47bb-0310-9956-ffa450edef68master
@@ -450,6 +450,9 @@ Fixed bugs: | |||||
* <xslt> failed to process file-hierarchies of more than one level if | * <xslt> failed to process file-hierarchies of more than one level if | ||||
scanincludeddirectories was true. Bugzilla Report 24866. | scanincludeddirectories was true. Bugzilla Report 24866. | ||||
* forkmode="perBatch" or "once" would ignore extension attributes that | |||||
had been specified for <formatter>s. Bugzilla Report 32973. | |||||
Changes from Ant 1.6.1 to Ant 1.6.2 | Changes from Ant 1.6.1 to Ant 1.6.2 | ||||
=================================== | =================================== | ||||
@@ -1183,7 +1183,11 @@ public class JUnitTask extends Task { | |||||
*/ | */ | ||||
protected File getOutput(FormatterElement fe, JUnitTest test) { | protected File getOutput(FormatterElement fe, JUnitTest test) { | ||||
if (fe.getUseFile()) { | if (fe.getUseFile()) { | ||||
String filename = test.getOutfile() + fe.getExtension(); | |||||
String base = test.getOutfile(); | |||||
if (base == null) { | |||||
base = JUnitTestRunner.IGNORED_FILE_NAME; | |||||
} | |||||
String filename = base + fe.getExtension(); | |||||
File destFile = new File(test.getTodir(), filename); | File destFile = new File(test.getTodir(), filename); | ||||
String absFilename = destFile.getAbsolutePath(); | String absFilename = destFile.getAbsolutePath(); | ||||
return getProject().resolveFile(absFilename); | return getProject().resolveFile(absFilename); | ||||
@@ -79,6 +79,15 @@ public class JUnitTestRunner implements TestListener { | |||||
*/ | */ | ||||
public static final int ERRORS = 2; | public static final int ERRORS = 2; | ||||
/** | |||||
* Used in formatter arguments as a placeholder for the basename | |||||
* of the output file (which gets replaced by a test specific | |||||
* output file name later). | |||||
* | |||||
* @since Ant 1.6.3 | |||||
*/ | |||||
public static final String IGNORED_FILE_NAME = "IGNORETHIS"; | |||||
/** | /** | ||||
* Holds the registered formatters. | * Holds the registered formatters. | ||||
*/ | */ | ||||
@@ -599,6 +608,13 @@ public class JUnitTestRunner implements TestListener { | |||||
fe.setUseFile(true); | fe.setUseFile(true); | ||||
if (!multipleTests) { | if (!multipleTests) { | ||||
fe.setOutfile(new File(line.substring(pos + 1))); | fe.setOutfile(new File(line.substring(pos + 1))); | ||||
} else { | |||||
int fName = line.indexOf(IGNORED_FILE_NAME); | |||||
if (fName > -1) { | |||||
fe.setExtension(line | |||||
.substring(fName | |||||
+ IGNORED_FILE_NAME.length())); | |||||
} | |||||
} | } | ||||
} | } | ||||
fromCmdLine.addElement(fe); | fromCmdLine.addElement(fe); | ||||