diff --git a/jdk/test/com/sun/jdi/PrivateTransportTest.sh b/jdk/test/com/sun/jdi/PrivateTransportTest.sh index 7f4b0029f26..1885b6d3d4b 100644 --- a/jdk/test/com/sun/jdi/PrivateTransportTest.sh +++ b/jdk/test/com/sun/jdi/PrivateTransportTest.sh @@ -82,12 +82,7 @@ fi echo "JDK under test is: $TESTJAVA" # Get flags being sent to debuggee -DEBUGGEEFLAGS= -if [ -r $TESTCLASSES/@debuggeeVMOptions ] ; then - DEBUGGEEFLAGS=`cat $TESTCLASSES/@debuggeeVMOptions` -elif [ -r $TESTCLASSES/../@debuggeeVMOptions ] ; then - DEBUGGEEFLAGS=`cat $TESTCLASSES/../@debuggeeVMOptions` -fi +DEBUGGEEFLAGS=$TESTVMOPTS $TESTJAVAOPTS # Figure out what the libarch path is os=`uname -s` diff --git a/jdk/test/com/sun/jdi/ShellScaffold.sh b/jdk/test/com/sun/jdi/ShellScaffold.sh index b3ca2f96656..4a537e9a305 100644 --- a/jdk/test/com/sun/jdi/ShellScaffold.sh +++ b/jdk/test/com/sun/jdi/ShellScaffold.sh @@ -836,15 +836,10 @@ startJdb() startDebuggee() { - args= - # Note that @debuggeeVMOptions is unique to a test run instead of - # a test in a run. It is not modified during a test run. - if [ -r $TESTCLASSES/../@debuggeeVMOptions ] ; then - args=`cat $TESTCLASSES/../@debuggeeVMOptions` - fi + args=$TESTVMOPTS $TESTJAVAOPTS if [ ! -z "$args" ] ; then - echo "--Starting debuggee with args from @debuggeeVMOptions: $args" + echo "--Starting debuggee with args from TESTVMOPTS and/or TESTJAVAOPTS: $args" else echo "--Starting debuggee" fi diff --git a/jdk/test/com/sun/jdi/SuspendNoFlagTest.java b/jdk/test/com/sun/jdi/SuspendNoFlagTest.java new file mode 100644 index 00000000000..b95e35644d3 --- /dev/null +++ b/jdk/test/com/sun/jdi/SuspendNoFlagTest.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2003, 2014, 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. + * + * 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. + */ + +import jdk.testlibrary.OutputAnalyzer; +import jdk.testlibrary.ProcessTools; + +/* @test + * @bug 4914611 + * @summary Test for JDWP: -agentlib:jdwp=suspend=n hanging + * @library /lib/testlibrary + * @build jdk.testlibrary.* + * @compile -g HelloWorld.java + * @run driver SuspendNoFlagTest + */ +public class SuspendNoFlagTest { + + private static final String TEST_CLASSES = System.getProperty( + "test.classes", "."); + + public static void main(String[] args) throws Throwable { + OutputAnalyzer output = ProcessTools.executeTestJvm("-classpath", + TEST_CLASSES, + "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n", + "HelloWorld"); + output.shouldHaveExitValue(0); + } + +} diff --git a/jdk/test/com/sun/jdi/SuspendNoFlagTest.sh b/jdk/test/com/sun/jdi/SuspendNoFlagTest.sh deleted file mode 100644 index dd4a24e4d76..00000000000 --- a/jdk/test/com/sun/jdi/SuspendNoFlagTest.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/ksh -p - -# -# Copyright (c) 2003, 2006, 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. -# -# 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 SuspendNoFlagTest.sh -# @bug 4914611 -# @summary Test for JDWP: -agentlib:jdwp=suspend=n hanging -# @author Kelly O'Hair -# Based on test/java/awt/TEMPLATE/AutomaticShellTest.sh -# -# @run compile -g HelloWorld.java -# @run shell/timeout=60 SuspendNoFlagTest.sh -# - -# Beginning of subroutines: -status=1 - -#Call this from anywhere to fail the test with an error message -# usage: fail "reason why the test failed" -fail() - { echo "The test failed :-(" - echo "$*" 1>&2 - echo "exit status was $status" - exit $status - } #end of fail() - -#Call this from anywhere to pass the test with a message -# usage: pass "reason why the test passed if applicable" -pass() - { echo "The test passed!!!" - echo "$*" 1>&2 - exit 0 - } #end of pass() - -# end of subroutines - -# The beginning of the script proper - -TARGETCLASS="HelloWorld" -if [ -z "${TESTJAVA}" ] ; then - # TESTJAVA is not set, so the test is running stand-alone. - # TESTJAVA holds the path to the root directory of the build of the JDK - # to be tested. That is, any java files run explicitly in this shell - # should use TESTJAVA in the path to the java interpreter. - # So, we'll set this to the JDK spec'd on the command line. If none - # is given on the command line, tell the user that and use a default. - # THIS IS THE JDK BEING TESTED. - if [ -n "$1" ] ; then - TESTJAVA=$1 - else - TESTJAVA=$JAVA_HOME - fi - TESTSRC=. - TESTCLASSES=. - #Deal with .class files: - ${TESTJAVA}/bin/javac -d ${TESTCLASSES} \ - -classpath "${TESTCLASSES}" -g \ - ${TARGETCLASS}.java -fi -# -echo "JDK under test is: $TESTJAVA" -# -CP="-classpath \"${TESTCLASSES}\"" -# -DEBUGEEFLAGS= -if [ -r $TESTCLASSES/@debuggeeVMOptions ] ; then - DEBUGEEFLAGS=`cat $TESTCLASSES/@debuggeeVMOptions` -elif [ -r $TESTCLASSES/../@debuggeeVMOptions ] ; then - DEBUGEEFLAGS=`cat $TESTCLASSES/../@debuggeeVMOptions` -fi -DEBUGEEFLAGS="$DEBUGEEFLAGS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n" - -java=java -echo ${TESTJAVA}/bin/$java ${DEBUGEEFLAGS} ${CP} ${TARGETCLASS} -eval ${TESTJAVA}/bin/$java ${DEBUGEEFLAGS} ${CP} ${TARGETCLASS} -status=$? -echo "test status was: $status" -if [ $status -eq "0" ] ; - then pass "status = 0 and no timeout occured" - - else fail "unspecified test failure (timed out or hung)" -fi diff --git a/jdk/test/com/sun/jdi/VMConnection.java b/jdk/test/com/sun/jdi/VMConnection.java index e0d72758661..b62f833f1dd 100644 --- a/jdk/test/com/sun/jdi/VMConnection.java +++ b/jdk/test/com/sun/jdi/VMConnection.java @@ -44,8 +44,7 @@ class VMConnection { /** * Return a String containing VM Options to pass to the debugee * or an empty string if there are none. - * These are read from the first non-comment line - * in file @debuggeeVMOptions in the test.classes dir + * These are read from TESTVMOPTS and/or TESTJAVAOPTS. */ static public String getDebuggeeVMOptions() { String retVal = "";