blob: 4f05edff2d0c7585d01e48ad3ba8d2b0e2eb96f2 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001#!/bin/sh
2
3#
4# Copyright 2005-2006 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22# CA 95054 USA or visit www.sun.com if you need additional information or
23# have any questions.
24#
25
26
27# @test
28# @bug 6321286
29# @summary Unit test for jmap utility
30#
31# @library ../common
32# @build SimpleApplication ShutdownSimpleApplication
33# @run shell Basic.sh
34
35. ${TESTSRC}/../common/CommonSetup.sh
36. ${TESTSRC}/../common/ApplicationSetup.sh
37
38# Start application (send output to shutdown.port)
39PORTFILE="${TESTCLASSES}"/shutdown.port
40startApplication \
41 -classpath "${TESTCLASSES}" SimpleApplication "${PORTFILE}"
42
43failed=0
44
45# -histo[:live] option
46${JMAP} -histo $pid
47if [ $? != 0 ]; then failed=1; fi
48
49${JMAP} -histo:live $pid
50if [ $? != 0 ]; then failed=1; fi
51
52# -dump option
53p=`expr $pid`
54DUMPFILE="java_pid${p}.hprof"
55${JMAP} -dump:format=b,file=${DUMPFILE} $pid
56if [ $? != 0 ]; then failed=1; fi
57
58# check that heap dump is parsable
59${JHAT} -parseonly true ${DUMPFILE}
60if [ $? != 0 ]; then failed=1; fi
61
62# dump file is large so remove it
63rm ${DUMPFILE}
64
65# -dump:live option
66${JMAP} -dump:live,format=b,file=${DUMPFILE} $pid
67if [ $? != 0 ]; then failed=1; fi
68
69# check that heap dump is parsable
70${JHAT} -parseonly true ${DUMPFILE}
71if [ $? != 0 ]; then failed=1; fi
72
73# dump file is large so remove it
74rm ${DUMPFILE}
75
76stopApplication ShutdownSimpleApplication "${PORTFILE}"
77
78exit $failed
79