agent/test/jdi/sasanity.sh

Sat, 01 Dec 2007 00:00:00 +0000

author
duke
date
Sat, 01 Dec 2007 00:00:00 +0000
changeset 435
a61af66fc99e
child 1907
c18cbe5936b8
permissions
-rw-r--r--

Initial load

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

mercurial