1 #
   2 # Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
   3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 #
   5 # This code is free software; you can redistribute it and/or modify it
   6 # under the terms of the GNU General Public License version 2 only, as
   7 # published by the Free Software Foundation.
   8 #
   9 # This code is distributed in the hope that it will be useful, but WITHOUT
  10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12 # version 2 for more details (a copy is included in the LICENSE file that
  13 # accompanied this code).
  14 #
  15 # You should have received a copy of the GNU General Public License version
  16 # 2 along with this work; if not, write to the Free Software Foundation,
  17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 #
  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 
  24 # Profile-based Test Group Definitions
  25 #
  26 # These groups define the tests that cover the different possible runtimes:
  27 # - compact1, compact2, compact3, full JRE, JDK
  28 #
  29 # In addition they support testing of the minimal VM on compact1 and compact2.
  30 # Essentially this defines groups based around the specified API's and VM
  31 # services available in the runtime.
  32 #
  33 # The groups are defined hierarchically in two forms:
  34 # - The need_xxx groups list all the tests that have a dependency on
  35 # a specific profile. This is either because it tests a feature in
  36 # that profile, or the test infrastructure uses a feature in that
  37 # profile.
  38 # - The primary groups are defined in terms of the other primary groups
  39 # combined with the needs_xxx groups (including and excluding them as
  40 # appropriate). For example the jre can run all tests from compact3, plus
  41 # those from needs_jre, but excluding those from need_jdk.
  42 #
  43 # The bottom group defines all the actual tests to be considered, simply
  44 # by listing the top-level test directories.
  45 #
  46 # To use a group simply list it on the jtreg command line eg:
  47 #   jtreg :jdk
  48 # runs all tests. While
  49 #   jtreg :compact2
  50 # runs those tests that only require compact1 and compact2 API's.
  51 #
  52 
  53 hotspot_all = \
  54   /
  55 
  56 hotspot_compiler = \
  57   compiler
  58 
  59 hotspot_gc = \
  60   gc
  61 
  62 hotspot_runtime = \
  63   runtime
  64 
  65 hotspot_serviceability = \
  66   serviceability
  67 
  68 hotspot_misc = \
  69   / \
  70  -:hotspot_compiler \
  71  -:hotspot_gc \
  72  -:hotspot_runtime \
  73  -:hotspot_serviceability
  74 
  75 # Full JDK can run all tests
  76 #
  77 jdk = \
  78   :jre \
  79   :needs_jdk
  80 
  81 # Tests that require a full JDK to execute. Either they test a feature
  82 # only in the JDK or they use tools that are only in the JDK. The latter
  83 # can be resolved in some cases by using tools from the compile-jdk.
  84 #
  85 needs_jdk = \
  86   compiler/aot \
  87   gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java \
  88   gc/metaspace/TestMetaspacePerfCounters.java \
  89   gc/metaspace/TestPerfCountersAndMemoryPools.java \
  90   runtime/6819213/TestBootNativeLibraryPath.java \
  91   runtime/7158988/FieldMonitor.java \
  92   runtime/Metaspace/FragmentMetaspace.java \
  93   runtime/NMT/BaselineWithParameter.java \
  94   runtime/NMT/JcmdBaselineDetail.java \
  95   runtime/NMT/JcmdDetailDiff.java \
  96   runtime/NMT/JcmdScaleDetail.java \
  97   runtime/NMT/JcmdScale.java \
  98   runtime/NMT/JcmdSummaryDiff.java \
  99   runtime/NMT/JcmdWithNMTDisabled.java \
 100   runtime/NMT/MallocRoundingReportTest.java \
 101   runtime/NMT/MallocSiteHashOverflow.java \
 102   runtime/NMT/MallocStressTest.java \
 103   runtime/NMT/MallocTestType.java \
 104   runtime/NMT/MallocTrackingVerify.java \
 105   runtime/NMT/ReleaseCommittedMemory.java \
 106   runtime/NMT/ReleaseNoCommit.java \
 107   runtime/NMT/ShutdownTwice.java \
 108   runtime/NMT/SummaryAfterShutdown.java \
 109   runtime/NMT/SummarySanityCheck.java \
 110   runtime/NMT/ThreadedMallocTestType.java \
 111   runtime/NMT/ThreadedVirtualAllocTestType.java \
 112   runtime/NMT/VirtualAllocCommitUncommitRecommit.java \
 113   runtime/NMT/VirtualAllocTestType.java \
 114   runtime/RedefineObject/TestRedefineObject.java \
 115   runtime/Thread/TestThreadDumpMonitorContention.java \
 116   runtime/Thread/ThreadPriorities.java \
 117   runtime/XCheckJniJsig/XCheckJSig.java \
 118   serviceability/attach/AttachWithStalePidFile.java \
 119   serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java \
 120   serviceability/dcmd/vm/DynLibsTest.java \
 121   serviceability/tmtools
 122 
 123 
 124 # JRE adds further tests to compact3
 125 #
 126 jre = \
 127   :compact3 \
 128   :needs_jre \
 129  -:needs_jdk
 130 
 131 # Tests that require the full JRE
 132 #
 133 needs_jre = \
 134   compiler/c2/Test6852078.java \
 135   compiler/c2/Test7047069.java \
 136   runtime/6294277/SourceDebugExtension.java \
 137   runtime/ClassFile/JsrRewriting.java \
 138   runtime/ClassFile/OomWhileParsingRepeatedJsr.java \
 139   runtime/SharedArchiveFile/LimitSharedSizes.java \
 140   runtime/SharedArchiveFile/SpaceUtilizationCheck.java
 141 
 142 # Compact 3 adds further tests to compact2
 143 #
 144 compact3 = \
 145   :compact2 \
 146   :needs_compact3 \
 147  -:needs_jre \
 148  -:needs_jdk
 149 
 150 
 151 # Tests that require compact3 API's
 152 #
 153 needs_compact3 = \
 154   gc/TestFullGCCount.java \
 155   gc/arguments/TestG1HeapRegionSize.java \
 156   gc/arguments/TestDynMinHeapFreeRatio.java \
 157   gc/arguments/TestDynMaxHeapFreeRatio.java \
 158   gc/cms/TestMBeanCMS.java \
 159   gc/g1/TestHumongousAllocInitialMark.java \
 160   gc/g1/TestShrinkAuxiliaryData00.java \
 161   gc/g1/TestShrinkAuxiliaryData05.java \
 162   gc/g1/TestShrinkAuxiliaryData10.java \
 163   gc/g1/TestShrinkAuxiliaryData15.java \
 164   gc/g1/TestShrinkAuxiliaryData20.java \
 165   gc/g1/TestShrinkAuxiliaryData25.java \
 166   gc/g1/TestShrinkAuxiliaryData30.java \
 167   gc/metaspace/TestMetaspaceMemoryPool.java \
 168   gc/survivorAlignment \
 169   runtime/InternalApi/ThreadCpuTimesDeadlock.java \
 170   runtime/NMT/JcmdSummaryDiff.java \
 171   runtime/RedefineTests/RedefineAnnotations.java \
 172   serviceability/threads/TestFalseDeadLock.java \
 173   compiler/codecache/jmx \
 174   compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java \
 175   compiler/rangechecks/TestRangeCheckSmearing.java \
 176   compiler/whitebox/DeoptimizeMultipleOSRTest.java \
 177   serviceability/dcmd \
 178   testlibrary_tests/whitebox/vm_flags
 179 
 180 # Compact 2 adds full VM tests
 181 compact2 = \
 182   :compact2_minimal \
 183   :compact1 \
 184   :needs_full_vm_compact2 \
 185  -:needs_compact3 \
 186  -:needs_jre \
 187  -:needs_jdk
 188 
 189 # Tests that require compact2 API's and a full VM
 190 #
 191 needs_full_vm_compact2 =
 192 
 193 # Compact 1 adds full VM tests
 194 #
 195 compact1 = \
 196   :compact1_minimal \
 197   :needs_full_vm_compact1 \
 198  -:needs_compact2 \
 199  -:needs_full_vm_compact2 \
 200  -:needs_compact3 \
 201  -:needs_jre \
 202  -:needs_jdk
 203 
 204 # Tests that require compact1 API's and a full VM
 205 #
 206 needs_full_vm_compact1 = \
 207   runtime/NMT \
 208   gc/g1/TestRegionAlignment.java \
 209   gc/g1/TestShrinkToOneRegion.java \
 210   gc/metaspace/G1AddMetaspaceDependency.java \
 211   gc/startup_warnings/TestCMS.java \
 212   gc/startup_warnings/TestParallelGC.java \
 213   gc/startup_warnings/TestParallelScavengeSerialOld.java \
 214   runtime/SharedArchiveFile/SharedArchiveFile.java
 215 
 216 # Minimal VM on Compact 2 adds in some compact2 tests
 217 #
 218 compact2_minimal = \
 219   :compact1_minimal \
 220   :needs_compact2 \
 221  -:needs_full_vm_compact2 \
 222  -:needs_compact3 \
 223  -:needs_jre \
 224  -:needs_jdk
 225 
 226 # Tests that require compact2 API's
 227 #
 228 needs_compact2 = \
 229   compiler/jsr292/CreatesInterfaceDotEqualsCallInfo.java
 230 
 231 # All tests that run on the most minimal configuration: Minimal VM on Compact 1
 232 compact1_minimal = \
 233   serviceability/ \
 234   compiler/ \
 235   sanity/ \
 236   runtime/ \
 237   gc/ \
 238  -:needs_full_vm_compact1 \
 239  -:needs_full_vm_compact2 \
 240  -:needs_compact2 \
 241  -:needs_compact3 \
 242  -:needs_jre \
 243  -:needs_jdk
 244 
 245 # All tests that explicitly set the G1 GC
 246 #
 247 needs_g1gc = \
 248   compiler/regalloc/C1ObjectSpillInLogicOp.java \
 249   gc/TestHumongousReferenceObject.java \
 250   gc/TestSmallHeap.java \
 251   gc/TestSystemGC.java \
 252   gc/arguments/TestAlignmentToUseLargePages.java \
 253   gc/arguments/TestG1ConcRefinementThreads.java \
 254   gc/arguments/TestG1HeapRegionSize.java \
 255   gc/arguments/TestG1HeapSizeFlags.java \
 256   gc/arguments/TestG1PercentageOptions.java \
 257   gc/arguments/TestMaxHeapSizeTools.java \
 258   gc/arguments/TestMaxNewSize.java \
 259   gc/arguments/TestParallelGCThreads.java \
 260   gc/arguments/TestUseCompressedOopsErgo.java \
 261   gc/class_unloading/TestG1ClassUnloadingHWM.java \
 262   gc/ergonomics/TestDynamicNumberOfGCThreads.java \
 263   gc/g1/ \
 264   gc/logging/TestGCId.java \
 265   gc/metaspace/G1AddMetaspaceDependency.java \
 266   gc/metaspace/TestMetaspacePerfCounters.java \
 267   gc/startup_warnings/TestG1.java \
 268   gc/whitebox/TestConcMarkCycleWB.java
 269 
 270 hotspot_native_sanity = \
 271   native_sanity
 272 
 273 hotspot_fast_compiler_1 = \
 274   compiler/aot/ \
 275   compiler/arraycopy/ \
 276   compiler/c1/ \
 277   compiler/c2/ \
 278   -compiler/c2/Test6850611.java \
 279   -compiler/c2/cr6890943/Test6890943.java \
 280   -compiler/c2/Test6905845.java \
 281   -compiler/c2/cr6340864 \
 282   -compiler/c2/cr6589834 \
 283   -compiler/c2/cr8004867 \
 284   -compiler/c2/stemmer \
 285   -compiler/c2/Test6792161.java \
 286   -compiler/c2/Test6603011.java \
 287   -compiler/c2/Test6912517.java \
 288 
 289 hotspot_fast_compiler_2 = \
 290   compiler/classUnloading/ \
 291   compiler/codecache/ \
 292   compiler/codegen/ \
 293   compiler/cpuflags/ \
 294   compiler/dependencies/ \
 295   compiler/eliminateAutobox/ \
 296   compiler/escapeAnalysis/ \
 297   compiler/exceptions/ \
 298   compiler/floatingpoint/ \
 299   compiler/gcbarriers/ \
 300   compiler/inlining/ \
 301   compiler/integerArithmetic/ \
 302   compiler/interpreter/ \
 303   compiler/jvmci/ \
 304   -compiler/codegen/aes \
 305   -compiler/codecache/stress \
 306   -compiler/gcbarriers/PreserveFPRegistersTest.java
 307 
 308 hotspot_fast_compiler_3 = \
 309   compiler/intrinsics/ \
 310   compiler/jsr292/ \
 311   compiler/loopopts/ \
 312   compiler/macronodes/ \
 313   compiler/memoryinitialization/ \
 314   compiler/osr/ \
 315   compiler/regalloc/ \
 316   compiler/runtime/ \
 317   compiler/startup/ \
 318   compiler/types/ \
 319   compiler/uncommontrap/ \
 320   compiler/unsafe/ \
 321   -compiler/intrinsics/bmi \
 322   -compiler/intrinsics/mathexact \
 323   -compiler/intrinsics/sha \
 324   -compiler/intrinsics/bigInteger/TestMultiplyToLen.java \
 325   -compiler/intrinsics/zip/TestAdler32.java \
 326   -compiler/loopopts/Test7052494.java \
 327   -compiler/runtime/Test6826736.java
 328 
 329 hotspot_fast_compiler_closed = \
 330   sanity/ExecuteInternalVMTests.java
 331 
 332 hotspot_not_fast_compiler = \
 333   :hotspot_compiler \
 334   -:hotspot_fast_compiler_1 \
 335   -:hotspot_fast_compiler_2 \
 336   -:hotspot_fast_compiler_3 \
 337   -:hotspot_fast_compiler_closed
 338 
 339 hotspot_fast_gc_1 = \
 340   gc/g1/
 341 
 342 hotspot_fast_gc_2 = \
 343   sanity/ExecuteInternalVMTests.java \
 344   gc/ \
 345   -gc/g1/ \
 346   -gc/logging/TestUnifiedLoggingSwitchStress.java \
 347   -gc/stress \
 348   -gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java \
 349   -gc/cms/TestMBeanCMS.java \
 350   -gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java
 351 
 352 hotspot_fast_gc_closed = \
 353   sanity/ExecuteInternalVMTests.java
 354 
 355 hotspot_fast_gc_gcold = \
 356   gc/stress/TestGCOld.java
 357 
 358 hotspot_fast_gc_gcbasher = \
 359   gc/stress/gcbasher/TestGCBasherWithG1.java \
 360   gc/stress/gcbasher/TestGCBasherWithCMS.java \
 361   gc/stress/gcbasher/TestGCBasherWithSerial.java \
 362   gc/stress/gcbasher/TestGCBasherWithParallel.java
 363 
 364 hotspot_fast_runtime = \
 365   runtime/ \
 366  -runtime/6626217/Test6626217.sh \
 367  -runtime/7100935 \
 368  -runtime/7158988/FieldMonitor.java \
 369  -runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java \
 370  -runtime/CommandLine/PrintGCApplicationConcurrentTime.java \
 371  -runtime/ConstantPool/IntfMethod.java \
 372  -runtime/ErrorHandling/CreateCoredumpOnCrash.java \
 373  -runtime/ErrorHandling/ErrorHandler.java \
 374  -runtime/logging/MonitorMismatchTest.java \
 375  -runtime/memory/ReserveMemory.java \
 376  -runtime/memory/RunUnitTestsConcurrently.java \
 377  -runtime/Metaspace/FragmentMetaspace.java \
 378  -runtime/Metaspace/FragmentMetaspaceSimple.java \
 379  -runtime/MirrorFrame/Test8003720.java \
 380  -runtime/modules/LoadUnloadModuleStress.java \
 381  -runtime/modules/ModuleStress/ExportModuleStressTest.java \
 382  -runtime/modules/ModuleStress/ModuleStressGC.java \
 383  -runtime/NMT \
 384  -runtime/RedefineObject/TestRedefineObject.java \
 385  -runtime/RedefineTests/RedefineLeak.java \
 386  -runtime/RedefineTests/RedefinePreviousVersions.java \
 387  -runtime/RedefineTests/RedefineRunningMethods.java \
 388  -runtime/RedefineTests/RedefineRunningMethodsWithBacktrace.java \
 389  -runtime/ReservedStack \
 390  -runtime/SelectionResolution/AbstractMethodErrorTest.java \
 391  -runtime/SelectionResolution/IllegalAccessErrorTest.java \
 392  -runtime/SelectionResolution/InvokeInterfaceICCE.java \
 393  -runtime/SelectionResolution/InvokeInterfaceSuccessTest.java \
 394  -runtime/SelectionResolution/InvokeSpecialICCE.java \
 395  -runtime/SelectionResolution/InvokeSpecialSuccessTest.java \
 396  -runtime/SelectionResolution/InvokeStaticICCE.java \
 397  -runtime/SelectionResolution/InvokeVirtualICCE.java \
 398  -runtime/SelectionResolution/InvokeVirtualSuccessTest.java \
 399  -runtime/SharedArchiveFile/CdsSameObjectAlignment.java \
 400  -runtime/SharedArchiveFile/DefaultUseWithClient.java \
 401  -runtime/SharedArchiveFile/SharedBaseAddress.java \
 402  -runtime/Thread/CancellableThreadTest.java \
 403  -runtime/Thread/TestThreadDumpMonitorContention.java \
 404  -runtime/Unsafe/RangeCheck.java \
 405   sanity/ \
 406   testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java
 407 
 408 hotspot_fast_serviceability = \
 409   serviceability/dcmd/compiler \
 410   serviceability/logging
 411 
 412 hotspot_jprt = \
 413   :hotspot_fast_compiler_1 \
 414   :hotspot_fast_compiler_2 \
 415   :hotspot_fast_compiler_3 \
 416   :hotspot_fast_compiler_closed \
 417   :hotspot_fast_gc_1 \
 418   :hotspot_fast_gc_2 \
 419   :hotspot_fast_gc_closed \
 420   :hotspot_fast_gc_gcold \
 421   :hotspot_fast_runtime \
 422   :hotspot_fast_serviceability
 423 
 424 hotspot_runtime_tier2 = \
 425   runtime/ \
 426   serviceability/ \
 427  -runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java \
 428  -runtime/Thread/TestThreadDumpMonitorContention.java \
 429  -:hotspot_fast_runtime \
 430  -:hotspot_fast_serviceability \
 431  -:hotspot_runtime_tier2_platform_agnostic
 432 
 433 hotspot_runtime_tier2_platform_agnostic = \
 434   runtime/SelectionResolution \
 435  -:hotspot_fast_runtime
 436 
 437 hotspot_runtime_tier3 = \
 438   runtime/ \
 439   serviceability/ \
 440  -:hotspot_fast_runtime \
 441  -:hotspot_fast_serviceability \
 442  -:hotspot_runtime_tier2_platform_agnostic \
 443  -:hotspot_runtime_tier2
 444 
 445 hotspot_runtime_minimalvm = \
 446   runtime/MinimalVM \
 447   runtime/ErrorHandling \
 448   runtime/logging
 449 
 450 #All tests that depends on nashorn extension.
 451 #
 452 needs_nashorn = \
 453   compiler/jsr292/CreatesInterfaceDotEqualsCallInfo.java
 454 
 455 #All tests that do not depends on nashorn extension
 456 #
 457 not_needs_nashorn = \
 458   :jdk \
 459   -:needs_nashorn
 460 
 461 hotspot_tmtools = \
 462   serviceability/tmtools