1 #!/bin/sh
2
3 #
4 # Copyright (c) 2005, 2010, 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 #
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} -histo $appJavaPid
49 if [ $? != 0 ]; then failed=1; fi
50
51 ${JMAP} -histo:live $appJavaPid
52 if [ $? != 0 ]; then failed=1; fi
53
54 # -dump option
55 DUMPFILE="java_pid${appJavaPid}.hprof"
56 ${JMAP} -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} -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
|
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 #
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
|