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
31usage() {
32    echo "usage: $0"
33    echo "   set SA_JAVA to be java executable from JDK 1.5"
34    exit 1 
35}
36
37STARTDIR=`dirname $0`
38
39if [ "$1" == "-help" ]; then
40    usage
41fi
42
43if [ "x$SA_JAVA" = "x" ]; then
44   SA_JAVA=java
45fi
46
47# create java process with test case
48tmp=/tmp/libproctest
49rm -f $tmp
50$SA_JAVA -classpath $STARTDIR LibprocTest > $tmp &
51pid=$!
52while [ ! -s $tmp ] ; do
53  # Kludge alert!
54  sleep 2
55done
56
57# dump core
58gcore $pid
59kill -9 $pid
60
61
62OPTIONS="-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
68rm -f core.$pid
69