blob: 13e4491ca736aab6ff1d9fadccfa7ac37b12af1d [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright (c) 2011, 2022 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-->
<!DOCTYPE project [
<!ENTITY commonSetup SYSTEM "./../../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "./../../../../../config/common.xml">
<!ENTITY commonRun SYSTEM "./../../../../../config/run.xml">
<!ENTITY reporting SYSTEM "./../../../../../config/report.xml">
<!ENTITY eeCommon SYSTEM "file:./../../ee.xml">
<!ENTITY testproperties SYSTEM "file:./build.properties">
]>
<project name="tx-ee-dblogs-base" default="usage" basedir=".">
&commonSetup;
&commonBuild;
&commonRun;
&eeCommon;
&testproperties;
&reporting;
<target name="all" depends="build,setup,run,unsetup,dev-report"/>
<target name="test" depends="build,setup-test,run,unsetup-test"/>
<target name="setup" depends="init-common">
<antcall target="clean-results"/>
<antcall target="start-derby"/>
<ant target="start-domain"/>
<antcall target="setup-test"/>
</target>
<target name="setup-test" depends="init-common">
<antcall target="setup-database"/>
</target>
<target name="setup-database" depends="init-common">
<antcall target="setup-xa-database-common">
<param name="pool.name" value="jdbc-xa-pool"/>
<param name="resource.name" value="jdbc/xa"/>
</antcall>
<antcall target="deploy-jdbc-common">
<param name="jdbc.conpool.name" value="nontx"/>
<param name="db.class" value="org.apache.derby.jdbc.ClientDataSource"/>
<param name="jdbc.resource.type" value="javax.sql.DataSource"/>
<param name="jdbc.resource.name" value="jdbc/nontx"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="set"/>
<param name="operand.props"
value="${resources.dottedname.prefix}.jdbc-connection-pool.nontx.property.connectionAttributes=;create=true"/>
</antcall>
<antcall target="asadmin-common">
<param name="admin.command" value="set"/>
<param name="operand.props"
value="${resources.dottedname.prefix}.jdbc-connection-pool.nontx.non-transactional-connections=true"/>
</antcall>
<antcall target="setup-pool-common">
<param name="pool.name" value="nontx"/>
</antcall>
<antcall target="execute-ejb-sql-common">
<param name="sql.file" value="sql/create.sql"/>
</antcall>
<echo message="db.name=${db.name}"/>
<antcall target="execute-sql-common">
<param name="sql.file" value="sql/create.sql"/>
<param name="db.url" value="jdbc:derby://localhost:${db.port}/${db.name};create=true;"/>
</antcall>
</target>
<target name="setup-cluster-delegated" depends="init-common">
<antcall target="setup-cluster">
<param name="delegated" value="true"/>
</antcall>
</target>
<target name="setup-cluster-non-delegated" depends="init-common">
<antcall target="setup-cluster">
<param name="delegated" value="false"/>
</antcall>
</target>
<target name="setup-cluster" depends="init-common">
<echo message="Starting cluster"/>
<java fork="on"
failonerror="true"
classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}:${env.APS_HOME}/lib/reporter.jar"
classname="${se.client}">
<arg line="prepare"/>
<arg line="${assemble.dir}/${appname}-web.war"/>
<arg line="${assemble.dir}"/>
<arg line="${delegated}"/>
</java>
</target>
<target name="unsetup-test" depends="init-common">
<antcall target="unsetup-cluster"/>
<antcall target="unsetup-database"/>
</target>
<target name="unsetup" depends="init-common">
<antcall target="unsetup-test"/>
<antcall target="stop-derby"/>
<ant target="stop-domain"/>
</target>
<target name="unsetup-database" depends="init-common">
<antcall target="execute-ejb-sql-common">
<param name="sql.file" value="sql/drop.sql"/>
</antcall>
<antcall target="execute-sql-common">
<param name="sql.file" value="sql/drop.sql"/>
<param name="db.url" value="jdbc:derby://localhost:${db.port}/${db.name};create=true;"/>
</antcall>
<antcall target="delete-jdbc-resource-common">
<param name="jdbc.resource.name" value="jdbc/xa"/>
</antcall>
<antcall target="delete-jdbc-resource-common">
<param name="jdbc.resource.name" value="jdbc/nontx"/>
</antcall>
<antcall target="delete-jdbc-connpool-common">
<param name="jdbc.conpool.name" value="jdbc-xa-pool"/>
</antcall>
<antcall target="delete-jdbc-connpool-common">
<param name="jdbc.conpool.name" value="nontx"/>
</antcall>
</target>
<target name="run" depends="init-common">
<antcall target="run-delegated"/>
<antcall target="reset-all"/>
<antcall target="run-cli"/>
<antcall target="reset-all"/>
<antcall target="run-autorecovery"/>
</target>
<target name="reset-all" depends="init-common">
<antcall target="unsetup-cluster"/>
<antcall target="reset-tables"/>
</target>
<target name="run-delegated" depends="init-common">
<antcall target="setup-cluster-delegated"/>
<antcall target="test-delegated"/>
<antcall target="save-logs"/>
<copy file="${module}-logs.zip" tofile="${module}-delegated-logs.zip"/>
</target>
<target name="run-cli" depends="init-common">
<antcall target="setup-cluster-non-delegated"/>
<antcall target="test-cli"/>
<antcall target="save-logs"/>
<copy file="${module}-logs.zip" tofile="${module}-cli-logs.zip"/>
</target>
<target name="run-autorecovery" depends="init-common">
<antcall target="setup-cluster-non-delegated"/>
<antcall target="test-autorecovery"/>
<antcall target="save-logs"/>
<copy file="${module}-logs.zip" tofile="${module}-autorecovery-logs.zip"/>
</target>
<target name="run-delegated-reset" depends="init-common">
<antcall target="reset-all"/>
<antcall target="run-delegated"/>
</target>
<target name="run-cli-reset" depends="init-common">
<antcall target="reset-all"/>
<antcall target="run-cli"/>
</target>
<target name="run-autorecovery-reset" depends="init-common">
<antcall target="reset-all"/>
<antcall target="run-autorecovery"/>
</target>
<target name="test-delegated" depends="init-common">
<parallel>
<antcall target="insert-data"/>
<antcall target="kill-instance"/>
</parallel>
<!-- wait a little -->
<sleep seconds="65"/>
<antcall target="verify-results"/>
<!-- restart the instance -->
<exec executable="${ASADMIN}" failonerror="false">
<arg line="start-local-instance"/>
<arg line="in1"/>
</exec>
</target>
<target name="verify-results" depends="init-common">
<echo message="Verifying results"/>
<java fork="on"
failonerror="true"
classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}"
classname="${se.client}">
<arg line="verify_xa"/>
<arg line="${appname}-web"/>
<arg line="in2"/>
<arg line="recover"/>
</java>
</target>
<target name="test-cli" depends="init-common">
<parallel>
<antcall target="insert-data"/>
<antcall target="kill-instance"/>
</parallel>
<sleep seconds="15"/>
<antcall target="cli-recover-transactions"/>
<antcall target="verify-results"/>
<exec executable="${ASADMIN}" failonerror="false">
<arg line="start-local-instance"/>
<arg line="in1"/>
</exec>
</target>
<target name="test-autorecovery" depends="init-common">
<parallel>
<antcall target="insert-data"/>
<antcall target="kill-instance"/>
</parallel>
<!-- restart the instance -->
<exec executable="${ASADMIN}" failonerror="false">
<arg line="start-local-instance"/>
<arg line="in1"/>
</exec>
<!-- wait a little -->
<sleep seconds="35"/>
<antcall target="verify-results"/>
</target>
<target name="kill-instance">
<sleep seconds="10"/>
<exec executable="./kill_instance.sh" failonerror="true">
<arg line="in1"/>
</exec>
</target>
<target name="insert-data">
<echo message="Executing test on instance in1"/>
<java fork="on"
failonerror="true"
classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}"
classname="${se.client}">
<arg line="insert_xa_data"/>
<arg line="${appname}-web"/>
<arg line="in1"/>
</java>
</target>
<target name="cli-recover-transactions">
<sleep seconds="15"/>
<echo message="Recover XA transaction"/>
<java fork="on"
failonerror="true"
classpath="${env.S1AS_HOME}/lib/jakartaee.jar:${env.S1AS_HOME}/lib/gf-client.jar:${env.APS_HOME}/lib/reportbuilder.jar:${build.classes.dir}"
classname="${se.client}">
<arg line="recover"/>
</java>
</target>
</project>