test/sun/tools/jmap/Basic.sh
Print this page
@@ -1,9 +1,9 @@
#!/bin/sh
#
-# Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
@@ -33,28 +33,29 @@
# @run shell Basic.sh
. ${TESTSRC}/../common/CommonSetup.sh
. ${TESTSRC}/../common/ApplicationSetup.sh
-# Start application (send output to shutdown.port)
+# Start application and use PORTFILE for coordination
PORTFILE="${TESTCLASSES}"/shutdown.port
-startApplication \
- -classpath "${TESTCLASSES}" SimpleApplication "${PORTFILE}"
+startApplication SimpleApplication "${PORTFILE}"
+# all return statuses are checked in this test
+set +e
+
failed=0
# -histo[:live] option
-${JMAP} -histo $pid
+${JMAP} -histo $appJavaPid
if [ $? != 0 ]; then failed=1; fi
-${JMAP} -histo:live $pid
+${JMAP} -histo:live $appJavaPid
if [ $? != 0 ]; then failed=1; fi
# -dump option
-p=`expr $pid`
-DUMPFILE="java_pid${p}.hprof"
-${JMAP} -dump:format=b,file=${DUMPFILE} $pid
+DUMPFILE="java_pid${appJavaPid}.hprof"
+${JMAP} -dump:format=b,file=${DUMPFILE} $appJavaPid
if [ $? != 0 ]; then failed=1; fi
# check that heap dump is parsable
${JHAT} -parseonly true ${DUMPFILE}
if [ $? != 0 ]; then failed=1; fi
@@ -61,19 +62,21 @@
# dump file is large so remove it
rm ${DUMPFILE}
# -dump:live option
-${JMAP} -dump:live,format=b,file=${DUMPFILE} $pid
+${JMAP} -dump:live,format=b,file=${DUMPFILE} $appJavaPid
if [ $? != 0 ]; then failed=1; fi
# check that heap dump is parsable
${JHAT} -parseonly true ${DUMPFILE}
if [ $? != 0 ]; then failed=1; fi
# dump file is large so remove it
-rm ${DUMPFILE}
+rm -f ${DUMPFILE}
-stopApplication ShutdownSimpleApplication "${PORTFILE}"
+set -e
-exit $failed
+stopApplication "${PORTFILE}"
+waitForApplication
+exit $failed