hotspot/agent/test/jdi/sasanity.sh
changeset 1 489c9b5090e2
child 5547 f4b087cbb361
equal deleted inserted replaced
0:fd16c54261b3 1:489c9b5090e2
       
     1 #!/bin/ksh
       
     2 #
       
     3 # Copyright 2003 Sun Microsystems, Inc.  All Rights Reserved.
       
     4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     5 #
       
     6 # This code is free software; you can redistribute it and/or modify it
       
     7 # under the terms of the GNU General Public License version 2 only, as
       
     8 # published by the Free Software Foundation.
       
     9 #
       
    10 # This code is distributed in the hope that it will be useful, but WITHOUT
       
    11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    12 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    13 # version 2 for more details (a copy is included in the LICENSE file that
       
    14 # accompanied this code).
       
    15 #
       
    16 # You should have received a copy of the GNU General Public License version
       
    17 # 2 along with this work; if not, write to the Free Software Foundation,
       
    18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    19 #
       
    20 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
       
    21 # CA 95054 USA or visit www.sun.com if you need additional information or
       
    22 # have any questions.
       
    23 #  
       
    24 #
       
    25 
       
    26 # This script is used to run sanity check on vmStructs.
       
    27 # Each SA class is checked against a given VM. "PASSED" is 
       
    28 # printed if vmStructs are consistent. Else, "FAILED" is
       
    29 # printed and an exception stack trace follows.
       
    30 
       
    31 usage() {
       
    32     echo "usage: ./sasanity.sh <jdk>"
       
    33     echo "<jdk> is the 1.5 j2se directory against which you want to run sanity check"
       
    34     exit 1   
       
    35 }
       
    36 
       
    37 if [ "$1" == "" ]; then
       
    38     usage
       
    39 fi
       
    40 
       
    41 if [ "$1" == "-help" ]; then
       
    42     usage
       
    43 fi
       
    44 
       
    45 jdk=$1
       
    46 OS=`uname`
       
    47 
       
    48 if [ "$OS" != "Linux" ]; then
       
    49    OPTIONS="-Dsun.jvm.hotspot.debugger.useProcDebugger"
       
    50 fi
       
    51 
       
    52 javacp=$jdk/lib/sa-jdi.jar:./workdir
       
    53 
       
    54 mkdir -p workdir
       
    55 if [ SASanityChecker.java -nt ./workdir/SASanityChecker.class ] ; then
       
    56     $jdk/bin/javac -d ./workdir -classpath $javacp SASanityChecker.java
       
    57     if [ $? != 0 ] ; then
       
    58         exit 1
       
    59     fi
       
    60 fi
       
    61 
       
    62 if [ sagtarg.java -nt ./workdir/sagtarg.class ]; then
       
    63     $jdk/bin/javac -g  -classpath -d $workdir sagtarg.java
       
    64     if [ $? != 0 ] ; then
       
    65         exit 1
       
    66     fi
       
    67 fi
       
    68 
       
    69 tmp=/tmp/sagsetup
       
    70 rm -f $tmp
       
    71 $jdk/bin/java sagtarg > $tmp &
       
    72 pid=$!
       
    73 while [ ! -s $tmp ] ; do
       
    74   # Kludge alert!
       
    75   sleep 2
       
    76 done
       
    77 
       
    78 $jdk/bin/java -showversion ${OPTIONS} -classpath $javacp SASanityChecker $pid
       
    79 kill -9 $pid