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