###########################################################################
#
# Copyright (c) 2009, 2011, 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.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# 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.
#
###########################################################################
#
# List of tests that should not be run by test/Makefile, for various reasons:
#   1. Does not run with jtreg -samevm mode
#   2. Causes problems in jtreg -samevm mode for jtreg or tests that follow it
#   3. The test is too slow or consumes too many system resources
#   4. The test fails when run on any official build systems
#
# It is possible that a test being on this list is a mistake, and that some
#   other test in samevm mode caused tests to fail, mistakes happen.
#
# Tests marked @ignore are not run by test/Makefile, but harmless to be listed.
#
# Tests that explicitly state "@run main/othervm ...", and are not listed here,
#   will be run in the same batch as the samevm tests.
#
# Shell tests are othervm by default.
#
# List items  are testnames followed by labels, all MUST BE commented
#   as to why they are here and use a label:
#     generic-all       Problems on all platforms
#     generic-ARCH      Where ARCH is one of: sparc, sparcv9, x64, i586, etc.
#     OSNAME-all        Where OSNAME is one of: solaris, linux, windows
#     OSNAME-ARCH       Specific on to one OSNAME and ARCH, e.g. solaris-x64
#     OSNAME-REV        Specific on to one OSNAME and REV, e.g. solaris-5.8
#
# More than one label is allowed but must be on the same line.
#
#############################################################################
#
# Running the tests:
#    cd test && make JT_HOME=jtreg_home PRODUCT_HOME=jdk_home jdk_all
#  Or instead of jdk_all, use any of the jdk_* targets.
#
# Samevm Notes:
#  * Although some tests may have only been seen to fail on some platforms,
#    they might be flagged as 'generic-all' because the problem they have
#    could cause hidden slowdowns on other platforms.
#    Most samevm problems will be generic-all, but windows usually dislikes
#    them the most.
#    Address already in use or connection errors indicate a generic port issue.
#    (this is not necessarily a samevm issue, but an issue for running the tests
#     on shared machines, two people or two test runs will collide).
#  * Samevm problem (windows in particular) is not closing all input/output
#  * Samevm problem when a test calls setSecurityManager()
#  * Samevm problem with setHttps*() is used? (not exactly sure here)
#  * Samevm problem when stuffing system properties with non Strings or anything
#  * Samevm problem when changing vm settings, or registering any vm actions
#  * Samevm problems with deleteOnExit(), if it must happen at end of test
#  * Samevm problems with URLClassLoader? (no details here)
#  * Samevm problems with dependence on predictable GC or finalizations
#
# Any of the above problems may mean the test needs to be flagged as "othervm".
#
#############################################################################
#
# Fixing the tests:
#
# Some tests just may need to be run with "othervm", and that can easily be
#   done my adding a @run line (or modifying any existing @run):
#      @run main/othervm NameOfMainClass
#   Make sure this @run follows any use of @library.
#   Otherwise, if the test is a samevm possibility, make sure the test is
#     cleaning up after itself, closing all streams, deleting temp files, etc.
#
# Keep in mind that the bug could be in many places, and even different per
#   platform, it could be a bug in any one of:
#      - the testcase
#      - the jdk (jdk classes, native code, or hotspot)
#      - the native compiler
#      - the javac compiler
#      - the OS (depends on what the testcase does)
#
# If you managed to really fix one of these tests, here is how you can
#    remove tests from this list:
#  1. Make sure test passes on all platforms with samevm, or mark it othervm
#  2. Make sure test passes on all platforms when run with it's entire group
#  3. Make sure both VMs are tested, -server and -client, if possible
#  4. Make sure you try the -d64 option on Solaris
#  5. Use a tool like JPRT or something to verify these results
#  6. Delete lines in this file, include the changes with your test changes
#
# You may need to repeat your testing 2 or even 3 times to verify good
#   results, some of these samevm failures are not very predictable.
#
#############################################################################

############################################################################

# jdk_awt

