1 #
   2 # Copyright (c) 2013, 2014, 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/TestG1ZeroPGCTJcmdThreadPrint.java \
  65   gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java \
  66   gc/metaspace/TestMetaspacePerfCounters.java \
  67   gc/metaspace/TestPerfCountersAndMemoryPools.java \
  68   runtime/6819213/TestBootNativeLibraryPath.java \
  69   runtime/7158988/FieldMonitor.java \
  70   runtime/7194254/Test7194254.java \
  71   runtime/Metaspace/FragmentMetaspace.java \
  72   runtime/NMT/BaselineWithParameter.java \
  73   runtime/NMT/JcmdScale.java \
  74   runtime/NMT/JcmdWithNMTDisabled.java \
  75   runtime/NMT/MallocTestType.java \
  76   runtime/NMT/ReleaseCommittedMemory.java \
  77   runtime/NMT/ShutdownTwice.java \
  78   runtime/NMT/SummaryAfterShutdown.java \
  79   runtime/NMT/SummarySanityCheck.java \
  80   runtime/NMT/ThreadedMallocTestType.java \
  81   runtime/NMT/ThreadedVirtualAllocTestType.java \
  82   runtime/NMT/VirtualAllocTestType.java \
  83   runtime/RedefineObject/TestRedefineObject.java \
  84   runtime/Thread/TestThreadDumpMonitorContention.java \
  85   runtime/XCheckJniJsig/XCheckJSig.java \
  86   serviceability/attach/AttachWithStalePidFile.java \
  87   serviceability/jvmti/8036666/GetObjectLockCount.java \
  88   serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java \
  89   serviceability/dcmd/DynLibDcmdTest.java
  90 
  91 
  92 # JRE adds further tests to compact3
  93 #
  94 jre = \
  95   :compact3 \
  96   :needs_jre \
  97  -:needs_jdk
  98 
  99 # Tests that require the full JRE
 100 #
 101 needs_jre = \
 102   compiler/6852078/Test6852078.java \
 103   compiler/7047069/Test7047069.java \
 104   runtime/6294277/SourceDebugExtension.java \
 105   runtime/ClassFile/JsrRewriting.java \
 106   runtime/ClassFile/OomWhileParsingRepeatedJsr.java
 107 
 108 # Compact 3 adds further tests to compact2
 109 #
 110 compact3 = \
 111   :compact2 \
 112   :needs_compact3 \
 113  -:needs_jre \
 114  -:needs_jdk
 115 
 116 
 117 # Tests that require compact3 API's
 118 #
 119 needs_compact3 = \
 120   compiler/8009761/Test8009761.java \
 121   compiler/whitebox/DeoptimizeMethodTest.java \
 122   compiler/whitebox/SetForceInlineMethodTest.java \
 123   compiler/whitebox/SetDontInlineMethodTest.java \
 124   compiler/whitebox/DeoptimizeAllTest.java \
 125   compiler/whitebox/MakeMethodNotCompilableTest.java \
 126   compiler/whitebox/ClearMethodStateTest.java \
 127   compiler/whitebox/EnqueueMethodForCompilationTest.java \
 128   compiler/whitebox/IsMethodCompilableTest.java \
 129   gc/6581734/Test6581734.java \
 130   gc/7072527/TestFullGCCount.java \
 131   gc/g1/TestHumongousAllocInitialMark.java \
 132   gc/g1/TestHumongousShrinkHeap.java \
 133   gc/arguments/TestG1HeapRegionSize.java \
 134   gc/metaspace/TestMetaspaceMemoryPool.java \
 135   gc/arguments/TestDynMinHeapFreeRatio.java \
 136   gc/arguments/TestDynMaxHeapFreeRatio.java \
 137   gc/parallelScavenge/TestDynShrinkHeap.java \
 138   runtime/InternalApi/ThreadCpuTimesDeadlock.java \
 139   serviceability/threads/TestFalseDeadLock.java \
 140   serviceability/jvmti/GetObjectSizeOverflow.java \
 141   serviceability/jvmti/TestRedefineWithUnresolvedClass.java \
 142   compiler/tiered/NonTieredLevelsTest.java \
 143   compiler/tiered/TieredLevelsTest.java \
 144   compiler/intrinsics/bmi/verifycode \
 145   runtime/whitebox/WBStackSize.java
 146 
 147 # Compact 2 adds full VM tests
 148 compact2 = \
 149   :compact2_minimal \
 150   :compact1 \
 151   :needs_full_vm_compact2 \
 152  -:needs_compact3 \
 153  -:needs_jre \
 154  -:needs_jdk
 155 
 156 # Tests that require compact2 API's and a full VM
 157 #
 158 needs_full_vm_compact2 =
 159 
 160 # Compact 1 adds full VM tests
 161 #
 162 compact1 = \
 163   :compact1_minimal \
 164   :needs_full_vm_compact1 \
 165  -:needs_compact2 \
 166  -:needs_full_vm_compact2 \
 167  -:needs_compact3 \
 168  -:needs_jre \
 169  -:needs_jdk
 170 
 171 # Tests that require compact1 API's and a full VM
 172 #
 173 needs_full_vm_compact1 = \
 174   runtime/NMT \
 175   gc/g1/TestRegionAlignment.java \
 176   gc/g1/TestShrinkToOneRegion.java \
 177   gc/metaspace/G1AddMetaspaceDependency.java \
 178   gc/startup_warnings/TestCMS.java \
 179   gc/startup_warnings/TestCMSIncrementalMode.java \
 180   gc/startup_warnings/TestCMSNoIncrementalMode.java \
 181   gc/startup_warnings/TestDefaultMaxRAMFraction.java \
 182   gc/startup_warnings/TestDefNewCMS.java \
 183   gc/startup_warnings/TestIncGC.java \
 184   gc/startup_warnings/TestParallelGC.java \
 185   gc/startup_warnings/TestParallelScavengeSerialOld.java \
 186   gc/startup_warnings/TestParNewCMS.java \
 187   gc/startup_warnings/TestParNewSerialOld.java \
 188   runtime/SharedArchiveFile/SharedArchiveFile.java
 189 
 190 # Minimal VM on Compact 2 adds in some compact2 tests
 191 #
 192 compact2_minimal = \
 193   :compact1_minimal \
 194   :needs_compact2 \
 195  -:needs_full_vm_compact2 \
 196  -:needs_compact3 \
 197  -:needs_jre \
 198  -:needs_jdk
 199 
 200 # Tests that require compact2 API's
 201 #
 202 needs_compact2 = \
 203   compiler/6589834/Test_ia32.java
 204 
 205 # All tests that run on the most minimal configuration: Minimal VM on Compact 1
 206 compact1_minimal = \
 207   serviceability/ \
 208   compiler/ \
 209   testlibrary/ \
 210   testlibrary_tests/ \
 211   sanity/ \
 212   runtime/ \
 213   gc/ \
 214  -:needs_full_vm_compact1 \
 215  -:needs_full_vm_compact2 \
 216  -:needs_compact2 \
 217  -:needs_compact3 \
 218  -:needs_jre \
 219  -:needs_jdk
 220 
 221 # All tests that explicitly set the G1 GC
 222 #
 223 needs_g1gc = \
 224   compiler/regalloc/C1ObjectSpillInLogicOp.java \
 225   gc/8000311/Test8000311.java \
 226   gc/TestG1ZeroPGCTJcmdThreadPrint.java \
 227   gc/TestSystemGC.java \
 228   gc/arguments/TestAlignmentToUseLargePages.java \
 229   gc/arguments/TestG1HeapRegionSize.java \
 230   gc/arguments/TestG1HeapSizeFlags.java \
 231   gc/arguments/TestMaxHeapSizeTools.java \
 232   gc/arguments/TestMaxNewSize.java \
 233   gc/arguments/TestUseCompressedOopsErgo.java \
 234   gc/class_unloading/TestG1ClassUnloadingEnabledHWM.java \
 235   gc/g1/ \
 236   gc/metaspace/G1AddMetaspaceDependency.java \
 237   gc/metaspace/TestMetaspacePerfCounters.java \
 238   gc/startup_warnings/TestG1.java 
 239 
 240 # All tests that explicitly set the serial GC
 241 #
 242 needs_serialgc = \
 243   gc/TestSystemGC.java \
 244   gc/arguments/TestAlignmentToUseLargePages.java \
 245   gc/arguments/TestMaxNewSize.java \
 246   gc/arguments/TestSerialHeapSizeFlags.java \
 247   gc/arguments/TestUseCompressedOopsErgo.java \
 248   gc/defnew/HeapChangeLogging.java \
 249   gc/metaspace/TestMetaspacePerfCounters.java \
 250   gc/metaspace/TestPerfCountersAndMemoryPools.java \
 251   gc/startup_warnings/TestSerialGC.java 
 252 
 253 # All tests that explicitly set the parallel GC
 254 #
 255 needs_parallelgc = \
 256   gc/TestSystemGC.java \
 257   gc/arguments/TestAlignmentToUseLargePages.java \
 258   gc/arguments/TestMaxNewSize.java \
 259   gc/arguments/TestMinInitialErgonomics.java \
 260   gc/arguments/TestUseCompressedOopsErgo.java \
 261   gc/metaspace/TestMetaspacePerfCounters.java \
 262   gc/parallelScavenge/ \
 263   gc/startup_warnings/TestParallelGC.java \
 264   gc/startup_warnings/TestParallelScavengeSerialOld.java
 265 
 266 # All tests that explicitly set the CMS GC
 267 #
 268 needs_cmsgc = \
 269   gc/6581734/Test6581734.java \
 270   gc/TestSystemGC.java \
 271   gc/arguments/TestAlignmentToUseLargePages.java \
 272   gc/arguments/TestCMSHeapSizeFlags.java \
 273   gc/arguments/TestMaxNewSize.java \
 274   gc/arguments/TestUseCompressedOopsErgo.java \
 275   gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java \
 276   gc/concurrentMarkSweep/ \
 277   gc/startup_warnings/TestCMS.java \
 278   gc/startup_warnings/TestCMSIncrementalMode.java \
 279   gc/startup_warnings/TestCMSNoIncrementalMode.java \
 280   gc/startup_warnings/TestDefNewCMS.java \
 281   gc/startup_warnings/TestParNewCMS.java
 282 
 283 # All tests that explicitly set some GC
 284 #
 285 needs_gc = \
 286   :needs_g1gc \
 287   :needs_serialgc \
 288   :needs_parallelgc \
 289   :needs_cmsgc
 290 
 291 # All tests that do not set any GC explicitly
 292 #
 293 not_needs_gc = \
 294   :jdk \
 295  -:needs_gc
 296 
 297 # All tests that could be executed with the G1 GC without VM flags conflict
 298 #
 299 applicable_g1gc = \
 300   :jdk \
 301  -:needs_serialgc \
 302  -:needs_parallelgc \
 303  -:needs_cmsgc
 304 
 305 # All tests that could be executed with the serial GC without VM flags conflict
 306 #
 307 applicable_serialgc = \
 308   :jdk \
 309  -:needs_g1gc \
 310  -:needs_parallelgc \
 311  -:needs_cmsgc
 312 
 313 # All tests that could be executed with the parallel GC without VM flags conflict
 314 #
 315 applicable_parallelgc = \
 316   :jdk \
 317  -:needs_g1gc \
 318  -:needs_serialgc \
 319  -:needs_cmsgc
 320 
 321 # All tests that could be executed with the CMS GC without VM flags conflict
 322 #
 323 applicable_cmsgc = \
 324   :jdk \
 325  -:needs_g1gc \
 326  -:needs_serialgc \
 327  -:needs_parallelgc
 328 
 329