#  Copyright (c) 2013, 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.
#

# java.lang package and VM runtime support
jdk_lang = \
    java/lang \
    -java/lang/management \
    -java/lang/instrument \
    sun/invoke \
    sun/misc \
    sun/reflect \
    jdk/lambda \
    vm

# All of the java.util package
jdk_util = \
    :jdk_util_other \
    :jdk_collections \
    :jdk_concurrent \
    :jdk_stream

# All util components not part of some other util category
jdk_util_other = \
    java/util \
    sun/util \
    -:jdk_collections \
    -:jdk_concurrent \
    -:jdk_stream

# java.util.concurrent (JSR-166)
# Maintained by JSR-166 EG (Doug Lea et al)
# Deque and PriorityQueue are also generally maintained by JSR-166
jdk_concurrent = \
    java/util/concurrent \
    java/util/Deque \
    java/util/PriorityQueue

# Java Collections Framework
jdk_collections = \
    java/util/AbstractCollection \
    java/util/AbstractList \
    java/util/AbstractMap \
    java/util/AbstractSequentialList \
    java/util/ArrayList \
    java/util/Arrays \
    java/util/BitSet \
    java/util/Collection \
    java/util/Collections \
    java/util/EnumMap \
    java/util/EnumSet \
    java/util/Comparator \
    java/util/Iterator \
    java/util/HashMap \
    java/util/Hashtable \
    java/util/IdentityHashMap \
    java/util/List \
    java/util/LinkedHashMap \
    java/util/LinkedHashSet \
    java/util/LinkedList \
    java/util/Map \
    java/util/NavigableMap \
    java/util/TimSort \
    java/util/TreeMap \
    java/util/Vector \
    java/util/WeakHashMap

# java.util.stream (JSR-335)
jdk_stream = \
    java/util/Optional \
    java/util/function \
    java/util/stream

jdk_math = \
    java/math

jdk_io = \
    java/io

jdk_nio = \
    java/nio \
    sun/nio

jdk_net = \
    java/net \
    com/sun/net \
    com/oracle/net \
    sun/net \
    jdk/net

jdk_time = \
    java/time

jdk_rmi = \
    java/rmi \
    javax/rmi/ssl \
    sun/rmi

jdk_security1 = \
    java/security

jdk_security2 = \
    javax/crypto \
    javax/xml/crypto \
    com/sun/crypto

jdk_security3 = \
    javax/security  \
    -javax/security/auth/kerberos \
    com/sun/security \
    -com/sun/security/jgss \
    com/sun/org/apache/xml/internal/security \
    sun/security \
    -sun/security/krb5 \
    -sun/security/jgss \
    javax/net \
    lib/security

jdk_security4 = \
    com/sun/security/jgss \
    javax/security/auth/kerberos \
    sun/security/krb5 \
    sun/security/jgss

jdk_security = \
    :jdk_security1 \
    :jdk_security2 \
    :jdk_security3 \
    :jdk_security4

jdk_text = \
    java/text \
    sun/text

jdk_management = \
    java/lang/management \
    com/sun/management \
    sun/management

jdk_instrument = \
    java/lang/instrument

jdk_jmx = \
    javax/management \
    com/sun/jmx

jdk_jdi = \
    com/sun/jdi

#
# Tool (and tool API) tests are split into core and svc groups
#
core_tools = \
    tools \
    com/sun/tools/extcheck \
    sun/tools/java \
    sun/tools/native2ascii \
    sun/tools/jrunscript

svc_tools = \
    com/sun/tools/attach \
    com/sun/tracing \
    sun/tools \
    -sun/tools/java \
    -sun/tools/native2ascii \
    -sun/tools/jrunscript \
    sun/jvmstat \
    demo/jvmti

jdk_tools = \
    :core_tools \
    :svc_tools

#
# Catch-all for other areas with a small number of tests
#
jdk_other = \
    java/sql \
    javax/sql \
    javax/naming \
    javax/script \
    javax/smartcardio \
    javax/xml \
    -javax/xml/crypto \
    jdk/asm \
    com/sun/jndi \
    com/sun/corba \
    lib/testlibrary \
    demo/zipfs \
    sample

