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