1 #  Copyright (c) 2013, 2026, Oracle and/or its affiliates. All rights reserved.
  2 #  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  3 #
  4 #  This code is free software; you can redistribute it and/or modify it
  5 #  under the terms of the GNU General Public License version 2 only, as
  6 #  published by the Free Software Foundation.
  7 #
  8 #  This code is distributed in the hope that it will be useful, but WITHOUT
  9 #  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 10 #  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 11 #  version 2 for more details (a copy is included in the LICENSE file that
 12 #  accompanied this code).
 13 #
 14 #  You should have received a copy of the GNU General Public License version
 15 #  2 along with this work; if not, write to the Free Software Foundation,
 16 #  Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 17 #
 18 #  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 19 #  or visit www.oracle.com if you need additional information or have any
 20 #  questions.
 21 #
 22 
 23 ###############################################################################
 24 #
 25 # All tests
 26 #
 27 
 28 all = \
 29     :jdk_all
 30 
 31 jdk_all = \
 32     /
 33 
 34 ###############################################################################
 35 #
 36 # Tiered testing definitions
 37 #
 38 
 39 # When adding tests to tier1, make sure they end up in one of the tier1_partX groups
 40 tier1 = \
 41     :tier1_part1 \
 42     :tier1_part2 \
 43     :tier1_part3
 44 
 45 tier1_part1 = \
 46     :jdk_lang
 47 
 48 tier1_part2 = \
 49     :jdk_util
 50 
 51 tier1_part3 = \
 52     :jdk_math \
 53     :jdk_svc_sanity \
 54     :jdk_foreign \
 55     :jdk_vector_sanity \
 56     java/nio/Buffer \
 57     com/sun/crypto/provider/Cipher \
 58     jdk/classfile \
 59     sun/nio/cs/ISO8859x.java
 60 
 61 # When adding tests to tier2, make sure they end up in one of the tier2_partX groups
 62 tier2 = \
 63     :tier2_part1 \
 64     :tier2_part2 \
 65     :tier2_part3
 66 
 67 # com/sun/crypto/provider/Cipher is in tier1 because of JDK-8132855
 68 tier2_part1 = \
 69     :jdk_security \
 70     -com/sun/crypto/provider/Cipher
 71 
 72 # sun/nio/cs/ISO8859x.java and java/nio/Buffer are in tier1 because of JDK-8132854
 73 tier2_part2 = \
 74     :core_tools \
 75     :jdk_io \
 76     :jdk_nio \
 77     -java/nio/Buffer \
 78     -sun/nio/cs/ISO8859x.java \
 79     :jdk_other \
 80     :jdk_text \
 81     :jdk_time
 82 
 83 tier2_part3 = \
 84     :jdk_net
 85 
 86 # These sub groups of tier3 allow for running certain tests separately from the
 87 # rest. When adding tests to tier3, in most cases they should be added to
 88 # tier3_part1.
 89 tier3 = \
 90     :tier3_part1 \
 91     :tier3_jpackage
 92 
 93 tier3_part1 = \
 94     :build \
 95     :jdk_vector \
 96     -:jdk_vector_sanity \
 97     :jdk_rmi \
 98     :jdk_svc \
 99     -:jdk_svc_sanity \
