Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/test/sun/tools/jmap/Basic.sh
38838 views
1
#!/bin/sh
2
3
#
4
# Copyright (c) 2005, 2011, 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
# @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 and use PORTFILE for coordination
39
PORTFILE="${TESTCLASSES}"/shutdown.port
40
startApplication SimpleApplication "${PORTFILE}"
41
42
# all return statuses are checked in this test
43
set +e
44
45
failed=0
46
47
# -histo[:live] option
48
${JMAP} -J-XX:+UsePerfData -histo $appJavaPid
49
if [ $? != 0 ]; then failed=1; fi
50
51
${JMAP} -J-XX:+UsePerfData -histo:live $appJavaPid
52
if [ $? != 0 ]; then failed=1; fi
53
54
# -dump option
55
DUMPFILE="java_pid${appJavaPid}.hprof"
56
${JMAP} -J-XX:+UsePerfData -dump:format=b,file=${DUMPFILE} $appJavaPid
57
if [ $? != 0 ]; then failed=1; fi
58
59
# check that heap dump is parsable
60
${JHAT} -parseonly true ${DUMPFILE}
61
if [ $? != 0 ]; then failed=1; fi
62
63
# dump file is large so remove it
64
rm ${DUMPFILE}
65
66
# -dump:live option
67
${JMAP} -J-XX:+UsePerfData -dump:live,format=b,file=${DUMPFILE} $appJavaPid
68
if [ $? != 0 ]; then failed=1; fi
69
70
# check that heap dump is parsable
71
${JHAT} -parseonly true ${DUMPFILE}
72
if [ $? != 0 ]; then failed=1; fi
73
74
# dump file is large so remove it
75
rm -f ${DUMPFILE}
76
77
set -e
78
79
stopApplication "${PORTFILE}"
80
waitForApplication
81
82
exit $failed
83
84