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