ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Curt Arnold <carn...@apache.org>
Subject Rev 568096 breaks ant-contrib
Date Tue, 04 Sep 2007 22:31:58 GMT
Ant-contrib-test has been started failing on Gump sometime between  
2007-08-21T00:00 and 2007-08-22T00L:00 (I believe Pacific DT, but  
could be wrong) with the following test failures:

run-test:
     [junit] Testsuite: net.sf.antcontrib.design.VerifyDesignTest
     [junit] Tests run: 41, Failures: 0, Errors: 0, Time elapsed:  
15.651 sec
     [junit]
     [junit] Testsuite: net.sf.antcontrib.logic.AntCallBackTest
     [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed:  
0.886 sec
     [junit]
     [junit] Testsuite: net.sf.antcontrib.logic.AssertTest
     [junit] Tests run: 8, Failures: 0, Errors: 2, Time elapsed:  
0.317 sec
     [junit]
     [junit] Testcase: test4(net.sf.antcontrib.logic.AssertTest):	 
Caused an ERROR
     [junit] both arg1 and arg2 are required in greater than
     [junit] /srv/gump/public/workspace/ant-contrib/test/resources/ 
logic/asserttest.xml:34: both arg1 and arg2 are required in greater than
     [junit] 	at net.sf.antcontrib.logic.condition.IsGreaterThan.eval 
(IsGreaterThan.java:64)
     [junit] 	at net.sf.antcontrib.logic.Assert.execute(Assert.java:102)
     [junit] 	at net.sf.antcontrib.logic.AssertTest.test4 
(AssertTest.java:57)
     [junit]
     [junit]
     [junit] Testcase: test5(net.sf.antcontrib.logic.AssertTest):	 
Caused an ERROR
     [junit] both arg1 and arg2 are required in less than
     [junit] /srv/gump/public/workspace/ant-contrib/test/resources/ 
logic/asserttest.xml:42: both arg1 and arg2 are required in less than
     [junit] 	at net.sf.antcontrib.logic.condition.IsLessThan.eval 
(IsLessThan.java:64)
     [junit] 	at net.sf.antcontrib.logic.Assert.execute(Assert.java:102)
     [junit] 	at net.sf.antcontrib.logic.AssertTest.test5 
(AssertTest.java:61)
     [junit]
     [junit]
     [junit] Test net.sf.antcontrib.logic.AssertTest FAILED
     [junit] Testsuite: net.sf.antcontrib.logic.ForTest
     [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed:  
0.076 sec

...
     [junit]
     [junit] Testsuite: net.sf.antcontrib.process.LimitTest
     [junit] Tests run: 2, Failures: 0, Errors: 1, Time elapsed:  
2.072 sec
     [junit]
     [junit] Testcase: test2(net.sf.antcontrib.process.LimitTest):	 
Caused an ERROR
     [junit] both arg1 and arg2 are required in less than
     [junit] /srv/gump/public/workspace/ant-contrib/test/resources/ 
logic/limittest.xml:32: both arg1 and arg2 are required in less than
     [junit] 	at net.sf.antcontrib.logic.condition.IsLessThan.eval 
(IsLessThan.java:64)
     [junit] 	at net.sf.antcontrib.logic.Assert.execute(Assert.java:102)
     [junit] 	at net.sf.antcontrib.process.LimitTest.test2 
(LimitTest.java:35)
     [junit]
     [junit]
     [junit] Test net.sf.antcontrib.process.LimitTest FAILED
     [junit] Testsuite: net.sf.antcontrib.property.PathToFileSetTest
     [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed:  
0.112 sec

...

and continues in that state see http://vmgump.apache.org/gump/public/ 
ant-contrib/ant-contrib-test/index.html.

There were no changes to ant-contrib during that time, but there were  
many changes to Ant.  I went through and ran the ant-contrib-tests  
against various revisions and it appears that ant-contrib would pass  
with rev 568091 and failed with 568096 and every later release I tried.

To run the test, check ant-contrib out from SVN:

$ svn co https://ant-contrib.svn.sourceforge.net/svnroot/ant-contrib/ 
ant-contrib/trunk ant-contrib
$ cd ant-contrib
'
'
' will run ant-contrib against Ant 1.6.5, but will also download  
dependencies.  Should pass.
$ mvn package
'
'  will pass or fail depending on whether a pre or post rev 568096  
ant is on the path
'
$ ant -Dno-ivy=true clean gump-safe-test -lib ~/.m2/repository/junit/ 
junit/3.8.1/junit-3.8.1.jar

The offending rev does deal with Introspection and seems that it  
could interfere with proper initialization of tasks, but I don't see  
any obvious error in the patch.  It doesn't have a related bug  
report, so I don't know what it is trying to fix.

Index: src/main/org/apache/tools/ant/IntrospectionHelper.java
===================================================================
--- src/main/org/apache/tools/ant/IntrospectionHelper.java	(revision  
568091)
+++ src/main/org/apache/tools/ant/IntrospectionHelper.java	(revision  
568096)
@@ -943,6 +943,17 @@
          final Class reflectedArg = PRIMITIVE_TYPE_MAP.containsKey(arg)
              ? (Class) PRIMITIVE_TYPE_MAP.get(arg) : arg;
+        // Object.class - it gets handled differently by  
AttributeSetter
+        if (java.lang.Object.class == reflectedArg) {
+            return new AttributeSetter(m, arg) {
+                public void set(Project p, Object parent, String value)
+                        throws InvocationTargetException,
+                    IllegalAccessException {
+                    throw new BuildException(
+                        "Internal ant problem - this should not get  
called");
+                }
+            };
+        }
          // simplest case - setAttribute expects String
          if (java.lang.String.class.equals(reflectedArg)) {
              return new AttributeSetter(m, arg) {


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message