JDK 9 RFR of JDK-8075565: Define @intermittent jtreg keyword and mark intermittently failing jdk tests

Joseph D. Darcy joe.darcy at oracle.com
Fri Mar 20 00:12:24 UTC 2015


Hello,

Per recent proposals 
(http://mail.openjdk.java.net/pipermail/jdk9-dev/2015-March/001991.html), please 
review the change below for

     JDK-8075565: Define @intermittent jtreg keyword and mark 
intermittently failuring jdk tests
     http://cr.openjdk.java.net/~darcy/8075565.0/

which defines an "intermittent" keyword for use in jtreg tests and then 
marks the initial rouges gallery of known or suspected intermittently 
failing tests:

     test/com/sun/jndi/ldap/LdapTimeoutTest.java
     test/java/lang/invoke/MethodHandles/CatchExceptionTest.java
     test/java/lang/ref/OOMEInReferenceHandler.java
test/java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java
     test/java/net/SocketPermission/SocketPermissionTest.java
     test/java/nio/channels/AsynchronousSocketChannel/Basic.java
     test/java/nio/channels/Selector/Wakeup.java
test/java/nio/channels/ServerSocketChannel/AdaptServerSocket.java
test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh
     test/java/nio/file/FileStore/Basic.java
     test/java/nio/file/Files/InterruptCopy.java
test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java
     test/java/rmi/registry/interfaceHash/InterfaceHash.java
test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java

I compiled the list by going through open test-related bugs in core-libs 
components and a few other components. I'll send a follow-up message to 
security-libs to get their sets marked. I generally tried to only mark 
tests as intermittent if there was recent (six months old or new) 
information about a failure. Therefore, this initial list is not 
comprehensive and tests should have the keyword added as they are 
observed to intermittently fail. Also, tests should have the keyword 
removed if they are corrected to address the cause of the intermittent 
failure!

I verified

     jtreg -l -k:intermittent

selects the right number of tests.

Full patch below.

Thanks,

-Joe

--- old/test/TEST.ROOT    2015-03-19 16:59:36.033243886 -0700
+++ new/test/TEST.ROOT    2015-03-19 16:59:35.865243880 -0700
@@ -2,7 +2,7 @@
  # It also contains test-suite configuration information.

  # The list of keywords supported in the entire test suite
-keys=2d dnd i18n
+keys=2d dnd i18n intermittent

  # Tests that must run in othervm mode
  othervm.dirs=java/awt java/beans javax/accessibility javax/imageio 
javax/sound javax/print javax/management com/sun/awt sun/awt sun/java2d 
sun/pisces javax/xml/jaxp/testng/validation
--- old/test/com/sun/jndi/ldap/LdapTimeoutTest.java    2015-03-19 
16:59:36.473243902 -0700
+++ new/test/com/sun/jndi/ldap/LdapTimeoutTest.java    2015-03-19 
16:59:36.289243896 -0700
@@ -26,6 +26,7 @@
   * @run main/othervm LdapTimeoutTest
   * @bug 7094377 8000487 6176036 7056489
   * @summary Timeout tests for ldap
+ * @key intermittent
   */

  import java.net.Socket;
--- old/test/java/lang/invoke/MethodHandles/CatchExceptionTest.java 
2015-03-19 16:59:36.909243918 -0700
+++ new/test/java/lang/invoke/MethodHandles/CatchExceptionTest.java 
2015-03-19 16:59:36.733243912 -0700
@@ -41,6 +41,7 @@
   * @library /lib/testlibrary/jsr292 /lib/testlibrary/
   * @compile CatchExceptionTest.java
   * @run main/othervm -esa 
test.java.lang.invoke.MethodHandles.CatchExceptionTest
+ * @key intermittent
   */
  public class CatchExceptionTest {
      private static final List<Class<?>> ARGS_CLASSES;
--- old/test/java/lang/ref/OOMEInReferenceHandler.java    2015-03-19 
16:59:37.353243935 -0700
+++ new/test/java/lang/ref/OOMEInReferenceHandler.java    2015-03-19 
16:59:37.177243928 -0700
@@ -27,6 +27,7 @@
   * @summary Verify that the reference handler does not die after an 
OOME allocating the InterruptedException object
   * @run main/othervm -XX:-UseGCOverheadLimit -Xmx24M -XX:-UseTLAB 
OOMEInReferenceHandler
   * @author peter.levart at gmail.com
+ * @key intermittent
   */

  import java.lang.ref.*;
--- 
old/test/java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java 
2015-03-19 16:59:37.805243951 -0700
+++ 
new/test/java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java 
2015-03-19 16:59:37.625243945 -0700
@@ -42,6 +42,7 @@
   * @test
   * @bug 8007373
   * @summary jdk7 backward compatibility serialization problem
+ * @key intermittent
   */

  public class Inet6AddressSerializationTest {
--- old/test/java/net/SocketPermission/SocketPermissionTest.java 
2015-03-19 16:59:38.285243969 -0700
+++ new/test/java/net/SocketPermission/SocketPermissionTest.java 
2015-03-19 16:59:38.101243962 -0700
@@ -27,6 +27,7 @@
   * @summary SocketPermission tests for legacy socket types
   * @library ../../../lib/testlibrary
   * @run testng/othervm/policy=policy SocketPermissionTest
+ * @key intermittent
   */
  import java.io.IOException;
  import java.net.DatagramPacket;
--- old/test/java/nio/channels/AsynchronousSocketChannel/Basic.java 
2015-03-19 16:59:38.741243986 -0700
+++ new/test/java/nio/channels/AsynchronousSocketChannel/Basic.java 
2015-03-19 16:59:38.557243979 -0700
@@ -25,6 +25,7 @@
   * @bug 4607272 6842687 6878369 6944810 7023403
   * @summary Unit test for AsynchronousSocketChannel
   * @run main Basic -skipSlowConnectTest
+ * @key intermittent
   */

  import java.nio.ByteBuffer;
--- old/test/java/nio/channels/Selector/Wakeup.java    2015-03-19 
16:59:39.201244003 -0700
+++ new/test/java/nio/channels/Selector/Wakeup.java    2015-03-19 
16:59:39.017243996 -0700
@@ -25,6 +25,7 @@
   * @bug 6405995
   * @summary Unit test for selector wakeup and interruption
   * @library ..
+ * @key intermittent
   */

  import java.io.*;
--- 
old/test/java/nio/channels/ServerSocketChannel/AdaptServerSocket.java 
2015-03-19 16:59:39.653244019 -0700
+++ 
new/test/java/nio/channels/ServerSocketChannel/AdaptServerSocket.java 
2015-03-19 16:59:39.473244013 -0700
@@ -23,6 +23,7 @@

  /* @test
   * @summary Unit test for server-socket-channel adaptors
+ * @key intermittent
   */

  import java.io.*;
--- 
old/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh 
2015-03-19 16:59:40.089244035 -0700
+++ 
new/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh 
2015-03-19 16:59:39.909244029 -0700
@@ -24,12 +24,12 @@
  #

  # @test
-# @bug 4673940
-# @bug 4930794
+# @bug 4673940 4930794
  # @summary Unit tests for inetd feature
  #
  # @build StateTest StateTestService EchoTest EchoService CloseTest 
Launcher Util
  # @run shell run_tests.sh
+# @key intermittent

  os=`uname -s`

--- old/test/java/nio/file/FileStore/Basic.java    2015-03-19 
16:59:40.541244052 -0700
+++ new/test/java/nio/file/FileStore/Basic.java    2015-03-19 
16:59:40.357244045 -0700
@@ -25,6 +25,7 @@
   * @bug 4313887 6873621 6979526 7006126 7020517
   * @summary Unit test for java.nio.file.FileStore
   * @library ..
+ * @key intermittent
   */

  import java.nio.file.*;
--- old/test/java/nio/file/Files/InterruptCopy.java    2015-03-19 
16:59:40.973244068 -0700
+++ new/test/java/nio/file/Files/InterruptCopy.java    2015-03-19 
16:59:40.793244061 -0700
@@ -25,6 +25,7 @@
   * @bug 4313887 6993267
   * @summary Unit test for Sun-specific 
ExtendedCopyOption.INTERRUPTIBLE option
   * @library ..
+ * @key intermittent
   */

  import java.nio.file.*;
--- 
old/test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java 
2015-03-19 16:59:41.413244084 -0700
+++ 
new/test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java 
2015-03-19 16:59:41.237244078 -0700
@@ -39,6 +39,7 @@
   * @build TestLibrary RMID ActivateMe CheckActivateRef_Stub
   * @run main/othervm/policy=security.policy/timeout=240 
-Djava.rmi.server.ignoreStubClasses=true CheckActivateRef
   * @run main/othervm/policy=security.policy/timeout=240 
-Djava.rmi.server.ignoreStubClasses=false CheckActivateRef
+ * @key intermittent
   */

  import java.io.*;
--- old/test/java/rmi/registry/interfaceHash/InterfaceHash.java 
2015-03-19 16:59:41.865244101 -0700
+++ new/test/java/rmi/registry/interfaceHash/InterfaceHash.java 
2015-03-19 16:59:41.681244094 -0700
@@ -38,6 +38,7 @@
   * @library ../../testlibrary
   * @build TestLibrary ReferenceRegistryStub
   * @run main/othervm InterfaceHash
+ * @key intermittent
   */

  import java.lang.reflect.Constructor;
--- 
old/test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java 
2015-03-19 16:59:42.325244118 -0700
+++ 
new/test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java 
2015-03-19 16:59:42.141244111 -0700
@@ -31,6 +31,7 @@
   * @summary GC'ing objects whilst being exported to RMI should not 
cause exceptions
   * @author Neil Richards <neil.richards at ngmr.net>, 
<neil_richards at uk.ibm.com>
   * @run main/othervm GcDuringExport
+ * @key intermittent
   */

  import java.rmi.Remote;




More information about the core-libs-dev mailing list