Author: cbrisson
Date: Sun Jan  7 07:21:49 2007
New Revision: 493744

URL: http://svn.apache.org/viewvc?view=rev&rev=493744
Log:
testcases ant file

Added:
    velocity/tools/trunk/test.xml

Added: velocity/tools/trunk/test.xml
URL: 
http://svn.apache.org/viewvc/velocity/tools/trunk/test.xml?view=auto&rev=493744
==============================================================================
--- velocity/tools/trunk/test.xml (added)
+++ velocity/tools/trunk/test.xml Sun Jan  7 07:21:49 2007
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ 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.
+-->
+
+<!--
+  This file contains all the jar download targets to build Velocity.
+  Its tasks are referenced from the build.xml file and should not be
+  called directly.
+
+  This is here so that the main build file is not cluttered any further.
+-->
+
+<project name="VelocityTools" basedir=".">
+
+  <!-- test classpath -->
+  <path id="test.classpath">
+    <fileset dir="${lib.dir}">
+      <include name="**/*.jar"/>
+    </fileset>
+    <pathelement location="${dist.dir}/${view.id}.jar"/>
+    <fileset dir="${test.lib.dir}">
+      <include name="**/*.jar"/>
+    </fileset>
+  </path>
+
+  <!-- prepare tests -->
+  <target name="prepare.test">
+    <!-- <property name="cp" refid="test.classpath"/>
+         <echo message="using classpath=${cp}"/>
+    -->
+    <condition property="java.version.ok">
+      <not>
+        <or>
+          <equals arg1="${ant.java.version}" arg2="1.1"/>
+          <equals arg1="${ant.java.version}" arg2="1.2"/>
+          <equals arg1="${ant.java.version}" arg2="1.3"/>
+          <equals arg1="${ant.java.version}" arg2="1.4"/>
+        </or>
+      </not>
+    </condition>
+    <fail message="VelocityTools tests require at least Java 1.5" 
unless="java.version.ok"/>
+    <mkdir dir="${test.lib.dir}"/>
+    <mkdir dir="${test.rst.dir}"/>
+    <mkdir dir="${test.classes.dir}"/>
+    <mkdir dir="${test.log.dir}"/>
+    <filter token="test.conf.dir" value="${test.conf.dir}"/>
+    <filter token="test.log.dir" value="${test.log.dir}"/>
+    <filter token="test.webcontainer.port" value="${test.webcontainer.port}"/>
+    <copy todir="${test.build.src.dir}" filtering="yes">
+      <fileset dir="${test.src.dir}">
+        <include name="**/*.java"/>
+      </fileset>
+    </copy>
+    <copy tofile="${test.dir}/etc/jetty.xml" 
file="${test.dir}/etc/jetty.xml.tmpl" filtering="yes"/>
+  </target>
+
+  <!-- clean tests -->
+  <target name="test.clean">
+    <delete file="${test.dir}/etc/jetty.xml"/>
+  </target>
+
+  <!-- clean test libraries -->
+  <target name="test.clean.lib">
+    <delete dir="${test.lib.dir}"/>
+  </target>
+
+  <!-- whitebox tests downloads -->
+  <target name="whitebox.test.download" depends="prepare.test">
+    <!-- download dependency jars if needed -->
+    <ant antfile="${basedir}/download.xml" target="whitebox-test-download"/>
+  </target>
+
+  <!-- blackbox tests downloads -->
+  <target name="blackbox.test.download" depends="prepare.test">
+    <!-- download dependency jars if needed -->
+    <ant antfile="${basedir}/download.xml" target="blackbox-test-download"/>
+  </target>
+
+  <!-- compile whitebox tests -->
+  <target name="compile.whitebox.test" depends="whitebox.test.download">
+    <javac srcdir="${test.build.src.dir}"
+      destdir="${test.classes.dir}"
+      encoding="${compile.encoding}"
+      debug="${compile.debug}"
+      deprecation="${compile.deprecation}"
+      optimize="${compile.optimize}"
+      includes="**/whitebox/*.java" 
+      classpathref="test.classpath"/>
+  </target>
+
+  <!-- compile blackbox tests -->
+  <target name="compile.blackbox.test" depends="blackbox.test.download">
+    <property name="name" value="showcase" />
+    <property name="base" value="${examples.home}/${name}" />
+    <property name="lib" value="${base}/WEB-INF/lib"/>
+    <ant antfile="${basedir}/examples.xml" target="example-compile"/>
+    <javac srcdir="${test.build.src.dir}"
+      destdir="${test.classes.dir}"
+      encoding="${compile.encoding}"
+      debug="${compile.debug}"
+      deprecation="${compile.deprecation}"
+      optimize="${compile.optimize}"
+      
includes="**/blackbox/*.java,org/apache/velocity/tools/test/JettyLogger.java"
+      classpathref="test.classpath"/>
+    <jar jarfile="${test.lib.dir}/jettylogger.jar" 
basedir="${test.classes.dir}" 
includes="org/apache/velocity/tools/test/JettyLogger.class"/>
+    <copy todir="${lib}" 
file="${lib.dir}/commons-logging-${jar.commons-logging.version}.jar"/>
+    <copy todir="${base}/WEB-INF/classes" 
file="${test.dir}/conf/commons-logging.properties"/>
+    <javac srcdir="${test.build.src.dir}"
+      destdir="${base}/WEB-INF/classes"
+      encoding="${compile.encoding}"
+      debug="${compile.debug}"
+      deprecation="${compile.deprecation}"
+      optimize="${compile.optimize}"
+      
includes="org/apache/velocity/tools/test/FilteredLogSystemCommonsLog.java"
+      classpathref="test.classpath"/>
+  </target>
+
+  <!-- generic (whitebox) tests -->
+  <target name="test.generic" depends="compile.whitebox.test">
+    <junit fork="false"
+           printSummary="yes"
+           haltonerror="${test.haltonerror}"
+           haltonfailure="${test.haltonfailure}">
+      <classpath>
+        <path refid="test.classpath"/>
+        <pathelement location="${test.classes.dir}"/>
+      </classpath>
+      <batchtest todir="${test.rst.dir}">
+        <fileset dir="${test.classes.dir}" 
includes="org/apache/velocity/tools/test/whitebox/**/*"/>
+      </batchtest>
+      <formatter type="plain"/>
+    </junit>
+  </target>
+
+  <!-- vew tools (blackbox) tests -->
+  <target name="test.view">
+    <antcall target="start-showcase-webapp"/>
+    <junit fork="false"
+           printSummary="withOutAndErr"
+           haltonerror="${test.haltonerror}"
+           haltonfailure="${test.haltonfailure}">
+      <classpath>
+        <path refid="test.classpath"/>
+        <pathelement location="${test.classes.dir}"/>
+      </classpath>
+      <batchtest todir="${test.rst.dir}">
+        <fileset dir="${test.classes.dir}" 
includes="org/apache/velocity/tools/test/blackbox/**/*"/>
+      </batchtest>
+      <formatter type="plain"/>
+    </junit>
+    <antcall target="stop-showcase-webapp"/>
+  </target>
+
+  <!-- start showcases webapp -->
+  <target name="start-showcase-webapp" depends="compile.blackbox.test">
+    <fail message="Localhost port ${test.webcontainer.control.port} is busy. 
Is the showcase webapp already running?">
+      <condition>
+        <socket server="127.0.0.1" port="${test.webcontainer.port}"/>
+      </condition>
+    </fail>
+    <java fork="true" spawn="true" jar="${test.lib.dir}/start-6.0.1.jar" 
dir="${test.dir}">
+      <arg value="etc/jetty.xml"/>
+      <sysproperty key="jetty.home" value="${test.dir}"/>
+      <sysproperty key="jetty.port" value="${test.webcontainer.port}"/>
+      <sysproperty key="STOP.PORT" value="${test.webcontainer.control.port}"/>
+      <sysproperty key="STOP.KEY" value="verysecret"/>
+      <sysproperty key="org.mortbay.log.class" 
value="org.apache.velocity.tools.test.JettyLogger"/>
+      <sysproperty key="jetty.log.file" value="${test.log.dir}/showcase.log"/>
+    </java>
+    <waitfor maxwait="2" maxwaitunit="minute" checkevery="500">
+      <http url="http://localhost:${test.webcontainer.port}/"/>
+    </waitfor>
+    <echo message="web server launched successfully."/>
+  </target>
+
+  <!-- stop showcase webapp -->
+  <target name="stop-showcase-webapp">
+    <java fork="true" jar="${test.lib.dir}/start-6.0.1.jar" dir="${test.dir}">
+      <arg value="--stop"/>
+      <sysproperty key="STOP.PORT" value="${test.webcontainer.control.port}"/>
+      <sysproperty key="STOP.KEY" value="verysecret"/>
+    </java>
+  </target>
+
+</project>


Reply via email to