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 gc/6581734/Test6581734.java \ 121 gc/7072527/TestFullGCCount.java \ 122 gc/g1/TestHumongousAllocInitialMark.java \ 123 gc/g1/TestHumongousShrinkHeap.java \ 124 gc/arguments/TestG1HeapRegionSize.java \ 125 gc/metaspace/TestMetaspaceMemoryPool.java \ 126 gc/arguments/TestDynMinHeapFreeRatio.java \ 127 gc/arguments/TestDynMaxHeapFreeRatio.java \ 128 gc/parallelScavenge/TestDynShrinkHeap.java \ 129 runtime/InternalApi/ThreadCpuTimesDeadlock.java \ 130 serviceability/threads/TestFalseDeadLock.java \ 131 serviceability/jvmti/GetObjectSizeOverflow.java \ 132 serviceability/jvmti/TestRedefineWithUnresolvedClass.java 133 134 # Compact 2 adds full VM tests 135 compact2 = \ 136 :compact2_minimal \ 137 :compact1 \ 138 :needs_full_vm_compact2 \ 139 -:needs_compact3 \ 140 -:needs_jre \ 141 -:needs_jdk 142 143 # Tests that require compact2 API's and a full VM 144 # 145 needs_full_vm_compact2 = 146 147 # Compact 1 adds full VM tests 148 # 149 compact1 = \ 150 :compact1_minimal \ 151 :needs_full_vm_compact1 \ 152 -:needs_compact2 \ 153 -:needs_full_vm_compact2 \ 154 -:needs_compact3 \ 155 -:needs_jre \ 156 -:needs_jdk 157 158 # Tests that require compact1 API's and a full VM 159 # 160 needs_full_vm_compact1 = \ 161 runtime/NMT \ 162 gc/g1/TestRegionAlignment.java \ 163 gc/g1/TestShrinkToOneRegion.java \ 164 gc/metaspace/G1AddMetaspaceDependency.java \ 165 gc/startup_warnings/TestCMS.java \ 166 gc/startup_warnings/TestCMSIncrementalMode.java \ 167 gc/startup_warnings/TestCMSNoIncrementalMode.java \ 168 gc/startup_warnings/TestDefaultMaxRAMFraction.java \ 169 gc/startup_warnings/TestDefNewCMS.java \ 170 gc/startup_warnings/TestIncGC.java \ 171 gc/startup_warnings/TestParallelGC.java \ 172 gc/startup_warnings/TestParallelScavengeSerialOld.java \ 173 gc/startup_warnings/TestParNewCMS.java \ 174 gc/startup_warnings/TestParNewSerialOld.java \ 175 runtime/SharedArchiveFile/SharedArchiveFile.java 176 177 # Minimal VM on Compact 2 adds in some compact2 tests 178 # 179 compact2_minimal = \ 180 :compact1_minimal \ 181 :needs_compact2 \ 182 -:needs_full_vm_compact2 \ 183 -:needs_compact3 \ 184 -:needs_jre \ 185 -:needs_jdk 186 187 # Tests that require compact2 API's 188 # 189 needs_compact2 = 190 191 # All tests that run on the most minimal configuration: Minimal VM on Compact 1 192 compact1_minimal = \ 193 serviceability/ \ 194 compiler/ \ 195 testlibrary/ \ 196 testlibrary_tests/ \ 197 sanity/ \ 198 runtime/ \ 199 gc/ \ 200 -:needs_full_vm_compact1 \ 201 -:needs_full_vm_compact2 \ 202 -:needs_compact2 \ 203 -:needs_compact3 \ 204 -:needs_jre \ 205 -:needs_jdk 206 207 # All tests that explicitly set the G1 GC 208 # 209 needs_g1gc = \ 210 compiler/regalloc/C1ObjectSpillInLogicOp.java \ 211 gc/8000311/Test8000311.java \ 212 gc/TestG1ZeroPGCTJcmdThreadPrint.java \ 213 gc/TestSystemGC.java \ 214 gc/arguments/TestAlignmentToUseLargePages.java \ 215 gc/arguments/TestG1HeapRegionSize.java \ 216 gc/arguments/TestG1HeapSizeFlags.java \ 217 gc/arguments/TestMaxHeapSizeTools.java \ 218 gc/arguments/TestMaxNewSize.java \ 219 gc/arguments/TestUseCompressedOopsErgo.java \ 220 gc/g1/ \ 221 gc/metaspace/G1AddMetaspaceDependency.java \ 222 gc/metaspace/TestMetaspacePerfCounters.java \ 223 gc/startup_warnings/TestG1.java 224 225 # All tests that explicitly set the serial GC 226 # 227 needs_serialgc = \ 228 gc/TestSystemGC.java \ 229 gc/arguments/TestAlignmentToUseLargePages.java \ 230 gc/arguments/TestMaxNewSize.java \ 231 gc/arguments/TestSerialHeapSizeFlags.java \ 232 gc/arguments/TestUseCompressedOopsErgo.java \ 233 gc/defnew/HeapChangeLogging.java \ 234 gc/metaspace/TestMetaspacePerfCounters.java \ 235 gc/metaspace/TestPerfCountersAndMemoryPools.java \ 236 gc/startup_warnings/TestSerialGC.java 237 238 # All tests that explicitly set the parallel GC 239 # 240 needs_parallelgc = \ 241 gc/TestSystemGC.java \ 242 gc/arguments/TestAlignmentToUseLargePages.java \ 243 gc/arguments/TestMaxNewSize.java \ 244 gc/arguments/TestMinInitialErgonomics.java \ 245 gc/arguments/TestUseCompressedOopsErgo.java \ 246 gc/metaspace/TestMetaspacePerfCounters.java \ 247 gc/parallelScavenge/ \ 248 gc/startup_warnings/TestParallelGC.java \ 249 gc/startup_warnings/TestParallelScavengeSerialOld.java 250 251 # All tests that explicitly set the CMS GC 252 # 253 needs_cmsgc = \ 254 gc/6581734/Test6581734.java \ 255 gc/TestSystemGC.java \ 256 gc/arguments/TestAlignmentToUseLargePages.java \ 257 gc/arguments/TestCMSHeapSizeFlags.java \ 258 gc/arguments/TestMaxNewSize.java \ 259 gc/arguments/TestUseCompressedOopsErgo.java \ 260 gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java \ 261 gc/concurrentMarkSweep/ \ 262 gc/startup_warnings/TestCMS.java \ 263 gc/startup_warnings/TestCMSIncrementalMode.java \ 264 gc/startup_warnings/TestCMSNoIncrementalMode.java \ 265 gc/startup_warnings/TestDefNewCMS.java \ 266 gc/startup_warnings/TestParNewCMS.java 267 268 # All tests that explicitly set some GC 269 # 270 needs_gc = \ 271 :needs_g1gc \ 272 :needs_serialgc \ 273 :needs_parallelgc \ 274 :needs_cmsgc 275 276 # All tests that do not set any GC explicitly 277 # 278 not_needs_gc = \ 279 :jdk \ 280 -:needs_gc 281 282 # All tests that could be executed with the G1 GC without VM flags conflict 283 # 284 applicable_g1gc = \ 285 :jdk \ 286 -:needs_serialgc \ 287 -:needs_parallelgc \ 288 -:needs_cmsgc 289 290 # All tests that could be executed with the serial GC without VM flags conflict 291 # 292 applicable_serialgc = \ 293 :jdk \ 294 -:needs_g1gc \ 295 -:needs_parallelgc \ 296 -:needs_cmsgc 297 298 # All tests that could be executed with the parallel GC without VM flags conflict 299 # 300 applicable_parallelgc = \ 301 :jdk \ 302 -:needs_g1gc \ 303 -:needs_serialgc \ 304 -:needs_cmsgc 305 306 # All tests that could be executed with the CMS GC without VM flags conflict 307 # 308 applicable_cmsgc = \ 309 :jdk \ 310 -:needs_g1gc \ 311 -:needs_serialgc \ 312 -:needs_parallelgc 313 314 315 # When called from top level the test suites use the hotspot_ prefix 316 hotspot_wbapitest = \ 317 sanity/ 318 319 hotspot_compiler = \ 320 sanity/ExecuteInternalVMTests.java 321 322 hotspot_gc = \ 323 sanity/ExecuteInternalVMTests.java 324 325 hotspot_runtime = \ 326 sanity/ExecuteInternalVMTests.java 327 328 hotspot_serviceability = \ 329 sanity/ExecuteInternalVMTests.java 330 331 hotspot_all = \ 332 :hotspot_compiler \ 333 :hotspot_gc \ 334 :hotspot_runtime \ 335 :hotspot_serviceability