blob: cdec620ff2bcfaa1da52f605a359e203741f320d [file] [log] [blame]
<!--
Copyright 2005 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.
-->
<!--
The targets in this buildfile all presume that JDO has been built.
Interesting targets include:
test: Run all tests. Run test.run.list against class files.
test.jar: Run all tests. Run test.run.list against jar files.
jar: Don't run any tests, just build the jar files.
Also, you can run any individual test. Let's say there's a test XXX, then it
will have these targets:
XXX: Runs the test against class files, rebuilding as necessary
XXX.build: Builds the test
XXX.run: Runs the test without rebuilding.
-->
<project name="runtest" default="runtest.list" basedir=".">
<!-- Uncomment this if you want to use jikes
<property name="build.compiler" value="jikes"/>
-->
<!-- JAR files required to run the tests
-->
<property name="builddir" value="${basedir}/../target"/>
<property name="jdoapi" value="${user.home}/.maven/repository/jdo/jars/jdo1-api-1.1.jar"/>
<property name="jdobtree" value="${user.home}/.maven/repository/jdo/jars/jdo-btree-1.1.jar"/>
<property name="jdori" value="${builddir}/classes"/>
<property name="jdoritests" value="${builddir}/test-classes/jdo-ri-tests.jar"/>
<property name="pcclasses" value="${builddir}/test-classes/pcclasses.jar"/>
<property name="testdir" value="${builddir}/database"/>
<property name="fsuidjar" value="${basedir}/fsuid/fsuid2.jar"/>
<!-- external libs -->
<property name="junit" value="${user.home}/.maven/repository/junit/jars/junit-3.8.1.jar"/>
<property name="jta" value="${user.home}/.maven/repository/geronimo-spec/jars/geronimo-spec-jta-1.0.1B-rc2.jar"/>
<property name="antlr" value="${user.home}/.maven/repository/antlr/jars/antlr-2.7.3.jar"/>
<property name="logging" value="${user.home}/.maven/repository/commons-logging/jars/commons-logging-1.0.4.jar"/>
<property name="xmlparser" value=""/>
<!-- jndi implementation jars, needs to be consistent with jndi.properties -->
<property name="jndi" value="${basedir}/fscontext.jar:${basedir}/providerutil.jar"/>
<!-- other properties -->
<property name="testlist" value="${basedir}/conf/tests.list"/>
<property name="ResultPrinterClass" value="org.apache.jdo.test.util.BatchResultPrinter"/>
<property name="policyfile" value="${basedir}/conf/JDO11Policy"/>
<property name="gui" value="false"/>
<property name="cfdbname" value="CFDB"/>
<!-- CLASSPATH -->
<!-- CLASSPATH -->
<!-- CLASSPATH -->
<!-- Jars that we don't build
-->
<!-- Classpath
-->
<property name="extjars"
value="${antlr}:${junit}:${jta}:${logging}:${xmlparser}"/>
<property name="classpath"
value="${jdoritests}:${pcclasses}:${jdoapi}:${jdori}:${jdobtree}:${extjars}"/>
<!-- TEST PROPERTIES -->
<!-- TEST PROPERTIES -->
<!-- TEST PROPERTIES -->
<!-- Several tests can insert a user-specified number of objects.
Use this property to specify how many.
-->
<property name="insert" value="--default--"/>
<!-- Indicate the directory and root name of the database. With the given
defaults, the database is in `pwd`//FOStoreTestDB.
-->
<property name="dir" value="--default--"/>
<property name="name" value="--default--"/>
<!-- Indicates the name used for loading and saving PMF's with JNDI. The name here
given is used to in an InitialContext rooted at the value of dir (above).
-->
<property name="pmfLoadName" value=""/>
<property name="pmfSaveName" value=""/>
<property name="cfPropsFile" value=""/>
<!-- Indicates information for the fostore server when run in client/server
mode.
-->
<property name="host" value=""/>
<property name="port" value=""/>
<property name="backlog" value=""/>
<property name="timeout" value=""/>
<property name="root" value=""/>
<!-- Indicates whether exceptions from the server should be displayed verbosely
or not. Note that "status.verbose" is accessed by the fostore
implementation itself. It will *not* cause fostore to print data
in and of itself, it only provides that when exceptions occur in the
server, that they are reported along with their stack trace instead of
just by name. See Reply.java
-->
<property name="status.verbose" value="false"/>
<!-- RUNNING TESTS -->
<!-- RUNNING TESTS -->
<!-- RUNNING TESTS -->
<!-- Run all tests.
-->
<target name="testrunner">
<condition property="TestRunnerClass"
value="org.apache.jdo.test.util.SwingTestRunner">
<istrue value="${gui}"/>
</condition>
<condition property="TestRunnerClass"
value="org.apache.jdo.test.util.JDORITestRunner">
<isfalse value="${gui}"/>
</condition>
</target>
<target name="runtest" depends="runtest.list, runtest.security, runtest.multiJVMtests"/>
<!-- Runs all tests from the specified test list
-->
<target name="runtest.list" depends="testrunner">
<echo message="Run all tests from testlist ${testlist}"/>
<mkdir dir="${testdir}"/>
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="${TestRunnerClass}">
<sysproperty key="ResultPrinterClass" value="${ResultPrinterClass}"/>
<sysproperty key="jdoapi" value="${jdoapi}"/>
<sysproperty key="jdobtree" value="${jdobtree}"/>
<sysproperty key="jdori" value="${jdori}"/>
<sysproperty key="jdoritests" value="${jdoritests}"/>
<sysproperty key="pcclasses" value="${pcclasses}"/>
<sysproperty key="testdir" value="${testdir}"/>
<sysproperty key="fsuidjar" value="${fsuidjar}"/>
<sysproperty key="junit" value="${junit}"/>
<sysproperty key="logging" value="${logging}"/>
<sysproperty key="xmlparser" value="${xmlparser}"/>
<sysproperty key="testlist" value="${testlist}"/>
<sysproperty key="dir" value="${testdir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test FOStore's security policy implementation. This tests that in
an environment with a security manager, basic operations can be performed
including create and read of persistent instances. The security policy
contains different permission grants for: jdo.jar, jdori.jar, and the
test program itself. The query needs RuntimePermission
"accessDeclaredMembers" to get metadata about non managed fields
and ReflectPermission "suppressAccessChecks" to access values of
non managed fields in memory.
Note, this test sets the sysproperty dir to ${securityDir} to make sure
that the fostore database files are located in an extra directory.
This allows to have cleaner policy definitions in JDO20Policy. The dir
sysproperty needs to be in sync with the FilePermissions in JDO20Policy.
-->
<!-- Runs all tests from the specified test list in batch mode
using a security manager.
-->
<target name="runtest.security" depends="testrunner">
<echo message="Run all tests from testlist ${testlist}"/>
<echo message="Using a security manager and the policies from ${policyfile}"/>
<mkdir dir="${testdir}"/>
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="${TestRunnerClass}">
<jvmarg value="-Djava.security.manager"/>
<sysproperty key="java.security.policy" value="${policyfile}"/>
<sysproperty key="ResultPrinterClass" value="${ResultPrinterClass}"/>
<sysproperty key="jdoapi" value="${jdoapi}"/>
<sysproperty key="jdobtree" value="${jdobtree}"/>
<sysproperty key="jdori" value="${jdori}"/>
<sysproperty key="jdoritests" value="${jdoritests}"/>
<sysproperty key="pcclasses" value="${pcclasses}"/>
<sysproperty key="testdir" value="${testdir}"/>
<sysproperty key="fsuidjar" value="${fsuidjar}"/>
<sysproperty key="junit" value="${junit}"/>
<sysproperty key="logging" value="${logging}"/>
<sysproperty key="xmlparser" value="${xmlparser}"/>
<sysproperty key="testlist" value="${testlist}"/>
<sysproperty key="dir" value="${testdir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Runs tests that cannot be run from a test list
(e.g. they require starting a sequence of test programs
where each test programs needs to run in its own JVM.
-->
<target name="runtest.multiJVMtests">
<echo message="Start FetchInserted test"/>
<antcall target="FetchInserted"/>
<echo message="Start JNDI test"/>
<antcall target="JNDI"/>
<echo message="Start JNDICF test"/>
<antcall target="JNDICF"/>
<echo message="Start GetObjectById2 test"/>
<antcall target="GetObjectById2"/>
<echo message="Start NonExistent test"/>
<antcall target="NonExistent"/>
<echo message="Start EmpDeptAppIdExt test"/>
<antcall target="EmpDeptAppIdExt"/>
<echo message="Start Enhancer test"/>
<antcall target="Enhancer"/>
<echo message="Start Generator test"/>
<antcall target="Generator"/>
</target>
<!-- INDIVIDUAL TESTS -->
<!-- INDIVIDUAL TESTS -->
<!-- INDIVIDUAL TESTS -->
<!--
Conventions:
(1) Test naming conventions
* The files with main() in them have the prefix "Test_".
* Files to be enhanced have names that begin with "PC".
(2) Test targets:
* Each target is specified as XXX.
* There is a block comment briefly describing the test immediately before each
XXX target.
* Each XXX target depends on XXX.build followed by XXX.run.
* The .build and .run targets are given in that order.
* A .run target never depends on nor antcall's any other targets that require
anything to be built (though it may do so to split the running of the test
into separate pieces).
* If a .run target requires that a property have a certain value, which is
user modifyable, that property is indicated before the .run target; this
property is documented with a comment immediately before it.
* Two blank lines separate each test from those next to it in the file.
-->
<!-- Test the JDO model
-->
<target name="JDOModel">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_JDOModel"/>
</target>
<!-- Test FOStore Transcribers
-->
<target name="Transcriber">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.impl.fostore.Test_Transcriber"/>
</target>
<!-- Test FOStore's Serial UID
-->
<target name="FSUID">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.impl.fostore.Test_FSUID"/>
</target>
<!-- Test the Life Cycle of JDO Instances
-->
<target name="LifeCycle">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_LifeCycle"/>
</target>
<!-- Test the Life Cycle of JDO Instances with RetainValues set to false
-->
<target name="LifeCycle_RetF">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_LifeCycle_RetF"/>
</target>
<!-- Test the Life Cycle of JDO Instances in Optimistic transaction
-->
<target name="LifeCycle_Opt">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_LifeCycle_Opt"/>
</target>
<!-- Test the Life Cycle of JDO Instances with RetainValues set to false in Opt mode
-->
<target name="LifeCycle_RetFOpt">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_LifeCycle_RetFOpt"/>
</target>
<!-- Test the PM.makeXXXAll and PM.deletePersistentAll methods for failed objects
-->
<target name="NegAll">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_NegAll"/>
</target>
<!-- Test the configuration of PMF by properties
-->
<target name="PMFProperties">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_PMFProperties">
<sysproperty key="pmfLoadName" value="${pmfLoadName}"/>
<sysproperty key="pmfSaveName" value="${pmfSaveName}"/>
<sysproperty key="cfPropsFile" value="${cfPropsFile}"/>
</java>
</target>
<!-- Test FOStore's class activation, for datastore identity
-->
<target name="ActivateClass">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_ActivateClass">
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test FOStore insert
-->
<target name="Insert">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Insert">
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="pmfLoadName" value="${pmfLoadName}"/>
<sysproperty key="pmfSaveName" value="${pmfSaveName}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<target name="Insert.silent.run">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Insert">
<arg value="-silent"/>
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="pmfLoadName" value="${pmfLoadName}"/>
<sysproperty key="pmfSaveName" value="${pmfSaveName}"/>
<sysproperty key="cfPropsFile" value="${cfPropsFile}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
<sysproperty key="class" value="${class}"/>
</java>
</target>
<!-- Test FOStore insert with many instances
-->
<target name="Many">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Many" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="pmfLoadName" value="${pmfLoadName}"/>
<sysproperty key="pmfSaveName" value="${pmfSaveName}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<target name="Many.security">
<mkdir dir="${securityDir}"/>
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Many" >
<jvmarg value="-Djava.security.manager"/>
<sysproperty key="java.security.policy" value="JDO20Policy"/>
<sysproperty key="dir" value="${securityDir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test FOStore rollback of flushed new instances
-->
<target name="RollbackFlushedNew">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_RollbackFlushedNew" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="pmfLoadName" value="${pmfLoadName}"/>
<sysproperty key="pmfSaveName" value="${pmfSaveName}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can insert and fetch instances.
Note that there are two separate tests!
Fetch2 inserts twice as many objects ast Fetch.
-->
<target name="Fetch">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Fetch" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!--
-->
<target name="Fetch2">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Fetch2" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can fetch an instance inserted in by separted JVM
Note: Before running this test, run some other test that puts instances
into the database (e.g. Insert).
-->
<target name="FetchInserted">
<antcall target="Insert.silent.run"/>
<antcall target="doFetchInserted.run">
<param name="shouldExist" value="true"/>
</antcall>
</target>
<target name="doFetchInserted.run">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_FetchInserted" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="pmfLoadName" value="${pmfLoadName}"/>
<sysproperty key="pmfSaveName" value="${pmfSaveName}"/>
<sysproperty key="cfPropsFile" value="${cfPropsFile}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
<sysproperty key="class" value="${class}"/>
<sysproperty key="shouldExist" value="${shouldExist}"/>
</java>
</target>
<!-- Test that FOStore can get an object by its OID
Note that there are two separate tests!
GetObjectById2 does *not* extend AbstractTest; see it's javadoc.
-->
<target name="GetObjectById">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_GetObjectById" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<target name="GetObjectById2">
<antcall target="Insert.silent.run"/>
<antcall target="doGetObjectById2.run"/>
</target>
<target name="doGetObjectById2.run">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_GetObjectById2" >
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can serially make a number of instances persistent
-->
<!-- Number of PM's to use serially for insertion -->
<property name="serialInsert" value="50"/>
<target name="SerialPMs">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SerialPMs" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${serialInsert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can make a number of instances persistent in parallel
-->
<target name="ParallelPMs">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_ParallelPMs" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="share" value="${share}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can use optimistic transactions
-->
<target name="Optimistic">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Optimistic" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore works correctly when asked to fetch an instance by oid
which is known to *not* exist in the database
-->
<target name="NonExistent">
<antcall target="Insert.silent.run"/>
<antcall target="Delete.silent.run"/>
<antcall target="doFetchInserted.run">
<param name="shoudExists" value="false"/>
</antcall>
</target>
<!-- Test that FOStore can delete instances.
-->
<!-- Class of instances to delete for extent -->
<property name="class" value="org.apache.jdo.pc.PCPoint"/>
<target name="Delete">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Delete" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="class" value="${class}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<target name="Delete.silent.run">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Delete" >
<arg value="-silent"/>
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="class" value="${class}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can insert large objects
-->
<!-- Size of object to insert -->
<property name="size" value="1000000"/>
<target name="LargeObj">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_LargeObj" >
<arg value="${size}"/>
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStoe can store all the JDO-required primitives
-->
<target name="Primitives">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Primitives" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can handle all the JDO-required, and FOStore-supported,
kinds of collections.
-->
<target name="Collections">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Collections">
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO instances.
-->
<target name="SCO">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCO" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can handle arrays of primitives.
-->
<target name="Arrays">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Arrays" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can handle arrays of references to PC instances
-->
<target name="RefArrays">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_RefArrays" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can handle objects containing references to other where
the type of the reference in the referring class is an interface type.
-->
<target name="Interfaces">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Interfaces" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can handle a PC object which has references to other PC
objects.
-->
<target name="Rect">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Rect" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can handle an instance which contains a collection of
references to PC's.
-->
<target name="Stroke">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Stroke" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can handle PC instances which are mutually
referential. In this case, the cycle's instances are of 2 different
types.
-->
<target name="Cycle">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Cycle" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can get the extent of instances of a type.
-->
<!-- Class of instances whose extent we get -->
<property name="class" value="org.apache.jdo.pc.PCPoint"/>
<!-- If true, get subclass instances too -->
<property name="subclasses" value="false"/>
<!-- See GetExtentRequest.java -->
<property name="maxInstances" value="100"/>
<target name="Extent">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Extent" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
<sysproperty key="class" value="${class}"/>
<sysproperty key="subclasses" value="${subclasses}"/>
<sysproperty key="maxInstances" value="${maxInstances}"/>
</java>
</target>
<!-- Test that FOStore can handle the standard Employee/Department example.
-->
<target name="EmpDept">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_EmpDept" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can handle the reachabilty algorithm
-->
<target name="Reachability">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Reachability" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can navigate from an instance to its fields.
-->
<target name="Navigate">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Navigate" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can correctly update instances with different values.
-->
<target name="Update">
<!-- Change the values of those PCPoint instances' coordinates. -->
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Update" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="optimistic" value="${optimistic}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can rollback a transaction.
-->
<target name="Rollback">
<!-- Rollback to update/delete of those PCPoint instances'. -->
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Rollback" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can serialize an instance and read it back
-->
<target name="Serialize">
<!-- Serialize into a stream and read back a PCPoint instance'. -->
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Serialize" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can serialize an instance with inheritance.
-->
<target name="SerializeInher">
<!-- Serialize into a stream and read back a PCFullTimeEmployee1 instance'. -->
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SerializeInher" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can serialize
-->
<target name="SerializeComplex">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SerializeComplex" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can do nontransactional read/write
-->
<target name="NonTxAccess">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_NonTxAccess" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can rollback and restore values.
-->
<target name="Insert2">
<!-- Create a new database with some PCPoint instances/ -->
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Insert2" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can rollback and restore values.
-->
<target name="HollowUpdate">
<!-- Create a new database with some PCPoint instances/ -->
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_HollowUpdate" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that RI can correctly handle getObjectId and getTransactionalObjectId
-->
<target name="ObjectId">
<!-- Create a new database with some PCPoint instances/ -->
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_ObjectId" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles String OIDs.
-->
<target name="StringOID">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_StringOID" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles inheritance between classes.
-->
<target name="Inheritance">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Inheritance" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore's serial UID mechanism allows for storing multiple
classes with the exact same class name but different persistent
structure.
-->
<target name="FSUID2">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_FSUID2" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
<sysproperty key="jarfile" value="${jarfile}"/>
</java>
</target>
<!-- BugId 4510817
-->
<target name="4510817">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_4510817" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- BugId 4515265
-->
<target name="4515265">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_4515265" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can be used in managed environment with a container
-->
<target name="Container">
<java fork="yes" dir="${testdir}" classpath="${classpath};${jta}"
classname="org.apache.jdo.test.Test_Container">
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
</java>
</target>
<!-- Test JDOQL queries
-->
<target name="Query">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Query">
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="name" value="FOStoreQueryDB"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles rollback of instances with SCO fields.
-->
<target name="SCORollback">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCORollback" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO ArrayList instances in
optimistic transaction.
-->
<target name="SCOArrayListOptimistic">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCOArrayListOptimistic" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO ArrayList instances.
-->
<target name="SCOArrayList">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCOArrayList" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO Date instances.
-->
<target name="SCODate">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCODate" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO HashMap instances.
-->
<target name="SCOHashMap">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCOHashMap" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO HashSet instances.
-->
<target name="SCOHashSet">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCOHashSet" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO Hashtable instances.
-->
<target name="SCOHashtable">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCOHashtable" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO LinkedList instances.
-->
<target name="SCOLinkedList">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCOLinkedList" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO SqlDate instances.
-->
<target name="SCOSqlDate">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCOSqlDate" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO TreeMap instances.
-->
<target name="SCOTreeMap">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCOTreeMap" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO TreeSet instances.
-->
<target name="SCOTreeSet">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCOTreeSet" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles SCO Vector instances.
-->
<target name="SCOVector">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_SCOVector" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test WeakValueHashMap
-->
<target name="WeakValueHashMap">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_WeakValueHashMap"/>
</target>
<!-- Test WeakHashSet
-->
<target name="WeakHashSet">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_WeakHashSet"/>
</target>
<!-- Test that FOStore correctly handles simple App Identity operations
-->
<target name="AppId">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_AppId" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore correctly handles duplicate instances with App Identity.
-->
<target name="DupAppId">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_DupAppId" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="false"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can detect null key values in a PC
object with application identity.
-->
<target name="KeyFieldNull">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_KeyFieldNull" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can handle a PC object which has references to other PC
objects with application identity.
-->
<target name="RectAppId">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_RectAppId" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can handle a PC object which inherits from another PC
objects with application identity.
-->
<target name="EmpDeptAppId">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_EmpDeptAppId">
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that FOStore can handle a PC object which inherits from another PC
objects with application identity with 2 different PMF instances.
-->
<target name="EmpDeptAppIdExt"
depends="EmpDeptAppId.insert, EmpDeptAppId.update, EmpDeptAppId.remove"/>
<target name="EmpDeptAppId.insert">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_EmpDeptAppIdInsert" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<target name="EmpDeptAppId.update">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_EmpDeptAppIdUpdate" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="true"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<target name="EmpDeptAppId.remove">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_EmpDeptAppIdDelete" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="true"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that enhancer can correctly provide access to a field in a base
class via an instance of a derived class.
-->
<target name="PCDerived">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_PCDerived"/>
</target>
<!-- Test FOStore close PMF
-->
<target name="ClosePMF">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_ClosePMF" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="pmfLoadName" value="${pmfLoadName}"/>
<sysproperty key="pmfSaveName" value="${pmfSaveName}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- Test that we can save and load PMF's via JNDI. Relies on other tests.
-->
<target name="JNDI">
<antcall target="Insert.silent.run"/>
<antcall target="doFetchInserted.run">
<param name="pmfSaveName" value="testJNDI"/>
<param name="shouldExist" value="true"/>
<param name="classpath" value="${classpath}:${jndi}"/>
</antcall>
<antcall target="doFetchInserted.run">
<param name="pmfLoadName" value="testJNDI"/>
<param name="shouldExist" value="true"/>
<param name="classpath" value="${classpath}:${jndi}"/>
</antcall>
</target>
<target name="JNDICF">
<antcall target="Insert.silent.run">
<param name="name" value="${cfdbname}"/>
</antcall>
<copy file="${basedir}/conf/CF.properties.sav" tofile="${testdir}/CF.properties" overwrite="true"/>
<echo file="${testdir}/CF.properties" append="true">org.apache.jdo.FOStoreConnectionFactory.option.URL=file:${cfdbname}</echo>
<antcall target="doFetchInserted.run">
<param name="cfPropsFile" value="CF.properties"/>
<param name="shouldExist" value="true"/>
</antcall>
</target>
<!-- Generator tests
-->
<target name="Generator">
<ant dir="enhancer/sempdept" antfile="build.xml" target="all_gen" inheritAll="false">
<property name="jdo" value="${jdoapi}"/>
<property name="jdo-enhancer" value="${jdori}"/>
<property name="xerces" value="${xmlparser}"/>
<property name="verbose" value="${verbose}"/>
</ant>
</target>
<!-- Enhancer tests
-->
<target name="Enhancer">
<ant dir="enhancer/sempdept" antfile="build.xml" target="compile" inheritAll="false">
<property name="jdo" value="${jdoapi}"/>
<property name="jdo-enhancer" value="${jdori}"/>
<property name="xerces" value="${xmlparser}"/>
<property name="verbose" value="${verbose}"/>
</ant>
<ant dir="enhancer/sempdept" antfile="build.xml" target="all_enh" inheritAll="false">
<property name="jdo" value="${jdoapi}"/>
<property name="jdo-enhancer" value="${jdori}"/>
<property name="xerces" value="${xmlparser}"/>
<property name="verbose" value="${verbose}"/>
</ant>
</target>
<!-- Tests that a Set/Map containing PC instances which have
a user-supplied hashCode() referencing persistent fields works.
-->
<target name="UserHashCode">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_UserHashCode" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!--
-->
<target name="OptimisticNullNotNull">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_OptimisticNullNotNull" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="insert" value="${insert}"/>
<sysproperty key="max" value="${max}"/>
<sysproperty key="verify" value="${verify}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="existing" value="${existing}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!--
-->
<target name="Freezer">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_Freezer"/>
</target>
<!--
-->
<target name="ClassRegistration">
<java fork="yes" dir="${testdir}" classpath="${jdoritests};${junit}"
classname="org.apache.jdo.test.Test_ClassRegistration" >
<sysproperty key="jdoapi" value="${jdoapi}"/>
<sysproperty key="pcclasses" value="${pcclasses}"/>
</java>
</target>
<!--
-->
<target name="EmpDeptSerialization">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.test.Test_EmpDeptSerialization" >
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
</java>
</target>
<!-- UTILITIES/PROGRAMS -->
<!-- UTILITIES/PROGRAMS -->
<!-- UTILITIES/PROGRAMS -->
<!-- Run FOStore as a server. Above tests can then be run, specifying a port
and/or host, and can communicate with the running server.
-->
<target name="Server">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.impl.fostore.Main" >
<sysproperty key="port" value="${port}"/>
<sysproperty key="backlog" value="${backlog}"/>
<sysproperty key="timeout" value="${timeout}"/>
<sysproperty key="root" value="${root}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
</java>
</target>
<!-- Get information from a FOStore database
-->
<!-- Kind of information to be retrieved. -->
<property name="option" value="dbInfo"/>
<!-- Comma separated list of names of classes for which information is to be
retrieved (not used with all kinds of information requests). -->
<property name="class" value="org.apache.jdo.pc.PCPoint"/>
<!-- If true, prints out only the database name, not entire path -->
<property name="shortname" value="false"/>
<target name="Dumper" depends="Dumper.run"/>
<target name="Dumper.run">
<java fork="yes" dir="${testdir}" classpath="${classpath}"
classname="org.apache.jdo.impl.fostore.Dumper" >
<sysproperty key="port" value="${port}"/>
<sysproperty key="backlog" value="${backlog}"/>
<sysproperty key="timeout" value="${timeout}"/>
<sysproperty key="root" value="${root}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="dumpOption" value="${option}"/>
<sysproperty key="classNames" value="${class}"/>
<sysproperty key="dbinfo.shortname" value="${shortname}"/>
</java>
</target>
<!-- Dump an extent
-->
<!-- Class of instances whose extent we get -->
<property name="class" value="org.apache.jdo.pc.PCPoint"/>
<!-- If true, get subclass instances too -->
<property name="subclasses" value="false"/>
<target name="DumpExtent">
<java fork="yes" dir="${testdir}" classname="org.apache.jdo.test.util.DumpExtent" classpath="${classpath}">
<sysproperty key="dir" value="${dir}"/>
<sysproperty key="name" value="${name}"/>
<sysproperty key="status.verbose" value="${status.verbose}"/>
<sysproperty key="host" value="${host}"/>
<sysproperty key="port" value="${port}"/>
<sysproperty key="class" value="${class}"/>
<sysproperty key="subclasses" value="${subclasses}"/>
</java>
</target>
<!-- TEMP -->
<!-- TEMP -->
<!-- TEMP -->
<target name="dump">
<echo message="testlist=${testlist}"/>
<echo message="jdoapi=${jdoapi}"/>
<echo message="jdobtree=${jdobtree}"/>
<echo message="builddir=${builddir}"/>
<echo message="junit=${junit}"/>
<echo message="pcclasses=${pcclasses}"/>
<echo message="jarfile=${jarfile}"/>
</target>
</project>