jdk/test/com/sun/tools/attach/BasicTests.sh
changeset 22863 6a578e0f65ea
parent 22862 495f1688b8b1
parent 22027 13b877757b0b
child 22864 f476f1ae4bd3
equal deleted inserted replaced
22862:495f1688b8b1 22863:6a578e0f65ea
     1 #!/bin/sh
       
     2 
       
     3 #
       
     4 # Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
       
     5 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     6 #
       
     7 # This code is free software; you can redistribute it and/or modify it
       
     8 # under the terms of the GNU General Public License version 2 only, as
       
     9 # published by the Free Software Foundation.
       
    10 #
       
    11 # This code is distributed in the hope that it will be useful, but WITHOUT
       
    12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    14 # version 2 for more details (a copy is included in the LICENSE file that
       
    15 # accompanied this code).
       
    16 #
       
    17 # You should have received a copy of the GNU General Public License version
       
    18 # 2 along with this work; if not, write to the Free Software Foundation,
       
    19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    20 #
       
    21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    22 # or visit www.oracle.com if you need additional information or have any
       
    23 # questions.
       
    24 #
       
    25 
       
    26 
       
    27 # @test
       
    28 # @bug 6173612 6273707 6277253 6335921 6348630 6342019 6381757
       
    29 # @summary Basic unit tests for the VM attach mechanism.
       
    30 #
       
    31 # @build BasicTests
       
    32 # @run shell BasicTests.sh
       
    33 
       
    34 if [ "${TESTSRC}" = "" ]
       
    35 then
       
    36   echo "TESTSRC not set.  Test cannot execute.  Failed."
       
    37   exit 1
       
    38 fi
       
    39 
       
    40 # Windows 2000 is a problem here, so we skip it, see 6962615
       
    41 osrev=`uname -a`
       
    42 if [ "`echo ${osrev} | grep 'CYGWIN[^ ]*-5\.0'`" != "" ] ; then
       
    43   echo "Treating as a pass, not testing Windows 2000"
       
    44   exit 0
       
    45 fi
       
    46 if [ "`echo ${osrev} | grep 'Windows'`" != "" ] ; then
       
    47   if [ "`echo ${osrev} | grep '5 00'`" != "" ] ; then
       
    48      echo "Treating as a pass, not testing Windows 2000"
       
    49      exit 0
       
    50   fi
       
    51 fi
       
    52 
       
    53 . ${TESTSRC}/CommonSetup.sh
       
    54 . ${TESTSRC}/ApplicationSetup.sh
       
    55 . ${TESTSRC}/AgentSetup.sh
       
    56 
       
    57 startApplication -Dattach.test=true
       
    58 # pid = process-id, port = shutdown port
       
    59 
       
    60 failures=0
       
    61 
       
    62 echo "Running tests ..."
       
    63 
       
    64 $JAVA ${TESTVMOPTS} -classpath "${TESTCLASSES}${PS}${TESTJAVA}/lib/tools.jar" \
       
    65   BasicTests $pid $agent $badagent $redefineagent 2>&1
       
    66 if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
       
    67 
       
    68 stopApplication $port
       
    69 
       
    70 # Add these info messages to $OUTPUTFILE just in case someone
       
    71 # looks at it and wonders about the failures. We have to do
       
    72 # this after the application is stopped because it is writing
       
    73 # to $OUTPUTFILE.
       
    74 (
       
    75 echo ""
       
    76 echo "INFO: Test 2 will cause error messages about SilverBullet.jar" \
       
    77     "and an agent failing to start."
       
    78 echo "INFO: Test 3 will cause error messages about BadAgent" \
       
    79     "including a RuntimeException and an InvocationTargetException."
       
    80 ) >> ${OUTPUTFILE}
       
    81 
       
    82 if [ $failures = 0 ]; 
       
    83   then echo "All tests passed.";
       
    84   else echo "$failures test(s) failed:"; cat ${OUTPUTFILE};
       
    85 fi
       
    86 exit $failures