#
# SCTP is its own group as it is highly sensitive to kernel/network config
#
jdk_sctp = \
    com/sun/nio/sctp


#
# core group to run all core area tests
#
jdk_core = \
    :jdk_lang \
    :jdk_util \
    :jdk_math \
    :jdk_io \
    :jdk_nio \
    :jdk_net \
    :jdk_rmi \
    :jdk_time \
    :jdk_security \
    :jdk_text \
    :core_tools \
    :jdk_other

#
# svc group to run all serviceability area tests
#
jdk_svc = \
    :jdk_management \
    :jdk_instrument \
    :jdk_jmx \
    :jdk_jdi \
    :svc_tools

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

#
# Client area groups
#

jdk_awt = \
    java/awt \
    com/sun/awt \
    com/apple/eawt \
    sun/awt

jdk_2d = \
    javax/print \
    sun/pisces  \
    sun/java2d

jdk_beans = \
    java/beans

jdk_swing = \
    javax/accessibility \
    javax/swing \
    com/sun/java/swing

jdk_sound = \
    javax/sound

jdk_imageio = \
    javax/imageio

jdk_desktop = \
    :jdk_awt \
    :jdk_2d \
    :jdk_beans \
    :jdk_swing \
    :jdk_sound \
    :jdk_imageio

###############################################################################
# Profile-based Test Group Definitions
#
# These groups define the tests that cover the different possible runtimes:
# - compact1, compact2, compact3, full JRE, JDK
#
# In addition they support testing of the minimal VM on compact1 and compact2.
# Essentially this defines groups based around the specified API's and VM 
# services available in the runtime.
#
# The groups are defined hierarchically in two forms:
# - The need_xxx groups list all the tests that have a dependency on
# a specific profile. This is either because it tests a feature in
# that profile, or the test infrastructure uses a feature in that
# profile.
# - The primary groups are defined in terms of the other primary groups
# combined with the needs_xxx groups (including and excluding them as
# appropriate). For example the jre can run all tests from compact3, plus
# those from needs_jre, but excluding those from need_jdk.
#
# The bottom group defines all the actual tests to be considered, simply
# by listing the top-level test directories.

# Full JDK can run all tests
#
jdk = \
  :jre \
  :needs_jdk

# Tests that require a full JDK to execute. Either they test a feature
# only in the JDK or they use tools that are only in the JDK. The latter
# can be resolved in some cases by using tools from the compile-jdk.
#
needs_jdk = \
  :jdk_jdi \
  com/sun/tools \
  demo \
  sun/security/tools/jarsigner \
  sun/rmi/rmic \
  sun/tools \
  sun/jvmstat \
  tools \
  com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java \
  java/io/Serializable/serialver \
  java/lang/invoke/lambda/LambdaAccessControlDoPrivilegedTest.java \
  java/lang/invoke/lambda/LambdaAccessControlTest.java \
  java/lang/invoke/lambda/LambdaAsm.java \
  java/lang/System/MacEncoding/TestFileEncoding.java \
  java/net/URLClassLoader/closetest/GetResourceAsStream.java \
  java/util/Collections/EmptyIterator.java \
  java/util/concurrent/locks/Lock/TimedAcquireLeak.java \
  java/util/jar/JarInputStream/ExtraFileInMetaInf.java \
  java/util/logging/AnonLoggerWeakRefLeak.sh \
  java/util/logging/LoggerWeakRefLeak.sh \
  java/util/zip/3GBZipFiles.sh \
  jdk/lambda/FDTest.java \
  jdk/lambda/separate/Compiler.java \
  sun/management/jdp/JdpTest.sh \
  sun/management/jmxremote/bootstrap/JvmstatCountersTest.java \
  sun/management/jmxremote/bootstrap/LocalManagementTest.java \
  sun/management/jmxremote/bootstrap/CustomLauncherTest.java \
  sun/misc/JarIndex/metaInfFilenames/Basic.java \
  sun/misc/JarIndex/JarIndexMergeForClassLoaderTest.java \
  sun/reflect/CallerSensitive/CallerSensitiveFinder.java \
  sun/reflect/CallerSensitive/MissingCallerSensitive.java \
  sun/security/util/Resources/NewNamesFormat.java \
  vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java \
  javax/xml/ws/clientjar/TestWsImport.java 

