| <!-- |
| |
| Copyright (c) 2018 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> |
| <!-- |
| <antcall target="startAS"/> |
| --> |
| <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"/> |
| <!-- |
| <antcall target="stopAS"/> |
| --> |
| </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> |
| |