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 # Full JDK can run all tests
  54 #
  55 jdk = \
  56   :jre \
  57   :needs_jdk
  58 
  59 # Tests that require a full JDK to execute. Either they test a feature
  60 # only in the JDK or they use tools that are only in the JDK. The latter
  61 # can be resolved in some cases by using tools from the compile-jdk.
  62 #
  63 needs_jdk = \
  64   gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java \
  65   gc/metaspace/TestMetaspacePerfCounters.java \
  66   gc/metaspace/TestPerfCountersAndMemoryPools.java \
  67   runtime/6819213/TestBootNativeLibraryPath.java \
  68   runtime/6925573/SortMethodsTest.java \
  69   runtime/7107135/Test7107135.sh \
  70   runtime/7158988/FieldMonitor.java \
  71   runtime/7194254/Test7194254.java \
  72   runtime/jsig/Test8017498.sh \
  73   runtime/Metaspace/FragmentMetaspace.java \
  74   runtime/NMT/BaselineWithParameter.java \
  75   runtime/NMT/JcmdBaselineDetail.java \
  76   runtime/NMT/JcmdDetailDiff.java \
  77   runtime/NMT/JcmdScaleDetail.java \
  78   runtime/NMT/JcmdScale.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/XCheckJniJsig/XCheckJSig.java \
  97   serviceability/attach/AttachWithStalePidFile.java \
  98   serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java \
  99   serviceability/dcmd/DynLibDcmdTest.java \
 100   testlibrary_tests/
 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/6852078/Test6852078.java \
 114   compiler/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 # When called from top level the test suites use the hotspot_ prefix
 128 hotspot_wbapitest = \
 129   sanity/
 130 
 131 hotspot_compiler = \
 132   sanity/ExecuteInternalVMTests.java
 133 
 134 hotspot_gc = \
 135   sanity/ExecuteInternalVMTests.java \
 136   -gc/g1/TestGreyReclaimedHumongousObjects.java
 137 
 138 hotspot_tier1_gc_shenandoah = \
 139   gc/shenandoah/options/ \
 140   gc/shenandoah/compiler/ \
 141   gc/shenandoah/mxbeans/ \
 142   gc/shenandoah/TestSmallHeap.java \
 143   gc/shenandoah/oom/
 144 
 145 hotspot_tier2_gc_shenandoah = \
 146   gc/arguments/TestUseCompressedOopsErgo.java \
 147   gc/arguments/TestAlignmentToUseLargePages.java \
 148   gc/logging/TestGCId.java \
 149   gc/metaspace/TestMetaspacePerfCounters.java \
 150   gc/startup_warnings/TestShenandoah.java \
 151   gc/shenandoah/jvmti/TestGetLoadedClasses.sh \
 152   gc/shenandoah/ \
 153   -gc/shenandoah/TestStringDedupStress.java \
 154   -gc/shenandoah/jni/TestCriticalNativeStress.sh \
 155   -:hotspot_tier1_gc_shenandoah
 156 
 157 hotspot_tier3_gc_shenandoah = \
 158   gc/shenandoah/TestStringDedupStress.java \
 159   gc/shenandoah/jni/TestCriticalNativeStress.sh \
 160   -:hotspot_tier2_gc_shenandoah
 161 
 162 hotspot_gc_shenandoah = \
 163   :hotspot_tier1_gc_shenandoah \
 164   :hotspot_tier2_gc_shenandoah \
 165   :hotspot_tier3_gc_shenandoah
 166 
 167 hotspot_runtime = \
 168   sanity/ExecuteInternalVMTests.java
 169 
 170 hotspot_serviceability = \
 171   sanity/ExecuteInternalVMTests.java
 172 
 173 hotspot_all = \
 174   :hotspot_compiler \
 175   :hotspot_gc \
 176   :hotspot_runtime \
 177   :hotspot_serviceability
 178 
 179 # Right now tier1 runs all hotspot tests
 180 hotspot_tier1 = \
 181   :jdk
 182 
 183 # Tests that require compact3 API's
 184 #
 185 needs_compact3 = \
 186   compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java \
 187   compiler/rangechecks/TestRangeCheckSmearing.java \
 188   compiler/whitebox/DeoptimizeMethodTest.java \
 189   compiler/whitebox/SetForceInlineMethodTest.java \
 190   compiler/whitebox/SetDontInlineMethodTest.java \
 191   compiler/whitebox/DeoptimizeAllTest.java \
 192   compiler/whitebox/MakeMethodNotCompilableTest.java \
 193   compiler/whitebox/ClearMethodStateTest.java \
 194   compiler/whitebox/EnqueueMethodForCompilationTest.java \
 195   compiler/whitebox/IsMethodCompilableTest.java \
 196   gc/6581734/Test6581734.java \
 197   gc/7072527/TestFullGCCount.java \
 198   gc/TestGCLogRotationViaJcmd.java \
 199   gc/g1/TestHumongousAllocInitialMark.java \
 200   gc/g1/TestHumongousShrinkHeap.java \
 201   gc/arguments/TestAggressiveHeap.java \
 202   gc/arguments/TestG1HeapRegionSize.java \
 203   gc/metaspace/TestMetaspaceMemoryPool.java \
 204   gc/arguments/TestDynMinHeapFreeRatio.java \
 205   gc/arguments/TestDynMaxHeapFreeRatio.java \
 206   gc/g1/TestShrinkAuxiliaryData00.java \
 207   gc/g1/TestShrinkAuxiliaryData05.java \
 208   gc/g1/TestShrinkAuxiliaryData10.java \
 209   gc/g1/TestShrinkAuxiliaryData15.java \
 210   gc/g1/TestShrinkAuxiliaryData20.java \
 211   gc/g1/TestShrinkAuxiliaryData25.java \
 212   gc/g1/TestShrinkAuxiliaryData30.java \
 213   gc/survivorAlignment \
 214   runtime/InternalApi/ThreadCpuTimesDeadlock.java \
 215   serviceability/threads/TestFalseDeadLock.java \
 216   serviceability/jvmti/GetObjectSizeOverflow.java \
 217   serviceability/jvmti/TestRedefineWithUnresolvedClass.java \
 218   serviceability/sa/jmap-hashcode/Test8028623.java \
 219   compiler/tiered/NonTieredLevelsTest.java \
 220   compiler/tiered/TieredLevelsTest.java \
 221   compiler/intrinsics/bmi/verifycode
 222 
 223 # Compact 2 adds full VM tests
 224 compact2 = \
 225   :compact2_minimal \
 226   :compact1 \
 227   :needs_full_vm_compact2 \
 228  -:needs_compact3 \
 229  -:needs_jre \
 230  -:needs_jdk
 231 
 232 # Tests that require compact2 API's and a full VM
 233 #
 234 needs_full_vm_compact2 =
 235 
 236 # Compact 1 adds full VM tests
 237 #
 238 compact1 = \
 239   :compact1_minimal \
 240   :needs_full_vm_compact1 \
 241  -:needs_compact2 \
 242  -:needs_full_vm_compact2 \
 243  -:needs_compact3 \
 244  -:needs_jre \
 245  -:needs_jdk
 246 
 247 # Tests that require compact1 API's and a full VM
 248 #
 249 needs_full_vm_compact1 = \
 250   runtime/NMT \
 251   gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java \
 252   gc/class_unloading/TestG1ClassUnloadingHWM.java \
 253   gc/ergonomics/TestDynamicNumberOfGCThreads.java \
 254   gc/g1/TestRegionAlignment.java \
 255   gc/g1/TestShrinkToOneRegion.java \
 256   gc/metaspace/G1AddMetaspaceDependency.java \
 257   gc/startup_warnings/TestCMS.java \
 258   gc/startup_warnings/TestCMSIncrementalMode.java \
 259   gc/startup_warnings/TestCMSNoIncrementalMode.java \
 260   gc/startup_warnings/TestDefaultMaxRAMFraction.java \
 261   gc/startup_warnings/TestDefNewCMS.java \
 262   gc/startup_warnings/TestIncGC.java \
 263   gc/startup_warnings/TestParallelGC.java \
 264   gc/startup_warnings/TestParallelScavengeSerialOld.java \
 265   gc/startup_warnings/TestParNewCMS.java \
 266   gc/startup_warnings/TestParNewSerialOld.java \
 267   runtime/6929067/Test6929067.sh \
 268   runtime/SharedArchiveFile/SharedArchiveFile.java
 269 
 270 # Minimal VM on Compact 2 adds in some compact2 tests
 271 #
 272 compact2_minimal = \
 273   :compact1_minimal \
 274   :needs_compact2 \
 275  -:needs_full_vm_compact2 \
 276  -:needs_compact3 \
 277  -:needs_jre \
 278  -:needs_jdk
 279 
 280 # Tests that require compact2 API's
 281 #
 282 needs_compact2 = \
 283   compiler/6589834/Test_ia32.java
 284 
 285 # All tests that run on the most minimal configuration: Minimal VM on Compact 1
 286 compact1_minimal = \
 287   serviceability/ \
 288   compiler/ \
 289   testlibrary/ \
 290   sanity/ \
 291   runtime/ \
 292   gc/ \
 293  -:needs_full_vm_compact1 \
 294  -:needs_full_vm_compact2 \
 295  -:needs_compact2 \
 296  -:needs_compact3 \
 297  -:needs_jre \
 298  -:needs_jdk