agent/test/jdi/sasanity.sh

Fri, 18 Mar 2011 16:00:34 -0700

author
never
date
Fri, 18 Mar 2011 16:00:34 -0700
changeset 2658
c7f3d0b4570f
parent 1907
c18cbe5936b8
child 3137
e6b1331a51d2
permissions
-rw-r--r--

7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank

duke@435 1 #!/bin/ksh
duke@435 2 #
trims@1907 3 # Copyright (c) 2003, Oracle and/or its affiliates. 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 #
trims@1907 20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
trims@1907 21 # or visit www.oracle.com if you need additional information or have any
trims@1907 22 # 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
never@2658 46 shift
duke@435 47 OS=`uname`
duke@435 48
duke@435 49 if [ "$OS" != "Linux" ]; then
duke@435 50 OPTIONS="-Dsun.jvm.hotspot.debugger.useProcDebugger"
duke@435 51 fi
duke@435 52
duke@435 53 javacp=$jdk/lib/sa-jdi.jar:./workdir
duke@435 54
duke@435 55 mkdir -p workdir
duke@435 56 if [ SASanityChecker.java -nt ./workdir/SASanityChecker.class ] ; then
duke@435 57 $jdk/bin/javac -d ./workdir -classpath $javacp SASanityChecker.java
duke@435 58 if [ $? != 0 ] ; then
duke@435 59 exit 1
duke@435 60 fi
duke@435 61 fi
duke@435 62
duke@435 63 if [ sagtarg.java -nt ./workdir/sagtarg.class ]; then
duke@435 64 $jdk/bin/javac -g -classpath -d $workdir sagtarg.java
duke@435 65 if [ $? != 0 ] ; then
duke@435 66 exit 1
duke@435 67 fi
duke@435 68 fi
duke@435 69
duke@435 70 tmp=/tmp/sagsetup
duke@435 71 rm -f $tmp
never@2658 72 $jdk/bin/java $* sagtarg > $tmp &
duke@435 73 pid=$!
duke@435 74 while [ ! -s $tmp ] ; do
duke@435 75 # Kludge alert!
duke@435 76 sleep 2
duke@435 77 done
duke@435 78
duke@435 79 $jdk/bin/java -showversion ${OPTIONS} -classpath $javacp SASanityChecker $pid
duke@435 80 kill -9 $pid

mercurial