1 #!/bin/ksh
   2 
   3 #
   4 # Copyright (c) 2003, 2012, 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 # This script is used to run consistency check of Serviceabilty Agent
  28 # after making any libproc.so changes. Prints "PASSED" or "FAILED" in
  29 # standard output.
  30 
  31 usage() {
  32     echo "usage: $0"
  33     echo "   set SA_JAVA to be the java executable from JDK 1.5"
  34     exit 1   
  35 }
  36 
  37 if [ "$1" == "-help" ]; then
  38     usage
  39 fi
  40 
  41 if [ "x$SA_JAVA" = "x" ]; then
  42    SA_JAVA=java
  43 fi
  44 
  45 STARTDIR=`dirname $0`
  46 
  47 # create java process with test case
  48 tmp=/tmp/libproctest
  49 rm -f $tmp
  50 $SA_JAVA -d64 -classpath $STARTDIR LibprocTest > $tmp &
  51 pid=$!
  52 while [ ! -s $tmp ] ; do
  53   # Kludge alert!
  54   sleep 2
  55 done
  56 
  57 # dump core
  58 gcore $pid
  59 kill -9 $pid
  60 
  61 # run libproc client
  62 $SA_JAVA -d64 -showversion -cp $STARTDIR/../../build/classes::$STARTDIR/../sa.jar:$STARTDIR LibprocClient x core.$pid
  63 
  64 # delete core
  65 rm -f core.$pid