blob: 932272f76b2c372095d7662f8c42b85ad5b4a533 [file] [log] [blame]
<!--/*******************************************************************************
* 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:
* pvijayaratnam - cache coordination test implementation
#******************************************************************************/-->
<project name="Eclipse Persistence Services JPA WLS CacheCoordination Testing" basedir=".">
<property name="env" environment="env" value="env"/>
<!-- Allows a user to overide certain user specific properties. -->
<property name="eclipselink.jpa.test" value="."/>
<property file="${jpatest.basedir}/antbuild.properties"/>
<property file="${user.home}/${server.name}.properties"/>
<property file="test.properties"/>
<property file="./${server.name}.properties"/>
<!-- *********** CacheCoordination Test Targets -->
<target name="weblogic-run-test-cachecoordination">
<property file="${jpatest.basedir}/${server.name}.properties"/>
<antcall target="build-deploy-cachecoordination-wls"/>
<antcall target="runclient-cachecoordination-wls"/>
<ant antfile="${jpatest.basedir}/antbuild.xml" target="generate-report" inheritRefs="true"/>
<antcall target="server-undeploy-cachecoordination-cluster" inheritRefs="true">
<param name="ear.name" value="eclipselink-sessionbean-model.ear"/>
<param name="application.name" value="eclipselink-sessionbean-model"/>
</antcall>
<!--ant antfile="${jpatest.basedir}/cachecoordination_${server.name}.xml" target="${server.name}-stop-cachecoordination" inheritRefs="true"/-->
<delete includeEmptyDirs="true" failonerror="false">
<fileset dir="${weblogic.domain}/servers/${rcm.wls.server3.name}/tmp"/>
<fileset dir="${weblogic.domain}/servers/${rcm.wls.server2.name}/tmp"/>
<fileset dir="${weblogic.domain}/servers/${rcm.wls.server1.name}/tmp"/>
</delete>
</target>
<target name="build-deploy-cachecoordination-wls">
<sequential>
<antcall target="config-persistence-xml"/>
<antcall target="cachecoordination-build-and-deploy-cluster" inheritRefs="true">
<param name="PERSISTENCE_UNIT_NAME" value="sessionbean"/>
<param name="MODEL_DIR" value="org/eclipse/persistence/testing/models/jpa/sessionbean"/>
<param name="MODEL_DIR2" value="org/eclipse/persistence/testing/models/jpa/fieldaccess/advanced"/>
<param name="MODEL_NAME" value="eclipselink-sessionbean-model"/>
<param name="TEST_DIR" value="org/eclipse/persistence/testing/tests/jpa/sessionbean"/>
<param name="TEST_NAME" value="eclipselink-sessionbean-model"/>
<param name="EAR_NAME" value="eclipselink-sessionbean-model"/>
<param name="TEST_SUITE" value="org.eclipse.persistence.testing.tests.jpa.sessionbean.SessionBeanTestsRCM"/>
<param name="eclipselink.jpa.test.dir" value="."/>
</antcall>
</sequential>
</target>
<target name="runclient-cachecoordination-wls">
<antcall target="server-run-test-cachecoordination" inheritRefs="true">
<param name="PERSISTENCE_UNIT_NAME" value="sessionbean"/>
<param name="MODEL_DIR" value="org/eclipse/persistence/testing/models/jpa/sessionbean"/>
<param name="MODEL_DIR2" value="org/eclipse/persistence/testing/models/jpa/fieldaccess/advanced"/>
<param name="MODEL_NAME" value="eclipselink-sessionbean-model"/>
<param name="TEST_DIR" value="org/eclipse/persistence/testing/tests/jpa/sessionbean"/>
<param name="TEST_NAME" value="eclipselink-sessionbean-model"/>
<param name="EAR_NAME" value="eclipselink-sessionbean-model"/>
<param name="TEST_SUITE" value="org.eclipse.persistence.testing.tests.jpa.sessionbean.SessionBeanTestsRCM"/>
<param name="eclipselink.jpa.test.dir" value="."/>
</antcall>
</target>
<target name="weblogic-build-deploy-concurrency">
<sequential>
<copy overwrite="true" file="${jpatest.basedir}/${resource.dir}/jpa-performance/server/persistence.xml" tofile="${jpatest.basedir}/${resource.dir}/jpa-performance/server/persistence_original.xml"/>
<copy overwrite="true" file="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination.xml" tofile="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination_original.xml"/>
<copy overwrite="true" file="${jpatest.basedir}/${resource.dir}/jpa-performance/server/persistence.xml" tofile="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination.xml"/>
<delete file="${jpatest.basedir}/${resource.dir}/jpa-performance/server/persistence.xml"/>
<antcall target="config-persistence-xml"/>
<antcall target="cachecoordination-build-and-deploy-cluster" inheritRefs="true">
<param name="PERSISTENCE_UNIT_NAME" value="performance"/>
<param name="MODEL_DIR" value="org/eclipse/persistence/testing/models/jpa/performance"/>
<param name="MODEL_DIR2" value="org/eclipse/persistence/testing/models/jpa/performance"/>
<param name="MODEL_NAME" value="jpa-performance"/>
<param name="TEST_DIR" value="org/eclipse/persistence/testing/tests/jpa/performance"/>
<param name="TEST_NAME" value="jpa-performance"/>
<param name="EAR_NAME" value="jpa-performance"/>
<param name="TEST_SUITE" value="org.eclipse.persistence.testing.tests.jpa.performance.concurrency.JPAClusteredConcurrencyComparisonModel"/>
<param name="eclipselink.jpa.test.dir" value="."/>
</antcall>
<copy overwrite="true" file="${jpatest.basedir}/${resource.dir}/jpa-performance/server/persistence_original.xml" tofile="${jpatest.basedir}/${resource.dir}/jpa-performance/server/persistence.xml"/>
<delete file="${jpatest.basedir}/${resource.dir}/jpa-performance/server/persistence_original.xml"/>
</sequential>
</target>
<target name="weblogic-undeploy-concurrency">
<property file="${jpatest.basedir}/${server.name}.properties"/>
<antcall target="server-undeploy-cachecoordination-cluster" inheritRefs="true">
<param name="application.name" value="jpa-performance"/>
</antcall>
</target>
<target name="set-app-name-cachecoordination">
<property name="APP_NAME" value="${MODEL_NAME}"/>
<property name="DS_NAME" value="jdbc/EclipseLinkDS"/>
</target>
<condition property="is.jms">
<contains string="${cachecoordination.protocol}" substring="jms"/>
</condition>
<condition property="is.jgroups">
<contains string="${cachecoordination.protocol}" substring="jgroups"/>
</condition>
<condition property="is.rmi">
<contains string="${cachecoordination.protocol}" substring="rmi"/>
</condition>
<!-- Build and deploy to Server1 -->
<target name="config-persistence-xml">
<copy overwrite="true" file="${jpatest.basedir}/${resource.dir}/server/persistence.xml" tofile="${jpatest.basedir}/${resource.dir}/server/persistence_original.xml" />
<copy overwrite="true" file="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination.xml" tofile="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination_original.xml"/>
<replace file="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination.xml" token='@data-source-name@' value="jdbc/EclipseLinkDS"/>
<replace file="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination.xml" token='@topic-host-url@' value="${rcm.wls.jms.topichost.url}"/>
<replace file="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination.xml" token='@topic-name@' value="${rcm.wls.jms.topicname}"/>
<replace file="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination.xml" token='@topic-connection-factory@' value="${rcm.wls.jms.topic.connectionfactory.name}"/>
<replace file="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination.xml" token='@cachecoordination-protocol@' value="${cachecoordination.protocol}"/>
</target>
<target name="cachecoordination-build-and-deploy-cluster" depends="set-app-name-cachecoordination">
<copy overwrite="true" file="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination.xml" tofile="${jpatest.basedir}/${resource.dir}/server/persistence.xml"/>
<ant antfile="${jpatest.basedir}/antbuild.xml" target="server-build" inheritRefs="true"/>
<copy overwrite="true" file="${jpatest.basedir}/${resource.dir}/server/persistence_original.xml" tofile="${jpatest.basedir}/${resource.dir}/server/persistence.xml"/>
<copy overwrite="true" file="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination_original.xml" tofile="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination.xml"/>
<delete file="${jpatest.basedir}/${resource.dir}/server/persistence_original.xml"/>
<delete file="${jpatest.basedir}/${resource.dir}/server/persistence_cachecoordination_original.xml"/>
<antcall target="server-deploy-cachecoordination-cluster" inheritRefs="true">
<param name="ear.name" value="${EAR_NAME}.ear"/>
<param name="application.name" value="${EAR_NAME}"/>
</antcall>
</target>
<target name="server-deploy-cachecoordination-cluster">
<ant antfile="${jpatest.basedir}/cachecoordination_${server.name}.xml" target="${server.name}-deploy" inheritRefs="true">
<property name="ear.name" value="${ear.name}"/>
<property name="application.name" value="${application.name}"/>
<property name="target.server" value="${rcm.wls.cluster.name}"/>
</ant>
</target>
<target name="server-undeploy-cachecoordination-cluster">
<ant antfile="${jpatest.basedir}/cachecoordination_${server.name}.xml" target="${server.name}-undeploy" inheritRefs="true">
<property name="ear.name" value="${ear.name}"/>
<property name="application.name" value="${application.name}"/>
<property name="target.server" value="${rcm.wls.cluster.name}"/>
</ant>
</target>
<target name="server-run-test-cachecoordination" depends="config-compile-path">
<property file="${jpatest.basedir}/${server.name}.properties"/>
<path id="run.path">
<pathelement path="${jpatest.basedir}/${build.dir}/${TEST_NAME}_client.jar"/>
<pathelement path="${jpatest.basedir}/${build.dir}/${MODEL_NAME}_ejb.jar"/>
<fileset dir="${server.lib}" includes="${server.depend}"/>
<path refid="compile.server.path"/>
</path>
<echo>Running "** ${cachecoordination.protocol} **" Cache Coordination tests: ${EAR_NAME} on ${server.name}</echo>
<mkdir dir="${jpatest.basedir}/${report.dir}"/>
<junit printsummary="yes" haltonfailure="yes" failureproperty="junit.failed" fork="yes" forkmode="once" showoutput="true" maxmemory="256m" dir="${run.dir}">
<sysproperty key="server.platform" value="${server.platform}"/>
<sysproperty key="server.user" value="${server.user}"/>
<sysproperty key="server.password" value="${server.pwd}"/>
<sysproperty key="server.url" value="${rcm.wls.server2.url}${MODEL_NAME}"/>
<sysproperty key="server.testrunner" value="${server.testrunner}"/>
<sysproperty key="server.run" value="TRUE"/>
<classpath refid="run.path"/>
<formatter type="xml"/>
<test name="${TEST_SUITE}" haltonfailure="no" outfile="${report.dir}/${TEST_SUITE}-test-results"/>
</junit>
</target>
<target name="config-compile-path">
<path id="compile.path">
<pathelement path="${eclipselink.jpa}/${classes.dir}"/>
<pathelement path="${eclipselink.core.lib.dir}/${resource.jar}"/>
<pathelement path="${eclipselink.core.lib.dir}/${ejb.jar}"/>
<pathelement path="${eclipselink.core.lib.dir}/${jms.jar}"/>
<pathelement path="${eclipselink.core.lib.dir}/${transaction.jar}"/>
<pathelement path="${eclipselink.core.lib.dir}/${mail.jar}"/>
<pathelement path="${eclipselink.jar}"/>
<pathelement path="${junit.lib}"/>
</path>
<path id="compile.server.path">
<path refid="compile.path"/>
<pathelement path="${jdbc.driver.jar}"/>
</path>
</target>
</project>