# None of the awt tests are using samevm, might not be worth the effort due
#  to the vm overhead not being enough to make a difference.
# In general, the awt tests are problematic with or without samevm, and there
#  are issues with using a Xvfb display.

# Fails on solaris sparc, timedout? in othervm mode
java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java generic-all

# Causes hang in samevm mode??? Solaris 11 i586
java/awt/FullScreen/SetFSWindow/FSFrame.java                    generic-all

# Fails on solaris 11 i586, -client, in othervm mode not sure why
java/awt/Component/PrintAllXcheckJNI/PrintAllXcheckJNI.java     generic-all
java/awt/Focus/CloseDialogActivateOwnerTest/CloseDialogActivateOwnerTest.java generic-all
java/awt/FontClass/FontAccess.java                              generic-all
java/awt/Mixing/HWDisappear.java                                generic-all
java/awt/Mixing/MixingInHwPanel.java                            generic-all
java/awt/Mouse/MaximizedFrameTest/MaximizedFrameTest.html       generic-all
java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java generic-all
java/awt/Toolkit/SecurityTest/SecurityTest2.java                generic-all
java/awt/image/mlib/MlibOpsTest.java                            generic-all

# Fails on windows, othervm mode, various errors
java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java        generic-all
java/awt/Focus/OwnedWindowFocusIMECrashTest/OwnedWindowFocusIMECrashTest.java   generic-all
java/awt/FullScreen/NoResizeEventOnDMChangeTest/NoResizeEventOnDMChangeTest.java        generic-all
java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java      generic-all
java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html                 generic-all
java/awt/font/Threads/FontThread.java                           generic-all
java/awt/print/PrinterJob/PrtException.java                     generic-all

# Fails with windows X64, othervm, -server
com/sun/awt/Translucency/WindowOpacity.java                     generic-all
java/awt/EventDispatchThread/HandleExceptionOnEDT/HandleExceptionOnEDT.java             generic-all
java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html generic-all
java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html generic-all
java/awt/Focus/FocusEmbeddedFrameTest/FocusEmbeddedFrameTest.java generic-all
java/awt/Frame/LayoutOnMaximizeTest/LayoutOnMaximizeTest.java   generic-all
java/awt/FullScreen/TranslucentWindow/TranslucentWindow.java    generic-all
java/awt/Mixing/MixingOnShrinkingHWButton.java                  generic-all
java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java      generic-all

############################################################################

# jdk_beans

# A large set of the beans tests set the security manager, which would seem
#  to indicate that a large number of them should be "othervm", yet are all
#  very small tests and could greatly benefit from a samevm test run.
#  So a large batch of beans tests are currently run with othervm mode.

# Filed 6986807
java/beans/Introspector/TestTypeResolver.java                   generic-all

# Filed 6986813
java/beans/Introspector/memory/Test4508780.java                 generic-all

# Linux, some kind of problems with X11 display
java/beans/PropertyChangeSupport/Test4682386.java               generic-all
java/beans/PropertyChangeSupport/TestSynchronization.java       generic-all
java/beans/Statement/Test4653179.java                           generic-all

# Runs REALLY slow on Solaris sparc for some reason, both -client and -server
java/beans/XMLEncoder/Test4625418.java                          solaris-sparc

# Problems with samevm and setting security manager (speculation partially)
java/beans/Introspector/4168475/Test4168475.java                generic-all
java/beans/Introspector/4520754/Test4520754.java                generic-all
java/beans/Introspector/6380849/TestBeanInfo.java               generic-all
java/beans/Introspector/Test4144543.java                        generic-all

# Failed to call method solaris-sparc???
java/beans/EventHandler/Test6788531.java                        generic-all

# Jar or class not found???
java/beans/XMLEncoder/6329581/Test6329581.java                  generic-all

############################################################################

# jdk_lang

# 7123972
java/lang/annotation/loaderLeak/Main.java			generic-all

# 7079093
java/lang/instrument/ManifestTest.sh                            windows-all

# 6944188
java/lang/management/ThreadMXBean/ThreadStateTest.java          generic-all

