diff --git a/lib/optional/junit.jar b/lib/optional/junit.jar index 019387737..914a5cfa9 100644 Binary files a/lib/optional/junit.jar and b/lib/optional/junit.jar differ diff --git a/src/etc/testcases/taskdefs/property.xml b/src/etc/testcases/taskdefs/property.xml index fdc601e1d..ae967470b 100644 --- a/src/etc/testcases/taskdefs/property.xml +++ b/src/etc/testcases/taskdefs/property.xml @@ -5,4 +5,15 @@ + + + + + + + + + + + diff --git a/src/etc/testcases/taskdefs/property1.properties b/src/etc/testcases/taskdefs/property1.properties new file mode 100644 index 000000000..ea3ecc4cb --- /dev/null +++ b/src/etc/testcases/taskdefs/property1.properties @@ -0,0 +1,3 @@ +testprop2=xx +testprop3=${testprop2}yy +testprop4=${testprop1}zz diff --git a/src/etc/testcases/taskdefs/property2.properties b/src/etc/testcases/taskdefs/property2.properties new file mode 100644 index 000000000..257899a23 --- /dev/null +++ b/src/etc/testcases/taskdefs/property2.properties @@ -0,0 +1,3 @@ +testprop1=aa${testprop2}bb +testprop2=cc${testprop1}dd + diff --git a/src/main/org/apache/tools/ant/Target.java b/src/main/org/apache/tools/ant/Target.java index 36a28ffd4..b24c22f76 100644 --- a/src/main/org/apache/tools/ant/Target.java +++ b/src/main/org/apache/tools/ant/Target.java @@ -184,6 +184,7 @@ public class Target implements TaskContainer { } catch(RuntimeException exc) { project.fireTargetFinished(this, exc); + System.out.println("Caught exception = " + exc.getMessage()); throw exc; } } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/PropertyTest.java b/src/testcases/org/apache/tools/ant/taskdefs/PropertyTest.java index 3b5378536..17924d10f 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/PropertyTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/PropertyTest.java @@ -54,6 +54,8 @@ package org.apache.tools.ant.taskdefs; +import org.apache.tools.ant.*; + /** * @author Conor MacNeill */ @@ -71,4 +73,21 @@ public class PropertyTest extends TaskdefsTest { // should get no output at all expectOutputAndError("test1", "", ""); } + + public void test2() { + expectLog("test2", "testprop1=aa, testprop3=xxyy, testprop4=aazz"); + } + + public void test3() { + try { + executeTarget("test3"); + } + catch (BuildException e) { + assertEquals("Circular definition not detected - ", true, + e.getMessage().indexOf("was circularly defined") != -1); + return; + } + fail("Did not throw exception on circular exception"); + } + } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/TaskdefsTest.java b/src/testcases/org/apache/tools/ant/taskdefs/TaskdefsTest.java index e7a135859..7e67ce9ad 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/TaskdefsTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/TaskdefsTest.java @@ -170,7 +170,7 @@ public abstract class TaskdefsTest extends TestCase { } protected void expectSpecificBuildException(String taskname, String cause, String msg) { - try { + try { executeTarget(taskname); } catch (org.apache.tools.ant.BuildException ex) { if ((null != msg) && (ex.getMessage() != msg)) {