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