# JRE adds further tests to compact3
#
jre = \
  :compact3 \
  :needs_jre \
 -:needs_jdk

# Tests that require the full JRE
#
needs_jre = \
  :needs_charsets \
  :jdk_desktop \
  com/sun/corba \
  com/sun/jndi/cosnaming \
  sun/net/ftp \
  sun/net/www/protocol/ftp \
  sun/security/tools/policytool \
  java/net/URI/URItoURLTest.java \
  java/net/URL/URIToURLTest.java \
  java/net/URLConnection/HandleContentTypeWithAttrs.java \
  java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh \
  java/security/Security/ClassLoaderDeadlock/Deadlock.sh \
  java/util/jar/Manifest/CreateManifest.java \
  java/util/logging/Listeners.java \
  java/util/logging/ListenersWithSM.java \
  java/util/logging/TestMainAppContext.java \
  java/util/logging/TestLoggingWithMainAppContext.java \
  java/util/ResourceBundle/Control/Bug6530694.java \
  java/text/Bidi/BidiConformance.java \
  java/text/Bidi/BidiEmbeddingTest.java \
  java/text/Bidi/Bug7042148.java \
  java/text/Bidi/Bug7051769.java \
  javax/crypto/Cipher/CipherStreamClose.java \
  javax/management/monitor/AttributeArbitraryDataTypeTest.java \
  javax/management/mxbean/AmbiguousConstructorTest.java \
  javax/management/mxbean/ExceptionDiagnosisTest.java \
  javax/management/mxbean/LeakTest.java \
  javax/management/mxbean/MXBeanTest.java \
  javax/management/mxbean/PropertyNamesTest.java \
  jdk/lambda/vm/InterfaceAccessFlagsTest.java \
  sun/misc/URLClassPath/ClassnameCharTest.java

# Tests dependent on the optional charsets.jar
# These are isolated for easy exclusions
#
needs_charsets = \
  java/io/OutputStreamWriter/TestWrite.java \
  java/nio/charset/RemovingSunIO/SunioAlias.java \
  java/nio/charset/coders/Check.java \
  java/nio/charset/Charset/CharsetContainmentTest.java \
  java/nio/charset/Charset/Contains.java \
  java/nio/charset/Charset/NIOCharsetAvailabilityTest.java \
  java/nio/charset/Charset/RegisteredCharsets.java \
  java/nio/charset/CharsetEncoder/Flush.java \
  java/nio/charset/coders/CheckSJISMappingProp.sh \
  java/nio/charset/coders/ResetISO2022JP.java \
  java/util/Locale/InternationalBAT.java \
  java/util/Locale/LocaleProviders.sh \
  java/util/Calendar/CldrFormatNamesTest.java \
  java/util/TimeZone/CLDRDisplayNamesTest.java \
  java/util/zip/ZipCoding.java \
  sun/nio/cs/EucJpLinux0212.java \
  sun/nio/cs/EUCJPUnderflowDecodeTest.java \
  sun/nio/cs/EuroConverter.java \
  sun/nio/cs/JISAutoDetectTest.java \
  sun/nio/cs/OLD/TestIBMDB.java \
  sun/nio/cs/SJISCanEncode.java \
  sun/nio/cs/Test6254467.java \
  sun/nio/cs/TestCompoundTest.java \
  sun/nio/cs/TestCp834_SBCS.java \
  sun/nio/cs/TestEUC_TW.java \
  sun/nio/cs/TestISO2022CNDecoder.java \
  sun/nio/cs/TestISO2022JPEncoder.java \
  sun/nio/cs/TestISO2022JPSubBytes.java \
  sun/nio/cs/TestIllegalSJIS.java \
  sun/nio/cs/TestJIS0208Decoder.java \
  sun/nio/cs/TestJIS0212Decoder.java \
  sun/nio/cs/TestMiscEUC_JP.java \
  sun/nio/cs/TestSJIS0213_SM.java \
  sun/nio/cs/BufferUnderflowEUCTWTest.java \
  sun/nio/cs/CheckCaseInsensitiveEncAliases.java \
  sun/nio/cs/CheckHistoricalNames.java \
  sun/nio/cs/EucJpLinuxDecoderRecoveryTest.java \
  sun/nio/cs/HWKatakanaMS932EncodeTest.java \
  sun/nio/cs/ISCIITest.java \
  sun/nio/cs/LatinCharReplacementTWTest.java \
  sun/nio/cs/NIOJISAutoDetectTest.java \
  sun/nio/cs/StreamEncoderClose.java \
  sun/nio/cs/SurrogateGB18030Test.java \
  sun/nio/cs/SurrogateTestEUCTW.java \
  sun/nio/cs/SurrogateTestHKSCS.java \
  sun/nio/cs/TestConverterDroppedCharacters.java \
  sun/nio/cs/TestCp93xSISO.java \
  sun/nio/cs/TestIBM1364.java \
  sun/nio/cs/TestIBMBugs.java \
  sun/nio/cs/TestIllegalISO2022Esc.java \
  sun/nio/cs/TestISO2022JP.java \
  sun/nio/cs/TestMS5022X.java \
  sun/nio/cs/TestSJIS0213.java \
  sun/nio/cs/TestTrailingEscapesISO2022JP.java \
  sun/nio/cs/TestUni2HKSCS.java \
  sun/nio/cs/ZeroedByteArrayEUCTWTest.java

