| <!--/******************************************************************************* |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 |
| * which accompanies this distribution. |
| * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html |
| * and the Eclipse Distribution License is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * Ant naming conventions: |
| * - regardless of the actual OS platform,'/' is the directory separator |
| * (Ant will convert as appropriate). |
| * - multi-word properties use periods '.' |
| * - properties ending in .jar define jarfile names only (no path) |
| * - properties ending in .lib are fully qualified jars (path and filename) |
| * - properties ending in .dir are directory paths |
| * - properties ending in .path are path refid names (classpath fragments) |
| * - multi-word targets use hyphens '-' |
| * - targets beginning with test- are reserved for high level test targets, |
| * and are used in test results parsing |
| * - targets typically use the form <action>-<object>-<type> (ie. package-bundle-zip) |
| * - multi-word macros use underscores '_' |
| * - multi-word macro attributes are concatenated |
| * e.g. 'runpathref' |
| * - multi-word tasks (taskdef) names are concatenated |
| * e.g. 'validateconnection' |
| * - OS environment variables are in ALLCAPS and have 'env' as a prefix |
| * e.g. ${env.XXX}. |
| * - Ant properties are lower case. |
| * |
| * Contributors: |
| * tware - initial API and implementation |
| * egwin - update to adopt calling standards |
| #******************************************************************************/--> |
| <!-- This ant project includes the following tasks: |
| - build (default) : cleans, compiles, and packages all tests |
| - clean : cleans up all generated files and dirs |
| - compile : compiles all tests |
| - package : packages test jar |
| - test : runs tests |
| - test-nosql: Runs Core nosql-specific tests |
| |
| It requires some configuration of the build.properties and test.properties to run. |
| --> |
| <project name="eclipselink.extension.nosql.test" default="build" basedir="."> |
| <available file="../${ant.project.name}" type="dir" property="nosql_test.is.local"/> |
| <fail message="Not running from '${ant.project.name}' directory" unless="nosql_test.is.local"/> |
| |
| <dirname property="nosql_test.build.location_temp" file="${ant.file.eclipselink.extension.nosql.test}"/> |
| <pathconvert targetos="unix" property="nosql_test.build.location"> |
| <path> |
| <pathelement location="${nosql_test.build.location_temp}"/> |
| </path> |
| </pathconvert> |
| <echo message="nosql_test.build.location = '${nosql_test.build.location}'"/> |
| <condition property="nosql_test.2.base.dir" value="../.." else=".."> |
| <contains string="${nosql_test.build.location}" substring="foundation"/> |
| </condition> |
| <echo message="nosql_test.2.base.dir = '${nosql_test.2.base.dir}'"/> |
| <property name="nosql_test.2.common.plugins.dir" value="${nosql_test.2.base.dir}/plugins"/> |
| <property name="nosql_test.2.core.dir" value="../org.eclipse.persistence.core"/> |
| <property name="nosql_test.2.core.test.dir" value="../eclipselink.core.test"/> |
| <property name="nosql_test.2.nosql.dir" value="../org.eclipse.persistence.nosql"/> |
| <property name="nosql_test.2.jpa.dir" value="${nosql_test.2.base.dir}/jpa/org.eclipse.persistence.jpa"/> |
| <property name="nosql_test.2.jpa.test.dir" value="${nosql_test.2.base.dir}/jpa/eclipselink.jpa.test"/> |
| <property name="nosql_test.2.jpa.plugins.dir" value="${nosql_test.2.base.dir}/jpa/plugins"/> |
| <property name="nosql_test.2.buildsys.dir" value="${nosql_test.2.base.dir}/buildsystem"/> |
| <property name="nosql_test.plugins.dir" value="../plugins"/> |
| |
| <!-- Allows a user to overide certain user specific properties. --> |
| <condition property="custom.properties.message" value="Loading ${user.home}/build.properties..." |
| else="Custom properties file '${user.home}/build.properties' not found to load."> |
| <available file="${user.home}/build.properties"/> |
| </condition> |
| <echo message="${custom.properties.message}"/> |
| <property file="${user.home}/build.properties"/> |
| <property file="${user.home}/test.properties"/> |
| <property file="${nosql_test.build.location}/antbuild.properties"/> |
| <property file="${nosql_test.build.location}/${test.properties}"/> |
| <property file="${nosql_test.build.location}/test.properties"/> |
| |
| <!-- Local path variables --> |
| <property name="nosql_test.src.dir" value="${nosql_test.build.location}/${src.dir}"/> |
| <property name="nosql_test.resource.dir" value="${nosql_test.build.location}/${resource.dir}"/> |
| <property name="nosql_test.classes.dir" value="${nosql_test.build.location}/${classes.dir}"/> |
| <property name="nosql_test.report.dir" value="${nosql_test.build.location}/${report.dir}"/> |
| <property name="nosql_test.run.dir" value="${nosql_test.build.location}/${run.dir}"/> |
| |
| <!-- Default ant target, compiles and translates resources, does not run tests. --> |
| <target name="build" depends="clean, compile, package" description="build nosql extension tests"/> |
| |
| <!-- Clean all build generated content. --> |
| <target name="clean" description="Clean the build"> |
| <echo message="Cleaning..."/> |
| <echo message=" ${nosql_test.classes.dir}"/> |
| <echo message=" ${nosql_test.report.dir}"/> |
| <echo message=" ${nosql_test.run.dir}"/> |
| <echo message=" ${nosql_test.build.location}/${nosql.jpa.test.jar}"/> |
| <echo message=" ${nosql_test.build.location}/${nosql.test.jar}"/> |
| <echo message=" ${nosql_test.build.location}/${mongo.model.jar}"/> |
| <delete includeEmptyDirs="true" failonerror="false"> |
| <fileset dir="${nosql_test.classes.dir}"/> |
| <fileset dir="${nosql_test.report.dir}"/> |
| <fileset dir="${nosql_test.run.dir}"/> |
| <fileset dir="${nosql_test.build.location}" includes="${nosql.jpa.test.jar}"/> |
| <fileset dir="${nosql_test.build.location}" includes="${nosql.test.jar}"/> |
| <fileset dir="${nosql_test.build.location}" includes="${mongo.model.jar}"/> |
| </delete> |
| </target> |
| |
| <target name="init"> |
| <property name="custom.tasks.lib" value="${nosql_test.2.buildsys.dir}/ant_customizations.jar"/> |
| <property name="custom.echo.task.class" value="org.eclipse.persistence.buildtools.ant.taskdefs.Say"/> |
| <property name="custom.selectbundle.task.class" value="org.eclipse.persistence.buildtools.ant.taskdefs.SelectBundle"/> |
| <taskdef name="say" classname="${custom.echo.task.class}" classpath="${custom.tasks.lib}"/> |
| <taskdef name="selectbundle" classname="${custom.selectbundle.task.class}" classpath="${custom.tasks.lib}"/> |
| <!-- Give this a default value if not set in a user.home or test property file --> |
| <property name="extensions.depend.dir" value="../${nosql_test.2.base.dir}/extension.lib.external"/> |
| <property name="junit.lib" value="${extensions.depend.dir}/junit.jar"/> |
| <echo message="nosql_test.src.dir ='${nosql_test.src.dir}'"/> |
| <echo message="nosql_test.resource.dir='${nosql_test.resource.dir}'"/> |
| <echo message="nosql_test.classes.dir ='${nosql_test.classes.dir}'"/> |
| <echo message="nosql_test.report.dir ='${nosql_test.report.dir}'"/> |
| <echo message="nosql_test.run.dir ='${nosql_test.run.dir}'"/> |
| <echo message="user.home ='${user.home}'"/> |
| <echo message="test.properties='${test.properties}'"/> |
| <echo message="extensions.depend.dir ='${extensions.depend.dir}'"/> |
| <echo message="junit.lib ='${junit.lib}'"/> |
| |
| <!-- versioning --> |
| <!-- These variables are set in autobuild.xml. A manual build gets defaults --> |
| <tstamp> |
| <format property="build.date" pattern="yyyyMMdd"/> |
| <format property="build.time" pattern="HHmm"/> |
| </tstamp> |
| <property name="build.type" value="SNAPSHOT"/> |
| <property name="svn.revision" value="NA"/> |
| <property name="version.qualifier" value="qualifier"/> |
| <property name="version.string" value="${release.version}.${version.qualifier}"/> |
| <property name="release.designation" value="EclipseLink ${release.version} Build"/> |
| |
| <!-- Determine appropriate settings for lib variables (overrides of .lib variables won't get reset) --> |
| <condition property="coretest.framework.lib" value="${nosql_test.2.core.test.dir}/${coretest.framework.jar}"> |
| <available file="${nosql_test.2.core.test.dir}/${coretest.framework.jar}"/> |
| </condition> |
| <condition property="coretest.lib" value="${nosql_test.2.core.test.dir}/${coretest.jar}"> |
| <available file="${nosql_test.2.core.test.dir}/${coretest.jar}"/> |
| </condition> |
| <condition property="jpatest.framework.lib" value="${nosql_test.2.jpa.test.dir}/${jpatest.framework.jar}"> |
| <available file="${nosql_test.2.jpa.test.dir}/${jpatest.framework.jar}"/> |
| </condition> |
| |
| <!-- Create needed directories |
| <mkdir dir="${nosql_test.classes.dir}"/> |
| <mkdir dir="${nosql_test.run.dir}"/> |
| <mkdir dir="${nosql_test.report.dir}"/ --> |
| |
| <!-- Determine availability of compile dependencies --> |
| <selectbundle basename="org.eclipse.orbit.mongodb" directory="${nosql_test.build.location}/${nosql_test.2.common.plugins.dir}" separator="_" |
| criterion="[2.0.0,9.0.0)" property="mongo.lib" includepath="true" |
| /> |
| <selectbundle basename="javax.persistence" directory="${nosql_test.build.location}/${nosql_test.2.jpa.plugins.dir}" separator="_" |
| criterion="[2.0.0,3.0.0)" property="persistence.lib" includepath="true" |
| /> |
| <selectbundle basename="javax.resource" directory="${nosql_test.build.location}/${nosql_test.2.common.plugins.dir}" separator="_" |
| criterion="[1.0.0,3.0.0)" property="resource.lib" includepath="true" |
| /> |
| <selectbundle basename="${antlr}" directory="${nosql_test.build.location}/${nosql_test.2.common.plugins.dir}" separator="_" |
| criterion="[2.0.0,9.0.0)" property="antlr.lib" includepath="true" |
| /> |
| <selectbundle basename="${asm}" directory="${nosql_test.build.location}/${nosql_test.2.common.plugins.dir}" separator="_" |
| criterion="[2.0.0,9.0.0)" property="asm.lib" includepath="true" |
| /> |
| <selectbundle basename="org.eclipse.persistence.jpa" directory="${nosql_test.build.location}/${nosql_test.2.common.plugins.dir}" separator="_" |
| criterion="[2.0.0,9.0.0)" property="oep.jpa.lib" includepath="true" |
| /> |
| <selectbundle basename="org.eclipse.persistence.core" directory="${nosql_test.build.location}/${nosql_test.2.common.plugins.dir}" separator="_" |
| criterion="[2.0.0,9.0.0)" property="oep.core.lib" includepath="true" |
| /> |
| <selectbundle basename="org.eclipse.persistence.nosql" directory="${nosql_test.build.location}/${nosql_test.2.common.plugins.dir}" separator="_" |
| criterion="[2.0.0,9.0.0)" property="oep.nosql.lib" includepath="true" |
| /> |
| <available file="${nosql_test.2.jpa.dir}/${classes.dir}" type="dir" property="jpa.classes.exist"/> |
| <available file="${nosql_test.2.core.dir}/${classes.dir}" type="dir" property="core.classes.exist"/> |
| <available file="${nosql_test.2.nosql.dir}/${classes.dir}" type="dir" property="nosql.classes.exist"/> |
| <available file="${nosql_test.2.base.dir}/${eclipselink.jar}" property="eclipselink.jar.exist"/> |
| <available file="${junit.lib}" property="junit.lib.exist"/> |
| <available file="${coretest.framework.lib}" property="test.framework.exist"/> |
| <available file="${coretest.lib}" property="core.test.exist"/> |
| <available file="${jpatest.framework.lib}" property="jpatest.framework.exist"/> |
| <!-- Determine availability of runtime dependencies --> |
| <available file="${nosql_test.2.jpa.dir}/${resource.dir}" type="dir" property="jpa.resources.exist"/> |
| <available file="${nosql_test.2.core.dir}/${resource.dir}" type="dir" property="core.resources.exist"/> |
| <available file="${nosql_test.2.nosql.dir}/${resource.dir}" type="dir" property="nosql.resources.exist"/> |
| <available file="${jdbc.driver.jar}" property="jdbc.jar.exist"/> |
| |
| <say message="mongo.lib: '${mongo.lib}'" if="mongo.lib"/> |
| <say message="persistence.lib: '${persistence.lib}'" if="persistence.lib"/> |
| <say message="resource.lib: '${resource.lib}'" if="resource.lib"/> |
| <say message="antlr.lib: '${antlr.lib}'" if="antlr.lib"/> |
| <say message="asm.lib: '${asm.lib}'" if="asm.lib"/> |
| <say message="core.lib: '${oep.core.lib}'" if="oep.core.lib"/> |
| <say message="jpa.lib: '${oep.jpa.lib}'" if="oep.jpa.lib"/> |
| <say message="nosql.lib: '${oep.nosql.lib}'" if="oep.nosql.lib"/> |
| <say message="oracle.nosql.lib: '${oep.oracle.nosql.lib}'" if="oep.oracle.nosql.lib"/> |
| <!-- Determine where to get product classes, based upon availability --> |
| <condition property="use.eclipselink"> |
| <and> |
| <isset property="eclipselink.jar.exist"/> |
| <isset property="oep.nosql.lib"/> |
| </and> |
| </condition> |
| <condition property="use.bundles"> |
| <and> |
| <isset property="antlr.lib"/> |
| <isset property="asm.lib"/> |
| <isset property="oep.core.lib"/> |
| <isset property="oep.jpa.lib"/> |
| <isset property="oep.nosql.lib"/> |
| <not> <isset property="use.eclipselink"/> </not> |
| </and> |
| </condition> |
| <condition property="use.classes"> |
| <and> |
| <isset property="core.resources.exist"/> |
| <isset property="jpa.resources.exist"/> |
| <isset property="nosql.resources.exist"/> |
| <isset property="core.classes.exist"/> |
| <isset property="jpa.classes.exist"/> |
| <isset property="nosql.classes.exist"/> |
| <not> <isset property="use.eclipselink"/> </not> |
| <not> <isset property="use.bundles"/> </not> |
| </and> |
| </condition> |
| <condition property="use.failed"> |
| <and> |
| <not> <isset property="use.eclipselink"/> </not> |
| <not> <isset property="use.bundles"/> </not> |
| <not> <isset property="use.classes"/> </not> |
| </and> |
| </condition> |
| <!-- Determine availability of other dependencies --> |
| <condition property="dependency.ok"> |
| <and> |
| <isset property="test.framework.exist"/> |
| <isset property="jpatest.framework.exist"/> |
| <isset property="junit.lib.exist"/> |
| <isset property="mongo.lib"/> |
| <isset property="resource.lib"/> |
| </and> |
| </condition> |
| <condition property="run.ok"> |
| <and> |
| <not> <isset property="use.failed"/> </not> |
| <isset property="jdbc.jar.exist"/> |
| </and> |
| </condition> |
| </target> |
| |
| <target name="init_eclipselink" if="use.eclipselink"> |
| <echo message="Using EclipseLink.jar as 'product' in compile dependency."/> |
| <path id="nosql_test.product.path"> |
| <pathelement path="${nosql_test.2.base.dir}/${eclipselink.jar}"/> |
| <pathelement path="${oep.nosql.lib}"/> |
| </path> |
| </target> |
| <target name="init_bundles" if="use.bundles"> |
| <echo message="Using EclipseLink OSGi bundles as 'product' in compile dependency."/> |
| <path id="nosql_test.product.path"> |
| <pathelement path="${antlr.lib}"/> |
| <pathelement path="${asm.lib}"/> |
| <pathelement path="${oep.core.lib}"/> |
| <pathelement path="${oep.nosql.lib}"/> |
| </path> |
| </target> |
| <target name="init_classes" if="use.classes"> |
| <echo message="Using EclipseLink classes directly as 'product' in compile dependency."/> |
| <path id="nosql_test.product.path"> |
| <pathelement path="${nosql_test.2.common.plugins.dir}/${antlr}"/> |
| <pathelement path="${nosql_test.2.common.plugins.dir}/${asm}"/> |
| <pathelement path="${nosql_test.2.jpa.dir}/${classes.dir}"/> |
| <pathelement path="${nosql_test.2.jpa.dir}/${resource.dir}"/> |
| <pathelement path="${nosql_test.2.core.dir}/${classes.dir}"/> |
| <pathelement path="${nosql_test.2.core.dir}/${resource.dir}"/> |
| <pathelement path="${nosql_test.2.nosql.dir}/${classes.dir}"/> |
| <pathelement path="${nosql_test.2.nosql.dir}/${resource.dir}"/> |
| </path> |
| </target> |
| <target name="init_dependency" if="dependency.ok" depends="announce_missing_dependencies"> |
| <path id="nosql_test.nosql.dependency.path"> |
| <pathelement path="${mongo.lib}"/> |
| <pathelement path="${resource.lib}"/> |
| <pathelement path="${junit.lib}"/> |
| </path> |
| <path id="nosql_test.test.infrastructure.path"> |
| <pathelement path="${coretest.framework.lib}"/> |
| <pathelement path="${coretest.lib}"/> |
| <pathelement path="${jpatest.framework.lib}"/> |
| <pathelement path="${junit.lib}"/> |
| </path> |
| <path id="nosql_test.public.dependency.path"> |
| <pathelement path="${persistence.lib}"/> |
| <fileset dir="${nosql_test.2.common.plugins.dir}" includes="${eclipselink.core.depend}"/> |
| </path> |
| </target> |
| <target name="init_paths" depends="init, init_eclipselink, init_bundles, init_classes, init_dependency"> |
| <fail message="Product classes do not exist anywhere! Compile product or populate jars." if="use.failed"/> |
| <!-- Define 'Helper' path refids --> |
| <path id="nosql_test.runtime.only.path"> |
| <pathelement path="${nosql_test.build.location}/${nosql.jpa.test.jar}"/> |
| <pathelement path="${nosql_test.build.location}/${mongo.model.jar}"/> |
| <pathelement path="${nosql_test.build.location}/${nosql.test.jar}"/> |
| <pathelement path="${nosql_test.run.dir}"/> |
| <pathelement path="${jdbc.driver.jar}"/> |
| <pathelement path="${nosql_test.2.core.test.dir}/resource"/> |
| </path> |
| <!-- Classpath used for compiling tests. --> |
| <path id="nosql_test.compile.path"> |
| <path refid="nosql_test.product.path"/> |
| <path refid="nosql_test.public.dependency.path"/> |
| <path refid="nosql_test.nosql.dependency.path"/> |
| <path refid="nosql_test.test.infrastructure.path"/> |
| <pathelement path="${nosql_test.resource.dir}"/> |
| </path> |
| <!-- Classpath used for running tests. --> |
| <path id="nosql_test.run.path"> |
| <path refid="nosql_test.compile.path"/> |
| <path refid="nosql_test.runtime.only.path"/> |
| </path> |
| </target> |
| <target name="announce_missing_dependencies" unless="dependency.ok" description="publicize missing dependencies"> |
| <echo message="Following is a list of dependencies and their status:"/> |
| <echo message=" Test infrastructure:"/> |
| <say message=" found. :: '${junit.lib}'" if="junit.lib.exist"/> |
| <say message=" missing! :: '${junit.lib}'" unless="junit.lib.exist"/> |
| <say message=" found. :: '${nosql_test.2.jpa.test.dir}/${jpatest.framework.jar}'" if="jpatest.framework.exist"/> |
| <say message=" missing! :: '${nosql_test.2.jpa.test.dir}/${jpatest.framework.jar}'" unless="jpatest.framework.exist"/> |
| <say message=" found. :: '${nosql_test.2.core.test.dir}/${coretest.framework.jar}'" if="test.framework.exist"/> |
| <say message=" missing! :: '${nosql_test.2.core.test.dir}/${coretest.framework.jar}'" unless="test.framework.exist"/> |
| <say message=" found. :: '${nosql_test.2.core.test.dir}/${coretest.jar}'" if="core.test.exist"/> |
| <say message=" missing! :: '${nosql_test.2.core.test.dir}/${coretest.jar}'" unless="core.test.exist"/> |
| <echo message="The test framework jars are currently part of the core.test and jpa.test projects. Be sure they are built."/> |
| <echo message=" dependency location:"/> |
| <say message=" found. :: '${extensions.depend.dir}'" if="ext.depend.dir.exist"/> |
| <say message=" missing! :: '${extensions.depend.dir}'" unless="ext.depend.dir.exist"/> |
| <say message=" found. :: '${mongo.lib}'" if="mongo.lib"/> |
| <say message=" missing! :: '${extensions.depend.dir}/${mongo.jar}'" unless="mongo.lib"/> |
| <fail message="Missing dependencies!" unless="dependency.ok"/> |
| </target> |
| |
| <!-- Compiles all tests. --> |
| <target name="compile" depends="init_paths" description="compile EclipseLink nosql tests"> |
| <echo message="Using the following nosql dependencies:"/> |
| <echo message=" '${mongo.lib}'"/> |
| <mkdir dir="${nosql_test.classes.dir}"/> |
| <javac srcdir="${nosql_test.src.dir}" |
| destdir="${nosql_test.classes.dir}" |
| includes="org/eclipse/persistence/**, java/sql/**" |
| debug="${javac.debug}" |
| debuglevel="${javac.debuglevel}" |
| encoding="UTF-8" |
| optimize="${javac.optimize}" |
| source="${javac.version}" |
| target="${javac.version}" |
| deprecation="${javac.deprecation}" |
| failonerror="true" |
| memoryMaximumSize="512m" |
| fork="true"> |
| <classpath> |
| <path refid="nosql_test.compile.path"/> |
| </classpath> |
| </javac> |
| </target> |
| |
| <target name="package"> |
| <!-- Package the Mongo JPA model jar. --> |
| <jar jarfile="${mongo.model.jar}"> |
| <zipfileset dir="resource/mongo" includes="*.xml" prefix="META-INF"/> |
| <fileset dir="${nosql_test.classes.dir}" |
| includes="org/eclipse/persistence/testing/models/jpa/mongo/**"/> |
| </jar> |
| <!-- Package the JPA nosql specific tests jar. --> |
| <jar jarfile="${nosql.jpa.test.jar}"> |
| <fileset dir="${nosql_test.classes.dir}" |
| includes="org/eclipse/persistence/testing/tests/jpa/**"/> |
| </jar> |
| <!-- Build tests jar. --> |
| <jar jarfile="${nosql.test.jar}"> |
| <fileset dir="${nosql_test.classes.dir}" |
| includes="org/eclipse/persistence/**/*.class" |
| excludes="org/eclipse/persistence/testing/models/jpa/**, |
| org/eclipse/persistence/testing/tests/jpa/**"/> |
| <fileset dir="${nosql_test.resource.dir}" |
| includes="org/eclipse/persistence/**"/> |
| </jar> |
| </target> |
| |
| <target name="init_run" depends="init_paths"> |
| <mkdir dir="${nosql_test.run.dir}"/> |
| <mkdir dir="${nosql_test.report.dir}"/> |
| <copy file="${nosql_test.2.core.test.dir}/${resource.dir}/java.policy.allpermissions" todir="${nosql_test.run.dir}" overwrite="true"/> |
| </target> |
| |
| <!-- Default test target, runs test.class from test.properties (default is nosqlJPATestModel). --> |
| <target name="test" depends="build, init_run"> |
| <run_test testclass="${test.class}" dburl="${db.url}"/> |
| <generate_report/> |
| </target> |
| |
| <target name="test-eis" depends="init_run"> |
| <run_test testclass="org.eclipse.persistence.testing.tests.eis.xmlfile.XMLFileTestModel" dburl="${db.url}"/> |
| <run_test testclass="org.eclipse.persistence.testing.tests.eis.cobol.CobolTestModel" dburl="${db.url}"/> |
| <run_moxy_test testclass="org.eclipse.persistence.testing.oxm.mappings.onetoone.OneToOneMappingTestSuite" platform="DOM"/> |
| <run_moxy_test testclass="org.eclipse.persistence.testing.oxm.mappings.onetomany.OneToManyMappingTestSuite" platform="DOM"/> |
| <run_moxy_test testclass="org.eclipse.persistence.testing.oxm.mappings.onetoone.OneToOneMappingTestSuite" platform="SAX"/> |
| <run_moxy_test testclass="org.eclipse.persistence.testing.oxm.mappings.onetomany.OneToManyMappingTestSuite" platform="SAX"/> |
| <generate_report/> |
| </target> |
| |
| <!-- Prompt runner test target, runs test.class from test.properties (default is nosqlJPATestModel). --> |
| <target name="test-prompt" depends="init_run"> |
| <run_test_prompt testclass="${test.class}" dburl="${db.url}"/> |
| </target> |
| |
| <!-- Launches the testing browser --> |
| <target name="test-browser"> |
| <echo>Running test browser</echo> |
| <mkdir dir="${nosql_test.run.dir}"/> |
| <mkdir dir="${nosql_test.report.dir}"/> |
| <copy file="${nosql_test.2.core.test.dir}/${resource.dir}/java.policy.allpermissions" todir="${nosql_test.run.dir}" overwrite="true"/> |
| <java classname="org.eclipse.persistence.testing.framework.ui.TestingBrowserFrame" |
| fork="true" |
| maxmemory="512m" |
| failonerror="false" |
| dir="${run.dir}"> |
| <jvmarg value="-Declipselink.logging.level=${logging.level}"/> |
| <jvmarg value="-Ddb.driver=${db.driver}"/> |
| <jvmarg value="-Ddb.url=${db.url}"/> |
| <jvmarg value="-Ddb.user=${db.user}"/> |
| <jvmarg value="-Ddb.pwd=${db.pwd}"/> |
| <jvmarg value="-Ddb.platform=${db.platform}"/> |
| <jvmarg value="-Djava.security.manager"/> |
| <jvmarg value="-Djava.security.policy=../java.policy.allpermissions"/> |
| <classpath> |
| <path refid="nosql_test.run.path"/> |
| </classpath> |
| </java> |
| </target> |
| |
| <!-- Generic target for running tests. --> |
| <macrodef name="run_test"> |
| <attribute name="testclass"/> |
| <attribute name="dburl"/> |
| <sequential> |
| <echo>Running test on @{dburl}</echo> |
| <junit printsummary="yes" failureproperty="junit.failed" fork="yes" forkmode="once" showoutput="true" maxmemory="512m" dir="${run.dir}"> |
| <jvmarg value="-Declipselink.logging.level=${logging.level}"/> |
| <jvmarg value="-Ddb.driver=${db.driver}"/> |
| <jvmarg value="-Ddb.url=@{dburl}"/> |
| <jvmarg value="-Ddb.user=${db.user}"/> |
| <jvmarg value="-Ddb.pwd=${db.pwd}"/> |
| <jvmarg value="-Ddb.platform=${db.platform}"/> |
| <jvmarg value="-Djava.security.manager"/> |
| <jvmarg value="-Djava.security.policy=./java.policy.allpermissions"/> |
| <classpath> |
| <path refid="nosql_test.run.path"/> |
| </classpath> |
| <formatter type="xml"/> |
| <test name="@{testclass}" haltonfailure="no" outfile="${report.dir}/@{testclass}-test-results"> |
| </test> |
| </junit> |
| </sequential> |
| </macrodef> |
| |
| <macrodef name="run_moxy_test"> |
| <attribute name="testclass"/> |
| <attribute name="platform"/> |
| <sequential> |
| <junit printsummary="yes" failureproperty="junit.failed" fork="yes" forkmode="once" showoutput="true" maxmemory="512m" dir="${nosql_test.resource.dir}"> |
| <sysproperty key="platformType" value="@{platform}"/> |
| <jvmarg value="-Declipselink.logging.level=${logging.level}"/> |
| <classpath> |
| <path refid="nosql_test.run.path"/> |
| </classpath> |
| <formatter type="xml"/> |
| <test name="@{testclass}" haltonfailure="no" outfile="${report.dir}/@{testclass}-@{platform}-test-results"> |
| </test> |
| </junit> |
| </sequential> |
| </macrodef> |
| |
| <macrodef name="generate_report"> |
| <sequential> |
| <junitreport todir="${report.dir}"> |
| <fileset dir="${report.dir}"> |
| <include name="*test-results.xml"/> |
| </fileset> |
| <report format="noframes" todir="${report.dir}"/> |
| </junitreport> |
| </sequential> |
| </macrodef> |
| |
| <!-- Runs the test using the PromptTestRunner --> |
| <macrodef name="run_test_prompt"> |
| <attribute name="testclass"/> |
| <attribute name="dburl"/> |
| <sequential> |
| <echo>Running test on @{dburl}</echo> |
| <java classname="org.eclipse.persistence.testing.framework.PromptTestRunner" |
| fork="true" |
| maxmemory="512m" |
| failonerror="false" |
| dir="${nosql_test.run.dir}"> |
| <jvmarg value="-Declipselink.logging.level=${logging.level}"/> |
| <jvmarg value="-Ddb.driver=${db.driver}"/> |
| <jvmarg value="-Ddb.url=@{dburl}"/> |
| <jvmarg value="-Ddb.user=${db.user}"/> |
| <jvmarg value="-Ddb.pwd=${db.pwd}"/> |
| <jvmarg value="-Ddb.platform=${db.platform}"/> |
| <jvmarg value="${test.security-manager}"/> |
| <jvmarg value="${test.security-manager.policy}"/> |
| <arg value="pfile=../test.properties" /> |
| <arg value="testmodel=@{testclass}" /> |
| <arg value="regressionlog=${report.dir}/@{testclass}-test.log" /> |
| <arg value="saveresults=true" /> |
| <classpath> |
| <path refid="nosql_test.run.path"/> |
| </classpath> |
| </java> |
| </sequential> |
| </macrodef> |
| </project> |