User: vharcq
Date: 02/03/05 13:27:24
Modified: core/test/script Build.bat build.xml
Log:
- Introduce David Jencks XmlComparator and use it for ejb-jar and JBoss DDs
- Complete JUnit HTML Report
- One TestCase suite is defined by instantiating base TestCase (one for stateless
session bean, one for all DDs (from all vendor), one for only JBoss DDs, ...) so that
we can have one test to test all functionnalities on Simple bean, and more specific
test case to handle a specific feature of a Vendor.
- This now have to extend, ... still a lot of work to begin to see real problems
but I don't desesperate ;)
Revision Changes Path
1.2 +4 -0 xdoclet/core/test/script/Build.bat
Index: Build.bat
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet/core/test/script/Build.bat,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- Build.bat 25 Feb 2002 17:43:30 -0000 1.1
+++ Build.bat 5 Mar 2002 21:27:24 -0000 1.2
@@ -10,6 +10,10 @@
set _CP_=..\..\..\lib\ant.jar
set _CP_=%_CP_%;..\..\..\lib\crimson.jar
set _CP_=%_CP_%;..\..\..\lib\jaxp.jar
+set _CP_=%_CP_%;..\..\..\lib\optional.jar
+set _CP_=%_CP_%;..\..\..\lib\xalan.jar
+set _CP_=%_CP_%;..\..\..\lib\junit.jar
+set _CP_=%_CP_%;%JAVA_HOME%\lib\tools.jar
"%JAVA_HOME%\bin\java.exe" -classpath
"%JAVA_HOME%\lib\tools.jar;%_CP_%;%CLASSPATH%" -Dlog4j.configuration=log4j.properties
org.apache.tools.ant.Main %1 %2 %3 %4 %5
1.2 +129 -62 xdoclet/core/test/script/build.xml
Index: build.xml
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet/core/test/script/build.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- build.xml 25 Feb 2002 17:43:30 -0000 1.1
+++ build.xml 5 Mar 2002 21:27:24 -0000 1.2
@@ -27,7 +27,6 @@
<property name="lib.dir" value="lib" />
<property name="xdoclet.jar.path" value="${basedir}/../dist/lib/xdoclet.jar"
/>
<property name="log4j.jar.path" value="${basedir}/../../lib/log4j.jar" />
- <echo message="LOJ4G ${log4j.jar.path}"/>
<property name="log4j.path" value="${basedir}/script" />
<property name="ant.jar.path" value="${basedir}/../../lib/ant.jar" />
@@ -35,7 +34,9 @@
<property name="name" value="unitTests" />
<property name="src.dir" value="src" />
+ <property name="resources.dir" value="resources" />
<property name="generated.src.dir" value="gen-src" />
+ <property name="generated.xml.dir" value="xml-src" />
<property name="web.dir" value="${src.dir}/web" />
<property name="java.dir" value="${src.dir}" />
@@ -50,20 +51,9 @@
<property name="ejb.dir" value="${build.dir}/ejb"/>
<property name="ejb.classes.dir" value="${ejb.dir}/classes"/>
- <property name="ejb.dd.dir" value="${ejb.dir}/META-INF"/>
- <property name="ejb.generic.dir" value="${ejb.dir}/generic-ejb"/>
- <property name="ejb.generic.file"
value="${ejb.generic.dir}/${name}-ejb.jar"/>
-
- <property name="ejb.weblogic.dir" value="${ejb.dir}/weblogic-ejb"/>
- <property name="ejb.weblogic.file"
value="${ejb.weblogic.dir}/${name}-ejb.jar"/>
-
-
- <!-- These are here to test the use of properties in @tags -->
- <property name="jboss.create.table" value="true" />
- <property name="jboss.remove.table" value="true" />
- <property name="jboss.tuned.updates" value="true" />
- <property name="jboss.read.only" value="false" />
+ <property name="junit.results.dir" value="${basedir}/build/junit/reports"/>
+ <property name="java.opts" value="-Ddummy=ignore" />
</target>
@@ -72,18 +62,8 @@
<target name="prepare" depends="init">
<mkdir dir="${build.dir}" />
-
<mkdir dir="${build.dir}/ejb" />
- <mkdir dir="${build.dir}/ejb/META-INF" />
-
<mkdir dir="${build.dir}/web" />
- <mkdir dir="${build.dir}/web/WEB-INF" />
- <mkdir dir="${build.dir}/web/WEB-INF/tlds" />
- <mkdir dir="${build.dir}/web/WEB-INF/classes" />
-
- <mkdir dir="${build.dir}/j2ee" />
- <mkdir dir="${build.dir}/j2ee/META-INF" />
-
<mkdir dir="${build.dir}/jmx" />
<mkdir dir="${dist.dir}" />
@@ -91,20 +71,39 @@
<mkdir dir="${generated.src.dir}" />
<mkdir dir="${generated.java.dir}" />
- <mkdir dir="${ejb.dd.dir}"/>
<mkdir dir="${ejb.classes.dir}"/>
- <mkdir dir="${ejb.generic.dir}"/>
- <mkdir dir="${ejb.weblogic.dir}"/>
+ <mkdir dir="${junit.results.dir}" />
+ <mkdir dir="${build.dir}/junit/classes" />
+
+ </target>
+
+ <!-- Callable EJBDoclet + Unit Tests with a Parameter beans.name -->
+ <target name="process-ejb">
+ <antcall target="ejbdoclet">
+ <param name="dir.name" value="${dir.name}"/>
+ <param name="beans.name" value="${beans.name}"/>
+ </antcall>
+ <antcall target="compile-ejb">
+ <param name="dir.name" value="${dir.name}"/>
+ <param name="beans.name" value="${beans.name}"/>
+ </antcall>
+ <antcall target="unittest-ejb">
+ <param name="dir.name" value="${dir.name}"/>
+ <param name="beans.name" value="${beans.name}"/>
+ </antcall>
</target>
- <!-- Run EJBDoclet -->
- <target name="ejbdoclet" depends="prepare">
+ <!-- Callable EJBDoclet with a Parameter beans.name -->
+ <target name="ejbdoclet">
<taskdef name="ejbdoclet"
classname="xdoclet.ejb.EjbDocletTask"
classpath="${xdoclet.jar.path};${log4j.jar.path};${ant.jar.path}"
/>
+ <property name="ejb.dd.dir"
value="${generated.xml.dir}/${beans.name}"/>
+ <mkdir dir="${ejb.dd.dir}" />
+
<ejbdoclet
sourcepath="${java.dir};${log4j.path}"
destdir="${generated.java.dir}"
@@ -113,17 +112,10 @@
ejbspec="2.0"
force="${xdoclet.force}">
- <!--
- It's good practice to put interfaces in a separate "interfaces"
- package than in EJB bean implementations, but if you don't like it
- or want to apply another package naming convention, just remove the
- following like add as many <packageSubstitution/> as you want to
- configure it.
- -->
<packageSubstitution packages="ejb" substituteWith="interfaces"/>
<fileset dir="${java.dir}">
- <include name="xdoclet/retest/bean/**/*Bean.java" />
+ <include name="${dir.name}/**/${beans.name}*Bean.java" />
</fileset>
<dataobject/>
@@ -134,10 +126,7 @@
<utilobject/>
<localhomeinterface/>
<entitypk/>
- <entitycmp>
- <!-- packageSubstitution packages="ejb" substituteWith="ejb.impl"/>
- <packageSubstitution packages="ejb.cmr" substituteWith="ejb.cmr.impl"/
-->
- </entitycmp>
+ <entitycmp/>
<entitybmp/>
<session/>
@@ -172,22 +161,69 @@
<apachesoap destdir="${build.dir}/web" />
- <!--
- Have struts form objects generated based on entity beans'
- data objects. Will require struts.jar to compile. -->
<strutsform />
-
- <!--
- Have a mapping.xml file generated for castor classes.
- -->
<castormapping destdir="${build.dir}/ejb/classes" validatexml="false" />
- <!-- -->
</ejbdoclet>
</target>
+ <target name="compile-ejb">
+ <echo message="${dir.name}/ejb/interfaces/${beans.name}*.java" />
+ <javac
+ destdir="${ejb.classes.dir}"
+ debug="on">
+ <classpath refid="project.class.path" />
+ <src path="${java.dir}"/>
+ <src path="${generated.java.dir}"/>
+ <include name="${dir.name}/bean/ejb/ejb/${beans.name}*.java" />
+ <include name="${dir.name}/bean/ejb/interfaces/${beans.name}*.java" />
+ <include name="${dir.name}/ref/ejb/ejb/${beans.name}*.java" />
+ <include name="${dir.name}/ref/ejb/interfaces/${beans.name}*.java" />
+ </javac>
+ </target>
+
+ <target name="unittest-ejb">
+
+ <javac destdir="${build.dir}/junit/classes"
+ debug="on">
+ <classpath refid="project.class.path" />
+ <src path="${java.dir}"/>
+ <include name="xdoclet/retest/**/${beans.name}*Test.java" />
+ <include name="xdoclet/retest/util/**" />
+ <include name="xdoclet/retest/test/*" />
+ </javac>
+
+ <junit
+ printsummary="yes"
+ haltonfailure="no"
+ haltonerror="no"
+ fork="true"
+ dir="${basedir}"
+ timeout="240000">
+
+ <!-- <jvmarg value="${java.opts}" /> -->
+ <classpath>
+ <path refid="project.class.path" />
+ <pathelement path="${build.dir}/junit/classes" />
+ <pathelement path="${lib.dir}/junit.jar" />
+ <pathelement path="${ejb.classes.dir}" />
+ <pathelement path="${resources.dir}" />
+ <pathelement path="${build.dir}/junit/classes" />
+ </classpath>
+
+ <batchtest todir="${junit.results.dir}">
+ <fileset dir="${build.dir}/junit/classes">
+ <include name="**/${beans.name}*Test.class" />
+ </fileset>
+ </batchtest>
+
+ <formatter type="plain" />
+ <formatter type="xml" />
+ </junit>
+
+ </target>
<!-- Run WebDoclet -->
<target name="webdoclet" depends="prepare">
@@ -258,7 +294,7 @@
</target>
<!-- Compile -->
- <target name="compile" depends="compile-ejbs,webdoclet,jmxdoclet">
+ <target name="compile" depends="webdoclet,jmxdoclet">
<!-- Compile web classes -->
<javac srcdir="${java.dir};${generated.java.dir}"
@@ -279,17 +315,6 @@
</target>
- <target name="compile-ejbs" depends="ejbdoclet">
- <!-- Compile EJBs -->
- <javac srcdir="${java.dir};${generated.java.dir}"
- destdir="${ejb.classes.dir}"
-
includes="xdoclet/retest/bean/ejb/*.java,xdoclet/retest/bean/interfaces/*.java"
- debug="on">
-
- <classpath refid="project.class.path" />
- </javac>
- </target>
-
<!-- Clean everything -->
<target name="clean" depends="init">
@@ -301,7 +326,49 @@
<target name="clean-build" depends="clean, main" />
+ <!-- All Tests one by one to be callable in unit -->
+ <target name="test-SimpleSL" depends="prepare">
+ <antcall target="process-ejb">
+ <param name="dir.name" value="xdoclet/retest"/>
+ <param name="beans.name" value="SimpleSL"/>
+ </antcall>
+ </target>
+
+ <target name="test-SimpleSF" depends="prepare">
+ <antcall target="process-ejb">
+ <param name="dir.name" value="xdoclet/retest"/>
+ <param name="beans.name" value="SimpleSF"/>
+ </antcall>
+ </target>
+
+ <target name="test-CreateMethodSL" depends="prepare">
+ <antcall target="process-ejb">
+ <param name="dir.name" value="xdoclet/retest"/>
+ <param name="beans.name" value="CreateMethodSL"/>
+ </antcall>
+ </target>
+
+ <target name="test-IFTagSL" depends="prepare">
+ <antcall target="process-ejb">
+ <param name="dir.name" value="xdoclet/retest"/>
+ <param name="beans.name" value="IFTagSL"/>
+ </antcall>
+ </target>
+
<!-- Main -->
- <target name="main" depends="compile-ejbs" />
+ <target name="main" depends="init">
+ <antcall target="test-SimpleSL"/>
+ <antcall target="test-SimpleSF"/>
+ <antcall target="test-CreateMethodSL"/>
+ <antcall target="test-IFTagSL"/>
+
+ <junitreport todir="${junit.results.dir}">
+ <fileset dir="${junit.results.dir}">
+ <include name="TEST-*.xml"/>
+ </fileset>
+ <report format="frames" styledir="junit/xsl"
todir="${junit.results.dir}"/>
+ </junitreport>
+
+ </target>
</project>
_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel