You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ps...@apache.org on 2009/11/24 15:52:01 UTC

svn commit: r883711 - /commons/proper/dbcp/trunk/test-jar.xml

Author: psteitz
Date: Tue Nov 24 14:52:01 2009
New Revision: 883711

URL: http://svn.apache.org/viewvc?rev=883711&view=rev
Log:
Added build file to compile and run unit tests against compiled jar.

Added:
    commons/proper/dbcp/trunk/test-jar.xml   (with props)

Added: commons/proper/dbcp/trunk/test-jar.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/test-jar.xml?rev=883711&view=auto
==============================================================================
--- commons/proper/dbcp/trunk/test-jar.xml (added)
+++ commons/proper/dbcp/trunk/test-jar.xml Tue Nov 24 14:52:01 2009
@@ -0,0 +1,184 @@
+<!--
+/*
+ * 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.
+ */
+ -->
+
+<!-- $Id$ -->
+
+<!-- 
+     Compiles DBCP unit tests and attempts to run them using the compiled dbcp jar
+     specified in the "commons-dbcp.jar" property.  Set this property in build.properties
+     along with commons-pool.jar and execute the "test" target to run the tests.
+     
+     If the jdk level is <= 1.5, JDBC 4 methods will commented out in the test 
+     code before compilation of the tests.
+-->
+
+<project name="commons-dbcp" default="test" basedir=".">
+
+   <target name="init">
+      <tstamp/>
+
+      <!-- read properties from the build.properties, if any -->
+      <property name="component-propfile" value="${basedir}/build.properties"/>
+      <property file="${component-propfile}"/>
+
+      <!-- read properties from the ${user.home}/propfile, if any -->
+      <property name="user-propfile" value="${user.home}/build.properties"/>
+      <property file="${user-propfile}"/>
+
+      <property name="commons-pool.jar" value="${basedir}/../pool/dist/commons-pool.jar"/>
+   	  <property name="commons-dbcp.jar" value="${basedir}/../../commons-dbcp-1.3-SNAPSHOT.jar"/>
+
+      <!-- now combine the classpaths -->
+      <property name="classpath" 
+       value="${cp}:${commons-pool.jar}:${commons-dbcp.jar}:${jdbc20ext.jar}:${junit.jar}:
+        ${naming-common.jar}:${naming-java.jar}:${commons-logging.jar}:
+      	${xerces.jar}:${xml-apis.jar}:${jta-spec.jar}:${jta-impl.jar}:
+      	${backport-util-concurrent.jar}:${ejb-spec.jar}"/>
+
+      <property name="build.dir" value="${basedir}/build"/>
+      <property name="build.test-classes.dir" value="${build.dir}/test-classes"/>
+
+      <property name="test.entry" value="org.apache.commons.dbcp.TestAll"/>
+      <property name="test.failonerror" value="true" /> 
+      <property name="test.runner" value="junit.textui.TestRunner" /> 
+ 
+      <property name="javac.optimize" value="false"/>
+      <property name="javac.debug" value="true"/>
+      <property name="javac.deprecation" value="false"/>
+      
+   	  <available property="jndi.present" classname="javax.naming.Context"/>
+      <available property="jdbc4.present" classname="java.sql.Wrapper"/>
+   </target>
+
+   <target name="check_jar">
+   	   <available file="${file}" property="found"/>
+   	   <antcall target="check_message"/>
+   </target>
+
+	<target name="check_message" unless="found">
+		<!-- echo could be replaced with fail if required -->
+        <echo message="Could not find ${file}"/>
+   </target>
+
+   <!-- Check that all the dependencies exist -->
+   <target name="check_depends" depends="init">
+       <echo>Checking dependencies</echo>
+       <antcall target="check_jar">
+           <param name="file" value="${commons-pool.jar}"/>
+       </antcall>
+       <antcall target="check_jar">
+           <param name="file" value="${junit.jar}"/>
+       </antcall>
+       <antcall target="check_jar">
+           <param name="file" value="${naming-common.jar}"/>
+       </antcall>
+       <antcall target="check_jar">
+           <param name="file" value="${naming-java.jar}"/>
+       </antcall>
+       <antcall target="check_jar">
+           <param name="file" value="${commons-logging.jar}"/>
+       </antcall>
+       <antcall target="check_jar">
+           <param name="file" value="${xerces.jar}"/>
+       </antcall>
+       <antcall target="check_jar">
+           <param name="file" value="${jta-spec.jar}"/>
+       </antcall>
+       <antcall target="check_jar">
+           <param name="file" value="${jta-impl.jar}"/>
+       </antcall>
+       <antcall target="check_jar">
+           <param name="file" value="${backport-util-concurrent.jar}"/>
+       </antcall>
+       <antcall target="check_jar">
+           <param name="file" value="${ejb-spec.jar}"/>
+       </antcall>
+   </target>
+
+   <!-- ######################################################### -->
+
+   <target name="clean" depends="init" description="removes generated files">
+      <delete dir="${build.dir}"/>
+      <delete dir="${dist.dir}"/>
+   </target>
+
+	<target name="prepare-nojdbc4" depends="init" unless="jdbc4.present">
+	   <echo message="Commenting out the jdbc4 additional methods since JDBC 4 was not detected."/>
+	   <property name="src.dir" value="${build.dir}/src"/>
+	   <property name="src.java.dir" value="${src.dir}/java"/>
+	   <property name="src.test.dir" value="${src.dir}/test"/>
+	   <property name="javac.source" value="1.4" />
+
+	   <mkdir dir="${src.dir}"/> 
+	   <copy todir="${src.dir}" filtering="yes">
+	      <fileset dir="${basedir}/src" defaultexcludes="no">
+	         <include name="**/*.java"/>
+	         <include name="**/*.xml"/>
+	         <include name="**/*.properties"/>
+	         <include name="**/*.jocl"/>
+	         <include name="**/package.html"/>
+	      </fileset>
+	   </copy>
+	   <replace dir="${src.dir}" token="/* JDBC_4_ANT_KEY_BEGIN */" value="/*"/>
+	   <replace dir="${src.dir}" token="/* JDBC_4_ANT_KEY_END */" value="*/"/>
+	</target>
+
+	<target name="prepare-jdbc4" depends="init" if="jdbc4.present">
+	  <echo message="JDBC 4 was detected."/>
+	      <property name="src.dir" value="${basedir}/src"/>
+	      <property name="src.java.dir" value="${src.dir}/java"/>
+	      <property name="src.test.dir" value="${src.dir}/test"/>
+	      <property name="javac.source" value="1.5" />
+	   </target>
+
+   <target name="prepare" depends="init,prepare-nojdbc4,prepare-jdbc4"/>
+
+   <!-- ######################################################### -->
+   
+   <target name="compile-test" depends="check_depends,prepare" description="compiles test files">
+      <mkdir dir="${build.test-classes.dir}"/>
+      <javac destdir="${build.test-classes.dir}"
+             srcdir="${src.test.dir}"
+             debug="${javac.debug}"
+             deprecation="${javac.deprecation}"
+             optimize="${javac.optimize}"
+             source="${javac.source}">
+        <classpath>
+          <pathelement location="${build.test-classes.dir}" /> 
+          <pathelement path="${classpath}" /> 
+        </classpath>
+      </javac>
+      <copy todir="${build.test-classes.dir}" file="${src.test.dir}/testpool.jocl"/>
+   </target>
+
+   <target name="test" depends="compile-test" description="runs (junit) unit tests">
+      <echo message="${classpath}"/>
+      <junit printsummary="true" showoutput="true" fork="yes" haltonfailure="${test.failonerror}">
+        <classpath>
+          <pathelement location="${build.test-classes.dir}" /> 
+          <pathelement path="${classpath}" /> 
+        </classpath>
+        <test name="${test.entry}"/>
+      	<formatter type="plain"/>
+      </junit>
+   </target>
+   
+</project>

Propchange: commons/proper/dbcp/trunk/test-jar.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/proper/dbcp/trunk/test-jar.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: commons/proper/dbcp/trunk/test-jar.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml