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 testlibrary_tests/ 100 101 102 # JRE adds further tests to compact3 103 # 104 jre = \ 105 :compact3 \ 106 :needs_jre \ 107 -:needs_jdk 108 109 # Tests that require the full JRE 110 # 111 needs_jre = \ 112 compiler/6852078/Test6852078.java \ 113 compiler/7047069/Test7047069.java \ 114 runtime/6294277/SourceDebugExtension.java \ 115 runtime/ClassFile/JsrRewriting.java \ 116 runtime/ClassFile/OomWhileParsingRepeatedJsr.java 117 118 # Compact 3 adds further tests to compact2 119 # 120 compact3 = \ 121 :compact2 \ 122 :needs_compact3 \ 123 -:needs_jre \ 124 -:needs_jdk 125 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_runtime = \ 139 sanity/ExecuteInternalVMTests.java 140 141 hotspot_serviceability = \ 142 sanity/ExecuteInternalVMTests.java 143 144 hotspot_all = \ 145 :hotspot_compiler \ 146 :hotspot_gc \ 147 :hotspot_runtime \ 148 :hotspot_serviceability 149 # Tests that require compact3 API's 150 # 151 needs_compact3 = \ 152 compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java \ 153 compiler/rangechecks/TestRangeCheckSmearing.java \ 154 compiler/whitebox/DeoptimizeMethodTest.java \ 155 compiler/whitebox/SetForceInlineMethodTest.java \ 156 compiler/whitebox/SetDontInlineMethodTest.java \ 157 compiler/whitebox/DeoptimizeAllTest.java \ 158 compiler/whitebox/MakeMethodNotCompilableTest.java \ 159 compiler/whitebox/ClearMethodStateTest.java \ 160 compiler/whitebox/EnqueueMethodForCompilationTest.java \ 161 compiler/whitebox/IsMethodCompilableTest.java \ 162 gc/6581734/Test6581734.java \ 163 gc/7072527/TestFullGCCount.java \ 164 gc/TestGCLogRotationViaJcmd.java \ 165 gc/g1/TestHumongousAllocInitialMark.java \ 166 gc/g1/TestHumongousShrinkHeap.java \ 167 gc/arguments/TestAggressiveHeap.java \ 168 gc/arguments/TestG1HeapRegionSize.java \ 169 gc/metaspace/TestMetaspaceMemoryPool.java \ 170 gc/arguments/TestDynMinHeapFreeRatio.java \ 171 gc/arguments/TestDynMaxHeapFreeRatio.java \ 172 gc/g1/TestShrinkAuxiliaryData00.java \ 173 gc/g1/TestShrinkAuxiliaryData05.java \ 174 gc/g1/TestShrinkAuxiliaryData10.java \ 175 gc/g1/TestShrinkAuxiliaryData15.java \ 176 gc/g1/TestShrinkAuxiliaryData20.java \ 177 gc/g1/TestShrinkAuxiliaryData25.java \ 178 gc/g1/TestShrinkAuxiliaryData30.java \ 179 gc/survivorAlignment \ 180 runtime/InternalApi/ThreadCpuTimesDeadlock.java \ 181 serviceability/threads/TestFalseDeadLock.java \ 182 serviceability/jvmti/GetObjectSizeOverflow.java \ 183 serviceability/jvmti/TestRedefineWithUnresolvedClass.java \ 184 serviceability/sa/jmap-hashcode/Test8028623.java \ 185 compiler/tiered/NonTieredLevelsTest.java \ 186 compiler/tiered/TieredLevelsTest.java \ 187 compiler/intrinsics/bmi/verifycode 188 189 # Compact 2 adds full VM tests 190 compact2 = \ 191 :compact2_minimal \ 192 :compact1 \ 193 :needs_full_vm_compact2 \ 194 -:needs_compact3 \ 195 -:needs_jre \ 196 -:needs_jdk 197 198 # Tests that require compact2 API's and a full VM 199 # 200 needs_full_vm_compact2 = 201 202 # Compact 1 adds full VM tests 203 # 204 compact1 = \ 205 :compact1_minimal \ 206 :needs_full_vm_compact1 \ 207 -:needs_compact2 \ 208 -:needs_full_vm_compact2 \ 209 -:needs_compact3 \ 210 -:needs_jre \ 211 -:needs_jdk 212 213 # Tests that require compact1 API's and a full VM 214 # 215 needs_full_vm_compact1 = \ 216 runtime/NMT \ 217 gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java \ 218 gc/class_unloading/TestG1ClassUnloadingHWM.java \ 219 gc/ergonomics/TestDynamicNumberOfGCThreads.java \ 220 gc/g1/TestRegionAlignment.java \ 221 gc/g1/TestShrinkToOneRegion.java \ 222 gc/metaspace/G1AddMetaspaceDependency.java \ 223 gc/startup_warnings/TestCMS.java \ 224 gc/startup_warnings/TestCMSIncrementalMode.java \ 225 gc/startup_warnings/TestCMSNoIncrementalMode.java \ 226 gc/startup_warnings/TestDefaultMaxRAMFraction.java \ 227 gc/startup_warnings/TestDefNewCMS.java \ 228 gc/startup_warnings/TestIncGC.java \ 229 gc/startup_warnings/TestParallelGC.java \ 230 gc/startup_warnings/TestParallelScavengeSerialOld.java \ 231 gc/startup_warnings/TestParNewCMS.java \ 232 gc/startup_warnings/TestParNewSerialOld.java \ 233 runtime/6929067/Test6929067.sh \ 234 runtime/SharedArchiveFile/SharedArchiveFile.java 235 236 # Minimal VM on Compact 2 adds in some compact2 tests 237 # 238 compact2_minimal = \ 239 :compact1_minimal \ 240 :needs_compact2 \ 241 -:needs_full_vm_compact2 \ 242 -:needs_compact3 \ 243 -:needs_jre \ 244 -:needs_jdk 245 246 # Tests that require compact2 API's 247 # 248 needs_compact2 = \ 249 compiler/6589834/Test_ia32.java 250 251 # All tests that run on the most minimal configuration: Minimal VM on Compact 1 252 compact1_minimal = \ 253 serviceability/ \ 254 compiler/ \ 255 testlibrary/ \ 256 sanity/ \ 257 runtime/ \ 258 gc/ \ 259 -:needs_full_vm_compact1 \ 260 -:needs_full_vm_compact2 \ 261 -:needs_compact2 \ 262 -:needs_compact3 \ 263 -:needs_jre \ 264 -:needs_jdk