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