0N/A#!/bin/sh
0N/A
0N/A#
4001N/A# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
0N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A#
0N/A# This code is free software; you can redistribute it and/or modify it
0N/A# under the terms of the GNU General Public License version 2 only, as
0N/A# published by the Free Software Foundation.
0N/A#
0N/A# This code is distributed in the hope that it will be useful, but WITHOUT
0N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A# version 2 for more details (a copy is included in the LICENSE file that
0N/A# accompanied this code).
0N/A#
0N/A# You should have received a copy of the GNU General Public License version
0N/A# 2 along with this work; if not, write to the Free Software Foundation,
0N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A#
2362N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A# or visit www.oracle.com if you need additional information or have any
2362N/A# questions.
0N/A#
0N/A
0N/A
0N/A# @test
0N/A# @bug 6173612 6273707 6277253 6335921 6348630 6342019 6381757
0N/A# @summary Basic unit tests for the VM attach mechanism.
0N/A#
0N/A# @build BasicTests
0N/A# @run shell BasicTests.sh
0N/A
0N/Aif [ "${TESTSRC}" = "" ]
0N/Athen
0N/A echo "TESTSRC not set. Test cannot execute. Failed."
0N/A exit 1
0N/Afi
0N/A
2500N/A# Windows 2000 is a problem here, so we skip it, see 6962615
2500N/Aosrev=`uname -a`
4001N/Aif [ "`echo ${osrev} | grep 'CYGWIN[^ ]*-5\.0'`" != "" ] ; then
4001N/A echo "Treating as a pass, not testing Windows 2000"
4001N/A exit 0
2500N/Afi
2500N/Aif [ "`echo ${osrev} | grep 'Windows'`" != "" ] ; then
2500N/A if [ "`echo ${osrev} | grep '5 00'`" != "" ] ; then
2500N/A echo "Treating as a pass, not testing Windows 2000"
2500N/A exit 0
2500N/A fi
2500N/Afi
2500N/A
0N/A. ${TESTSRC}/CommonSetup.sh
0N/A. ${TESTSRC}/ApplicationSetup.sh
0N/A. ${TESTSRC}/AgentSetup.sh
0N/A
0N/AstartApplication -Dattach.test=true
0N/A# pid = process-id, port = shutdown port
4001N/A
0N/Afailures=0
0N/A
0N/Aecho "Running tests ..."
0N/A
2078N/A$JAVA -classpath "${TESTCLASSES}${PS}${TESTJAVA}/lib/tools.jar" \
0N/A BasicTests $pid $agent $badagent $redefineagent 2>&1
0N/Aif [ $? != 0 ]; then failures=`expr $failures + 1`; fi
0N/A
0N/AstopApplication $port
0N/A
4001N/A# Add these info messages to $OUTPUTFILE just in case someone
4001N/A# looks at it and wonders about the failures. We have to do
4001N/A# this after the application is stopped because it is writing
4001N/A# to $OUTPUTFILE.
4001N/A(
4001N/Aecho ""
4001N/Aecho "INFO: Test 2 will cause error messages about SilverBullet.jar" \
4001N/A "and an agent failing to start."
4001N/Aecho "INFO: Test 3 will cause error messages about BadAgent" \
4001N/A "including a RuntimeException and an InvocationTargetException."
4001N/A) >> ${OUTPUTFILE}
4001N/A
0N/Aif [ $failures = 0 ];
0N/A then echo "All tests passed.";
0N/A else echo "$failures test(s) failed:"; cat ${OUTPUTFILE};
0N/Afi
0N/Aexit $failures