1 #
2 # Copyright (c) 2005, 2026, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # This file identifies the root of the test-suite hierarchy.
6 # It also contains test-suite configuration information.
7 #
8 # The list of keywords supported in the entire test suite. The
9 # "intermittent" keyword marks tests known to fail intermittently.
10 # The "randomness" keyword marks tests using randomness with test
11 # cases differing from run to run. (A test using a fixed random seed
12 # would not count as "randomness" by this definition.) Extra care
13 # should be taken to handle test failures of intermittent or
14 # randomness tests.
15 #
16 # A test flagged with cgroups uses cgroups.
17 #
18 # Notes on "client" keywords : headful sound printer multimon
19 # ===========================================================
20 #
21 # These keywords are there to help with test selection so that
22 # tests that need a particular resource can be selected to run on a system
23 # with that resource. Conversely "!somekeyword" can be used to exclude tests
24 # on a system without such a resource.
25 # Caution: If you are always excluding tests using any of these keywords then you
26 # are likely missing many important tests.
27 #
28 # "headful". A "headful" test requires a graphical environment to meaningfully run.
29 # This does not have to mean a physical host, since a VM can be configured as headful.
30 # Tests that are not headful are "headless".
31 # Note: all manual tests are assumed to be headful and do not need the keyword.
32 #
33 # "printer". Not all tests of printing APIs require a printer, but many do.
34 # So a "printer" test requires a printer to be installed to do anything meaningful.
35 # Tests may not fail if there is none, instead just silently return.
36 # But they also may legitimately throw an Exception depending on the test.
37 # Also printer tests are not necessarily headful, but some are, and some are automated.
38 #
39 # "sound". Similarly, not all sound tests require audio devices, but many do.
40 # A test flagged with key "sound" needs audio devices on the system.
41 # Also they are not necessarily "headful", since they don't require a display etc.
42 # But sometimes they may be accompanied by the headful keyword, since sound
43 # is often linked to access to desktop resources and headful systems are
44 # also more likely to have audio devices (ie meaning both input and output)
45 #
46 # "multimon" should be used in conjunction with headful and is used to identify
47 # tests which require two displays connected.
48
49 keys=headful sound printer multimon \
50 i18n intermittent randomness cgroups
51
52 # Tests that must run in othervm mode
53 othervm.dirs=java/awt java/beans javax/accessibility javax/imageio javax/sound javax/swing javax/print \
54 com/apple/laf com/apple/eawt com/sun/java/accessibility com/sun/java/swing sanity/client demo/jfc \
55 javax/management sun/awt sun/java2d javax/xml/jaxp/testng/validation java/lang/ProcessHandle
56
57 # Tests that cannot run concurrently
58 exclusiveAccess.dirs=java/math/BigInteger/largeMemory \
59 java/rmi/Naming java/util/prefs sun/management/jmxremote \
60 sun/tools/jstatd sun/security/mscapi java/util/Arrays/largeMemory \
61 java/util/BitSet/stream javax/rmi java/net/httpclient/websocket \
62 com/sun/net/httpserver/simpleserver sun/tools/jhsdb
63
64 # Group definitions
65 groups=TEST.groups
66
67 # Allow querying of various System properties in @requires clauses
68 #
69 # Source files for classes that will be used at the beginning of each test suite run,
70 # to determine additional characteristics of the system for use with the @requires tag.
71 # Note: compiled bootlibs classes will be added to BCP.
72 requires.extraPropDefns = ../jtreg-ext/requires/VMProps.java
73 requires.extraPropDefns.bootlibs = ../lib/jdk/test/whitebox
74 requires.extraPropDefns.libs = \
75 ../lib/jdk/test/lib/Platform.java \
76 ../lib/jdk/test/lib/Container.java
77 requires.extraPropDefns.javacOpts = \
78 --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED \
79 --add-exports java.base/jdk.internal.misc=ALL-UNNAMED
80 requires.extraPropDefns.vmOpts = \
81 -XX:+UnlockDiagnosticVMOptions \
82 -XX:+LogVMOutput -XX:-DisplayVMOutput -XX:LogFile=vmprops.flags.final.vm.log \
83 -XX:+PrintFlagsFinal \
84 -XX:+WhiteBoxAPI \
85 --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED \
86 --add-exports java.base/jdk.internal.misc=ALL-UNNAMED
87 requires.properties= \
88 sun.arch.data.model \
89 java.runtime.name \
90 java.enablePreview \
91 vm.flagless \
92 vm.gc.G1 \
93 vm.gc.Serial \
94 vm.gc.Parallel \
95 vm.gc.Shenandoah \
96 vm.gc.Epsilon \
97 vm.gc.Z \
98 vm.graal.enabled \
99 vm.compiler1.enabled \
100 vm.compiler2.enabled \
101 vm.cds \
102 vm.cds.write.archived.java.heap \
103 vm.cds.write.mapped.java.heap \
104 vm.cds.write.streamed.java.heap \
105 vm.continuations \
106 vm.musl \
107 vm.asan \
108 vm.ubsan \
109 vm.debug \
110 vm.hasSA \
111 vm.hasJFR \
112 vm.jvmci \
113 vm.jvmci.enabled \
114 vm.jvmti \
115 vm.cpu.features \
116 container.support \
117 systemd.support \
118 release.implementor \
119 jdk.containerized \
120 jdk.foreign.linker \
121 jlink.runtime.linkable \
122 jlink.packagedModules \
123 jdk.static
124
125 # Minimum jtreg version
126 requiredVersion=8.2.1+1
127
128 # Path to libraries in the topmost test directory. This is needed so @library
129 # does not need ../../ notation to reach them
130 external.lib.roots = ../../
131
132 # Use new module options
133 useNewOptions=true
134
135 # Use --patch-module instead of -Xmodule:
136 useNewPatchModule=true