# Compact 3 adds further tests to compact2
#
compact3 = \
  :compact2 \
  :needs_compact3 \
 -:needs_jre \
 -:needs_jdk


# Tests that require compact3 API's
#
needs_compact3 = \
  :jdk_instrument \
  :jdk_jmx \
  :jdk_management \
  :jdk_sctp \
  com/sun/jndi \
  com/sun/org/apache/xml/internal/security \
  com/sun/security/auth \
  com/sun/security/sasl \
  com/sun/security/jgss \
  com/sun/tracing \
  java/util/prefs \
  javax/naming \
  javax/security \
  javax/smartcardio \
  javax/sql/rowset \
  javax/xml/crypto \
  sun/security/acl \
  sun/security/jgss \
  sun/security/krb5 \
  java/lang/annotation/AnnotationType/AnnotationTypeDeadlockTest.java \
  java/lang/System/MacEncoding/TestFileEncoding.java \
  java/nio/channels/AsynchronousSocketChannel/Leaky.java \
  java/security/PermissionCollection/Concurrent.java \
  java/security/Principal/Implies.java \
  java/security/cert/GetInstance.java \
  java/util/logging/DrainFindDeadlockTest.java \
  java/util/logging/LoggingMXBeanTest.java \
  java/util/logging/TestLogConfigurationDeadLock.java \
  java/util/logging/TestLoggerBundleSync.java \
  sun/net/www/http/KeepAliveCache/B5045306.java \
  sun/security/provider/PolicyFile/Alias.java \
  sun/security/provider/PolicyFile/Comparator.java \
  sun/security/provider/PolicyFile/SelfWildcard.java \
  sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineDeadlock.java \
  sun/security/util/Oid/OidFormat.java \
  sun/security/util/Resources/Format.java \
  sun/security/util/Resources/NewNamesFormat.java

# Compact 2 adds full VM tests
compact2 = \
  :compact2_minimal \
  :compact1 \
  :needs_full_vm_compact2 \
 -:needs_compact3 \
 -:needs_jre \
 -:needs_jdk

# Tests that require compact2 API's and a full VM
#  
needs_full_vm_compact2 =

# Minimal VM on Compact 2 adds in some compact2 tests
#
compact2_minimal = \
  :compact1_minimal \
  :needs_compact2 \
 -:needs_compact3 \
 -:needs_jre \
 -:needs_jdk

