changeset 13967:054e78a0d4d6

8059038: Create new launcher for SA tools Summary: Create separate launchers for clhsdb and hsdb since JDK 8 uses separate launchers for SA tools Reviewed-by: kevinw, andrew
author sgehwolf
date Tue, 20 Nov 2018 17:45:54 +0100
parents da66807df40f
children c0c5709fe992
files make/CompileLaunchers.gmk test/sun/tools/clhsdb/Basic.sh test/sun/tools/common/CommonSetup.sh test/sun/tools/hsdb/Basic.sh
diffstat 4 files changed, 143 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/make/CompileLaunchers.gmk	Wed Dec 05 03:51:45 2018 -0500
+++ b/make/CompileLaunchers.gmk	Tue Nov 20 17:45:54 2018 +0100
@@ -336,6 +336,16 @@
     -DAPP_CLASSPATH='{ "/lib/tools.jar"$(COMMA) "/lib/sa-jdi.jar"$(COMMA) "/classes" }' \
     ,,,,,,,,,Info-privileged.plist))
 
+$(eval $(call SetupLauncher,hsdb, \
+    -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.jvm.hotspot.HSDB"$(COMMA) }' \
+    -DAPP_CLASSPATH='{ "/lib/tools.jar"$(COMMA) "/lib/sa-jdi.jar"$(COMMA) "/classes" }' \
+    ,,,,,,,,,Info-privileged.plist))
+
+$(eval $(call SetupLauncher,clhsdb, \
+    -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.jvm.hotspot.CLHSDB"$(COMMA) }' \
+    -DAPP_CLASSPATH='{ "/lib/tools.jar"$(COMMA) "/lib/sa-jdi.jar"$(COMMA) "/classes" }' \
+    ,,,,,,,,,Info-privileged.plist))
+
 $(eval $(call SetupLauncher,jstack, \
     -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) \
         "-J-Dsun.jvm.hotspot.debugger.useProcDebugger"$(COMMA) \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/tools/clhsdb/Basic.sh	Tue Nov 20 17:45:54 2018 +0100
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+#
+# Copyright (c) 2018, Red Hat, Inc. 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.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+
+# @test
+# @bug 8059038
+# @summary Unit test for clhsdb utility
+#
+# @library ../common
+# @build SimpleApplication ShutdownSimpleApplication
+# @run shell Basic.sh
+
+. ${TESTSRC}/../common/CommonSetup.sh
+. ${TESTSRC}/../common/ApplicationSetup.sh
+
+# Start application and use PORTFILE for coordination
+PORTFILE="${TESTCLASSES}"/shutdown.port
+startApplication SimpleApplication "${PORTFILE}"
+
+# all return statuses are checked in this test
+set +e
+
+failed=0
+
+# cli help
+INPUT_QUIT=${TESTCLASSES}/input-quit
+echo quit > ${INPUT_QUIT}
+$CLHSDB -help < ${INPUT_QUIT} > help_out.log 2>&1
+if [ $? != 0 ]; then failed=1; fi
+grep 'Usage:  clhsdb' help_out.log || failed=1
+$CLHSDB "help" < ${INPUT_QUIT} > help_out.log 2>&1
+if [ $? != 0 ]; then failed=1; fi
+grep 'Usage:  clhsdb' help_out.log || failed=1
+
+DUMP_STRUCTS_INPUT_QUIT=${TESTCLASSES}/structs-dump-quit-input
+echo vmstructsdump > ${DUMP_STRUCTS_INPUT_QUIT}
+echo quit >> ${DUMP_STRUCTS_INPUT_QUIT}
+$CLHSDB $appJavaPid < ${DUMP_STRUCTS_INPUT_QUIT} 2>&1
+if [ $? != 0 ]; then failed=1; fi
+
+set -e
+
+stopApplication "${PORTFILE}"
+waitForApplication
+
+exit $failed
--- a/test/sun/tools/common/CommonSetup.sh	Wed Dec 05 03:51:45 2018 -0500
+++ b/test/sun/tools/common/CommonSetup.sh	Tue Nov 20 17:45:54 2018 +0100
@@ -35,6 +35,8 @@
 #   JPS         - jps utility
 #   JSTACK      - jstack utility
 #   JCMD        - jcmd utility
+#   HSDB        - hsdb utility (gui)
+#   CLHSDB      - clhsdb utility (cli)
 #   OS          - operating system name
 #   PATTERN_EOL - grep or sed end-of-line pattern
 #   PATTERN_WS  - grep or sed whitespace pattern
@@ -76,6 +78,8 @@
 JPS="${TESTJAVA}/bin/jps"
 JSTACK="${TESTJAVA}/bin/jstack"
 JCMD="${TESTJAVA}/bin/jcmd"
+HSDB="${TESTJAVA}/bin/hsdb"
+CLHSDB="${TESTJAVA}/bin/clhsdb"
 
 isCygwin=false
 isMKS=false
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/tools/hsdb/Basic.sh	Tue Nov 20 17:45:54 2018 +0100
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+#
+# Copyright (c) 2018, Red Hat, Inc. 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.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+
+# @test
+# @bug 8059038
+# @summary Unit test for hsdb utility
+#
+# @library ../common
+# @build SimpleApplication ShutdownSimpleApplication
+# @run shell Basic.sh
+
+. ${TESTSRC}/../common/CommonSetup.sh
+. ${TESTSRC}/../common/ApplicationSetup.sh
+
+# Start application and use PORTFILE for coordination
+PORTFILE="${TESTCLASSES}"/shutdown.port
+startApplication SimpleApplication "${PORTFILE}"
+
+# all return statuses are checked in this test
+set +e
+
+failed=0
+
+# gui help
+$HSDB -help > help_out.log 2>&1
+if [ $? != 0 ]; then failed=1; fi
+grep 'Usage:  hsdb' help_out.log || failed=1
+
+$HSDB "help" > help_out.log 2>&1
+if [ $? != 0 ]; then failed=1; fi
+grep 'Usage:  hsdb' help_out.log || failed=1
+
+set -e
+
+stopApplication "${PORTFILE}"
+waitForApplication
+
+exit $failed