Author: bodewig
Date: Wed Feb 10 05:37:30 2010
New Revision: 908356
URL: http://svn.apache.org/viewvc?rev=908356&view=rev
Log:
filesmatch throws NPE when comparing texts and the second one has fewer lines.
PR 48715
Added:
ant/core/trunk/src/tests/antunit/taskdefs/condition/filesmatch-test.xml
(with props)
Modified:
ant/core/trunk/WHATSNEW
ant/core/trunk/src/main/org/apache/tools/ant/util/ResourceUtils.java
Modified: ant/core/trunk/WHATSNEW
URL:
http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=908356&r1=908355&r2=908356&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Wed Feb 10 05:37:30 2010
@@ -13,6 +13,11 @@
maps.
Bugzilla Report 48310.
+ * The filesmatch condition threw a NullPointerException when
+ comparing text files and the second file contained fewer lines than
+ the first one.
+ Bugzilla Report 48715.
+
Other changes:
--------------
Modified: ant/core/trunk/src/main/org/apache/tools/ant/util/ResourceUtils.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/util/ResourceUtils.java?rev=908356&r1=908355&r2=908356&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/util/ResourceUtils.java
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/util/ResourceUtils.java Wed
Feb 10 05:37:30 2010
@@ -666,6 +666,9 @@
while (expected != null) {
String actual = in2.readLine();
if (!expected.equals(actual)) {
+ if (actual == null) {
+ return 1;
+ }
return expected.compareTo(actual);
}
expected = in1.readLine();
Added: ant/core/trunk/src/tests/antunit/taskdefs/condition/filesmatch-test.xml
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/condition/filesmatch-test.xml?rev=908356&view=auto
==============================================================================
--- ant/core/trunk/src/tests/antunit/taskdefs/condition/filesmatch-test.xml
(added)
+++ ant/core/trunk/src/tests/antunit/taskdefs/condition/filesmatch-test.xml Wed
Feb 10 05:37:30 2010
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project default="antunit" xmlns:au="antlib:org.apache.ant.antunit">
+ <import file="../../antunit-base.xml" />
+
+ <target name="setUp">
+ <mkdir dir="${input}"/>
+ </target>
+
+ <target name="testMatchWithSmallerFile2"
+
description="https://issues.apache.org/bugzilla/show_bug.cgi?id=48715"
+ depends="setUp">
+ <property name="file1" location="${input}/LS.properties"/>
+ <property name="file2" location="${input}/LS.properties.old"/>
+ <echo file="${file1}"><![CDATA[foo=foo
+bar=bar
+
+]]></echo>
+ <echo file="${file2}"><![CDATA[foo=foo
+]]></echo>
+ <au:assertFalse>
+ <filesmatch file1="${file1}" file2="${file2}" textfile="true"/>
+ </au:assertFalse>
+ </target>
+
+ <target name="testBinaryMatchWithSmallerFile2"
+
description="https://issues.apache.org/bugzilla/show_bug.cgi?id=48715"
+ depends="setUp">
+ <property name="file1" location="${input}/LS.properties"/>
+ <property name="file2" location="${input}/LS.properties.old"/>
+ <echo file="${file1}"><![CDATA[foo=foo
+bar=bar
+
+]]></echo>
+ <echo file="${file2}"><![CDATA[foo=foo
+]]></echo>
+ <au:assertFalse>
+ <filesmatch file1="${file1}" file2="${file2}" textfile="false"/>
+ </au:assertFalse>
+ </target>
+
+</project>
Propchange:
ant/core/trunk/src/tests/antunit/taskdefs/condition/filesmatch-test.xml
------------------------------------------------------------------------------
svn:eol-style = native