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