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