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 java executable from JDK 1.5"
  34     exit 1 
  35 }
  36 
  37 STARTDIR=`dirname $0`
  38 
  39 if [ "$1" == "-help" ]; then
  40     usage
  41 fi
  42 
  43 if [ "x$SA_JAVA" = "x" ]; then
  44    SA_JAVA=java
  45 fi
  46 
  47 # create java process with test case
  48 tmp=/tmp/libproctest
  49 rm -f $tmp
  50 $SA_JAVA -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 
  62 OPTIONS="-Djava.library.path=$STARTDIR/../src/os/solaris/proc/`uname -p`:$STARTDIR/../solaris/`uname -p`"
  63 
  64 # run libproc client
  65 $SA_JAVA -showversion ${OPTIONS} -cp $STARTDIR/../../build/classes::$STARTDIR/../sa.jar:$STARTDIR LibprocClient x core.$pid
  66 
  67 # delete core
  68 rm -f core.$pid