| <!-- |
| |
| Copyright (c) 2017, 2021 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 |
| |
| --> |
| |
| <property name="target-to-run" value="sqetests" /> |
| |
| <target name="runtest" depends="init-common"> |
| <record name="runtest.output" action="start" /> |
| <parallel> |
| <sequential> |
| <waitfor maxwait="5" maxwaitunit="minute" checkevery="500"> |
| <or> |
| <http url="http://localhost:80" /> |
| <http url="http://localhost:1024" /> |
| <http url="http://${http.host}:${http.port}" /> |
| </or> |
| </waitfor> |
| <antcall target="${target-to-run}" /> |
| <antcall target="report" /> |
| <antcall target="mail" /> |
| </sequential> |
| </parallel> |
| <record name="runtest.output" action="stop" /> |
| </target> |
| |
| <!-- Setup and Restart the server instance --> |
| <target name="restart-server-instance-common"> |
| <antcall target="stopDomain" /> |
| <sleep seconds="5" /> |
| <antcall target="startDomain" /> |
| </target> |
| |
| <target name="startDomain" depends="startDomainUnix, startDomainWindows" /> |
| |
| <target name="startDomainUnix" depends="init-common" if="isUnix"> |
| <echo message="Starting DAS" /> |
| <exec executable="${ASADMIN}"> |
| <arg line="start-domain" /> |
| </exec> |
| <echo message="run.xml:doing wait for ${http.host}:${http.port}..." /> |
| <waitfor timeoutproperty="unableToStart"> |
| <http url="http://${http.host}:${http.port}" /> |
| </waitfor> |
| <condition property="dumpStack"> |
| <and> |
| <isset property="unableToStart" /> |
| <available file="${env.JAVA_HOME}/bin/jps" /> |
| </and> |
| </condition> |
| <echo message="run.xml:DONE doing wait for ${http.host}:${http.port}..." /> |
| <antcall target="dumpThreadStack" /> |
| </target> |
| |
| <target name="startDomainWindows" depends="init-common" if="isWindows"> |
| <echo message="Starting DAS" /> |
| <exec executable="${ASADMIN}" spawn="true"> |
| <arg line="start-domain" /> |
| </exec> |
| <waitfor timeoutproperty="unableToStart"> |
| <http url="http://${http.host}:${http.port}" /> |
| </waitfor> |
| <condition property="dumpStack"> |
| <and> |
| <isset property="unableToStart" /> |
| <available file="${env.JAVA_HOME}/bin/jps" /> |
| </and> |
| </condition> |
| <antcall target="dumpThreadStack" /> |
| </target> |
| |
| <target name="dumpThreadStack" if="dumpStack"> |
| <exec executable="${env.JAVA_HOME}/bin/jps" output="pid.out.file"> |
| <arg value="-v" /> |
| </exec> |
| |
| <loadfile srcfile="pid.out.file" property="pid.out"> |
| <filterchain> |
| <linecontains> |
| <contains value="ASMain" /> |
| <contains value="${env.S1AS_HOME}" /> |
| </linecontains> |
| <tokenfilter> |
| <replaceregex pattern="^(\d+) ASMain (.*)" replace="\1" /> |
| <trim /> |
| <ignoreblank /> |
| </tokenfilter> |
| <striplinebreaks /> |
| </filterchain> |
| </loadfile> |
| |
| <echo>Dumping the thread stack for Appserver instance with PID - "${pid.out}"</echo> |
| <exec executable="${env.JAVA_HOME}/bin/jstack"> |
| <arg value="${pid.out}" /> |
| </exec> |
| <delete file="pid.out.file" /> |
| </target> |
| |
| <target name="stopDomain" depends="init-common"> |
| <echo message="run.xml:stopping domain..." /> |
| <exec executable="${ASADMIN}" failonerror="true"> |
| <arg line="stop-domain" /> |
| </exec> |
| </target> |
| |
| <target name="delete-domain-common" depends="init-common"> |
| <exec executable="${ASADMIN}"> |
| <arg line="delete-domain" /> |
| <arg line="--domaindir ${admin.domain.dir}" /> |
| <arg line="${admin.domain}" /> |
| </exec> |
| </target> |
| |
| <target name="create-domain-common" depends="init-common"> |
| <exec executable="${ASADMIN}"> |
| <arg line="create-domain" /> |
| <arg line="--domaindir ${admin.domain.dir}" /> |
| <arg line="--adminport ${admin.port}" /> |
| <arg line="--instanceport ${http.port}" /> |
| <arg line="--user ${admin.user}" /> |
| <arg line="--passwordfile ${admin.password.file}" /> |
| <arg line="--domainproperties orb.listener.port=${orb.port}" /> |
| <arg line="${admin.domain}" /> |
| </exec> |
| </target> |
| |
| <target name="cleanAS"> |
| <echo message="run.xml:deleting domain: ${admin.domain}..." /> |
| <antcall target="delete-domain-common" /> |
| <echo message="run.xml:creating domain: ${admin.domain}..." /> |
| <antcall target="create-domain-common" /> |
| </target> |
| |
| <target name="start-clean-server"> |
| <antcall target="stopDomain" /> |
| <antcall target="cleanAS" /> |
| <antcall target="startDomain" /> |
| </target> |
| |
| |
| <target name="restart-instance-common"> |
| <echo message="Restarting remote server instance,until this gets fixed" /> |
| <exec executable="${ASADMIN}" failonerror="false"> |
| <arg line="stop-instance" /> |
| <arg line="${as.props}" /> |
| <arg line="${appserver.instance.name}" /> |
| </exec> |
| |
| <sleep seconds="30" /> |
| <exec executable="${ASADMIN}" failonerror="false"> |
| <arg line="start-instance" /> |
| <arg line="${as.props}" /> |
| <arg line="${appserver.instance.name}" /> |
| </exec> |
| |
| </target> |
| |
| <macrodef name="run-test"> |
| <attribute name="classname" /> |
| <attribute name="classpath" /> |
| <element name="arguments" optional="yes" /> |
| <sequential> |
| <java classname="@{classname}" classpath="@{classpath}" fork="true"> |
| <jvmarg value="-Das.props=${as.props}" /> |
| <jvmarg value="-Dadmin.user=${admin.user}" /> |
| <jvmarg value="-Dadmin.port=${admin.port}" /> |
| <jvmarg value="-Dhttp.port=${http.port}" /> |
| <jvmarg value="-Dhttps.port=${https.port}" /> |
| <jvmarg value="-Dhttp.host=${http.host}" /> |
| <arguments /> |
| </java> |
| </sequential> |
| </macrodef> |
| |