100     -:svc_tools \
101     :jdk_since_checks \
102     :jdk_json
103 
104 # The jpackage tests on Windows require permissions that aren't always present
105 tier3_jpackage = \
106     :jdk_jpackage
107 
108 # Everything not in other tiers
109 tier4 = \
110     / \
111    -:tier1 \
112    -:tier2 \
113    -:tier3
114 
115 ###############################################################################
116 #
117 # Other test definitions; generally smaller granularity than tiers
118 #
119 
120 # Build source checking
121 build = \
122     build
123 
124 # java.lang package and VM runtime support
125 jdk_lang = \
126     java/lang \
127     -java/lang/management \
128     -java/lang/instrument \
129     sun/invoke \
130     sun/misc \
131     sun/reflect \
132     jdk/internal/reflect \
133     jdk/lambda \
134     jdk/internal/loader \
135     jdk/internal/misc \
136     jdk/internal/ref \
137     jdk/internal/jimage \
138     jdk/internal/math \
139     jdk/internal/vm \
140     jdk/modules \
141     jni/nullCaller \
142     valhalla
143 
144 # valhalla lworld tests
145 jdk_valhalla = \
146     valhalla \
147     java/lang/instrument/valhalla \
148     com/sun/jdi/valhalla \
149     java/lang/reflect/valhalla
150 
151 
152 # All of the java.util package
153 jdk_util = \
154     :jdk_util_other \
155     :jdk_collections \
156     :jdk_concurrent \
157     :jdk_stream
158 
159 valhalla_adopted = \
160     java/util/Collections/AddAll.java \
161     java/util/Arrays \
162     java/util/Collections \
163     java/util/HashMap
164 
165 # All util components not part of some other util category
166 jdk_util_other = \
167     java/util \
168     sun/util \
169     jdk/internal/util \
170     -:jdk_collections \
171     -:jdk_concurrent \
172     -:jdk_stream
173 
174 # All collections, core and concurrent
175 jdk_collections = \
176     :jdk_collections_core \
177     :jdk_concurrent
178 
179 # java.util.concurrent
180 # Includes concurrent collections plus other stuff
181 # Maintained by JSR-166 EG (Doug Lea et al)
182 jdk_concurrent = \
183     java/util/concurrent
184 
185 # Java Collections Framework core classes
186 jdk_collections_core = \
187     java/util/AbstractCollection \
188     java/util/AbstractList \
189     java/util/AbstractMap \
190     java/util/AbstractSequentialList \
191     java/util/ArrayDeque \
192     java/util/ArrayList \
193     java/util/Arrays \
194     java/util/BitSet \
195     java/util/Collection \
196     java/util/Collections \
197     java/util/Comparator \
198     java/util/Deque \
199     java/util/EnumMap \
200     java/util/EnumSet \
201     java/util/HashMap \
202     java/util/HashSet \
203     java/util/Hashtable \
204     java/util/IdentityHashMap \
205     java/util/Iterator \
206     java/util/LinkedHashMap \
207     java/util/LinkedHashSet \
208     java/util/LinkedList \
209     java/util/List \
210     java/util/Map \
211     java/util/NavigableMap \
212     java/util/PriorityQueue \
213     java/util/SequencedCollection \
214     java/util/TimSort \
215     java/util/TreeMap \
216     java/util/Vector \
217     java/util/WeakHashMap
218 
219 # java.util.stream (JSR-335)
220 jdk_stream = \
221     java/util/Optional \
222     java/util/function \
223     java/util/stream
224 
225 jdk_math = \
226     java/math
227 
228 jdk_io = \
229     java/io
230 
231 jdk_nio = \
232     java/nio \
233     sun/nio \
234     jdk/nio
235 
236 jdk_net = \
237     java/net \
238     com/sun/net/httpserver \
239     sun/net \
240     jdk/net
241 
242 jdk_time = \
243     java/time
244 
245 jdk_rmi = \
246     java/rmi \
247     sun/rmi
248 
249 jdk_security1 = \
250     java/security
251 
252 jdk_security2 = \
253     javax/crypto \
254     javax/xml/crypto \
255     com/sun/org/apache/xml/internal/security \
256     com/sun/crypto
257 
258 jdk_security3 = \
259     javax/security  \
260     -javax/security/auth/kerberos \
261     com/sun/security \
262     -com/sun/security/jgss \
263     jdk/security \
264     sun/security \
265     -sun/security/krb5 \
266     -sun/security/jgss \
267     javax/net
268 
269 jdk_security4 = \
270     com/sun/security/jgss \
271     javax/security/auth/kerberos \
272     sun/security/krb5 \
273     sun/security/jgss
274 
275 jdk_security = \
276     :jdk_security1 \
277     :jdk_security2 \
278     :jdk_security3 \
279     :jdk_security4
280 
281 # Tests in this group are manual as they depend on external infra
282 # and may fail with external reasons, for instance - change in CA test portal.
283 jdk_security_infra = \
284     security/infra
285 
286 jdk_text = \
287     java/text \
288     sun/text
289 
290 jdk_management = \
291     java/lang/management \
292     jdk/management \
293     com/sun/management \
294     sun/management \
295     jdk/internal/agent
296 
297 jdk_instrument = \
298     java/lang/instrument
299 
300 jdk_jmx = \
301     javax/management \
302     com/sun/jmx
303 
304 jdk_jdi = \
305     com/sun/jdi
306 
307 jdk_native_sanity = \
308     native_sanity
309 
310 # java launcher specific tests.
311 jdk_launcher = \
312     tools/launcher \
313     sun/tools
314 
315 jdk_loom = \
316     com/sun/management/HotSpotDiagnosticMXBean \
317     com/sun/management/ThreadMXBean \
318     jdk/management/VirtualThreadSchedulerMXBean \
319     java/lang/Thread \
320     java/lang/ThreadGroup \
321     java/lang/management/ThreadMXBean \
322     java/util/concurrent \
323     java/net/vthread \
324     java/nio/channels/vthread \
325     jdk/internal/misc/ThreadFlock \
326     jdk/internal/vm/Continuation \
327     jdk/jfr/threading
328 
329 #
330 # Tool (and tool API) tests are mostly split into core and svc groups
331 #
332 core_tools = \
333     tools \
334     -tools/jpackage \
335     jdk/internal/jrtfs
336 
337 svc_tools = \
338     com/sun/tools/attach \
339     sun/tools \
340     sun/jvmstat
341 
342 jdk_tools = \
343     :core_tools \
344     :svc_tools \
345     :jdk_jpackage
346 
347 jdk_jfr = \
348     jdk/jfr
349 
350 jdk_jpackage = \
351     tools/jpackage
352 
353 #
354 # Catch-all for other areas with a small number of tests
355 #
356 jdk_other = \
357     java/sql \
358     javax/sql \
359     javax/transaction \
360     javax/rmi \
361     javax/naming \
362     javax/script \
363     javax/smartcardio \
364     javax/xml \
365     -javax/xml/crypto \
366     jdk/dynalink \
367     jdk/internal/jline \
368     com/sun/jndi \
369     lib/testlibrary
370 
371 #
372 # SCTP is its own group as it is highly sensitive to kernel/network config
373 #
374 jdk_sctp = \
375     com/sun/nio/sctp
376 
377 
378 #
379 # core group to run all core area tests
380 #
381 jdk_core = \
382     :jdk_lang \
383     :jdk_util \
384     :jdk_math \
385     :jdk_io \
386     :jdk_nio \
387     :jdk_net \
388     :jdk_rmi \
389     :jdk_time \
390     :jdk_security \
391     :jdk_text \
392     :core_tools \
393     :jdk_other
394 
395 #
396 # svc group to run all serviceability area tests
397 #
398 jdk_svc = \
399     :jdk_management \
400     :jdk_instrument \
401     :jdk_jmx \
402     :jdk_jdi \
403     :jdk_jfr \
404     :svc_tools
405 
406 jdk_foreign = \
407     java/foreign \
408     jdk/internal/reflect/CallerSensitive/CheckCSMs.java \
409     -java/foreign/TestMatrix.java
410 
411 jdk_vector = \
412     jdk/incubator/vector
413 
414 jdk_vector_sanity = \
415     jdk/incubator/vector/PreferredSpeciesTest.java \
416     jdk/incubator/vector/VectorHash.java \
417     jdk/incubator/vector/VectorRuns.java
418 
419 jdk_json = \
420     jdk/incubator/json
421 
422 #############################
423 
424 #
425 # Client area groups
426 #
427 
428 jdk_awt = \
429     java/awt \
430     com/apple/eawt \
431     com/apple/laf \
432     sun/awt
433 
434 jdk_2d = \
435     javax/print \
436     sun/java2d
437 
438 jdk_beans = \
439     java/beans
440 
441 jdk_swing = \
442     javax/swing \
443     com/sun/java/swing
444 
445 jdk_sound = \
446     javax/sound
447 
448 jdk_imageio = \
449     javax/imageio
450 
451 jdk_accessibility = \
452     javax/accessibility
453 
454 jfc_demo = \
455      demo/jfc
456 
457 jdk_editpad = \
458      jdk/editpad
459 
460 jdk_desktop = \
461     :jdk_desktop_part1 \
462     :jdk_desktop_part2 \
463     :jdk_desktop_part3
464 
465 jdk_desktop_part1 = \
466     :jdk_client_sanity \
467     :jdk_swing \
468     :jdk_2d \
469     :jdk_sound \
470     :jdk_imageio \
471     :jdk_editpad \
472     :jfc_demo \
473     :jdk_accessibility \
474     :jdk_beans
475 
476 jdk_desktop_part2 = \
477     :jdk_awt \
478     -java/awt/Component \
479     -java/awt/Modal \
480     -java/awt/datatransfer \
481     -java/awt/Window
482 
483 jdk_desktop_part3 = \
484     java/awt/Component \
485     java/awt/Modal \
486     java/awt/datatransfer \
487     java/awt/Window
488 
489 # SwingSet3 tests.
490 jdk_client_sanity = \
491     sanity/client/SwingSet
492 
493 # This test group represents a subset of tests which are expected to
494 # exercise most of the most commonly used code in Swing applications.
495 # New failures in this area may be a problem.
496 jdk_swing_core = \
497      :jdk_client_sanity \
498      javax/swing
499 
500 # The most commonly used printing APIs are included here along with swing core.
501 jdk_desktop_core = \
502     :jdk_swing_core \
503     java/awt/print
504 
505 ###############################################################################
506 #
507 # Serviceability sanity groups
508 #
509 # These groups specify a subset of Serviceability tests that are supposed to
510 # guard against breakage of Serviceability features by other component teams.
511 
512 jdk_svc_sanity = \
513     :jdk_management_sanity \
514     :jdk_instrument_sanity \
515     :jdk_jmx_sanity \
516     :jdk_jdi_sanity \
517     :jdk_jfr_sanity \
518     :svc_tools_sanity
519 
520 jdk_management_sanity =
521 
522 jdk_instrument_sanity =
523 
524 jdk_jmx_sanity =
525 
526 jdk_jdi_sanity = \
527     com/sun/jdi/AcceptTimeout.java \
528     com/sun/jdi/AccessSpecifierTest.java \
529     com/sun/jdi/AfterThreadDeathTest.java \
530     com/sun/jdi/ArrayRangeTest.java \
531     com/sun/jdi/ConstantPoolInfo.java \
532     com/sun/jdi/CountFilterTest.java \
533     com/sun/jdi/EarlyReturnNegativeTest.java \
534     com/sun/jdi/EarlyReturnTest.java \
535     com/sun/jdi/FieldWatchpoints.java \
536     com/sun/jdi/FramesTest.java \
537     com/sun/jdi/InstanceFilter.java \
538     com/sun/jdi/InterfaceMethodsTest.java \
539     com/sun/jdi/InvokeTest.java \
540     com/sun/jdi/LocalVariableEqual.java \
541     com/sun/jdi/LocationTest.java \
542     com/sun/jdi/ModificationWatchpoints.java \
543     com/sun/jdi/MonitorEventTest.java \
544     com/sun/jdi/MonitorFrameInfo.java \
545     com/sun/jdi/NullThreadGroupNameTest.java \
546     com/sun/jdi/PopAndStepTest.java \
547     com/sun/jdi/PopAsynchronousTest.java \
548     com/sun/jdi/ProcessAttachTest.java \
549     com/sun/jdi/ReferrersTest.java \
550     com/sun/jdi/RequestReflectionTest.java \
551     com/sun/jdi/ResumeOneThreadTest.java \
552     com/sun/jdi/RunToExit.java \
553     com/sun/jdi/SourceNameFilterTest.java \
554     com/sun/jdi/SuspendAfterDeath.java \
555     com/sun/jdi/VarargsTest.java \
556     com/sun/jdi/Vars.java \
557     com/sun/jdi/redefineMethod/RedefineTest.java \
558     com/sun/jdi/sde/MangleTest.java \
559     com/sun/jdi/sde/TemperatureTableTest.java
560 
561 jdk_jfr_sanity = \
562     jdk/jfr/api/recording/event/TestLoadEventAfterStart.java \
563     jdk/jfr/api/recording/state/TestState.java \
564     jdk/jfr/event/os/TestCPULoad.java \
565     jdk/jfr/event/allocation/TestObjectAllocationSampleEvent.java \
566     jdk/jfr/jcmd/TestJcmdStartStopDefault.java \
567     jdk/jfr/event/io/TestFileStreamEvents.java \
568     jdk/jfr/event/compiler/TestCompilerCompile.java \
569     jdk/jfr/event/gc/collection/TestGCGarbageCollectionEvent.java \
570     jdk/jfr/event/runtime/TestClassLoadEvent.java \
571     jdk/jfr/event/runtime/TestJavaBlockedEvent.java \
572     jdk/jfr/event/gc/collection/TestGCWithFasttime.java \
573     jdk/jfr/event/gc/configuration/TestGCConfigurationEvent.java \
574     jdk/jfr/event/metadata/TestDefaultConfigurations.java \
575     jdk/jfr/event/oldobject/TestDFSWithSmallStack.java \
576     jdk/jfr/startupargs/TestDumpOnExit.java \
577     jdk/jfr/api/consumer/recordingstream/TestBasics.java
578 
579 svc_tools_sanity =
580 
581 #############################
582 #
583 # Stable test groups
584 #
585 
586 jdk_stable = \
587     :jdk_core \
588     :jdk_svc \
589     :jdk_beans \
590     :jdk_imageio \
591     :jdk_sound \
592     :jdk_sctp \
593     javax/accessibility \
594     com/sun/java/swing
595 
596 needs_g1gc = \
597   jdk/jfr/event/gc/refstat/TestRefStatEventWithG1ConcurrentMark.java \
598   jdk/jfr/event/gc/refstat/TestRefStatEventWithG1FullCollection.java \
599   jdk/jfr/event/gc/refstat/TestRefStatEventWithG1New.java \
600   jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java \
601   jdk/jfr/event/gc/detailed/TestEvacuationInfoEvent.java \
602   jdk/jfr/event/gc/detailed/TestG1ConcurrentModeFailureEvent.java \
603   jdk/jfr/event/gc/collection/TestGCCauseWithG1ConcurrentMark.java \
604   jdk/jfr/event/gc/collection/TestGCCauseWithG1FullCollection.java \
605   jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithG1New.java \
606   jdk/jfr/event/gc/collection/TestGCEventMixedWithG1FullCollection.java \
607   jdk/jfr/event/gc/collection/TestGCEventMixedWithG1ConcurrentMark.java \
608   jdk/jfr/event/gc/collection/TestG1ParallelPhases.java \
609   jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1FullCollection.java \
610   jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java \
611   jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventG1.java
612 
613 #  This set of tests will be executed in an ipv6 only environment
614 
615 jdk_ipv6_only = \
616     :jdk_net \
617     :jdk_nio_networkchannel
618 
619 jdk_nio_networkchannel = \
620     java/nio/channels/AsyncCloseAndInterrupt.java \
621     java/nio/channels/AsynchronousServerSocketChannel \
622     java/nio/channels/AsynchronousSocketChannel \
623     java/nio/channels/DatagramChannel \
624     java/nio/channels/ServerSocketChannel \
625     java/nio/channels/SocketChannel \
626     java/nio/channels/Selector \
627     java/nio/channels/etc
628 
629 jdk_core_manual = \
630     :jdk_core_manual_no_input \
631     :jdk_security_manual_no_input \
632     :jdk_core_manual_interactive \
633     :jdk_security_manual_interactive
634 
635 jdk_core_manual_no_input = \
636     java/net/HugeDataTransferTest.java \
637     java/net/httpclient/BodyProcessorInputStreamTest.java \
638     java/net/httpclient/HttpInputStreamTest.java \
639     java/util/zip/ZipFile/TestZipFile.java \
640     javax/net/ssl/compatibility/AlpnTest.java \
641     javax/net/ssl/compatibility/BasicConnectTest.java \
642     javax/net/ssl/compatibility/HrrTest.java \
643     javax/net/ssl/compatibility/SniTest.java \
644     jdk/nio/zipfs/LargeCompressedEntrySizeTest.java \
645     java/util/ArrayList/Bug8146568.java \
646     java/util/Vector/Bug8148174.java \
647     com/sun/net/httpserver/simpleserver/CommandLinePortNotSpecifiedTest.java \
648     com/sun/net/httpserver/simpleserver/jwebserver/CommandLinePortNotSpecifiedTest.java \
649     com/sun/net/httpserver/simpleserver/DocRootDirPermissionsWinTest.java \
650     javax/xml/jaxp/datatype/8033980/GregorianCalAndDurSerDataUtil.java \
651     java/util/zip/ZipFile/CenSizeMaximum.java
652 
653 jdk_security_manual_no_input = \
654     :jdk_security_infra \
655     com/sun/crypto/provider/Cipher/AEAD/GCMIncrementByte4.java \
656     com/sun/crypto/provider/Cipher/AEAD/GCMIncrementDirect4.java \
657     sun/security/smartcardio/TestChannel.java \
658     sun/security/smartcardio/TestCleaner.java \
659     sun/security/smartcardio/TestConnect.java \
660     sun/security/smartcardio/TestConnectAgain.java \
661     sun/security/smartcardio/TestControl.java \
662     sun/security/smartcardio/TestDefault.java \
663     sun/security/smartcardio/TestDirect.java \
664     sun/security/smartcardio/TestExclusive.java \
665     sun/security/smartcardio/TestMultiplePresent.java \
666     sun/security/smartcardio/TestPresent.java \
667     sun/security/smartcardio/TestTransmit.java \
668     sun/security/tools/jarsigner/compatibility/Compatibility.java \
669     sun/security/tools/keytool/ListKeyChainStore.java
670 
671 jdk_core_manual_interactive = \
672     com/sun/jndi/dns/Test6991580.java \
673     java/util/TimeZone/DefaultTimeZoneTest.java \
674     java/nio/MappedByteBuffer/PmemTest.java \
675     java/rmi/registry/nonLocalRegistry/NonLocalRegistryTest.java \
676     java/rmi/registry/nonLocalRegistry/NonLocalSkeletonTest.java \
677     java/foreign/TestMatrix.java \
678     java/nio/channels/FileChannel/BlockDeviceSize.java
679 
680 jdk_security_manual_interactive = \
681     sun/security/tools/keytool/i18n.java \
682     com/sun/security/auth/callback/TextCallbackHandler/Password.java \
683     sun/security/krb5/config/native/TestDynamicStore.java \
684     sun/security/tools/keytool/EchoPassword.java
685 
686 # Test sets for running inside container environment
687 jdk_containers_extended = \
688     :jdk_io \
689     :jdk_nio \
690     :jdk_svc
691 
692 jdk_core_no_security = \
693    :jdk_core \
694    -:jdk_security
695 
696 # Set of tests for `@since` checks in source code documentation
697 jdk_since_checks = \
698    tools/sincechecker/