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