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.lev...@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.richa...@ngmr.net>,
<neil_richa...@uk.ibm.com>
* @run main/othervm GcDuringExport
+ * @key intermittent
*/
import java.rmi.Remote;