1128 lines
46 KiB
XML
1128 lines
46 KiB
XML
|
<!--
|
||
|
Copyright 2004 The Apache Software Foundation
|
||
|
|
||
|
Licensed 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.
|
||
|
-->
|
||
|
<project name="XBean_Test" default="usage" basedir=".">
|
||
|
|
||
|
<target name="java_version">
|
||
|
<echo message="${java.version}"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="usage">
|
||
|
<echo message="See test/docs/BuildingAndRunningTests.txt"/>
|
||
|
</target>
|
||
|
|
||
|
<!-- =============================================================== -->
|
||
|
<!-- START: Properties Section -->
|
||
|
|
||
|
<property environment="ENV"/>
|
||
|
<!-- This takes care of both Unix and Windows -->
|
||
|
<property name="ENV.HOSTNAME" value="${ENV.COMPUTERNAME}"/>
|
||
|
<property name="ant.home" value="${ENV.ANT_HOME}"/>
|
||
|
<!-- Define the properties -->
|
||
|
<!-- These properties will get written to testenv.properties file -->
|
||
|
<property name="xbeans.root" value="${basedir}"/>
|
||
|
<property name="xbeans.test.root" value="${basedir}/test"/>
|
||
|
<property name="xbeans.test.src" value="${xbeans.test.root}/src"/>
|
||
|
<property name="xbeans.external" value="${xbeans.root}/external"/>
|
||
|
<property name="xbeans.external.lib" value="${xbeans.external}/lib"/>
|
||
|
<property name="xbeans.external.lib.jaxb" value="${xbeans.external.lib}/jaxb-1.0"/>
|
||
|
<property name="xbeans.test.cases" value="${xbeans.test.root}/cases"/>
|
||
|
<!--property name="xbeans.test.cases.test" value="${xbeans.test.cases}"/-->
|
||
|
<property name="xbeans.test.cases.test.files" value="${xbeans.test.cases}"/>
|
||
|
<property name="build.dir" value="${xbeans.root}/build"/>
|
||
|
|
||
|
<property name="build.lib" value="${build.dir}/lib"/>
|
||
|
<property name="build.dir.test" value="${basedir}/build/test"/>
|
||
|
<property name="build.external.lib" value="${xbeans.test.root}/lib"/>
|
||
|
<property name="build.dir.test.lib" value="${build.dir.test}/lib"/>
|
||
|
<property name="build.dir.test.schemas" value="${build.dir.test}/schemas"/>
|
||
|
<property name="build.dir.test.schemas.lib" value="${build.dir.test.lib}/schemajars"/>
|
||
|
<property name="build.dir.test.schemas.src" value="${build.dir.test.schemas}/src"/>
|
||
|
<property name="build.dir.test.src" value="${build.dir.test}/classes"/>
|
||
|
<property name="build.dir.test.tools" value="${build.dir.test}/tools"/>
|
||
|
<property name="xbeans.test.tools" value="${xbeans.test.root}/tools"/>
|
||
|
<property name="xbeans.test.lib" value="${xbeans.test.root}/lib"/>
|
||
|
<property name="xbeans.test.tools.lib" value="${xbeans.test.tools}/lib"/>
|
||
|
<property name="xbeans.test.tools.src" value="${xbeans.test.tools}/src"/>
|
||
|
|
||
|
<property name="asserts" value="on"/>
|
||
|
|
||
|
<!-- End of testenv.properties -->
|
||
|
<!--
|
||
|
<target name="write.propertyfile">-->
|
||
|
<!-- Write out the properties file -->
|
||
|
<!--<echoproperties destfile="testenv.properties">
|
||
|
<propertyset>
|
||
|
<propertyref prefix="xbeans."/>
|
||
|
<propertyref prefix="build."/>
|
||
|
</propertyset>
|
||
|
</echoproperties>
|
||
|
</target>
|
||
|
-->
|
||
|
<!-- END: Properties Section -->
|
||
|
<!-- =============================================================== -->
|
||
|
|
||
|
<!-- =============================================================== -->
|
||
|
<!-- START: Custom Taskdefs -->
|
||
|
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
|
||
|
<classpath>
|
||
|
<pathelement location="${xbeans.test.tools.lib}/ant-ext/ant-contrib-0.6.jar"/>
|
||
|
</classpath>
|
||
|
</taskdef>
|
||
|
|
||
|
<taskdef resource="antexts.properties">
|
||
|
<classpath>
|
||
|
<pathelement location="${xbeans.test.tools.lib}/ant-ext/antexts.jar"/>
|
||
|
</classpath>
|
||
|
</taskdef>
|
||
|
<!-- END: Custom Taskdefs -->
|
||
|
<!-- =============================================================== -->
|
||
|
|
||
|
<!-- =============================================================== -->
|
||
|
<!-- START: CLEAN targets -->
|
||
|
<!-- Does a full clean, including cleaning up the built xbean.jar -->
|
||
|
<target name="clean" description="Cleans test build folder">
|
||
|
<delete dir="${build.dir.test}" verbose="false" failonerror="false" includeEmptyDirs="true"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="clean.tests" description="Deletes built tests, including testcases.jar">
|
||
|
<echo message="Cleaning Tests"/>
|
||
|
<delete dir="${build.dir.test.src}" verbose="false" failonerror="false" includeEmptyDirs="true"/>
|
||
|
<delete verbose="false" failonerror="false" file="${build.dir.test.lib}/testcases.jar"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="clean.tools" description="Deletes built tools">
|
||
|
<echo message="Deleting ${build.dir.test.lib}/testtools.jar"/>
|
||
|
<delete dir="${build.dir.test.lib}/testtools.jar" verbose="false" failonerror="true" includeEmptyDirs="true"/>
|
||
|
<delete dir="${build.dir.test.tools}" verbose="false" failonerror="true" includeEmptyDirs="true"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="clean.schemas" description="Deletes built schemas">
|
||
|
<echo message="Deleting ${build.dir.test.schemas.lib}"/>
|
||
|
<delete dir="${build.dir.test.schemas.lib}" verbose="false" failonerror="false" includeEmptyDirs="true"/>
|
||
|
<delete dir="${build.dir.test.schemas}" verbose="false" failonerror="false" includeEmptyDirs="true"/>
|
||
|
<delete file="${build.dir.test.lib}/xmlcases.jar" verbose="false" failonerror="false" includeEmptyDirs="true"/>
|
||
|
<delete file="${build.dir.test.lib}/xqcases.jar" verbose="false" failonerror="false" includeEmptyDirs="true"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="clean.reports" description="Deletes generated report files">
|
||
|
<delete dir="reports" failonerror="false" includeEmptyDirs="true"/>
|
||
|
</target>
|
||
|
|
||
|
<!-- END: CLEAN targets -->
|
||
|
<!-- =============================================================== -->
|
||
|
|
||
|
<!-- =============================================================== -->
|
||
|
<!-- START: init -->
|
||
|
|
||
|
<target name="dirs">
|
||
|
<mkdir dir="${build.dir.test.src}"/>
|
||
|
<mkdir dir="${build.dir.test.lib}"/>
|
||
|
<mkdir dir="${build.dir.test.schemas.lib}"/>
|
||
|
<mkdir dir="${build.dir.test.schemas}"/>
|
||
|
<mkdir dir="${build.dir.test.tools}"/>
|
||
|
</target>
|
||
|
|
||
|
<!-- Creates the build folders and checks if required variables are set -->
|
||
|
<target name="init">
|
||
|
<echo message="basedir: ${basedir}"/>
|
||
|
<!-- mkdir build/lib -->
|
||
|
<antcall target="dirs"/>
|
||
|
<!-- Any other init code goes here -->
|
||
|
</target>
|
||
|
|
||
|
<!-- END: init -->
|
||
|
<!-- =============================================================== -->
|
||
|
|
||
|
<!-- =============================================================== -->
|
||
|
<!-- START: Filesets and Paths -->
|
||
|
<!-- Fileset that includes xbean.jar, jsr173.jar and others -->
|
||
|
<fileset id="xbeans.build.lib" dir="${build.dir}">
|
||
|
<include name="**/*.jar"/>
|
||
|
<exclude name="**/oldxbean.jar"/>
|
||
|
<exclude name="**/jaxen.jar"/>
|
||
|
</fileset>
|
||
|
|
||
|
<fileset id="xbeans.test.external.lib" dir="${build.dir}">
|
||
|
<include name="**/*.jar"/>
|
||
|
<exclude name="**/oldxbean.jar"/>
|
||
|
<exclude name="**/jaxen.jar"/>
|
||
|
</fileset>
|
||
|
|
||
|
<fileset id="external.lib" dir="${build.external.lib}">
|
||
|
<include name="**/*.jar"/>
|
||
|
</fileset>
|
||
|
|
||
|
<fileset id="schema.jars" dir="${build.dir.test.schemas.lib}">
|
||
|
<include name="**/*.jar"/>
|
||
|
</fileset>
|
||
|
|
||
|
<fileset id="tools.ext.lib" dir="${xbeans.test.tools.lib}">
|
||
|
<include name="**/*.jar"/>
|
||
|
<include name="**/*.jar"/>
|
||
|
</fileset>
|
||
|
|
||
|
<fileset id="tools.ext.lib" dir="${xbeans.test.tools.lib}">
|
||
|
<include name="**/*.jar"/>
|
||
|
<exclude name="**/xerces1.4.4.jar"/>
|
||
|
</fileset>
|
||
|
|
||
|
<fileset id="schema.files.copy" dir="${xbeans.test.cases.test.files}">
|
||
|
<include name="**/*.xsd"/>
|
||
|
<!--needed for scomp and redefine-->
|
||
|
<include name="**/*.xs"/>
|
||
|
<!--needed for xquery-->
|
||
|
<include name="**/*.xq"/>
|
||
|
<include name="**/*.xsddonotcompile"/>
|
||
|
<include name="**/*.xsd_"/>
|
||
|
<include name="**/*.jar"/>
|
||
|
<include name="**/*.txt"/>
|
||
|
<include name="**/*.xml"/>
|
||
|
<include name="**/*.xsdconfig"/>
|
||
|
<exclude name="**/*.bz2"/>
|
||
|
<exclude name="**/*.tar"/>
|
||
|
<exclude name="**/*.tar.bz2"/>
|
||
|
</fileset>
|
||
|
|
||
|
<path id="build.classpath">
|
||
|
<fileset refid="xbeans.build.lib"/>
|
||
|
<fileset refid="tools.ext.lib"/>
|
||
|
<!-- for building tools: TestlogMergeUtiltiy -->
|
||
|
<path location="${build.dir.test.lib}/TestReport.xsd.jar"/>
|
||
|
<!-- Axis v1.1 .jar -->
|
||
|
<pathelement path="${xbeans.test.tools.lib}/axis.jar"/>
|
||
|
<!-- needed for the DOM w3c suite -->
|
||
|
<fileset refid="external.lib"/>
|
||
|
<fileset refid="ant.lib"/>
|
||
|
<fileset refid="schema.jars"/>
|
||
|
<!--needed for JAM and extensions-->
|
||
|
<pathelement path="${ENV.JAVA_HOME}/lib/tools.jar"/>
|
||
|
</path>
|
||
|
|
||
|
<fileset id="ant.lib" dir="${ant.home}/lib">
|
||
|
<include name="**/*.jar"/>
|
||
|
</fileset>
|
||
|
|
||
|
<fileset id="test.build.jars" dir="${build.dir.test}/lib">
|
||
|
<include name="**/*.jar"/>
|
||
|
</fileset>
|
||
|
|
||
|
<path id="test.run.classpath">
|
||
|
|
||
|
<pathelement path="${build.dir.test.lib}/xmlcases.jar"/>
|
||
|
<pathelement path="${build.dir.test.lib}/testcases.jar"/>
|
||
|
<pathelement path="${build.dir.test.lib}/testtools.jar"/>
|
||
|
<pathelement path="${build.lib}/xbean_xpath.jar"/>
|
||
|
<pathelement path="${build.lib}/saxon9.jar"/>
|
||
|
<pathelement path="${build.lib}/saxon9-dom.jar"/>
|
||
|
<pathelement path="${ENV.XMLBEANS_EXTERNALS}/saxon9.jar"/>
|
||
|
<pathelement path="${ENV.XMLBEANS_EXTERNALS}/saxon9-dom.jar"/>
|
||
|
<path refid="build.classpath"/>
|
||
|
<fileset refid="test.build.jars"/>
|
||
|
|
||
|
<!--1.4 JDK compat:JDK Xerces missing DocumentRange-->
|
||
|
|
||
|
<pathelement path="${xbeans.test.tools.lib}/xerces1.4.4.jar"/>
|
||
|
</path>
|
||
|
<!-- END: Filesets and Paths -->
|
||
|
<!-- =============================================================== -->
|
||
|
|
||
|
|
||
|
|
||
|
<!-- =============================================================== -->
|
||
|
<!-- START: Schema compile related targets -->
|
||
|
<!-- comma separated list of directories containing schemas -->
|
||
|
<property name="schema.dirs"
|
||
|
value="${build.dir.test.schemas}/xbean/simple/dumb,
|
||
|
${build.dir.test.schemas}/xbean/simple/dupSchemaElements,
|
||
|
${build.dir.test.schemas}/xbean/xmlcursor,
|
||
|
${build.dir.test.schemas}/xbean/xmlcursor/xstypes,
|
||
|
${build.dir.test.schemas}/xbean/dom,
|
||
|
${build.dir.test.schemas}/xbean/misc,
|
||
|
${build.dir.test.schemas}/xbean/compile/scomp/detailed,
|
||
|
${build.dir.test.schemas}/xbean/xmlobject,
|
||
|
${build.dir.test.schemas}/xbean/xmlobject/store,
|
||
|
${build.dir.test.schemas}/xbean/xmltokensource,
|
||
|
${build.dir.test.schemas}/xbean/ValidatingStream,
|
||
|
${build.dir.test.schemas}/xbean/scomp,
|
||
|
${build.dir.test.schemas}/xbean/usertype"/>
|
||
|
<!-- comma separated list of directories containing schemas that *must* be separately
|
||
|
compiled -->
|
||
|
<property name="schema.standalone"
|
||
|
value="${build.dir.test.schemas}/tranxml/Version4.0/schemas/StandAlone"/>
|
||
|
<property name="schema.standalone.files"
|
||
|
value="${schema.standalone}/CarLocationMessage_40_LX.xsd,
|
||
|
${schema.standalone}/RailBillOfLading_V40_LX.xsd,
|
||
|
${schema.standalone}/SimpleRailCarrierWaybillInterchange_V40_LX.xsd,
|
||
|
${schema.standalone}/TerminalOperationsAndIntermodalRampActivity_V40_LX.xsd,"/>
|
||
|
|
||
|
<!--Schemas for bvts: Please keep this list up-to-date in order to minimize
|
||
|
the build time for checkintests-->
|
||
|
<property name="checkin.schema.dirs"
|
||
|
value="${build.dir.test.schemas}/xbean/simple/dumb,
|
||
|
${build.dir.test.schemas}/xbean/xmlcursor,
|
||
|
${build.dir.test.schemas}/xbean/xmlobject,
|
||
|
${build.dir.test.schemas}/xbean/ValidatingStream,
|
||
|
${build.dir.test.schemas}/xbean/dom
|
||
|
"/>
|
||
|
<property name="checkin.schema.standalone.files"
|
||
|
value="${schema.standalone}/CarLocationMessage_40_LX.xsd"/>
|
||
|
|
||
|
|
||
|
<property name="schema.compiler" value="org.apache.xmlbeans.impl.tool.SchemaCompiler"/>
|
||
|
|
||
|
<target name="build.xmlcases" description="Builds xmlcases.jar">
|
||
|
<jar destfile="${build.dir.test.lib}/xmlcases.jar"
|
||
|
basedir="${build.dir.test.schemas}" update="false"
|
||
|
includes="**/*.*"
|
||
|
excludes="**/*.xsd, xstc/**"
|
||
|
/>
|
||
|
</target>
|
||
|
|
||
|
<target name="build.xqcases" description="Builds xqcases.jar">
|
||
|
<jar destfile="${build.dir.test.lib}/xqcases.jar"
|
||
|
basedir="${build.dir.test.schemas}" update="false"
|
||
|
includes="xbean/xmlcursor/xquery/*.xq"
|
||
|
/>
|
||
|
<copy file="${xbeans.test.cases.test.files}/xbean/xmlcursor/xquery/xmlQuery.zip"
|
||
|
todir="${build.dir.test.lib}"/>
|
||
|
<!--copy file="${xbeans.test.cases.test.files}/xbean/xmlcursor/xquery/useCases.zip"
|
||
|
todir="${build.dir.test.lib}"/-->
|
||
|
</target>
|
||
|
|
||
|
<target name="build.xsdcases" description="Builds xmlcases.jar">
|
||
|
<jar destfile="${build.dir.test.lib}/xsdcases.jar"
|
||
|
basedir="${build.dir.test.schemas}" update="false"
|
||
|
includes="**/*.xsd"
|
||
|
excludes="xstc/**"/>
|
||
|
</target>
|
||
|
<!-- run scomp on all directories in ${schema.dirs} -->
|
||
|
<target name="build.schemas" depends="init, copy.schemas, uncompress"
|
||
|
description="Build test schemas.">
|
||
|
<echo message="basedir: ${basedir}"/>
|
||
|
<!-- scomp on Schema.dirs -->
|
||
|
<if>
|
||
|
<isset property="this.schema.dirs"/>
|
||
|
<then>
|
||
|
<foreach list="${this.schema.dirs}"
|
||
|
target="scomp.dir"
|
||
|
param="schemasrc" trim="true"
|
||
|
inheritall="true" inheritrefs="true"/>
|
||
|
</then>
|
||
|
<else>
|
||
|
<foreach list="${schema.dirs}"
|
||
|
target="scomp.dir"
|
||
|
param="schemasrc" trim="true"
|
||
|
inheritall="true" inheritrefs="true"/>
|
||
|
</else>
|
||
|
|
||
|
</if>
|
||
|
|
||
|
<!-- Check if uncompress is required -->
|
||
|
<if>
|
||
|
<isset property="this.schema.standalone.dirs"/>
|
||
|
<then>
|
||
|
<antcall target="uncompress"/>
|
||
|
<foreach list="${this.schema.standalone.dirs}"
|
||
|
target="scomp.single"
|
||
|
param="schemasrc" trim="true"
|
||
|
inheritall="true" inheritrefs="true"/>
|
||
|
</then>
|
||
|
<else>
|
||
|
<foreach list="${schema.standalone.files}"
|
||
|
target="scomp.single"
|
||
|
param="schemasrc" trim="true"
|
||
|
inheritall="true" inheritrefs="true"/>
|
||
|
</else>
|
||
|
</if>
|
||
|
<antcall target="build.xmlcases"/>
|
||
|
<antcall target="build.xsdcases"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="copy.schemas">
|
||
|
<copy todir="${build.dir.test.schemas}">
|
||
|
<fileset refid="schema.files.copy"/>
|
||
|
</copy>
|
||
|
</target>
|
||
|
|
||
|
|
||
|
<!-- compile directory of .xsd files -->
|
||
|
<target name="scomp.dir">
|
||
|
<basename path="${schemasrc}" property="jarname"/>
|
||
|
<property name="jar.file" value="${build.dir.test.schemas.lib}/${jarname}.jar"/>
|
||
|
<!-- Check if scomp is required -->
|
||
|
<if>
|
||
|
<uptodate targetfile="${jar.file}">
|
||
|
<srcfiles dir="${schemasrc}" includes="**/*.xsd"/>
|
||
|
</uptodate>
|
||
|
<then>
|
||
|
<echo message="Jar uptodate for ${schemasrc}"/>
|
||
|
</then>
|
||
|
<else>
|
||
|
<antcall target="scomp"/>
|
||
|
</else>
|
||
|
</if>
|
||
|
</target>
|
||
|
|
||
|
<!-- compile a .xsd file -->
|
||
|
<target name="scomp.single">
|
||
|
<basename path="${schemasrc}" property="jarname"/>
|
||
|
<property name="jar.file" value="${build.dir.test.schemas.lib}/${jarname}.jar"/>
|
||
|
<!-- Check if scomp is required -->
|
||
|
<if>
|
||
|
<uptodate srcfile="${schemasrc}" targetfile="${jar.file}"/>
|
||
|
<then>
|
||
|
<echo message="Jar uptodate for ${schemasrc}"/>
|
||
|
</then>
|
||
|
<else>
|
||
|
<antcall target="scomp"/>
|
||
|
</else>
|
||
|
</if>
|
||
|
</target>
|
||
|
|
||
|
<target name="scomp" unless="jar.uptodate">
|
||
|
<echo message="Compiling ${schemasrc} using compiler from: ${schema.compiler}"/>
|
||
|
<!--
|
||
|
Lets make this target easy to call as a standalone. To call it standalone
|
||
|
ant scomp -Dschemasrc=file|schema dir
|
||
|
Optional parameters
|
||
|
-Dmn = Initial memory size
|
||
|
-Dmx = Maximum memory size
|
||
|
-Djar.file = Destination jar file
|
||
|
-->
|
||
|
<property name="mn" value="8m"/>
|
||
|
<property name="mx" value="512m"/>
|
||
|
<!-- Default jar file -->
|
||
|
<property name="jar.file"
|
||
|
value="${build.dir.test.schemas.lib}/schemas.jar"/>
|
||
|
|
||
|
<java classname="${schema.compiler}"
|
||
|
classpathref="build.classpath"
|
||
|
fork="true">
|
||
|
<arg line="-out ${jar.file} -src ${build.dir.test.schemas.src} ${schemasrc} -ms ${mn} -mx ${mx}"/>
|
||
|
</java>
|
||
|
|
||
|
<!--
|
||
|
<scomp schema="${schemasrc}"
|
||
|
classpathref="build.classpath"
|
||
|
memoryInitialSize="${mn}"
|
||
|
memoryMaximumSize="${mx}"
|
||
|
failonerror="true"
|
||
|
destfile="${jar.file}">
|
||
|
</scomp>
|
||
|
-->
|
||
|
<echo message="jar.file: ${jar.file}"/>
|
||
|
</target>
|
||
|
|
||
|
<!-- END: Schema compile related targets -->
|
||
|
<!-- =============================================================== -->
|
||
|
|
||
|
<!-- =============================================================== -->
|
||
|
<!-- START: Archive uncompress targets -->
|
||
|
<!-- uncompress and copy all schema files that will be used durign testing -->
|
||
|
<target name="uncompress">
|
||
|
<foreach target="uncompress.helper" param="archivefile">
|
||
|
<path>
|
||
|
<fileset dir="${xbeans.test.cases.test.files}">
|
||
|
<include name="**/*.tar.bz2"/>
|
||
|
</fileset>
|
||
|
</path>
|
||
|
</foreach>
|
||
|
</target>
|
||
|
<!-- helper target -->
|
||
|
<target name="uncompress.helper" depends="uncompress.uptodate,do.uncompress"/>
|
||
|
|
||
|
<!-- if archive is name 'foo.tar.bz2', root directory should be 'foo' -->
|
||
|
<target name="uncompress.uptodate">
|
||
|
<basename path="${archivefile}" property="dir.name" suffix=".tar.bz2"/>
|
||
|
<!-- FIXME: it's not sufficient to just check if dir exists -->
|
||
|
<condition property="uncompress.uptodate">
|
||
|
<available file="${build.dir.test.schemas}/${dir.name}" type="dir"/>
|
||
|
</condition>
|
||
|
<echo message="uncompress.uptodate for ${archivefile}: ${uncompress.uptodate}"/>
|
||
|
</target>
|
||
|
|
||
|
<!-- perform the uncompress -->
|
||
|
<target name="do.uncompress" unless="uncompress.uptodate">
|
||
|
<untar src="${archivefile}" dest="${build.dir.test.schemas}"
|
||
|
compression="bzip2" overwrite="false"/>
|
||
|
</target>
|
||
|
<!-- END: Archive uncompress targets -->
|
||
|
<!-- =============================================================== -->
|
||
|
|
||
|
<!-- =============================================================== -->
|
||
|
<!-- START: Tests and Tools build -->
|
||
|
<target name="check.xbean.jar">
|
||
|
<if>
|
||
|
<not>
|
||
|
<available file="${build.lib}/xbean.jar"/>
|
||
|
</not>
|
||
|
<then>
|
||
|
<ant target="default"/>
|
||
|
</then>
|
||
|
</if>
|
||
|
</target>
|
||
|
<target name="build" depends="check.xbean.jar" description="Build the tests. Params: -Dtest.area">
|
||
|
<!-- Lets test conditional compile -->
|
||
|
<if>
|
||
|
<or>
|
||
|
<isset property="build.area"/>
|
||
|
<isset property="test.area"/>
|
||
|
</or>
|
||
|
<then>
|
||
|
<echo message="build.area is set"/>
|
||
|
<foreachloop list="${area.names}" param="curval">
|
||
|
<loop>
|
||
|
<foreachloop list="${test.area}" param="test.area.curval">
|
||
|
<loop>
|
||
|
<if>
|
||
|
<equals arg1="${test.area.curval}" arg2="${curval}" trim="true"/>
|
||
|
<then>
|
||
|
<echo message="MATCH: ${curval} == ${test.area.curval}"/>
|
||
|
<property name="matchfound" value="true"/>
|
||
|
<antcall target="build.area.${test.area.curval}"/>
|
||
|
</then>
|
||
|
</if>
|
||
|
</loop>
|
||
|
</foreachloop>
|
||
|
</loop>
|
||
|
</foreachloop>
|
||
|
<fail unless="matchfound"
|
||
|
message="build.area did not match any area from: ${area.names}"/>
|
||
|
</then>
|
||
|
<else>
|
||
|
<echo message="test.area is not set"/>
|
||
|
|
||
|
<antcall target="build.schemas"/>
|
||
|
<antcall target="build.tests"/>
|
||
|
|
||
|
</else>
|
||
|
</if>
|
||
|
<antcall target="build.xqcases"/>
|
||
|
</target>
|
||
|
|
||
|
<!-- Bea-xmlbeans has already been built and in the right location -->
|
||
|
<target name="clean.and.build"
|
||
|
description="Do a full clean and build">
|
||
|
<antcall target="clean"/>
|
||
|
<antcall target="build"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="build.test.tools" depends="init, testreport.xsd.jar"
|
||
|
description="Build the tools required for tests">
|
||
|
<javac srcdir="${xbeans.test.tools.src}"
|
||
|
destdir="${build.dir.test.tools}"
|
||
|
classpathref="build.classpath"
|
||
|
fork="false"
|
||
|
debug="on"
|
||
|
optimize="on"
|
||
|
verbose="false"
|
||
|
failonerror="true">
|
||
|
<!--compilerarg line="-Xlint:deprecation"/--><!--ruins Java1.4 compat-->
|
||
|
</javac>
|
||
|
|
||
|
<jar destfile="${build.dir.test.lib}/testtools.jar"
|
||
|
basedir="${build.dir.test.tools}" update="false"
|
||
|
excludes="**/*.java"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="check.testreport">
|
||
|
<condition property="check.testreport.exists">
|
||
|
<available file="${build.dir.test.lib}/TestReport.xsd.jar"/>
|
||
|
</condition>
|
||
|
</target>
|
||
|
|
||
|
<target name="testreport.xsd.jar" depends="check.testreport"
|
||
|
unless="check.testreport.exists">
|
||
|
|
||
|
<java classname="${schema.compiler}"
|
||
|
classpathref="build.classpath"
|
||
|
fork="true">
|
||
|
<arg line="-out ${build.dir.test.lib}/TestReport.xsd.jar ${xbeans.test.tools.lib}/xsl/TestReport.xsd "/>
|
||
|
</java>
|
||
|
</target>
|
||
|
|
||
|
<target name="build.xpath">
|
||
|
<condition property="xbean_xpath.jar.exists">
|
||
|
<available file="${build.lib}/xbean_xpath.jar"/>
|
||
|
</condition>
|
||
|
<if>
|
||
|
<not>
|
||
|
<isset property="xbean_xpath.jar.exists"/>
|
||
|
</not>
|
||
|
<then>
|
||
|
<ant target="xbean_xpath.jar"/>
|
||
|
</then>
|
||
|
</if>
|
||
|
</target>
|
||
|
|
||
|
<!-- Builds the tests -->
|
||
|
<!-- NOTE: This target depends on build.schemas, but we do not
|
||
|
explicitly put it on the depends list. -->
|
||
|
|
||
|
<target name="build.tests" depends="init, build.test.tools, build.xpath,extensions.build,usertype.build"
|
||
|
description="Build the tests">
|
||
|
|
||
|
<javac srcdir="${xbeans.test.src}"
|
||
|
excludes="**/drt/**"
|
||
|
destdir="${build.dir.test.src}"
|
||
|
classpathref="test.run.classpath"
|
||
|
debug="on"
|
||
|
source="1.4"
|
||
|
optimize="on"
|
||
|
verbose="false"
|
||
|
failonerror="true">
|
||
|
</javac>
|
||
|
<jar destfile="${build.dir.test.lib}/testcases.jar"
|
||
|
basedir="${build.dir.test.src}" update="true"
|
||
|
excludes="**/*.java"/>
|
||
|
|
||
|
</target>
|
||
|
<!-- END: Tests and Tools build -->
|
||
|
<!-- =============================================================== -->
|
||
|
|
||
|
<!-- =============================================================== -->
|
||
|
<!-- START: Incremental build targets -->
|
||
|
|
||
|
<property name="area.names" value="compile, dom, misc, random,
|
||
|
ValidatingXSRTests,xmlcursor, xmlobject,
|
||
|
xmltokensource, checkin,
|
||
|
scomp, tools"/>
|
||
|
|
||
|
<target name="list.areas" description="List areas for -Dtest.area param">
|
||
|
<echo message="${area.names}"/>
|
||
|
</target>
|
||
|
<target name="unit.build" depends="init, copy.schemas, build.test.tools">
|
||
|
<!--
|
||
|
Properties that need to be set for this target to work
|
||
|
* includes.for.compile - includes spec for javac
|
||
|
|
||
|
Optional:
|
||
|
* this.schema.dirs - list of folders for scomp
|
||
|
* this.schema.standalone.dirs - list of individual schemas for scomp
|
||
|
* testcasesjar.update - set to true if testcases.jar should be
|
||
|
updated instead of overwriting
|
||
|
-->
|
||
|
<fail message="Property includes.for.compile is not set. Cannot proceed!"
|
||
|
unless="includes.for.compile"/>
|
||
|
|
||
|
<!-- If this property gets set before this line is reached, then the
|
||
|
value does *NOT* get overwritten by this line
|
||
|
Very useful for specifying default values. -->
|
||
|
<property name="testcasesjar.update" value="false"/>
|
||
|
<!-- scomp on Schema.dirs -->
|
||
|
<if>
|
||
|
<isset property="this.schema.dirs"/>
|
||
|
<then>
|
||
|
<foreach list="${this.schema.dirs}"
|
||
|
target="scomp.dir"
|
||
|
param="schemasrc" trim="true"/>
|
||
|
</then>
|
||
|
</if>
|
||
|
<!-- Check if uncompress is required -->
|
||
|
<if>
|
||
|
<isset property="this.schema.standalone.dirs"/>
|
||
|
<then>
|
||
|
<antcall target="uncompress"/>
|
||
|
<foreach list="${this.schema.standalone.dirs}"
|
||
|
target="scomp.single"
|
||
|
param="schemasrc" trim="true"/>
|
||
|
</then>
|
||
|
</if>
|
||
|
<if>
|
||
|
<isset property="compile.extensions"/>
|
||
|
<then>
|
||
|
<antcall target="extensions.build"/>
|
||
|
</then>
|
||
|
</if>
|
||
|
<if>
|
||
|
<isset property="compile.usertype"/>
|
||
|
<then>
|
||
|
<antcall target="usertype.build"/>
|
||
|
</then>
|
||
|
</if>
|
||
|
<antcall target="build.xmlcases"/>
|
||
|
<antcall target="build.xsdcases"/>
|
||
|
|
||
|
<javac srcdir="${xbeans.test.src}"
|
||
|
destdir="${build.dir.test.src}"
|
||
|
includes="${includes.for.compile}"
|
||
|
excludes="${excludes}"
|
||
|
classpathref="test.run.classpath"
|
||
|
optimize="on"
|
||
|
source="1.4"
|
||
|
debug="on"
|
||
|
verbose="false"
|
||
|
failonerror="true"/>
|
||
|
<jar destfile="${build.dir.test.lib}/testcases.jar"
|
||
|
basedir="${build.dir.test.src}"
|
||
|
excludes="**/*.java"
|
||
|
update="${testcasesjar.update}"/>
|
||
|
</target>
|
||
|
<!--Extensions feature: a bit tricky to build -->
|
||
|
<target name="extensions.build" depends="init">
|
||
|
<echo message="Building extensions"/>
|
||
|
<foreachloop
|
||
|
param="feature" trim="true">
|
||
|
<path>
|
||
|
<dirset dir="${xbeans.test.src}/xmlobject/extensions/">
|
||
|
<include name="*"/>
|
||
|
</dirset>
|
||
|
</path>
|
||
|
<loop>
|
||
|
|
||
|
<foreachloop param="case" trim="true">
|
||
|
<path>
|
||
|
<dirset dir="${feature}">
|
||
|
<include name="*"/>
|
||
|
</dirset>
|
||
|
</path>
|
||
|
<loop>
|
||
|
<basename property="testcase" path="${case}"/>
|
||
|
<basename property="feature.basename" path="${feature}"/>
|
||
|
|
||
|
<available file="${build.dir.test.schemas.lib}/${feature.basename}_${testcase}.jar" property="jar.exists"/>
|
||
|
<!-- uptodate srcfile= targetfile="${jarname}" property="jar.exists"/-->
|
||
|
<echo message="JAR ${build.dir.test.schemas.lib}/${feature.basename}_${testcase}.jar, Exists: ${jar.exists}"/>
|
||
|
<if>
|
||
|
<isfalse value="${jar.exists}"/>
|
||
|
<then>
|
||
|
<java classname="${schema.compiler}"
|
||
|
classpathref="build.classpath"
|
||
|
fork="true">
|
||
|
<arg line="-out ${build.dir.test.schemas.lib}/${feature.basename}_${testcase}.jar
|
||
|
${case}/existing
|
||
|
${xbeans.test.cases}/xbean/extensions/${feature.basename}/${testcase}"
|
||
|
/>
|
||
|
</java>
|
||
|
</then>
|
||
|
</if>
|
||
|
</loop>
|
||
|
</foreachloop>
|
||
|
</loop>
|
||
|
|
||
|
</foreachloop>
|
||
|
</target>
|
||
|
<!--User type feature-->
|
||
|
<target name="usertype.build" depends="init">
|
||
|
<echo message="Building user types"/>
|
||
|
<foreachloop
|
||
|
param="case" trim="true">
|
||
|
<path>
|
||
|
<dirset dir="${xbeans.test.src}/xmlobject/usertype/">
|
||
|
<include name="*"/>
|
||
|
</dirset>
|
||
|
</path>
|
||
|
<loop>
|
||
|
<basename property="testcase" path="${case}"/>
|
||
|
|
||
|
<available file="${build.dir.test.schemas.lib}/usertype_${testcase}.jar" property="usertypejar.exists"/>
|
||
|
<echo message="JAR ${build.dir.test.schemas.lib}/usertype_${testcase}.jar, Exists: ${usertypejar.exists}"/>
|
||
|
<if>
|
||
|
<isfalse value="${usertypejar.exists}"/>
|
||
|
<then>
|
||
|
<java classname="${schema.compiler}"
|
||
|
classpathref="build.classpath"
|
||
|
fork="true">
|
||
|
<arg line="-out ${build.dir.test.schemas.lib}/usertype_${testcase}.jar
|
||
|
${case}/existing
|
||
|
${xbeans.test.cases}/xbean/usertype/${testcase}"
|
||
|
/>
|
||
|
</java>
|
||
|
</then>
|
||
|
</if>
|
||
|
</loop>
|
||
|
</foreachloop>
|
||
|
</target>
|
||
|
|
||
|
<!--test xmlbeans task-->
|
||
|
<target name="xmlbean-test" depends="init">
|
||
|
<taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpath="${build.lib}/xbean.jar"/>
|
||
|
<xmlbean
|
||
|
classpathref="test.run.classpath"
|
||
|
srcgendir="${build.dir.test.schemas}/generated"
|
||
|
classgendir="${build.dir.test.schemas}"
|
||
|
destfile="${build.dir.test.schemas.lib}/XMLBeanTask.jar" >
|
||
|
<fileset dir="${xbeans.test.src}/xmlobject" includes="**/existing/**"/>
|
||
|
<fileset dir="${xbeans.test.cases}/xbean/extensions/interfaceFeature/averageCase" includes="*"/>
|
||
|
</xmlbean>
|
||
|
</target>
|
||
|
|
||
|
<target name="build.area.xmlobject" depends="extensions.build">
|
||
|
<property name="this.schema.dirs"
|
||
|
value="${build.dir.test.schemas}/xbean/xmlobject,
|
||
|
${build.dir.test.schemas}/xbean/xmlcursor,
|
||
|
${build.dir.test.schemas}/xbean/simple"/>
|
||
|
<property name="this.schema.standalone.dirs"
|
||
|
value="${schema.standalone}/CarLocationMessage_40_LX.xsd,
|
||
|
${schema.standalone}/RailBillOfLading_V40_LX.xsd,
|
||
|
${schema.standalone}/SimpleRailCarrierWaybillInterchange_V40_LX.xsd,
|
||
|
${schema.standalone}/TerminalOperationsAndIntermodalRampActivity_V40_LX.xsd,"/>
|
||
|
<property name="compile.extensions" value="true"/>
|
||
|
<property name="compile.usertype" value="true"/>
|
||
|
|
||
|
<property name="includes.for.compile"
|
||
|
value="**/xmlobject/**/*.java"/>
|
||
|
|
||
|
<property name="testcasejar.update" value="true"/>
|
||
|
<antcall target="unit.build"/>
|
||
|
|
||
|
</target>
|
||
|
|
||
|
|
||
|
<target name="build.area.misc">
|
||
|
<property name="this.schema.dirs"
|
||
|
value="${build.dir.test.schemas}/xbean/misc"/>
|
||
|
<property name="includes.for.compile"
|
||
|
value="**/misc/**/*.java"/>
|
||
|
<property name="testcasejar.update" value="true"/>
|
||
|
<antcall target="unit.build"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="build.area.compile">
|
||
|
<property name="this.schema.dirs"
|
||
|
value="${build.dir.test.schemas}/xbean/compile"/>
|
||
|
<property name="includes.for.compile"
|
||
|
value="**/compile/**/*.java"/>
|
||
|
<property name="testcasejar.update" value="true"/>
|
||
|
<antcall target="unit.build"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="build.area.xmltokensource">
|
||
|
<property name="this.schema.dirs"
|
||
|
value="${build.dir.test.schemas}/xbean/xmltokensource"/>
|
||
|
<property name="includes.for.compile"
|
||
|
value="**/xmltokensource/**/*.java"/>
|
||
|
<property name="testcasejar.update" value="true"/>
|
||
|
<antcall target="unit.build"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="build.area.xmlcursor">
|
||
|
<property name="this.schema.dirs"
|
||
|
value="${build.dir.test.schemas}/xbean/xmlcursor"/>
|
||
|
<property name="this.schema.standalone.dirs"
|
||
|
value="${schema.standalone}/CarLocationMessage_40_LX.xsd"/>
|
||
|
<property name="includes.for.compile"
|
||
|
value="**/xmlcursor/**/*.java"/>
|
||
|
<property name="testcasejar.update" value="true"/>
|
||
|
<echo message="SCHEMAS: ${this.schema.dirs}"/>
|
||
|
<antcall target="unit.build"/>
|
||
|
<antcall target="build.xqcases"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="build.area.dom">
|
||
|
<property name="includes.for.compile"
|
||
|
value="**/dom/**/*.java,**/dom/detailed/**/*.java"/>
|
||
|
<property name="testcasejar.update" value="true"/>
|
||
|
<antcall target="unit.build"/>
|
||
|
</target>
|
||
|
|
||
|
|
||
|
<!--call make dir in case there was a clean before building this area-->
|
||
|
<target name="build.area.xpath">
|
||
|
<property name="includes.for.compile"
|
||
|
value="**/xmlcursor/xpath/**/*.java,
|
||
|
**/xmlcursor/xpath/xbean_xpath/**/*.java"/>
|
||
|
<property name="testcasejar.update" value="true"/>
|
||
|
<antcall target="unit.build"/>
|
||
|
</target>
|
||
|
|
||
|
|
||
|
<target name="build.area.ValidatingXSRTests">
|
||
|
|
||
|
<property name="this.schema.dirs"
|
||
|
value="${build.dir.test.schemas}/xbean/ValidatingStream,
|
||
|
${build.dir.test.schemas}/xbean/xmlobject"/>
|
||
|
<property name="includes.for.compile"
|
||
|
value="**/ValidatingXSRTests/**/*.java"/>
|
||
|
<property name="this.schema.standalone.dirs"
|
||
|
value="${schema.standalone}/CarLocationMessage_40_LX.xsd"/>
|
||
|
<property name="testcasejar.update" value="true"/>
|
||
|
<antcall target="unit.build"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="build.area.scomp" depends="clean.tests">
|
||
|
<property name="includes.for.compile"
|
||
|
value="scomp/**/*.java"/>
|
||
|
<property name="this.schema.dirs"
|
||
|
value="${build.dir.test.schemas}/xbean/scomp"/>
|
||
|
<property name="testcasejar.update" value="true"/>
|
||
|
<antcall target="unit.build"/>
|
||
|
</target>
|
||
|
<target name="build.area.tools">
|
||
|
<property name="includes.for.compile"
|
||
|
value="**/tools/**/*.java"/>
|
||
|
<property name="testcasejar.update" value="true"/>
|
||
|
<antcall target="unit.build"/>
|
||
|
</target>
|
||
|
|
||
|
<!-- FREQ Target -->
|
||
|
<target name="build.area.checkin" depends="clean.tests,extensions.build,usertype.build">
|
||
|
<property name="includes.for.compile"
|
||
|
value="**/checkin/**/*.java,
|
||
|
**/common/**/*.java"/>
|
||
|
<!--<property name="excludes.from.compile"
|
||
|
value="**/extensions/**"/>-->
|
||
|
<property name="this.schema.dirs"
|
||
|
value="${checkin.schema.dirs}"/>
|
||
|
<property name="this.schema.standalone.dirs"
|
||
|
value="${schema.standalone}/CarLocationMessage_40_LX.xsd"/>
|
||
|
<property name="testcasejar.update" value="true"/>
|
||
|
<antcall target="unit.build"/>
|
||
|
</target>
|
||
|
|
||
|
<!-- END: Incremental build targets -->
|
||
|
<!-- =============================================================== -->
|
||
|
|
||
|
|
||
|
<!-- =============================================================== -->
|
||
|
<!-- START: JUNIT Tests -->
|
||
|
<target name="checkin">
|
||
|
<property name="test.area" value="checkin"/>
|
||
|
<property name="excludes"
|
||
|
value="**/compile/scomp/checkin/**,**/tools/inst2xsd/checkin/**"/>
|
||
|
<antcall target="build"/>
|
||
|
<antcall target="run.junit"/>
|
||
|
<antcall target="-compile.run.excluded"/>
|
||
|
</target>
|
||
|
|
||
|
<!-- convenience target for just running compile tests -->
|
||
|
<target name="compile.run">
|
||
|
<property name="excludes"
|
||
|
value="**/compile/scomp/checkin/**,**/tools/inst2xsd/checkin/**"/>
|
||
|
<antcall target="-compile.run.excluded"/>
|
||
|
</target>
|
||
|
<!-- This test, for some reason, upon compilation,
|
||
|
affects other tests under Win jdk1.4-->
|
||
|
<target name="-compile.run.excluded" depends="check.asserts">
|
||
|
<delete file="${build.dir.test}/output/compile/scomp/j2ee/j2eeconfigxml.jar" description="Workaround failing test."/>
|
||
|
<javac srcdir="${xbeans.test.src}"
|
||
|
destdir="${build.dir.test.src}"
|
||
|
includes="${excludes}"
|
||
|
classpathref="test.run.classpath"
|
||
|
optimize="on"
|
||
|
debug="on"
|
||
|
source="1.4"
|
||
|
verbose="false"
|
||
|
failonerror="true"/>
|
||
|
<property name="test.area.run" value="${excludes}"/>
|
||
|
<property name="report.dir" value="${build.dir.test}/reports"/>
|
||
|
<property name="report.log.file"
|
||
|
value="${report.dir}/TestLog_CompilationTests.xml"/>
|
||
|
<property name="report.file"
|
||
|
value="${report.dir}/TestReport_CompilationTests.html"/>
|
||
|
|
||
|
<taskdef name="junitX" classname="tools.JUnit.JUnitXTask"
|
||
|
classpathref="test.run.classpath"/>
|
||
|
|
||
|
<jar destfile="${build.dir.test.lib}/testcases.jar"
|
||
|
basedir="${build.dir.test.src}"
|
||
|
excludes="**/*.java"
|
||
|
update="false"/>
|
||
|
|
||
|
<echo message="Running ${test.area.run} "/>
|
||
|
<property name="showoutput" value="false"/>
|
||
|
<junitX classpathref="test.run.classpath"
|
||
|
formatter="tools.JUnit.XmlResultFormatterImpl"
|
||
|
showOutput="${showoutput}"
|
||
|
reportFile="${report.log.file}"
|
||
|
classes="${test.area.run}"
|
||
|
fork="true"
|
||
|
resultproperty="junit.failcount"
|
||
|
failonerror="false">
|
||
|
<classpath>
|
||
|
<path refid="test.run.classpath"/>
|
||
|
</classpath>
|
||
|
|
||
|
<jvmarg value="-Xmx256m"/>
|
||
|
<jvmarg value="${asserts.value}"/>
|
||
|
|
||
|
<!-- For tests that need to access case files directly -->
|
||
|
<sysproperty key="cases.location" path="${xbeans.test.cases.test.files}"/>
|
||
|
<sysproperty key="xbean.rootdir" path="${xbeans.root}"/>
|
||
|
|
||
|
<!-- This will pick up all files that match and end in .java
|
||
|
and try to run the corresponding test class -->
|
||
|
|
||
|
<fileset dir="${build.dir.test.src}"
|
||
|
includes="${test.area.run}"
|
||
|
excludes="**/common/**"/>
|
||
|
</junitX>
|
||
|
<antcall target="generate.html.report"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="detailed">
|
||
|
<property name="test.area.run" value="**/detailed/**"/>
|
||
|
<antcall target="build"/>
|
||
|
<antcall target="run.junit"/>
|
||
|
</target>
|
||
|
|
||
|
<target name="check.asserts">
|
||
|
<echo message="${asserts}"/>
|
||
|
<if>
|
||
|
<not>
|
||
|
<equals arg1="${asserts}" arg2="on"/>
|
||
|
</not>
|
||
|
<then>
|
||
|
<echo message=
|
||
|
"********************************************************"/>
|
||
|
<echo message=
|
||
|
"*Running w/ asserts off"/>
|
||
|
<echo message=
|
||
|
"********************************************************"/>
|
||
|
<property name="asserts.value" value=""/>
|
||
|
</then>
|
||
|
<else>
|
||
|
<echo message=
|
||
|
"********************************************************"/>
|
||
|
<echo message=
|
||
|
"*Running w/ asserts on. To disable pass -Dasserts='off'"/>
|
||
|
<echo message=
|
||
|
"********************************************************"/>
|
||
|
<property name="asserts.value" value="-ea"/>
|
||
|
</else>
|
||
|
</if>
|
||
|
|
||
|
</target>
|
||
|
|
||
|
<target name="run.junit" depends="clean.reports, check.asserts" description="Run the tests. Parameters: -Dtest.area, -Dtest.spec">
|
||
|
<!-- The default test spec. To run a different set of tests
|
||
|
set the property "test.area" before calling this target
|
||
|
or by specifying on the command line -Dtest.area -->
|
||
|
<taskdef name="junitX" classname="tools.JUnit.JUnitXTask"
|
||
|
classpathref="test.run.classpath"/>
|
||
|
|
||
|
<property name="report.dir" value="${build.dir.test}/reports"/>
|
||
|
<property name="report.log.file" value="${report.dir}/TestLog.xml"/>
|
||
|
<property name="report.file" value="${report.dir}/TestReport.html"/>
|
||
|
|
||
|
<mkdir dir="${report.dir}"/>
|
||
|
<if>
|
||
|
<isset property="test.spec"/>
|
||
|
<then>
|
||
|
<property name="test.area.run" value="${test.spec}"/>
|
||
|
</then>
|
||
|
<else>
|
||
|
<if>
|
||
|
<isset property="test.area"/>
|
||
|
<then>
|
||
|
<expandfileset list="${test.area}" param="curval"/>
|
||
|
<property name="test.area.run" value="${curval}"/>
|
||
|
</then>
|
||
|
<else>
|
||
|
<property name="test.area.run" value="**/checkin/**"/>
|
||
|
</else>
|
||
|
</if>
|
||
|
</else>
|
||
|
</if>
|
||
|
<echo message="Running ${test.area.run} "/>
|
||
|
<property name="showoutput" value="false"/>
|
||
|
<junitX classpathref="test.run.classpath"
|
||
|
formatter="tools.JUnit.XmlResultFormatterImpl"
|
||
|
showOutput="${showoutput}"
|
||
|
reportFile="${report.log.file}"
|
||
|
classes="${test.area.run}"
|
||
|
fork="true"
|
||
|
resultproperty="junit.failcount"
|
||
|
failonerror="false">
|
||
|
<classpath>
|
||
|
<path refid="test.run.classpath"/>
|
||
|
</classpath>
|
||
|
|
||
|
<jvmarg value="-Xmx256m"/>
|
||
|
<jvmarg value="${asserts.value}"/>
|
||
|
|
||
|
<!-- For tests that need to access case files directly -->
|
||
|
<sysproperty key="cases.location" path="${xbeans.test.cases.test.files}"/>
|
||
|
<sysproperty key="xbean.rootdir" path="${xbeans.root}"/>
|
||
|
|
||
|
<!-- This will pick up all files that match and end in .java
|
||
|
and try to run the corresponding test class -->
|
||
|
|
||
|
<fileset dir="${build.dir.test.src}"
|
||
|
includes="${test.area.run}"
|
||
|
excludes="**/common/**,${excludes}"/>
|
||
|
</junitX>
|
||
|
<antcall target="generate.html.report"/>
|
||
|
<echo message=" Excluded ${excludes}"/>
|
||
|
<echo message="${junit.failcount}"/>
|
||
|
<if>
|
||
|
<not>
|
||
|
<equals arg1="${junit.failcount}" arg2="0"/>
|
||
|
</not>
|
||
|
<then>
|
||
|
<fail message="Test run had failures"/>
|
||
|
</then>
|
||
|
</if>
|
||
|
|
||
|
</target>
|
||
|
|
||
|
<target name="generate.html.report">
|
||
|
<loadfile property="css.file"
|
||
|
srcfile="${xbeans.test.tools.lib}/xsl/junit.css"
|
||
|
failonerror="true"/>
|
||
|
<xslt in="${report.log.file}"
|
||
|
out="${report.file}"
|
||
|
style="${xbeans.test.tools.lib}/xsl/TestReport.xsl">
|
||
|
<!-- Set up some params for the Stylesheet -->
|
||
|
<!-- TODO: Doc these params and usage of the Stylesheet -->
|
||
|
<param name="cssFile" expression="${css.file}"/>
|
||
|
<param name="showSuccessInErrorSummary" expression="0"/>
|
||
|
<param name="sections"
|
||
|
expression="result-summary,setup,result-detail,error-summary,error-detail"/>
|
||
|
<param name="navigationTools" expression="toolbar,top"/>
|
||
|
<param name="showTheFilters" expression="false"/>
|
||
|
</xslt>
|
||
|
</target>
|
||
|
|
||
|
<!-- END: -->
|
||
|
<!-- =============================================================== -->
|
||
|
|
||
|
<!-- ============================================================= -->
|
||
|
<!-- Miscellaneous -->
|
||
|
<!-- ============================================================= -->
|
||
|
<target name="JWhich" description="Probe the classpath">
|
||
|
<property name="JWhich.arg" value="-printclasspath"/>
|
||
|
<java classname="JWhich" classpathref="test.run.classpath" fork="true">
|
||
|
<classpath>
|
||
|
<pathelement location="${xbeans.test.tools.lib}/JWhich.jar"/>
|
||
|
</classpath>
|
||
|
<arg value="${JWhich.arg}"/>
|
||
|
</java>
|
||
|
</target>
|
||
|
|
||
|
|
||
|
<target name="dom-w3c">
|
||
|
<javac srcdir="${xbeans.test.src}/dom/detailed/w3c"
|
||
|
classpathref="build.classpath"
|
||
|
fork="false"
|
||
|
debug="on"
|
||
|
optimize="on"
|
||
|
verbose="false"
|
||
|
failonerror="true"/>
|
||
|
<jar destfile="${xbeans.test.lib}/w3c_domts.jar"
|
||
|
basedir="${xbeans.test.src}/dom/detailed/w3c"
|
||
|
update="false"/>
|
||
|
<antcall target="dom-w3c.clean"/>
|
||
|
</target>
|
||
|
<target name="dom-w3c.clean">
|
||
|
<delete>
|
||
|
<fileset dir="${xbeans.test.src}/dom/detailed/w3c" includes="**/*.class"/>
|
||
|
</delete>
|
||
|
</target>
|
||
|
|
||
|
|
||
|
</project>
|