You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by bo...@apache.org on 2009/02/10 10:43:39 UTC
svn commit: r742919 - in /incubator/rat/main/trunk/rat/rat-anttasks:
run-antunit.xml src/test/resources/antunit/report-normal-operation.xml
Author: bodewig
Date: Tue Feb 10 09:43:34 2009
New Revision: 742919
URL: http://svn.apache.org/viewvc?rev=742919&view=rev
Log:
make AntUnit tests pass while running inside Ant
Added:
incubator/rat/main/trunk/rat/rat-anttasks/run-antunit.xml
Modified:
incubator/rat/main/trunk/rat/rat-anttasks/src/test/resources/antunit/report-normal-operation.xml
Added: incubator/rat/main/trunk/rat/rat-anttasks/run-antunit.xml
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/rat/rat-anttasks/run-antunit.xml?rev=742919&view=auto
==============================================================================
--- incubator/rat/main/trunk/rat/rat-anttasks/run-antunit.xml (added)
+++ incubator/rat/main/trunk/rat/rat-anttasks/run-antunit.xml Tue Feb 10 09:43:34 2009
@@ -0,0 +1,24 @@
+<project name="AntUnit Tests for RAT Ant Tasks"
+ default="antunit">
+
+ <target name="antunit">
+ <property name="jar.name" location="target/classes"/>
+ <path id="test-classpath">
+ <pathelement location="${jar.name}"/>
+ <pathelement location="../rat-core/target/classes"/>
+ <pathelement location="target/test-classes"/>
+ <pathelement location="${user.home}/.m2/repository/org/apache/ant/ant-antunit/1.1/ant-antunit-1.1.jar"/>
+ <pathelement location="${user.home}/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar"/>
+ <pathelement location="${user.home}/.m2/repository/commons-cli/commons-cli/1.1/commons-cli-1.1.jar"/>
+ <pathelement location="${user.home}/.m2/repository/commons-collections/commons-collections/3.2/commons-collections-3.2.jar"/>
+ </path>
+ <property name="test.classpath" refid="test-classpath"/>
+
+ <subant>
+ <fileset dir="src/test/resources/antunit"
+ includes="report-*.xml"/>
+ <property name="jar.name" value="${jar.name}"/>
+ <property name="test.classpath" value="${test.classpath}"/>
+ </subant>
+ </target>
+</project>
Modified: incubator/rat/main/trunk/rat/rat-anttasks/src/test/resources/antunit/report-normal-operation.xml
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/rat/rat-anttasks/src/test/resources/antunit/report-normal-operation.xml?rev=742919&r1=742918&r2=742919&view=diff
==============================================================================
--- incubator/rat/main/trunk/rat/rat-anttasks/src/test/resources/antunit/report-normal-operation.xml (original)
+++ incubator/rat/main/trunk/rat/rat-anttasks/src/test/resources/antunit/report-normal-operation.xml Tue Feb 10 09:43:34 2009
@@ -25,60 +25,66 @@
xmlns:au="antlib:org.apache.ant.antunit"
xmlns:rat="antlib:org.apache.rat.anttasks">
- <taskdef uri="antlib:org.apache.ant.antunit"
- resource="org/apache/ant/antunit/antlib.xml"
- classpath="${test.classpath}" />
-
- <taskdef uri="antlib:org.apache.rat.anttasks" resource="org/apache/rat/anttasks/antlib.xml">
- <classpath>
- <pathelement location="${jar.name}" />
- <pathelement path='${test.classpath}' />
- </classpath>
- </taskdef>
-
<property name="output.dir" location="testoutput"/>
- <pathconvert dirsep="/" property="file.name">
- <path>
- <pathelement location="${ant.file}"/>
- </path>
- </pathconvert>
- <property name="expectedOutput" value=" AL ${file.name}"/>
+ <mkdir dir="${output.dir}/dest"/>
+ <path id="all-classes-needed-for-tests">
+ <pathelement location="${jar.name}" />
+ <pathelement path="${test.classpath}" />
+ <pathelement location="${output.dir}/dest" />
+ </path>
+
+ <taskdef uri="antlib:org.apache.ant.antunit"
+ resource="org/apache/ant/antunit/antlib.xml"
+ classpathref="all-classes-needed-for-tests"
+ loaderref="testloader"/>
+
+ <taskdef uri="antlib:org.apache.rat.anttasks"
+ resource="org/apache/rat/anttasks/antlib.xml"
+ classpathref="all-classes-needed-for-tests"
+ loaderref="testloader"/>
+
+ <target name="setUp">
+ <pathconvert dirsep="/" property="file.name">
+ <path>
+ <pathelement location="${ant.file}"/>
+ </path>
+ </pathconvert>
+ <property name="expectedOutput" value=" AL ${file.name}"/>
+ </target>
<target name="allTests">
<au:antunit xmlns:au="antlib:org.apache.ant.antunit"
failonerror="false" errorproperty="antunit.failed">
<file file="${ant.file}"/>
- <au:plainlistener />
+ <au:plainlistener/>
+ <propertyset>
+ <propertyref name="test.classpath"/>
+ <propertyref name="jar.name"/>
+ </propertyset>
</au:antunit>
</target>
<target name="tearDown">
- <delete dir="${output.dir}"/>
+ <delete dir="${output.dir}" quiet="true"/>
</target>
- <target name="testWithReportSentToAnt">
+ <target name="xtestWithReportSentToAnt">
<rat:report>
<file file="${ant.file}"/>
</rat:report>
<au:assertLogContains text="${expectedOutput}"/>
</target>
- <target name="testWithReportSentToFile" depends="makeOutputDir">
- <property name="report.file" location="${output.dir}/selftest.report"/>
- <au:assertFileDoesntExist file="${report.file}"/>
+ <target name="testWithReportSentToFile" depends="fileReportTest">
<rat:report reportFile="${report.file}">
<file file="${ant.file}"/>
</rat:report>
<au:assertLogDoesntContain text="${expectedOutput}"/>
<au:assertFileExists file="${report.file}"/>
-
- <loadfile srcFile="${report.file}" property="report"/>
- <au:assertTrue message="expected report to contain '${expectedOutput}' but was '${report}'">
- <contains string="${report}" substring="${expectedOutput}"/>
- </au:assertTrue>
+ <assertReportContains text="${expectedOutput}"/>
</target>
- <target name="testWithASLUnknown">
+ <target name="xtestWithASLUnknown">
<rat:report addDefaultLicenseMatchers="false">
<file file="${ant.file}"/>
<rat:w3c/>
@@ -87,7 +93,53 @@
<au:assertLogContains text="!????? ${file.name}"/>
</target>
- <target name="testCustomMatcher">
+ <target name="testWithASLUnknownSentToFile" depends="fileReportTest">
+ <rat:report addDefaultLicenseMatchers="false" reportFile="${report.file}">
+ <file file="${ant.file}"/>
+ <rat:w3c/>
+ </rat:report>
+ <au:assertLogDoesntContain text="${expectedOutput}"/>
+ <au:assertLogDoesntContain text="!????? ${file.name}"/>
+ <assertReportContains text="!????? ${file.name}"/>
+ </target>
+
+ <target name="xtestCustomMatcher" depends="prepareCustomMatcher">
+ <rat:report>
+ <file file="${ant.file}"/>
+ <exmpl/>
+ <exmpl-license/>
+ </rat:report>
+ <au:assertLogDoesntContain text="${expectedOutput}"/>
+ <au:assertLogContains text=" EXMPL ${file.name}"/>
+ </target>
+
+ <target name="testCustomMatcherSentToFile"
+ depends="fileReportTest,prepareCustomMatcher">
+ <rat:report reportFile="${report.file}">
+ <file file="${ant.file}"/>
+ <exmpl/>
+ <exmpl-license/>
+ </rat:report>
+ <au:assertLogDoesntContain text="${expectedOutput}"/>
+ <au:assertLogDoesntContain text=" EXMPL ${file.name}"/>
+ <assertReportContains text=" EXMPL ${file.name}"/>
+ </target>
+
+ <target name="fileReportTest" depends="setUp">
+ <property name="report.file" location="${output.dir}/selftest.report"/>
+ <au:assertFileDoesntExist file="${report.file}"/>
+ <macrodef name="assertReportContains">
+ <attribute name="text"/>
+ <sequential>
+ <loadfile srcFile="${report.file}" property="report"/>
+ <au:assertTrue message="expected report to contain '@{text}' but was '${report}'">
+ <contains string="${report}" substring="@{text}"/>
+ </au:assertTrue>
+ </sequential>
+ </macrodef>
+ </target>
+
+ <target name="prepareCustomMatcher">
<mkdir dir="${output.dir}/dest"/>
<mkdir dir="${output.dir}/src/org/example"/>
<echo file="${output.dir}/src/org/example/Matcher.java"><![CDATA[
@@ -117,22 +169,14 @@
}
}
]]></echo>
- <javac srcdir="${output.dir}/src" destdir="${output.dir}/dest"/>
+ <javac srcdir="${output.dir}/src" destdir="${output.dir}/dest"
+ classpath="${test.classpath}"/>
<typedef name="exmpl" classname="org.example.Matcher"
- classpath="${output.dir}/dest"/>
+ classpathref="all-classes-needed-for-tests"
+ loaderref="testloader"/>
<typedef name="exmpl-license" classname="org.example.LicenseFamily"
- classpath="${output.dir}/dest"/>
- <rat:report>
- <file file="${ant.file}"/>
- <exmpl/>
- <exmpl-license/>
- </rat:report>
- <au:assertLogDoesntContain text="${expectedOutput}"/>
- <au:assertLogContains text=" EXMPL ${file.name}"/>
- </target>
-
- <target name="makeOutputDir">
- <mkdir dir="${output.dir}"/>
+ classpathref="all-classes-needed-for-tests"
+ loaderref="testloader"/>
</target>
-</project>
\ No newline at end of file
+</project>