Author: dain
Date: Tue Oct  2 15:43:12 2007
New Revision: 581421

URL: http://svn.apache.org/viewvc?rev=581421&view=rev
Log:
Added automatic testing ant script

Added:
    openejb/trunk/website/src/doc/build.xml

Added: openejb/trunk/website/src/doc/build.xml
URL: 
http://svn.apache.org/viewvc/openejb/trunk/website/src/doc/build.xml?rev=581421&view=auto
==============================================================================
--- openejb/trunk/website/src/doc/build.xml (added)
+++ openejb/trunk/website/src/doc/build.xml Tue Oct  2 15:43:12 2007
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+-->
+<!-- $Revision: 579817 $ $Date: 2007-09-26 14:56:30 -0700 (Wed, 26 Sep 2007) $ 
-->
+
+<project name="Test OpenEJB" default="test" basedir=".">
+    <description>
+        Tests OpenEJB distribution using the OpenEJB iTest suite.
+    </description>
+
+    <property name="repo" location="${basedir}/repo"/>
+    <property name="target.dir" location="${basedir}/target"/>
+    <property name="windows.sleep" value="5"/>
+    <property name="unix.sleep" value="1"/>
+
+
+    <target name="clean">
+        <delete dir="${basedir}/activemq-data"/>
+        <delete dir="${target.dir}"/>
+    </target>
+
+    <target name="test">
+        <antcall target="openejb.test">
+            <param name="openejb.version" value="3.0-beta-1"/>
+        </antcall>
+
+        <antcall target="tomcat.test">
+            <param name="openejb.version" value="3.0-beta-1"/>
+            <param name="tomcat.version" value="6.0.14"/>
+        </antcall>
+    </target>
+
+    <target name="all">
+        <antcall target="openejb.test">
+            <param name="openejb.version" value="3.0-beta-1"/>
+        </antcall>
+      
+        <antcall target="tomcat.test">
+            <param name="openejb.version" value="3.0-beta-1"/>
+            <param name="tomcat.version" value="6.0.14"/>
+        </antcall>
+        <antcall target="tomcat.test">
+            <param name="openejb.version" value="3.0-beta-1"/>
+            <param name="tomcat.version" value="6.0.13"/>
+        </antcall>
+        <antcall target="tomcat.test">
+            <param name="openejb.version" value="3.0-beta-1"/>
+            <param name="tomcat.version" value="6.0.10"/>
+        </antcall>
+        <antcall target="tomcat.test">
+            <param name="openejb.version" value="3.0-beta-1"/>
+            <param name="tomcat.version" value="6.0.9"/>
+        </antcall>
+    </target>
+
+    <target name="openejb.test" depends="openejb.test.setup">
+        <!-- unpack openejb -->
+        <antcall target="openejb.unpack"/>
+
+        <!-- copy openejb-itests-app.jar to apps dir -->
+        <copy file="${itests.app.file}" todir="${openejb.home}/apps"/>
+
+        <!-- start openejb -->
+        <antcall target="openejb.start"/>
+
+        <!-- run itests -->
+        <antcall target="itests.openejb.run"/>
+
+        <!-- stop openejb -->
+        <antcall target="openejb.stop"/>
+    </target>
+
+    <target name="openejb.unpack">
+        <delete dir="${openejb.home}"/>
+        <mkdir dir="${target.dir}"/>
+        <unjar src="${openejb.app.file}" dest="${target.dir}"/>
+        <chmod perm="u+x">
+            <fileset dir="${openejb.home}/bin">
+                <include name="openejb"/>
+                <include name="**/*.sh"/>
+            </fileset>
+        </chmod>
+    </target>
+
+    <target name="openejb.start">
+        <echo message="Starting OpenEJB ${openejb.version}..."/>
+        <exec executable="${openejb.home}/bin/openejb.bat" spawn="true" 
osfamily="windows">
+            <env key="OPENEJB_HOME" value="${openejb.home}"/>
+            <arg value="start"/>
+        </exec>
+        <exec executable="${openejb.home}/bin/openejb" spawn="true" 
osfamily="unix">
+            <arg value="start"/>
+        </exec>
+        <waitfor maxwait="1" maxwaitunit="minute">
+            <and>
+                <socket server="localhost" port="4200"/>
+                <socket server="localhost" port="4201"/>
+                <socket server="localhost" port="4202"/>
+                <socket server="localhost" port="4204"/>
+                <socket server="localhost" port="61616"/>
+            </and>
+        </waitfor>
+        <echo message="                 started"/>
+    </target>
+
+    <target name="openejb.stop">
+        <echo message="Stopping OpenEJB ${openejb.version}..."/>
+        <exec executable="${openejb.home}/bin/openejb.bat" osfamily="windows">
+            <env key="OPENEJB_HOME" value="${openejb.home}"/>
+            <arg value="stop"/>
+        </exec>
+        <exec executable="${openejb.home}/bin/openejb" osfamily="unix">
+            <arg value="stop"/>
+        </exec>
+        <waitfor maxwait="1" maxwaitunit="minute">
+            <not>
+                <or>
+                    <socket server="localhost" port="4200"/>
+                    <socket server="localhost" port="4201"/>
+                    <socket server="localhost" port="4202"/>
+                    <socket server="localhost" port="4204"/>
+                    <socket server="localhost" port="61616"/>
+                </or>
+            </not>
+        </waitfor>
+
+        <condition property="sleep" value="${unix.sleep}" 
else="${windows.sleep}">
+            <os family="unix"/>
+        </condition>
+        <echo message="                  sleeping for ${sleep} sec"/>
+        <sleep seconds="${sleep}"/>
+
+        <echo message="                  stopped"/>
+    </target>
+
+
+    <target name="tomcat.test" depends="tomcat.test.setup">
+        <!-- unpack tomcat -->
+        <antcall target="tomcat.unpack"/>
+
+        <!-- copy openejb.war to webapps dir -->
+        <copy file="${openejb.war.file}" todir="${tomcat.home}/webapps"/>
+
+        <!-- start tomcat -->
+        <antcall target="tomcat.start"/>
+
+        <!-- run installer -->
+        <get src="http://localhost:8080/openejb/installer?action=Install"; 
dest="${target.dir}/installer.out"/>
+
+        <!-- stop tomcat -->
+        <antcall target="tomcat.stop"/>
+
+        <!-- install itests.war -->
+        <copy file="${itests.war.file}" todir="${tomcat.home}/webapps"/>
+
+        <!-- start tomcat -->
+        <antcall target="tomcat.start"/>
+
+        <!-- run itests -->
+        <antcall target="itests.tomcat.run"/>
+
+        <!-- stop tomcat -->
+        <antcall target="tomcat.stop"/>
+
+        <!-- Make sure all resources are collected on windows -->
+        <condition property="sleep" value="1" else="30">
+            <os family="unix"/>
+        </condition>
+        <echo message="Sleeping for ${sleep} sec to avoid Windows failures"/>
+        <sleep seconds="${sleep}"/>
+    </target>
+
+    <target name="tomcat.unpack">
+        <delete dir="${tomcat.home}"/>
+        <mkdir dir="${target.dir}"/>
+        <unjar src="${tomcat.file}" dest="${target.dir}"/>
+        <chmod dir="${tomcat.home}/bin" perm="u+x" includes="**/*.sh"/>
+    </target>
+
+    <target name="tomcat.start">
+        <echo message="Starting Tomcat ${tomcat.version}..."/>
+        <exec executable="${tomcat.home}/bin/startup.bat" spawn="true" 
osfamily="windows">
+            <env key="CATALINA_HOME" value="${tomcat.home}"/>
+        </exec>
+        <exec executable="${tomcat.home}/bin/startup.sh" osfamily="unix"/>
+        <waitfor maxwait="1" maxwaitunit="minute">
+            <and>
+                <socket server="localhost" port="8080"/>
+                <socket server="localhost" port="8005"/>
+                <socket server="localhost" port="8009"/>
+                <http url="http://localhost:8080/openejb/installer"/>
+            </and>
+        </waitfor>
+
+        <condition property="sleep" value="${unix.sleep}" 
else="${windows.sleep}">
+            <os family="unix"/>
+        </condition>
+        <echo message="                  sleeping for ${sleep} sec"/>
+        <sleep seconds="${sleep}"/>
+
+        <echo message="                  started"/>
+    </target>
+
+    <target name="tomcat.stop">
+        <echo message="Stopping Tomcat ${tomcat.version}..."/>
+        <exec executable="${tomcat.home}/bin/shutdown.bat" osfamily="windows">
+            <env key="CATALINA_HOME" value="${tomcat.home}"/>
+        </exec>
+        <exec executable="${tomcat.home}/bin/shutdown.sh" osfamily="unix"/>
+        <waitfor maxwait="1" maxwaitunit="minute">
+            <not>
+                <or>
+                    <http url="http://localhost:8080"/>
+                    <socket server="localhost" port="8080"/>
+                    <socket server="localhost" port="8005"/>
+                    <socket server="localhost" port="8009"/>
+                    <socket server="localhost" port="61616"/>
+                </or>
+            </not>
+        </waitfor>
+
+        <condition property="sleep" value="${unix.sleep}" 
else="${windows.sleep}">
+            <os family="unix"/>
+        </condition>
+        <echo message="                  sleeping for ${sleep} sec"/>
+        <sleep seconds="${sleep}"/>
+
+        <echo message="                  stopped"/>
+    </target>
+
+    <target name="itests.openejb.run">
+        <java jar="${itests.client.file}" fork="yes">
+            <sysproperty key="openejb.home" value="${openejb.home}"/>
+            <arg value="remote"/>
+        </java>
+    </target>
+
+    <target name="itests.tomcat.run">
+        <java jar="${itests.client.file}" fork="yes">
+            <sysproperty key="openejb.home" value="${openejb.home}"/>
+            <arg value="tomcat"/>
+        </java>
+    </target>
+
+    <target name="openejb.test.setup">
+        <property name="openejb.app.url" 
value="http://www.apache.org/dist/openejb/${openejb.version}/openejb-${openejb.version}.zip"/>
+        <property name="openejb.app.file" 
value="${repo}/openejb/distributions/${openejb.version}/openejb.zip"/>
+        <property name="itests.app.url" 
value="http://people.apache.org/~dblevins/openejb-itests-app-${openejb.version}.jar"/>
+        <property name="itests.app.file" 
value="${repo}/openejb/distributions/${openejb.version}/openejb-itests-app.jar"/>
+        <property name="itests.client.url" 
value="http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/openejb/openejb-itests-standalone-client/${openejb.version}/openejb-itests-standalone-client-${openejb.version}.jar"/>
+        <property name="itests.client.file" 
value="${repo}/openejb/distributions/${openejb.version}/openejb-itests-standalone-client.jar"/>
+
+        <property name="openejb.home" 
value="${target.dir}/openejb-${openejb.version}"/>
+
+        <antcall target="download.file">
+            <param name="download.url" value="${openejb.app.url}"/>
+            <param name="download.file" value="${openejb.app.file}"/>
+        </antcall>
+        <antcall target="download.file">
+            <param name="download.url" value="${itests.app.url}"/>
+            <param name="download.file" value="${itests.app.file}"/>
+        </antcall>
+        <antcall target="download.file">
+            <param name="download.url" value="${itests.client.url}"/>
+            <param name="download.file" value="${itests.client.file}"/>
+        </antcall>
+    </target>
+
+    <target name="tomcat.test.setup">
+        <property name="openejb.war.url" 
value="http://www.apache.org/dist/openejb/${openejb.version}/openejb.war"/>
+        <property name="openejb.war.file" 
value="${repo}/openejb/distributions/${openejb.version}/openejb.war"/>
+        <property name="itests.war.url" 
value="http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/openejb/openejb-itests-web/${openejb.version}/openejb-itests-web-${openejb.version}.war"/>
+        <property name="itests.war.file" 
value="${repo}/openejb/distributions/${openejb.version}/openejb-itests.war"/>
+        <property name="itests.client.url" 
value="http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/openejb/openejb-itests-client/${openejb.version}/openejb-itests-client-${openejb.version}.jar"/>
+        <property name="itests.client.file" 
value="${repo}/openejb/distributions/${openejb.version}/openejb-itests-standalone-client.jar"/>
+
+        <property name="tomcat.url" 
value="http://archive.apache.org/dist/tomcat/tomcat-6/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.zip"/>
+        <property name="tomcat.file" 
value="${repo}/tomcat/distributions/${tomcat.version}/tomcat.zip"/>
+        <property name="tomcat.home" 
value="${target.dir}/apache-tomcat-${tomcat.version}"/>
+
+        <antcall target="download.file">
+            <param name="download.url" value="${tomcat.url}"/>
+            <param name="download.file" value="${tomcat.file}"/>
+        </antcall>
+        <antcall target="download.file">
+            <param name="download.url" value="${openejb.war.url}"/>
+            <param name="download.file" value="${openejb.war.file}"/>
+        </antcall>
+        <antcall target="download.file">
+            <param name="download.url" value="${itests.war.url}"/>
+            <param name="download.file" value="${itests.war.file}"/>
+        </antcall>
+        <antcall target="download.file">
+            <param name="download.url" value="${itests.client.url}"/>
+            <param name="download.file" value="${itests.client.file}"/>
+        </antcall>
+    </target>
+
+    <target name="download.uptodate">
+        <available file="${download.file}" property="download.uptodate"/>
+    </target>
+
+    <target name="download.file" depends="download.uptodate" 
unless="download.uptodate">
+        <dirname property="download.dir" file="${download.file}"/>
+        <mkdir dir="${download.dir}"/>
+        <get src="${download.url}" dest="${download.file}"/>
+    </target>
+</project>


Reply via email to