# Tests that require compact2 API's
#
needs_compact2 = \
  :jdk_rmi \
  :jdk_time \
  com/sun/org/apache \
  com/sun/net/httpserver \
  java/sql \
  javax/sql \
  javax/xml \
  jdk/lambda \
  sun/net/www/http \
  sun/net/www/protocol/http \
  java/io/BufferedReader/Lines.java  \
  java/lang/reflect/DefaultStaticTest/DefaultStaticInvokeTest.java \
  java/lang/CharSequence/DefaultTest.java  \
  java/lang/IntegralPrimitiveToString.java  \
  java/lang/PrimitiveSumMinMaxTest.java  \
  java/lang/String/StringJoinTest.java  \
  java/lang/Thread/StopThrowable.java  \
  java/net/Authenticator/B4769350.java \
  java/net/Authenticator/Deadlock.java \
  java/net/CookieHandler/LocalHostCookie.java \
  java/net/CookieHandler/CookieManagerTest.java \
  java/net/CookieHandler/EmptyCookieHeader.java \
  java/net/HttpCookie/IllegalCookieNameTest.java \
  java/net/HttpURLConnection/UnmodifiableMaps.java \
  java/net/ResponseCache/Test.java \
  java/net/URLClassLoader/ClassLoad.java \
  java/net/URLClassLoader/closetest/CloseTest.java \
  java/net/URLPermission/URLTest.java \
  java/nio/Buffer/Chars.java  \
  java/nio/file/Files/StreamTest.java  \
  java/security/BasicPermission/Wildcard.java \
  java/util/Arrays/ParallelPrefix.java  \
  java/util/Arrays/SetAllTest.java  \
  java/util/BitSet/BitSetStreamTest.java  \
  java/util/Collection/CollectionDefaults.java  \
  java/util/Collections/CheckedIdentityMap.java  \
  java/util/Collections/CheckedMapBash.java  \
  java/util/Collections/CheckedSetBash.java  \
  java/util/Collections/EmptyCollectionSerialization.java  \
  java/util/Collections/EmptyNavigableMap.java  \
  java/util/Collections/EmptyNavigableSet.java  \
  java/util/Collections/UnmodifiableMapEntrySet.java  \
  java/util/Comparator/BasicTest.java  \
  java/util/Comparator/TypeTest.java  \
  java/util/Iterator/IteratorDefaults.java  \
  java/util/Iterator/PrimitiveIteratorDefaults.java  \
  java/util/List/ListDefaults.java  \
  java/util/Map/BasicSerialization.java  \
  java/util/Map/Defaults.java  \
  java/util/Map/EntryComparators.java  \
  java/util/Optional/Basic.java  \
  java/util/Optional/BasicDouble.java  \
  java/util/Optional/BasicInt.java  \
  java/util/Optional/BasicLong.java  \
  java/util/Random/RandomStreamTest.java  \
  java/util/ResourceBundle/Bug6359330.java  \
  java/util/Spliterator/SpliteratorCharacteristics.java  \
  java/util/Spliterator/SpliteratorCollisions.java  \
  java/util/Spliterator/SpliteratorLateBindingFailFastTest.java  \
  java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java  \
  java/util/StringJoiner/MergeTest.java  \
  java/util/StringJoiner/StringJoinerTest.java  \
  java/util/concurrent/atomic/AtomicReferenceTest.java  \
  java/util/function/BinaryOperator/BasicTest.java  \
  java/util/logging/LoggerSupplierAPIsTest.java  \
  java/util/zip/ZipFile/StreamZipEntriesTest.java \
  java/util/zip/ZipFile/DeleteTempJar.java \
  javax/crypto/Cipher/CipherStreamClose.java \
  sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java \
  sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java 

# Compact 1 adds full VM tests
#
compact1 = \
  :compact1_minimal \
  :needs_full_vm_compact1 \
 -:needs_compact2 \
 -:needs_full_vm_compact2 \
 -:needs_compact3 \
 -:needs_jre \
 -:needs_jdk

# Tests that require compact1 API's and a full VM
#
needs_full_vm_compact1 =

# All tests that run on the most minimal configuration: Minimal VM on Compact 1
compact1_minimal = \
  com \
  java \
  javax \
  jdk \
  lib \
  sample \
  sun \
  vm \
 -:needs_full_vm_compact1 \
 -:needs_full_vm_compact2 \
 -:needs_compact2 \
 -:needs_compact3 \
 -:needs_jre \
 -:needs_jdk
