1 #  Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
   2 #  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   3 #
   4 #  This code is free software; you can redistribute it and/or modify it
   5 #  under the terms of the GNU General Public License version 2 only, as
   6 #  published by the Free Software Foundation.
   7 #
   8 #  This code is distributed in the hope that it will be useful, but WITHOUT
   9 #  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  10 #  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  11 #  version 2 for more details (a copy is included in the LICENSE file that
  12 #  accompanied this code).
  13 #
  14 #  You should have received a copy of the GNU General Public License version
  15 #  2 along with this work; if not, write to the Free Software Foundation,
  16 #  Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  17 #
  18 #  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  19 #  or visit www.oracle.com if you need additional information or have any
  20 #  questions.
  21 #
  22 
  23 jdk_lang = \
  24     java/lang \
  25     -java/lang/management \
  26     -java/lang/instrument \
  27     sun/invoke \
  28     sun/misc \
  29     sun/reflect \
  30     jdk/lambda \
  31     vm
  32 
  33 jdk_util = \
  34     java/util \
  35     sun/util
  36 
  37 jdk_math = \
  38     java/math
  39 
  40 jdk_io = \
  41     java/io
  42 
  43 jdk_nio = \
  44     java/nio \
  45     sun/nio
  46 
  47 jdk_net = \
  48     java/net \
  49     com/sun/net \
  50     com/oracle/net \
  51     sun/net
  52 
  53 jdk_time = \
  54     java/time
  55 
  56 jdk_rmi = \
  57     java/rmi \
  58     javax/rmi/ssl \
  59     sun/rmi
  60 
  61 jdk_security1 = \
  62     java/security
  63 
  64 jdk_security2 = \
  65     javax/crypto \
  66     javax/xml/crypto \
  67     com/sun/crypto
  68 
  69 jdk_security3 = \
  70     javax/security  \
  71     com/sun/security \
  72     com/sun/org/apache/xml/internal/security \
  73     com/oracle/security \
  74     sun/security \
  75     lib/security
  76 
  77 jdk_security = \
  78     :jdk_security1 \
  79     :jdk_security2 \
  80     :jdk_security3
  81 
  82 jdk_text = \
  83     java/text \
  84     sun/text
  85 
  86 jdk_management = \
  87     java/lang/management \
  88     com/sun/management \
  89     sun/management
  90 
  91 jdk_instrument = \
  92     java/lang/instrument
  93 
  94 jdk_jmx = \
  95     javax/management \
  96     com/sun/jmx
  97 
  98 jdk_jdi = \
  99     com/sun/jdi
 100 
 101 #
 102 # Tool (and tool API) tests are split into core and svc groups
 103 #
 104 core_tools = \
 105     tools \
 106     com/sun/tools/extcheck \
 107     sun/tools/java \
 108     sun/tools/native2ascii \
 109     sun/tools/jrunscript
 110 
 111 svc_tools = \
 112     com/sun/tools/attach \
 113     com/sun/tracing \
 114     sun/tools \
 115     -sun/tools/java \
 116     -sun/tools/native2ascii \
 117     -sun/tools/jrunscript \
 118     sun/jvmstat \
 119     demo/jvmti
 120 
 121 jdk_tools = \
 122     :core_tools \
 123     :svc_tools
 124 
 125 #
 126 # Catch-all for other areas with a small number of tests
 127 #
 128 jdk_other = \
 129     java/sql \
 130     javax/sql \
 131     javax/naming \
 132     javax/script \
 133     javax/smartcardio \
 134     javax/xml \
 135     -javax/xml/crypto \
 136     jdk/asm \
 137     com/sun/jndi \
 138     com/sun/corba \
 139     lib/testlibrary \
 140     demo/zipfs \
 141     sample
 142 
 143 #
 144 # SCTP is its own group as it is highly sensitive to kernel/network config
 145 #
 146 jdk_sctp = \
 147     com/sun/nio/sctp
 148 
 149 
 150 #
 151 # core group to run all core area tests
 152 #
 153 jdk_core = \
 154     :jdk_lang \
 155     :jdk_util \
 156     :jdk_math \
 157     :jdk_io \
 158     :jdk_nio \
 159     :jdk_net \
 160     :jdk_rmi \
 161     :jdk_time \
 162     :jdk_security \
 163     :jdk_text \
 164     :core_tools \
 165     :jdk_other
 166 
 167 #
 168 # svc group to run all serviceability area tests
 169 #
 170 jdk_svc = \
 171     :jdk_management \
 172     :jdk_instrument \
 173     :jdk_jmx \
 174     :jdk_jdi \
 175     :svc_tools
 176 
 177 #############################
 178 
 179 #
 180 # Client area groups
 181 #
 182 
 183 jdk_awt = \
 184     java/awt \
 185     com/sun/awt \
 186     com/apple/eawt \
 187     sun/awt
 188 
 189 jdk_2d = \
 190     javax/print \
 191     sun/pisces  \
 192     sun/java2d
 193 
 194 jdk_beans = \
 195     java/beans
 196 
 197 jdk_swing = \
 198     javax/accessibility \
 199     javax/swing \
 200     com/sun/java/swing
 201 
 202 jdk_sound = \
 203     javax/sound
 204 
 205 jdk_imageio = \
 206     javax/imageio
 207 
 208 jdk_desktop = \
 209     :jdk_awt \
 210     :jdk_2d \
 211     :jdk_beans \
 212     :jdk_swing \
 213     :jdk_sound \
 214     :jdk_imageio
 215 
 216 ###############################################################################
 217 # Profile-based Test Group Definitions
 218 #
 219 # These groups define the tests that cover the different possible runtimes:
 220 # - compact1, compact2, compact3, full JRE, JDK
 221 #
 222 # In addition they support testing of the minimal VM on compact1 and compact2.
 223 # Essentially this defines groups based around the specified API's and VM 
 224 # services available in the runtime.
 225 #
 226 # The groups are defined hierarchically in two forms:
 227 # - The need_xxx groups list all the tests that have a dependency on
 228 # a specific profile. This is either because it tests a feature in
 229 # that profile, or the test infrastructure uses a feature in that
 230 # profile.
 231 # - The primary groups are defined in terms of the other primary groups
 232 # combined with the needs_xxx groups (including and excluding them as
 233 # appropriate). For example the jre can run all tests from compact3, plus
 234 # those from needs_jre, but excluding those from need_jdk.
 235 #
 236 # The bottom group defines all the actual tests to be considered, simply
 237 # by listing the top-level test directories.
 238 
 239 # Full JDK can run all tests
 240 #
 241 jdk = \
 242   :jre \
 243   :needs_jdk
 244 
 245 # Tests that require a full JDK to execute. Either they test a feature
 246 # only in the JDK or they use tools that are only in the JDK. The latter
 247 # can be resolved in some cases by using tools from the compile-jdk.
 248 #
 249 needs_jdk = \
 250   :jdk_jdi \
 251   com/sun/tools \
 252   demo \
 253   sun/security/tools/jarsigner \
 254   sun/rmi/rmic \
 255   sun/tools \
 256   sun/jvmstat \
 257   tools \
 258   com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java \
 259   java/io/Serializable/serialver \
 260   java/lang/invoke/lambda/LambdaAccessControlDoPrivilegedTest.java \
 261   java/lang/invoke/lambda/LambdaAccessControlTest.java \
 262   java/lang/System/MacEncoding/TestFileEncoding.java \
 263   java/net/URLClassLoader/closetest/GetResourceAsStream.java \
 264   java/util/Collections/EmptyIterator.java \
 265   java/util/concurrent/locks/Lock/TimedAcquireLeak.java \
 266   java/util/jar/Manifest/CreateManifest.java \
 267   java/util/jar/JarInputStream/ExtraFileInMetaInf.java \
 268   java/util/logging/AnonLoggerWeakRefLeak.sh \
 269   java/util/logging/LoggerWeakRefLeak.sh \
 270   java/util/zip/3GBZipFiles.sh \
 271   jdk/lambda/FDTest.java \
 272   jdk/lambda/separate/Compiler.java \
 273   sun/management/jdp/JdpTest.sh \
 274   sun/management/jmxremote/bootstrap/JvmstatCountersTest.java \
 275   sun/management/jmxremote/bootstrap/LocalManagementTest.sh \
 276   sun/misc/JarIndex/metaInfFilenames/Basic.java \
 277   sun/misc/JarIndex/JarIndexMergeForClassLoaderTest.java \
 278   sun/reflect/CallerSensitive/CallerSensitiveFinder.java \
 279   sun/reflect/CallerSensitive/MissingCallerSensitive.java \
 280   sun/security/util/Resources/NewNamesFormat.java \
 281   vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java
 282 
 283 # JRE adds further tests to compact3
 284 #
 285 jre = \
 286   :compact3 \
 287   :needs_jre \
 288  -:needs_jdk
 289 
 290 # Tests that require the full JRE
 291 #
 292 needs_jre = \
 293   :needs_charsets \
 294   :jdk_desktop \
 295   com/sun/corba \
 296   com/sun/jndi/cosnaming \
 297   sun/net/ftp \
 298   sun/net/www/protocol/ftp \
 299   sun/security/tools/policytool \
 300   java/net/URI/URItoURLTest.java \
 301   java/net/URL/URIToURLTest.java \
 302   java/net/URLConnection/HandleContentTypeWithAttrs.java \
 303   java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh \
 304   java/security/Security/ClassLoaderDeadlock/Deadlock.sh \
 305   java/util/logging/Listeners.java \
 306   java/util/logging/ListenersWithSM.java \
 307   java/util/ResourceBundle/Control/Bug6530694.java \
 308   java/text/Bidi/BidiConformance.java \
 309   java/text/Bidi/BidiEmbeddingTest.java \
 310   java/text/Bidi/Bug6665028.java \
 311   java/text/Bidi/Bug7042148.java \
 312   java/text/Bidi/Bug7051769.java \
 313   javax/crypto/Cipher/CipherStreamClose.java \
 314   javax/management/monitor/AttributeArbitraryDataTypeTest.java \
 315   jdk/lambda/vm/InterfaceAccessFlagsTest.java \
 316   sun/misc/URLClassPath/ClassnameCharTest.java
 317 
 318 # Tests dependent on the optional charsets.jar
 319 # These are isolated for easy exclusions
 320 #
 321 needs_charsets = \
 322   java/io/OutputStreamWriter/TestWrite.java \
 323   java/nio/charset/RemovingSunIO/SunioAlias.java \
 324   java/nio/charset/coders/Check.java \
 325   java/nio/charset/Charset/CharsetContainmentTest.java \
 326   java/nio/charset/Charset/Contains.java \
 327   java/nio/charset/Charset/NIOCharsetAvailabilityTest.java \
 328   java/nio/charset/Charset/RegisteredCharsets.java \
 329   java/nio/charset/CharsetEncoder/Flush.java \
 330   java/nio/charset/coders/CheckSJISMappingProp.sh \
 331   java/nio/charset/coders/ResetISO2022JP.java \
 332   java/util/Locale/InternationalBAT.java \
 333   java/util/Locale/LocaleProviders.sh \
 334   java/util/Calendar/CldrFormatNamesTest.java \
 335   java/util/TimeZone/CLDRDisplayNamesTest.java \
 336   java/util/zip/ZipCoding.java \
 337   sun/nio/cs/EucJpLinux0212.java \
 338   sun/nio/cs/EUCJPUnderflowDecodeTest.java \
 339   sun/nio/cs/EuroConverter.java \
 340   sun/nio/cs/JISAutoDetectTest.java \
 341   sun/nio/cs/OLD/TestIBMDB.java \
 342   sun/nio/cs/SJISCanEncode.java \
 343   sun/nio/cs/Test6254467.java \
 344   sun/nio/cs/TestCompoundTest.java \
 345   sun/nio/cs/TestCp834_SBCS.java \
 346   sun/nio/cs/TestEUC_TW.java \
 347   sun/nio/cs/TestISO2022CNDecoder.java \
 348   sun/nio/cs/TestISO2022JPEncoder.java \
 349   sun/nio/cs/TestISO2022JPSubBytes.java \
 350   sun/nio/cs/TestIllegalSJIS.java \
 351   sun/nio/cs/TestJIS0208Decoder.java \
 352   sun/nio/cs/TestJIS0212Decoder.java \
 353   sun/nio/cs/TestMiscEUC_JP.java \
 354   sun/nio/cs/TestSJIS0213_SM.java \
 355   sun/nio/cs/BufferUnderflowEUCTWTest.java \
 356   sun/nio/cs/CheckCaseInsensitiveEncAliases.java \
 357   sun/nio/cs/CheckHistoricalNames.java \
 358   sun/nio/cs/EucJpLinuxDecoderRecoveryTest.java \
 359   sun/nio/cs/HWKatakanaMS932EncodeTest.java \
 360   sun/nio/cs/ISCIITest.java \
 361   sun/nio/cs/LatinCharReplacementTWTest.java \
 362   sun/nio/cs/NIOJISAutoDetectTest.java \
 363   sun/nio/cs/StreamEncoderClose.java \
 364   sun/nio/cs/SurrogateGB18030Test.java \
 365   sun/nio/cs/SurrogateTestEUCTW.java \
 366   sun/nio/cs/SurrogateTestHKSCS.java \
 367   sun/nio/cs/TestConverterDroppedCharacters.java \
 368   sun/nio/cs/TestCp93xSISO.java \
 369   sun/nio/cs/TestIBM1364.java \
 370   sun/nio/cs/TestIBMBugs.java \
 371   sun/nio/cs/TestIllegalISO2022Esc.java \
 372   sun/nio/cs/TestISO2022JP.java \
 373   sun/nio/cs/TestMS5022X.java \
 374   sun/nio/cs/TestSJIS0213.java \
 375   sun/nio/cs/TestTrailingEscapesISO2022JP.java \
 376   sun/nio/cs/TestUni2HKSCS.java \
 377   sun/nio/cs/ZeroedByteArrayEUCTWTest.java
 378 
 379 # Compact 3 adds further tests to compact2
 380 #
 381 compact3 = \
 382   :compact2 \
 383   :needs_compact3 \
 384  -:needs_jre \
 385  -:needs_jdk
 386 
 387 
 388 # Tests that require compact3 API's
 389 #
 390 needs_compact3 = \
 391   :jdk_instrument \
 392   :jdk_jmx \
 393   :jdk_management \
 394   :jdk_sctp \
 395   com/sun/jndi \
 396   com/sun/org/apache/xml/internal/security \
 397   com/sun/security/auth \
 398   com/sun/security/sasl \
 399   com/sun/security/jgss \
 400   com/sun/tracing \
 401   java/util/prefs \
 402   javax/naming \
 403   javax/security \
 404   javax/smartcardio \
 405   javax/sql/rowset \
 406   javax/xml/crypto \
 407   sun/security/acl \
 408   sun/security/jgss \
 409   sun/security/krb5 \
 410   java/lang/System/MacEncoding/TestFileEncoding.java \
 411   java/nio/channels/AsynchronousSocketChannel/Leaky.java \
 412   java/security/PermissionCollection/Concurrent.java \
 413   java/security/Principal/Implies.java \
 414   java/security/cert/GetInstance.java \
 415   java/util/logging/DrainFindDeadlockTest.java \
 416   java/util/logging/LoggingMXBeanTest.java \
 417   sun/net/www/http/KeepAliveCache/B5045306.java \
 418   sun/security/provider/PolicyFile/Alias.java \
 419   sun/security/provider/PolicyFile/Comparator.java \
 420   sun/security/provider/PolicyFile/SelfWildcard.java \
 421   sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineDeadlock.java \
 422   sun/security/util/Oid/OidFormat.java \
 423   sun/security/util/Resources/Format.java \
 424   sun/security/util/Resources/NewNamesFormat.java
 425 
 426 # Compact 2 adds full VM tests
 427 compact2 = \
 428   :compact2_minimal \
 429   :compact1 \
 430   :needs_full_vm_compact2 \
 431  -:needs_compact3 \
 432  -:needs_jre \
 433  -:needs_jdk
 434 
 435 # Tests that require compact2 API's and a full VM
 436 #  
 437 needs_full_vm_compact2 =
 438 
 439 # Minimal VM on Compact 2 adds in some compact2 tests
 440 #
 441 compact2_minimal = \
 442   :compact1_minimal \
 443   :needs_compact2 \
 444  -:needs_compact3 \
 445  -:needs_jre \
 446  -:needs_jdk
 447 
 448 # Tests that require compact2 API's
 449 #
 450 needs_compact2 = \
 451   :jdk_rmi \
 452   :jdk_time \
 453   com/sun/org/apache \
 454   com/sun/net/httpserver \
 455   java/sql \
 456   javax/sql \
 457   javax/xml \
 458   jdk/lambda \
 459   sun/net/www/http \
 460   sun/net/www/protocol/http \
 461   java/io/BufferedReader/Lines.java  \
 462   java/lang/reflect/DefaultStaticTest/DefaultStaticInvokeTest.java \
 463   java/lang/CharSequence/DefaultTest.java  \
 464   java/lang/IntegralPrimitiveToString.java  \
 465   java/lang/PrimitiveSumMinMaxTest.java  \
 466   java/lang/String/StringJoinTest.java  \
 467   java/lang/Thread/StopThrowable.java  \
 468   java/net/Authenticator/Deadlock.java \
 469   java/net/CookieHandler/LocalHostCookie.java \
 470   java/net/CookieHandler/CookieManagerTest.java \
 471   java/net/CookieHandler/EmptyCookieHeader.java \
 472   java/net/HttpCookie/IllegalCookieNameTest.java \
 473   java/net/HttpURLConnection/UnmodifiableMaps.java \
 474   java/net/HttpURLPermission/URLTest.java \
 475   java/net/ResponseCache/Test.java \
 476   java/net/URLClassLoader/ClassLoad.java \
 477   java/net/URLClassLoader/closetest/CloseTest.java \
 478   java/nio/Buffer/Chars.java  \
 479   java/nio/file/Files/StreamTest.java  \
 480   java/security/BasicPermission/Wildcard.java \
 481   java/util/Arrays/ParallelPrefix.java  \
 482   java/util/Arrays/SetAllTest.java  \
 483   java/util/BitSet/BitSetStreamTest.java  \
 484   java/util/Collection/CollectionDefaults.java  \
 485   java/util/Collection/ListDefaults.java  \
 486   java/util/Collections/CheckedIdentityMap.java  \
 487   java/util/Collections/CheckedMapBash.java  \
 488   java/util/Collections/CheckedSetBash.java  \
 489   java/util/Collections/EmptyCollectionSerialization.java  \
 490   java/util/Collections/EmptyNavigableMap.java  \
 491   java/util/Collections/EmptyNavigableSet.java  \
 492   java/util/Collections/UnmodifiableMapEntrySet.java  \
 493   java/util/Comparator/BasicTest.java  \
 494   java/util/Comparator/TypeTest.java  \
 495   java/util/Iterator/IteratorDefaults.java  \
 496   java/util/Iterator/PrimitiveIteratorDefaults.java  \
 497   java/util/Map/BasicSerialization.java  \
 498   java/util/Map/Defaults.java  \
 499   java/util/Map/EntryComparators.java  \
 500   java/util/Optional/Basic.java  \
 501   java/util/Optional/BasicDouble.java  \
 502   java/util/Optional/BasicInt.java  \
 503   java/util/Optional/BasicLong.java  \
 504   java/util/Random/RandomStreamTest.java  \
 505   java/util/ResourceBundle/Bug6359330.java  \
 506   java/util/Spliterator/SpliteratorCharacteristics.java  \
 507   java/util/Spliterator/SpliteratorCollisions.java  \
 508   java/util/Spliterator/SpliteratorLateBindingFailFastTest.java  \
 509   java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java  \
 510   java/util/StringJoiner/MergeTest.java  \
 511   java/util/StringJoiner/StringJoinerTest.java  \
 512   java/util/concurrent/atomic/AtomicReferenceTest.java  \
 513   java/util/function/BinaryOperator/BasicTest.java  \
 514   java/util/logging/LoggerSupplierAPIsTest.java  \
 515   java/util/zip/ZipFile/StreamZipEntriesTest.java \
 516   java/util/zip/ZipFile/DeleteTempJar.java \
 517   javax/crypto/Cipher/CipherStreamClose.java \
 518   sun/misc/URLClassPath/ClassnameCharTest.java \
 519   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java \
 520   sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java 
 521 
 522 # Compact 1 adds full VM tests
 523 #
 524 compact1 = \
 525   :compact1_minimal \
 526   :needs_full_vm_compact1 \
 527  -:needs_compact2 \
 528  -:needs_full_vm_compact2 \
 529  -:needs_compact3 \
 530  -:needs_jre \
 531  -:needs_jdk
 532 
 533 # Tests that require compact1 API's and a full VM
 534 #
 535 needs_full_vm_compact1 =
 536 
 537 # All tests that run on the most minimal configuration: Minimal VM on Compact 1
 538 compact1_minimal = \
 539   com \
 540   java \
 541   javax \
 542   jdk \
 543   lib \
 544   sample \
 545   sun \
 546   vm \
 547  -:needs_full_vm_compact1 \
 548  -:needs_full_vm_compact2 \
 549  -:needs_compact2 \
 550  -:needs_compact3 \
 551  -:needs_jre \
 552  -:needs_jdk