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