Author: bodewig
Date: Mon Aug 18 07:48:51 2008
New Revision: 686775
URL: http://svn.apache.org/viewvc?rev=686775&view=rev
Log:
sometimes an infinite recursion of filters is flagged when there is none. PR
44226. Submitted by Adam Bryzak.
Modified:
ant/core/trunk/CONTRIBUTORS
ant/core/trunk/WHATSNEW
ant/core/trunk/contributors.xml
ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java
ant/core/trunk/src/tests/antunit/types/filterset-test.xml
Modified: ant/core/trunk/CONTRIBUTORS
URL:
http://svn.apache.org/viewvc/ant/core/trunk/CONTRIBUTORS?rev=686775&r1=686774&r2=686775&view=diff
==============================================================================
Binary files - no diff available.
Modified: ant/core/trunk/WHATSNEW
URL:
http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=686775&r1=686774&r2=686775&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Mon Aug 18 07:48:51 2008
@@ -154,6 +154,10 @@
was not set.
Bugzilla Report 45245.
+ * <filterset> sometimes incorrectly flagged infinite recursions of
+ filter tokens
+ Bugzilla Report 44226.
+
Other changes:
--------------
Modified: ant/core/trunk/contributors.xml
URL:
http://svn.apache.org/viewvc/ant/core/trunk/contributors.xml?rev=686775&r1=686774&r2=686775&view=diff
==============================================================================
--- ant/core/trunk/contributors.xml (original)
+++ ant/core/trunk/contributors.xml Mon Aug 18 07:48:51 2008
@@ -35,6 +35,10 @@
<last>Blinkinsop</last>
</name>
<name>
+ <first>Adam</first>
+ <last>Bryzak</last>
+ </name>
+ <name>
<first>Aleksandr</first>
<last>Ishutin</last>
</name>
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java?rev=686775&r1=686774&r2=686775&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java Mon Aug
18 07:48:51 2008
@@ -593,6 +593,9 @@
duplicateToken = false;
}
}
+ } else if (passedTokens.size() > 0) {
+ // remove last seen token when crawling out of recursion
+ passedTokens.remove(passedTokens.size() - 1);
}
recurseDepth--;
return value;
Modified: ant/core/trunk/src/tests/antunit/types/filterset-test.xml
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/types/filterset-test.xml?rev=686775&r1=686774&r2=686775&view=diff
==============================================================================
--- ant/core/trunk/src/tests/antunit/types/filterset-test.xml (original)
+++ ant/core/trunk/src/tests/antunit/types/filterset-test.xml Mon Aug 18
07:48:51 2008
@@ -15,27 +15,29 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<project xmlns:au="antlib:org.apache.ant.antunit">
+<project xmlns:au="antlib:org.apache.ant.antunit" default="antunit">
+
+ <import file="../antunit-base.xml" />
<property name="br" value="${line.separator}" />
<target name="testRecursionRegression">
<copy todir="${basedir}">
- <string value="@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]" />
+ <string value="@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL
PROTECTED]@[EMAIL PROTECTED]" />
<mergemapper to="filterset-output.txt" />
<filterset>
<filter token="a" value="aaa" />
<filter token="b" value="bbb" />
<filter token="c" value="@a@:@b@" />
+ <filter token="d" value="@c@:@c@" />
</filterset>
</copy>
- <au:assertTrue>
- <resourcesmatch astext="true">
- <file file="filterset-output.txt" />
- <string value="aaa${br}bbb${br}aaa:bbb${br}" />
- </resourcesmatch>
- </au:assertTrue>
+ <loadfile property="afterfiltering" srcFile="filterset-output.txt"/>
+
+ <au:assertEquals
+ expected="aaa${br}bbb${br}aaa:bbb${br}aaa:bbb:aaa:bbb${br}"
+ actual="${afterfiltering}"/>
</target>
<target name="tearDown">