jdk/test/TEST.groups
author ykantser
Fri, 13 Feb 2015 13:17:13 +0100
changeset 29069 938c1c97ad3b
parent 28667 2245cc40bf5d
child 29025 1666487d0254
child 28962 e3028445a1ff
permissions -rw-r--r--
8073132: Eliminate ProcessTools.getProcessId dependency on sun.management.VMManagement Reviewed-by: jbachorik, dfuchs, mchung

#  Copyright (c) 2013, 2014, 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/nio

jdk_net = \
    java/net \
    com/sun/net/httpserver \
    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/oracle/security/ucrypto \
    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 \
    sun/net/www/protocol/https \
    com/sun/net/ssl \
    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

# java launcher specific tests, Note: do not include this group into any groups
# that potentially could be included into a jprt test rule, as the complementary
# closed  group includes awt SplashScreen and these tests may not run 
# satisfacotorily on all platforms and  profiles thus this group must always 
# be a stand-alone group
jdk_launcher = \
    tools/launcher \
    sun/tools
    
#
# Tool (and tool API) tests are split into core and svc groups
#
core_tools = \
    tools \
    jdk/internal/jimage \
    jdk/internal/jrtfs \
    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 \
    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

###############################################################################
#
# Serviceability sanity groups
#
# These groups specify a subset of Serviceability tests that are supposed to
# guard against breakage of Serviceability features by other component teams.
# They are added to the "hotspot" testset in JPRT so that they will run on all
# full-forest pushes through JPRT.
#

jdk_svc_sanity = \
    :jdk_management_sanity \
    :jdk_instrument_sanity \
    :jdk_jmx_sanity \
    :jdk_jdi_sanity \
    :svc_tools_sanity

jdk_management_sanity =

jdk_instrument_sanity =

jdk_jmx_sanity =

jdk_jdi_sanity = \
    com/sun/jdi/AcceptTimeout.java \
    com/sun/jdi/AccessSpecifierTest.java \
    com/sun/jdi/AfterThreadDeathTest.java \
    com/sun/jdi/ArrayRangeTest.java \
    com/sun/jdi/ConstantPoolInfo.java \
    com/sun/jdi/CountFilterTest.java \
    com/sun/jdi/EarlyReturnNegativeTest.java \
    com/sun/jdi/EarlyReturnTest.java \
    com/sun/jdi/FieldWatchpoints.java \
    com/sun/jdi/FramesTest.java \
    com/sun/jdi/InstanceFilter.java \
    com/sun/jdi/InterfaceMethodsTest.java \
    com/sun/jdi/InvokeTest.java \
    com/sun/jdi/LocalVariableEqual.java \
    com/sun/jdi/LocationTest.java \
    com/sun/jdi/ModificationWatchpoints.java \
    com/sun/jdi/MonitorEventTest.java \
    com/sun/jdi/MonitorFrameInfo.java \
    com/sun/jdi/NullThreadGroupNameTest.java \
    com/sun/jdi/PopAndStepTest.java \
    com/sun/jdi/PopAsynchronousTest.java \
    com/sun/jdi/ProcessAttachTest.java \
    com/sun/jdi/ReferrersTest.java \
    com/sun/jdi/RequestReflectionTest.java \
    com/sun/jdi/ResumeOneThreadTest.java \
    com/sun/jdi/RunToExit.java \
    com/sun/jdi/SourceNameFilterTest.java \
    com/sun/jdi/VarargsTest.java \
    com/sun/jdi/Vars.java \
    com/sun/jdi/redefineMethod/RedefineTest.java \
    com/sun/jdi/sde/MangleTest.java \
    com/sun/jdi/sde/TemperatureTableTest.java

svc_tools_sanity =

#############################
#
# Stable test groups
#

jdk_stable = \
    :jdk_core \
    :jdk_svc \
    :jdk_beans \
    :jdk_imageio \
    :jdk_sound \
    :jdk_sctp \
    javax/accessibility \
    com/sun/java/swing \
    sun/pisces \
    com/sun/awt


###############################################################################
# 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/TestLoggerWeakRefLeak.java \
  java/util/zip/3GBZipFiles.sh \
  jdk/lambda/FDTest.java \
  jdk/lambda/separate/Compiler.java \
  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 \
  com/oracle/security/ucrypto/Test8004873.java \
  com/oracle/security/ucrypto/TestAES.java \
  com/oracle/security/ucrypto/TestDigest.java \
  com/oracle/security/ucrypto/TestRSA.java \
  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/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/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/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/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java \
  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