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/