You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by js...@apache.org on 2004/10/08 02:25:47 UTC

svn commit: rev 54036 - in incubator/beehive/trunk/controls/test: . src src/aux src/aux/org src/aux/org/apache src/aux/org/apache/beehive src/aux/org/apache/beehive/controls src/aux/org/apache/beehive/controls/test src/aux/org/apache/beehive/controls/test/controls src/aux/org/apache/beehive/controls/test/controls/checker src/controls/org/apache/beehive/controls/test/controls/checker

Author: jsong
Date: Thu Oct  7 17:25:46 2004
New Revision: 54036

Added:
   incubator/beehive/trunk/controls/test/src/README.txt
   incubator/beehive/trunk/controls/test/src/aux/
   incubator/beehive/trunk/controls/test/src/aux/org/
   incubator/beehive/trunk/controls/test/src/aux/org/apache/
   incubator/beehive/trunk/controls/test/src/aux/org/apache/beehive/
   incubator/beehive/trunk/controls/test/src/aux/org/apache/beehive/controls/
   incubator/beehive/trunk/controls/test/src/aux/org/apache/beehive/controls/test/
   incubator/beehive/trunk/controls/test/src/aux/org/apache/beehive/controls/test/controls/
   incubator/beehive/trunk/controls/test/src/aux/org/apache/beehive/controls/test/controls/checker/
   incubator/beehive/trunk/controls/test/src/aux/org/apache/beehive/controls/test/controls/checker/HelloChecked.java
      - copied unchanged from rev 54018, incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/checker/HelloChecked.java
   incubator/beehive/trunk/controls/test/src/aux/org/apache/beehive/controls/test/controls/checker/HelloChecker.java
      - copied unchanged from rev 54018, incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/checker/HelloChecker.java
Removed:
   incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/checker/HelloChecked.java
   incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/checker/HelloChecker.java
Modified:
   incubator/beehive/trunk/controls/test/build.xml
Log:
Refactoring how controls tests are organized to make building and migration more straight forward.

Contributed by Zach Smith (zsmith@bea.com)



Modified: incubator/beehive/trunk/controls/test/build.xml
==============================================================================
--- incubator/beehive/trunk/controls/test/build.xml	(original)
+++ incubator/beehive/trunk/controls/test/build.xml	Thu Oct  7 17:25:46 2004
@@ -24,11 +24,13 @@
     <property name="controls.test.units" location="${controls.test.src}/units"/>
     <property name="controls.test.drivers" location="${controls.test.src}/drivers"/>
     <property name="controls.test.controls" location="${controls.test.src}/controls"/>
+    <property name="controls.test.auxilaries" location="${controls.test.src}/aux"/>
     <property name="build.dir" location="${basedir}/build"/>
     <property name="build.classes" location="${build.dir}/classes"/>
     <property name="build.beans" location="${build.dir}/classes/beans"/>
     <property name="build.tests" location="${build.dir}/classes/tests"/>
     <property name="build.drivers" location="${build.dir}/classes/drivers"/>
+    <property name="build.auxilaries" location="${build.dir}/classes/aux"/>
     <property name="build.beansrc" location="${build.dir}/beansrc"/>
     <property name="build.jars" location="${build.dir}/jars"/>
     <property name="controlstestbeans.jar" location="${build.dir}/controlstestbeans.jar"/>
@@ -127,43 +129,44 @@
     <!-- ==================================================================== -->
 
     <target name="build" depends="dirs">
-        <ant target="build-beans" />
+        <ant target="build-test-auxilaries"/>
+        <ant target="build-test-beans" />
         <ant target="build-test-drivers" />
-        <ant target="build-java-tests" />
+        <ant target="build-test-units" />
+        <ant target="mantis" />
     </target>
 
     <target name="dirs">
         <mkdir dir="${build.classes}" />
         <mkdir dir="${build.beans}" />
         <mkdir dir="${build.drivers}" />
+        <mkdir dir="${build.auxilaries}" />
         <mkdir dir="${build.tests}" />
         <mkdir dir="${build.beansrc}" />
         <mkdir dir="${build.jars}" />
         <mkdir dir="${test.logs}" />
     </target>
 
