@@ -365,9 +365,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
public void run() {
public void run() {
res = new IgnoredTestResult();
res = new IgnoredTestResult();
res.addListener(wrapListener(this));
res.addListener(wrapListener(this));
final int size = formatters.size();
for (int i = 0; i < size; i++) {
res.addListener(wrapListener((TestListener) formatters.elementAt(i)));
for (JUnitTaskMirror.JUnitResultFormatterMirror f : formatters) {
res.addListener(wrapListener((TestListener) f));
}
}
final ByteArrayOutputStream errStrm = new ByteArrayOutputStream();
final ByteArrayOutputStream errStrm = new ByteArrayOutputStream();
@@ -506,9 +505,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
suite = TestSuite.createTest(testClass, methods[0]);
suite = TestSuite.createTest(testClass, methods[0]);
} else {
} else {
final TestSuite testSuite = new TestSuite(testClass.getName());
final TestSuite testSuite = new TestSuite(testClass.getName());
for (int i = 0; i < methods.length; i++) {
testSuite.addTest(
TestSuite.createTest(testClass, methods[i]));
for (String method : methods) {
testSuite.addTest(TestSuite.createTest(testClass, method));
}
}
suite = testSuite;
suite = testSuite;
}
}
@@ -524,9 +522,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
fireStartTestSuite();
fireStartTestSuite();
startTestSuiteSuccess = true;
startTestSuiteSuccess = true;
if (exception != null) { // had an exception constructing suite
if (exception != null) { // had an exception constructing suite
final int formatterSize = formatters.size();
for (int i = 0; i < formatterSize; i++) {
((TestListener) formatters.elementAt(i)).addError(null, exception);
for (JUnitTaskMirror.JUnitResultFormatterMirror f : formatters) {
((TestListener) f).addError(null, exception);
}
}
junitTest.setCounts(1, 0, 1, 0);
junitTest.setCounts(1, 0, 1, 0);
junitTest.setRunTime(0);
junitTest.setRunTime(0);
@@ -837,27 +834,22 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
}
}
private void sendOutAndErr(final String out, final String err) {
private void sendOutAndErr(final String out, final String err) {
final int size = formatters.size();
for (int i = 0; i < size; i++) {
final JUnitResultFormatter formatter =
(JUnitResultFormatter) formatters.get(i);
for (JUnitTaskMirror.JUnitResultFormatterMirror f : formatters) {
final JUnitResultFormatter formatter = (JUnitResultFormatter) f;
formatter.setSystemOutput(out);
formatter.setSystemOutput(out);
formatter.setSystemError(err);
formatter.setSystemError(err);
}
}
}
}
private void fireStartTestSuite() {
private void fireStartTestSuite() {
final int size = formatters.size();
for (int i = 0; i < size; i++) {
((JUnitResultFormatter) formatters.elementAt(i)).startTestSuite(junitTest);
for (JUnitTaskMirror.JUnitResultFormatterMirror f : formatters) {
((JUnitResultFormatter) f).startTestSuite(junitTest);
}
}
}
}
private void fireEndTestSuite() {
private void fireEndTestSuite() {
final int size = formatters.size();
for (int i = 0; i < size; i++) {
((JUnitResultFormatter) formatters.elementAt(i)).endTestSuite(junitTest);
for (JUnitTaskMirror.JUnitResultFormatterMirror f : formatters) {
((JUnitResultFormatter) f).endTestSuite(junitTest);
}
}
}
}
@@ -937,52 +929,52 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
args[0] = args[0].substring(Constants.TESTSFILE.length());
args[0] = args[0].substring(Constants.TESTSFILE.length());
}
}
for (int i = 1; i < args.length; i++ ) {
if (args[i] .startsWith(Constants.METHOD_NAMES)) {
for (String arg : args ) {
if (arg.startsWith(Constants.METHOD_NAMES)) {
try {
try {
final String methodsList = args[i] .substring(Constants.METHOD_NAMES.length());
final String methodsList = arg.substring(Constants.METHOD_NAMES.length());
methods = JUnitTest.parseTestMethodNamesList(methodsList);
methods = JUnitTest.parseTestMethodNamesList(methodsList);
} catch (final IllegalArgumentException ex) {
} catch (final IllegalArgumentException ex) {
System.err.println("Invalid specification of test method names: " + args[i] );
System.err.println("Invalid specification of test method names: " + arg);
System.exit(ERRORS);
System.exit(ERRORS);
}
}
} else if (args[i] .startsWith(Constants.HALT_ON_ERROR)) {
haltError = Project.toBoolean(args[i] .substring(Constants.HALT_ON_ERROR.length()));
} else if (args[i] .startsWith(Constants.HALT_ON_FAILURE)) {
haltFail = Project.toBoolean(args[i] .substring(Constants.HALT_ON_FAILURE.length()));
} else if (args[i] .startsWith(Constants.FILTERTRACE)) {
stackfilter = Project.toBoolean(args[i] .substring(Constants.FILTERTRACE.length()));
} else if (args[i] .startsWith(Constants.CRASHFILE)) {
crashFile = args[i] .substring(Constants.CRASHFILE.length());
} else if (arg.startsWith(Constants.HALT_ON_ERROR)) {
haltError = Project.toBoolean(arg.substring(Constants.HALT_ON_ERROR.length()));
} else if (arg.startsWith(Constants.HALT_ON_FAILURE)) {
haltFail = Project.toBoolean(arg.substring(Constants.HALT_ON_FAILURE.length()));
} else if (arg.startsWith(Constants.FILTERTRACE)) {
stackfilter = Project.toBoolean(arg.substring(Constants.FILTERTRACE.length()));
} else if (arg.startsWith(Constants.CRASHFILE)) {
crashFile = arg.substring(Constants.CRASHFILE.length());
registerTestCase(Constants.BEFORE_FIRST_TEST);
registerTestCase(Constants.BEFORE_FIRST_TEST);
} else if (args[i] .startsWith(Constants.FORMATTER)) {
} else if (arg.startsWith(Constants.FORMATTER)) {
try {
try {
createAndStoreFormatter(args[i] .substring(Constants.FORMATTER.length()));
createAndStoreFormatter(arg.substring(Constants.FORMATTER.length()));
} catch (final BuildException be) {
} catch (final BuildException be) {
System.err.println(be.getMessage());
System.err.println(be.getMessage());
System.exit(ERRORS);
System.exit(ERRORS);
}
}
} else if (args[i] .startsWith(Constants.PROPSFILE)) {
final InputStream in = Files.newInputStream(Paths.get(args[i]
} else if (arg.startsWith(Constants.PROPSFILE)) {
final InputStream in = Files.newInputStream(Paths.get(arg
.substring(Constants.PROPSFILE.length())));
.substring(Constants.PROPSFILE.length())));
props.load(in);
props.load(in);
in.close();
in.close();
} else if (args[i] .startsWith(Constants.SHOWOUTPUT)) {
showOut = Project.toBoolean(args[i] .substring(Constants.SHOWOUTPUT.length()));
} else if (args[i] .startsWith(Constants.LOGTESTLISTENEREVENTS)) {
} else if (arg.startsWith(Constants.SHOWOUTPUT)) {
showOut = Project.toBoolean(arg.substring(Constants.SHOWOUTPUT.length()));
} else if (arg.startsWith(Constants.LOGTESTLISTENEREVENTS)) {
logTestListenerEvents = Project.toBoolean(
logTestListenerEvents = Project.toBoolean(
args[i] .substring(Constants.LOGTESTLISTENEREVENTS.length()));
} else if (args[i] .startsWith(Constants.OUTPUT_TO_FORMATTERS)) {
arg.substring(Constants.LOGTESTLISTENEREVENTS.length()));
} else if (arg.startsWith(Constants.OUTPUT_TO_FORMATTERS)) {
outputToFormat = Project.toBoolean(
outputToFormat = Project.toBoolean(
args[i] .substring(Constants.OUTPUT_TO_FORMATTERS.length()));
} else if (args[i] .startsWith(Constants.LOG_FAILED_TESTS)) {
arg.substring(Constants.OUTPUT_TO_FORMATTERS.length()));
} else if (arg.startsWith(Constants.LOG_FAILED_TESTS)) {
logFailedTests = Project.toBoolean(
logFailedTests = Project.toBoolean(
args[i] .substring(Constants.LOG_FAILED_TESTS.length()));
} else if (args[i] .startsWith(Constants.SKIP_NON_TESTS)) {
arg.substring(Constants.LOG_FAILED_TESTS.length()));
} else if (arg.startsWith(Constants.SKIP_NON_TESTS)) {
skipNonTests = Project.toBoolean(
skipNonTests = Project.toBoolean(
args[i] .substring(Constants.SKIP_NON_TESTS.length()));
} else if (args[i] .startsWith(Constants.THREADID)) {
antThreadID = Integer.parseInt(args[i] .substring(Constants.THREADID.length()));
arg.substring(Constants.SKIP_NON_TESTS.length()));
} else if (arg.startsWith(Constants.THREADID)) {
antThreadID = Integer.parseInt(arg.substring(Constants.THREADID.length()));
}
}
}
}
@@ -1096,9 +1088,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
registerTestCase(JUnitVersionHelper.getTestCaseName(arg0));
registerTestCase(JUnitVersionHelper.getTestCaseName(arg0));
}
}
});
});
final int size = fromCmdLine.size();
for (int i = 0; i < size; i++) {
final FormatterElement fe = fromCmdLine.elementAt(i);
for (FormatterElement fe : fromCmdLine) {
if (multipleTests && fe.getUseFile()) {
if (multipleTests && fe.getUseFile()) {
final File destFile = new File(test.getTodir(),
final File destFile = new File(test.getTodir(),
test.getOutfile() + fe.getExtension());
test.getOutfile() + fe.getExtension());
@@ -1180,8 +1170,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
}
}
private static boolean filterLine(final String line) {
private static boolean filterLine(final String line) {
for (int i = 0; i < DEFAULT_TRACE_FILTERS.length; i++ ) {
if (line.indexOf(DEFAULT_TRACE_FILTERS[i] ) != -1) {
for (String filter : DEFAULT_TRACE_FILTERS ) {
if (line.indexOf(filter ) != -1) {
return true;
return true;
}
}
}
}