--- a/jdk/make/launcher/Launcher-jdk.hotspot.agent.gmk Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/make/launcher/Launcher-jdk.hotspot.agent.gmk Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,10 @@
$(eval $(call SetupLauncher,jsadebugd, \
-DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.jvm.hotspot.jdi.SADebugServer"$(COMMA) }' \
- -DAPP_CLASSPATH='{ "/lib/tools.jar"$(COMMA) "/lib/sa-jdi.jar"$(COMMA) "/classes" }' \
,,,,,,,,,Info-privileged.plist))
+
+$(eval $(call SetupLauncher,jhsdb, \
+ -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.jvm.hotspot.SALauncher"$(COMMA) }' \
+ ,,,,,,,,,Info-privileged.plist))
+
--- a/jdk/src/java.base/share/native/libverify/check_code.c Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/src/java.base/share/native/libverify/check_code.c Fri Jul 31 10:15:03 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2015, 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
@@ -159,11 +159,12 @@
ITEM_InitObject, /* "this" is init method, before call
to super() */
ITEM_ReturnAddress, /* Extra info gives instr # of start pc */
- /* The following three are only used within array types.
+ /* The following four are only used within array types.
* Normally, we use ITEM_Integer, instead. */
ITEM_Byte,
ITEM_Short,
- ITEM_Char
+ ITEM_Char,
+ ITEM_Boolean
};
@@ -1446,7 +1447,9 @@
full_info = MAKE_FULLINFO(ITEM_Float, 1, 0); break;
case JVM_T_DOUBLE:
full_info = MAKE_FULLINFO(ITEM_Double, 1, 0); break;
- case JVM_T_BYTE: case JVM_T_BOOLEAN:
+ case JVM_T_BOOLEAN:
+ full_info = MAKE_FULLINFO(ITEM_Boolean, 1, 0); break;
+ case JVM_T_BYTE:
full_info = MAKE_FULLINFO(ITEM_Byte, 1, 0); break;
case JVM_T_CHAR:
full_info = MAKE_FULLINFO(ITEM_Char, 1, 0); break;
@@ -2250,10 +2253,11 @@
break;
}
- case 'B': /* array of bytes */
- if (top_type != MAKE_FULLINFO(ITEM_Byte, 1, 0))
+ case 'B': /* array of bytes or booleans */
+ if (top_type != MAKE_FULLINFO(ITEM_Byte, 1, 0) &&
+ top_type != MAKE_FULLINFO(ITEM_Boolean, 1, 0))
CCerror(context,
- "Expecting to find array of bytes on stack");
+ "Expecting to find array of bytes or Booleans on stack");
break;
case 'C': /* array of characters */
@@ -2403,7 +2407,6 @@
CCerror(context, "Call to wrong initialization method");
}
if (this_idata->protected
- && context->major_version > LDC_CLASS_MAJOR_VERSION
&& !isAssignableTo(context, object_type,
context->currentclass_info)) {
CCerror(context, "Bad access to protected data");
@@ -3728,7 +3731,14 @@
result = 0;
break;
- case JVM_SIGNATURE_BOOLEAN: case JVM_SIGNATURE_BYTE:
+ case JVM_SIGNATURE_BOOLEAN:
+ full_info = (array_depth > 0)
+ ? MAKE_FULLINFO(ITEM_Boolean, 0, 0)
+ : MAKE_FULLINFO(ITEM_Integer, 0, 0);
+ result = 'I';
+ break;
+
+ case JVM_SIGNATURE_BYTE:
full_info = (array_depth > 0)
? MAKE_FULLINFO(ITEM_Byte, 0, 0)
: MAKE_FULLINFO(ITEM_Integer, 0, 0);
@@ -3831,7 +3841,7 @@
int indirection = GET_INDIRECTION(array_info) - 1;
int extra_info = GET_EXTRA_INFO(array_info);
if ( (indirection == 0)
- && ((type == ITEM_Short || type == ITEM_Byte || type == ITEM_Char)))
+ && ((type == ITEM_Short || type == ITEM_Byte || type == ITEM_Boolean || type == ITEM_Char)))
type = ITEM_Integer;
return MAKE_FULLINFO(type, indirection, extra_info);
}
@@ -4286,6 +4296,8 @@
jio_fprintf(stdout, "C"); break;
case ITEM_Short:
jio_fprintf(stdout, "S"); break;
+ case ITEM_Boolean:
+ jio_fprintf(stdout, "Z"); break;
case ITEM_Byte:
jio_fprintf(stdout, "B"); break;
case ITEM_NewObject:
--- a/jdk/test/ProblemList.txt Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/ProblemList.txt Fri Jul 31 10:15:03 2015 -0700
@@ -379,7 +379,4 @@
# 8057732
sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java generic-all
-# 8064572 8060736 8062938
-sun/jvmstat/monitor/MonitoredVm/CR6672135.java generic-all
-
############################################################################
--- a/jdk/test/com/sun/jdi/ArrayLengthDumpTest.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/ArrayLengthDumpTest.sh Fri Jul 31 10:15:03 2015 -0700
@@ -30,6 +30,7 @@
# TTY: dump <ArrayReference> command not implemented.
# @author Tim Bell
#
+# @key intermittent
# @run shell ArrayLengthDumpTest.sh
#
classname=ArrayLengthDumpTarg
--- a/jdk/test/com/sun/jdi/BreakpointTest.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/BreakpointTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -28,6 +28,7 @@
*
* @author jjh
*
+ * @key intermittent
* @modules jdk.jdi
* @run build TestScaffold VMConnection TargetListener TargetAdapter
* @run compile -g BreakpointTest.java
@@ -45,7 +46,7 @@
// the debuggee, waits a bit, and enables the bkpt again.
class BreakpointTarg {
- public final static int BKPT_LINE = 55;
+ public final static int BKPT_LINE = 56;
// LINE NUMBER SENSITIVE
public static long count;
--- a/jdk/test/com/sun/jdi/BreakpointWithFullGC.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/BreakpointWithFullGC.sh Fri Jul 31 10:15:03 2015 -0700
@@ -29,6 +29,7 @@
# @author dcubed (based on the test program posted to the following
# Eclipse thread https://bugs.eclipse.org/bugs/show_bug.cgi?id=279137)
#
+# @key intermittent
# @run shell BreakpointWithFullGC.sh
compileOptions=-g
--- a/jdk/test/com/sun/jdi/CatchAllTest.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/CatchAllTest.sh Fri Jul 31 10:15:03 2015 -0700
@@ -29,6 +29,7 @@
# @summary REGRESSION: jdb rejects the syntax catch java.lang.IndexOutOfBoundsException
# @author Tim Bell
#
+# @key intermittent
# @run shell CatchAllTest.sh
#
classname=CatchAllTestTarg
--- a/jdk/test/com/sun/jdi/CatchCaughtTest.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/CatchCaughtTest.sh Fri Jul 31 10:15:03 2015 -0700
@@ -29,6 +29,7 @@
# @summary TTY: 'catch caught' with no class pattern throws NullPointerException
# @author Tim Bell
#
+# @key intermittent
# @run shell CatchCaughtTest.sh
#
classname=CatchCaughtTestTarg
--- a/jdk/test/com/sun/jdi/CatchPatternTest.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/CatchPatternTest.sh Fri Jul 31 10:15:03 2015 -0700
@@ -28,6 +28,7 @@
# @summary TTY: surprising ExceptionSpec.resolveEventRequest() wildcard results
# @author Tim Bell
#
+# @key intermittent
# @run shell CatchPatternTest.sh
classname=CatchPatternTestTarg
createJavaFile()
--- a/jdk/test/com/sun/jdi/CommandCommentDelimiter.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/CommandCommentDelimiter.sh Fri Jul 31 10:15:03 2015 -0700
@@ -28,6 +28,7 @@
# @bug 4507088
# @summary TTY: Add a comment delimiter to the jdb command set
# @author Tim Bell
+# @key intermittent
# @run shell CommandCommentDelimiter.sh
#
--- a/jdk/test/com/sun/jdi/DeoptimizeWalk.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/DeoptimizeWalk.sh Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,7 @@
# @bug 4525714
# @summary jtreg test PopAsynchronousTest fails in build 85 with -Xcomp
# @author Jim Holmlund/Swamy Venkataramanappa
+# @key intermittent
# @run shell DeoptimizeWalk.sh
# This is another test of the same bug. The bug occurs when trying
--- a/jdk/test/com/sun/jdi/ExceptionEvents.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/ExceptionEvents.java Fri Jul 31 10:15:03 2015 -0700
@@ -28,6 +28,7 @@
*
* @author Robert Field
*
+ * @key intermittent
* @modules jdk.jdi
* @run build TestScaffold VMConnection
* @run compile -g ExceptionEvents.java
--- a/jdk/test/com/sun/jdi/JdbExprTest.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/JdbExprTest.sh Fri Jul 31 10:15:03 2015 -0700
@@ -26,6 +26,7 @@
# @test
# @bug 4660158
# @author Staffan Larsen
+# @key intermittent
# @run shell JdbExprTest.sh
# These are variables that can be set to control execution
--- a/jdk/test/com/sun/jdi/JdbMissStep.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/JdbMissStep.sh Fri Jul 31 10:15:03 2015 -0700
@@ -28,6 +28,7 @@
# @summary REGRESSION: jdb / jdi not stopping at some breakpoints and steps in j2sdk1.4.
# @author Jim Holmlund
#
+# @key intermittent
# @run shell JdbMissStep.sh
# These are variables that can be set to control execution
--- a/jdk/test/com/sun/jdi/JdbVarargsTest.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/JdbVarargsTest.sh Fri Jul 31 10:15:03 2015 -0700
@@ -29,6 +29,7 @@
#
# @author jjh
#
+# @key intermittent
# @run shell JdbVarargsTest.sh
classname=JdbVarargsTest
--- a/jdk/test/com/sun/jdi/MixedSuspendTest.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/MixedSuspendTest.sh Fri Jul 31 10:15:03 2015 -0700
@@ -29,6 +29,7 @@
#
# @author Jim Holmlund
#
+# @key intermittent
# @modules jdk.jdi
# @run build TestScaffold VMConnection TargetListener TargetAdapter
# @run shell MixedSuspendTest.sh
--- a/jdk/test/com/sun/jdi/NotAField.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/NotAField.sh Fri Jul 31 10:15:03 2015 -0700
@@ -29,6 +29,7 @@
# @summary TTY: NullPointerException at
# com.sun.tools.jdi.MirrorImpl.validateMirrors
# @author Tim Bell
+# @key intermittent
# @run shell NotAField.sh
#
--- a/jdk/test/com/sun/jdi/RedefineAbstractClass.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/RedefineAbstractClass.sh Fri Jul 31 10:15:03 2015 -0700
@@ -31,6 +31,7 @@
# methods are called.
# @author Daniel D. Daugherty
#
+# @key intermittent
# @run shell RedefineAbstractClass.sh
compileOptions=-g
--- a/jdk/test/com/sun/jdi/RedefineAnnotation.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/RedefineAnnotation.sh Fri Jul 31 10:15:03 2015 -0700
@@ -28,6 +28,7 @@
# @summary Redefine a class that has an annotation and verify that the
# new annotation is returned.
#
+# @key intermittent
# @run shell RedefineAnnotation.sh
compileOptions=-g
--- a/jdk/test/com/sun/jdi/RedefineClearBreakpoint.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/RedefineClearBreakpoint.sh Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,7 @@
# @bug 4705330
# @summary Netbeans Fix and Continue crashes JVM
# @author Jim Holmlund/Swamy Venkataramanappa
+# @key intermittent
# @run shell RedefineClearBreakpoint.sh
# The failure occurs after a bkpt is set and then cleared
--- a/jdk/test/com/sun/jdi/RedefineException.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/RedefineException.sh Fri Jul 31 10:15:03 2015 -0700
@@ -28,6 +28,7 @@
# @summary The VM crashes when a method in a redefined class throws an exception.
# @author Jim Holmlund
#
+# @key intermittent
# @run shell RedefineException.sh
# This is another symptomm of 4559100
--- a/jdk/test/com/sun/jdi/RedefineFinal.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/RedefineFinal.sh Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,7 @@
# @bug 4788344
# @summary RedefineClasses is an apparent no-op if instance method is final
#
+# @key intermittent
# @run shell RedefineFinal.sh
compileOptions=-g
--- a/jdk/test/com/sun/jdi/RedefineIntConstantToLong.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/RedefineIntConstantToLong.sh Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,7 @@
# @bug 6394084
# @summary Redefine class can't handle addition of 64 bit constants in JDK1.5.0_05
#
+# @key intermittent
# @run shell RedefineIntConstantToLong.sh
compileOptions=-g
--- a/jdk/test/com/sun/jdi/RedefinePop.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/RedefinePop.sh Fri Jul 31 10:15:03 2015 -0700
@@ -30,6 +30,7 @@
#
# The failure occurs with debug java when the pop deletes the
# line that called the method which is being popped.
+# @key intermittent
# @run shell RedefinePop.sh
--- a/jdk/test/com/sun/jdi/RedefineStep.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/RedefineStep.sh Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,7 @@
# @bug 4689395
# @summary "step over" after a class is redefined acts like "step out"
# @author Jim Holmlund
+# @key intermittent
# @run shell RedefineStep.sh
#
--- a/jdk/test/com/sun/jdi/RedefineTTYLineNumber.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/RedefineTTYLineNumber.sh Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,7 @@
# @bug 4660756
# @summary TTY: Need to clear source cache after doing a redefine class
# @author Jim Holmlund
+# @key intermittent
# @run shell/timeout=240 RedefineTTYLineNumber.sh
#set -x
--- a/jdk/test/com/sun/jdi/SimulResumerTest.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/SimulResumerTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -28,6 +28,7 @@
*
* @author jjh
*
+ * @key intermittent
* @modules jdk.jdi
* @run build TestScaffold VMConnection TargetListener TargetAdapter
* @run compile -g SimulResumerTest.java
--- a/jdk/test/com/sun/jdi/StringConvertTest.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/StringConvertTest.sh Fri Jul 31 10:15:03 2015 -0700
@@ -29,6 +29,7 @@
# 2. TTY: run on expression evaluation
# @author jim/suvasis mukherjee
#
+# @key intermittent
# @run shell StringConvertTest.sh
# Run this script to see the bug. See comments at the end
--- a/jdk/test/com/sun/jdi/sde/FilterMangleTest.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/jdi/sde/FilterMangleTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -5,6 +5,7 @@
*
* @author Robert Field / Jim Holmlund
*
+ * @key intermittent
* @library ..
* @modules jdk.jdi
* @run build TestScaffold VMConnection TargetListener TargetAdapter InstallSDE
--- a/jdk/test/com/sun/tools/attach/BasicTests.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/com/sun/tools/attach/BasicTests.java Fri Jul 31 10:15:03 2015 -0700
@@ -41,7 +41,7 @@
* @test
* @bug 6173612 6273707 6277253 6335921 6348630 6342019 6381757
* @summary Basic unit tests for the VM attach mechanism.
- * @modules jdk.jartool/sun.tools.jar
+ * @key intermittent
* @library /lib/testlibrary
* @modules java.instrument
* java.management
--- a/jdk/test/java/lang/ClassLoader/Assert.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/java/lang/ClassLoader/Assert.java Fri Jul 31 10:15:03 2015 -0700
@@ -28,7 +28,7 @@
* @run main/othervm Assert
* @summary Test the assertion facility
* @author Mike McCloskey
- * @key randomness
+ * @key randomness intermittent
*/
import package1.*;
--- a/jdk/test/java/lang/instrument/BootClassPath/BootClassPathTest.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/java/lang/instrument/BootClassPath/BootClassPathTest.sh Fri Jul 31 10:15:03 2015 -0700
@@ -26,6 +26,7 @@
# @summary Test non US-ASCII characters in the value of the Boot-Class-Path
# attribute.
#
+# @key intermittent
# @modules java.instrument
# @run shell/timeout=240 BootClassPathTest.sh
--- a/jdk/test/java/lang/instrument/ManifestTest.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/java/lang/instrument/ManifestTest.sh Fri Jul 31 10:15:03 2015 -0700
@@ -26,6 +26,7 @@
# @summary JLI JAR manifest processing should ignore leading and trailing white space.
# @author Daniel D. Daugherty
#
+# @key intermittent
# @modules java.instrument
# @run build ManifestTestApp ExampleForBootClassPath
# @run shell/timeout=900 ManifestTest.sh
--- a/jdk/test/java/lang/instrument/PremainClass/InheritAgent0101.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/java/lang/instrument/PremainClass/InheritAgent0101.java Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,7 @@
* @summary test config (0,1,0,1): inherited 1-arg and declared 1-arg in agent class
* @author Daniel D. Daugherty, Sun Microsystems
*
+ * @key intermittent
* @run shell ../MakeJAR3.sh InheritAgent0101
* @run main/othervm -javaagent:InheritAgent0101.jar DummyMain
*/
--- a/jdk/test/java/lang/instrument/RedefineBigClass.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/java/lang/instrument/RedefineBigClass.sh Fri Jul 31 10:15:03 2015 -0700
@@ -26,6 +26,7 @@
# @summary Redefine a big class.
# @author Daniel D. Daugherty
#
+# @key intermittent
# @modules java.instrument
# @run shell MakeJAR3.sh RedefineBigClassAgent 'Can-Redefine-Classes: true'
# @run build BigClass RedefineBigClassApp NMTHelper
--- a/jdk/test/java/lang/instrument/RetransformBigClass.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/java/lang/instrument/RetransformBigClass.sh Fri Jul 31 10:15:03 2015 -0700
@@ -26,6 +26,7 @@
# @summary Retransform a big class.
# @author Daniel D. Daugherty
#
+# @key intermittent
# @modules java.instrument
# @run shell MakeJAR4.sh RetransformBigClassAgent SimpleIdentityTransformer 'Can-Retransform-Classes: true'
# @run build BigClass RetransformBigClassApp NMTHelper
--- a/jdk/test/java/lang/management/ThreadMXBean/AllThreadIds.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/java/lang/management/ThreadMXBean/AllThreadIds.java Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,7 @@
* @summary Basic unit test of ThreadMXBean.getAllThreadIds()
* @author Alexei Guibadoulline and Mandy Chung
*
+ * @key intermittent
* @modules java.management
* @run main/othervm AllThreadIds
*/
--- a/jdk/test/javax/management/monitor/ReflectionExceptionTest.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/javax/management/monitor/ReflectionExceptionTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,7 @@
* @summary Test that the jmx.monitor.error.runtime monitor notification
* is emitted when getAttribute throws ReflectionException.
* @author Luis-Miguel Alventosa
+ * @key intermittent
* @modules java.management
* @run clean ReflectionExceptionTest MBeanServerBuilderImpl
* MBeanServerForwarderInvocationHandler
--- a/jdk/test/javax/management/monitor/StringMonitorDeadlockTest.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/javax/management/monitor/StringMonitorDeadlockTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,7 @@
* @summary Test that no locks are held when a monitor attribute is sampled
* or notif delivered.
* @author Eamonn McManus
+ * @key intermittent
* @modules java.management
* @run clean StringMonitorDeadlockTest
* @run build StringMonitorDeadlockTest
--- a/jdk/test/javax/management/mxbean/GenericArrayTypeTest.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/javax/management/mxbean/GenericArrayTypeTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -26,6 +26,7 @@
* @bug 6292705
* @summary Test support for arrays in parameterized types.
* @author Luis-Miguel Alventosa
+ * @key intermittent
* @modules java.management
* @run clean GenericArrayTypeTest
* @run build GenericArrayTypeTest
--- a/jdk/test/javax/management/remote/mandatory/connection/BrokenConnectionTest.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/javax/management/remote/mandatory/connection/BrokenConnectionTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -26,6 +26,7 @@
* @bug 4940957 8025205
* @summary Tests behaviour when connections break
* @author Eamonn McManus
+ * @key intermittent
* @modules java.management
* @run clean BrokenConnectionTest
* @run build BrokenConnectionTest
--- a/jdk/test/javax/management/remote/mandatory/notif/NotificationEmissionTest.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/javax/management/remote/mandatory/notif/NotificationEmissionTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -27,6 +27,7 @@
* @summary Check the emission of notifications when a Security Manager is
* installed. Test the property "jmx.remote.x.check.notification.emission".
* @author Luis-Miguel Alventosa
+ * @key intermittent
* @modules java.management
* @run clean NotificationEmissionTest
* @run build NotificationEmissionTest
--- a/jdk/test/sun/jvmstat/monitor/MonitoredVm/CR6672135.java Fri Jul 31 07:48:34 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2004, 2015, 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 java.net.URISyntaxException;
-import java.util.Set;
-import sun.jvmstat.monitor.MonitorException;
-import sun.jvmstat.monitor.MonitoredHost;
-import sun.jvmstat.monitor.MonitoredVm;
-import sun.jvmstat.monitor.VmIdentifier;
-
-/**
- *
- * @test
- * @bug 6672135
- * @summary setInterval() for local MonitoredHost and local MonitoredVm
- * @author Tomas Hurka
- * @modules jdk.jvmstat/sun.jvmstat.monitor
- * @run main/othervm -XX:+UsePerfData CR6672135
- */
-public class CR6672135 {
-
- private static final int INTERVAL = 2000;
-
- public static void main(String[] args) {
- int vmInterval;
- int hostInterval;
-
- try {
- MonitoredHost localHost = MonitoredHost.getMonitoredHost("localhost");
- Set vms = localHost.activeVms();
- Integer vmInt = (Integer) vms.iterator().next();
- String uriString = "//" + vmInt + "?mode=r"; // NOI18N
- VmIdentifier vmId = new VmIdentifier(uriString);
- MonitoredVm vm = localHost.getMonitoredVm(vmId);
-
- vm.setInterval(INTERVAL);
- localHost.setInterval(INTERVAL);
- vmInterval = vm.getInterval();
- hostInterval = localHost.getInterval();
- } catch (Exception ex) {
- throw new Error ("Test failed",ex);
- }
- System.out.println("VM "+vmInterval);
- if (vmInterval != INTERVAL) {
- throw new Error("Test failed");
- }
- System.out.println("Host "+hostInterval);
- if (hostInterval != INTERVAL) {
- throw new Error("Test failed");
- }
- }
-}
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/jvmstat/monitor/MonitoredVm/TestPollingInterval.java Fri Jul 31 10:15:03 2015 -0700
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2004, 2015, 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 java.io.IOException;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
+
+import jdk.testlibrary.Asserts;
+import jdk.testlibrary.Utils;
+import jdk.test.lib.apps.LingeredApp;
+import sun.jvmstat.monitor.MonitorException;
+import sun.jvmstat.monitor.MonitoredHost;
+import sun.jvmstat.monitor.MonitoredVm;
+import sun.jvmstat.monitor.MonitoredVmUtil;
+import sun.jvmstat.monitor.VmIdentifier;
+
+/**
+ *
+ * @test
+ * @bug 6672135
+ * @summary setInterval() for local MonitoredHost and local MonitoredVm
+ * @modules jdk.jvmstat/sun.jvmstat.monitor
+ * @library /lib/testlibrary
+ * @library /../../test/lib/share/classes
+ * @build jdk.testlibrary.*
+ * @build jdk.test.lib.apps.*
+ * @run main TestPollingInterval
+ */
+public class TestPollingInterval {
+
+ private static final int INTERVAL = 2000;
+
+ public static void main(String[] args) throws IOException,
+ MonitorException, URISyntaxException {
+ LingeredApp app = null;
+ try {
+ List<String> vmArgs = new ArrayList<String>();
+ vmArgs.add("-XX:+UsePerfData");
+ vmArgs.addAll(Utils.getVmOptions());
+ app = LingeredApp.startApp(vmArgs);
+
+ MonitoredHost localHost = MonitoredHost.getMonitoredHost("localhost");
+ String uriString = "//" + app.getPid() + "?mode=r"; // NOI18N
+ VmIdentifier vmId = new VmIdentifier(uriString);
+ MonitoredVm vm = localHost.getMonitoredVm(vmId);
+ System.out.println("Monitored vm command line: " + MonitoredVmUtil.commandLine(vm));
+
+ vm.setInterval(INTERVAL);
+ localHost.setInterval(INTERVAL);
+
+ Asserts.assertEquals(vm.getInterval(), INTERVAL, "Monitored vm interval should be equal the test value");
+ Asserts.assertEquals(localHost.getInterval(), INTERVAL, "Monitored host interval should be equal the test value");
+ } finally {
+ LingeredApp.stopApp(app);
+ }
+
+ }
+
+}
--- a/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh Fri Jul 31 10:15:03 2015 -0700
@@ -26,6 +26,7 @@
# @bug 6528083
# @summary Test RMI Bootstrap
#
+# @key intermittent
# @library /lib/testlibrary
# @modules java.management/sun.management
# java.management/sun.management.jmxremote
--- a/jdk/test/sun/management/jmxremote/startstop/JMXStatusPerfCountersTest.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/sun/management/jmxremote/startstop/JMXStatusPerfCountersTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -40,6 +40,7 @@
* @bug 8075926
* @summary Makes sure that the current management agent status is reflected
* in the related performance counters.
+ * @key intermittent
* @library /lib/testlibrary
* @build jdk.testlibrary.* PortAllocator TestApp ManagementAgentJcmd
* @run testng/othervm -XX:+UsePerfData JMXStatusPerfCountersTest
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/tools/jhsdb/BasicLauncherTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2015, 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
+ * @summary Basic test for jhsdb launcher
+ * @library /../../test/lib/share/classes
+ * @library /lib/testlibrary
+ * @build jdk.testlibrary.*
+ * @build jdk.test.lib.apps.*
+ * @run main BasicLauncherTest
+ */
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Arrays;
+import jdk.testlibrary.JDKToolLauncher;
+import jdk.testlibrary.Utils;
+import jdk.testlibrary.OutputAnalyzer;
+import jdk.testlibrary.ProcessTools;
+import jdk.test.lib.apps.LingeredApp;
+
+public class BasicLauncherTest {
+
+ private final static String toolName = "jhsdb";
+ private static LingeredApp theApp = null;
+
+ /**
+ *
+ * @return exit code of tool
+ */
+ public static int launchCLHSDB()
+ throws IOException {
+
+ System.out.println("Starting LingeredApp");
+ try {
+ theApp = LingeredApp.startApp();
+
+ System.out.println("Starting clhsdb against " + theApp.getPid());
+ JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK(toolName);
+ launcher.addToolArg("clhsdb");
+ launcher.addToolArg("--pid=" + Long.toString(theApp.getPid()));
+
+ ProcessBuilder processBuilder = new ProcessBuilder(launcher.getCommand());
+ processBuilder.redirectError(ProcessBuilder.Redirect.INHERIT);
+ Process toolProcess = processBuilder.start();
+ toolProcess.getOutputStream().write("quit\n".getBytes());
+ toolProcess.getOutputStream().close();
+
+ // By default child process output stream redirected to pipe, so we are reading it in foreground.
+ BufferedReader reader = new BufferedReader(new InputStreamReader(toolProcess.getInputStream()));
+
+ String line;
+ while ((line = reader.readLine()) != null) {
+ System.out.println(line.trim());
+ }
+
+ toolProcess.waitFor();
+
+ return toolProcess.exitValue();
+ } catch (Exception ex) {
+ throw new RuntimeException("Test ERROR " + ex, ex);
+ } finally {
+ LingeredApp.stopApp(theApp);
+ }
+ }
+
+ /**
+ *
+ * @param vmArgs - vm and java arguments to launch test app
+ * @return exit code of tool
+ */
+ public static void launch(String expectedMessage, List<String> toolArgs)
+ throws IOException {
+
+ System.out.println("Starting LingeredApp");
+ try {
+ theApp = LingeredApp.startApp();
+
+ System.out.println("Starting " + toolName + " " + toolArgs.get(0) + " against " + theApp.getPid());
+ JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK(toolName);
+
+ for (String cmd : toolArgs) {
+ launcher.addToolArg(cmd);
+ }
+
+ launcher.addToolArg("--pid=" + Long.toString(theApp.getPid()));
+
+ ProcessBuilder processBuilder = new ProcessBuilder(launcher.getCommand());
+ processBuilder.redirectError(ProcessBuilder.Redirect.INHERIT);
+ OutputAnalyzer output = ProcessTools.executeProcess(processBuilder);;
+ output.shouldContain(expectedMessage);
+ output.shouldHaveExitValue(0);
+
+ } catch (Exception ex) {
+ throw new RuntimeException("Test ERROR " + ex, ex);
+ } finally {
+ LingeredApp.stopApp(theApp);
+ }
+ }
+
+ public static void launch(String expectedMessage, String... toolArgs)
+ throws IOException {
+
+ launch(expectedMessage, Arrays.asList(toolArgs));
+ }
+
+ public static void main(String[] args)
+ throws IOException {
+
+ launchCLHSDB();
+
+ launch("No deadlocks found", "jstack");
+ launch("Server compiler detected", "jmap");
+ launch("Java System Properties", "jinfo");
+
+ // The test throws RuntimeException on error.
+ // IOException is thrown if LingeredApp can't start because of some bad
+ // environment condition
+ System.out.println("Test PASSED");
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/tools/jhsdb/SAGetoptTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2015, 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
+ * @summary unit test for SAGetopt function
+ * @compile -XDignore.symbol.file SAGetoptTest.java
+ * @run main SAGetoptTest
+ */
+
+import sun.jvm.hotspot.SAGetopt;
+
+public class SAGetoptTest {
+
+ private static boolean a_opt;
+ private static boolean b_opt;
+ private static boolean c_opt;
+ private static boolean e_opt;
+ private static boolean mixed_opt;
+
+ private static String d_value;
+ private static String exe_value;
+ private static String core_value;
+
+ private static void initArgValues() {
+ a_opt = false;
+ b_opt = false;
+ c_opt = false;
+ e_opt = false;
+ mixed_opt = false;
+
+ d_value = "";
+ exe_value = "";
+ core_value = "";
+ }
+
+
+ private static void optionsTest(String[] args) {
+ initArgValues();
+
+ SAGetopt sg = new SAGetopt(args);
+
+ String[] longOpts = {"exe=","core=","mixed"};
+ String shortOpts = "abcd:e";
+ String s;
+
+ while((s = sg.next(shortOpts, longOpts)) != null) {
+ if (s.equals("a")) {
+ a_opt = true;
+ continue;
+ }
+
+ if (s.equals("b")) {
+ b_opt = true;
+ continue;
+ }
+
+ if (s.equals("c")) {
+ c_opt = true;
+ continue;
+ }
+
+ if (s.equals("e")) {
+ e_opt = true;
+ continue;
+ }
+
+ if (s.equals("mixed")) {
+ mixed_opt = true;
+ continue;
+ }
+
+ if (s.equals("d")) {
+ d_value = sg.getOptarg();
+ continue;
+ }
+
+ if (s.equals("exe")) {
+ exe_value = sg.getOptarg();
+ continue;
+ }
+
+ if (s.equals("core")) {
+ core_value = sg.getOptarg();
+ continue;
+ }
+ }
+ }
+
+ private static void badOptionsTest(int setNumber, String[] args, String expectedMessage) {
+ String msg = null;
+ try {
+ optionsTest(args);
+ } catch(RuntimeException ex) {
+ msg = ex.getMessage();
+ }
+
+ if (msg == null || !msg.equals(expectedMessage)) {
+ if (msg != null) {
+ System.err.println("Unexpected error '" + msg + "'");
+ }
+ throw new RuntimeException("Bad option test " + setNumber + " failed");
+ }
+ }
+
+ public static void main(String[] args) {
+ String[] optionSet1 = {"-abd", "bla", "-c"};
+ optionsTest(optionSet1);
+ if (!a_opt || !b_opt || !d_value.equals("bla") || !c_opt) {
+ throw new RuntimeException("Good optionSet 1 failed");
+ }
+
+ String[] optionSet2 = {"-e", "--mixed"};
+ optionsTest(optionSet2);
+ if (!e_opt || !mixed_opt) {
+ throw new RuntimeException("Good optionSet 2 failed");
+ }
+
+ String[] optionSet3 = {"--exe=bla", "--core", "bla_core", "--mixed"};
+ optionsTest(optionSet3);
+ if (!exe_value.equals("bla") || !core_value.equals("bla_core") || !mixed_opt) {
+ throw new RuntimeException("Good optionSet 3 failed");
+ }
+
+ // Bad options test
+ String[] optionSet4 = {"-abd", "-c"};
+ badOptionsTest(4, optionSet4, "Argument is expected for 'd'");
+
+ String[] optionSet5 = {"-exe", "bla", "--core"};
+ badOptionsTest(5, optionSet5, "Invalid option 'x'");
+
+ String[] optionSet6 = {"--exe", "--core", "bla_core"};
+ badOptionsTest(6, optionSet6, "Argument is expected for 'exe'");
+ }
+ }
--- a/jdk/test/sun/tools/jmap/BasicJMapTest.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/sun/tools/jmap/BasicJMapTest.java Fri Jul 31 10:15:03 2015 -0700
@@ -36,6 +36,7 @@
* @test
* @bug 6321286
* @summary Unit test for jmap utility
+ * @key intermittent
* @library /lib/testlibrary
* @library /../../test/lib/share/classes
* @modules java.management
--- a/jdk/test/sun/tools/jstatd/TestJstatdDefaults.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/sun/tools/jstatd/TestJstatdDefaults.java Fri Jul 31 10:15:03 2015 -0700
@@ -24,6 +24,7 @@
/*
* @test
* @bug 4990825
+ * @key intermittent
* @library /lib/testlibrary
* @modules java.management
* @build jdk.testlibrary.* JstatdTest JstatGCUtilParser
--- a/jdk/test/sun/tools/jstatd/TestJstatdExternalRegistry.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/sun/tools/jstatd/TestJstatdExternalRegistry.java Fri Jul 31 10:15:03 2015 -0700
@@ -24,6 +24,7 @@
/*
* @test
* @bug 4990825 7092186
+ * @key intermittent
* @library /lib/testlibrary
* @modules java.management
* @build jdk.testlibrary.* JstatdTest JstatGCUtilParser
--- a/jdk/test/sun/tools/jstatd/TestJstatdPort.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/sun/tools/jstatd/TestJstatdPort.java Fri Jul 31 10:15:03 2015 -0700
@@ -24,6 +24,7 @@
/*
* @test
* @bug 4990825
+ * @key intermittent
* @library /lib/testlibrary
* @modules java.management
* @build jdk.testlibrary.* JstatdTest JstatGCUtilParser
--- a/jdk/test/sun/tools/jstatd/TestJstatdPortAndServer.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/sun/tools/jstatd/TestJstatdPortAndServer.java Fri Jul 31 10:15:03 2015 -0700
@@ -24,6 +24,7 @@
/*
* @test
* @bug 4990825
+ * @key intermittent
* @library /lib/testlibrary
* @modules java.management
* @build jdk.testlibrary.* JstatdTest JstatGCUtilParser
--- a/jdk/test/vm/verifier/VerifyProtectedConstructor.java Fri Jul 31 07:48:34 2015 -0700
+++ b/jdk/test/vm/verifier/VerifyProtectedConstructor.java Fri Jul 31 10:15:03 2015 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -26,7 +26,7 @@
* @test
* @bug 6490436
- * @summary Verify that protected constructor calls are not allowed for classfile version >= 50 (but that they are allowed for lesser versions).
+ * @summary Verify that protected constructor calls are not allowed for any classfile versions in either verifier.
* @author Keith McGuigan
*/
@@ -38,9 +38,10 @@
try {
t.checkClassVersion(49); // should not throw VerifyError
+ throw new Exception("FAIL: should be a VerifyError for CF version 49");
}
catch(VerifyError e) {
- throw new Exception("FAIL: should be no VerifyError for CF version 49");
+ System.out.println("PASS for CF version 49");
}
try {