# 7067973
java/lang/management/MemoryMXBean/CollectionUsageThreshold.java generic-all

############################################################################

# jdk_management

# Failing, bug was filed: 6959636
javax/management/loading/LibraryLoader/LibraryLoaderTest.java   generic-all

# Access denied messages on windows/mks, filed 6954450
sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.sh      windows-all

# Fails on linux: KO: StringMonitor notification missed or not emitted
javax/management/monitor/NonComparableAttributeValueTest.java   generic-all

# Port conflict? Fails with communication error
sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.sh generic-all

# Fails on Windows 2000, Test failed for iiop java.lang.NullPointerException
#  at org.omg.stub.javax.management.remote.rmi._RMIConnectionImpl_Tie._invoke(Unknown Source)
#  at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:653)
javax/management/remote/mandatory/connection/ReconnectTest.java generic-all

# Solaris 10 sparc, NPE from org.omg.stub.javax.management.remote.rmi._RMIConnectionImpl_Tie._invoke
javax/management/remote/mandatory/threads/ExecutorTest.java     generic-all

# Linux 32bit Fedora 9, IllegalStateException
javax/management/monitor/RuntimeExceptionTest.java              generic-all

# Problems with rmi connection, othervm
javax/management/remote/mandatory/subjectDelegation/SubjectDelegation2Test.java generic-all

# Fails with port already in use
sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh generic-all

# Fails with port already in use
sun/management/jmxremote/bootstrap/RmiRegistrySslTest.sh        generic-all

# Windows, connection can't last that long
javax/management/eventService/LeaseTest.java                    generic-all

# Linux othervm, X64, java.lang.Exception: Failed: ratio=102.4027795593753
javax/management/remote/mandatory/notif/ListenerScaleTest.java  generic-all

# Windows run seems to have triggered a hotspot gc error (see 6801625)
com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.sh          generic-all

# rmi problem? othervm, java.lang.reflect.UndeclaredThrowableException
javax/management/remote/mandatory/subjectDelegation/SubjectDelegation3Test.java generic-all

# Linux Fedora 9 32bit NPE in rmi server somehere??? othervm
javax/management/remote/mandatory/notif/NotificationBufferDeadlockTest.java generic-all

# Times out on solaris sparc, with othervm
javax/management/eventService/AddRemoveListenerTest.java        generic-all

# Linux i586 and x64 -server, timed out waiting for threads to expire? othervm
javax/management/eventService/EventClientThreadTest.java        generic-all

# Linux i586 -server, Expected to receive 20, but got 21, othervm
#   Fails on Linux X64 -server 20!=21
javax/management/eventService/FetchingTest.java                 generic-all

# NPE on windows 2000 i586 -client and -server
javax/management/eventService/CustomForwarderTest.java          windows-all

# Windows i586 failure, callback did not complete
javax/management/eventService/LeaseManagerDeadlockTest.java     windows-all

# Port already in use
sun/management/jmxremote/bootstrap/LocalManagementTest.sh       generic-all

# Failed to initialize connector (also overflowing jtreg io buffers)
sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh          generic-all
sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh       generic-all

# Windows X64, java.lang.IllegalStateException
javax/management/monitor/AttributeArbitraryDataTypeTest.java    generic-all

############################################################################

# jdk_math

############################################################################

# jdk_misc

# 6988950
demo/jvmti/compiledMethodLoad/CompiledMethodLoadTest.java	generic-all

# Need to be marked othervm, or changed to be samevm safe
com/sun/jndi/rmi/registry/RegistryContext/UnbindIdempotent.java generic-all

# Need to be marked othervm, or changed to be samevm safe
com/sun/org/apache/xml/internal/security/transforms/ClassLoaderTest.java generic-all

# Solaris sparc and others, exception in initializer
javax/imageio/CachePremissionsTest/CachePermissionsTest.java    generic-all

# Leaves file rgba_* open, fails with windows samevm
javax/imageio/plugins/png/PngOutputTypeTest.java                generic-all

# Suspect test.png file is left open, windows samevm problems
javax/imageio/plugins/png/ITXtTest.java                         generic-all

# Solaris sparc and others, failed to compile testcase
javax/imageio/metadata/DOML3Node.java                           generic-all

# One of these tests is leaving file IMGP1001.JPG open, windows samevm
javax/imageio/plugins/jpeg/ConcurrentReadingTest.java           generic-all
javax/imageio/plugins/jpeg/ReadingInterruptionTest.java         generic-all

# One of these files is missing a close on writer_* files, windows samevm
javax/imageio/plugins/jpeg/ConcurrentWritingTest.java           generic-all
javax/imageio/plugins/jpeg/WritingInterruptionTest.java         generic-all

# Leaving file test.jpg open, windows samevm
javax/imageio/plugins/jpeg/ReadAsGrayTest.java                  generic-all

# Missing close on file wbmp*, windows samevm
javax/imageio/plugins/wbmp/CanDecodeTest.java                   generic-all

# Failures on OpenSolaris, cannot read input files? samevm issues?
javax/imageio/metadata/BooleanAttributes.java                   generic-all
javax/imageio/plugins/bmp/BMPSubsamplingTest.java               generic-all
javax/imageio/plugins/bmp/TopDownTest.java                      generic-all
javax/imageio/plugins/gif/EncodeSubImageTest.java               generic-all
javax/imageio/plugins/gif/GifTransparencyTest.java              generic-all
javax/imageio/plugins/png/GrayPngTest.java                      generic-all
javax/imageio/plugins/png/ItxtUtf8Test.java                     generic-all
javax/imageio/plugins/png/MergeStdCommentTest.java              generic-all
javax/imageio/plugins/png/ShortHistogramTest.java               generic-all
javax/imageio/plugins/shared/BitDepth.java                      generic-all

# Exclude all javax/print tests, even if they passed, they may need samevm work

# Times out on solaris-sparc, sparcv9, x64 -server, some on i586 -client
javax/print/attribute/autosense/PrintAutoSenseData.java         generic-all
javax/print/attribute/Chroma.java                               generic-all
javax/print/attribute/CollateAttr.java                          generic-all
javax/print/attribute/PSCopiesFlavorTest.java                   generic-all
javax/print/LookupServices.java                                 generic-all
javax/print/TestRaceCond.java                                   generic-all

# These tests really require a printer (might all be windows only tests?)
javax/print/CheckDupFlavor.java                                 generic-all
javax/print/PrintSE/PrintSE.sh                                  generic-all
javax/print/attribute/ChromaticityValues.java                   generic-all
javax/print/attribute/GetCopiesSupported.java                   generic-all
javax/print/attribute/SidesPageRangesTest.java                  generic-all
javax/print/attribute/SupportedPrintableAreas.java              generic-all
javax/print/attribute/AttributeTest.java                        generic-all

# Only print test left, excluding just because all print tests have been
javax/print/attribute/MediaMappingsTest.java                    generic-all

# Filed 7058852
javax/sound/sampled/FileWriter/AlawEncoderSync.java             generic-all

############################################################################

# jdk_net

# Filed 7052625
com/sun/net/httpserver/bugs/6725892/Test.java                   generic-all

# Filed 7036666
com/sun/net/httpserver/Test9a.java                              generic-all

# 7079145 java/net/ipv6tests/UdpTest.java hang at IPv6 only data exchange
java/net/ipv6tests/UdpTest.java                                 linux-all

# 7081476
java/net/InetSocketAddress/B6469803.java                        generic-all

# 7102670
java/net/InetAddress/CheckJNI.java                              linux-all

# failing on vista 32/64 on nightly
# 7102702
java/net/PortUnreachableException/OneExceptionOnly.java         windows-all
############################################################################

# jdk_io

# 6962637
java/io/File/MaxPathLength.java                                 windows-all

# 7076644
java/io/File/Basic.java                                         windows-all

############################################################################

