webwork build.properties,NONE,1.1 build.xml,1.3,1.4
[email protected] Sat, 01 Nov 2003 18:27:35 -0800
| Newsgroups | gmane.comp.java.open-symphony.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/opensymphony/webwork
In directory sc8-pr-cvs1:/tmp/cvs-serv17002
Modified Files:
build.xml
Added Files:
build.properties
Log Message:
Create a test-web webapp that is used for the unit tests.
Added test target to run all testcases
Added clover crap, we now have 29.1% coverage!
--- NEW FILE: build.properties ---
# the url for the test application, used for the web testcases
test.server=http://localhost:8000
test.context=/webwork/tests/
Index: build.xml
===================================================================
RCS file: /cvsroot/opensymphony/webwork/build.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- build.xml 1 Nov 2003 20:01:43 -0000 1.3
+++ build.xml 2 Nov 2003 02:27:33 -0000 1.4
@@ -18,12 +18,110 @@
<property name="dist.dir" value="${basedir}/dist"/>
<property file="build.properties"/>
<available property="javacc.optional.available" classname="org.apache.tools.ant.taskdefs.optional.javacc.JavaCC"/>
+ <available property="junit.available" classname="junit.framework.TestCase"/>
+ <available property="clover.available" classname="org.apache.tools.ant.taskdefs.CloverCompilerAdapter"/>
</target>
<target name="check-javacc" depends="init" unless="javacc.optional.available">
<fail message="Ant optional.jar is not available, so cannot run JavaCC task. Please download ant 1.5.3 or later."/>
</target>
+ <target name="junit-check" depends="init" unless="junit.available">
+ <fail message="Cannot run test cases. Please copy lib/build/junit-3.8.1.jar to ${ant.home}/lib"/>
+ </target>
+
+ <target name="clover-check" depends="init" unless="clover.available">
+ <fail message="Cannot run coverage tests. Please copy lib/build/clover-1.2.3.jar to ${ant.home}/lib"/>
+ </target>
+
+ <target name="init-clover" depends="init">
+ <taskdef resource="clovertasks"/>
+ <typedef resource="clovertypes"/>
+ <mkdir dir="clover-db"/>
+ <clover-setup initstring="clover-db/coverage.db">
+ <fileset dir="${src.dir}/main">
+ <exclude name="webwork/examples/**" />
+ </fileset>
+ </clover-setup>
+ </target>
+
+
+ <target name="test-web">
+ <property name="test.classes" value="${build.dir}/result/test-web/WEB-INF/classes"/>
+ <mkdir dir="${test.classes}"/>
+ <javac srcdir="${src.dir}/main" destdir="${test.classes}" debug="on" classpathref="core.class.path" compiler="org.apache.tools.ant.taskdefs.CloverCompilerAdapter"/>
+ <!-- copy all default resources -->
+ <copy todir="${test.classes}">
+ <fileset dir="${src.dir}/main">
+ <include name="**/*.properties"/>
+ <include name="**/*.vm"/>
+ <include name="**/*.xml"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${build.dir}/result/test-web">
+ <fileset dir="${src.dir}/resources/web">
+ <include name="tests/**"/>
+ <include name="template/**"/>
+ <include name="**/*.properties"/>
+ <include name="**/*.vm"/>
+ <include name="**/*.xml"/>
+ <include name="**/*.tld"/>
+ </fileset>
+ </copy>
+
+ <mkdir dir="${build.dir}/result/test-web/WEB-INF/lib"/>
+ <jar jarfile="${build.dir}/result/test-web/WEB-INF/lib/${name}.jar">
+ <fileset dir="${test.classes}">
+ <exclude name="**/examples/**"/>
+ <exclude name="*.properties"/>
+ <exclude name="*.xml"/>
+ <exclude name="**/*.html"/>
+ </fileset>
+ </jar>
+ <copy todir="${build.dir}/result/test-web/WEB-INF/lib" flatten="true">
+ <fileset dir="${lib.dir}">
+ <include name="**/clover*.jar"/>
+ <include name="**/core/**"/>
+ <include name="**/jdom*.jar"/>
+ </fileset>
+ </copy>
+
+ <javac srcdir="${src.dir}/test" destdir="${test.classes}" classpathref="core.class.path" debug="on"/>
+
+ </target>
+
+ <target name="test" depends="clover-check,junit-check,precompile,init-clover,test-web">
+ <taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"/>
+
+ <junit printsummary="withOutAndErr" haltonfailure="no" haltonerror="no" showoutput="true" fork="true">
+ <!-- pass in build.properties settings, so we can pick up the test url from there -->
+ <sysproperty key="test.server" value="${test.server}" />
+ <sysproperty key="test.context" value="${test.context}"/>
+ <classpath>
+ <pathelement location="${test.classes}"/>
+ <path refid="core.class.path"/>
+ </classpath>
+
+ <formatter type="plain"/>
+
+ <batchtest todir="${build.dir}/result/test-web">
+ <fileset dir="${src.dir}/test">
+ <include name="**/*TestCase.java"/>
+ </fileset>
+ </batchtest>
+ </junit>
+ </target>
+
+ <target name="clover.report" depends="clover-check,init-clover">
+ <mkdir dir="${build.dir}/clover"/>
+ <clover-report>
+ <current title="WebWork Coverage Report" outfile="${build.dir}/result/clover">
+ <format type="html"/>
+ </current>
+ </clover-report>
+ </target>
+
<target name="precompile" depends="check-javacc">
<javacc target="${src.dir}/main/webwork/expr/Parser.jj" javacchome="${lib.dir}/build"/>
</target>
@@ -207,6 +305,7 @@
<target name="clean" depends="init">
<delete dir="${build.dir}"/>
<delete dir="${dist.dir}"/>
+ <delete dir="clover-db"/>
<delete>
<fileset dir="${src.dir}/main/webwork/expr" includes="**/*.java"/>
</delete>
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/