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