# jdk_nio

# 6963118
java/nio/channels/Selector/Wakeup.java                          windows-all

# 7052549
java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java 	windows-all

############################################################################

# jdk_rmi

# Port already in use, fails on sparc, othervm
java/rmi/reliability/benchmark/runRmiBench.sh                   generic-all

# Already in use port issues? othervm solaris
java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java generic-all
java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java generic-all

java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java         generic-all
java/rmi/transport/dgcDeadLock/TestImpl_Stub.java                       generic-all

# Address already in use, othervm mode, solaris
java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod.java        generic-all
java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java  generic-all

# Registry already running on port, solaris
java/rmi/Naming/legalRegistryNames/LegalRegistryNames.java      generic-all

# Fails on Linux 32 and 64bit -server?, impl not garbage collected???
java/rmi/transport/pinLastArguments/PinLastArguments.java       generic-all

# Times out on solaris sparc
java/rmi/server/RemoteServer/AddrInUse.java                     generic-all

# Connection error on Windows i586 -server
#  Also connection errors in othervm on Solaris 10 sparc, same port???
sun/rmi/transport/tcp/DeadCachedConnection.java                 generic-all

# Connection errors in othervm on Solaris 10 sparc, same port???
java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java generic-all
java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations.java generic-all
java/rmi/activation/Activatable/checkImplClassLoader/CheckImplClassLoader.java generic-all
java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java generic-all
java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java generic-all
java/rmi/activation/Activatable/downloadParameterClass/DownloadParameterClass.java generic-all
java/rmi/activation/Activatable/extLoadedImpl/ext.sh generic-all
java/rmi/activation/Activatable/inactiveGroup/InactiveGroup.java generic-all
java/rmi/activation/Activatable/lookupActivationSystem/LookupActivationSystem.java generic-all
java/rmi/activation/Activatable/nestedActivate/NestedActivate.java generic-all
java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService.java generic-all
java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer.java generic-all
java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java generic-all
java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive.java generic-all
java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java generic-all
java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java generic-all
java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java generic-all
java/rmi/reliability/juicer/AppleUserImpl.java generic-all
java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java generic-all
java/rmi/server/UnicastRemoteObject/keepAliveDuringCall/KeepAliveDuringCall.java generic-all
java/rmi/transport/handshakeTimeout/HandshakeTimeout.java generic-all
java/rmi/activation/Activatable/restartService/RestartService.java generic-all
java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java generic-all
java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java generic-all
java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java generic-all
java/rmi/activation/CommandEnvironment/SetChildEnv.java generic-all
java/rmi/registry/classPathCodebase/ClassPathCodebase.java generic-all
java/rmi/registry/reexport/Reexport.java generic-all
java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java generic-all
java/rmi/server/Unreferenced/leaseCheckInterval/LeaseCheckInterval.java generic-all
java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext.java generic-all
java/rmi/server/useCustomRef/UseCustomRef.java generic-all
java/rmi/transport/checkFQDN/CheckFQDN.java generic-all
java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java generic-all
java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java generic-all
java/rmi/server/RMISocketFactory/useSocketFactory/registry/UseCustomSocketFactory.java generic-all
java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak.java generic-all

############################################################################

# jdk_security

# Failing on Solaris i586, 3/9/2010, not a -samevm issue (jdk_security3)
sun/security/pkcs11/Secmod/AddPrivateKey.java                   solaris-i586
sun/security/pkcs11/ec/ReadCertificates.java                    solaris-i586
sun/security/pkcs11/ec/ReadPKCS12.java                          solaris-i586
sun/security/pkcs11/ec/TestCurves.java                          solaris-i586
sun/security/pkcs11/ec/TestECDSA.java                           solaris-i586
#sun/security/pkcs11/ec/TestECGenSpec.java                      solaris-i586
#sun/security/pkcs11/ec/TestKeyFactory.java                     solaris-i586
sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java            solaris-i586

