You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2010/03/23 06:26:12 UTC
svn commit: r926465 - in /ant/core/trunk: CONTRIBUTORS WHATSNEW
contributors.xml
src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
src/tests/antunit/taskdefs/optional/junit/junit-test.xml
Author: bodewig
Date: Tue Mar 23 05:26:11 2010
New Revision: 926465
URL: http://svn.apache.org/viewvc?rev=926465&view=rev
Log:
reject empty test names. Submitted by Clark Archer. PR 43586
Modified:
ant/core/trunk/CONTRIBUTORS
ant/core/trunk/WHATSNEW
ant/core/trunk/contributors.xml
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
ant/core/trunk/src/tests/antunit/taskdefs/optional/junit/junit-test.xml
Modified: ant/core/trunk/CONTRIBUTORS
URL: http://svn.apache.org/viewvc/ant/core/trunk/CONTRIBUTORS?rev=926465&r1=926464&r2=926465&view=diff
==============================================================================
Binary files - no diff available.
Modified: ant/core/trunk/WHATSNEW
URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=926465&r1=926464&r2=926465&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Tue Mar 23 05:26:11 2010
@@ -96,6 +96,10 @@ Other changes:
meaningful error message
Bugzilla Report 48834
+ * <junit> will now throw an exception if a test name is empty. This
+ used to manifest itself in unrelated errors like
+ Bugzilla Report 43586.
+
Changes from Ant 1.8.0RC1 TO Ant 1.8.0
======================================
Modified: ant/core/trunk/contributors.xml
URL: http://svn.apache.org/viewvc/ant/core/trunk/contributors.xml?rev=926465&r1=926464&r2=926465&view=diff
==============================================================================
--- ant/core/trunk/contributors.xml (original)
+++ ant/core/trunk/contributors.xml Tue Mar 23 05:26:11 2010
@@ -215,6 +215,10 @@
<last>Charlier</last>
</name>
<name>
+ <first>Clark</first>
+ <last>Archer</last>
+ </name>
+ <name>
<first>Clemens</first>
<last>Hammacher</last>
</name>
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java?rev=926465&r1=926464&r2=926465&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java Tue Mar 23 05:26:11 2010
@@ -789,6 +789,8 @@ public class JUnitTask extends Task {
* @throws BuildException in case of test failures or errors
*/
protected void execute(JUnitTest arg) throws BuildException {
+ validateTestName(arg.getName());
+
JUnitTest test = (JUnitTest) arg.clone();
// set the default values if not specified
//@todo should be moved to the test class instead.
@@ -813,6 +815,20 @@ public class JUnitTask extends Task {
}
/**
+ * Throws a <code>BuildException</code> if the given test name is invalid.
+ * Validity is defined as not <code>null</code>, not empty, and not the
+ * string "null".
+ * @param testName the test name to be validated
+ * @throws BuildException if <code>testName</code> is not a valid test name
+ */
+ private void validateTestName(String testName) throws BuildException {
+ if (testName == null || testName.length() == 0
+ || testName.equals("null")) {
+ throw new BuildException("test name must be specified");
+ }
+ }
+
+ /**
* Execute a list of tests in a single forked Java VM.
* @param testList the list of tests to execute.
* @throws BuildException on error.
Modified: ant/core/trunk/src/tests/antunit/taskdefs/optional/junit/junit-test.xml
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/optional/junit/junit-test.xml?rev=926465&r1=926464&r2=926465&view=diff
==============================================================================
--- ant/core/trunk/src/tests/antunit/taskdefs/optional/junit/junit-test.xml (original)
+++ ant/core/trunk/src/tests/antunit/taskdefs/optional/junit/junit-test.xml Tue Mar 23 05:26:11 2010
@@ -289,4 +289,13 @@ public class BTest extends TestCase {
<au:assertLogDoesntContain text="Running test.HTest"/>
</target>
+ <target name="testMissingTestName">
+ <property name="test.name" value="null"/>
+ <au:expectfailure message="test name must be specified">
+ <junit fork="false">
+ <test name="${test.name}"/>
+ </junit>
+ </au:expectfailure>
+ </target>
+
</project>