author | iignatyev |
Tue, 15 May 2018 11:28:29 -0700 | |
changeset 50112 | 7a2a740815b7 |
permissions | -rw-r--r-- |
50112
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
1 |
#!/bin/bash |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
2 |
# Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
3 |
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
4 |
# |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
5 |
# This code is free software; you can redistribute it and/or modify it |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
6 |
# under the terms of the GNU General Public License version 2 only, as |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
7 |
# published by the Free Software Foundation. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
8 |
# |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
9 |
# This code is distributed in the hope that it will be useful, but WITHOUT |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
10 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
11 |
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
12 |
# version 2 for more details (a copy is included in the LICENSE file that |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
13 |
# accompanied this code). |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
14 |
# |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
15 |
# You should have received a copy of the GNU General Public License version |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
16 |
# 2 along with this work; if not, write to the Free Software Foundation, |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
17 |
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
18 |
# |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
19 |
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
20 |
# or visit www.oracle.com if you need additional information or have any |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
21 |
# questions. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
22 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
23 |
# This script contains useful functions for testing heapdump |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
24 |
# feature of VM. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
25 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
26 |
: ${JAVA:="$TESTJAVA/bin/java"} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
27 |
: ${JAVA_OPTS:="$TESTJAVAOPTS $TESTVMOPTS -cp $TESTCLASSPATH"} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
28 |
: ${CP:="$TESTCLASSPATH"} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
29 |
: ${TEST_CLEANUP:="false"} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
30 |
: ${JMAP:="$TESTJAVA/bin/jmap"} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
31 |
: ${JHSDB:="$TESTJAVA/bin/jhsdb"} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
32 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
33 |
export PATH=$PATH:$TESTNATIVEPATH |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
34 |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TESTNATIVEPATH |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
35 |
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$TESTNATIVEPATH |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
36 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
37 |
if [ -z "${JAVA}" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
38 |
echo JAVA variable is not set. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
39 |
exit 1 |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
40 |
fi |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
41 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
42 |
if [ -n "${testWorkDir}" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
43 |
cd ${testWorkDir} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
44 |
fi |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
45 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
46 |
if [ -z "${DUMPBASE}" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
47 |
DUMPBASE=. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
48 |
fi |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
49 |
if [ -z "$DEBUGGER_JAVA_OPTS" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
50 |
DEBUGGER_JAVA_OPTS="$JAVA_OPTS" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
51 |
fi |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
52 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
53 |
CORE_SUPPORTED=1 |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
54 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
55 |
for opt in $DEBUGGER_JAVA_OPTS; do |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
56 |
case $opt in |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
57 |
-D*) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
58 |
JMAP="$JMAP -J$opt" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
59 |
;; |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
60 |
esac |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
61 |
done |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
62 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
63 |
export CORE_SUPPORTED |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
64 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
65 |
# Verify heap dump |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
66 |
# This function starts HprofParser and looks for message "Server is ready." |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
67 |
# in output, in which case heap dump is verified. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
68 |
verify_heapdump() { |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
69 |
filename=$1 |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
70 |
shift |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
71 |
echo Verifying ${filename} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
72 |
echo ${JAVA} -cp $CP jdk.test.lib.hprof.HprofParser ${filename} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
73 |
${JAVA} -cp $CP jdk.test.lib.hprof.HprofParser ${filename} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
74 |
} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
75 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
76 |
cleanup() { |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
77 |
result="$1" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
78 |
if [ -n "$DUMPFILE" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
79 |
if [ "$TEST_CLEANUP" != "false" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
80 |
rm -f "$DUMPFILE" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
81 |
else |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
82 |
gzip "$DUMPFILE" || true |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
83 |
fi |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
84 |
fi |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
85 |
} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
86 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
87 |
fail() { |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
88 |
message="$1" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
89 |
res=1 |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
90 |
echo "$message" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
91 |
echo "TEST FAILED" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
92 |
cleanup $res |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
93 |
exit 1 |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
94 |
} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
95 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
96 |
pass() { |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
97 |
message="$1" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
98 |
if [ -n "$message" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
99 |
echo "$message" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
100 |
fi |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
101 |
echo "TEST PASSED" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
102 |
cleanup 0 |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
103 |
exit 0 |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
104 |
} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
105 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
106 |
# Parse VM options that have size argument and return it's value in bytes. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
107 |
# Function applicable to -Xmn, -Xms, -Xms and all possible -XX: options. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
108 |
parse_heap_size() { |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
109 |
OPTION=$1 |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
110 |
SIZE=0 |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
111 |
MULTIPLIER=0 |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
112 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
113 |
# On Solaris sed don't support '+' quantificator, so <smth><smth>* is used. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
114 |
# There is no support for '?' too, so <smth>* is used instead. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
115 |
# Generally speaking, there sed on Solaris support only basic REs. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
116 |
case "$OPTION" in |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
117 |
-Xm*) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
118 |
SIZE=`echo $OPTION | sed -e 's#-Xm[xns]\([0-9][0-9]*\).*#\1#'` |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
119 |
MULTIPLIER=`echo $OPTION | sed -e 's#-Xm[xns][0-9][0-9]*\([kKmMgG]*\)#\1#'` |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
120 |
;; |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
121 |
-XX*) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
122 |
SIZE=`echo $OPTION | sed -e 's#[^=][^=]*=\([0-9][0-9]*\).*#\1#'` |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
123 |
MULTIPLIER=`echo $OPTION | sed -e 's#[^=][^=]*=[0-9][0-9]*\([kKmMgG]*\)#\1#'` |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
124 |
;; |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
125 |
esac |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
126 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
127 |
case "$MULTIPLIER" in |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
128 |
k|K) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
129 |
SIZE=$(( SIZE * 1024 )) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
130 |
;; |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
131 |
m|M) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
132 |
SIZE=$(( SIZE * 1024 * 1024 )) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
133 |
;; |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
134 |
g|G) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
135 |
SIZE=$(( SIZE * 1024 * 1024 * 1024 )) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
136 |
;; |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
137 |
esac |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
138 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
139 |
echo $SIZE |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
140 |
} |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
141 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
142 |
# Derivate max heap size from passed option list. |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
143 |
get_max_heap_size() { |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
144 |
MaxHeapSize= |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
145 |
InitialHeapSize= |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
146 |
MaxNewSize= |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
147 |
NewSize= |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
148 |
OldSize= |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
149 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
150 |
for OPTION in "$@"; do |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
151 |
case "$OPTION" in |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
152 |
-Xmx*|-XX:MaxHeapSize=*) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
153 |
MaxHeapSize=`parse_heap_size $OPTION` |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
154 |
;; |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
155 |
-Xms*|-XX:InitialHeapSize=*) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
156 |
InitialHeapSize=`parse_heap_size $OPTION` |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
157 |
;; |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
158 |
-Xmn*|-XX:MaxNewSize=*) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
159 |
MaxNewSize=`parse_heap_size $OPTION` |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
160 |
;; |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
161 |
-XX:NewSize=*) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
162 |
NewSize=`parse_heap_size $OPTION` |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
163 |
;; |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
164 |
-XX:OldSize=*) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
165 |
OldSize=`parse_heap_size $OPTION` |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
166 |
;; |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
167 |
esac |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
168 |
done |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
169 |
|
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
170 |
if [ -n "$MaxHeapSize" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
171 |
echo "$MaxHeapSize" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
172 |
elif [ -n "$InitialHeapSize" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
173 |
echo "$InitialHeapSize" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
174 |
elif [ -n "$MaxNewSize" -a -n "$OldSize" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
175 |
echo $(( MaxHeapSize + OldSize )) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
176 |
elif [ -n "$NewSize" -a -n "$OldSize" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
177 |
echo $(( 2 * NewSize + OldSize )) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
178 |
elif [ -n "$OldSize" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
179 |
echo $(( 2 * OldSize )) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
180 |
elif [ -n "$MaxNewSize" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
181 |
echo $(( 2 * MaxNewSize )) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
182 |
elif [ -n "$NewSize" ]; then |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
183 |
echo $(( 3 * NewSize )) |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
184 |
else |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
185 |
echo "128M" |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
186 |
fi |
7a2a740815b7
8202392: [TESTBUG] open source vm testbase heapdump tests
iignatyev
parents:
diff
changeset
|
187 |
} |