mirror of
https://github.com/openjdk/jdk8u.git
synced 2025-12-13 20:22:58 -06:00
8254683: [TEST_BUG] jdk/test/sun/tools/jconsole/WorkerDeadlockTest.java fails
Reviewed-by: sgehwolf
This commit is contained in:
parent
b4144cbdfb
commit
54bd6ea45d
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2004, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2004, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -26,87 +26,4 @@
|
|||||||
# @summary jtreg test ResourceCheckTest.java must be
|
# @summary jtreg test ResourceCheckTest.java must be
|
||||||
# able to find jconsole.jar
|
# able to find jconsole.jar
|
||||||
#
|
#
|
||||||
# @run shell ResourceCheckTest.sh
|
# @run shell common.sh ResourceCheckTest
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
OS=`uname -s`
|
|
||||||
case "$OS" in
|
|
||||||
SunOS | Linux | Darwin | AIX)
|
|
||||||
PATHSEP=":"
|
|
||||||
;;
|
|
||||||
|
|
||||||
Windows* | CYGWIN*)
|
|
||||||
PATHSEP=";"
|
|
||||||
;;
|
|
||||||
|
|
||||||
# catch all other OSs
|
|
||||||
* )
|
|
||||||
echo "Unrecognized system! $OS"
|
|
||||||
fail "Unrecognized system! $OS"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
TARGETCLASS="ResourceCheckTest"
|
|
||||||
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:
|
|
||||||
fi
|
|
||||||
#
|
|
||||||
echo "JDK under test is: $TESTJAVA"
|
|
||||||
#
|
|
||||||
CP="-classpath ${TESTCLASSES}${PATHSEP}${TESTJAVA}/lib/jconsole.jar"
|
|
||||||
# Compile the test class using the classpath we need:
|
|
||||||
#
|
|
||||||
env
|
|
||||||
#
|
|
||||||
set -vx
|
|
||||||
#
|
|
||||||
#Compile. jconsole.jar is required on the classpath.
|
|
||||||
${TESTJAVA}/bin/javac -d "${TESTCLASSES}" ${CP} -g \
|
|
||||||
"${TESTSRC}"/"${TARGETCLASS}".java
|
|
||||||
#
|
|
||||||
#Run the test class, again with the classpath we need:
|
|
||||||
${TESTJAVA}/bin/java ${CP} ${TARGETCLASS}
|
|
||||||
status=$?
|
|
||||||
echo "test status was: $status"
|
|
||||||
if [ $status -eq "0" ];
|
|
||||||
then pass ""
|
|
||||||
|
|
||||||
else fail "unspecified test failure"
|
|
||||||
fi
|
|
||||||
|
|||||||
@ -22,12 +22,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @test
|
* This isn't the test case: WorkerDeadlockTest.sh is.
|
||||||
|
* Refer to WorkerDeaklockTest.sh when running this test.
|
||||||
|
*
|
||||||
* @bug 8236872
|
* @bug 8236872
|
||||||
* @summary The test tries to catch a deadlock by creating a new worker,
|
* @summary The test tries to catch a deadlock by creating a new worker,
|
||||||
* starting it, adding an empty job and immediately stopping it.
|
* starting it, adding an empty job and immediately stopping it.
|
||||||
* @modules jdk.jconsole/sun.tools.jconsole
|
|
||||||
* @run main WorkerDeadlockTest
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import sun.tools.jconsole.Worker;
|
import sun.tools.jconsole.Worker;
|
||||||
|
|||||||
29
jdk/test/sun/tools/jconsole/WorkerDeadlockTest.sh
Normal file
29
jdk/test/sun/tools/jconsole/WorkerDeadlockTest.sh
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2020, Huawei Technologies Co. Ltd. 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 8254683
|
||||||
|
# @summary jtreg test WorkerDeadlockTest.java must be
|
||||||
|
# able to find jconsole.jar
|
||||||
|
#
|
||||||
|
# @run shell common.sh WorkerDeadlockTest
|
||||||
105
jdk/test/sun/tools/jconsole/common.sh
Normal file
105
jdk/test/sun/tools/jconsole/common.sh
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
#
|
||||||
|
# Copyright (c) 2004, 2020, 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
OS=`uname -s`
|
||||||
|
case "$OS" in
|
||||||
|
SunOS | Linux | Darwin | AIX)
|
||||||
|
PATHSEP=":"
|
||||||
|
;;
|
||||||
|
|
||||||
|
Windows* | CYGWIN*)
|
||||||
|
PATHSEP=";"
|
||||||
|
;;
|
||||||
|
|
||||||
|
# catch all other OSs
|
||||||
|
* )
|
||||||
|
echo "Unrecognized system! $OS"
|
||||||
|
fail "Unrecognized system! $OS"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
TARGETCLASS=$1
|
||||||
|
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:
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
echo "JDK under test is: $TESTJAVA"
|
||||||
|
#
|
||||||
|
CP="-classpath ${TESTCLASSES}${PATHSEP}${TESTJAVA}/lib/jconsole.jar"
|
||||||
|
# Compile the test class using the classpath we need:
|
||||||
|
#
|
||||||
|
env
|
||||||
|
#
|
||||||
|
set -vx
|
||||||
|
#
|
||||||
|
#Compile. jconsole.jar is required on the classpath.
|
||||||
|
${TESTJAVA}/bin/javac -d "${TESTCLASSES}" ${CP} -g \
|
||||||
|
"${TESTSRC}"/"${TARGETCLASS}".java
|
||||||
|
#
|
||||||
|
#Run the test class, again with the classpath we need:
|
||||||
|
${TESTJAVA}/bin/java ${CP} ${TARGETCLASS}
|
||||||
|
status=$?
|
||||||
|
echo "test status was: $status"
|
||||||
|
if [ $status -eq "0" ];
|
||||||
|
then pass ""
|
||||||
|
|
||||||
|
else fail "unspecified test failure"
|
||||||
|
fi
|
||||||
Loading…
x
Reference in New Issue
Block a user