1 #
   2 # Copyright (c) 2013, 2015, 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 # Full JDK can run all tests
  57 #
  58 jdk = \
  59   :jre \
  60   :needs_jdk
  61 
  62 # Tests that require a full JDK to execute. Either they test a feature
  63 # only in the JDK or they use tools that are only in the JDK. The latter
  64 # can be resolved in some cases by using tools from the compile-jdk.
  65 #
  66 needs_jdk = \
  67   gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java \
  68   gc/metaspace/TestMetaspacePerfCounters.java \
  69   gc/metaspace/TestPerfCountersAndMemoryPools.java \
  70   runtime/6819213/TestBootNativeLibraryPath.java \
  71   runtime/7158988/FieldMonitor.java \
  72   runtime/Metaspace/FragmentMetaspace.java \
  73   runtime/NMT/BaselineWithParameter.java \
  74   runtime/NMT/JcmdBaselineDetail.java \
  75   runtime/NMT/JcmdDetailDiff.java \
  76   runtime/NMT/JcmdScaleDetail.java \
  77   runtime/NMT/JcmdScale.java \
  78   runtime/NMT/JcmdSummaryDiff.java \
  79   runtime/NMT/JcmdWithNMTDisabled.java \
  80   runtime/NMT/MallocRoundingReportTest.java \
  81   runtime/NMT/MallocSiteHashOverflow.java \
  82   runtime/NMT/MallocStressTest.java \
  83   runtime/NMT/MallocTestType.java \
  84   runtime/NMT/MallocTrackingVerify.java \
  85   runtime/NMT/ReleaseCommittedMemory.java \
  86   runtime/NMT/ReleaseNoCommit.java \
  87   runtime/NMT/ShutdownTwice.java \
  88   runtime/NMT/SummaryAfterShutdown.java \
  89   runtime/NMT/SummarySanityCheck.java \
  90   runtime/NMT/ThreadedMallocTestType.java \
  91   runtime/NMT/ThreadedVirtualAllocTestType.java \
  92   runtime/NMT/VirtualAllocCommitUncommitRecommit.java \
  93   runtime/NMT/VirtualAllocTestType.java \
  94   runtime/RedefineObject/TestRedefineObject.java \
  95   runtime/Thread/TestThreadDumpMonitorContention.java \
  96   runtime/Thread/ThreadPriorities.java \
  97   runtime/XCheckJniJsig/XCheckJSig.java \
  98   serviceability/attach/AttachWithStalePidFile.java \
  99   serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java \
 100   serviceability/dcmd/vm/DynLibsTest.java
 101 
 102 
 103 # JRE adds further tests to compact3
 104 #
 105 jre = \
 106   :compact3 \
 107   :needs_jre \
 108  -:needs_jdk
 109 
 110 # Tests that require the full JRE
 111 #
 112 needs_jre = \
 113   compiler/c2/6852078/Test6852078.java \
 114   compiler/c2/7047069/Test7047069.java \
 115   runtime/6294277/SourceDebugExtension.java \
 116   runtime/ClassFile/JsrRewriting.java \
 117   runtime/ClassFile/OomWhileParsingRepeatedJsr.java
 118 
 119 # Compact 3 adds further tests to compact2
 120 #
 121 compact3 = \
 122   :compact2 \
 123   :needs_compact3 \
 124  -:needs_jre \
 125  -:needs_jdk
 126 
 127 
 128 # Tests that require compact3 API's
 129 #
 130 needs_compact3 = \
 131   gc/6581734/Test6581734.java \
 132   gc/7072527/TestFullGCCount.java \
 133   gc/g1/TestHumongousAllocInitialMark.java \
 134   gc/arguments/TestG1HeapRegionSize.java \
 135   gc/metaspace/TestMetaspaceMemoryPool.java \
 136   gc/arguments/TestDynMinHeapFreeRatio.java \
 137   gc/arguments/TestDynMaxHeapFreeRatio.java \
 138   gc/g1/TestShrinkAuxiliaryData00.java \
 139   gc/g1/TestShrinkAuxiliaryData05.java \
 140   gc/g1/TestShrinkAuxiliaryData10.java \
 141   gc/g1/TestShrinkAuxiliaryData15.java \
 142   gc/g1/TestShrinkAuxiliaryData20.java \
 143   gc/g1/TestShrinkAuxiliaryData25.java \
 144   gc/g1/TestShrinkAuxiliaryData30.java \
 145   gc/survivorAlignment \
 146   runtime/InternalApi/ThreadCpuTimesDeadlock.java \
 147   serviceability/threads/TestFalseDeadLock.java \
 148   compiler/codecache/jmx \
 149   serviceability/dcmd
 150 
 151 # Compact 2 adds full VM tests
 152 compact2 = \
 153   :compact2_minimal \
 154   :compact1 \
 155   :needs_full_vm_compact2 \
 156  -:needs_compact3 \
 157  -:needs_jre \
 158  -:needs_jdk
 159 
 160 # Tests that require compact2 API's and a full VM
 161 #
 162 needs_full_vm_compact2 =
 163 
 164 # Compact 1 adds full VM tests
 165 #
 166 compact1 = \
 167   :compact1_minimal \
 168   :needs_full_vm_compact1 \
 169  -:needs_compact2 \
 170  -:needs_full_vm_compact2 \
 171  -:needs_compact3 \
 172  -:needs_jre \
 173  -:needs_jdk
 174 
 175 # Tests that require compact1 API's and a full VM
 176 #
 177 needs_full_vm_compact1 = \
 178   runtime/NMT \
 179   gc/g1/TestRegionAlignment.java \
 180   gc/g1/TestShrinkToOneRegion.java \
 181   gc/metaspace/G1AddMetaspaceDependency.java \
 182   gc/startup_warnings/TestCMS.java \
 183   gc/startup_warnings/TestDefaultMaxRAMFraction.java \
 184   gc/startup_warnings/TestDefNewCMS.java \
 185   gc/startup_warnings/TestParallelGC.java \
 186   gc/startup_warnings/TestParallelScavengeSerialOld.java \
 187   gc/startup_warnings/TestParNewCMS.java \
 188   gc/startup_warnings/TestParNewSerialOld.java \
 189   runtime/SharedArchiveFile/SharedArchiveFile.java
 190 
 191 # Minimal VM on Compact 2 adds in some compact2 tests
 192 #
 193 compact2_minimal = \
 194   :compact1_minimal \
 195   :needs_compact2 \
 196  -:needs_full_vm_compact2 \
 197  -:needs_compact3 \
 198  -:needs_jre \
 199  -:needs_jdk
 200 
 201 # Tests that require compact2 API's
 202 #
 203 needs_compact2 = \
 204   compiler/jsr292/CreatesInterfaceDotEqualsCallInfo.java
 205 
 206 # All tests that run on the most minimal configuration: Minimal VM on Compact 1
 207 compact1_minimal = \
 208   serviceability/ \
 209   compiler/ \
 210   sanity/ \
 211   runtime/ \
 212   gc/ \
 213  -:needs_full_vm_compact1 \
 214  -:needs_full_vm_compact2 \
 215  -:needs_compact2 \
 216  -:needs_compact3 \
 217  -:needs_jre \
 218  -:needs_jdk
 219 
 220 # All tests that explicitly set the G1 GC
 221 #
 222 needs_g1gc = \
 223   compiler/regalloc/C1ObjectSpillInLogicOp.java \
 224   gc/TestSystemGC.java \
 225   gc/arguments/TestAlignmentToUseLargePages.java \
 226   gc/arguments/TestG1HeapRegionSize.java \
 227   gc/arguments/TestG1HeapSizeFlags.java \
 228   gc/arguments/TestG1PercentageOptions.java \
 229   gc/arguments/TestMaxHeapSizeTools.java \
 230   gc/arguments/TestMaxNewSize.java \
 231   gc/arguments/TestParallelGCThreads.java \
 232   gc/arguments/TestUseCompressedOopsErgo.java \
 233   gc/class_unloading/TestG1ClassUnloadingHWM.java \
 234   gc/g1/ \
 235   gc/metaspace/G1AddMetaspaceDependency.java \
 236   gc/metaspace/TestMetaspacePerfCounters.java \
 237   gc/startup_warnings/TestG1.java \
 238   gc/whitebox/TestConcMarkCycleWB.java \
 239   gc/arguments/TestG1ConcRefinementThreads.java
 240 
 241 # All tests that explicitly set the serial GC
 242 #
 243 needs_serialgc = \
 244   gc/TestSystemGC.java \
 245   gc/arguments/TestAlignmentToUseLargePages.java \
 246   gc/arguments/TestMaxNewSize.java \
 247   gc/arguments/TestSerialHeapSizeFlags.java \
 248   gc/arguments/TestUseCompressedOopsErgo.java \
 249   gc/defnew/HeapChangeLogging.java \
 250   gc/metaspace/TestMetaspacePerfCounters.java \
 251   gc/metaspace/TestPerfCountersAndMemoryPools.java \
 252   gc/startup_warnings/TestSerialGC.java 
 253 
 254 # All tests that explicitly set the parallel GC
 255 #
 256 needs_parallelgc = \
 257   gc/TestSystemGC.java \
 258   gc/arguments/TestAlignmentToUseLargePages.java \
 259   gc/arguments/TestMaxNewSize.java \
 260   gc/arguments/TestMinInitialErgonomics.java \
 261   gc/arguments/TestParallelGCThreads.java \
 262   gc/arguments/TestUseCompressedOopsErgo.java \
 263   gc/metaspace/TestMetaspacePerfCounters.java \
 264   gc/parallelScavenge/ \
 265   gc/startup_warnings/TestParallelGC.java \
 266   gc/startup_warnings/TestParallelScavengeSerialOld.java
 267 
 268 # All tests that explicitly set the CMS GC
 269 #
 270 needs_cmsgc = \
 271   gc/6581734/Test6581734.java \
 272   gc/TestSystemGC.java \
 273   gc/arguments/TestAlignmentToUseLargePages.java \
 274   gc/arguments/TestCMSHeapSizeFlags.java \
 275   gc/arguments/TestMaxNewSize.java \
 276   gc/arguments/TestParallelGCThreads.java \
 277   gc/arguments/TestUseCompressedOopsErgo.java \
 278   gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java \
 279   gc/concurrentMarkSweep/ \
 280   gc/startup_warnings/TestCMS.java \
 281   gc/startup_warnings/TestDefNewCMS.java \
 282   gc/startup_warnings/TestParNewCMS.java
 283 
 284 # All tests that explicitly set some GC
 285 #
 286 needs_gc = \
 287   :needs_g1gc \
 288   :needs_serialgc \
 289   :needs_parallelgc \
 290   :needs_cmsgc
 291 
 292 # All tests that do not set any GC explicitly
 293 #
 294 not_needs_gc = \
 295   :jdk \
 296  -:needs_gc
 297 
 298 # All tests that could be executed with the G1 GC without VM flags conflict
 299 #
 300 applicable_g1gc = \
 301   :jdk \
 302  -:needs_serialgc \
 303  -:needs_parallelgc \
 304  -:needs_cmsgc
 305 
 306 # All tests that could be executed with the serial GC without VM flags conflict
 307 #
 308 applicable_serialgc = \
 309   :jdk \
 310  -:needs_g1gc \
 311  -:needs_parallelgc \
 312  -:needs_cmsgc
 313 
 314 # All tests that could be executed with the parallel GC without VM flags conflict
 315 #
 316 applicable_parallelgc = \
 317   :jdk \
 318  -:needs_g1gc \
 319  -:needs_serialgc \
 320  -:needs_cmsgc
 321 
 322 # All tests that could be executed with the CMS GC without VM flags conflict
 323 #
 324 applicable_cmsgc = \
 325   :jdk \
 326  -:needs_g1gc \
 327  -:needs_serialgc \
 328  -:needs_parallelgc
 329 
 330 
 331 # When called from top level the test suites use the hotspot_ prefix
 332 hotspot_wbapitest = \
 333   sanity/
 334 
 335 hotspot_compiler_1 = \
 336   compiler/arraycopy/ \
 337   compiler/c1/ \
 338   compiler/c2/ \
 339   -compiler/c2/5091921/Test6850611.java \
 340   -compiler/c2/5091921/Test6890943.java \
 341   -compiler/c2/5091921/Test6905845.java \
 342   -compiler/c2/6340864 \
 343   -compiler/c2/6589834 \
 344   -compiler/c2/6603011 \
 345   -compiler/c2/6912517 \
 346   -compiler/c2/6792161 \
 347   -compiler/c2/7070134 \
 348   -compiler/c2/8004867
 349   
 350 hotspot_compiler_2 = \
 351   compiler/classUnloading/ \
 352   compiler/codecache/ \
 353   compiler/codegen/ \
 354   compiler/cpuflags/ \
 355   compiler/dependencies/ \
 356   compiler/eliminateAutobox/ \
 357   compiler/escapeAnalysis/ \
 358   compiler/exceptions/ \
 359   compiler/floatingpoint/ \
 360   compiler/gcbarriers/ \
 361   compiler/inlining/ \
 362   compiler/integerArithmetic/ \
 363   compiler/interpreter/ \
 364   -compiler/codegen/7184394 \
 365   -compiler/codecache/stress
 366   
 367 hotspot_compiler_3 = \
 368   compiler/intrinsics/ \
 369   compiler/jsr292/ \
 370   compiler/loopopts/ \
 371   compiler/macronodes/ \
 372   compiler/osr/ \
 373   compiler/regalloc/ \
 374   compiler/runtime/ \
 375   compiler/startup/ \
 376   compiler/types/ \
 377   compiler/uncommontrap/ \
 378   compiler/unsafe/ \
 379   -compiler/intrinsics/bmi/verifycode \
 380   -compiler/intrinsics/mathexact \
 381   -compiler/intrinsics/multiplytolen \
 382   -compiler/intrinsics/sha \
 383   -compiler/loopopts/7052494 \
 384   -compiler/runtime/6826736
 385 
 386 hotspot_compiler_closed = \
 387   sanity/ExecuteInternalVMTests.java
 388 
 389 hotspot_gc = \
 390   sanity/ExecuteInternalVMTests.java \
 391   gc/ \
 392   -gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java
 393 
 394 hotspot_gc_closed = \
 395   sanity/ExecuteInternalVMTests.java
 396 
 397 hotspot_gc_gcold = \
 398   stress/gc/TestGCOld.java
 399 
 400 hotspot_runtime = \
 401   runtime/ \
 402  -runtime/6888954/vmerrors.sh \
 403  -runtime/RedefineObject/TestRedefineObject.java \
 404  -runtime/8003720/Test8003720.java \
 405  -runtime/Metaspace/FragmentMetaspace.java \
 406  -runtime/Metaspace/FragmentMetaspaceSimple.java \
 407  -runtime/Thread/TestThreadDumpMonitorContention.java \
 408  -runtime/SharedArchiveFile/SharedBaseAddress.java \
 409  -runtime/memory/ReserveMemory.java \
 410  -runtime/Unsafe/RangeCheck.java \
 411  -runtime/SharedArchiveFile/CdsSameObjectAlignment.java \
 412  -runtime/SharedArchiveFile/DefaultUseWithClient.java \
 413  -runtime/Thread/CancellableThreadTest.java \
 414  -runtime/7158988/FieldMonitor.java
 415 
 416 hotspot_runtime_closed = \
 417   sanity/ExecuteInternalVMTests.java \
 418   testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java
 419 
 420 hotspot_serviceability = \
 421   sanity/ExecuteInternalVMTests.java \
 422   serviceability/dcmd/compiler
 423 
 424 hotspot_jprt = \
 425   :hotspot_wbapitest \
 426   :hotspot_compiler_1 \
 427   :hotspot_compiler_2 \
 428   :hotspot_compiler_3 \
 429   :hotspot_compiler_closed \
 430   :hotspot_gc \
 431   :hotspot_gc_closed \
 432   :hotspot_gc_gcold \
 433   :hotspot_runtime \
 434   :hotspot_runtime_closed \
 435   :hotspot_serviceability
 436 
 437 #All tests that depends on nashorn extension.
 438 #
 439 needs_nashorn = \
 440   compiler/jsr292/CreatesInterfaceDotEqualsCallInfo.java
 441 
 442 #All tests that do not depends on nashorn extension
 443 #
 444 not_needs_nashorn = \
 445   :jdk \
 446   -:needs_nashorn
 447 
 448 #All tests that use -XX:NativeMemoryTracking=detail.
 449 #
 450 needs_NMT_detail = \
 451   runtime/NMT/ShutdownTwice.java \
 452   runtime/NMT/PrintNMTStatistics.java \
 453   runtime/NMT/MallocTrackingVerify.java \
 454   runtime/NMT/JcmdScaleDetail.java \
 455   runtime/NMT/MallocSiteHashOverflow.java \
 456   runtime/NMT/VirtualAllocCommitUncommitRecommit.java \
 457   runtime/NMT/ThreadedMallocTestType.java \
 458   runtime/NMT/CommandLineDetail.java \
 459   runtime/NMT/BaselineWithParameter.java \
 460   runtime/NMT/MallocStressTest.java \
 461   runtime/NMT/MallocRoundingReportTest.java \
 462   runtime/NMT/AutoshutdownNMT.java \
 463   runtime/NMT/ThreadedVirtualAllocTestType.java \
 464   runtime/NMT/SummaryAfterShutdown.java \
 465   runtime/NMT/VirtualAllocTestType.java \
 466   runtime/NMT/ChangeTrackingLevel.java \
 467   runtime/NMT/ReleaseCommittedMemory.java \
 468   runtime/NMT/JcmdDetailDiff.java \
 469   runtime/NMT/NMTWithCDS.java \
 470   runtime/NMT/MallocTestType.java \
 471   runtime/NMT/JcmdBaselineDetail.java \
 472   gc/TestCardTablePageCommits.java \
 473   gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java
 474 
 475 #All tests that do not use -XX:NativeMemoryTracking=detail.
 476 #
 477 not_needs_NMT_detail = \
 478   :jdk \
 479   -:needs_NMT_detail