-    <target name="build-beans" depends="dirs">
-        <!-- Build checkers first so they can be dynamically loaded
-        during build of control extensions.  Checkers may dep on public interfaces,
-        which we need to make sure get pulled in by apt -->
-        <apt srcdir="${controls.test.controls}" destdir="${build.beans}" gendir="${build.beansrc}"
-             classpathref="test.classpath" >
-            <include name="**/checker/*.java"/>
-        </apt>
+    <target name="build-test-beans" depends="dirs,build-test-auxilaries">
 
         <!-- Build the InnerControl controls used by composition tests.  This is only
              necessary because the bean types are needed to compile a public interface -->
+        <echo message="** Phase One **"/>
         <apt srcdir="${controls.test.controls}" destdir="${build.beans}" gendir="${build.beansrc}"
              classpathref="test.classpath" compileByExtension="true"
              srcExtensions="*.java,*.jcx,*.jcs" >
             <include name="**/composition/InnerControl*"/>
         </apt>
 
+        <echo message="** Phase Two **"/>
         <apt srcdir="${controls.test.controls}" destdir="${build.beans}" gendir="${build.beansrc}"
-             classpathref="test.classpath" compileByExtension="true"
+             compileByExtension="true"
+             classpathref="test.classpath"
              srcExtensions="*.java,*.jcx,*.jcs" >
         </apt>
+
         <!-- Do control assembly. -->
+        <echo message="** Assembly **"/>
         <assemble moduleDir="${build.beans}"
                   srcOutputDir="${build.beansrc}"
                   contextFactoryClassname="org.apache.beehive.controls.runtime.assembly.EJBAssemblyContext$Factory">
@@ -178,8 +181,27 @@
         <control-jar destfile="${controlstestbeans.jar}"  basedir="${build.beans}" />
     </target>
 
+    <!-- Aux files are those needed for tests but which must be built before beans/drivers
+         like Checkers.  Files in 'aux' should only have dependecies on the existing classpath and 
+         have NO DEPENDENCIES on artifacts from this build process! -->
+    <target name="build-test-auxilaries" unless="_build.test.auxilaries.ran" depends="dirs">
+        <echo message="Building Test Auxilary Files into ${build.beans}"/>
+
+        <apt srcdir="${controls.test.auxilaries}"
+            destdir="${build.beans}"
+            gendir="${build.beansrc}"
+            classpathref="test.classpath"
+            debug="on"  
+            verbose="false"
+            failonerror="true"
+            compileByExtension="true"
+            srcExtensions="*.java"/>
+
+        <property name="_build.test.auxilaries.ran" value="true"/>
 
-    <target name="build-test-drivers" depends="build-beans" unless="_build.test.drivers.ran">
+    </target>
+							  
+    <target name="build-test-drivers" depends="build-test-beans" unless="_build.test.drivers.ran">
 	<echo>build helper class for testing controls</echo>
         <!-- Build the test source directory -->
         <javac srcdir="${controls.test.drivers}"
@@ -199,7 +221,7 @@
     </target>
 
 
-    <target name="build-java-tests" depends="build-test-drivers" unless="_build.java.tests.ran">
+    <target name="build-test-units" depends="build-test-drivers" unless="_build.java.tests.ran">
         <!-- Build the test source directory -->
         <apt srcdir="${controls.test.units}"
             destdir="${build.tests}"
@@ -293,7 +315,7 @@
 	<antcall target="run"/>
     </target>
 
-    <target name="run" depends="mantis">
+    <target name="run">
 
         <gethostname/> <!-- set ${hostname} -->
 

Added: incubator/beehive/trunk/controls/test/src/README.txt
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/controls/test/src/README.txt	Thu Oct  7 17:25:46 2004
@@ -0,0 +1,26 @@
+This file describes what the various directories within control/test/src
+are for and what to put where.
+
+Controls test are made up of four parts.
+
+* controls
+  
+   This are examples of controls used for excercising different features 
+   of the controls framework.
+   
+* drivers
+
+   Drivers are POJOs which contain the test code which execises the controls
+   and report results.
+
+* units
+ 
+   These are the JUnit files which either instantiate and utilize a driver
+   directly or which access a JPF or JWS whith instantiates the driver and
+   runs the test.
+
+* aux
+
+   Auxilary files are things like Checkers.  Checkers must be compiled *before*
+   the clients that will need them are built.  Files in 'aux' should not
+   contain any dependencies on files which are outside of the aux src tree.