1 #
  2 # Copyright (c) 2005, 2025, 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.continuations \
104     vm.musl \
105     vm.asan \
106     vm.ubsan \
107     vm.debug \
108     vm.hasSA \
109     vm.hasJFR \
110     vm.jvmci \
111     vm.jvmci.enabled \
112     vm.jvmti \
113     vm.cpu.features \
114     container.support \
115     systemd.support \
116     release.implementor \
117     jdk.containerized \
118     jdk.foreign.linker \
119     jlink.runtime.linkable \
120     jlink.packagedModules \
121     jdk.static
122 
123 # Minimum jtreg version
124 requiredVersion=7.5.2+1
125 
126 # Path to libraries in the topmost test directory. This is needed so @library
127 # does not need ../../ notation to reach them
128 external.lib.roots = ../../
129 
130 # Use new module options
131 useNewOptions=true
132 
133 # Use --patch-module instead of -Xmodule:
134 useNewPatchModule=true