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/