# Fails on Fedora 9/Ubuntu 10.04 64bit, PKCS11Exception: CKR_DEVICE_ERROR
sun/security/pkcs11/KeyAgreement/TestDH.java                    generic-all

# Run too slow on Solaris 10 sparc
sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/SSLSocketTimeoutNulls.java solaris-sparc
sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientTimeout.java solaris-sparc
sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ServerTimeout.java solaris-sparc
sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ReadTimeout.java solaris-sparc
sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh solaris-sparc

# Solaris 10 sparc, passed/failed confusion? java.security.ProviderException: update() failed
sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/AsyncSSLSocketClose.java generic-all

# Othervm, sparc, NoRouteToHostException: Cannot assign requested address
sun/security/ssl/javax/net/ssl/NewAPIs/SessionCacheSizeTests.java generic-all

# Times out on windows X64, othervm mode
#    Solaris sparc and sparcv9 -server, timeout
sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java generic-all

# Various failures on Linux Fedora 9 X64, othervm mode
sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/TestAllSuites.java generic-all
sun/security/ssl/sanity/ciphersuites/CheckCipherSuites.java     generic-all

# Various failures on Linux Fedora 9 X64, othervm mode
sun/security/ssl/sanity/interop/ClientJSSEServerJSSE.java       generic-all

# 7079203 sun/security/tools/keytool/printssl.sh fails on solaris with timeout
sun/security/tools/keytool/printssl.sh                          solaris-all

# 7081817
sun/security/provider/certpath/X509CertPath/IllegalCertiticates.java    generic-all

# 7041639, Solaris DSA keypair generation bug (Note: jdk_util also affected)
java/security/KeyPairGenerator/SolarisShortDSA.java             solaris-all
sun/security/tools/jarsigner/onlymanifest.sh                    solaris-all
sun/security/tools/jarsigner/ts.sh                              solaris-all
sun/security/tools/keytool/emptysubject.sh                      solaris-all
sun/security/tools/keytool/importreadall.sh                     solaris-all
sun/security/tools/keytool/readjar.sh                           solaris-all
sun/security/tools/keytool/selfissued.sh                        solaris-all
sun/security/tools/keytool/standard.sh                          solaris-all

############################################################################

# jdk_swing (not using samevm)

# Fails on solaris 11 i586, with othervm
javax/swing/JFileChooser/6570445/bug6570445.java                generic-all
javax/swing/JFileChooser/6738668/bug6738668.java                generic-all
javax/swing/JPopupMenu/6675802/bug6675802.java                  generic-all
javax/swing/system/6799345/TestShutdown.java                    generic-all

############################################################################

# jdk_text

# Linux x64 occasional errors, no details
java/text/Bidi/Bug6665028.java                                  linux-x64

############################################################################

# jdk_tools

# Filed 6952105
com/sun/jdi/SuspendThreadTest.java                              generic-all

# Filed 6653793
com/sun/jdi/RedefineCrossEvent.java                             generic-all

# Filed 6987312
com/sun/jdi/DoubleAgentTest.java                                generic-all

# Filed 7020857
com/sun/jdi/FieldWatchpoints.java                               generic-all

# Filed 6402201
com/sun/jdi/ProcessAttachTest.sh                                generic-all

# Filed 6986875
sun/tools/jps/jps-Vvml.sh                                       generic-all

# Filed 6979016
sun/tools/jconsole/ResourceCheckTest.sh                         generic-all

############################################################################

# jdk_util

# Filed 7027061
java/util/Locale/Bug6989440.java                                windows-all

# Filed 6933803
java/util/concurrent/ThreadPoolExecutor/CoreThreadTimeOut.java  generic-all

# Filed 7022325
# Fails with assertion error on windows
#   11 separate stacktraces created... file reuse problem?
java/util/zip/ZipFile/ReadLongZipFileName.java                  generic-all

# Filed 6772009
java/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java generic-all

# 7041639, Solaris DSA keypair generation bug
java/util/TimeZone/TimeZoneDatePermissionCheck.sh               solaris-all

############################################################################

