From 79cae4364d17b449f645c94c5157bd3d81962c24 Mon Sep 17 00:00:00 2001 From: Sergey Bylokhov Date: Mon, 28 Aug 2023 18:47:05 +0000 Subject: [PATCH 01/27] 6528710: sRGB-ColorSpace to sRGB-ColorSpace Conversion Reviewed-by: andrew Backport-of: abeddab991d71f4ea54665082ffcb284267d7f44 --- .../SimpleSRGBConversionQualityTest.java | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 jdk/test/java/awt/color/ICC_ColorSpace/SimpleSRGBConversionQualityTest.java diff --git a/jdk/test/java/awt/color/ICC_ColorSpace/SimpleSRGBConversionQualityTest.java b/jdk/test/java/awt/color/ICC_ColorSpace/SimpleSRGBConversionQualityTest.java new file mode 100644 index 00000000000..57239dd41e7 --- /dev/null +++ b/jdk/test/java/awt/color/ICC_ColorSpace/SimpleSRGBConversionQualityTest.java @@ -0,0 +1,51 @@ +/* + * Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.awt.Color; +import java.awt.color.ColorSpace; + +/** + * @test + * @bug 6528710 + * @summary Verifies sRGB-ColorSpace to sRGB-ColorSpace conversion quality + */ +public final class SimpleSRGBConversionQualityTest { + + public static void main(String[] args) { + ColorSpace cspace = ColorSpace.getInstance(ColorSpace.CS_sRGB); + float fvalue[] = {1.0f, 1.0f, 1.0f}; + + Color c = new Color(cspace, fvalue, 1.0f); + if (c.getRed() != 255 || c.getGreen() != 255 || c.getBlue() != 255) { + throw new RuntimeException("Wrong color: " + c); + } + + float frgbvalue[] = cspace.toRGB(fvalue); + for (int i = 0; i < 3; ++i) { + if (frgbvalue[i] != 1.0f) { + System.err.println(fvalue[i] + " -> " + frgbvalue[i]); + throw new RuntimeException("Wrong value"); + } + } + } +} From 6c67bf693bbe06d3d1cfec20baa1e435695ff34b Mon Sep 17 00:00:00 2001 From: Sergey Bylokhov Date: Mon, 28 Aug 2023 19:32:13 +0000 Subject: [PATCH 02/27] 8212677: X11 default visual support for IM status window on VNC Reviewed-by: phh, andrew Backport-of: 86cf7f8768977aea7b9ea1c90da498a1d91d2891 --- .../solaris/native/sun/awt/awt_GraphicsEnv.c | 37 +++++++++++++------ .../solaris/native/sun/awt/awt_InputMethod.c | 5 ++- 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c b/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c index 1a20b404ad0..94f0228191b 100644 --- a/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c +++ b/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c @@ -205,6 +205,8 @@ findWithTemplate(XVisualInfo *vinfo, visualList = XGetVisualInfo(awt_display, mask, vinfo, &visualsMatched); if (visualList) { + int id = -1; + VisualID defaultVisual = XVisualIDFromVisual(DefaultVisual(awt_display, vinfo->screen)); defaultConfig = ZALLOC(_AwtGraphicsConfigData); for (i = 0; i < visualsMatched; i++) { memcpy(&defaultConfig->awt_visInfo, &visualList[i], sizeof(XVisualInfo)); @@ -213,20 +215,31 @@ findWithTemplate(XVisualInfo *vinfo, /* we can't use awtJNI_CreateColorData here, because it'll pull, SystemColor, which in turn will cause toolkit to be reinitialized */ if (awtCreateX11Colormap(defaultConfig)) { - /* Allocate white and black pixels for this visual */ - color.flags = DoRed | DoGreen | DoBlue; - color.red = color.green = color.blue = 0x0000; - XAllocColor(awt_display, defaultConfig->awt_cmap, &color); - x11Screens[visualList[i].screen].blackpixel = color.pixel; - color.flags = DoRed | DoGreen | DoBlue; - color.red = color.green = color.blue = 0xffff; - XAllocColor(awt_display, defaultConfig->awt_cmap, &color); - x11Screens[visualList[i].screen].whitepixel = color.pixel; - - XFree(visualList); - return defaultConfig; + if (visualList[i].visualid == defaultVisual) { + id = i; + break; + } else if (-1 == id) { + // Keep 1st match for fallback + id = i; + } } } + if (-1 != id) { + memcpy(&defaultConfig->awt_visInfo, &visualList[id], sizeof(XVisualInfo)); + defaultConfig->awt_depth = visualList[id].depth; + /* Allocate white and black pixels for this visual */ + color.flags = DoRed | DoGreen | DoBlue; + color.red = color.green = color.blue = 0x0000; + XAllocColor(awt_display, defaultConfig->awt_cmap, &color); + x11Screens[visualList[id].screen].blackpixel = color.pixel; + color.flags = DoRed | DoGreen | DoBlue; + color.red = color.green = color.blue = 0xffff; + XAllocColor(awt_display, defaultConfig->awt_cmap, &color); + x11Screens[visualList[id].screen].whitepixel = color.pixel; + + XFree(visualList); + return defaultConfig; + } XFree(visualList); free((void *)defaultConfig); } diff --git a/jdk/src/solaris/native/sun/awt/awt_InputMethod.c b/jdk/src/solaris/native/sun/awt/awt_InputMethod.c index 30b197719e5..f4a828279c3 100644 --- a/jdk/src/solaris/native/sun/awt/awt_InputMethod.c +++ b/jdk/src/solaris/native/sun/awt/awt_InputMethod.c @@ -676,9 +676,10 @@ static StatusWindow *createStatusWindow( return NULL; } statusWindow->w = status; - //12-point font + //12, 13-point fonts statusWindow->fontset = XCreateFontSet(dpy, - "-*-*-medium-r-normal-*-*-120-*-*-*-*", + "-*-*-medium-r-normal-*-*-120-*-*-*-*," \ + "-*-*-medium-r-normal-*-*-130-*-*-*-*", &mclr, &mccr, &dsr); /* In case we didn't find the font set, release the list of missing characters */ if (mccr > 0) { From bbc068f291f0af9c15edc10ed967dece8b44b8fd Mon Sep 17 00:00:00 2001 From: Ben Taylor Date: Wed, 30 Aug 2023 17:44:05 +0000 Subject: [PATCH 03/27] 8206179: com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java fails with Committed virtual memory size illegal value Reviewed-by: andrew, phh Backport-of: 1ea3869a926003cd3cebd3d8ecf9657646bdbda3 --- .../GetCommittedVirtualMemorySize.java | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/jdk/test/com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java b/jdk/test/com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java index 880a72e13f9..aee5cafecd5 100644 --- a/jdk/test/com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java +++ b/jdk/test/com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -56,8 +56,7 @@ public class GetCommittedVirtualMemorySize { // Careful with these values. private static final long MIN_SIZE_FOR_PASS = 1; - // Max size for pass dynamically determined below - private static long max_size_for_pass = Long.MAX_VALUE; + private static long MAX_SIZE_FOR_PASS = Long.MAX_VALUE; private static boolean trace = false; @@ -66,16 +65,6 @@ public static void main(String args[]) throws Exception { trace = true; } - // 4934082: On Linux, VM size *can* be larger than total swap - // size. Linux might not reserve swap memory immediately when - // a page is mmaped. This means that the reported committed - // memory size can grow beyond the swap limit. - long max_size = mbean.getTotalSwapSpaceSize() + - mbean.getTotalPhysicalMemorySize(); - - if (max_size > 0) { - max_size_for_pass = max_size; - } long size = mbean.getCommittedVirtualMemorySize(); if (size == -1) { System.out.println("getCommittedVirtualMemorySize() is not supported"); @@ -87,11 +76,11 @@ public static void main(String args[]) throws Exception { size); } - if (size < MIN_SIZE_FOR_PASS || size > max_size_for_pass) { + if (size < MIN_SIZE_FOR_PASS || size > MAX_SIZE_FOR_PASS) { throw new RuntimeException("Committed virtual memory size " + "illegal value: " + size + " bytes " + "(MIN = " + MIN_SIZE_FOR_PASS + "; " + - "MAX = " + max_size_for_pass + ")"); + "MAX = " + MAX_SIZE_FOR_PASS + ")"); } System.out.println("Test passed."); From 33db95bd6223a2c41dc81459022fecbe581173f2 Mon Sep 17 00:00:00 2001 From: Andrew John Hughes Date: Thu, 31 Aug 2023 21:14:12 +0000 Subject: [PATCH 04/27] 8315280: Bump update version of OpenJDK: 8u402 Reviewed-by: serb --- .jcheck/conf | 2 +- common/autoconf/version-numbers | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.jcheck/conf b/.jcheck/conf index 6b38c2b0c86..a8d23a3c35b 100644 --- a/.jcheck/conf +++ b/.jcheck/conf @@ -1,7 +1,7 @@ [general] project=jdk8u jbs=JDK -version=openjdk8u392 +version=openjdk8u402 [checks] error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace diff --git a/common/autoconf/version-numbers b/common/autoconf/version-numbers index c6f195d24a9..0ab28cdaf65 100644 --- a/common/autoconf/version-numbers +++ b/common/autoconf/version-numbers @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -26,7 +26,7 @@ JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=8 JDK_MICRO_VERSION=0 -JDK_UPDATE_VERSION=392 +JDK_UPDATE_VERSION=402 LAUNCHER_NAME=openjdk PRODUCT_NAME=OpenJDK PRODUCT_SUFFIX="Runtime Environment" From 6632d0a78758d11744906fdef6c3268d7091070e Mon Sep 17 00:00:00 2001 From: Volker Simonis Date: Fri, 1 Sep 2023 14:43:16 +0000 Subject: [PATCH 05/27] 8315135: Memory leak in the native implementation of Pack200.Unpacker.unpack() Reviewed-by: andrew Backport-of: b77c161e7509aa3b09ebf3e6b2b1490c0667bbdc --- .../sun/java/util/jar/pack/NativeUnpack.java | 2 +- .../sun/java/util/jar/pack/UnpackerImpl.java | 5 ++ .../native/com/sun/java/util/jar/pack/jni.cpp | 5 +- jdk/test/tools/pack200/UnpackMalformed.java | 55 +++++++++++++++++++ 4 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 jdk/test/tools/pack200/UnpackMalformed.java diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java index 52864dfb02f..a04b440525a 100644 --- a/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java +++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java @@ -60,7 +60,7 @@ class NativeUnpack { // Resets the engine and frees all resources. // Returns total number of bytes consumed by the engine. - private synchronized native long finish(); + synchronized native long finish(); // Setting state in the unpacker. protected synchronized native boolean setOption(String opt, String value); diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java index 7bc6281fd95..b5028f9d952 100644 --- a/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java +++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java @@ -139,6 +139,11 @@ public synchronized void unpack(InputStream in, JarOutputStream out) throws IOEx } catch (UnsatisfiedLinkError | NoClassDefFoundError ex) { // failover to java implementation (new DoUnpack()).run(in0, out); + } finally { + if (_nunp != null) { + // Free up native memory and JNI handles to prevent leaks + ((NativeUnpack) _nunp).finish(); + } } in0.close(); Utils.markJarFile(out); diff --git a/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp b/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp index e9109cbec96..5fbc7261fb3 100644 --- a/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp +++ b/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp @@ -309,9 +309,12 @@ Java_com_sun_java_util_jar_pack_NativeUnpack_getUnusedInput(JNIEnv *env, jobject JNIEXPORT jlong JNICALL Java_com_sun_java_util_jar_pack_NativeUnpack_finish(JNIEnv *env, jobject pObj) { - unpacker* uPtr = get_unpacker(env, pObj, false); + // There's no need to create a new unpacker here if we don't already have one + // just to immediatly free it afterwards. + unpacker* uPtr = get_unpacker(env, pObj, /* noCreate= */ true); CHECK_EXCEPTION_RETURN_VALUE(uPtr, NULL); size_t consumed = uPtr->input_consumed(); + // free_unpacker() will set the unpacker field on 'pObj' to null free_unpacker(env, pObj, uPtr); return consumed; } diff --git a/jdk/test/tools/pack200/UnpackMalformed.java b/jdk/test/tools/pack200/UnpackMalformed.java new file mode 100644 index 00000000000..70a84acdf2e --- /dev/null +++ b/jdk/test/tools/pack200/UnpackMalformed.java @@ -0,0 +1,55 @@ +/* + * Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +/* + * @test + * @bug 8315135 + * @run main/othervm/timeout=300 -Dcom.sun.java.util.jar.pack.disable.native=false -Xmx8m UnpackMalformed + */ + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.jar.JarOutputStream; +import java.util.jar.Pack200; + +@SuppressWarnings("removal") +public class UnpackMalformed { + public static void main(String[] args) { + try { + ByteArrayInputStream in = new ByteArrayInputStream("foobar".getBytes()); + for (int i=0; i < 1_000; i++) { + try { + JarOutputStream out = new JarOutputStream(new ByteArrayOutputStream()); + Pack200.Unpacker unpacker = Pack200.newUnpacker(); + unpacker.unpack(in, out); + } catch (IOException e) { + } + } + } catch (OutOfMemoryError e) { + System.out.println(e); + throw e; + } + } +} From 89a08b389947078ae150a758c1ff9da7ba404857 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Mon, 4 Sep 2023 10:33:34 +0000 Subject: [PATCH 06/27] 8315506: C99 compatibility issue in LinuxNativeDispatcher Co-authored-by: DJ Delorie Reviewed-by: sgehwolf, andrew --- jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c | 1 + 1 file changed, 1 insertion(+) diff --git a/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c b/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c index bd836bfcd6b..e70a8a58813 100644 --- a/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c +++ b/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c @@ -29,6 +29,7 @@ #include "jlong.h" #include +#include #include #include #include From 115e74d22d3b324afa6e53814c8f9c5599bec542 Mon Sep 17 00:00:00 2001 From: Ilarion Nakonechnyy Date: Wed, 6 Sep 2023 13:35:35 +0000 Subject: [PATCH 07/27] 8239365: ProcessBuilder test modifications for AIX execution Backport-of: 2785fe5621bd3af64450f1f5069dc2a4b47785fe --- jdk/test/java/lang/ProcessBuilder/Basic.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/jdk/test/java/lang/ProcessBuilder/Basic.java b/jdk/test/java/lang/ProcessBuilder/Basic.java index a1c64309422..223b011e7dd 100644 --- a/jdk/test/java/lang/ProcessBuilder/Basic.java +++ b/jdk/test/java/lang/ProcessBuilder/Basic.java @@ -62,6 +62,10 @@ public class Basic { /* used for AIX only */ static final String libpath = System.getenv("LIBPATH"); + /* Used for regex String matching for long error messages */ + static final String PERMISSION_DENIED_ERROR_MSG = "(Permission denied|error=13)"; + static final String NO_SUCH_FILE_ERROR_MSG = "(No such file|error=2)"; + /** * Returns the number of milliseconds since time given by * startNanoTime, which must have been previously returned from a @@ -295,7 +299,7 @@ static void checkPermissionDenied(ProcessBuilder pb) { } catch (IOException e) { String m = e.getMessage(); if (EnglishUnix.is() && - ! matches(m, "Permission denied")) + ! matches(m, PERMISSION_DENIED_ERROR_MSG)) unexpected(e); } catch (Throwable t) { unexpected(t); } } @@ -403,7 +407,7 @@ public static void main(String args[]) throws Throwable { } catch (IOException e) { String m = e.getMessage(); if (EnglishUnix.is() && - ! matches(m, "No such file")) + ! matches(m, NO_SUCH_FILE_ERROR_MSG)) unexpected(e); } catch (Throwable t) { unexpected(t); } @@ -416,7 +420,7 @@ public static void main(String args[]) throws Throwable { } catch (IOException e) { String m = e.getMessage(); if (EnglishUnix.is() && - ! matches(m, "No such file")) + ! matches(m, NO_SUCH_FILE_ERROR_MSG)) unexpected(e); } catch (Throwable t) { unexpected(t); } @@ -1854,7 +1858,7 @@ public void doIt(Map environ) { } catch (IOException e) { String m = e.getMessage(); if (EnglishUnix.is() && - ! matches(m, "No such file or directory")) + ! matches(m, NO_SUCH_FILE_ERROR_MSG)) unexpected(e); } catch (Throwable t) { unexpected(t); } @@ -1871,7 +1875,7 @@ public void doIt(Map environ) { Pattern p = Pattern.compile(programName); if (! matches(m, programName) || (EnglishUnix.is() - && ! matches(m, "No such file or directory"))) + && ! matches(m, NO_SUCH_FILE_ERROR_MSG))) unexpected(e); } catch (Throwable t) { unexpected(t); } @@ -1887,7 +1891,7 @@ public void doIt(Map environ) { String m = e.getMessage(); if (! matches(m, "in directory") || (EnglishUnix.is() && - ! matches(m, "No such file or directory"))) + ! matches(m, NO_SUCH_FILE_ERROR_MSG))) unexpected(e); } catch (Throwable t) { unexpected(t); } @@ -2122,7 +2126,7 @@ public void run() { new File("./emptyCommand").delete(); String m = e.getMessage(); if (EnglishUnix.is() && - ! matches(m, "Permission denied")) + ! matches(m, PERMISSION_DENIED_ERROR_MSG)) unexpected(e); } catch (Throwable t) { unexpected(t); } From 1fc2e331ebbeb38908f48d1903041324f2406ee6 Mon Sep 17 00:00:00 2001 From: Ilarion Nakonechnyy Date: Wed, 6 Sep 2023 13:37:32 +0000 Subject: [PATCH 08/27] 8159156: [TESTBUG] ReserveMemory test is not useful on Aix. Backport-of: 8bb3799029d34e7f5bbc3d9e5bc6da7068360bc7 --- hotspot/test/runtime/memory/ReserveMemory.java | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/hotspot/test/runtime/memory/ReserveMemory.java b/hotspot/test/runtime/memory/ReserveMemory.java index 9e37d52ccda..abb5a8193a7 100644 --- a/hotspot/test/runtime/memory/ReserveMemory.java +++ b/hotspot/test/runtime/memory/ReserveMemory.java @@ -21,10 +21,12 @@ * questions. */ +// Aix commits on touch, so this test won't work. /* * @test * @key regression * @bug 8012015 + * @requires !(os.family == "aix") * @summary Make sure reserved (but uncommitted) memory is not accessible * @library /testlibrary /testlibrary/whitebox * @build ReserveMemory @@ -37,14 +39,6 @@ import sun.hotspot.WhiteBox; public class ReserveMemory { - private static boolean isWindows() { - return System.getProperty("os.name").toLowerCase().startsWith("win"); - } - - private static boolean isOsx() { - return System.getProperty("os.name").toLowerCase().startsWith("mac"); - } - public static void main(String args[]) throws Exception { if (args.length > 0) { WhiteBox.getWhiteBox().readReservedMemory(); @@ -61,9 +55,9 @@ public static void main(String args[]) throws Exception { "test"); OutputAnalyzer output = new OutputAnalyzer(pb.start()); - if (isWindows()) { + if (Platform.isWindows()) { output.shouldContain("EXCEPTION_ACCESS_VIOLATION"); - } else if (isOsx()) { + } else if (Platform.isOSX()) { output.shouldContain("SIGBUS"); } else { output.shouldContain("SIGSEGV"); From 54c0440e3358542c1646997fcc155b4e4e2fcb34 Mon Sep 17 00:00:00 2001 From: Severin Gehwolf Date: Wed, 6 Sep 2023 14:11:38 +0000 Subject: [PATCH 09/27] 8271838: AmazonCA.java interop test fails Reviewed-by: andrew Backport-of: 512db0ff31a0a1a2bd8805964ba3d06e2cbfb9e9 --- .../certification/AmazonCA.java | 439 ++++++++---------- 1 file changed, 194 insertions(+), 245 deletions(-) diff --git a/jdk/test/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java b/jdk/test/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java index 6cb50066b6d..3232be7b170 100644 --- a/jdk/test/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java +++ b/jdk/test/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -100,76 +100,64 @@ class AmazonCA_1 { "843t4By6YT/PVlePU2PCWejkrJQnKQAPOov7IA8kuO2RDWuzE/zF6Hotdg==\n" + "-----END CERTIFICATE-----"; - // Owner: CN=good.sca1a.amazontrust.com, O=Amazon Trust Services, L=Seattle, ST=Washington, C=US, \ - // SERIALNUMBER=5846743, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, \ - // OID.1.3.6.1.4.1.311.60.2.1.3=US + // Owner: CN=good.sca1a.amazontrust.com // Issuer: CN=Amazon, OU=Server CA 1A, O=Amazon, C=US - // Serial number: 703e4e4bbd78e2b6db5634f36c4ee944cb1a4 - // Valid from: Mon Jul 29 16:53:36 PDT 2019 until: Sat Aug 29 16:53:36 PDT 2020 + // Serial number: 75a5dd4b767bedc94a4239da65ed9dfef8218 + // Valid from: Fri Dec 17 12:21:50 PST 2021 until: Tue Jan 17 12:21:50 PST 2023 private static final String VALID = "-----BEGIN CERTIFICATE-----\n" + - "MIIFEzCCA/ugAwIBAgITBwPk5LvXjitttWNPNsTulEyxpDANBgkqhkiG9w0BAQsF\n" + + "MIIEIDCCAwigAwIBAgITB1pd1LdnvtyUpCOdpl7Z3++CGDANBgkqhkiG9w0BAQsF\n" + "ADBGMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2\n" + - "ZXIgQ0EgMUExDzANBgNVBAMTBkFtYXpvbjAeFw0xOTA3MjkyMzUzMzZaFw0yMDA4\n" + - "MjkyMzUzMzZaMIHaMRMwEQYLKwYBBAGCNzwCAQMTAlVTMRkwFwYLKwYBBAGCNzwC\n" + - "AQITCERlbGF3YXJlMR0wGwYDVQQPExRQcml2YXRlIE9yZ2FuaXphdGlvbjEQMA4G\n" + - "A1UEBRMHNTg0Njc0MzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x\n" + - "EDAOBgNVBAcTB1NlYXR0bGUxHjAcBgNVBAoTFUFtYXpvbiBUcnVzdCBTZXJ2aWNl\n" + - "czEjMCEGA1UEAxMaZ29vZC5zY2ExYS5hbWF6b250cnVzdC5jb20wggEiMA0GCSqG\n" + - "SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDQyuJ83c2Zf9k29f6iLqd8nJSuHSk1v+SS\n" + - "0sYyG8tjscfCC1HcOdNj37vtiNN65sXh/e/kBKH9wvzhCLOJbBqVKRHOZuHdJEpH\n" + - "35R6C/PbcV/tp49g6mNmBe+lcmm/cwwCtYvkL0rgL/OKB0liFhhRIqy2TPg08op/\n" + - "RlY2DdbgBA2B3g7wdMo0hK3SO56/QUccUtLRm43km9Yd4E3U+CEUyDd0Bmc/YbPa\n" + - "htuXVsXJwiwlwooomujIIENhFw3htdcsu2apRj8EYUrKL8Mvvn+h16gDyobj0f01\n" + - "jWXlUgmH2lzUzca5eGuphfvmWN/ME/yqC2mMvWGnWySycqtT8VdJAgMBAAGjggFj\n" + - "MIIBXzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0OBBYEFFENOZBwFkjVdQX0iK32c77z\n" + - "SUl6MB8GA1UdIwQYMBaAFGLUQl6GcHVqkLzGuNJNYMI0ulE6MB0GA1UdJQQWMBQG\n" + - "CCsGAQUFBwMBBggrBgEFBQcDAjB1BggrBgEFBQcBAQRpMGcwLQYIKwYBBQUHMAGG\n" + - "IWh0dHA6Ly9vY3NwLnNjYTFhLmFtYXpvbnRydXN0LmNvbTA2BggrBgEFBQcwAoYq\n" + - "aHR0cDovL2NydC5zY2ExYS5hbWF6b250cnVzdC5jb20vc2NhMWEuY2VyMCUGA1Ud\n" + - "EQQeMByCGmdvb2Quc2NhMWEuYW1hem9udHJ1c3QuY29tMFAGA1UdIARJMEcwDQYL\n" + - "YIZIAYb9bgEHGAMwNgYFZ4EMAQEwLTArBggrBgEFBQcCARYfaHR0cHM6Ly93d3cu\n" + - "YW1hem9udHJ1c3QuY29tL2NwczANBgkqhkiG9w0BAQsFAAOCAQEAmn7z6Ub1sL77\n" + - "wyUEaCq/Odqm+2RtYYMJ1MeW6nTXTfAgZ/iLx/6hStafd9AK9gHiTCggBpj6KgnF\n" + - "UsGMDeX879jP675fH6SEk710QPDhIrfAzwE0pF/eUNsd7pLwne32zHX0ouCoAt4d\n" + - "KwBCZkKNUkdj4U+bpOJzvtcTP9JlzziLp9IFRjjQh3xKgfblx57CmRJbqH3fT5JJ\n" + - "IAIDVTz3ZUcqhPTFAnNsO1oNBEyrO5X9rwCiSy7aRijY/11R75mIIvyA9zyd9ss1\n" + - "kvrrER0GWMTDvC84FZD2vhkXgPTFrB1Dn9f3QgO5APT9GCFY5hdpqqPEXOSdRzQo\n" + - "h9j4OQAqtA==\n" + + "ZXIgQ0EgMUExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDIxNTBaFw0yMzAx\n" + + "MTcyMDIxNTBaMCUxIzAhBgNVBAMTGmdvb2Quc2NhMWEuYW1hem9udHJ1c3QuY29t\n" + + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5SadXE1HIzUp4ob40roo\n" + + "qBiJy57vLcZklkWoxRU2JtIauuZUl8fLT/KOjzW71fqMMTxnvEbtKtRtZKDFjrg7\n" + + "uPf8Q1J9tqxme6iFlrBlou+moQQ7Spi3H9q7v08vX19XIREGIwHbicbxVujdeA0w\n" + + "G0fGMlw+Gs8GNiBQplr+oXC7i2CoPmwnR/T8iHjCEznKQIMxiZL4gOHLwh4EKdBA\n" + + "auirpTq0iXUtC2BcM/w1Zx1UTLu0idmclcxVSYE8hXfV8e7JGpNI1gCqkgrskof3\n" + + "A6CMCIH/D1VETFtGKn+gGWenWwnELmKuvHObQGXmcwOV3aXBdNFTmfzcshwqm/mE\n" + + "zQIDAQABo4IBJjCCASIwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQWBBTURzXdgGMB\n" + + "tNyiP16WXB1oM2qqmzAfBgNVHSMEGDAWgBRi1EJehnB1apC8xrjSTWDCNLpROjAd\n" + + "BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdQYIKwYBBQUHAQEEaTBnMC0G\n" + + "CCsGAQUFBzABhiFodHRwOi8vb2NzcC5zY2ExYS5hbWF6b250cnVzdC5jb20wNgYI\n" + + "KwYBBQUHMAKGKmh0dHA6Ly9jcnQuc2NhMWEuYW1hem9udHJ1c3QuY29tL3NjYTFh\n" + + "LmNlcjAlBgNVHREEHjAcghpnb29kLnNjYTFhLmFtYXpvbnRydXN0LmNvbTATBgNV\n" + + "HSAEDDAKMAgGBmeBDAECATANBgkqhkiG9w0BAQsFAAOCAQEAVNyn7lB3IOstAJj+\n" + + "avkPfojb+QaUpFjnkKyb7c5kUBEWaaEl27W58OLoIHoEJvfOypv2bTq1fuIx9P88\n" + + "1HP7DrI7vBtfnAgyIjF2mzL6Jyt7buR7u/cXTO0fsl/uk3wfrJBl860/Nab+WYoj\n" + + "pvJm0b75WVnU30Khy/xrhNfN2nvCJ5VMoHqV6KnKrMjA5KpdeTvVaIgyxtV6B8vY\n" + + "VsBbtzJ6n8mN7N8YkEkHV6TG7l+FVPHQdJFtD/qhTd5C4uu4XUehxOta894hLy6z\n" + + "8Mv9BGtmwyUIEd0KQQdkXrWx/iAq6zo0imAeN/s8tjqAzxnw6M5F9cDqjqkYqgXZ\n" + + "eIkPBA==\n" + "-----END CERTIFICATE-----"; - // Owner: CN=revoked.sca1a.amazontrust.com, O=Amazon Trust Services, L=Seattle, ST=Washington, C=US, \ - // SERIALNUMBER=5846743, OID.2.5.4.15=PrivateOrganization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, \ - // OID.1.3.6.1.4.1.311.60.2.1.3=US + // Owner: CN=revoked.sca1a.amazontrust.com // Issuer: CN=Amazon, OU=Server CA 1A, O=Amazon, C=US - // Serial number: 6f1d774ad5e7b6d251d217661782bbdb6f37d - // Valid from: Mon Jan 28 15:34:38 PST 2019 until: Thu Apr 28 16:34:38 PDT 2022 + // Serial number: 75a5de4434092b2cd6ed81eb5e6248e1e5f2a + // Valid from: Fri Dec 17 12:25:17 PST 2021 until: Tue Jan 17 12:25:17 PST 2023 private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n" + - "MIIE2zCCA8OgAwIBAgITBvHXdK1ee20lHSF2YXgrvbbzfTANBgkqhkiG9w0BAQsF\n" + + "MIIEJjCCAw6gAwIBAgITB1pd5ENAkrLNbtgeteYkjh5fKjANBgkqhkiG9w0BAQsF\n" + "ADBGMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2\n" + - "ZXIgQ0EgMUExDzANBgNVBAMTBkFtYXpvbjAeFw0xOTAxMjgyMzM0MzhaFw0yMjA0\n" + - "MjgyMzM0MzhaMIHcMRMwEQYLKwYBBAGCNzwCAQMTAlVTMRkwFwYLKwYBBAGCNzwC\n" + - "AQITCERlbGF3YXJlMRwwGgYDVQQPExNQcml2YXRlT3JnYW5pemF0aW9uMRAwDgYD\n" + - "VQQFEwc1ODQ2NzQzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ\n" + - "MA4GA1UEBxMHU2VhdHRsZTEeMBwGA1UEChMVQW1hem9uIFRydXN0IFNlcnZpY2Vz\n" + - "MSYwJAYDVQQDEx1yZXZva2VkLnNjYTFhLmFtYXpvbnRydXN0LmNvbTCCASIwDQYJ\n" + - "KoZIhvcNAQEBBQADggEPADCCAQoCggEBANUoHop9sW+QlgVsdtacioraTAWHcSTd\n" + - "MNkOkOEMgJIFPyfdcDvW/H2NvpdYeIQqzaCgT2kcsONWTZTPJMirCPnzl1ohHOZU\n" + - "uTnOVkamGxvNmQCURLBXmlCMRTCI5RY3CuYntFFbSPAnbumsF+K/gKqcE6ME53Bw\n" + - "PAwn4qwavB0i5Ib7Jk8XYzxSYXC9l8QLxt6fshPJRlecpXzfmVFvMAm3IbaLcpuv\n" + - "AtD+8I2KwjNtBPRPNYeFsWxwsgUGAyHEGa61oTGUqqAXu5YmPfyK+YTOJdoofsh4\n" + - "Tf3K7AKxnPWuvY3RNTs1pzEVwJYZqSsNwbgyKJJ4+0Xe4iP7qB8SYf8CAwEAAaOC\n" + - "ASkwggElMA4GA1UdDwEB/wQEAwIFoDAdBgNVHQ4EFgQUGHreoz+LP/Wr+RKzuexO\n" + - "V8ICtmEwHwYDVR0jBBgwFoAUYtRCXoZwdWqQvMa40k1gwjS6UTowHQYDVR0lBBYw\n" + - "FAYIKwYBBQUHAwEGCCsGAQUFBwMCMHUGCCsGAQUFBwEBBGkwZzAtBggrBgEFBQcw\n" + - "AYYhaHR0cDovL29jc3Auc2NhMWEuYW1hem9udHJ1c3QuY29tMDYGCCsGAQUFBzAC\n" + - "hipodHRwOi8vY3J0LnNjYTFhLmFtYXpvbnRydXN0LmNvbS9zY2ExYS5jZXIwKAYD\n" + - "VR0RBCEwH4IdcmV2b2tlZC5zY2ExYS5hbWF6b250cnVzdC5jb20wEwYDVR0gBAww\n" + - "CjAIBgZngQwBAgEwDQYJKoZIhvcNAQELBQADggEBABSbe1UCLL7Qay6XK5wD8B5a\n" + - "wvR1XG3UrggpVIz/w5cutEm/yE71hzE0gag/3YPbNYEnaLbJH+9jz4YW9wd/cEPj\n" + - "xSK5PErAQjCd+aA4LKN1xqkSysgYknl0y47hJBXGnWf+hxvBBHeSoUzM0KIC21pC\n" + - "ZyXrmfaPCQAz13ruYIYdQaETqXGVORmKbf/a+Zn18/tfQt0LeeCYVoSopbXWQvcJ\n" + - "gUMtdIqYQmb8aVj0pdZXwKl4yZ2DtlS3Z9MpWNgQNlhRPmiYlu28y2yTtZ9SwD6m\n" + - "2f+cwc19aJrDT4Y280px+jRU7dIE6oZVJU+yBRVIZYpUFAB7extCMVxnTkCf8Dk=\n" + + "ZXIgQ0EgMUExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDI1MTdaFw0yMzAx\n" + + "MTcyMDI1MTdaMCgxJjAkBgNVBAMTHXJldm9rZWQuc2NhMWEuYW1hem9udHJ1c3Qu\n" + + "Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqYk4ZkF9yJgRa0fL\n" + + "96gmxwlJlyvsQmqumxUGw0u1L+nDgGMFD1bHILOw2AO+feNy8kuTnJVb+zN+2f6l\n" + + "rMGM1sGKh8W/ZRIdvmcdeZ2kEDyxLotMRXDQ6hJXDj30DSAYNkdqairJItdcev8+\n" + + "t9LRRNRQwL0sXf5FITQPBnlVCrF9Q42p9hhYUhvsS8jSWPIvUbZajOXKs6AfxyPV\n" + + "2Q7TybgnRlawznXxflPzXRMpCSQZ9WdI/kYbFOjDNtYA05EI4d8IYm+C5U1eJT30\n" + + "dKFeU0xzFsrPirzifFMPIhXKxS5rUELuFRUq4sFTN28Sj7Ij/rr+O9Im8jJZq0lo\n" + + "bqLoQwIDAQABo4IBKTCCASUwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQWBBRugPQP\n" + + "CWEwQp0pw2dEMw/gT7F4gzAfBgNVHSMEGDAWgBRi1EJehnB1apC8xrjSTWDCNLpR\n" + + "OjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdQYIKwYBBQUHAQEEaTBn\n" + + "MC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5zY2ExYS5hbWF6b250cnVzdC5jb20w\n" + + "NgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQuc2NhMWEuYW1hem9udHJ1c3QuY29tL3Nj\n" + + "YTFhLmNlcjAoBgNVHREEITAfgh1yZXZva2VkLnNjYTFhLmFtYXpvbnRydXN0LmNv\n" + + "bTATBgNVHSAEDDAKMAgGBmeBDAECATANBgkqhkiG9w0BAQsFAAOCAQEAQF9QvedW\n" + + "gqD5LPsZ5cg+DkGFBVqhWgsvp8so4gmKHklSHvisEek/Yfi7tvHCUAP2P0MuV/49\n" + + "O2A+1tXQL1+hVM1auSfDOQdUy4xsKSWV+PofQe82iz+6dwRf+HNgOtyNcQ6aGD3t\n" + + "87DXnJPkBTEPHGxDkjnOwurSffaV1m00bxfb6T1Txvyjs9ClnZf68Jv6oj+2rbs1\n" + + "+TqKXP0Ma3AgXB37Cq2ozYzpAxy9GBIKIahGX2d2qsuZ2aj6XwJwUayIuU0WTOHK\n" + + "eeXvKS2uvY9UaIvTeepSWXyAbBMKagQhgAtf3X6ILodQi5Gk7lCuY48oArKziTgN\n" + + "vB7mK7JqaM2P4g==\n" + "-----END CERTIFICATE-----"; public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) throws Exception { @@ -188,7 +176,7 @@ public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) t // Validate Revoked pathValidator.validate(new String[]{REVOKED, INT}, ValidatePathWithParams.Status.REVOKED, - "Mon Jan 28 15:35:56 PST 2019", System.out); + "Fri Dec 17 12:28:05 PST 2021", System.out); } } @@ -235,97 +223,84 @@ class AmazonCA_2 { "o5LAuRo/LO1xVRH49KFRoaznzU3Ch9+kbPb3\n" + "-----END CERTIFICATE-----"; - // Owner: CN=good.sca2a.amazontrust.com, O=Amazon Trust Services, L=Seattle, ST=Washington, C=US, \ - // SERIALNUMBER=5846743, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, \ - // OID.1.3.6.1.4.1.311.60.2.1.3=US + // Owner: CN=good.sca2a.amazontrust.com // Issuer: CN=Amazon, OU=Server CA 2A, O=Amazon, C=US - // Serial number: 703e4e70616c90d611fd04a5ecc635665184e - // Valid from: Mon Jul 29 16:54:06 PDT 2019 until: Sat Aug 29 16:54:06 PDT 2020 + // Serial number: 75a5dd7d82269ed466af69794f34050bdffa2 + // Valid from: Fri Dec 17 12:22:32 PST 2021 until: Tue Jan 17 12:22:32 PST 2023 private static final String VALID = "-----BEGIN CERTIFICATE-----\n" + - "MIIHEzCCBPugAwIBAgITBwPk5wYWyQ1hH9BKXsxjVmUYTjANBgkqhkiG9w0BAQwF\n" + + "MIIGIDCCBAigAwIBAgITB1pd19giae1GavaXlPNAUL3/ojANBgkqhkiG9w0BAQwF\n" + "ADBGMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2\n" + - "ZXIgQ0EgMkExDzANBgNVBAMTBkFtYXpvbjAeFw0xOTA3MjkyMzU0MDZaFw0yMDA4\n" + - "MjkyMzU0MDZaMIHaMRMwEQYLKwYBBAGCNzwCAQMTAlVTMRkwFwYLKwYBBAGCNzwC\n" + - "AQITCERlbGF3YXJlMR0wGwYDVQQPExRQcml2YXRlIE9yZ2FuaXphdGlvbjEQMA4G\n" + - "A1UEBRMHNTg0Njc0MzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x\n" + - "EDAOBgNVBAcTB1NlYXR0bGUxHjAcBgNVBAoTFUFtYXpvbiBUcnVzdCBTZXJ2aWNl\n" + - "czEjMCEGA1UEAxMaZ29vZC5zY2EyYS5hbWF6b250cnVzdC5jb20wggIiMA0GCSqG\n" + - "SIb3DQEBAQUAA4ICDwAwggIKAoICAQC+XjOB3ZCFX+b9y9reP+e6EAQz4ytiMSqU\n" + - "O4s5MyYLkY6n4BIZHmgWeQ2IgW1VrH8ho+Iu3UsTiuhd3/L/q/w+T0OJfcrWngTs\n" + - "uVcIuvUr32ObPeeWbg/m/lkN7hqH1jY62iybYVrFXiLo1+0G92PUazcyNvyA20+G\n" + - "HsvGG5jlArWNgRLdc8KUXxvnDUxx5vu4jeHEZnqSwuulV1h9ve0UutkmoK0Sk7Rz\n" + - "HMxYK0LmUT5OvcNQSkUi5nLi+M1FxnYYgsELwSiKSSEDfEdgxooMAiVTgw51Q/DB\n" + - "lTOjAIDL3K3J0yGfIG3bwLvE1qz2Z5yWn8f3JibIah7LrC4PiZDDLHFM6V9l+YqU\n" + - "RqimJ5BltSyAx7bxQNZ1AW3Lxvvm894i4k6/Vdf1CDovRuTMPCDAQmKA/A/AQ7TN\n" + - "q3bBimX6UyuJu0I8RyvAYKzFhOOqe4vXrbndTbje/jnzTNQPeIIcuRa9cgXTOrbw\n" + - "86FTUKj6AZXihRWjKWsQpDwdgE0tQETZ3ynCXfbBKfFmn0MSjeX0CEEAZdYHR8EV\n" + - "F271Yt7UJjS/FP702aHTOWk7zFbIRfFQODvBhn0I8p/Stk2sDq4/YsbXVZOe3+ad\n" + - "YavoiODGSAH6ZcZzULumgK9eii0koAOPB/xqXnkcTS63gEHOKjLQl3hqdVZRCugv\n" + - "1CwUXLvoSwIDAQABo4IBYzCCAV8wDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQWBBTa\n" + - "j6dHgPdOxTGLcwaNDeaMnlSxNjAfBgNVHSMEGDAWgBTaQ0rQ/AHAS79YJ4x2zQqB\n" + - "85Qu9DAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdQYIKwYBBQUHAQEE\n" + - "aTBnMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5zY2EyYS5hbWF6b250cnVzdC5j\n" + - "b20wNgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQuc2NhMmEuYW1hem9udHJ1c3QuY29t\n" + - "L3NjYTJhLmNlcjAlBgNVHREEHjAcghpnb29kLnNjYTJhLmFtYXpvbnRydXN0LmNv\n" + - "bTBQBgNVHSAESTBHMA0GC2CGSAGG/W4BBxgDMDYGBWeBDAEBMC0wKwYIKwYBBQUH\n" + - "AgEWH2h0dHBzOi8vd3d3LmFtYXpvbnRydXN0LmNvbS9jcHMwDQYJKoZIhvcNAQEM\n" + - "BQADggIBAE6RwZAZvN0i9ygwzqoX9DhSPtvZ3xIO0G0Bhgjkb986+p8XJstU3gEM\n" + - "8P2i1J/YthXCnRGedm+Odxx+31G6xIYfP5S5g7HyRGkj/aXNXy4s3KjH8HJgOY9N\n" + - "ra3XfC05OKq5FpyZQDZ+hxCdLrH3Gs+UxREbu+LuIKUpI7nMVEjn9XynKyOdKN21\n" + - "Kq5VsuI0fDWCYvUN1M+lI/LgE5HbNJVQJs+dB7g1/kaOeaLia7Wk1ys+uRzB58rp\n" + - "FKAoLk++HWTfNDkbN8vKRfHhJ/xhI9ju3TWcci6EyFVAym1C62UkJNI0KHgQ+zc7\n" + - "nl1tv/ytj8N/eJoysyp23lJ5qrVetlQORfgXryGkWBMYBvYF8zbBb/f+UXHDKVWt\n" + - "9l1lL6HQGY/tTo253pj6/FgDD35bZdjLQeUVmbnz679S5oUmoH5ZtSdnpUTghU3p\n" + - "bae9adBFY9S1pm50Q3ckRVBAwNqNmI0KKUh14Ms8KSAUHg19NvGsBonqwOT2rdbv\n" + - "xZ47N6c2eCl/cjMvzre0v0NoUO+3og2GHeAoOwVos6480YDbMqp739tOFPxBcsII\n" + - "6SjpDVh+14dkSW6kEKeaCFLR+eChqutri1VQbQ49nmADQWw9Al8vBytSnPv0YN6W\n" + - "XfIE1Qj7YmHu/UuoeKVsqDqoP/no29+96dtfd4afJqlIoyZUqXpt\n" + + "ZXIgQ0EgMkExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDIyMzJaFw0yMzAx\n" + + "MTcyMDIyMzJaMCUxIzAhBgNVBAMTGmdvb2Quc2NhMmEuYW1hem9udHJ1c3QuY29t\n" + + "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsCQonlc6fSTDJbH2y6wC\n" + + "mLeTD3noluSM4LPO53RgLTUvNqrxh/iy9jDGgYP2xN8GGngRI8C65jZqGpJb0Hcp\n" + + "ADYssYKWcTR5OH8rUVsJ6DkJLx0AUOG+iJcCaqPudkw7WBReFEok7E058gCTbXps\n" + + "kNRT3w92CzzXa+49yxaAP0I6AQ9BqZP6gbAR1hmd9BDMCdak1JIswGVC3wGAKJFi\n" + + "c3FS3YeY7VyuXofeEwutvMH4Iag9DZU2puqskrGSmtrVju8CY6w1E/cmBWD9kfpu\n" + + "Qet2LBZuzmws8XhCjU5cHOeA8pg2m7ZnyNBeZajg4hrbPq8ACjjDmEHiDgazoOGN\n" + + "1mV1BXZ2qonK+zJAMqE/L0czEPjdROaF786pPY5Cpi1Rzk0R3KKjGhSHgzfCa2eX\n" + + "cQjBtA7AxLkK+1cI18hYg+okaV+EBrkxXGzeyTjvWbliotIQ9utabXGqJvJtIDeX\n" + + "OQSdSXlBKgwGTE5/Ju8/6NkJgSMEku/Q9SYvfkzPXrj5VAHgPz4KhholeC4A4hRd\n" + + "Y3Xtr/U5Xr3fTzLdOcLDKYW4/OGCl8byjwx8bqO7q8YmgDg572Go3gUbNmlm2QN+\n" + + "NaXhBhPrl4KoHzawApTcod3adhSQziIMGjKYoKhV+ZGNoaLe7IUX0jyX3zygRS6k\n" + + "n6yeyeh1unDfqSvne9+hDEsCAwEAAaOCASYwggEiMA4GA1UdDwEB/wQEAwIFoDAd\n" + + "BgNVHQ4EFgQU71fB1r7/l2pFd0ydSNEiGaD+9uIwHwYDVR0jBBgwFoAU2kNK0PwB\n" + + "wEu/WCeMds0KgfOULvQwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMHUG\n" + + "CCsGAQUFBwEBBGkwZzAtBggrBgEFBQcwAYYhaHR0cDovL29jc3Auc2NhMmEuYW1h\n" + + "em9udHJ1c3QuY29tMDYGCCsGAQUFBzAChipodHRwOi8vY3J0LnNjYTJhLmFtYXpv\n" + + "bnRydXN0LmNvbS9zY2EyYS5jZXIwJQYDVR0RBB4wHIIaZ29vZC5zY2EyYS5hbWF6\n" + + "b250cnVzdC5jb20wEwYDVR0gBAwwCjAIBgZngQwBAgEwDQYJKoZIhvcNAQEMBQAD\n" + + "ggIBAKULtBRmu4CtBTfBG6hXkBdFGneJlomw02h8dj7xkXof+DoLYtkuJ6XRp89f\n" + + "9UgYJMBjwKaAFjZzcVYvTd8YKdXzCXy4phxuHTfaV6ZH0WyvOlcTXsfdhJA4oD1G\n" + + "prB4/PaymwSbv8ZQAE3eg1hytLLlR9+YUS0HfpwaH/PIa0TzKG8Vuu5zKGSlJjeh\n" + + "Thp/uMBC4twM558Jv2sxoUA5HjgPUyZW7r2eLFbOM1H4oR1US5zFYgzrEK1W12DO\n" + + "t65mI2YHbDepm5FoizwWYe4uaDCqWjCgzQw8pMGoiDABMaoNQ83Zi8r2sLGibAlb\n" + + "cVLcjsORsF6TNmYTW1KDT/9hXlOaAhFwfAwKg6cZw51WEg51sPdi5USk/oszavc5\n" + + "Ft/IZaWSfkA1Xm0EyFwOwCOvGJIb9PWv5PfGZz4xnZlWhp6LfN31e3TagTUbzLVX\n" + + "XwbDI1cofCl18z6pidXXCASBCAajQ8N4GxNP6qqX9ou0yOBEXxwVqIJLcu3tueCI\n" + + "3Cb3rWfbybAVhuuP2ERKHJMY8XDCt0O/g8Kj6O69NABOWvNkU3ARzszGzgBfv4IR\n" + + "jJJEskjxX7Q085iXlaRX/mu+TpTkqK1ZbpBB1Z2PeVMujP+qsWSWGTZBXuI8eqyU\n" + + "dhq+VlyoVtWeMqKYMtakCJxnhwMZnn0sTzZk/Yno+k9Jn0Rk\n" + "-----END CERTIFICATE-----"; - // Owner: CN=revoked.sca2a.amazontrust.com, O=Amazon Trust Services, L=Seattle, ST=Washington, C=US, \ - // SERIALNUMBER=5846743, OID.2.5.4.15=PrivateOrganization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, \ - // OID.1.3.6.1.4.1.311.60.2.1.3=US - //Issuer: CN=Amazon, OU=Server CA 2A, O=Amazon, C=US - //Serial number: 6f1d782c0aa2f4866b7b522c279b939b92369 - //Valid from: Mon Jan 28 15:37:45 PST 2019 until: Thu Apr 28 16:37:45 PDT 2022 + // Owner: CN=revoked.sca2a.amazontrust.com + // Issuer: CN=Amazon, OU=Server CA 2A, O=Amazon, C=US + // Serial number: 75a5df2d3387cfe5fd4cad9ff00f8c882b98d + // Valid from: Fri Dec 17 12:28:31 PST 2021 until: Tue Jan 17 12:28:31 PST 2023 private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n" + - "MIIG2zCCBMOgAwIBAgITBvHXgsCqL0hmt7Uiwnm5ObkjaTANBgkqhkiG9w0BAQwF\n" + + "MIIGJjCCBA6gAwIBAgITB1pd8tM4fP5f1MrZ/wD4yIK5jTANBgkqhkiG9w0BAQwF\n" + "ADBGMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2\n" + - "ZXIgQ0EgMkExDzANBgNVBAMTBkFtYXpvbjAeFw0xOTAxMjgyMzM3NDVaFw0yMjA0\n" + - "MjgyMzM3NDVaMIHcMRMwEQYLKwYBBAGCNzwCAQMTAlVTMRkwFwYLKwYBBAGCNzwC\n" + - "AQITCERlbGF3YXJlMRwwGgYDVQQPExNQcml2YXRlT3JnYW5pemF0aW9uMRAwDgYD\n" + - "VQQFEwc1ODQ2NzQzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ\n" + - "MA4GA1UEBxMHU2VhdHRsZTEeMBwGA1UEChMVQW1hem9uIFRydXN0IFNlcnZpY2Vz\n" + - "MSYwJAYDVQQDEx1yZXZva2VkLnNjYTJhLmFtYXpvbnRydXN0LmNvbTCCAiIwDQYJ\n" + - "KoZIhvcNAQEBBQADggIPADCCAgoCggIBAKFm418X8hN1YTgD2XpMb4sp78mw8k3j\n" + - "Dq/vnpX48evVUzNpHpy4qRz/ZHBR4HUJO4lhfnX+CO0uRqqqx4F0JZRQB3KevaU8\n" + - "QGWHdJGhEddnurDhrgOUa+ZroqUnMCsTJfbyGtC6aiEXeu/eMhEUFkuBxJH1JtwD\n" + - "dQXMXuMjG07SVjOkhTkbMDzA/YbUqkDeOIybifDuvA5LEsl+kReY0b6RYFo2Tt/M\n" + - "dPhJD8q3Wsu+XCiCnbpcwlEVGxiD2RVRXJJ9o3ALGOxqU69V+lYS0kkwNHT7oV9J\n" + - "rhgt7iOCq0aoTAxu2j4FCp0JHNhGoW9pXoMXnmS6kK80hzLNYDxvKEaVaKkiYHw5\n" + - "CV0Vwii05ICa14nrStH/jcRNLyU+gp+6OeerPV3jpKWshGKWewF+2UiWU2WHTSrd\n" + - "Wis0/qEfFK/kSraAxpd+KavEEavKeudoMAHIxMACOk9E/fF5zhd2y4G1q1BdoRlR\n" + - "KP4GIV2v6qH6Ru2mNSuge9il6kDXxFNucrYKLDbAqkqalohkvDavcPoG9gZT3etv\n" + - "4IcgJriIWRxbJwKPpwJM+6wa6RpwoeJMuEp3ZBP7KDaQ8YX4rlf4zXLAsOKCNA9K\n" + - "OS/qYQ/I4g0E1WhfgEKClaLPS2u7jeVR6s1t4txGo4vq5Dkt17KTCew/WsX3rckf\n" + - "a2p5zvFcfpCNAgMBAAGjggEpMIIBJTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0OBBYE\n" + - "FAF8N1wV8EoYFkMXH6tEnmR/7vI+MB8GA1UdIwQYMBaAFNpDStD8AcBLv1gnjHbN\n" + - "CoHzlC70MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjB1BggrBgEFBQcB\n" + - "AQRpMGcwLQYIKwYBBQUHMAGGIWh0dHA6Ly9vY3NwLnNjYTJhLmFtYXpvbnRydXN0\n" + - "LmNvbTA2BggrBgEFBQcwAoYqaHR0cDovL2NydC5zY2EyYS5hbWF6b250cnVzdC5j\n" + - "b20vc2NhMmEuY2VyMCgGA1UdEQQhMB+CHXJldm9rZWQuc2NhMmEuYW1hem9udHJ1\n" + - "c3QuY29tMBMGA1UdIAQMMAowCAYGZ4EMAQIBMA0GCSqGSIb3DQEBDAUAA4ICAQBC\n" + - "VwR1NFk1IYIF4cjU7ML1aj8OIn+8mtakGQnuSJLK6ypSysINJBS48ZDdP6XZXvyD\n" + - "iTS0xEAPjAZHTqrABdNYmvJeL2RnN99DIwVzBpZp4NLTXbiSW7jb0Y5cEPDGJMOo\n" + - "SUAAM6fsiPRfz5vX4XVPznbcF2AwE/NVV+L3n9LVRt7qv2VqIEvLioR56Dq+5ofR\n" + - "4bw0BVlEYWF4Gsy7WDDTL1iLNBUwZTqBHwTv0fgDRiPqb/odmLQuRANwcJy8B8Zr\n" + - "s/yX4SeESaRdA82lAlQilksQitXS2qvQN06GEDOgUxYE6EabFdgklV5JypKqdOly\n" + - "vzpaDpF3z5W8Bj3D4fns1Kjrh1pPh5JRvg+616diKnQRt4X5q+EtmnXhDvIGMISI\n" + - "FuGwj57CNQ2x2MY2HHKWPrOccpQfEEvoSNR+ntYWrtSSttZq948O+zZBk1TXWuXV\n" + - "TVXllqTg8lp6d5cfKgvtHKgt98WkpPOcLVrNuVnMAIfDw6ar54dVKqrvkeEcF6mJ\n" + - "7oMKjJX/Vu9lYoGViBIfdeqcCPWSI8BpnCKaG7dTQO3Q1ObGmLdGBRlsRh+d+S5l\n" + - "Fq326ckbjx537e5/ai31lOR7OwVh9TDweKLqIACjs987C0EJSEfoOue25WRww2va\n" + - "iX9SrTPm4GxQ2OJgYwx0+HbezJXFN+dhaOFUavTSFw==\n" + + "ZXIgQ0EgMkExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDI4MzFaFw0yMzAx\n" + + "MTcyMDI4MzFaMCgxJjAkBgNVBAMTHXJldm9rZWQuc2NhMmEuYW1hem9udHJ1c3Qu\n" + + "Y29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAu/9+ky4Z5U24pBYd\n" + + "6xyb1BGQHTXS5nW8QjLWx+xaunRitgIBB8ZZ8OzUmH2mp2S/9Vq1nqii9TvuzA9K\n" + + "JJQZLK8K+OJX/ZwFdSxTgLcyeJ9cCswj/C3SBA1NopZ3DmEWeXlh7aZhl8IXB6kp\n" + + "zI87Tg72F2JJokWNPYdx7xXhf/WVeDeNRkz1iE5UTwL+qaNuzT7S8BdnFWqa3l4a\n" + + "Q1J/YVww0XRhsYJulNVGhoKNf71q8KWw8hJ/zgMxrBFywu7d3OBw6NX3bowZ+jMQ\n" + + "apJEWiwUYOjH3XcOO6TiChwQMypBrcbGgrD/msTlvIBinHwpWaAgX0kT80+wH1Bq\n" + + "mw72fEjeE/Y6EL6WIUr1HQdLhvBDxtPgxnAaxptmg126cF4jV/e+D+IGf6qpN1gR\n" + + "JQC/0+AnASAJ0cGKjSODbl5miqtc0kFSReMsOJeT7gdoPCMg4gWyo62GSvdaAA0I\n" + + "DA8a0HWLAzXU7SwbytTUTYeVI8QeNm2ZGKvMoHDWSDz69V6gGmNl/YSvyJ2zPOZL\n" + + "8oRKRUCOA2LPdK0s7nebe0EBXF09FzzE4HdegRe7r86t6FE400W4wxwJjvjdHXcF\n" + + "s9fI+mgofMvVuK2u3wTdHOrEbfm1GXmj3BlFBORUI11A7K0lmIA02M2jkAN13foe\n" + + "rFLYg+28UjT4aN62zkynKD1iNwkCAwEAAaOCASkwggElMA4GA1UdDwEB/wQEAwIF\n" + + "oDAdBgNVHQ4EFgQUOzuuTB9A8p71qwA3qxqOABf69nkwHwYDVR0jBBgwFoAU2kNK\n" + + "0PwBwEu/WCeMds0KgfOULvQwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC\n" + + "MHUGCCsGAQUFBwEBBGkwZzAtBggrBgEFBQcwAYYhaHR0cDovL29jc3Auc2NhMmEu\n" + + "YW1hem9udHJ1c3QuY29tMDYGCCsGAQUFBzAChipodHRwOi8vY3J0LnNjYTJhLmFt\n" + + "YXpvbnRydXN0LmNvbS9zY2EyYS5jZXIwKAYDVR0RBCEwH4IdcmV2b2tlZC5zY2Ey\n" + + "YS5hbWF6b250cnVzdC5jb20wEwYDVR0gBAwwCjAIBgZngQwBAgEwDQYJKoZIhvcN\n" + + "AQEMBQADggIBALAPC6I/k/WqJ8dxt7yhhSKA5RyGjd16kh+zq57Cjy0Wmj3BtSFJ\n" + + "l0652ULeHZDjhtEAEMFlWdxuuUJ82UhzPzujeVv5e8CLROYWp52Jb9CFPTwF54ow\n" + + "0a6recetYvOHBTeQ0cmo3nY6Z8eHDRUdk/aGQku1cesntFOIWm+EDj7SDYnUm3Ub\n" + + "ECdMv8entU5yjo/herVNMT6GGnKfjRxM0FWJWoHKKC/EPIka34VN6LOZO4Ftl9wI\n" + + "Ms7w3EgweEqLOyaGSAFwzrcQwKkPBm8fW5CefDtB64CtC8NUuo+XOQ2/JlRnWGLk\n" + + "CHxesJBUNk5c/IBDPLmyrKCLbGUqwsehQGQdSrLIH0857pTJi30D+/KDvgQynaay\n" + + "zPWLrSJvXUOQ9Vir+RQtbiMOqUDXX15Vty2mxLqjos1zCAxgrorZ7H2OSBZIWYzE\n" + + "8UgF1/vOlAtMjYyLLgb2UyqAY2HybKjtYYAyV/oIPjVRXygaOGkDZseqqXuslq5I\n" + + "ZSDU5hF6Hy6D6gsCVdshswwuRg39248M79qsMDw0Xa7xGcwqdfwTHv4Rb3G/kTrA\n" + + "8iR2YP/RdABKkTkUKRXs0kYPFoJ0wQPDD5slkLjdZNeezoNrw1rWEEUh1iildiRA\n" + + "i1p+pwXSyZ+m5Gv0/W84DDhLmAdvFov5muga8UccNbHuObtt1vHIhHe1\n" + "-----END CERTIFICATE-----"; public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) throws Exception { @@ -344,7 +319,7 @@ public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) t // Validate Revoked pathValidator.validate(new String[]{REVOKED, INT}, ValidatePathWithParams.Status.REVOKED, - "Mon Jan 28 15:38:57 PST 2019", System.out); + "Fri Dec 17 12:29:36 PST 2021", System.out); } } @@ -372,59 +347,46 @@ class AmazonCA_3 { "WSQ6F6JHLoeOWLyFFF658eNKEKbkEGMHz34gLX/N3g==\n" + "-----END CERTIFICATE-----"; - // Owner: CN=good.sca3a.amazontrust.com, O=Amazon Trust Services, L=Seattle, ST=Washington, C=US, \ - // SERIALNUMBER=5846743, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, \ - // OID.1.3.6.1.4.1.311.60.2.1.3=US + // Owner: CN=good.sca3a.amazontrust.com // Issuer: CN=Amazon, OU=Server CA 3A, O=Amazon, C=US - // Serial number: 703e4e9bbc2605f37967a0e95f31f4789a677 - // Valid from: Mon Jul 29 16:54:43 PDT 2019 until: Sat Aug 29 16:54:43 PDT 2020 + // Serial number: 75a5dd9ec12f37f4bbed4bada4b75164a642f + // Valid from: Fri Dec 17 12:23:00 PST 2021 until: Tue Jan 17 12:23:00 PST 2023 private static final String VALID = "-----BEGIN CERTIFICATE-----\n" + - "MIIDhzCCAy2gAwIBAgITBwPk6bvCYF83lnoOlfMfR4mmdzAKBggqhkjOPQQDAjBG\n" + + "MIIClDCCAjqgAwIBAgITB1pd2ewS839LvtS62kt1FkpkLzAKBggqhkjOPQQDAjBG\n" + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2ZXIg\n" + - "Q0EgM0ExDzANBgNVBAMTBkFtYXpvbjAeFw0xOTA3MjkyMzU0NDNaFw0yMDA4Mjky\n" + - "MzU0NDNaMIHaMRMwEQYLKwYBBAGCNzwCAQMTAlVTMRkwFwYLKwYBBAGCNzwCAQIT\n" + - "CERlbGF3YXJlMR0wGwYDVQQPExRQcml2YXRlIE9yZ2FuaXphdGlvbjEQMA4GA1UE\n" + - "BRMHNTg0Njc0MzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO\n" + - "BgNVBAcTB1NlYXR0bGUxHjAcBgNVBAoTFUFtYXpvbiBUcnVzdCBTZXJ2aWNlczEj\n" + - "MCEGA1UEAxMaZ29vZC5zY2EzYS5hbWF6b250cnVzdC5jb20wWTATBgcqhkjOPQIB\n" + - "BggqhkjOPQMBBwNCAARl4yxf8XcvWR0LZ+YuBC0CpkwtU2NiMdlIM7eX0lxhQp53\n" + - "NpLlCrPRNzOWrjCJDdn21D0u7PrtN94UHLHOg9X0o4IBYzCCAV8wDgYDVR0PAQH/\n" + - "BAQDAgeAMB0GA1UdDgQWBBT2cHmOJFLWfg1Op7xAdAnqYcwaPzAfBgNVHSMEGDAW\n" + - "gBQE3OCV5ei5a5Sh74xbMR4TflWX2jAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYB\n" + - "BQUHAwIwdQYIKwYBBQUHAQEEaTBnMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5z\n" + - "Y2EzYS5hbWF6b250cnVzdC5jb20wNgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQuc2Nh\n" + - "M2EuYW1hem9udHJ1c3QuY29tL3NjYTNhLmNlcjAlBgNVHREEHjAcghpnb29kLnNj\n" + - "YTNhLmFtYXpvbnRydXN0LmNvbTBQBgNVHSAESTBHMA0GC2CGSAGG/W4BBxgDMDYG\n" + - "BWeBDAEBMC0wKwYIKwYBBQUHAgEWH2h0dHBzOi8vd3d3LmFtYXpvbnRydXN0LmNv\n" + - "bS9jcHMwCgYIKoZIzj0EAwIDSAAwRQIgURdcqJVr4PWNIkmWcSKmzgZ1i94hQpGe\n" + - "mWbE9osk4m0CIQDhxIguihwvDa5RsBwdM0aRDgGKLNHigGqJoKqgH0d2qg==\n" + + "Q0EgM0ExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDIzMDBaFw0yMzAxMTcy\n" + + "MDIzMDBaMCUxIzAhBgNVBAMTGmdvb2Quc2NhM2EuYW1hem9udHJ1c3QuY29tMFkw\n" + + "EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE275wkVMovF+U/fRduMcuthD8AYpYTUgc\n" + + "qoEHEccF6eZYzoGlufHJCwtLHXk9qXeXtjZV8N90ksYahFV+oGFcpaOCASYwggEi\n" + + "MA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUS8gTB11XA49gH4IGAD6p3UilrIMw\n" + + "HwYDVR0jBBgwFoAUBNzgleXouWuUoe+MWzEeE35Vl9owHQYDVR0lBBYwFAYIKwYB\n" + + "BQUHAwEGCCsGAQUFBwMCMHUGCCsGAQUFBwEBBGkwZzAtBggrBgEFBQcwAYYhaHR0\n" + + "cDovL29jc3Auc2NhM2EuYW1hem9udHJ1c3QuY29tMDYGCCsGAQUFBzAChipodHRw\n" + + "Oi8vY3J0LnNjYTNhLmFtYXpvbnRydXN0LmNvbS9zY2EzYS5jZXIwJQYDVR0RBB4w\n" + + "HIIaZ29vZC5zY2EzYS5hbWF6b250cnVzdC5jb20wEwYDVR0gBAwwCjAIBgZngQwB\n" + + "AgEwCgYIKoZIzj0EAwIDSAAwRQIgRRteTEwQoqw95mKff0ydDMD1+YQbcN6QLw/a\n" + + "NwDti9ICIQDYMNw6u0d5gaZZo/zizl1JRVAuSxoO5lNOrleaEOkImA==\n" + "-----END CERTIFICATE-----"; - // Owner: CN=revoked.sca3a.amazontrust.com, O=Amazon Trust Services, L=Seattle, ST=Washington, C=US, \ - // SERIALNUMBER=5846743, OID.2.5.4.15=PrivateOrganization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, \ - // OID.1.3.6.1.4.1.311.60.2.1.3=US + // Owner: CN=revoked.sca3a.amazontrust.com // Issuer: CN=Amazon, OU=Server CA 3A, O=Amazon, C=US - // Serial number: 6f1d78cf0ca64ce7f551a6f2a0715cc0e8b50 - // Valid from: Mon Jan 28 15:40:01 PST 2019 until: Thu Apr 28 16:40:01 PDT 2022 + // Serial number: 75a5df9c88c0613777baba663000de147a26b + // Valid from: Fri Dec 17 12:30:04 PST 2021 until: Tue Jan 17 12:30:04 PST 2023 private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n" + - "MIIDTzCCAvWgAwIBAgITBvHXjPDKZM5/VRpvKgcVzA6LUDAKBggqhkjOPQQDAjBG\n" + + "MIICmzCCAkCgAwIBAgITB1pd+ciMBhN3e6umYwAN4UeiazAKBggqhkjOPQQDAjBG\n" + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2ZXIg\n" + - "Q0EgM0ExDzANBgNVBAMTBkFtYXpvbjAeFw0xOTAxMjgyMzQwMDFaFw0yMjA0Mjgy\n" + - "MzQwMDFaMIHcMRMwEQYLKwYBBAGCNzwCAQMTAlVTMRkwFwYLKwYBBAGCNzwCAQIT\n" + - "CERlbGF3YXJlMRwwGgYDVQQPExNQcml2YXRlT3JnYW5pemF0aW9uMRAwDgYDVQQF\n" + - "Ewc1ODQ2NzQzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G\n" + - "A1UEBxMHU2VhdHRsZTEeMBwGA1UEChMVQW1hem9uIFRydXN0IFNlcnZpY2VzMSYw\n" + - "JAYDVQQDEx1yZXZva2VkLnNjYTNhLmFtYXpvbnRydXN0LmNvbTBZMBMGByqGSM49\n" + - "AgEGCCqGSM49AwEHA0IABJNl90Jq0wddpFj+JbLtmvGR/1geL5t1tvV406jGpYn2\n" + - "C5lAFjwASFy7pAnazZbfSkIDUU2i2XU0+7Cs+j1S/EOjggEpMIIBJTAOBgNVHQ8B\n" + - "Af8EBAMCB4AwHQYDVR0OBBYEFPhX3dYays5Sps0xTgouLkZzYLg4MB8GA1UdIwQY\n" + - "MBaAFATc4JXl6LlrlKHvjFsxHhN+VZfaMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr\n" + - "BgEFBQcDAjB1BggrBgEFBQcBAQRpMGcwLQYIKwYBBQUHMAGGIWh0dHA6Ly9vY3Nw\n" + - "LnNjYTNhLmFtYXpvbnRydXN0LmNvbTA2BggrBgEFBQcwAoYqaHR0cDovL2NydC5z\n" + - "Y2EzYS5hbWF6b250cnVzdC5jb20vc2NhM2EuY2VyMCgGA1UdEQQhMB+CHXJldm9r\n" + - "ZWQuc2NhM2EuYW1hem9udHJ1c3QuY29tMBMGA1UdIAQMMAowCAYGZ4EMAQIBMAoG\n" + - "CCqGSM49BAMCA0gAMEUCICLb16/50S4fOAFafi5lagdx7q6EDPPm596g19eQDMXk\n" + - "AiEAksCMLypRB4t30FABlsEjhVCBIxay0iIer2OcCIrhfEI=\n" + + "Q0EgM0ExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDMwMDRaFw0yMzAxMTcy\n" + + "MDMwMDRaMCgxJjAkBgNVBAMTHXJldm9rZWQuc2NhM2EuYW1hem9udHJ1c3QuY29t\n" + + "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEbppBP3Dj0qoRHMB9VMTXhw2Fg8ef\n" + + "o32r/Mu3IzT8T6kWCk3UqVDL3UIn3qVZLCW1nJfVc1d1EeSDvyjCL3u3f6OCASkw\n" + + "ggElMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUv8lJ3W7O74zVj+0zhD4+rrqZ\n" + + "yvMwHwYDVR0jBBgwFoAUBNzgleXouWuUoe+MWzEeE35Vl9owHQYDVR0lBBYwFAYI\n" + + "KwYBBQUHAwEGCCsGAQUFBwMCMHUGCCsGAQUFBwEBBGkwZzAtBggrBgEFBQcwAYYh\n" + + "aHR0cDovL29jc3Auc2NhM2EuYW1hem9udHJ1c3QuY29tMDYGCCsGAQUFBzAChipo\n" + + "dHRwOi8vY3J0LnNjYTNhLmFtYXpvbnRydXN0LmNvbS9zY2EzYS5jZXIwKAYDVR0R\n" + + "BCEwH4IdcmV2b2tlZC5zY2EzYS5hbWF6b250cnVzdC5jb20wEwYDVR0gBAwwCjAI\n" + + "BgZngQwBAgEwCgYIKoZIzj0EAwIDSQAwRgIhAKrA0fOK4NKDKHTY8ESeVW3D/7NH\n" + + "tbNdfcIXolAoFfmFAiEAylAsKdND8c4w69jlFTId0X8F/mrXzKfLFCQ+b/7jTto=\n" + "-----END CERTIFICATE-----"; public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) throws Exception { @@ -443,7 +405,7 @@ public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) t // Validate Revoked pathValidator.validate(new String[]{REVOKED, INT}, ValidatePathWithParams.Status.REVOKED, - "Mon Jan 28 15:40:35 PST 2019", System.out); + "Fri Dec 17 12:30:37 PST 2021", System.out); } } @@ -472,63 +434,50 @@ class AmazonCA_4 { "1HrQq+WXHBM5sIuViJI/Zh7MOjsc159Q+dn36PBqLRq03AXqE/lRjnv8C5nj\n" + "-----END CERTIFICATE-----"; - // Owner: CN=good.sca4a.amazontrust.com, O=Amazon Trust Services, L=Seattle, ST=Washington, C=US, \ - // SERIALNUMBER=5846743, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, \ - // OID.1.3.6.1.4.1.311.60.2.1.3=US + // Owner: CN=good.sca4a.amazontrust.com // Issuer: CN=Amazon, OU=Server CA 4A, O=Amazon, C=US - // Serial number: 703e4ec57c72d5669efbc98875c3f6bc3f934 - // Valid from: Mon Jul 29 16:55:17 PDT 2019 until: Sat Aug 29 16:55:17 PDT 2020 + // Serial number: 75a5ddc1a4ea5a18110454883269df9409bf5 + // Valid from: Fri Dec 17 12:23:29 PST 2021 until: Tue Jan 17 12:23:29 PST 2023 private static final String VALID = "-----BEGIN CERTIFICATE-----\n" + - "MIIDxTCCA0qgAwIBAgITBwPk7FfHLVZp77yYh1w/a8P5NDAKBggqhkjOPQQDAzBG\n" + + "MIIC0TCCAlegAwIBAgITB1pd3BpOpaGBEEVIgyad+UCb9TAKBggqhkjOPQQDAzBG\n" + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2ZXIg\n" + - "Q0EgNEExDzANBgNVBAMTBkFtYXpvbjAeFw0xOTA3MjkyMzU1MTdaFw0yMDA4Mjky\n" + - "MzU1MTdaMIHaMRMwEQYLKwYBBAGCNzwCAQMTAlVTMRkwFwYLKwYBBAGCNzwCAQIT\n" + - "CERlbGF3YXJlMR0wGwYDVQQPExRQcml2YXRlIE9yZ2FuaXphdGlvbjEQMA4GA1UE\n" + - "BRMHNTg0Njc0MzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO\n" + - "BgNVBAcTB1NlYXR0bGUxHjAcBgNVBAoTFUFtYXpvbiBUcnVzdCBTZXJ2aWNlczEj\n" + - "MCEGA1UEAxMaZ29vZC5zY2E0YS5hbWF6b250cnVzdC5jb20wdjAQBgcqhkjOPQIB\n" + - "BgUrgQQAIgNiAAS9fqMYfOBsdXMSsPjqOlTgIGOlOQWA7Wg6XwVvHTr0+UN+XTeC\n" + - "yZN+XjLbEDQ0CF5eryRZ535sDpwh3qNe0lYFO1n1+2iDtDI1jhhLNYNxBpVnR2BU\n" + - "2l9EuRmgRbQpDCajggFjMIIBXzAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFMd0\n" + - "itH5IcE6DpM1uTSBV/6DLmK7MB8GA1UdIwQYMBaAFKUhzdvrUyGZqsrZZ0KUJbJ7\n" + - "9MLjMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjB1BggrBgEFBQcBAQRp\n" + - "MGcwLQYIKwYBBQUHMAGGIWh0dHA6Ly9vY3NwLnNjYTRhLmFtYXpvbnRydXN0LmNv\n" + - "bTA2BggrBgEFBQcwAoYqaHR0cDovL2NydC5zY2E0YS5hbWF6b250cnVzdC5jb20v\n" + - "c2NhNGEuY2VyMCUGA1UdEQQeMByCGmdvb2Quc2NhNGEuYW1hem9udHJ1c3QuY29t\n" + - "MFAGA1UdIARJMEcwDQYLYIZIAYb9bgEHGAMwNgYFZ4EMAQEwLTArBggrBgEFBQcC\n" + - "ARYfaHR0cHM6Ly93d3cuYW1hem9udHJ1c3QuY29tL2NwczAKBggqhkjOPQQDAwNp\n" + - "ADBmAjEA2RBD1F+rnm394VkqA3ncysM3deoyfWqaoAO5923MNisswPnHfVqnfeXf\n" + - "ZwTAvVTBAjEAiiaPx9GRjEk8IBKvCSbTp9rPogVTN7zDDQGrwA83O0pRP7A0dxtT\n" + - "pn/0K5Sj8otp\n" + + "Q0EgNEExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDIzMjlaFw0yMzAxMTcy\n" + + "MDIzMjlaMCUxIzAhBgNVBAMTGmdvb2Quc2NhNGEuYW1hem9udHJ1c3QuY29tMHYw\n" + + "EAYHKoZIzj0CAQYFK4EEACIDYgAE7VpccYyJsD19xB1owlNs9PGkXkjptJZK6eFY\n" + + "q9Tc+CZLaOAhi47uuWsPwyIYB3vEIUXoWWKTvgycHhsmVQDQ2hLYMS+h9tQgnqVN\n" + + "TDYpEnnBa6AUbTKXtJDLG+z+7Kd7o4IBJjCCASIwDgYDVR0PAQH/BAQDAgeAMB0G\n" + + "A1UdDgQWBBRHzxN3jV4vU1PEmHmTqB8YXXoMYDAfBgNVHSMEGDAWgBSlIc3b61Mh\n" + + "marK2WdClCWye/TC4zAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdQYI\n" + + "KwYBBQUHAQEEaTBnMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5zY2E0YS5hbWF6\n" + + "b250cnVzdC5jb20wNgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQuc2NhNGEuYW1hem9u\n" + + "dHJ1c3QuY29tL3NjYTRhLmNlcjAlBgNVHREEHjAcghpnb29kLnNjYTRhLmFtYXpv\n" + + "bnRydXN0LmNvbTATBgNVHSAEDDAKMAgGBmeBDAECATAKBggqhkjOPQQDAwNoADBl\n" + + "AjEAyHMRGLsUVEufoih22dPfO5LrLpO4/2VzeNBbUvP/mOcwvMrrq1yQjot3CTdm\n" + + "ZwnRAjAj2zmAM5asBZwuEN1pbEFgHdojio0O4oYvUsdMooLOKJsBD7hmgAdhpObO\n" + + "Xv0oNIE=\n" + "-----END CERTIFICATE-----"; - // Owner: CN=revoked.sca4a.amazontrust.com, O=Amazon Trust Services, L=Seattle, ST=Washington, C=US, \ - // SERIALNUMBER=5846743, OID.2.5.4.15=PrivateOrganization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, \ - // OID.1.3.6.1.4.1.311.60.2.1.3=US + // Owner: CN=revoked.sca4a.amazontrust.com // Issuer: CN=Amazon, OU=Server CA 4A, O=Amazon, C=US - // Serial number: 6f1d79295c384a699d51c2d756bd46213b5b3 - // Valid from: Mon Jan 28 15:41:16 PST 2019 until: Thu Apr 28 16:41:16 PDT 2022 + // Serial number: 75a5e0442d0fed2b11850ed6746a2200bb4af + // Valid from: Fri Dec 17 12:32:23 PST 2021 until: Tue Jan 17 12:32:23 PST 2023 private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n" + - "MIIDjTCCAxKgAwIBAgITBvHXkpXDhKaZ1RwtdWvUYhO1szAKBggqhkjOPQQDAzBG\n" + + "MIIC1zCCAl2gAwIBAgITB1peBELQ/tKxGFDtZ0aiIAu0rzAKBggqhkjOPQQDAzBG\n" + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2ZXIg\n" + - "Q0EgNEExDzANBgNVBAMTBkFtYXpvbjAeFw0xOTAxMjgyMzQxMTZaFw0yMjA0Mjgy\n" + - "MzQxMTZaMIHcMRMwEQYLKwYBBAGCNzwCAQMTAlVTMRkwFwYLKwYBBAGCNzwCAQIT\n" + - "CERlbGF3YXJlMRwwGgYDVQQPExNQcml2YXRlT3JnYW5pemF0aW9uMRAwDgYDVQQF\n" + - "Ewc1ODQ2NzQzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G\n" + - "A1UEBxMHU2VhdHRsZTEeMBwGA1UEChMVQW1hem9uIFRydXN0IFNlcnZpY2VzMSYw\n" + - "JAYDVQQDEx1yZXZva2VkLnNjYTRhLmFtYXpvbnRydXN0LmNvbTB2MBAGByqGSM49\n" + - "AgEGBSuBBAAiA2IABLuNpZTcNU3FElNP3Y/OeXIZcIMXkFTBi/n92fNwHfqUbEhH\n" + - "H+PovJ26eAGvb5a8bGc275MBFcVnWL0rCVgM+j9KAtBDCRJX3f7mo0D2VKcmtZKu\n" + - "jPxwGPy2kuqM505dGqOCASkwggElMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQU\n" + - "zUFIhn+hphzCKA2qgAdLztSBzJgwHwYDVR0jBBgwFoAUpSHN2+tTIZmqytlnQpQl\n" + - "snv0wuMwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMHUGCCsGAQUFBwEB\n" + - "BGkwZzAtBggrBgEFBQcwAYYhaHR0cDovL29jc3Auc2NhNGEuYW1hem9udHJ1c3Qu\n" + - "Y29tMDYGCCsGAQUFBzAChipodHRwOi8vY3J0LnNjYTRhLmFtYXpvbnRydXN0LmNv\n" + - "bS9zY2E0YS5jZXIwKAYDVR0RBCEwH4IdcmV2b2tlZC5zY2E0YS5hbWF6b250cnVz\n" + - "dC5jb20wEwYDVR0gBAwwCjAIBgZngQwBAgEwCgYIKoZIzj0EAwMDaQAwZgIxALDA\n" + - "klY3iKwyzwpwVtLfLxzQEl45xvE2VjBJvfJJ60KhJt7Ud0gt0zxkogh29+mpEQIx\n" + - "ANTG1mk8OJB41DU7ru1Pwc6ju8STw1FdwDp/Eliqhvnm2i0k4/F1bBHLta2mlC2V\n" + - "hg==\n" + + "Q0EgNEExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDMyMjNaFw0yMzAxMTcy\n" + + "MDMyMjNaMCgxJjAkBgNVBAMTHXJldm9rZWQuc2NhNGEuYW1hem9udHJ1c3QuY29t\n" + + "MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqxQKCDKJYXzA0uR3jyfk/ZRyPAJolRNI\n" + + "xI3+vlQW7SqVs+MziCLFPuU68kf74a5/YFWK/bRdXrVue4IMbM8TKO2FwXIHn/Iw\n" + + "udkJIG+CdqnL4IlH+tFf+l47vRzMS0TQo4IBKTCCASUwDgYDVR0PAQH/BAQDAgeA\n" + + "MB0GA1UdDgQWBBR04rEvUxTzLh0OGHyMgrYanP7lqzAfBgNVHSMEGDAWgBSlIc3b\n" + + "61MhmarK2WdClCWye/TC4zAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw\n" + + "dQYIKwYBBQUHAQEEaTBnMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5zY2E0YS5h\n" + + "bWF6b250cnVzdC5jb20wNgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQuc2NhNGEuYW1h\n" + + "em9udHJ1c3QuY29tL3NjYTRhLmNlcjAoBgNVHREEITAfgh1yZXZva2VkLnNjYTRh\n" + + "LmFtYXpvbnRydXN0LmNvbTATBgNVHSAEDDAKMAgGBmeBDAECATAKBggqhkjOPQQD\n" + + "AwNoADBlAjEAgOyeHMBYmO9rfMgCnV4oOQ5PcjSAgotYwEGqFHA5+TuIPBTcdFar\n" + + "J1j1JY+EirQ3AjAuGMJdyiQfAVi1n5wT1/2nIOIEGtV2/9CrNmhmjIzKrfu+HUUk\n" + + "bduxD7hNhott7NE=\n" + "-----END CERTIFICATE-----"; public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) throws Exception { @@ -547,6 +496,6 @@ public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) t // Validate Revoked pathValidator.validate(new String[]{REVOKED, INT}, ValidatePathWithParams.Status.REVOKED, - "Mon Jan 28 15:41:53 PST 2019", System.out); + "Fri Dec 17 12:32:59 PST 2021", System.out); } } From c519409d4a3e603f343f60144f44e88d88bb9fb6 Mon Sep 17 00:00:00 2001 From: Severin Gehwolf Date: Mon, 11 Sep 2023 08:16:04 +0000 Subject: [PATCH 10/27] 8309088: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails Reviewed-by: phh, andrew Backport-of: 4c2e54fb055bee0af5cd838fdd32a0f7902d51e3 --- .../certification/AmazonCA.java | 810 ++++++++++-------- 1 file changed, 461 insertions(+), 349 deletions(-) diff --git a/jdk/test/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java b/jdk/test/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java index 3232be7b170..dec0ff8872a 100644 --- a/jdk/test/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java +++ b/jdk/test/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -51,266 +51,325 @@ public class AmazonCA { public static void main(String[] args) throws Exception { ValidatePathWithParams pathValidator = new ValidatePathWithParams(null); - boolean ocspEnabled = false; if (args.length >= 1 && "CRL".equalsIgnoreCase(args[0])) { pathValidator.enableCRLCheck(); } else { // OCSP check by default pathValidator.enableOCSPCheck(); - ocspEnabled = true; } - new AmazonCA_1().runTest(pathValidator, ocspEnabled); - new AmazonCA_2().runTest(pathValidator, ocspEnabled); - new AmazonCA_3().runTest(pathValidator, ocspEnabled); - new AmazonCA_4().runTest(pathValidator, ocspEnabled); + new AmazonCA_1().runTest(pathValidator); + new AmazonCA_2().runTest(pathValidator); + new AmazonCA_3().runTest(pathValidator); + new AmazonCA_4().runTest(pathValidator); } } class AmazonCA_1 { - // Owner: CN=Amazon, OU=Server CA 1A, O=Amazon, C=US + // Owner: CN=Amazon RSA 2048 M02, O=Amazon, C=US // Issuer: CN=Amazon Root CA 1, O=Amazon, C=US - // Serial number: 67f9457508c648c09ca652e71791830e72592 - // Valid from: Wed Oct 21 17:00:00 PDT 2015 until: Sat Oct 18 17:00:00 PDT 2025 - private static final String INT = "-----BEGIN CERTIFICATE-----\n" + - "MIIERzCCAy+gAwIBAgITBn+UV1CMZIwJymUucXkYMOclkjANBgkqhkiG9w0BAQsF\n" + + // Serial number: 773124a4bcbd44ec7b53beaf194842d3a0fa1 + // Valid from: Tue Aug 23 15:25:30 PDT 2022 until: Fri Aug 23 15:25:30 PDT 2030 + private static final String INT_VALID = "-----BEGIN CERTIFICATE-----\n" + + "MIIEXjCCA0agAwIBAgITB3MSSkvL1E7HtTvq8ZSELToPoTANBgkqhkiG9w0BAQsF\n" + + "ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\n" + + "b24gUm9vdCBDQSAxMB4XDTIyMDgyMzIyMjUzMFoXDTMwMDgyMzIyMjUzMFowPDEL\n" + + "MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEcMBoGA1UEAxMTQW1hem9uIFJT\n" + + "QSAyMDQ4IE0wMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALtDGMZa\n" + + "qHneKei1by6+pUPPLljTB143Si6VpEWPc6mSkFhZb/6qrkZyoHlQLbDYnI2D7hD0\n" + + "sdzEqfnuAjIsuXQLG3A8TvX6V3oFNBFVe8NlLJHvBseKY88saLwufxkZVwk74g4n\n" + + "WlNMXzla9Y5F3wwRHwMVH443xGz6UtGSZSqQ94eFx5X7Tlqt8whi8qCaKdZ5rNak\n" + + "+r9nUThOeClqFd4oXych//Rc7Y0eX1KNWHYSI1Nk31mYgiK3JvH063g+K9tHA63Z\n" + + "eTgKgndlh+WI+zv7i44HepRZjA1FYwYZ9Vv/9UkC5Yz8/yU65fgjaE+wVHM4e/Yy\n" + + "C2osrPWE7gJ+dXMCAwEAAaOCAVowggFWMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYD\n" + + "VR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNV\n" + + "HQ4EFgQUwDFSzVpQw4J8dHHOy+mc+XrrguIwHwYDVR0jBBgwFoAUhBjMhTTsvAyU\n" + + "lC4IWZzHshBOCggwewYIKwYBBQUHAQEEbzBtMC8GCCsGAQUFBzABhiNodHRwOi8v\n" + + "b2NzcC5yb290Y2ExLmFtYXpvbnRydXN0LmNvbTA6BggrBgEFBQcwAoYuaHR0cDov\n" + + "L2NydC5yb290Y2ExLmFtYXpvbnRydXN0LmNvbS9yb290Y2ExLmNlcjA/BgNVHR8E\n" + + "ODA2MDSgMqAwhi5odHRwOi8vY3JsLnJvb3RjYTEuYW1hem9udHJ1c3QuY29tL3Jv\n" + + "b3RjYTEuY3JsMBMGA1UdIAQMMAowCAYGZ4EMAQIBMA0GCSqGSIb3DQEBCwUAA4IB\n" + + "AQAtTi6Fs0Azfi+iwm7jrz+CSxHH+uHl7Law3MQSXVtR8RV53PtR6r/6gNpqlzdo\n" + + "Zq4FKbADi1v9Bun8RY8D51uedRfjsbeodizeBB8nXmeyD33Ep7VATj4ozcd31YFV\n" + + "fgRhvTSxNrrTlNpWkUk0m3BMPv8sg381HhA6uEYokE5q9uws/3YkKqRiEz3TsaWm\n" + + "JqIRZhMbgAfp7O7FUwFIb7UIspogZSKxPIWJpxiPo3TcBambbVtQOcNRWz5qCQdD\n" + + "slI2yayq0n2TXoHyNCLEH8rpsJRVILFsg0jc7BaFrMnF462+ajSehgj12IidNeRN\n" + + "4zl+EoNaWdpnWndvSpAEkq2P\n" + + "-----END CERTIFICATE-----"; + + // Owner: CN=Amazon RSA 2048 M01, O=Amazon, C=US + // Issuer: CN=Amazon Root CA 1, O=Amazon, C=US + // Serial number: 77312380b9d6688a33b1ed9bf9ccda68e0e0f + // Valid from: Tue Aug 23 15:21:28 PDT 2022 until: Fri Aug 23 15:21:28 PDT 2030 + private static final String INT_REVOKED = "-----BEGIN CERTIFICATE-----\n" + + "MIIEXjCCA0agAwIBAgITB3MSOAudZoijOx7Zv5zNpo4ODzANBgkqhkiG9w0BAQsF\n" + "ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\n" + - "b24gUm9vdCBDQSAxMB4XDTE1MTAyMjAwMDAwMFoXDTI1MTAxOTAwMDAwMFowRjEL\n" + - "MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEVMBMGA1UECxMMU2VydmVyIENB\n" + - "IDFBMQ8wDQYDVQQDEwZBbWF6b24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\n" + - "AoIBAQCeQM3XCsIZunv8bSJxOqkc/ed87uL76FDB7teBNThDRB+1J7aITuadbNfH\n" + - "5ZfZykrdZ1qQLKxP6DwHOmJr9u2b4IxjUX9qUMuq4B02ghD2g6yU3YivEosZ7fpo\n" + - "srD2TBN29JpgPGrOrpOE+ArZuIpBjdKFinemu6fTDD0NCeQlfyHXd1NOYyfYRLTa\n" + - "xlpDqr/2M41BgSkWQfSPHHyRWNQgWBiGsIQaS8TK0g8OWi1ov78+2K9DWT+AHgXW\n" + - "AanjZK91GfygPXJYSlAGxSiBAwH/KhAMifhaoFYAbH0Yuohmd85B45G2xVsop4TM\n" + - "Dsl007U7qnS7sdJ4jYGzEvva/a95AgMBAAGjggE5MIIBNTASBgNVHRMBAf8ECDAG\n" + - "AQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUYtRCXoZwdWqQvMa40k1g\n" + - "wjS6UTowHwYDVR0jBBgwFoAUhBjMhTTsvAyUlC4IWZzHshBOCggwewYIKwYBBQUH\n" + - "AQEEbzBtMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5yb290Y2ExLmFtYXpvbnRy\n" + - "dXN0LmNvbTA6BggrBgEFBQcwAoYuaHR0cDovL2NydC5yb290Y2ExLmFtYXpvbnRy\n" + - "dXN0LmNvbS9yb290Y2ExLmNlcjA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3Js\n" + - "LnJvb3RjYTEuYW1hem9udHJ1c3QuY29tL3Jvb3RjYTEuY3JsMBEGA1UdIAQKMAgw\n" + - "BgYEVR0gADANBgkqhkiG9w0BAQsFAAOCAQEAMHbSWHRFMzGNIE0qhN6gnRahTrTU\n" + - "CDPwe7l9/q0IA+QBlrpUHnlAreetYeH1jB8uF3qXXzy22gpBU7NqulTkqSPByT1J\n" + - "xOhpT2FpO5R3VAdMPdWfSEgtrED0jkmyUQrR1T+/A+nBLdJZeQcl+OqLgeY790JM\n" + - "JJTsJnnI6FBWeTGhcDI4Y+n3KS3QCVePeWI7jx1dhrHcXH+QDX8Ywe31hV7YENdr\n" + - "HDpUXrjK6eHN8gazy8G6pndXHFwHp4auiZbJbYAk/q1peOTRagD2JojcLkm+i3cD\n" + - "843t4By6YT/PVlePU2PCWejkrJQnKQAPOov7IA8kuO2RDWuzE/zF6Hotdg==\n" + + "b24gUm9vdCBDQSAxMB4XDTIyMDgyMzIyMjEyOFoXDTMwMDgyMzIyMjEyOFowPDEL\n" + + "MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEcMBoGA1UEAxMTQW1hem9uIFJT\n" + + "QSAyMDQ4IE0wMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOtxLKnL\n" + + "H4gokjIwr4pXD3i3NyWVVYesZ1yX0yLI2qIUZ2t88Gfa4gMqs1YSXca1R/lnCKeT\n" + + "epWSGA+0+fkQNpp/L4C2T7oTTsddUx7g3ZYzByDTlrwS5HRQQqEFE3O1T5tEJP4t\n" + + "f+28IoXsNiEzl3UGzicYgtzj2cWCB41eJgEmJmcf2T8TzzK6a614ZPyq/w4CPAff\n" + + "nAV4coz96nW3AyiE2uhuB4zQUIXvgVSycW7sbWLvj5TDXunEpNCRwC4kkZjK7rol\n" + + "jtT2cbb7W2s4Bkg3R42G3PLqBvt2N32e/0JOTViCk8/iccJ4sXqrS1uUN4iB5Nmv\n" + + "JK74csVl+0u0UecCAwEAAaOCAVowggFWMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYD\n" + + "VR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNV\n" + + "HQ4EFgQUgbgOY4qJEhjl+js7UJWf5uWQE4UwHwYDVR0jBBgwFoAUhBjMhTTsvAyU\n" + + "lC4IWZzHshBOCggwewYIKwYBBQUHAQEEbzBtMC8GCCsGAQUFBzABhiNodHRwOi8v\n" + + "b2NzcC5yb290Y2ExLmFtYXpvbnRydXN0LmNvbTA6BggrBgEFBQcwAoYuaHR0cDov\n" + + "L2NydC5yb290Y2ExLmFtYXpvbnRydXN0LmNvbS9yb290Y2ExLmNlcjA/BgNVHR8E\n" + + "ODA2MDSgMqAwhi5odHRwOi8vY3JsLnJvb3RjYTEuYW1hem9udHJ1c3QuY29tL3Jv\n" + + "b3RjYTEuY3JsMBMGA1UdIAQMMAowCAYGZ4EMAQIBMA0GCSqGSIb3DQEBCwUAA4IB\n" + + "AQCtAN4CBSMuBjJitGuxlBbkEUDeK/pZwTXv4KqPK0G50fOHOQAd8j21p0cMBgbG\n" + + "kfMHVwLU7b0XwZCav0h1ogdPMN1KakK1DT0VwA/+hFvGPJnMV1Kx2G4S1ZaSk0uU\n" + + "5QfoiYIIano01J5k4T2HapKQmmOhS/iPtuo00wW+IMLeBuKMn3OLn005hcrOGTad\n" + + "hcmeyfhQP7Z+iKHvyoQGi1C0ClymHETx/chhQGDyYSWqB/THwnN15AwLQo0E5V9E\n" + + "SJlbe4mBlqeInUsNYugExNf+tOiybcrswBy8OFsd34XOW3rjSUtsuafd9AWySa3h\n" + + "xRRrwszrzX/WWGm6wyB+f7C4\n" + "-----END CERTIFICATE-----"; - // Owner: CN=good.sca1a.amazontrust.com - // Issuer: CN=Amazon, OU=Server CA 1A, O=Amazon, C=US - // Serial number: 75a5dd4b767bedc94a4239da65ed9dfef8218 - // Valid from: Fri Dec 17 12:21:50 PST 2021 until: Tue Jan 17 12:21:50 PST 2023 + // Owner: CN=valid.rootca1.demo.amazontrust.com + // Issuer: CN=Amazon RSA 2048 M02, O=Amazon, C=US + // Serial number: 60c6e837b2e7586d8464eb34f4a85fe + // Valid from: Tue May 09 17:00:00 PDT 2023 until: Fri Jun 07 16:59:59 PDT 2024 private static final String VALID = "-----BEGIN CERTIFICATE-----\n" + - "MIIEIDCCAwigAwIBAgITB1pd1LdnvtyUpCOdpl7Z3++CGDANBgkqhkiG9w0BAQsF\n" + - "ADBGMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2\n" + - "ZXIgQ0EgMUExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDIxNTBaFw0yMzAx\n" + - "MTcyMDIxNTBaMCUxIzAhBgNVBAMTGmdvb2Quc2NhMWEuYW1hem9udHJ1c3QuY29t\n" + - "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5SadXE1HIzUp4ob40roo\n" + - "qBiJy57vLcZklkWoxRU2JtIauuZUl8fLT/KOjzW71fqMMTxnvEbtKtRtZKDFjrg7\n" + - "uPf8Q1J9tqxme6iFlrBlou+moQQ7Spi3H9q7v08vX19XIREGIwHbicbxVujdeA0w\n" + - "G0fGMlw+Gs8GNiBQplr+oXC7i2CoPmwnR/T8iHjCEznKQIMxiZL4gOHLwh4EKdBA\n" + - "auirpTq0iXUtC2BcM/w1Zx1UTLu0idmclcxVSYE8hXfV8e7JGpNI1gCqkgrskof3\n" + - "A6CMCIH/D1VETFtGKn+gGWenWwnELmKuvHObQGXmcwOV3aXBdNFTmfzcshwqm/mE\n" + - "zQIDAQABo4IBJjCCASIwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQWBBTURzXdgGMB\n" + - "tNyiP16WXB1oM2qqmzAfBgNVHSMEGDAWgBRi1EJehnB1apC8xrjSTWDCNLpROjAd\n" + - "BgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdQYIKwYBBQUHAQEEaTBnMC0G\n" + - "CCsGAQUFBzABhiFodHRwOi8vb2NzcC5zY2ExYS5hbWF6b250cnVzdC5jb20wNgYI\n" + - "KwYBBQUHMAKGKmh0dHA6Ly9jcnQuc2NhMWEuYW1hem9udHJ1c3QuY29tL3NjYTFh\n" + - "LmNlcjAlBgNVHREEHjAcghpnb29kLnNjYTFhLmFtYXpvbnRydXN0LmNvbTATBgNV\n" + - "HSAEDDAKMAgGBmeBDAECATANBgkqhkiG9w0BAQsFAAOCAQEAVNyn7lB3IOstAJj+\n" + - "avkPfojb+QaUpFjnkKyb7c5kUBEWaaEl27W58OLoIHoEJvfOypv2bTq1fuIx9P88\n" + - "1HP7DrI7vBtfnAgyIjF2mzL6Jyt7buR7u/cXTO0fsl/uk3wfrJBl860/Nab+WYoj\n" + - "pvJm0b75WVnU30Khy/xrhNfN2nvCJ5VMoHqV6KnKrMjA5KpdeTvVaIgyxtV6B8vY\n" + - "VsBbtzJ6n8mN7N8YkEkHV6TG7l+FVPHQdJFtD/qhTd5C4uu4XUehxOta894hLy6z\n" + - "8Mv9BGtmwyUIEd0KQQdkXrWx/iAq6zo0imAeN/s8tjqAzxnw6M5F9cDqjqkYqgXZ\n" + - "eIkPBA==\n" + + "MIIGKDCCBRCgAwIBAgIQBgxug3sudYbYRk6zT0qF/jANBgkqhkiG9w0BAQsFADA8\n" + + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRwwGgYDVQQDExNBbWF6b24g\n" + + "UlNBIDIwNDggTTAyMB4XDTIzMDUxMDAwMDAwMFoXDTI0MDYwNzIzNTk1OVowLTEr\n" + + "MCkGA1UEAxMidmFsaWQucm9vdGNhMS5kZW1vLmFtYXpvbnRydXN0LmNvbTCCASIw\n" + + "DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3hA+omhUcO8nYO8/+dkpbYz8WI\n" + + "1ms7Y7JA2pPFfp2N/aWcf6m5ORm1BkyGLOttjTu318Qpa9eahQ1Pi3RNe3BtqjD9\n" + + "jcHncpwAFMsXy1beZA7sZ7AA4vKltA3t6yrU5ruTLUGQwUndeIBBSTW5QpdT9I/p\n" + + "EM7d+Miwre63kofbJ1lVPAJvN/udMVqGWNF8V5qscklUUHoSKA3FWWsiCyIgnthg\n" + + "G3u6R1KH66Qionp0ho/ttvrBCI0C/bdrdH+wybFv8oFFvAW2U9xn2Azt47/2kHHm\n" + + "tTRjrgufhDbcz/MLR6hwBXAJuwVvJZmSqe7B4IILFexu6wjxZfyqVm2FMr8CAwEA\n" + + "AaOCAzMwggMvMB8GA1UdIwQYMBaAFMAxUs1aUMOCfHRxzsvpnPl664LiMB0GA1Ud\n" + + "DgQWBBSkrnsTnjwYhDRAeLy/9FXm/7hApDBlBgNVHREEXjBcgiJ2YWxpZC5yb290\n" + + "Y2ExLmRlbW8uYW1hem9udHJ1c3QuY29tghpnb29kLnNjYTBhLmFtYXpvbnRydXN0\n" + + "LmNvbYIaZ29vZC5zY2ExYS5hbWF6b250cnVzdC5jb20wDgYDVR0PAQH/BAQDAgWg\n" + + "MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjA7BgNVHR8ENDAyMDCgLqAs\n" + + "hipodHRwOi8vY3JsLnIybTAyLmFtYXpvbnRydXN0LmNvbS9yMm0wMi5jcmwwEwYD\n" + + "VR0gBAwwCjAIBgZngQwBAgEwdQYIKwYBBQUHAQEEaTBnMC0GCCsGAQUFBzABhiFo\n" + + "dHRwOi8vb2NzcC5yMm0wMi5hbWF6b250cnVzdC5jb20wNgYIKwYBBQUHMAKGKmh0\n" + + "dHA6Ly9jcnQucjJtMDIuYW1hem9udHJ1c3QuY29tL3IybTAyLmNlcjAMBgNVHRMB\n" + + "Af8EAjAAMIIBfgYKKwYBBAHWeQIEAgSCAW4EggFqAWgAdgDuzdBk1dsazsVct520\n" + + "zROiModGfLzs3sNRSFlGcR+1mwAAAYgHvXWVAAAEAwBHMEUCICAs74qT1f9ufSr5\n" + + "PgQqtQFiXBbmbb3i4xwVV78USU5NAiEA/iJEfnTG+hZZaHYv2wVbg6tUY8fQgIhI\n" + + "2rbl6PrD9FIAdgBIsONr2qZHNA/lagL6nTDrHFIBy1bdLIHZu7+rOdiEcwAAAYgH\n" + + "vXWWAAAEAwBHMEUCIQDf2nWyee/5+vSgk/O8P0BFvXYu89cyAugZHyd919BdAgIg\n" + + "UnGGpQtZmWnPMmdgpzI7jrCLuC370Tn0i7Aktdzj2X8AdgDatr9rP7W2Ip+bwrtc\n" + + "a+hwkXFsu1GEhTS9pD0wSNf7qwAAAYgHvXVpAAAEAwBHMEUCIGN6cT+6uwDospXe\n" + + "gMa8b38oXouXUT66X2gOiJ0SoRyQAiEAjDMu2vEll5tRpUvU8cD4gR2xV4hqoDxx\n" + + "Q+QGW+PvJxcwDQYJKoZIhvcNAQELBQADggEBACtxC3LlQvULeI3lt7ZYFSWndEhm\n" + + "tNUotoeKSXJXdoIpqSr10bzMPX9SHvemgOUtzP3JNqWPHw1uW9YFyeDE6yWj/B13\n" + + "Xj1hv1cqYIwyaOZBerU/9PT5PaCn20AC9DHbc7iBv+zs+DYiqlAFJ1GVaprwLul4\n" + + "8wp3gnC3Hjb8NykydCo6vw0AJ2UzjpjiTyVZ93jITzLOiboOUa1gQGnojzWlYaet\n" + + "sXe+RDylBp/Wuj1ZS7v/etltzYm5GanPi4y/p7Ta3Uky6std/GM6XbPRdBEFboFR\n" + + "B2IP0divd9c74Q+tLgpsAz5yXm9LtYPMcEPC2YRN2PgBg67c5+A7eIOluuw=\n" + "-----END CERTIFICATE-----"; - // Owner: CN=revoked.sca1a.amazontrust.com - // Issuer: CN=Amazon, OU=Server CA 1A, O=Amazon, C=US - // Serial number: 75a5de4434092b2cd6ed81eb5e6248e1e5f2a - // Valid from: Fri Dec 17 12:25:17 PST 2021 until: Tue Jan 17 12:25:17 PST 2023 + // Owner: CN=revoked.rootca1.demo.amazontrust.com + // Issuer: CN=Amazon RSA 2048 M01, O=Amazon, C=US + // Serial number: e1023665b1268d788cc25bf69a9d05e + // Valid from: Tue May 09 17:00:00 PDT 2023 until: Fri Jun 07 16:59:59 PDT 2024 private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n" + - "MIIEJjCCAw6gAwIBAgITB1pd5ENAkrLNbtgeteYkjh5fKjANBgkqhkiG9w0BAQsF\n" + - "ADBGMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2\n" + - "ZXIgQ0EgMUExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDI1MTdaFw0yMzAx\n" + - "MTcyMDI1MTdaMCgxJjAkBgNVBAMTHXJldm9rZWQuc2NhMWEuYW1hem9udHJ1c3Qu\n" + - "Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqYk4ZkF9yJgRa0fL\n" + - "96gmxwlJlyvsQmqumxUGw0u1L+nDgGMFD1bHILOw2AO+feNy8kuTnJVb+zN+2f6l\n" + - "rMGM1sGKh8W/ZRIdvmcdeZ2kEDyxLotMRXDQ6hJXDj30DSAYNkdqairJItdcev8+\n" + - "t9LRRNRQwL0sXf5FITQPBnlVCrF9Q42p9hhYUhvsS8jSWPIvUbZajOXKs6AfxyPV\n" + - "2Q7TybgnRlawznXxflPzXRMpCSQZ9WdI/kYbFOjDNtYA05EI4d8IYm+C5U1eJT30\n" + - "dKFeU0xzFsrPirzifFMPIhXKxS5rUELuFRUq4sFTN28Sj7Ij/rr+O9Im8jJZq0lo\n" + - "bqLoQwIDAQABo4IBKTCCASUwDgYDVR0PAQH/BAQDAgWgMB0GA1UdDgQWBBRugPQP\n" + - "CWEwQp0pw2dEMw/gT7F4gzAfBgNVHSMEGDAWgBRi1EJehnB1apC8xrjSTWDCNLpR\n" + - "OjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdQYIKwYBBQUHAQEEaTBn\n" + - "MC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5zY2ExYS5hbWF6b250cnVzdC5jb20w\n" + - "NgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQuc2NhMWEuYW1hem9udHJ1c3QuY29tL3Nj\n" + - "YTFhLmNlcjAoBgNVHREEITAfgh1yZXZva2VkLnNjYTFhLmFtYXpvbnRydXN0LmNv\n" + - "bTATBgNVHSAEDDAKMAgGBmeBDAECATANBgkqhkiG9w0BAQsFAAOCAQEAQF9QvedW\n" + - "gqD5LPsZ5cg+DkGFBVqhWgsvp8so4gmKHklSHvisEek/Yfi7tvHCUAP2P0MuV/49\n" + - "O2A+1tXQL1+hVM1auSfDOQdUy4xsKSWV+PofQe82iz+6dwRf+HNgOtyNcQ6aGD3t\n" + - "87DXnJPkBTEPHGxDkjnOwurSffaV1m00bxfb6T1Txvyjs9ClnZf68Jv6oj+2rbs1\n" + - "+TqKXP0Ma3AgXB37Cq2ozYzpAxy9GBIKIahGX2d2qsuZ2aj6XwJwUayIuU0WTOHK\n" + - "eeXvKS2uvY9UaIvTeepSWXyAbBMKagQhgAtf3X6ILodQi5Gk7lCuY48oArKziTgN\n" + - "vB7mK7JqaM2P4g==\n" + + "MIIGMjCCBRqgAwIBAgIQDhAjZlsSaNeIzCW/aanQXjANBgkqhkiG9w0BAQsFADA8\n" + + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRwwGgYDVQQDExNBbWF6b24g\n" + + "UlNBIDIwNDggTTAxMB4XDTIzMDUxMDAwMDAwMFoXDTI0MDYwNzIzNTk1OVowLzEt\n" + + "MCsGA1UEAxMkcmV2b2tlZC5yb290Y2ExLmRlbW8uYW1hem9udHJ1c3QuY29tMIIB\n" + + "IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxSPd1PWACxZohFCAJT1JWuXK\n" + + "GY29wZZ9yY0zoiq6+qYiUIU0crktytUNNI1ZpW/3qXpEw2ZQkM6WF1LshXtwGwrA\n" + + "zJwSeX1L9T5rOKhoBvoFeqfX7xu4VBM1/fDGt5X+NRFfD9Op9UfK5OsnL05TYach\n" + + "rdnfOA5wKGvMgFiN5CeOD0AtumXSuAnTZC85ojJTHjPF+hqV893WvrrUxLyyxtvh\n" + + "lq/WttFOjhfQu2IkfyDAFiH939uzUi0WSTAdsbsHuko5mDTDnOfMRbaaWZu0At01\n" + + "EgaIPeK+kGdi7EYwVndIwTKLeQ4mjIM8aj8Heg/y2hZ0kOmfCUZdUmJFlNoCIQID\n" + + "AQABo4IDOzCCAzcwHwYDVR0jBBgwFoAUgbgOY4qJEhjl+js7UJWf5uWQE4UwHQYD\n" + + "VR0OBBYEFMeBhIOkuWUY4DYqFrfgbD2eUeFtMG0GA1UdEQRmMGSCJHJldm9rZWQu\n" + + "cm9vdGNhMS5kZW1vLmFtYXpvbnRydXN0LmNvbYIdcmV2b2tlZC5zY2EwYS5hbWF6\n" + + "b250cnVzdC5jb22CHXJldm9rZWQuc2NhMWEuYW1hem9udHJ1c3QuY29tMA4GA1Ud\n" + + "DwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwOwYDVR0f\n" + + "BDQwMjAwoC6gLIYqaHR0cDovL2NybC5yMm0wMS5hbWF6b250cnVzdC5jb20vcjJt\n" + + "MDEuY3JsMBMGA1UdIAQMMAowCAYGZ4EMAQIBMHUGCCsGAQUFBwEBBGkwZzAtBggr\n" + + "BgEFBQcwAYYhaHR0cDovL29jc3AucjJtMDEuYW1hem9udHJ1c3QuY29tMDYGCCsG\n" + + "AQUFBzAChipodHRwOi8vY3J0LnIybTAxLmFtYXpvbnRydXN0LmNvbS9yMm0wMS5j\n" + + "ZXIwDAYDVR0TAQH/BAIwADCCAX4GCisGAQQB1nkCBAIEggFuBIIBagFoAHYA7s3Q\n" + + "ZNXbGs7FXLedtM0TojKHRny87N7DUUhZRnEftZsAAAGIB72TggAABAMARzBFAiAZ\n" + + "naLbRHRuaRrE304GSuWX/79MU/e+SSlr0cNJ0kNNaAIhAPnz9HayL4txhkTEZiMs\n" + + "nttNnNqD17I0J17JLVOF4i/4AHYASLDja9qmRzQP5WoC+p0w6xxSActW3SyB2bu/\n" + + "qznYhHMAAAGIB72TmwAABAMARzBFAiEAgEqT7CYGQ/u36/3YcxBH78QfknI9kgcY\n" + + "sgJLkurUF6cCIFZZ/b803+ek6o+bmdV/uVx2UlskAyyolZ2okBAb6IscAHYA2ra/\n" + + "az+1tiKfm8K7XGvocJFxbLtRhIU0vaQ9MEjX+6sAAAGIB72TbQAABAMARzBFAiEA\n" + + "6z2RSoK263hvYF71rj1d0TpC70/6zagSRR4glHOT6IACICYvaMAnrCNSTSiZ20Wz\n" + + "Ju5roTippO3BWKhQYrTKZuu4MA0GCSqGSIb3DQEBCwUAA4IBAQB4S1JGulFpMIaP\n" + + "NtLUJmjWz8eexQdWLDVF+H8dd6xpZgpiYtig/Ynphzuk1IIF8DkT3CeK/9vrezgI\n" + + "igNjneN9B4eIuzi/rJzIKeUwpZ2k5D+36Ab4esseoc+TopmNerw8hidt2g818jER\n" + + "D71ppSMakeQFPGe/Hs2/cVa/G1DNVcU2XAut45yRZ/+xsZ0/mcBDVsG9P5uGCN5O\n" + + "7SAp4J959WnKDqgVuU9WowPE5IjmS9BAv2gjniFYdDV2yksyf7+8edHd1KfSVX06\n" + + "pLx6CuCVZGJFG4Q2Aa1YAh1Wvt9hqWeXXpNRO2/wChL5rhT4GajsrGepsk4bjxYX\n" + + "Wf2iZ8mX\n" + "-----END CERTIFICATE-----"; - public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) throws Exception { - // EE certificates don't have CRLDP extension - if (!ocspEnabled){ - pathValidator.validate(new String[]{INT}, - ValidatePathWithParams.Status.GOOD, null, System.out); - - return; - } + public void runTest(ValidatePathWithParams pathValidator) throws Exception { // Validate valid - pathValidator.validate(new String[]{VALID, INT}, + pathValidator.validate(new String[]{VALID, INT_VALID}, ValidatePathWithParams.Status.GOOD, null, System.out); // Validate Revoked - pathValidator.validate(new String[]{REVOKED, INT}, + pathValidator.validate(new String[]{REVOKED, INT_REVOKED}, ValidatePathWithParams.Status.REVOKED, - "Fri Dec 17 12:28:05 PST 2021", System.out); + "Mon May 15 13:36:57 PDT 2023", System.out); } } class AmazonCA_2 { - // Owner: CN=Amazon, OU=Server CA 2A, O=Amazon, C=US + // Owner: CN=Amazon RSA 4096 M02, O=Amazon, C=US // Issuer: CN=Amazon Root CA 2, O=Amazon, C=US - // Serial number: 67f945755f187a91f8163f3e624620177ff38 - // Valid from: Wed Oct 21 17:00:00 PDT 2015 until: Sat Oct 18 17:00:00 PDT 2025 + // Serial number: 773125b0c34c3c940299a9f04a39e5a52ccd9 + // Valid from: Tue Aug 23 15:29:13 PDT 2022 until: Fri Aug 23 15:29:13 PDT 2030 private static final String INT = "-----BEGIN CERTIFICATE-----\n" + - "MIIGRzCCBC+gAwIBAgITBn+UV1Xxh6kfgWPz5iRiAXf/ODANBgkqhkiG9w0BAQwF\n" + + "MIIGXjCCBEagAwIBAgITB3MSWww0w8lAKZqfBKOeWlLM2TANBgkqhkiG9w0BAQwF\n" + "ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\n" + - "b24gUm9vdCBDQSAyMB4XDTE1MTAyMjAwMDAwMFoXDTI1MTAxOTAwMDAwMFowRjEL\n" + - "MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEVMBMGA1UECxMMU2VydmVyIENB\n" + - "IDJBMQ8wDQYDVQQDEwZBbWF6b24wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK\n" + - "AoICAQC0P8hSLewmrZ41CCPBQytZs5NBFMq5ztbnMf+kZUp9S25LPfjNW3zgC/6E\n" + - "qCTWNVMMHhq7ez9IQJk48qbfBTLlZkuKnUWbA9vowrDfcxUN0mRE4B/TJbveXyTf\n" + - "vE91iDlqDrERecE9D8sdjzURrtHTp27lZdRkXFvfEVCq4hl3sHkzjodisaQthLp1\n" + - "gLsiA7vKt+8zcL4Aeq52UyYb8r4/jdZ3KaQp8O/T4VwDCRKm8ey3kttpJWaflci7\n" + - "eRzNjY7gE3NMANVXCeQwOBfH2GjINFCObmPsqiBuoAnsv2k5aQLNoU1OZk08ClXm\n" + - "mEZ2rI5qZUTX1HuefBJnpMkPugFCw8afaHnB13SkLE7wxX8SZRdDIe5WiwyDL1tR\n" + - "2+8lpz4JsMoFopHmD3GaHyjbN+hkOqHgLltwewOsiyM0u3CZphypN2KeD+1FLjnY\n" + - "TgdIAd1FRgK2ZXDDrEdjnsSEfShKf0l4mFPSBs9E3U6sLmubDRXKLLLpa/dF4eKu\n" + - "LEKS1bXYT28iM6D5gSCnzho5G4d18jQD/slmc5XmRo5Pig0RyBwDaLuxeIZuiJ0A\n" + - "J6YFhffbrLYF5dEQl0cU+t3VBK5u/o1WkWXsZawU038lWn/AXerodT/pAcrtWA4E\n" + - "NQEN09WEKMhZVPhqdwhF/Gusr04mQtKt7T2v6UMQvtVglv5E7wIDAQABo4IBOTCC\n" + - "ATUwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYE\n" + - "FNpDStD8AcBLv1gnjHbNCoHzlC70MB8GA1UdIwQYMBaAFLAM8Eww9AVYAkj9M+VS\n" + - "r0uE42ZSMHsGCCsGAQUFBwEBBG8wbTAvBggrBgEFBQcwAYYjaHR0cDovL29jc3Au\n" + - "cm9vdGNhMi5hbWF6b250cnVzdC5jb20wOgYIKwYBBQUHMAKGLmh0dHA6Ly9jcnQu\n" + - "cm9vdGNhMi5hbWF6b250cnVzdC5jb20vcm9vdGNhMi5jZXIwPwYDVR0fBDgwNjA0\n" + - "oDKgMIYuaHR0cDovL2NybC5yb290Y2EyLmFtYXpvbnRydXN0LmNvbS9yb290Y2Ey\n" + - "LmNybDARBgNVHSAECjAIMAYGBFUdIAAwDQYJKoZIhvcNAQEMBQADggIBAEO5W+iF\n" + - "yChjDyyrmiwFupVWQ0Xy2ReFNQiZq7XKVHvsLQe01moSLnxcBxioOPBKt1KkZO7w\n" + - "Gcbmke0+7AxLaG/F5NPnzRtK1/pRhXQ0XdU8pVh/1/h4GoqRlZ/eN0JDarUhZPkV\n" + - "kSr96LUYDTxcsAidF7zkzWfmtcJg/Aw8mi14xKVEa6aVyKu54c8kKkdlt0WaigOv\n" + - "Z/xYhxp24AfoFKaIraDNdsD8q2N7eDYeN4WGLzNSlil+iFjzflI9mq1hTuI/ZNjV\n" + - "rbvob6FUQ8Cc524gMjbpZCNuZ1gfXzwwhGp0AnQF6CJsWF9uwPpZEVFnnnfiWH3M\n" + - "oup41EvBhqaAqOlny0sm5pI82nRUCAE3DLkJ1+eAtdQaYblZQkQrRyTuPmJEm+5y\n" + - "QwdDVw6uHc5OsSj/tyhh8zJ2Xq3zgh3dMONGjJEysxGaCoIb+61PWwMy2dIarVwI\n" + - "r+c+AY+3PrhgBspNdWZ87JzNHii7ksdjUSVGTTy1vGXgPYrv0lp0IMnKaZP58xiw\n" + - "rDx7uTlQuPVWNOZvCaT3ZcoxTsNKNscIUe+WJjWx5hdzpv/oksDPY5ltZ0j3hlDS\n" + - "D+Itk95/cNJVRM/0HpxI1SX9MTZtOSJoEDdUtOpVaOuBAvEK4gvTzdt0r5L+fuI6\n" + - "o5LAuRo/LO1xVRH49KFRoaznzU3Ch9+kbPb3\n" + + "b24gUm9vdCBDQSAyMB4XDTIyMDgyMzIyMjkxM1oXDTMwMDgyMzIyMjkxM1owPDEL\n" + + "MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEcMBoGA1UEAxMTQW1hem9uIFJT\n" + + "QSA0MDk2IE0wMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMGMl/pZ\n" + + "1OsxHY9gw/YfdON4mmrANkPwi7z2djHA5ELt/vRI3Su0le6OoipLf03iyoCnYy4Y\n" + + "rpfTbhyDriE8NJpps2ODJ5W1h0rz6FM1Q5Jt35wfk+4CEfATBTegHVlUJ0rJgzK5\n" + + "Yl/jrk12ZsC4ZeRn54shszcK6bHj4LZIHXhrYIIfetBMMD8V7hlhd54AclEWutUV\n" + + "eBEjkSCzDSk+pQKIjCL0crqvRSPvUNry/BV65zfGmceSYxpcLmV7k7Spwpo+1z8w\n" + + "+Odfnx2vsm7olPldfaThqk6fXBtInORl4Ef32xF3VDT13UeXtQPolFhnp8UOci64\n" + + "bW+R8tbtGpUXIA8Dhr8SgYPH6NW4jhUD4+AG8yer8ctA1Hl9tq+6tYr26q3yuCLu\n" + + "5rwJdfMG634fWIRXSj+GJi8SfAdGtPyXwu5799NWesV4vUkrkSXdIBK4TQCuK+jx\n" + + "aJ5Y+Zo2l3GFsWyMPNORLjoQXbjF6KAyjTyICLq9VzoQKhyx4Ll2CNrQv8CxqtDC\n" + + "GvXi9kREJYAF6lscOB0xglAAF5lndcaNkVHEVOMdg9ZZtdJywHWm8Qed1Wty2qr+\n" + + "hmA7booWQNRE12nW1niC5D4cP2ykPK9HSgb7xWdUF32VidUc9tNKM6xKjSd/R/tP\n" + + "p+XAybNSwEooPt3/OvyhpVRjLuWoqqbClTKdAgMBAAGjggFaMIIBVjASBgNVHRMB\n" + + "Af8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcD\n" + + "AQYIKwYBBQUHAwIwHQYDVR0OBBYEFJ5xHxodk6nZLY7MSFM/A1TznuZmMB8GA1Ud\n" + + "IwQYMBaAFLAM8Eww9AVYAkj9M+VSr0uE42ZSMHsGCCsGAQUFBwEBBG8wbTAvBggr\n" + + "BgEFBQcwAYYjaHR0cDovL29jc3Aucm9vdGNhMi5hbWF6b250cnVzdC5jb20wOgYI\n" + + "KwYBBQUHMAKGLmh0dHA6Ly9jcnQucm9vdGNhMi5hbWF6b250cnVzdC5jb20vcm9v\n" + + "dGNhMi5jZXIwPwYDVR0fBDgwNjA0oDKgMIYuaHR0cDovL2NybC5yb290Y2EyLmFt\n" + + "YXpvbnRydXN0LmNvbS9yb290Y2EyLmNybDATBgNVHSAEDDAKMAgGBmeBDAECATAN\n" + + "BgkqhkiG9w0BAQwFAAOCAgEAl1GgKXOn0j1MWT1KJVSewQ28SGbie3UwZj1dMsjJ\n" + + "amCrQPn2ngSNbLm9+ulFiBDU8xKR9Zx3tZps55IUKWLUPkfMC+vkV7asDBqqzzE0\n" + + "F/MkekgPfOjx1V9S6Wfg3sSg+9KcluurXFElruqKfOm4cqmkV776X1G+AaaQ7mlU\n" + + "giCYi6NqRQSyhn8zrKkNnbO6QL5a9ICC47kiZYRAR/hRvZOt11QUK5tCMXJXo0iO\n" + + "4XKkMu+jdnehP1kh4xuZhYznIgKK6MJIITFI/Jj89U4SOPncyuS94sUuE2EqvvO/\n" + + "t81qeoey6wThz5iRbU/0CvDFnTMgebWGUZ2UZJ+az/rb3KYXGfVWasLIonkvYT7z\n" + + "vHOGNAA9oQ8TTgPOmPfSVyfpplKtO/aybWp5QSH2csIwuvw5dkmpkc42iD57XHob\n" + + "5LbMJg99z3vQBmod/ipmOpND95/BeA2mllBZgZ53S0nvDXDzbzR9Fd81PAz9Qruo\n" + + "dOJKcD6plKQjZjkLzNh1v/RoCFO8kiJGE4UBMTM8FUk0DXH4bALII4wwmDelrSUu\n" + + "lKvDTDxZvPF4dbEXICNPd51EMGPgETxwboOV+bzWFVI0IWQ8PhZ2VuMPDk2taOMp\n" + + "NsuLtlYc2twPb9r/Hvgv7G6+ItpBHZwOVt1oI3pHbjMp7P3pOZSPr6G1WkNy9mX8\n" + + "rVc=\n" + "-----END CERTIFICATE-----"; - // Owner: CN=good.sca2a.amazontrust.com - // Issuer: CN=Amazon, OU=Server CA 2A, O=Amazon, C=US - // Serial number: 75a5dd7d82269ed466af69794f34050bdffa2 - // Valid from: Fri Dec 17 12:22:32 PST 2021 until: Tue Jan 17 12:22:32 PST 2023 + // Owner: CN=valid.rootca2.demo.amazontrust.com + // Issuer: CN=Amazon RSA 4096 M02, O=Amazon, C=US + // Serial number: 662f7646d76193cbb76946d111e49fa + // Valid from: Tue May 09 17:00:00 PDT 2023 until: Fri Jun 07 16:59:59 PDT 2024 private static final String VALID = "-----BEGIN CERTIFICATE-----\n" + - "MIIGIDCCBAigAwIBAgITB1pd19giae1GavaXlPNAUL3/ojANBgkqhkiG9w0BAQwF\n" + - "ADBGMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2\n" + - "ZXIgQ0EgMkExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDIyMzJaFw0yMzAx\n" + - "MTcyMDIyMzJaMCUxIzAhBgNVBAMTGmdvb2Quc2NhMmEuYW1hem9udHJ1c3QuY29t\n" + - "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsCQonlc6fSTDJbH2y6wC\n" + - "mLeTD3noluSM4LPO53RgLTUvNqrxh/iy9jDGgYP2xN8GGngRI8C65jZqGpJb0Hcp\n" + - "ADYssYKWcTR5OH8rUVsJ6DkJLx0AUOG+iJcCaqPudkw7WBReFEok7E058gCTbXps\n" + - "kNRT3w92CzzXa+49yxaAP0I6AQ9BqZP6gbAR1hmd9BDMCdak1JIswGVC3wGAKJFi\n" + - "c3FS3YeY7VyuXofeEwutvMH4Iag9DZU2puqskrGSmtrVju8CY6w1E/cmBWD9kfpu\n" + - "Qet2LBZuzmws8XhCjU5cHOeA8pg2m7ZnyNBeZajg4hrbPq8ACjjDmEHiDgazoOGN\n" + - "1mV1BXZ2qonK+zJAMqE/L0czEPjdROaF786pPY5Cpi1Rzk0R3KKjGhSHgzfCa2eX\n" + - "cQjBtA7AxLkK+1cI18hYg+okaV+EBrkxXGzeyTjvWbliotIQ9utabXGqJvJtIDeX\n" + - "OQSdSXlBKgwGTE5/Ju8/6NkJgSMEku/Q9SYvfkzPXrj5VAHgPz4KhholeC4A4hRd\n" + - "Y3Xtr/U5Xr3fTzLdOcLDKYW4/OGCl8byjwx8bqO7q8YmgDg572Go3gUbNmlm2QN+\n" + - "NaXhBhPrl4KoHzawApTcod3adhSQziIMGjKYoKhV+ZGNoaLe7IUX0jyX3zygRS6k\n" + - "n6yeyeh1unDfqSvne9+hDEsCAwEAAaOCASYwggEiMA4GA1UdDwEB/wQEAwIFoDAd\n" + - "BgNVHQ4EFgQU71fB1r7/l2pFd0ydSNEiGaD+9uIwHwYDVR0jBBgwFoAU2kNK0PwB\n" + - "wEu/WCeMds0KgfOULvQwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMHUG\n" + - "CCsGAQUFBwEBBGkwZzAtBggrBgEFBQcwAYYhaHR0cDovL29jc3Auc2NhMmEuYW1h\n" + - "em9udHJ1c3QuY29tMDYGCCsGAQUFBzAChipodHRwOi8vY3J0LnNjYTJhLmFtYXpv\n" + - "bnRydXN0LmNvbS9zY2EyYS5jZXIwJQYDVR0RBB4wHIIaZ29vZC5zY2EyYS5hbWF6\n" + - "b250cnVzdC5jb20wEwYDVR0gBAwwCjAIBgZngQwBAgEwDQYJKoZIhvcNAQEMBQAD\n" + - "ggIBAKULtBRmu4CtBTfBG6hXkBdFGneJlomw02h8dj7xkXof+DoLYtkuJ6XRp89f\n" + - "9UgYJMBjwKaAFjZzcVYvTd8YKdXzCXy4phxuHTfaV6ZH0WyvOlcTXsfdhJA4oD1G\n" + - "prB4/PaymwSbv8ZQAE3eg1hytLLlR9+YUS0HfpwaH/PIa0TzKG8Vuu5zKGSlJjeh\n" + - "Thp/uMBC4twM558Jv2sxoUA5HjgPUyZW7r2eLFbOM1H4oR1US5zFYgzrEK1W12DO\n" + - "t65mI2YHbDepm5FoizwWYe4uaDCqWjCgzQw8pMGoiDABMaoNQ83Zi8r2sLGibAlb\n" + - "cVLcjsORsF6TNmYTW1KDT/9hXlOaAhFwfAwKg6cZw51WEg51sPdi5USk/oszavc5\n" + - "Ft/IZaWSfkA1Xm0EyFwOwCOvGJIb9PWv5PfGZz4xnZlWhp6LfN31e3TagTUbzLVX\n" + - "XwbDI1cofCl18z6pidXXCASBCAajQ8N4GxNP6qqX9ou0yOBEXxwVqIJLcu3tueCI\n" + - "3Cb3rWfbybAVhuuP2ERKHJMY8XDCt0O/g8Kj6O69NABOWvNkU3ARzszGzgBfv4IR\n" + - "jJJEskjxX7Q085iXlaRX/mu+TpTkqK1ZbpBB1Z2PeVMujP+qsWSWGTZBXuI8eqyU\n" + - "dhq+VlyoVtWeMqKYMtakCJxnhwMZnn0sTzZk/Yno+k9Jn0Rk\n" + + "MIIICzCCBfOgAwIBAgIQBmL3ZG12GTy7dpRtER5J+jANBgkqhkiG9w0BAQwFADA8\n" + + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRwwGgYDVQQDExNBbWF6b24g\n" + + "UlNBIDQwOTYgTTAyMB4XDTIzMDUxMDAwMDAwMFoXDTI0MDYwNzIzNTk1OVowLTEr\n" + + "MCkGA1UEAxMidmFsaWQucm9vdGNhMi5kZW1vLmFtYXpvbnRydXN0LmNvbTCCAiIw\n" + + "DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAON5EbEKoBiujI7Ja8mLZLJbaY7f\n" + + "RtoWIjU/F0l9ueWFogXmEaA1jWsl97F3WTHTyGKz6ChCjPMSyoXXpY+yoE90QUyX\n" + + "w35uWEhNrc40drMJkyN+QXitSrH346GCOKvpYVvu18UD4W8hDhg8vvbOQYhtmSf7\n" + + "Rfrs7/qUdXpzpvR9VjWktbQAzJT8fB/jFNjNQJTknynjGiYO5GF51+peOCLK6qw8\n" + + "9kKYEigR4K8/aWL283rC4xRxZqVioy433VG02l/Fwdv8o/vL9YYIqkyspCB9fpFw\n" + + "Q50yYrwEomxuOz7rXhmdfeNaFYuyTtOUSKff6p2oqO0S7pcLujUVMlO4dYBDELQF\n" + + "cabByNjwblviCtGKJMIzD6Thkgamp3iXQgcU498+P5r7N5CYbMmkJEdcuILg+bgJ\n" + + "/LUUTT+IMt2txYlO/ld3N0EHlgVt7rztW5mtm6Ba8jN7cLSh7ZWu6Fr1+oK7bl5T\n" + + "wPxSfqT5W3BwQKS3YptIoKEWUb+VNnS/dYx/7IspF9+z6kw4g+V2EY9M4ZYNakzM\n" + + "AI7KIj4thMFoWeYrJq0dUMZ297QCBPRdAwh9hhkq2LYi2x8tMUtcBnhb/q75sO+E\n" + + "icPqFVv7iMDZ/8Xep+0UoClF3JGmZW3UNtwcbi7Pn/OqtaMi7E8xnHUgc4ZchtXO\n" + + "v8VtVvDeZAlY5TjVAgMBAAGjggMWMIIDEjAfBgNVHSMEGDAWgBSecR8aHZOp2S2O\n" + + "zEhTPwNU857mZjAdBgNVHQ4EFgQUnGekBRKIZBYgCEajbpCMC24bp2owSQYDVR0R\n" + + "BEIwQIIidmFsaWQucm9vdGNhMi5kZW1vLmFtYXpvbnRydXN0LmNvbYIaZ29vZC5z\n" + + "Y2EyYS5hbWF6b250cnVzdC5jb20wDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQG\n" + + "CCsGAQUFBwMBBggrBgEFBQcDAjA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8vY3Js\n" + + "LnI0bTAyLmFtYXpvbnRydXN0LmNvbS9yNG0wMi5jcmwwEwYDVR0gBAwwCjAIBgZn\n" + + "gQwBAgEwdQYIKwYBBQUHAQEEaTBnMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5y\n" + + "NG0wMi5hbWF6b250cnVzdC5jb20wNgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQucjRt\n" + + "MDIuYW1hem9udHJ1c3QuY29tL3I0bTAyLmNlcjAMBgNVHRMBAf8EAjAAMIIBfQYK\n" + + "KwYBBAHWeQIEAgSCAW0EggFpAWcAdgDuzdBk1dsazsVct520zROiModGfLzs3sNR\n" + + "SFlGcR+1mwAAAYgHvX9QAAAEAwBHMEUCIQD8qPPCLL2Grd+/YNALWqAq7LC7YBaa\n" + + "dNg5+6Q4kRDEqgIgEkf/UMsMNfTRaOZvoOgAK9/F0xX/CfdcUTjULhmoA+cAdQBI\n" + + "sONr2qZHNA/lagL6nTDrHFIBy1bdLIHZu7+rOdiEcwAAAYgHvX8UAAAEAwBGMEQC\n" + + "IBVFDtapMMWJOqyu8Cv6XEhFmbU8N33c2owed//pa80xAiAT9T6Wba3B9DFUmrL5\n" + + "cCGKLqciIEUPhPbvjCuUepelrAB2ANq2v2s/tbYin5vCu1xr6HCRcWy7UYSFNL2k\n" + + "PTBI1/urAAABiAe9ft8AAAQDAEcwRQIhAP2XDC/RlmVtH4WrfSwVosR/f/WXRhG5\n" + + "mk9Nwq+ZOIriAiAopPXSH7VwXa3bEAIiTwcV1l10QIDZaIPCU5olknU5CjANBgkq\n" + + "hkiG9w0BAQwFAAOCAgEAFuwMIJdP5rgz6cqOIj2EgF2OU8CUGi/wJ45BomXWv4Rv\n" + + "U5mOKB+jHOGZZC9dncjAMa44RwoF2I7/8Y3qLVaoNm46ObvvS+6UvzTcyQqXM7JU\n" + + "cSmdlf9DkspjKPDvMBokVrM4ak5AoxUjuru5qaia3nvbxq7XKO9/FGUaUaU8Xlsd\n" + + "V6Fo8VmNwFc88VCqOp8eI/IicHxMDLl8TKXMvr3CYh8A9nCeFGcV+4CL+7JF2t5K\n" + + "YvV5r074Wyk0QMlRVYMNDl0t+VAEoDJ7RRE+kEvplWcsX9S2wvr4HhkA4iChpwFm\n" + + "2UDTppHskSWyLsuNQvipn0zTzZ8RIxXd/ei0qCdhKmkV7x9cgbTiyXgaI7iJEtdo\n" + + "RvYNcXc2RmitWjY5Av8yJGOk0eYpCwRrBv6ughbtJe3NMrqUeTyrKidIEo9KnRSA\n" + + "rMokRbHunkroS97VkoK/9j9pNJki+qAH9XTLYWcm/5+cTSGRsN+escRgZwV6KWg/\n" + + "JQQe5LbwU2HHzNqWuk63GC/ngVlWXjaVFfbNVmYEKZFFazcZchesN1YyDu+WndOx\n" + + "+rTcuke2feOvQ4EnVviM0k85JZNiqPDH2iafAWyqZFUYTnb7XK3HhJflAniv/SLq\n" + + "DQfbJmtQtNHdJYgVmC1u2RT9gbJDIAj0ZI4vU2WVB5Hmd9F31un6jundEuG4+S4=\n" + "-----END CERTIFICATE-----"; - // Owner: CN=revoked.sca2a.amazontrust.com - // Issuer: CN=Amazon, OU=Server CA 2A, O=Amazon, C=US - // Serial number: 75a5df2d3387cfe5fd4cad9ff00f8c882b98d - // Valid from: Fri Dec 17 12:28:31 PST 2021 until: Tue Jan 17 12:28:31 PST 2023 + // Owner: CN=revoked.rootca2.demo.amazontrust.com + // Issuer: CN=Amazon RSA 4096 M02, O=Amazon, C=US + // Serial number: 788baa8f47bc5b1c624424216240fd3 + // Valid from: Tue May 09 17:00:00 PDT 2023 until: Fri Jun 07 16:59:59 PDT 2024 private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n" + - "MIIGJjCCBA6gAwIBAgITB1pd8tM4fP5f1MrZ/wD4yIK5jTANBgkqhkiG9w0BAQwF\n" + - "ADBGMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2\n" + - "ZXIgQ0EgMkExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDI4MzFaFw0yMzAx\n" + - "MTcyMDI4MzFaMCgxJjAkBgNVBAMTHXJldm9rZWQuc2NhMmEuYW1hem9udHJ1c3Qu\n" + - "Y29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAu/9+ky4Z5U24pBYd\n" + - "6xyb1BGQHTXS5nW8QjLWx+xaunRitgIBB8ZZ8OzUmH2mp2S/9Vq1nqii9TvuzA9K\n" + - "JJQZLK8K+OJX/ZwFdSxTgLcyeJ9cCswj/C3SBA1NopZ3DmEWeXlh7aZhl8IXB6kp\n" + - "zI87Tg72F2JJokWNPYdx7xXhf/WVeDeNRkz1iE5UTwL+qaNuzT7S8BdnFWqa3l4a\n" + - "Q1J/YVww0XRhsYJulNVGhoKNf71q8KWw8hJ/zgMxrBFywu7d3OBw6NX3bowZ+jMQ\n" + - "apJEWiwUYOjH3XcOO6TiChwQMypBrcbGgrD/msTlvIBinHwpWaAgX0kT80+wH1Bq\n" + - "mw72fEjeE/Y6EL6WIUr1HQdLhvBDxtPgxnAaxptmg126cF4jV/e+D+IGf6qpN1gR\n" + - "JQC/0+AnASAJ0cGKjSODbl5miqtc0kFSReMsOJeT7gdoPCMg4gWyo62GSvdaAA0I\n" + - "DA8a0HWLAzXU7SwbytTUTYeVI8QeNm2ZGKvMoHDWSDz69V6gGmNl/YSvyJ2zPOZL\n" + - "8oRKRUCOA2LPdK0s7nebe0EBXF09FzzE4HdegRe7r86t6FE400W4wxwJjvjdHXcF\n" + - "s9fI+mgofMvVuK2u3wTdHOrEbfm1GXmj3BlFBORUI11A7K0lmIA02M2jkAN13foe\n" + - "rFLYg+28UjT4aN62zkynKD1iNwkCAwEAAaOCASkwggElMA4GA1UdDwEB/wQEAwIF\n" + - "oDAdBgNVHQ4EFgQUOzuuTB9A8p71qwA3qxqOABf69nkwHwYDVR0jBBgwFoAU2kNK\n" + - "0PwBwEu/WCeMds0KgfOULvQwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC\n" + - "MHUGCCsGAQUFBwEBBGkwZzAtBggrBgEFBQcwAYYhaHR0cDovL29jc3Auc2NhMmEu\n" + - "YW1hem9udHJ1c3QuY29tMDYGCCsGAQUFBzAChipodHRwOi8vY3J0LnNjYTJhLmFt\n" + - "YXpvbnRydXN0LmNvbS9zY2EyYS5jZXIwKAYDVR0RBCEwH4IdcmV2b2tlZC5zY2Ey\n" + - "YS5hbWF6b250cnVzdC5jb20wEwYDVR0gBAwwCjAIBgZngQwBAgEwDQYJKoZIhvcN\n" + - "AQEMBQADggIBALAPC6I/k/WqJ8dxt7yhhSKA5RyGjd16kh+zq57Cjy0Wmj3BtSFJ\n" + - "l0652ULeHZDjhtEAEMFlWdxuuUJ82UhzPzujeVv5e8CLROYWp52Jb9CFPTwF54ow\n" + - "0a6recetYvOHBTeQ0cmo3nY6Z8eHDRUdk/aGQku1cesntFOIWm+EDj7SDYnUm3Ub\n" + - "ECdMv8entU5yjo/herVNMT6GGnKfjRxM0FWJWoHKKC/EPIka34VN6LOZO4Ftl9wI\n" + - "Ms7w3EgweEqLOyaGSAFwzrcQwKkPBm8fW5CefDtB64CtC8NUuo+XOQ2/JlRnWGLk\n" + - "CHxesJBUNk5c/IBDPLmyrKCLbGUqwsehQGQdSrLIH0857pTJi30D+/KDvgQynaay\n" + - "zPWLrSJvXUOQ9Vir+RQtbiMOqUDXX15Vty2mxLqjos1zCAxgrorZ7H2OSBZIWYzE\n" + - "8UgF1/vOlAtMjYyLLgb2UyqAY2HybKjtYYAyV/oIPjVRXygaOGkDZseqqXuslq5I\n" + - "ZSDU5hF6Hy6D6gsCVdshswwuRg39248M79qsMDw0Xa7xGcwqdfwTHv4Rb3G/kTrA\n" + - "8iR2YP/RdABKkTkUKRXs0kYPFoJ0wQPDD5slkLjdZNeezoNrw1rWEEUh1iildiRA\n" + - "i1p+pwXSyZ+m5Gv0/W84DDhLmAdvFov5muga8UccNbHuObtt1vHIhHe1\n" + + "MIIIEjCCBfqgAwIBAgIQB4i6qPR7xbHGJEJCFiQP0zANBgkqhkiG9w0BAQwFADA8\n" + + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRwwGgYDVQQDExNBbWF6b24g\n" + + "UlNBIDQwOTYgTTAyMB4XDTIzMDUxMDAwMDAwMFoXDTI0MDYwNzIzNTk1OVowLzEt\n" + + "MCsGA1UEAxMkcmV2b2tlZC5yb290Y2EyLmRlbW8uYW1hem9udHJ1c3QuY29tMIIC\n" + + "IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzJfddWdrWhA9dSJdmy23veN9\n" + + "oLvSqpM4YaXGZmPtKUmbFMLs2I3vCKrzflRKeOpl3MCc2hh6TH/3z+Q/fGugXLsY\n" + + "H8QcjSbiIOd15n+3dUFTLKaoWMyseMcWiOIVaN5rCDVXiAHdt1pc147wyFQIzqNK\n" + + "J/xiV1u9eT2MFue+4bd7kUNAcmI8M+SXruhto4jtAV8ugpTEChTDlyO/l8xmaM1Q\n" + + "HkijsHX7Aq72Q/3PH/U+wbJ9pmpTp4x2AEJoo45IGfB/NKDTrv5otLBuiP8Y0M7b\n" + + "K7irRPDFBqMNZw7S7p39SnC+V/WibJQk5Bo/8vcwDJX+WnDkw1QD/uXu3ugDzSDD\n" + + "iBDViMOdN+3K47s4x2kdssoh4WWScMlAVb4vyN7IA3J4TnwA/1uCWhw4LE1WvY7N\n" + + "etekhVP1eWF8IzNY0oo2u2ie79777xvBtmtp7RnvYLGv7I+xVhjH5qGNzn9fRCUm\n" + + "QDego5HAfJ0PLlMEagdW8asCak1WaC117adnibL6WPtFA2FD2i6gNalTvhXhK2Ex\n" + + "alGxrVd/BCseT3bMp783jqScJO1g6xRHu0Qx+RyrOGVvcKZa6Y0DcAc8psRpkHaO\n" + + "HZY+lE8O2CIxpAJlwSnD6BoDNo8sg1IqFNkECw3wqfeMPBcg38k6zjAxwRDcIx6U\n" + + "SwDl4d3sjrmy3gOFFXMCAwEAAaOCAxswggMXMB8GA1UdIwQYMBaAFJ5xHxodk6nZ\n" + + "LY7MSFM/A1TznuZmMB0GA1UdDgQWBBQXpWT7gMHO+HKoHM1gU1VQVnylRzBOBgNV\n" + + "HREERzBFgiRyZXZva2VkLnJvb3RjYTIuZGVtby5hbWF6b250cnVzdC5jb22CHXJl\n" + + "dm9rZWQuc2NhMmEuYW1hem9udHJ1c3QuY29tMA4GA1UdDwEB/wQEAwIFoDAdBgNV\n" + + "HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwOwYDVR0fBDQwMjAwoC6gLIYqaHR0\n" + + "cDovL2NybC5yNG0wMi5hbWF6b250cnVzdC5jb20vcjRtMDIuY3JsMBMGA1UdIAQM\n" + + "MAowCAYGZ4EMAQIBMHUGCCsGAQUFBwEBBGkwZzAtBggrBgEFBQcwAYYhaHR0cDov\n" + + "L29jc3AucjRtMDIuYW1hem9udHJ1c3QuY29tMDYGCCsGAQUFBzAChipodHRwOi8v\n" + + "Y3J0LnI0bTAyLmFtYXpvbnRydXN0LmNvbS9yNG0wMi5jZXIwDAYDVR0TAQH/BAIw\n" + + "ADCCAX0GCisGAQQB1nkCBAIEggFtBIIBaQFnAHYA7s3QZNXbGs7FXLedtM0TojKH\n" + + "Rny87N7DUUhZRnEftZsAAAGIB72CzgAABAMARzBFAiEA2vPYIPfGJeynPaZHq/c0\n" + + "GGvyT6MpvFGMW0s0woLRT28CIEFbZbFSCnKugaqw9QDNi7vYmIF3Gyi3s6G2cCxY\n" + + "4RJXAHYASLDja9qmRzQP5WoC+p0w6xxSActW3SyB2bu/qznYhHMAAAGIB72DDgAA\n" + + "BAMARzBFAiAvfNcgtFEwk5C9dvMUYANbIAv0IOdF1new8Umn3cM+JwIhALbs/3L9\n" + + "0ndF7sRKDZmfronNruptFlrI528P5Qi2P528AHUA2ra/az+1tiKfm8K7XGvocJFx\n" + + "bLtRhIU0vaQ9MEjX+6sAAAGIB72CxQAABAMARjBEAiBKUns2FPbs0cThb6e7SnyL\n" + + "y4/qP3V1Q/ASt/ZDRTeEQQIgWSQO4Gsz32srtqYuTM9AsFd92WA44kJHincdcGVX\n" + + "XbIwDQYJKoZIhvcNAQEMBQADggIBAAnaNbn2wXylTCS7dtgB3rWdUf6hja1UDuvB\n" + + "uZEL2dUOvyXfVFLNxKdeWBPzqpwEBNNwPQXhoI97TXlyu2x60jLzQamoGoRQ3s0P\n" + + "NLhasLGEIQH/oYdMV/yp8EI8fUuRVE3xyw39FRqOrmsUFAnxNQmBO/09JM7sLcvS\n" + + "wwh14p9dFTTolJHgnL4ZEtmZxSddFG+GBSTJ/A7dVSmwIudwzd+goA6173BI6yeT\n" + + "hhQumLctQiOM7y1MzFeV8rL+oIpd2xuzyhKKT1EgvU6/wyt0Ib8QqsFsrXPnUOKk\n" + + "HAq3SeZyq35QUaTKoaH9L1iZMbSCG9Jm6FMb12SdAz53653tYvAiUS76oD8Jot13\n" + + "RZu5NUlWAVLLq0OaEtuGp0bh+cVtzVnCC9m1qa46YpY0SojpvSbakgQMMGIgDlT3\n" + + "wFE7tST4WlsDC1f/m+H9V5qz/j0U8D3eNNdowxPqx/JZq/sk9ZK5KyMFARrvM+fh\n" + + "YrVYjKt91mu7JaS4pPOyZmJ8OQ14EvrN7BXc7IkNrI1reeaRFe49k5DAETB8VmP5\n" + + "2F0SWou2KkgtJvU4Z7YjlZ2HNHnpjTK5KdPNpRSt7EUy2zn9NCNoyQhnws70FyXv\n" + + "oPFyG92lnUQOKaAUhVRwTr9fvnkdMOzSKg/spxi2Ogdzym5Jw68eguwi0dVqX2+9\n" + + "3zViP2aH\n" + "-----END CERTIFICATE-----"; - public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) throws Exception { - // EE certificates don't have CRLDP extension - if (!ocspEnabled){ - pathValidator.validate(new String[]{INT}, - ValidatePathWithParams.Status.GOOD, null, System.out); - - return; - } + public void runTest(ValidatePathWithParams pathValidator) throws Exception { // Validate valid pathValidator.validate(new String[]{VALID, INT}, @@ -319,175 +378,228 @@ public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) t // Validate Revoked pathValidator.validate(new String[]{REVOKED, INT}, ValidatePathWithParams.Status.REVOKED, - "Fri Dec 17 12:29:36 PST 2021", System.out); + "Mon May 15 13:38:54 PDT 2023", System.out); } } class AmazonCA_3 { - // Owner: CN=Amazon, OU=Server CA 3A, O=Amazon, C=US + // Owner: CN=Amazon ECDSA 256 M02, O=Amazon, C=US // Issuer: CN=Amazon Root CA 3, O=Amazon, C=US - // Serial number: 67f945758fe55b9ee3f75831d47f07d226c8a - // Valid from: Wed Oct 21 17:00:00 PDT 2015 until: Sat Oct 18 17:00:00 PDT 2025 - private static final String INT = "-----BEGIN CERTIFICATE-----\n" + - "MIICuzCCAmGgAwIBAgITBn+UV1j+VbnuP3WDHUfwfSJsijAKBggqhkjOPQQDAjA5\n" + + // Serial number: 773126de2c2fafd2c47ad88b1566e0182046d + // Valid from: Tue Aug 23 15:33:24 PDT 2022 until: Fri Aug 23 15:33:24 PDT 2030 + private static final String INT_VALID = "-----BEGIN CERTIFICATE-----\n" + + "MIIC1DCCAnmgAwIBAgITB3MSbeLC+v0sR62IsVZuAYIEbTAKBggqhkjOPQQDAjA5\n" + + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g\n" + + "Um9vdCBDQSAzMB4XDTIyMDgyMzIyMzMyNFoXDTMwMDgyMzIyMzMyNFowPTELMAkG\n" + + "A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEdMBsGA1UEAxMUQW1hem9uIEVDRFNB\n" + + "IDI1NiBNMDIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS9vQLD4W/Kg4AnFRl8\n" + + "x/FUbLqtd5ICYjUijGsytF9hmgb/Dyk+Ebt4cw6rAlGbaiOLapSJKZiZr+UQdh3I\n" + + "QOr+o4IBWjCCAVYwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYw\n" + + "HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBS7eJrXaDMy\n" + + "nRq7bP2xNEwB3svQdTAfBgNVHSMEGDAWgBSrttvXBp43rDCGB5Fwx5zEGbF4wDB7\n" + + "BggrBgEFBQcBAQRvMG0wLwYIKwYBBQUHMAGGI2h0dHA6Ly9vY3NwLnJvb3RjYTMu\n" + + "YW1hem9udHJ1c3QuY29tMDoGCCsGAQUFBzAChi5odHRwOi8vY3J0LnJvb3RjYTMu\n" + + "YW1hem9udHJ1c3QuY29tL3Jvb3RjYTMuY2VyMD8GA1UdHwQ4MDYwNKAyoDCGLmh0\n" + + "dHA6Ly9jcmwucm9vdGNhMy5hbWF6b250cnVzdC5jb20vcm9vdGNhMy5jcmwwEwYD\n" + + "VR0gBAwwCjAIBgZngQwBAgEwCgYIKoZIzj0EAwIDSQAwRgIhAKSYEcDcp3kcPMzh\n" + + "OIYDWZOLu4InPod4fQhRTmc2zBAgAiEAmwdGE4AuNWhw9N8REhf82rJLNm7h9Myg\n" + + "TsR9Wu0bQYU=\n" + + "-----END CERTIFICATE-----"; + + // Owner: CN=Amazon ECDSA 256 M01, O=Amazon, C=US + // Issuer: CN=Amazon Root CA 3, O=Amazon, C=US + // Serial number: 773126684d577c0fcf8d3a342bea86f94fc8f + // Valid from: Tue Aug 23 15:31:46 PDT 2022 until: Fri Aug 23 15:31:46 PDT 2030 + private static final String INT_REVOKED = "-----BEGIN CERTIFICATE-----\n" + + "MIIC0zCCAnmgAwIBAgITB3MSZoTVd8D8+NOjQr6ob5T8jzAKBggqhkjOPQQDAjA5\n" + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g\n" + - "Um9vdCBDQSAzMB4XDTE1MTAyMjAwMDAwMFoXDTI1MTAxOTAwMDAwMFowRjELMAkG\n" + - "A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEVMBMGA1UECxMMU2VydmVyIENBIDNB\n" + - "MQ8wDQYDVQQDEwZBbWF6b24wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATYcYsK\n" + - "mYdR0Gj8Xz45E/lfcTTnXhg2EtAIYBIHyXv/ZQyyyCas1aptX/I5T1coT6XK181g\n" + - "nB8hADuKfWlNoIYRo4IBOTCCATUwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8B\n" + - "Af8EBAMCAYYwHQYDVR0OBBYEFATc4JXl6LlrlKHvjFsxHhN+VZfaMB8GA1UdIwQY\n" + - "MBaAFKu229cGnjesMIYHkXDHnMQZsXjAMHsGCCsGAQUFBwEBBG8wbTAvBggrBgEF\n" + - "BQcwAYYjaHR0cDovL29jc3Aucm9vdGNhMy5hbWF6b250cnVzdC5jb20wOgYIKwYB\n" + - "BQUHMAKGLmh0dHA6Ly9jcnQucm9vdGNhMy5hbWF6b250cnVzdC5jb20vcm9vdGNh\n" + - "My5jZXIwPwYDVR0fBDgwNjA0oDKgMIYuaHR0cDovL2NybC5yb290Y2EzLmFtYXpv\n" + - "bnRydXN0LmNvbS9yb290Y2EzLmNybDARBgNVHSAECjAIMAYGBFUdIAAwCgYIKoZI\n" + - "zj0EAwIDSAAwRQIgOl/vux0qfxNm05W3eofa9lKwz6oKvdu6g6Sc0UlwgRcCIQCS\n" + - "WSQ6F6JHLoeOWLyFFF658eNKEKbkEGMHz34gLX/N3g==\n" + + "Um9vdCBDQSAzMB4XDTIyMDgyMzIyMzE0NloXDTMwMDgyMzIyMzE0NlowPTELMAkG\n" + + "A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEdMBsGA1UEAxMUQW1hem9uIEVDRFNB\n" + + "IDI1NiBNMDEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT80w+2RwNHzyXmVUM/\n" + + "OUKBZpJkTzHyCKDl4sBrUfjzVjot/lNba9kYzMKSHYv95CUDoMaF2h2KAqx65uLQ\n" + + "Y8ago4IBWjCCAVYwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYw\n" + + "HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMB0GA1UdDgQWBBRPWfy8BhYo\n" + + "v6LI2wj7zxMkumlCXDAfBgNVHSMEGDAWgBSrttvXBp43rDCGB5Fwx5zEGbF4wDB7\n" + + "BggrBgEFBQcBAQRvMG0wLwYIKwYBBQUHMAGGI2h0dHA6Ly9vY3NwLnJvb3RjYTMu\n" + + "YW1hem9udHJ1c3QuY29tMDoGCCsGAQUFBzAChi5odHRwOi8vY3J0LnJvb3RjYTMu\n" + + "YW1hem9udHJ1c3QuY29tL3Jvb3RjYTMuY2VyMD8GA1UdHwQ4MDYwNKAyoDCGLmh0\n" + + "dHA6Ly9jcmwucm9vdGNhMy5hbWF6b250cnVzdC5jb20vcm9vdGNhMy5jcmwwEwYD\n" + + "VR0gBAwwCjAIBgZngQwBAgEwCgYIKoZIzj0EAwIDSAAwRQIhALRfxq3SQIhj5xA4\n" + + "S5UAY/KlKqayZDpnbBdCDH8Kqmf/AiAUVZddALefnqRe+ifxN2FUp461LL6/cgVM\n" + + "EH3Ty27f1Q==\n" + "-----END CERTIFICATE-----"; - // Owner: CN=good.sca3a.amazontrust.com - // Issuer: CN=Amazon, OU=Server CA 3A, O=Amazon, C=US - // Serial number: 75a5dd9ec12f37f4bbed4bada4b75164a642f - // Valid from: Fri Dec 17 12:23:00 PST 2021 until: Tue Jan 17 12:23:00 PST 2023 + // Owner: CN=valid.rootca3.demo.amazontrust.com + // Issuer: CN=Amazon ECDSA 256 M02, O=Amazon, C=US + // Serial number: 8e2f14864fb28e4a1da0f15a5118cc8 + // Valid from: Tue May 09 17:00:00 PDT 2023 until: Fri Jun 07 16:59:59 PDT 2024 private static final String VALID = "-----BEGIN CERTIFICATE-----\n" + - "MIIClDCCAjqgAwIBAgITB1pd2ewS839LvtS62kt1FkpkLzAKBggqhkjOPQQDAjBG\n" + - "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2ZXIg\n" + - "Q0EgM0ExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDIzMDBaFw0yMzAxMTcy\n" + - "MDIzMDBaMCUxIzAhBgNVBAMTGmdvb2Quc2NhM2EuYW1hem9udHJ1c3QuY29tMFkw\n" + - "EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE275wkVMovF+U/fRduMcuthD8AYpYTUgc\n" + - "qoEHEccF6eZYzoGlufHJCwtLHXk9qXeXtjZV8N90ksYahFV+oGFcpaOCASYwggEi\n" + - "MA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUS8gTB11XA49gH4IGAD6p3UilrIMw\n" + - "HwYDVR0jBBgwFoAUBNzgleXouWuUoe+MWzEeE35Vl9owHQYDVR0lBBYwFAYIKwYB\n" + - "BQUHAwEGCCsGAQUFBwMCMHUGCCsGAQUFBwEBBGkwZzAtBggrBgEFBQcwAYYhaHR0\n" + - "cDovL29jc3Auc2NhM2EuYW1hem9udHJ1c3QuY29tMDYGCCsGAQUFBzAChipodHRw\n" + - "Oi8vY3J0LnNjYTNhLmFtYXpvbnRydXN0LmNvbS9zY2EzYS5jZXIwJQYDVR0RBB4w\n" + - "HIIaZ29vZC5zY2EzYS5hbWF6b250cnVzdC5jb20wEwYDVR0gBAwwCjAIBgZngQwB\n" + - "AgEwCgYIKoZIzj0EAwIDSAAwRQIgRRteTEwQoqw95mKff0ydDMD1+YQbcN6QLw/a\n" + - "NwDti9ICIQDYMNw6u0d5gaZZo/zizl1JRVAuSxoO5lNOrleaEOkImA==\n" + + "MIIEfjCCBCWgAwIBAgIQCOLxSGT7KOSh2g8VpRGMyDAKBggqhkjOPQQDAjA9MQsw\n" + + "CQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMR0wGwYDVQQDExRBbWF6b24gRUNE\n" + + "U0EgMjU2IE0wMjAeFw0yMzA1MTAwMDAwMDBaFw0yNDA2MDcyMzU5NTlaMC0xKzAp\n" + + "BgNVBAMTInZhbGlkLnJvb3RjYTMuZGVtby5hbWF6b250cnVzdC5jb20wWTATBgcq\n" + + "hkjOPQIBBggqhkjOPQMBBwNCAAQfWc7gBGBBBmseCb2XWWRQVhCUQDVml3mVgvj5\n" + + "RmnP1y5wpifUTFqu8ELdI7YGZ4JMSnetiKNmLtg5yhTEjzCQo4IDFTCCAxEwHwYD\n" + + "VR0jBBgwFoAUu3ia12gzMp0au2z9sTRMAd7L0HUwHQYDVR0OBBYEFHCE8orvZDUK\n" + + "5TI9MYadzxWR9CZGMEkGA1UdEQRCMECCInZhbGlkLnJvb3RjYTMuZGVtby5hbWF6\n" + + "b250cnVzdC5jb22CGmdvb2Quc2NhM2EuYW1hem9udHJ1c3QuY29tMA4GA1UdDwEB\n" + + "/wQEAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwOwYDVR0fBDQw\n" + + "MjAwoC6gLIYqaHR0cDovL2NybC5lMm0wMi5hbWF6b250cnVzdC5jb20vZTJtMDIu\n" + + "Y3JsMBMGA1UdIAQMMAowCAYGZ4EMAQIBMHUGCCsGAQUFBwEBBGkwZzAtBggrBgEF\n" + + "BQcwAYYhaHR0cDovL29jc3AuZTJtMDIuYW1hem9udHJ1c3QuY29tMDYGCCsGAQUF\n" + + "BzAChipodHRwOi8vY3J0LmUybTAyLmFtYXpvbnRydXN0LmNvbS9lMm0wMi5jZXIw\n" + + "DAYDVR0TAQH/BAIwADCCAXwGCisGAQQB1nkCBAIEggFsBIIBaAFmAHUA7s3QZNXb\n" + + "Gs7FXLedtM0TojKHRny87N7DUUhZRnEftZsAAAGIB71y/gAABAMARjBEAiAEAXIb\n" + + "aOVR26HgFaI+qoIasCb8w2sOqVxGAxf5iPgX6QIgdAlMjqeoihi1arnJpzN8Bqxy\n" + + "5ULMUO7GK3JEgcogJHMAdgBIsONr2qZHNA/lagL6nTDrHFIBy1bdLIHZu7+rOdiE\n" + + "cwAAAYgHvXLkAAAEAwBHMEUCIF7wDDmWxTHwBZM7Me8eOCM1aQ/g1c1rJg/I+NJa\n" + + "HkZYAiEA8p+IviuY5piHBELjUtVlZLiS9XSSMxpQNhUerqC/YFoAdQDatr9rP7W2\n" + + "Ip+bwrtca+hwkXFsu1GEhTS9pD0wSNf7qwAAAYgHvXKvAAAEAwBGMEQCIFLskZDs\n" + + "UG4+/88D/5/QbD9zT6ZmZlwXiPZ6H2YR/KiJAiBvi4vvNsb9KNAhJMgI2T2iCg9U\n" + + "CIru+US6y3ua7dKKDTAKBggqhkjOPQQDAgNHADBEAiAzvgzKV/kvBbKWCT1NNUBD\n" + + "AF9okIEcJx/ukFgzmYMwUQIgXeJeVf3izkxsgiEUSknwHsErLFs/cEme2PSRj2AW\n" + + "dYA=\n" + "-----END CERTIFICATE-----"; - // Owner: CN=revoked.sca3a.amazontrust.com - // Issuer: CN=Amazon, OU=Server CA 3A, O=Amazon, C=US - // Serial number: 75a5df9c88c0613777baba663000de147a26b - // Valid from: Fri Dec 17 12:30:04 PST 2021 until: Tue Jan 17 12:30:04 PST 2023 + // Owner: CN=revoked.rootca3.demo.amazontrust.com + // Issuer: CN=Amazon ECDSA 256 M01, O=Amazon, C=US + // Serial number: c458bfaeedae16a5e61fe64773fc898 + // Valid from: Tue May 09 17:00:00 PDT 2023 until: Fri Jun 07 16:59:59 PDT 2024 private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n" + - "MIICmzCCAkCgAwIBAgITB1pd+ciMBhN3e6umYwAN4UeiazAKBggqhkjOPQQDAjBG\n" + - "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2ZXIg\n" + - "Q0EgM0ExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDMwMDRaFw0yMzAxMTcy\n" + - "MDMwMDRaMCgxJjAkBgNVBAMTHXJldm9rZWQuc2NhM2EuYW1hem9udHJ1c3QuY29t\n" + - "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEbppBP3Dj0qoRHMB9VMTXhw2Fg8ef\n" + - "o32r/Mu3IzT8T6kWCk3UqVDL3UIn3qVZLCW1nJfVc1d1EeSDvyjCL3u3f6OCASkw\n" + - "ggElMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUv8lJ3W7O74zVj+0zhD4+rrqZ\n" + - "yvMwHwYDVR0jBBgwFoAUBNzgleXouWuUoe+MWzEeE35Vl9owHQYDVR0lBBYwFAYI\n" + - "KwYBBQUHAwEGCCsGAQUFBwMCMHUGCCsGAQUFBwEBBGkwZzAtBggrBgEFBQcwAYYh\n" + - "aHR0cDovL29jc3Auc2NhM2EuYW1hem9udHJ1c3QuY29tMDYGCCsGAQUFBzAChipo\n" + - "dHRwOi8vY3J0LnNjYTNhLmFtYXpvbnRydXN0LmNvbS9zY2EzYS5jZXIwKAYDVR0R\n" + - "BCEwH4IdcmV2b2tlZC5zY2EzYS5hbWF6b250cnVzdC5jb20wEwYDVR0gBAwwCjAI\n" + - "BgZngQwBAgEwCgYIKoZIzj0EAwIDSQAwRgIhAKrA0fOK4NKDKHTY8ESeVW3D/7NH\n" + - "tbNdfcIXolAoFfmFAiEAylAsKdND8c4w69jlFTId0X8F/mrXzKfLFCQ+b/7jTto=\n" + + "MIIEhzCCBC2gAwIBAgIQDEWL+u7a4WpeYf5kdz/ImDAKBggqhkjOPQQDAjA9MQsw\n" + + "CQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMR0wGwYDVQQDExRBbWF6b24gRUNE\n" + + "U0EgMjU2IE0wMTAeFw0yMzA1MTAwMDAwMDBaFw0yNDA2MDcyMzU5NTlaMC8xLTAr\n" + + "BgNVBAMTJHJldm9rZWQucm9vdGNhMy5kZW1vLmFtYXpvbnRydXN0LmNvbTBZMBMG\n" + + "ByqGSM49AgEGCCqGSM49AwEHA0IABAsSs5kW5TZlS0SDrMb9iUQAqEaKa12Fc6SN\n" + + "9UR6qtOFdW/1UuziDq3Hl5dqsAYZJkbJSPCIsD2HTP/EGTMKITCjggMbMIIDFzAf\n" + + "BgNVHSMEGDAWgBRPWfy8BhYov6LI2wj7zxMkumlCXDAdBgNVHQ4EFgQUeE55ET2e\n" + + "i8KbY7KHTxOuvCkRpTowTgYDVR0RBEcwRYIkcmV2b2tlZC5yb290Y2EzLmRlbW8u\n" + + "YW1hem9udHJ1c3QuY29tgh1yZXZva2VkLnNjYTNhLmFtYXpvbnRydXN0LmNvbTAO\n" + + "BgNVHQ8BAf8EBAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMDsG\n" + + "A1UdHwQ0MDIwMKAuoCyGKmh0dHA6Ly9jcmwuZTJtMDEuYW1hem9udHJ1c3QuY29t\n" + + "L2UybTAxLmNybDATBgNVHSAEDDAKMAgGBmeBDAECATB1BggrBgEFBQcBAQRpMGcw\n" + + "LQYIKwYBBQUHMAGGIWh0dHA6Ly9vY3NwLmUybTAxLmFtYXpvbnRydXN0LmNvbTA2\n" + + "BggrBgEFBQcwAoYqaHR0cDovL2NydC5lMm0wMS5hbWF6b250cnVzdC5jb20vZTJt\n" + + "MDEuY2VyMAwGA1UdEwEB/wQCMAAwggF9BgorBgEEAdZ5AgQCBIIBbQSCAWkBZwB2\n" + + "AHb/iD8KtvuVUcJhzPWHujS0pM27KdxoQgqf5mdMWjp0AAABiAe9lQ8AAAQDAEcw\n" + + "RQIgZVFAX5WPZRBpEOqk620v4Rbzxh/3wrJ5QBMBJ0Mb8B0CIQC0oxFVLfs+PAv7\n" + + "25wawOu2VgDXG9lJAJtCwk3gN8BshQB2AEiw42vapkc0D+VqAvqdMOscUgHLVt0s\n" + + "gdm7v6s52IRzAAABiAe9lQ4AAAQDAEcwRQIhAIPVMj6IfjAUKeGYbpG9s0DRdWbc\n" + + "b8OzsOf+kRqk03NMAiB777hfoFCUMPrN0g8o5v6zp3T3qOhRnYY0TZN4q4NnMgB1\n" + + "ANq2v2s/tbYin5vCu1xr6HCRcWy7UYSFNL2kPTBI1/urAAABiAe9lN4AAAQDAEYw\n" + + "RAIgL0qoVbKLFD+Y3f/V6Rw+euZrPO6d1HEVPQGo7wLzkl8CIGHp3PQmmrEofl76\n" + + "4da7bY0L+csFW0sB8clN0KziMfe6MAoGCCqGSM49BAMCA0gAMEUCIQC+6VdX9X5g\n" + + "x3NSUmJ7py01Zxf26TNBv1ildxqesvZ/7wIgIrefriRzPiIFDHCUbdjk0VlmMwZR\n" + + "VzXXHINsGCiCKOs=\n" + "-----END CERTIFICATE-----"; - public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) throws Exception { - // EE certificates don't have CRLDP extension - if (!ocspEnabled){ - pathValidator.validate(new String[]{INT}, - ValidatePathWithParams.Status.GOOD, null, System.out); - - return; - } + public void runTest(ValidatePathWithParams pathValidator) throws Exception { // Validate valid - pathValidator.validate(new String[]{VALID, INT}, + pathValidator.validate(new String[]{VALID, INT_VALID}, ValidatePathWithParams.Status.GOOD, null, System.out); // Validate Revoked - pathValidator.validate(new String[]{REVOKED, INT}, + pathValidator.validate(new String[]{REVOKED, INT_REVOKED}, ValidatePathWithParams.Status.REVOKED, - "Fri Dec 17 12:30:37 PST 2021", System.out); + "Mon May 15 13:41:22 PDT 2023", System.out); } } class AmazonCA_4 { - // Owner: CN=Amazon, OU=Server CA 4A, O=Amazon, C=US + // Owner: CN=Amazon ECDSA 384 M02, O=Amazon, C=US // Issuer: CN=Amazon Root CA 4, O=Amazon, C=US - // Serial number: 67f94575a8862a9072e3239c37ceba1274e18 - // Valid from: Wed Oct 21 17:00:00 PDT 2015 until: Sat Oct 18 17:00:00 PDT 2025 + // Serial number: 773127dfaa6b9e2b95538aa76dde4307f17c4 + // Valid from: Tue Aug 23 15:36:58 PDT 2022 until: Fri Aug 23 15:36:58 PDT 2030 private static final String INT = "-----BEGIN CERTIFICATE-----\n" + - "MIIC+TCCAn6gAwIBAgITBn+UV1qIYqkHLjI5w3zroSdOGDAKBggqhkjOPQQDAzA5\n" + + "MIIDETCCApagAwIBAgITB3MSffqmueK5VTiqdt3kMH8XxDAKBggqhkjOPQQDAzA5\n" + "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g\n" + - "Um9vdCBDQSA0MB4XDTE1MTAyMjAwMDAwMFoXDTI1MTAxOTAwMDAwMFowRjELMAkG\n" + - "A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEVMBMGA1UECxMMU2VydmVyIENBIDRB\n" + - "MQ8wDQYDVQQDEwZBbWF6b24wdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASRP0kIW0Ha\n" + - "7+ORvEVhIS5gIgkH66X5W9vBRTX14oG/1elIyI6LbFZ+E5KAufL0XoWJGI1WbPRm\n" + - "HW246FKSzF0wOEZZyxEROz6tuaVsnXRHRE76roS/Wr064uJpKH+Lv+SjggE5MIIB\n" + - "NTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQU\n" + - "pSHN2+tTIZmqytlnQpQlsnv0wuMwHwYDVR0jBBgwFoAU0+zHOmVuzOHadppW+5zz\n" + - "hm1X5YEwewYIKwYBBQUHAQEEbzBtMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5y\n" + - "b290Y2E0LmFtYXpvbnRydXN0LmNvbTA6BggrBgEFBQcwAoYuaHR0cDovL2NydC5y\n" + - "b290Y2E0LmFtYXpvbnRydXN0LmNvbS9yb290Y2E0LmNlcjA/BgNVHR8EODA2MDSg\n" + - "MqAwhi5odHRwOi8vY3JsLnJvb3RjYTQuYW1hem9udHJ1c3QuY29tL3Jvb3RjYTQu\n" + - "Y3JsMBEGA1UdIAQKMAgwBgYEVR0gADAKBggqhkjOPQQDAwNpADBmAjEA59RAOBaj\n" + - "uh0rT/OOTWPEv6TBnb9XEadburBaXb8SSrR8il+NdkfS9WXRAzbwrG7LAjEA3ukD\n" + - "1HrQq+WXHBM5sIuViJI/Zh7MOjsc159Q+dn36PBqLRq03AXqE/lRjnv8C5nj\n" + + "Um9vdCBDQSA0MB4XDTIyMDgyMzIyMzY1OFoXDTMwMDgyMzIyMzY1OFowPTELMAkG\n" + + "A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEdMBsGA1UEAxMUQW1hem9uIEVDRFNB\n" + + "IDM4NCBNMDIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATNYzWQDXV0NoNmR0hJPwJq\n" + + "hjYOOS9z0B2Z7MQudxg5x3Vsib6N+tJkq8dljRq5o6K0bbh/kRVfoi9wfKhB03Yz\n" + + "gkerrwRCH7Z9gU5nbBY+Y5+EtImq4yOB0n7JQgQxWemjggFaMIIBVjASBgNVHRMB\n" + + "Af8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcD\n" + + "AQYIKwYBBQUHAwIwHQYDVR0OBBYEFKbZqzuHmTP/6Gj4i2GDbNCyuq+9MB8GA1Ud\n" + + "IwQYMBaAFNPsxzplbszh2naaVvuc84ZtV+WBMHsGCCsGAQUFBwEBBG8wbTAvBggr\n" + + "BgEFBQcwAYYjaHR0cDovL29jc3Aucm9vdGNhNC5hbWF6b250cnVzdC5jb20wOgYI\n" + + "KwYBBQUHMAKGLmh0dHA6Ly9jcnQucm9vdGNhNC5hbWF6b250cnVzdC5jb20vcm9v\n" + + "dGNhNC5jZXIwPwYDVR0fBDgwNjA0oDKgMIYuaHR0cDovL2NybC5yb290Y2E0LmFt\n" + + "YXpvbnRydXN0LmNvbS9yb290Y2E0LmNybDATBgNVHSAEDDAKMAgGBmeBDAECATAK\n" + + "BggqhkjOPQQDAwNpADBmAjEA2zCG6x0xMlgSXWEGLN8+1XN+OCYF5vj0Z1jtVy+A\n" + + "pdLlzuxNt9HBWn3hvqvO2W8KAjEApNdsZOCmk5uZBYiuCSBnDH3jyKhN6dWyuuHW\n" + + "9Wj7SxKnOU5+wYWZA0BQAv1KT62i\n" + "-----END CERTIFICATE-----"; - // Owner: CN=good.sca4a.amazontrust.com - // Issuer: CN=Amazon, OU=Server CA 4A, O=Amazon, C=US - // Serial number: 75a5ddc1a4ea5a18110454883269df9409bf5 - // Valid from: Fri Dec 17 12:23:29 PST 2021 until: Tue Jan 17 12:23:29 PST 2023 + // Owner: CN=valid.rootca4.demo.amazontrust.com + // Issuer: CN=Amazon ECDSA 384 M02, O=Amazon, C=US + // Serial number: f579bed3369f1a147ea5d0e8e6532d3 + // Valid from: Tue May 09 17:00:00 PDT 2023 until: Fri Jun 07 16:59:59 PDT 2024 private static final String VALID = "-----BEGIN CERTIFICATE-----\n" + - "MIIC0TCCAlegAwIBAgITB1pd3BpOpaGBEEVIgyad+UCb9TAKBggqhkjOPQQDAzBG\n" + - "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2ZXIg\n" + - "Q0EgNEExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDIzMjlaFw0yMzAxMTcy\n" + - "MDIzMjlaMCUxIzAhBgNVBAMTGmdvb2Quc2NhNGEuYW1hem9udHJ1c3QuY29tMHYw\n" + - "EAYHKoZIzj0CAQYFK4EEACIDYgAE7VpccYyJsD19xB1owlNs9PGkXkjptJZK6eFY\n" + - "q9Tc+CZLaOAhi47uuWsPwyIYB3vEIUXoWWKTvgycHhsmVQDQ2hLYMS+h9tQgnqVN\n" + - "TDYpEnnBa6AUbTKXtJDLG+z+7Kd7o4IBJjCCASIwDgYDVR0PAQH/BAQDAgeAMB0G\n" + - "A1UdDgQWBBRHzxN3jV4vU1PEmHmTqB8YXXoMYDAfBgNVHSMEGDAWgBSlIc3b61Mh\n" + - "marK2WdClCWye/TC4zAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwdQYI\n" + - "KwYBBQUHAQEEaTBnMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5zY2E0YS5hbWF6\n" + - "b250cnVzdC5jb20wNgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQuc2NhNGEuYW1hem9u\n" + - "dHJ1c3QuY29tL3NjYTRhLmNlcjAlBgNVHREEHjAcghpnb29kLnNjYTRhLmFtYXpv\n" + - "bnRydXN0LmNvbTATBgNVHSAEDDAKMAgGBmeBDAECATAKBggqhkjOPQQDAwNoADBl\n" + - "AjEAyHMRGLsUVEufoih22dPfO5LrLpO4/2VzeNBbUvP/mOcwvMrrq1yQjot3CTdm\n" + - "ZwnRAjAj2zmAM5asBZwuEN1pbEFgHdojio0O4oYvUsdMooLOKJsBD7hmgAdhpObO\n" + - "Xv0oNIE=\n" + + "MIIEvjCCBESgAwIBAgIQD1eb7TNp8aFH6l0OjmUy0zAKBggqhkjOPQQDAzA9MQsw\n" + + "CQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMR0wGwYDVQQDExRBbWF6b24gRUNE\n" + + "U0EgMzg0IE0wMjAeFw0yMzA1MTAwMDAwMDBaFw0yNDA2MDcyMzU5NTlaMC0xKzAp\n" + + "BgNVBAMTInZhbGlkLnJvb3RjYTQuZGVtby5hbWF6b250cnVzdC5jb20wdjAQBgcq\n" + + "hkjOPQIBBgUrgQQAIgNiAAT6/95JFuvx5t9MVeRZmBtXq63Q2fXZnSwEy2U2F4Qc\n" + + "ejhDwcYfD2HmT6S6GrKqLNJMa5n2YOvet4LZpKJLFF+BQo6FJt5cXkzHHxZ1I4z3\n" + + "8pGU79CpCgFOFy6QUlF68NajggMXMIIDEzAfBgNVHSMEGDAWgBSm2as7h5kz/+ho\n" + + "+Ithg2zQsrqvvTAdBgNVHQ4EFgQUR/GnpQkrUsCj8jF6/JIE1Rs07zswSQYDVR0R\n" + + "BEIwQIIidmFsaWQucm9vdGNhNC5kZW1vLmFtYXpvbnRydXN0LmNvbYIaZ29vZC5z\n" + + "Y2E0YS5hbWF6b250cnVzdC5jb20wDgYDVR0PAQH/BAQDAgeAMB0GA1UdJQQWMBQG\n" + + "CCsGAQUFBwMBBggrBgEFBQcDAjA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8vY3Js\n" + + "LmUzbTAyLmFtYXpvbnRydXN0LmNvbS9lM20wMi5jcmwwEwYDVR0gBAwwCjAIBgZn\n" + + "gQwBAgEwdQYIKwYBBQUHAQEEaTBnMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5l\n" + + "M20wMi5hbWF6b250cnVzdC5jb20wNgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQuZTNt\n" + + "MDIuYW1hem9udHJ1c3QuY29tL2UzbTAyLmNlcjAMBgNVHRMBAf8EAjAAMIIBfgYK\n" + + "KwYBBAHWeQIEAgSCAW4EggFqAWgAdgDuzdBk1dsazsVct520zROiModGfLzs3sNR\n" + + "SFlGcR+1mwAAAYgHvZA9AAAEAwBHMEUCIQCmzmQOzunsuAg1GpIcNx0isG6ylbhP\n" + + "y9JP4UFclL2hdwIgBtTM89mE7QJDj7h7xr2eRPio1ehgmeYH1PHXxCqHIGYAdgBI\n" + + "sONr2qZHNA/lagL6nTDrHFIBy1bdLIHZu7+rOdiEcwAAAYgHvZB1AAAEAwBHMEUC\n" + + "IF9hbi82CLU5umfRze4NpX6u4jlT+N8KSaBe6UbhqjBZAiEAi2Y6PTt2+107LxtM\n" + + "oBpHprph7hQvGfjPE+p+rfM/X+EAdgDatr9rP7W2Ip+bwrtca+hwkXFsu1GEhTS9\n" + + "pD0wSNf7qwAAAYgHvZBeAAAEAwBHMEUCIAI+m4mVE3HtZOEMC5VI7m0nEPdPPJUq\n" + + "fxUKPpeIVmk5AiEA0scVJy7g3Fv+2nTVhbcwWCwn/Gvc+0txQrc529juflcwCgYI\n" + + "KoZIzj0EAwMDaAAwZQIxAKV837BpqlNHg35EsCCtrJPoQ6RuY9UoHm1O2CdsCXGR\n" + + "Z3kAnlgIV8A/waI6wQqfsQIwdCqaC+qN60JCnX09YKRD15eQjq1rN3w+llI+lEbS\n" + + "FSMsnoHJcqMZLo9s+4Rf0zS3\n" + "-----END CERTIFICATE-----"; - // Owner: CN=revoked.sca4a.amazontrust.com - // Issuer: CN=Amazon, OU=Server CA 4A, O=Amazon, C=US - // Serial number: 75a5e0442d0fed2b11850ed6746a2200bb4af - // Valid from: Fri Dec 17 12:32:23 PST 2021 until: Tue Jan 17 12:32:23 PST 2023 + // Owner: CN=revoked.rootca4.demo.amazontrust.com + // Issuer: CN=Amazon ECDSA 384 M02, O=Amazon, C=US + // Serial number: 4a5d392936b4decb818b7fb106ebbd8 + // Valid from: Tue May 09 17:00:00 PDT 2023 until: Fri Jun 07 16:59:59 PDT 2024 private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n" + - "MIIC1zCCAl2gAwIBAgITB1peBELQ/tKxGFDtZ0aiIAu0rzAKBggqhkjOPQQDAzBG\n" + - "MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRUwEwYDVQQLEwxTZXJ2ZXIg\n" + - "Q0EgNEExDzANBgNVBAMTBkFtYXpvbjAeFw0yMTEyMTcyMDMyMjNaFw0yMzAxMTcy\n" + - "MDMyMjNaMCgxJjAkBgNVBAMTHXJldm9rZWQuc2NhNGEuYW1hem9udHJ1c3QuY29t\n" + - "MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqxQKCDKJYXzA0uR3jyfk/ZRyPAJolRNI\n" + - "xI3+vlQW7SqVs+MziCLFPuU68kf74a5/YFWK/bRdXrVue4IMbM8TKO2FwXIHn/Iw\n" + - "udkJIG+CdqnL4IlH+tFf+l47vRzMS0TQo4IBKTCCASUwDgYDVR0PAQH/BAQDAgeA\n" + - "MB0GA1UdDgQWBBR04rEvUxTzLh0OGHyMgrYanP7lqzAfBgNVHSMEGDAWgBSlIc3b\n" + - "61MhmarK2WdClCWye/TC4zAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw\n" + - "dQYIKwYBBQUHAQEEaTBnMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5zY2E0YS5h\n" + - "bWF6b250cnVzdC5jb20wNgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQuc2NhNGEuYW1h\n" + - "em9udHJ1c3QuY29tL3NjYTRhLmNlcjAoBgNVHREEITAfgh1yZXZva2VkLnNjYTRh\n" + - "LmFtYXpvbnRydXN0LmNvbTATBgNVHSAEDDAKMAgGBmeBDAECATAKBggqhkjOPQQD\n" + - "AwNoADBlAjEAgOyeHMBYmO9rfMgCnV4oOQ5PcjSAgotYwEGqFHA5+TuIPBTcdFar\n" + - "J1j1JY+EirQ3AjAuGMJdyiQfAVi1n5wT1/2nIOIEGtV2/9CrNmhmjIzKrfu+HUUk\n" + - "bduxD7hNhott7NE=\n" + + "MIIExjCCBEygAwIBAgIQBKXTkpNrTey4GLf7EG672DAKBggqhkjOPQQDAzA9MQsw\n" + + "CQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMR0wGwYDVQQDExRBbWF6b24gRUNE\n" + + "U0EgMzg0IE0wMjAeFw0yMzA1MTAwMDAwMDBaFw0yNDA2MDcyMzU5NTlaMC8xLTAr\n" + + "BgNVBAMTJHJldm9rZWQucm9vdGNhNC5kZW1vLmFtYXpvbnRydXN0LmNvbTB2MBAG\n" + + "ByqGSM49AgEGBSuBBAAiA2IABFYfMbv5/vgqDunZj4ffJiuELtdwfEPXx9QlZnCm\n" + + "rBP3Z4/GvUVRVmyh5sYdnbCGCEClH/RxU6BC5SKv+TzhsFLEumhezanljnQXRAIL\n" + + "a1OGbP8zLLP6FuAD0cjY3P3adKOCAx0wggMZMB8GA1UdIwQYMBaAFKbZqzuHmTP/\n" + + "6Gj4i2GDbNCyuq+9MB0GA1UdDgQWBBSqnGV5pN/agPCtVdV37CP1z/DUqjBOBgNV\n" + + "HREERzBFgiRyZXZva2VkLnJvb3RjYTQuZGVtby5hbWF6b250cnVzdC5jb22CHXJl\n" + + "dm9rZWQuc2NhNGEuYW1hem9udHJ1c3QuY29tMA4GA1UdDwEB/wQEAwIHgDAdBgNV\n" + + "HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwOwYDVR0fBDQwMjAwoC6gLIYqaHR0\n" + + "cDovL2NybC5lM20wMi5hbWF6b250cnVzdC5jb20vZTNtMDIuY3JsMBMGA1UdIAQM\n" + + "MAowCAYGZ4EMAQIBMHUGCCsGAQUFBwEBBGkwZzAtBggrBgEFBQcwAYYhaHR0cDov\n" + + "L29jc3AuZTNtMDIuYW1hem9udHJ1c3QuY29tMDYGCCsGAQUFBzAChipodHRwOi8v\n" + + "Y3J0LmUzbTAyLmFtYXpvbnRydXN0LmNvbS9lM20wMi5jZXIwDAYDVR0TAQH/BAIw\n" + + "ADCCAX8GCisGAQQB1nkCBAIEggFvBIIBawFpAHYAdv+IPwq2+5VRwmHM9Ye6NLSk\n" + + "zbsp3GhCCp/mZ0xaOnQAAAGIB72QJQAABAMARzBFAiA74zKrlL+y5rYwSLxBL8fs\n" + + "QYRYXF0s0sGoaSEeAg1DkgIhAPu8Z0TLIFoppmyiv+A5z6S+SG+v/kOsAYmQmiUO\n" + + "5scIAHcASLDja9qmRzQP5WoC+p0w6xxSActW3SyB2bu/qznYhHMAAAGIB72QJgAA\n" + + "BAMASDBGAiEAg+x7JBT3oIaZdnfgGN1G6SAiNUL7zR/tBhbWIG9tz94CIQDGwBiV\n" + + "Tslt11+W3ZaNsS7UtUIiB45YHUc4qKm5ry2fTAB2ANq2v2s/tbYin5vCu1xr6HCR\n" + + "cWy7UYSFNL2kPTBI1/urAAABiAe9kAgAAAQDAEcwRQIgPvKfSpMJKRocGk9+GNr3\n" + + "hUj8x8WySB//0X116TNgA0gCIQDhGRqxnEZmEFGEfj5GY9vjEfm0kKwcL0lCuwBu\n" + + "NZG4dzAKBggqhkjOPQQDAwNoADBlAjEA1PLdsrko3tDs50aAeEU9Gn+0CG8QKy7R\n" + + "fQaXBTjGETDgGJk/7zGNpGelKPr/UYV9AjASwdA32S8jIADxA8HrqiMsVYDFMnbU\n" + + "jLLwR6CTLtAcWtwVmoQ2x0usvTvN8YJBPoA=\n" + "-----END CERTIFICATE-----"; - public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) throws Exception { - // EE certificates don't have CRLDP extension - if (!ocspEnabled){ - pathValidator.validate(new String[]{INT}, - ValidatePathWithParams.Status.GOOD, null, System.out); - - return; - } + public void runTest(ValidatePathWithParams pathValidator) throws Exception { // Validate valid pathValidator.validate(new String[]{VALID, INT}, @@ -496,6 +608,6 @@ public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled) t // Validate Revoked pathValidator.validate(new String[]{REVOKED, INT}, ValidatePathWithParams.Status.REVOKED, - "Fri Dec 17 12:32:59 PST 2021", System.out); + "Mon May 15 13:42:48 PDT 2023", System.out); } } From 50069a8dbccf07fcd412ac394a33be0afc97257e Mon Sep 17 00:00:00 2001 From: Martin Balao Date: Tue, 19 Sep 2023 01:36:16 +0000 Subject: [PATCH 11/27] 8209115: adjust libsplashscreen linux ppc64le builds for easier libpng update Reviewed-by: andrew, phh Backport-of: e4fdd0391733756f5b898371a66b38869d625c77 --- jdk/make/lib/Awt2dLibraries.gmk | 6 ++++++ jdk/src/share/native/sun/awt/libpng/pngpriv.h | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/jdk/make/lib/Awt2dLibraries.gmk b/jdk/make/lib/Awt2dLibraries.gmk index 9368a9d508c..01e0369017f 100644 --- a/jdk/make/lib/Awt2dLibraries.gmk +++ b/jdk/make/lib/Awt2dLibraries.gmk @@ -1159,6 +1159,12 @@ ifndef BUILD_HEADLESS_ONLY -DPNG_ARM_NEON_OPT=0 -DPNG_ARM_NEON_IMPLEMENTATION=0 \ $(foreach dir, $(LIBSPLASHSCREEN_DIRS), -I$(dir)) + ifeq ($(OPENJDK_TARGET_OS), linux) + ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc) + LIBSPLASHSCREEN_CFLAGS += -DPNG_POWERPC_VSX_OPT=0 + endif + endif + ifeq ($(OPENJDK_TARGET_OS), macosx) LIBSPLASHSCREEN_CFLAGS := -I$(JDK_TOPDIR)/src/macosx/native/sun/awt/splashscreen \ $(LIBSPLASHSCREEN_CFLAGS) diff --git a/jdk/src/share/native/sun/awt/libpng/pngpriv.h b/jdk/src/share/native/sun/awt/libpng/pngpriv.h index 5f704260305..73e1e9371a3 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngpriv.h +++ b/jdk/src/share/native/sun/awt/libpng/pngpriv.h @@ -293,13 +293,10 @@ # endif #endif /* PNG_MIPS_MSA_OPT > 0 */ -#ifdef PNG_POWERPC_VSX_API_SUPPORTED #if PNG_POWERPC_VSX_OPT > 0 # define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_vsx # define PNG_POWERPC_VSX_IMPLEMENTATION 1 #endif -#endif - /* Is this a build of a DLL where compilation of the object modules requires From 5b76d03291edd805ce594972a108c305a32ac478 Mon Sep 17 00:00:00 2001 From: Martin Balao Date: Tue, 19 Sep 2023 14:43:20 +0000 Subject: [PATCH 12/27] 8295685: Update Libpng to 1.6.38 Reviewed-by: andrew Backport-of: d183dc25f7360c3012726acf8c03874df6fc41a4 --- THIRD_PARTY_README | 68 ++++++++++++++++--- corba/THIRD_PARTY_README | 68 ++++++++++++++++--- hotspot/THIRD_PARTY_README | 68 ++++++++++++++++--- jaxp/THIRD_PARTY_README | 68 ++++++++++++++++--- jaxws/THIRD_PARTY_README | 68 ++++++++++++++++--- jdk/THIRD_PARTY_README | 68 ++++++++++++++++--- jdk/src/share/native/sun/awt/libpng/CHANGES | 10 ++- jdk/src/share/native/sun/awt/libpng/LICENSE | 4 +- jdk/src/share/native/sun/awt/libpng/README | 8 +-- jdk/src/share/native/sun/awt/libpng/png.c | 14 ++-- jdk/src/share/native/sun/awt/libpng/png.h | 26 +++---- jdk/src/share/native/sun/awt/libpng/pngconf.h | 8 +-- jdk/src/share/native/sun/awt/libpng/pngget.c | 14 ++-- .../share/native/sun/awt/libpng/pnglibconf.h | 4 +- jdk/src/share/native/sun/awt/libpng/pngpriv.h | 65 ++++++++---------- jdk/src/share/native/sun/awt/libpng/pngread.c | 3 - .../share/native/sun/awt/libpng/pngrtran.c | 2 +- .../share/native/sun/awt/libpng/pngrutil.c | 36 +++++----- jdk/src/share/native/sun/awt/libpng/pngset.c | 13 ++-- .../share/native/sun/awt/libpng/pngstruct.h | 12 +--- langtools/THIRD_PARTY_README | 68 ++++++++++++++++--- nashorn/THIRD_PARTY_README | 68 ++++++++++++++++--- 22 files changed, 583 insertions(+), 180 deletions(-) diff --git a/THIRD_PARTY_README b/THIRD_PARTY_README index 0dbfc173da6..f71e8f9b49a 100644 --- a/THIRD_PARTY_README +++ b/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.37, which may be +%% This notice is provided with respect to libpng 1.6.38, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1483,11 +1483,11 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE PNG Reference Library License version 2 --------------------------------------- - * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * Copyright (c) 2018-2019 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +Copyright (c) 1995-2022 The PNG Reference Library Authors. +Copyright (c) 2018-2022 Cosmin Truta +Copyright (c) 1998-2018 Glenn Randers-Pehrson +Copyright (c) 1996-1997 Andreas Dilger +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. The software is supplied "as is", without warranty of any kind, express or implied, including, without limitation, the warranties @@ -1614,10 +1614,10 @@ be appreciated. TRADEMARK: -The name "libpng" has not been registered by the Copyright owner +The name "libpng" has not been registered by the Copyright owners as a trademark in any jurisdiction. However, because libpng has been distributed and maintained world-wide, continually since 1995, -the Copyright owner claims "common-law trademark protection" in any +the Copyright owners claim "common-law trademark protection" in any jurisdiction where common-law trademark is recognized. OSI CERTIFICATION: @@ -1639,6 +1639,58 @@ Glenn Randers-Pehrson glennrp at users.sourceforge.net July 15, 2018 +AUTHORS File Information: + +PNG REFERENCE LIBRARY AUTHORS +============================= + +This is the list of PNG Reference Library ("libpng") Contributing +Authors, for copyright and licensing purposes. + + * Andreas Dilger + * Cosmin Truta + * Dave Martindale + * Eric S. Raymond + * Gilles Vollant + * Glenn Randers-Pehrson + * Greg Roelofs + * Guy Eric Schalnat + * James Yu + * John Bowler + * Kevin Bracey + * Magnus Holmgren + * Mandar Sahastrabuddhe + * Mans Rullgard + * Matt Sarett + * Mike Klein + * Pascal Massimino + * Paul Schmidt + * Qiang Zhou + * Sam Bushell + * Samuel Williams + * Simon-Pierre Cadieux + * Tim Wegner + * Tom Lane + * Tom Tanner + * Vadim Barkov + * Willem van Schaik + * Zhijie Liang + * Arm Holdings + - Richard Townsend + * Google Inc. + - Matt Sarett + - Mike Klein + - Dan Field + - Sami Boukortt + +The build projects, the build scripts, the test scripts, and other +files in the "ci", "projects", "scripts" and "tests" directories, have +other copyright owners, but are released under the libpng license. + +Some files in the "contrib" directory, and some tools-generated files +that are distributed with libpng, have other copyright owners, and are +released under other open source licenses. + --- end of LICENSE --- ------------------------------------------------------------------------------- diff --git a/corba/THIRD_PARTY_README b/corba/THIRD_PARTY_README index d19de8ae6c8..ae4f4d796bf 100644 --- a/corba/THIRD_PARTY_README +++ b/corba/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.37, which may be +%% This notice is provided with respect to libpng 1.6.38, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1483,11 +1483,11 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE PNG Reference Library License version 2 --------------------------------------- - * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * Copyright (c) 2018-2019 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +Copyright (c) 1995-2022 The PNG Reference Library Authors. +Copyright (c) 2018-2022 Cosmin Truta +Copyright (c) 1998-2018 Glenn Randers-Pehrson +Copyright (c) 1996-1997 Andreas Dilger +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. The software is supplied "as is", without warranty of any kind, express or implied, including, without limitation, the warranties @@ -1614,10 +1614,10 @@ be appreciated. TRADEMARK: -The name "libpng" has not been registered by the Copyright owner +The name "libpng" has not been registered by the Copyright owners as a trademark in any jurisdiction. However, because libpng has been distributed and maintained world-wide, continually since 1995, -the Copyright owner claims "common-law trademark protection" in any +the Copyright owners claim "common-law trademark protection" in any jurisdiction where common-law trademark is recognized. OSI CERTIFICATION: @@ -1639,6 +1639,58 @@ Glenn Randers-Pehrson glennrp at users.sourceforge.net July 15, 2018 +AUTHORS File Information: + +PNG REFERENCE LIBRARY AUTHORS +============================= + +This is the list of PNG Reference Library ("libpng") Contributing +Authors, for copyright and licensing purposes. + + * Andreas Dilger + * Cosmin Truta + * Dave Martindale + * Eric S. Raymond + * Gilles Vollant + * Glenn Randers-Pehrson + * Greg Roelofs + * Guy Eric Schalnat + * James Yu + * John Bowler + * Kevin Bracey + * Magnus Holmgren + * Mandar Sahastrabuddhe + * Mans Rullgard + * Matt Sarett + * Mike Klein + * Pascal Massimino + * Paul Schmidt + * Qiang Zhou + * Sam Bushell + * Samuel Williams + * Simon-Pierre Cadieux + * Tim Wegner + * Tom Lane + * Tom Tanner + * Vadim Barkov + * Willem van Schaik + * Zhijie Liang + * Arm Holdings + - Richard Townsend + * Google Inc. + - Matt Sarett + - Mike Klein + - Dan Field + - Sami Boukortt + +The build projects, the build scripts, the test scripts, and other +files in the "ci", "projects", "scripts" and "tests" directories, have +other copyright owners, but are released under the libpng license. + +Some files in the "contrib" directory, and some tools-generated files +that are distributed with libpng, have other copyright owners, and are +released under other open source licenses. + --- end of LICENSE --- ------------------------------------------------------------------------------- diff --git a/hotspot/THIRD_PARTY_README b/hotspot/THIRD_PARTY_README index d19de8ae6c8..ae4f4d796bf 100644 --- a/hotspot/THIRD_PARTY_README +++ b/hotspot/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.37, which may be +%% This notice is provided with respect to libpng 1.6.38, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1483,11 +1483,11 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE PNG Reference Library License version 2 --------------------------------------- - * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * Copyright (c) 2018-2019 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +Copyright (c) 1995-2022 The PNG Reference Library Authors. +Copyright (c) 2018-2022 Cosmin Truta +Copyright (c) 1998-2018 Glenn Randers-Pehrson +Copyright (c) 1996-1997 Andreas Dilger +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. The software is supplied "as is", without warranty of any kind, express or implied, including, without limitation, the warranties @@ -1614,10 +1614,10 @@ be appreciated. TRADEMARK: -The name "libpng" has not been registered by the Copyright owner +The name "libpng" has not been registered by the Copyright owners as a trademark in any jurisdiction. However, because libpng has been distributed and maintained world-wide, continually since 1995, -the Copyright owner claims "common-law trademark protection" in any +the Copyright owners claim "common-law trademark protection" in any jurisdiction where common-law trademark is recognized. OSI CERTIFICATION: @@ -1639,6 +1639,58 @@ Glenn Randers-Pehrson glennrp at users.sourceforge.net July 15, 2018 +AUTHORS File Information: + +PNG REFERENCE LIBRARY AUTHORS +============================= + +This is the list of PNG Reference Library ("libpng") Contributing +Authors, for copyright and licensing purposes. + + * Andreas Dilger + * Cosmin Truta + * Dave Martindale + * Eric S. Raymond + * Gilles Vollant + * Glenn Randers-Pehrson + * Greg Roelofs + * Guy Eric Schalnat + * James Yu + * John Bowler + * Kevin Bracey + * Magnus Holmgren + * Mandar Sahastrabuddhe + * Mans Rullgard + * Matt Sarett + * Mike Klein + * Pascal Massimino + * Paul Schmidt + * Qiang Zhou + * Sam Bushell + * Samuel Williams + * Simon-Pierre Cadieux + * Tim Wegner + * Tom Lane + * Tom Tanner + * Vadim Barkov + * Willem van Schaik + * Zhijie Liang + * Arm Holdings + - Richard Townsend + * Google Inc. + - Matt Sarett + - Mike Klein + - Dan Field + - Sami Boukortt + +The build projects, the build scripts, the test scripts, and other +files in the "ci", "projects", "scripts" and "tests" directories, have +other copyright owners, but are released under the libpng license. + +Some files in the "contrib" directory, and some tools-generated files +that are distributed with libpng, have other copyright owners, and are +released under other open source licenses. + --- end of LICENSE --- ------------------------------------------------------------------------------- diff --git a/jaxp/THIRD_PARTY_README b/jaxp/THIRD_PARTY_README index d19de8ae6c8..ae4f4d796bf 100644 --- a/jaxp/THIRD_PARTY_README +++ b/jaxp/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.37, which may be +%% This notice is provided with respect to libpng 1.6.38, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1483,11 +1483,11 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE PNG Reference Library License version 2 --------------------------------------- - * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * Copyright (c) 2018-2019 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +Copyright (c) 1995-2022 The PNG Reference Library Authors. +Copyright (c) 2018-2022 Cosmin Truta +Copyright (c) 1998-2018 Glenn Randers-Pehrson +Copyright (c) 1996-1997 Andreas Dilger +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. The software is supplied "as is", without warranty of any kind, express or implied, including, without limitation, the warranties @@ -1614,10 +1614,10 @@ be appreciated. TRADEMARK: -The name "libpng" has not been registered by the Copyright owner +The name "libpng" has not been registered by the Copyright owners as a trademark in any jurisdiction. However, because libpng has been distributed and maintained world-wide, continually since 1995, -the Copyright owner claims "common-law trademark protection" in any +the Copyright owners claim "common-law trademark protection" in any jurisdiction where common-law trademark is recognized. OSI CERTIFICATION: @@ -1639,6 +1639,58 @@ Glenn Randers-Pehrson glennrp at users.sourceforge.net July 15, 2018 +AUTHORS File Information: + +PNG REFERENCE LIBRARY AUTHORS +============================= + +This is the list of PNG Reference Library ("libpng") Contributing +Authors, for copyright and licensing purposes. + + * Andreas Dilger + * Cosmin Truta + * Dave Martindale + * Eric S. Raymond + * Gilles Vollant + * Glenn Randers-Pehrson + * Greg Roelofs + * Guy Eric Schalnat + * James Yu + * John Bowler + * Kevin Bracey + * Magnus Holmgren + * Mandar Sahastrabuddhe + * Mans Rullgard + * Matt Sarett + * Mike Klein + * Pascal Massimino + * Paul Schmidt + * Qiang Zhou + * Sam Bushell + * Samuel Williams + * Simon-Pierre Cadieux + * Tim Wegner + * Tom Lane + * Tom Tanner + * Vadim Barkov + * Willem van Schaik + * Zhijie Liang + * Arm Holdings + - Richard Townsend + * Google Inc. + - Matt Sarett + - Mike Klein + - Dan Field + - Sami Boukortt + +The build projects, the build scripts, the test scripts, and other +files in the "ci", "projects", "scripts" and "tests" directories, have +other copyright owners, but are released under the libpng license. + +Some files in the "contrib" directory, and some tools-generated files +that are distributed with libpng, have other copyright owners, and are +released under other open source licenses. + --- end of LICENSE --- ------------------------------------------------------------------------------- diff --git a/jaxws/THIRD_PARTY_README b/jaxws/THIRD_PARTY_README index d19de8ae6c8..ae4f4d796bf 100644 --- a/jaxws/THIRD_PARTY_README +++ b/jaxws/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.37, which may be +%% This notice is provided with respect to libpng 1.6.38, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1483,11 +1483,11 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE PNG Reference Library License version 2 --------------------------------------- - * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * Copyright (c) 2018-2019 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +Copyright (c) 1995-2022 The PNG Reference Library Authors. +Copyright (c) 2018-2022 Cosmin Truta +Copyright (c) 1998-2018 Glenn Randers-Pehrson +Copyright (c) 1996-1997 Andreas Dilger +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. The software is supplied "as is", without warranty of any kind, express or implied, including, without limitation, the warranties @@ -1614,10 +1614,10 @@ be appreciated. TRADEMARK: -The name "libpng" has not been registered by the Copyright owner +The name "libpng" has not been registered by the Copyright owners as a trademark in any jurisdiction. However, because libpng has been distributed and maintained world-wide, continually since 1995, -the Copyright owner claims "common-law trademark protection" in any +the Copyright owners claim "common-law trademark protection" in any jurisdiction where common-law trademark is recognized. OSI CERTIFICATION: @@ -1639,6 +1639,58 @@ Glenn Randers-Pehrson glennrp at users.sourceforge.net July 15, 2018 +AUTHORS File Information: + +PNG REFERENCE LIBRARY AUTHORS +============================= + +This is the list of PNG Reference Library ("libpng") Contributing +Authors, for copyright and licensing purposes. + + * Andreas Dilger + * Cosmin Truta + * Dave Martindale + * Eric S. Raymond + * Gilles Vollant + * Glenn Randers-Pehrson + * Greg Roelofs + * Guy Eric Schalnat + * James Yu + * John Bowler + * Kevin Bracey + * Magnus Holmgren + * Mandar Sahastrabuddhe + * Mans Rullgard + * Matt Sarett + * Mike Klein + * Pascal Massimino + * Paul Schmidt + * Qiang Zhou + * Sam Bushell + * Samuel Williams + * Simon-Pierre Cadieux + * Tim Wegner + * Tom Lane + * Tom Tanner + * Vadim Barkov + * Willem van Schaik + * Zhijie Liang + * Arm Holdings + - Richard Townsend + * Google Inc. + - Matt Sarett + - Mike Klein + - Dan Field + - Sami Boukortt + +The build projects, the build scripts, the test scripts, and other +files in the "ci", "projects", "scripts" and "tests" directories, have +other copyright owners, but are released under the libpng license. + +Some files in the "contrib" directory, and some tools-generated files +that are distributed with libpng, have other copyright owners, and are +released under other open source licenses. + --- end of LICENSE --- ------------------------------------------------------------------------------- diff --git a/jdk/THIRD_PARTY_README b/jdk/THIRD_PARTY_README index d19de8ae6c8..ae4f4d796bf 100644 --- a/jdk/THIRD_PARTY_README +++ b/jdk/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.37, which may be +%% This notice is provided with respect to libpng 1.6.38, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1483,11 +1483,11 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE PNG Reference Library License version 2 --------------------------------------- - * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * Copyright (c) 2018-2019 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +Copyright (c) 1995-2022 The PNG Reference Library Authors. +Copyright (c) 2018-2022 Cosmin Truta +Copyright (c) 1998-2018 Glenn Randers-Pehrson +Copyright (c) 1996-1997 Andreas Dilger +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. The software is supplied "as is", without warranty of any kind, express or implied, including, without limitation, the warranties @@ -1614,10 +1614,10 @@ be appreciated. TRADEMARK: -The name "libpng" has not been registered by the Copyright owner +The name "libpng" has not been registered by the Copyright owners as a trademark in any jurisdiction. However, because libpng has been distributed and maintained world-wide, continually since 1995, -the Copyright owner claims "common-law trademark protection" in any +the Copyright owners claim "common-law trademark protection" in any jurisdiction where common-law trademark is recognized. OSI CERTIFICATION: @@ -1639,6 +1639,58 @@ Glenn Randers-Pehrson glennrp at users.sourceforge.net July 15, 2018 +AUTHORS File Information: + +PNG REFERENCE LIBRARY AUTHORS +============================= + +This is the list of PNG Reference Library ("libpng") Contributing +Authors, for copyright and licensing purposes. + + * Andreas Dilger + * Cosmin Truta + * Dave Martindale + * Eric S. Raymond + * Gilles Vollant + * Glenn Randers-Pehrson + * Greg Roelofs + * Guy Eric Schalnat + * James Yu + * John Bowler + * Kevin Bracey + * Magnus Holmgren + * Mandar Sahastrabuddhe + * Mans Rullgard + * Matt Sarett + * Mike Klein + * Pascal Massimino + * Paul Schmidt + * Qiang Zhou + * Sam Bushell + * Samuel Williams + * Simon-Pierre Cadieux + * Tim Wegner + * Tom Lane + * Tom Tanner + * Vadim Barkov + * Willem van Schaik + * Zhijie Liang + * Arm Holdings + - Richard Townsend + * Google Inc. + - Matt Sarett + - Mike Klein + - Dan Field + - Sami Boukortt + +The build projects, the build scripts, the test scripts, and other +files in the "ci", "projects", "scripts" and "tests" directories, have +other copyright owners, but are released under the libpng license. + +Some files in the "contrib" directory, and some tools-generated files +that are distributed with libpng, have other copyright owners, and are +released under other open source licenses. + --- end of LICENSE --- ------------------------------------------------------------------------------- diff --git a/jdk/src/share/native/sun/awt/libpng/CHANGES b/jdk/src/share/native/sun/awt/libpng/CHANGES index f0b0a9342c3..9a86869681b 100644 --- a/jdk/src/share/native/sun/awt/libpng/CHANGES +++ b/jdk/src/share/native/sun/awt/libpng/CHANGES @@ -2295,7 +2295,7 @@ Version 1.4.0beta58 [May 14, 2009] Clarified usage of sig_bit versus sig_bit_p in example.c (Vincent Torri) Version 1.4.0beta59 [May 15, 2009] - Reformated sources in libpng style (3-space intentation, comment format) + Reformated sources in libpng style (3-space indentation, comment format) Fixed typo in libpng docs (PNG_FILTER_AVE should be PNG_FILTER_AVG) Added sections about the git repository and our coding style to the documentation @@ -3886,7 +3886,7 @@ Version 1.6.0beta06 [January 24, 2012] Version 1.6.0beta07 [January 28, 2012] Eliminated Intel icc/icl compiler warnings. The Intel (GCC derived) compiler issues slightly different warnings from those issued by the - current vesions of GCC. This eliminates those warnings by + current versions of GCC. This eliminates those warnings by adding/removing casts and small code rewrites. Updated configure.ac from autoupdate: added --enable-werror option. Also some layout regularization and removal of introduced tab characters @@ -6103,6 +6103,12 @@ Version 1.6.37 [April 14, 2019] Added makefiles for AddressSanitizer-enabled builds. Cleaned up various makefiles. +Version 1.6.38 [September 14, 2022] + Added configurations and scripts for continuous integration. + Fixed various errors in the handling of tRNS, hIST and eXIf. + Implemented many stability improvements across all platforms. + Updated the internal documentation. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net. Subscription is required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/jdk/src/share/native/sun/awt/libpng/LICENSE b/jdk/src/share/native/sun/awt/libpng/LICENSE index e0c5b531cf5..c8ad24eecf7 100644 --- a/jdk/src/share/native/sun/awt/libpng/LICENSE +++ b/jdk/src/share/native/sun/awt/libpng/LICENSE @@ -4,8 +4,8 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE PNG Reference Library License version 2 --------------------------------------- - * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * Copyright (c) 2018-2019 Cosmin Truta. + * Copyright (c) 1995-2022 The PNG Reference Library Authors. + * Copyright (c) 2018-2022 Cosmin Truta. * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. * Copyright (c) 1996-1997 Andreas Dilger. * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. diff --git a/jdk/src/share/native/sun/awt/libpng/README b/jdk/src/share/native/sun/awt/libpng/README index cfc1f0e3dc9..e6e72aa5472 100644 --- a/jdk/src/share/native/sun/awt/libpng/README +++ b/jdk/src/share/native/sun/awt/libpng/README @@ -1,12 +1,12 @@ -README for libpng version 1.6.37 - April 14, 2019 -================================================= +README for libpng version 1.6.38 +================================ See the note about version numbers near the top of png.h. See INSTALL for instructions on how to install libpng. Libpng comes in several distribution formats. Get libpng-*.tar.gz or -libpng-*.tar.xz or if you want UNIX-style line endings in the text -files, or lpng*.7z or lpng*.zip if you want DOS-style line endings. +libpng-*.tar.xz if you want UNIX-style line endings in the text files, +or lpng*.7z or lpng*.zip if you want DOS-style line endings. Version 0.89 was the first official release of libpng. Don't let the fact that it's the first release fool you. The libpng library has been diff --git a/jdk/src/share/native/sun/awt/libpng/png.c b/jdk/src/share/native/sun/awt/libpng/png.c index 3740c3cd214..ba608f128ab 100644 --- a/jdk/src/share/native/sun/awt/libpng/png.c +++ b/jdk/src/share/native/sun/awt/libpng/png.c @@ -29,7 +29,7 @@ * However, the following notice accompanied the original version of this * file and, per its terms, should not be removed: * - * Copyright (c) 2018-2019 Cosmin Truta + * Copyright (c) 2018-2022 Cosmin Truta * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. @@ -42,7 +42,7 @@ #include "pngpriv.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef png_libpng_version_1_6_37 Your_png_h_is_not_version_1_6_37; +typedef png_libpng_version_1_6_38 Your_png_h_is_not_version_1_6_38; #ifdef __GNUC__ /* The version tests may need to be added to, but the problem warning has @@ -748,7 +748,7 @@ png_init_io(png_structrp png_ptr, png_FILE_p fp) * * Where UNSIGNED_MAX is the appropriate maximum unsigned value, so when the * negative integral value is added the result will be an unsigned value - * correspnding to the 2's complement representation. + * corresponding to the 2's complement representation. */ void PNGAPI png_save_int_32(png_bytep buf, png_int_32 i) @@ -843,8 +843,8 @@ png_get_copyright(png_const_structrp png_ptr) return PNG_STRING_COPYRIGHT #else return PNG_STRING_NEWLINE \ - "libpng version 1.6.37" PNG_STRING_NEWLINE \ - "Copyright (c) 2018-2019 Cosmin Truta" PNG_STRING_NEWLINE \ + "libpng version 1.6.38" PNG_STRING_NEWLINE \ + "Copyright (c) 2018-2022 Cosmin Truta" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \ PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ @@ -1871,12 +1871,12 @@ png_icc_profile_error(png_const_structrp png_ptr, png_colorspacerp colorspace, # ifdef PNG_WARNINGS_SUPPORTED else { - char number[PNG_NUMBER_BUFFER_SIZE]; /* +24 = 114*/ + char number[PNG_NUMBER_BUFFER_SIZE]; /* +24 = 114 */ pos = png_safecat(message, (sizeof message), pos, png_format_number(number, number+(sizeof number), PNG_NUMBER_FORMAT_x, value)); - pos = png_safecat(message, (sizeof message), pos, "h: "); /*+2 = 116*/ + pos = png_safecat(message, (sizeof message), pos, "h: "); /* +2 = 116 */ } # endif /* The 'reason' is an arbitrary message, allow +79 maximum 195 */ diff --git a/jdk/src/share/native/sun/awt/libpng/png.h b/jdk/src/share/native/sun/awt/libpng/png.h index e5e87d3b818..aeff31573c7 100644 --- a/jdk/src/share/native/sun/awt/libpng/png.h +++ b/jdk/src/share/native/sun/awt/libpng/png.h @@ -29,9 +29,9 @@ * However, the following notice accompanied the original version of this * file and, per its terms, should not be removed: * - * libpng version 1.6.37 - April 14, 2019 + * libpng version 1.6.38 - September 14, 2022 * - * Copyright (c) 2018-2019 Cosmin Truta + * Copyright (c) 2018-2022 Cosmin Truta * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. @@ -43,7 +43,7 @@ * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger * libpng versions 0.97, January 1998, through 1.6.35, July 2018: * Glenn Randers-Pehrson - * libpng versions 1.6.36, December 2018, through 1.6.37, April 2019: + * libpng versions 1.6.36, December 2018, through 1.6.38, September 2022: * Cosmin Truta * See also "Contributing Authors", below. */ @@ -55,8 +55,8 @@ * PNG Reference Library License version 2 * --------------------------------------- * - * * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * * Copyright (c) 2018-2019 Cosmin Truta. + * * Copyright (c) 1995-2022 The PNG Reference Library Authors. + * * Copyright (c) 2018-2022 Cosmin Truta. * * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. * * Copyright (c) 1996-1997 Andreas Dilger. * * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. @@ -267,7 +267,7 @@ * ... * 1.5.30 15 10530 15.so.15.30[.0] * ... - * 1.6.37 16 10637 16.so.16.37[.0] + * 1.6.38 16 10638 16.so.16.38[.0] * * Henceforth the source version will match the shared-library major and * minor numbers; the shared-library major version number will be used for @@ -306,8 +306,8 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.6.37" -#define PNG_HEADER_VERSION_STRING " libpng version 1.6.37 - April 14, 2019\n" +#define PNG_LIBPNG_VER_STRING "1.6.38" +#define PNG_HEADER_VERSION_STRING " libpng version 1.6.38 - September 14, 2022\n" #define PNG_LIBPNG_VER_SONUM 16 #define PNG_LIBPNG_VER_DLLNUM 16 @@ -315,7 +315,7 @@ /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ #define PNG_LIBPNG_VER_MAJOR 1 #define PNG_LIBPNG_VER_MINOR 6 -#define PNG_LIBPNG_VER_RELEASE 37 +#define PNG_LIBPNG_VER_RELEASE 38 /* This should be zero for a public release, or non-zero for a * development version. [Deprecated] @@ -346,7 +346,7 @@ * From version 1.0.1 it is: * XXYYZZ, where XX=major, YY=minor, ZZ=release */ -#define PNG_LIBPNG_VER 10637 /* 1.6.37 */ +#define PNG_LIBPNG_VER 10638 /* 1.6.38 */ /* Library configuration: these options cannot be changed after * the library has been built. @@ -456,7 +456,7 @@ extern "C" { /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef char* png_libpng_version_1_6_37; +typedef char* png_libpng_version_1_6_38; /* Basic control structions. Read libpng-manual.txt or libpng.3 for more info. * @@ -1474,7 +1474,7 @@ PNG_EXPORT(66, void, png_set_crc_action, (png_structrp png_ptr, int crit_action, * mainly useful for testing, as the defaults should work with most users. * Those users who are tight on memory or want faster performance at the * expense of compression can modify them. See the compression library - * header file (zlib.h) for an explination of the compression functions. + * header file (zlib.h) for an explanation of the compression functions. */ /* Set the filtering method(s) used by libpng. Currently, the only valid @@ -1529,7 +1529,7 @@ PNG_FIXED_EXPORT(209, void, png_set_filter_heuristics_fixed, * 0 - 9, corresponding directly to the zlib compression levels 0 - 9 * (0 - no compression, 9 - "maximal" compression). Note that tests have * shown that zlib compression levels 3-6 usually perform as well as level 9 - * for PNG images, and do considerably fewer caclulations. In the future, + * for PNG images, and do considerably fewer calculations. In the future, * these values may not correspond directly to the zlib compression levels. */ #ifdef PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED diff --git a/jdk/src/share/native/sun/awt/libpng/pngconf.h b/jdk/src/share/native/sun/awt/libpng/pngconf.h index e6c993b8573..e95fa34ad7a 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngconf.h +++ b/jdk/src/share/native/sun/awt/libpng/pngconf.h @@ -29,9 +29,9 @@ * However, the following notice accompanied the original version of this * file and, per its terms, should not be removed: * - * libpng version 1.6.37 + * libpng version 1.6.38 * - * Copyright (c) 2018-2019 Cosmin Truta + * Copyright (c) 2018-2022 Cosmin Truta * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson * Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. @@ -208,8 +208,8 @@ * compiler-specific macros to the values required to change the calling * conventions of the various functions. */ -#if defined(_Windows) || defined(_WINDOWS) || defined(WIN32) ||\ - defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +#if defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || \ + defined(__CYGWIN__) /* Windows system (DOS doesn't support DLLs). Includes builds under Cygwin or * MinGW on any architecture currently supported by Windows. Also includes * Watcom builds but these need special treatment because they are not diff --git a/jdk/src/share/native/sun/awt/libpng/pngget.c b/jdk/src/share/native/sun/awt/libpng/pngget.c index 4e5f6c962a5..454d4e82273 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngget.c +++ b/jdk/src/share/native/sun/awt/libpng/pngget.c @@ -1179,7 +1179,7 @@ png_get_unknown_chunks(png_const_structrp png_ptr, png_inforp info_ptr, #ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED png_byte PNGAPI -png_get_rgb_to_gray_status (png_const_structrp png_ptr) +png_get_rgb_to_gray_status(png_const_structrp png_ptr) { return (png_byte)(png_ptr ? png_ptr->rgb_to_gray_status : 0); } @@ -1220,27 +1220,27 @@ png_get_compression_buffer_size(png_const_structrp png_ptr) /* These functions were added to libpng 1.2.6 and were enabled * by default in libpng-1.4.0 */ png_uint_32 PNGAPI -png_get_user_width_max (png_const_structrp png_ptr) +png_get_user_width_max(png_const_structrp png_ptr) { return (png_ptr ? png_ptr->user_width_max : 0); } png_uint_32 PNGAPI -png_get_user_height_max (png_const_structrp png_ptr) +png_get_user_height_max(png_const_structrp png_ptr) { return (png_ptr ? png_ptr->user_height_max : 0); } /* This function was added to libpng 1.4.0 */ png_uint_32 PNGAPI -png_get_chunk_cache_max (png_const_structrp png_ptr) +png_get_chunk_cache_max(png_const_structrp png_ptr) { return (png_ptr ? png_ptr->user_chunk_cache_max : 0); } /* This function was added to libpng 1.4.1 */ png_alloc_size_t PNGAPI -png_get_chunk_malloc_max (png_const_structrp png_ptr) +png_get_chunk_malloc_max(png_const_structrp png_ptr) { return (png_ptr ? png_ptr->user_chunk_malloc_max : 0); } @@ -1249,13 +1249,13 @@ png_get_chunk_malloc_max (png_const_structrp png_ptr) /* These functions were added to libpng 1.4.0 */ #ifdef PNG_IO_STATE_SUPPORTED png_uint_32 PNGAPI -png_get_io_state (png_const_structrp png_ptr) +png_get_io_state(png_const_structrp png_ptr) { return png_ptr->io_state; } png_uint_32 PNGAPI -png_get_io_chunk_type (png_const_structrp png_ptr) +png_get_io_chunk_type(png_const_structrp png_ptr) { return png_ptr->chunk_name; } diff --git a/jdk/src/share/native/sun/awt/libpng/pnglibconf.h b/jdk/src/share/native/sun/awt/libpng/pnglibconf.h index efe99f78402..b3dc39a45be 100644 --- a/jdk/src/share/native/sun/awt/libpng/pnglibconf.h +++ b/jdk/src/share/native/sun/awt/libpng/pnglibconf.h @@ -31,9 +31,9 @@ * However, the following notice accompanied the original version of this * file and, per its terms, should not be removed: */ -/* libpng version 1.6.37 */ +/* libpng version 1.6.38 */ -/* Copyright (c) 2018-2019 Cosmin Truta */ +/* Copyright (c) 2018-2022 Cosmin Truta */ /* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */ /* This code is released under the libpng license. */ diff --git a/jdk/src/share/native/sun/awt/libpng/pngpriv.h b/jdk/src/share/native/sun/awt/libpng/pngpriv.h index 73e1e9371a3..ed44512ef20 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngpriv.h +++ b/jdk/src/share/native/sun/awt/libpng/pngpriv.h @@ -29,7 +29,7 @@ * However, the following notice accompanied the original version of this * file and, per its terms, should not be removed: * - * Copyright (c) 2018-2019 Cosmin Truta + * Copyright (c) 2018-2022 Cosmin Truta * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. @@ -202,7 +202,7 @@ # else /* !defined __ARM_NEON__ */ /* The 'intrinsics' code simply won't compile without this -mfpu=neon: */ -# if !defined(__aarch64__) +# if !defined(__aarch64__) && !defined(_M_ARM64) /* The assembler code currently does not work on ARM64 */ # define PNG_ARM_NEON_IMPLEMENTATION 2 # endif /* __aarch64__ */ @@ -213,6 +213,8 @@ /* Use the intrinsics code by default. */ # define PNG_ARM_NEON_IMPLEMENTATION 1 # endif +#else /* PNG_ARM_NEON_OPT == 0 */ +# define PNG_ARM_NEON_IMPLEMENTATION 0 #endif /* PNG_ARM_NEON_OPT > 0 */ #ifndef PNG_MIPS_MSA_OPT @@ -291,11 +293,15 @@ # ifndef PNG_MIPS_MSA_IMPLEMENTATION # define PNG_MIPS_MSA_IMPLEMENTATION 1 # endif +#else +# define PNG_MIPS_MSA_IMPLEMENTATION 0 #endif /* PNG_MIPS_MSA_OPT > 0 */ #if PNG_POWERPC_VSX_OPT > 0 # define PNG_FILTER_OPTIMIZATIONS png_init_filter_functions_vsx # define PNG_POWERPC_VSX_IMPLEMENTATION 1 +#else +# define PNG_POWERPC_VSX_IMPLEMENTATION 0 #endif @@ -520,16 +526,7 @@ static_cast(static_cast(value)) #else # define png_voidcast(type, value) (value) -# ifdef _WIN64 -# ifdef __GNUC__ - typedef unsigned long long png_ptruint; -# else - typedef unsigned __int64 png_ptruint; -# endif -# else - typedef unsigned long png_ptruint; -# endif -# define png_constcast(type, value) ((type)(png_ptruint)(const void*)(value)) +# define png_constcast(type, value) ((type)(void*)(const void*)(value)) # define png_aligncast(type, value) ((void*)(value)) # define png_aligncastconst(type, value) ((const void*)(value)) #endif /* __cplusplus */ @@ -571,9 +568,8 @@ # include #endif -#if defined(WIN32) || defined(_Windows) || defined(_WINDOWS) || \ - defined(_WIN32) || defined(__WIN32__) -# include /* defines _WINDOWS_ macro */ +#if defined(_WIN32) || defined(__WIN32__) || defined(__NT__) +# include #endif #endif /* PNG_VERSION_INFO_ONLY */ @@ -582,24 +578,20 @@ * functions that are passed far data must be model-independent. */ -/* Memory model/platform independent fns */ +/* Platform-independent functions */ #ifndef PNG_ABORT -# ifdef _WINDOWS_ -# define PNG_ABORT() ExitProcess(0) -# else -# define PNG_ABORT() abort() -# endif +# define PNG_ABORT() abort() #endif /* These macros may need to be architecture dependent. */ -#define PNG_ALIGN_NONE 0 /* do not use data alignment */ -#define PNG_ALIGN_ALWAYS 1 /* assume unaligned accesses are OK */ +#define PNG_ALIGN_NONE 0 /* do not use data alignment */ +#define PNG_ALIGN_ALWAYS 1 /* assume unaligned accesses are OK */ #ifdef offsetof -# define PNG_ALIGN_OFFSET 2 /* use offsetof to determine alignment */ +# define PNG_ALIGN_OFFSET 2 /* use offsetof to determine alignment */ #else # define PNG_ALIGN_OFFSET -1 /* prevent the use of this */ #endif -#define PNG_ALIGN_SIZE 3 /* use sizeof to determine alignment */ +#define PNG_ALIGN_SIZE 3 /* use sizeof to determine alignment */ #ifndef PNG_ALIGN_TYPE /* Default to using aligned access optimizations and requiring alignment to a @@ -613,26 +605,25 @@ /* This is used because in some compiler implementations non-aligned * structure members are supported, so the offsetof approach below fails. * Set PNG_ALIGN_SIZE=0 for compiler combinations where unaligned access - * is good for performance. Do not do this unless you have tested the result - * and understand it. + * is good for performance. Do not do this unless you have tested the + * result and understand it. */ -# define png_alignof(type) (sizeof (type)) +# define png_alignof(type) (sizeof(type)) #else # if PNG_ALIGN_TYPE == PNG_ALIGN_OFFSET -# define png_alignof(type) offsetof(struct{char c; type t;}, t) +# define png_alignof(type) offsetof(struct{char c; type t;}, t) # else -# if PNG_ALIGN_TYPE == PNG_ALIGN_ALWAYS -# define png_alignof(type) (1) -# endif - /* Else leave png_alignof undefined to prevent use thereof */ +# if PNG_ALIGN_TYPE == PNG_ALIGN_ALWAYS +# define png_alignof(type) 1 +# endif + /* Else leave png_alignof undefined to prevent use thereof */ # endif #endif -/* This implicitly assumes alignment is always to a power of 2. */ +/* This implicitly assumes alignment is always a multiple of 2. */ #ifdef png_alignof -# define png_isaligned(ptr, type)\ - (((type)((const char*)ptr-(const char*)0) & \ - (type)(png_alignof(type)-1)) == 0) +# define png_isaligned(ptr, type) \ + (((type)(size_t)((const void*)(ptr)) & (type)(png_alignof(type)-1)) == 0) #else # define png_isaligned(ptr, type) 0 #endif diff --git a/jdk/src/share/native/sun/awt/libpng/pngread.c b/jdk/src/share/native/sun/awt/libpng/pngread.c index b558c5716f8..3631e60f36b 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngread.c +++ b/jdk/src/share/native/sun/awt/libpng/pngread.c @@ -3480,7 +3480,6 @@ png_image_read_background(png_voidp argument) for (pass = 0; pass < passes; ++pass) { - png_bytep row = png_voidcast(png_bytep, display->first_row); unsigned int startx, stepx, stepy; png_uint_32 y; @@ -3585,8 +3584,6 @@ png_image_read_background(png_voidp argument) inrow += 2; /* gray and alpha channel */ } - - row += display->row_bytes; } } } diff --git a/jdk/src/share/native/sun/awt/libpng/pngrtran.c b/jdk/src/share/native/sun/awt/libpng/pngrtran.c index efe7135553a..843eb5fff2a 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngrtran.c +++ b/jdk/src/share/native/sun/awt/libpng/pngrtran.c @@ -49,7 +49,7 @@ #ifdef PNG_ARM_NEON_IMPLEMENTATION # if PNG_ARM_NEON_IMPLEMENTATION == 1 # define PNG_ARM_NEON_INTRINSICS_AVAILABLE -# if defined(_MSC_VER) && defined(_M_ARM64) +# if defined(_MSC_VER) && !defined(__clang__) && defined(_M_ARM64) # include # else # include diff --git a/jdk/src/share/native/sun/awt/libpng/pngrutil.c b/jdk/src/share/native/sun/awt/libpng/pngrutil.c index 5c6244116af..d41a6d09b27 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngrutil.c +++ b/jdk/src/share/native/sun/awt/libpng/pngrutil.c @@ -29,7 +29,7 @@ * However, the following notice accompanied the original version of this * file and, per its terms, should not be removed: * - * Copyright (c) 2018 Cosmin Truta + * Copyright (c) 2018-2022 Cosmin Truta * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. @@ -329,7 +329,6 @@ png_read_buffer(png_structrp png_ptr, png_alloc_size_t new_size, int warn) if (buffer != NULL && new_size > png_ptr->read_buffer_size) { - png_ptr->read_buffer = NULL; png_ptr->read_buffer = NULL; png_ptr->read_buffer_size = 0; png_free(png_ptr, buffer); @@ -2104,21 +2103,22 @@ png_handle_eXIf(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length) png_byte buf[1]; png_crc_read(png_ptr, buf, 1); info_ptr->eXIf_buf[i] = buf[0]; - if (i == 1 && buf[0] != 'M' && buf[0] != 'I' - && info_ptr->eXIf_buf[0] != buf[0]) + if (i == 1) { - png_crc_finish(png_ptr, length); - png_chunk_benign_error(png_ptr, "incorrect byte-order specifier"); - png_free(png_ptr, info_ptr->eXIf_buf); - info_ptr->eXIf_buf = NULL; - return; + if ((buf[0] != 'M' && buf[0] != 'I') || + (info_ptr->eXIf_buf[0] != buf[0])) + { + png_crc_finish(png_ptr, length - 2); + png_chunk_benign_error(png_ptr, "incorrect byte-order specifier"); + png_free(png_ptr, info_ptr->eXIf_buf); + info_ptr->eXIf_buf = NULL; + return; + } } } - if (png_crc_finish(png_ptr, 0) != 0) - return; - - png_set_eXIf_1(png_ptr, info_ptr, length, info_ptr->eXIf_buf); + if (png_crc_finish(png_ptr, 0) == 0) + png_set_eXIf_1(png_ptr, info_ptr, length, info_ptr->eXIf_buf); png_free(png_ptr, info_ptr->eXIf_buf); info_ptr->eXIf_buf = NULL; @@ -2154,8 +2154,9 @@ png_handle_hIST(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length) num = length / 2 ; - if (num != (unsigned int) png_ptr->num_palette || - num > (unsigned int) PNG_MAX_PALETTE_LENGTH) + if (length != num * 2 || + num != (unsigned int)png_ptr->num_palette || + num > (unsigned int)PNG_MAX_PALETTE_LENGTH) { png_crc_finish(png_ptr, length); png_chunk_benign_error(png_ptr, "invalid"); @@ -4649,14 +4650,13 @@ defined(PNG_USER_TRANSFORM_PTR_SUPPORTED) */ { png_bytep temp = png_ptr->big_row_buf + 32; - int extra = (int)((temp - (png_bytep)0) & 0x0f); + size_t extra = (size_t)temp & 0x0f; png_ptr->row_buf = temp - extra - 1/*filter byte*/; temp = png_ptr->big_prev_row + 32; - extra = (int)((temp - (png_bytep)0) & 0x0f); + extra = (size_t)temp & 0x0f; png_ptr->prev_row = temp - extra - 1/*filter byte*/; } - #else /* Use 31 bytes of padding before and 17 bytes after row_buf. */ png_ptr->row_buf = png_ptr->big_row_buf + 31; diff --git a/jdk/src/share/native/sun/awt/libpng/pngset.c b/jdk/src/share/native/sun/awt/libpng/pngset.c index 1b075795b65..ea7decaa065 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngset.c +++ b/jdk/src/share/native/sun/awt/libpng/pngset.c @@ -29,7 +29,7 @@ * However, the following notice accompanied the original version of this * file and, per its terms, should not be removed: * - * Copyright (c) 2018 Cosmin Truta + * Copyright (c) 2018-2022 Cosmin Truta * Copyright (c) 1998-2018 Glenn Randers-Pehrson * Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. @@ -1047,6 +1047,9 @@ png_set_tRNS(png_structrp png_ptr, png_inforp info_ptr, info_ptr->trans_alpha = png_voidcast(png_bytep, png_malloc(png_ptr, PNG_MAX_PALETTE_LENGTH)); memcpy(info_ptr->trans_alpha, trans_alpha, (size_t)num_trans); + + info_ptr->valid |= PNG_INFO_tRNS; + info_ptr->free_me |= PNG_FREE_TRNS; } png_ptr->trans_alpha = info_ptr->trans_alpha; } @@ -1354,7 +1357,7 @@ png_set_unknown_chunk_location(png_const_structrp png_ptr, png_inforp info_ptr, #ifdef PNG_MNG_FEATURES_SUPPORTED png_uint_32 PNGAPI -png_permit_mng_features (png_structrp png_ptr, png_uint_32 mng_features) +png_permit_mng_features(png_structrp png_ptr, png_uint_32 mng_features) { png_debug(1, "in png_permit_mng_features"); @@ -1661,7 +1664,7 @@ png_set_invalid(png_const_structrp png_ptr, png_inforp info_ptr, int mask) #ifdef PNG_SET_USER_LIMITS_SUPPORTED /* This function was added to libpng 1.2.6 */ void PNGAPI -png_set_user_limits (png_structrp png_ptr, png_uint_32 user_width_max, +png_set_user_limits(png_structrp png_ptr, png_uint_32 user_width_max, png_uint_32 user_height_max) { /* Images with dimensions larger than these limits will be @@ -1677,7 +1680,7 @@ png_set_user_limits (png_structrp png_ptr, png_uint_32 user_width_max, /* This function was added to libpng 1.4.0 */ void PNGAPI -png_set_chunk_cache_max (png_structrp png_ptr, png_uint_32 user_chunk_cache_max) +png_set_chunk_cache_max(png_structrp png_ptr, png_uint_32 user_chunk_cache_max) { if (png_ptr != NULL) png_ptr->user_chunk_cache_max = user_chunk_cache_max; @@ -1685,7 +1688,7 @@ png_set_chunk_cache_max (png_structrp png_ptr, png_uint_32 user_chunk_cache_max) /* This function was added to libpng 1.4.1 */ void PNGAPI -png_set_chunk_malloc_max (png_structrp png_ptr, +png_set_chunk_malloc_max(png_structrp png_ptr, png_alloc_size_t user_chunk_malloc_max) { if (png_ptr != NULL) diff --git a/jdk/src/share/native/sun/awt/libpng/pngstruct.h b/jdk/src/share/native/sun/awt/libpng/pngstruct.h index 1f53e0534af..f153bdec602 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngstruct.h +++ b/jdk/src/share/native/sun/awt/libpng/pngstruct.h @@ -29,7 +29,7 @@ * However, the following notice accompanied the original version of this * file and, per its terms, should not be removed: * - * Copyright (c) 2018-2019 Cosmin Truta + * Copyright (c) 2018-2022 Cosmin Truta * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson * Copyright (c) 1996-1997 Andreas Dilger * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. @@ -362,18 +362,8 @@ struct png_struct_def size_t current_buffer_size; /* amount of data now in current_buffer */ int process_mode; /* what push library is currently doing */ int cur_palette; /* current push library palette index */ - #endif /* PROGRESSIVE_READ */ -#if defined(__TURBOC__) && !defined(_Windows) && !defined(__FLAT__) -/* For the Borland special 64K segment handler */ - png_bytepp offset_table_ptr; - png_bytep offset_table; - png_uint_16 offset_table_number; - png_uint_16 offset_table_count; - png_uint_16 offset_table_count_free; -#endif - #ifdef PNG_READ_QUANTIZE_SUPPORTED png_bytep palette_lookup; /* lookup table for quantizing */ png_bytep quantize_index; /* index translation for palette files */ diff --git a/langtools/THIRD_PARTY_README b/langtools/THIRD_PARTY_README index d19de8ae6c8..ae4f4d796bf 100644 --- a/langtools/THIRD_PARTY_README +++ b/langtools/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.37, which may be +%% This notice is provided with respect to libpng 1.6.38, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1483,11 +1483,11 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE PNG Reference Library License version 2 --------------------------------------- - * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * Copyright (c) 2018-2019 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +Copyright (c) 1995-2022 The PNG Reference Library Authors. +Copyright (c) 2018-2022 Cosmin Truta +Copyright (c) 1998-2018 Glenn Randers-Pehrson +Copyright (c) 1996-1997 Andreas Dilger +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. The software is supplied "as is", without warranty of any kind, express or implied, including, without limitation, the warranties @@ -1614,10 +1614,10 @@ be appreciated. TRADEMARK: -The name "libpng" has not been registered by the Copyright owner +The name "libpng" has not been registered by the Copyright owners as a trademark in any jurisdiction. However, because libpng has been distributed and maintained world-wide, continually since 1995, -the Copyright owner claims "common-law trademark protection" in any +the Copyright owners claim "common-law trademark protection" in any jurisdiction where common-law trademark is recognized. OSI CERTIFICATION: @@ -1639,6 +1639,58 @@ Glenn Randers-Pehrson glennrp at users.sourceforge.net July 15, 2018 +AUTHORS File Information: + +PNG REFERENCE LIBRARY AUTHORS +============================= + +This is the list of PNG Reference Library ("libpng") Contributing +Authors, for copyright and licensing purposes. + + * Andreas Dilger + * Cosmin Truta + * Dave Martindale + * Eric S. Raymond + * Gilles Vollant + * Glenn Randers-Pehrson + * Greg Roelofs + * Guy Eric Schalnat + * James Yu + * John Bowler + * Kevin Bracey + * Magnus Holmgren + * Mandar Sahastrabuddhe + * Mans Rullgard + * Matt Sarett + * Mike Klein + * Pascal Massimino + * Paul Schmidt + * Qiang Zhou + * Sam Bushell + * Samuel Williams + * Simon-Pierre Cadieux + * Tim Wegner + * Tom Lane + * Tom Tanner + * Vadim Barkov + * Willem van Schaik + * Zhijie Liang + * Arm Holdings + - Richard Townsend + * Google Inc. + - Matt Sarett + - Mike Klein + - Dan Field + - Sami Boukortt + +The build projects, the build scripts, the test scripts, and other +files in the "ci", "projects", "scripts" and "tests" directories, have +other copyright owners, but are released under the libpng license. + +Some files in the "contrib" directory, and some tools-generated files +that are distributed with libpng, have other copyright owners, and are +released under other open source licenses. + --- end of LICENSE --- ------------------------------------------------------------------------------- diff --git a/nashorn/THIRD_PARTY_README b/nashorn/THIRD_PARTY_README index d19de8ae6c8..ae4f4d796bf 100644 --- a/nashorn/THIRD_PARTY_README +++ b/nashorn/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.37, which may be +%% This notice is provided with respect to libpng 1.6.38, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1483,11 +1483,11 @@ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE PNG Reference Library License version 2 --------------------------------------- - * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * Copyright (c) 2018-2019 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +Copyright (c) 1995-2022 The PNG Reference Library Authors. +Copyright (c) 2018-2022 Cosmin Truta +Copyright (c) 1998-2018 Glenn Randers-Pehrson +Copyright (c) 1996-1997 Andreas Dilger +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. The software is supplied "as is", without warranty of any kind, express or implied, including, without limitation, the warranties @@ -1614,10 +1614,10 @@ be appreciated. TRADEMARK: -The name "libpng" has not been registered by the Copyright owner +The name "libpng" has not been registered by the Copyright owners as a trademark in any jurisdiction. However, because libpng has been distributed and maintained world-wide, continually since 1995, -the Copyright owner claims "common-law trademark protection" in any +the Copyright owners claim "common-law trademark protection" in any jurisdiction where common-law trademark is recognized. OSI CERTIFICATION: @@ -1639,6 +1639,58 @@ Glenn Randers-Pehrson glennrp at users.sourceforge.net July 15, 2018 +AUTHORS File Information: + +PNG REFERENCE LIBRARY AUTHORS +============================= + +This is the list of PNG Reference Library ("libpng") Contributing +Authors, for copyright and licensing purposes. + + * Andreas Dilger + * Cosmin Truta + * Dave Martindale + * Eric S. Raymond + * Gilles Vollant + * Glenn Randers-Pehrson + * Greg Roelofs + * Guy Eric Schalnat + * James Yu + * John Bowler + * Kevin Bracey + * Magnus Holmgren + * Mandar Sahastrabuddhe + * Mans Rullgard + * Matt Sarett + * Mike Klein + * Pascal Massimino + * Paul Schmidt + * Qiang Zhou + * Sam Bushell + * Samuel Williams + * Simon-Pierre Cadieux + * Tim Wegner + * Tom Lane + * Tom Tanner + * Vadim Barkov + * Willem van Schaik + * Zhijie Liang + * Arm Holdings + - Richard Townsend + * Google Inc. + - Matt Sarett + - Mike Klein + - Dan Field + - Sami Boukortt + +The build projects, the build scripts, the test scripts, and other +files in the "ci", "projects", "scripts" and "tests" directories, have +other copyright owners, but are released under the libpng license. + +Some files in the "contrib" directory, and some tools-generated files +that are distributed with libpng, have other copyright owners, and are +released under other open source licenses. + --- end of LICENSE --- ------------------------------------------------------------------------------- From ee4caa8b41570edb5137eaa30a8867de2cae4e5d Mon Sep 17 00:00:00 2001 From: Alexey Bakhtin Date: Wed, 20 Sep 2023 14:41:41 +0000 Subject: [PATCH 13/27] 8029995: accept yes/no for boolean krb5.conf settings Reviewed-by: andrew Backport-of: 9bae1e597b2d884e1d8a2a7a499b8d83ec002dbd --- .../security/auth/kerberos/package-info.java | 6 ++ .../classes/sun/security/krb5/Config.java | 34 ++--------- .../security/krb5/internal/KDCOptions.java | 6 +- .../security/krb5/internal/crypto/EType.java | 4 +- jdk/test/sun/security/krb5/config/YesNo.java | 61 +++++++++++++++++++ jdk/test/sun/security/krb5/config/yesno.conf | 7 +++ 6 files changed, 84 insertions(+), 34 deletions(-) create mode 100644 jdk/test/sun/security/krb5/config/YesNo.java create mode 100644 jdk/test/sun/security/krb5/config/yesno.conf diff --git a/jdk/src/share/classes/javax/security/auth/kerberos/package-info.java b/jdk/src/share/classes/javax/security/auth/kerberos/package-info.java index 293745479d8..0853663a1f2 100644 --- a/jdk/src/share/classes/javax/security/auth/kerberos/package-info.java +++ b/jdk/src/share/classes/javax/security/auth/kerberos/package-info.java @@ -48,6 +48,12 @@ * {@code /lib/security} and failing that, in an OS-specific * location.

* + * The {@code krb5.conf} file is formatted in the Windows INI file style, + * which contains a series of relations grouped into different sections. + * Each relation contains a key and a value, the value can be an arbitrary + * string or a boolean value. A boolean value can be one of "true", "false", + * "yes", or "no", case-insensitive.

+ * * @since JDK1.4 */ package javax.security.auth.kerberos; diff --git a/jdk/src/share/classes/sun/security/krb5/Config.java b/jdk/src/share/classes/sun/security/krb5/Config.java index 117acb840c8..3b4a52b5f3c 100644 --- a/jdk/src/share/classes/sun/security/krb5/Config.java +++ b/jdk/src/share/classes/sun/security/krb5/Config.java @@ -449,23 +449,6 @@ public int getIntValue(String... keys) { return value; } - /** - * Gets the boolean value for the specified keys. - * @param keys the keys - * @return the boolean value, false is returned if it cannot be - * found or the value is not "true" (case insensitive). - * @throw IllegalArgumentException if any of the keys is illegal - * @see #get(java.lang.String[]) - */ - public boolean getBooleanValue(String... keys) { - String val = get(keys); - if (val != null && val.equalsIgnoreCase("true")) { - return true; - } else { - return false; - } - } - /** * Parses a string to an integer. The convertible strings include the * string representations of positive integers, negative integers, and @@ -474,7 +457,7 @@ public boolean getBooleanValue(String... keys) { * * @param input the String to be converted to an Integer. * @return an numeric value represented by the string - * @exception NumberFormationException if the String does not contain a + * @exception NumberFormatException if the String does not contain a * parsable integer. */ private int parseIntValue(String input) throws NumberFormatException { @@ -1060,20 +1043,13 @@ public void resetDefaultRealm(String realm) { * use addresses if "no_addresses" or "noaddresses" is set to false */ public boolean useAddresses() { - boolean useAddr = false; - // use addresses if "no_addresses" is set to false - String value = get("libdefaults", "no_addresses"); - useAddr = (value != null && value.equalsIgnoreCase("false")); - if (useAddr == false) { - // use addresses if "noaddresses" is set to false - value = get("libdefaults", "noaddresses"); - useAddr = (value != null && value.equalsIgnoreCase("false")); - } - return useAddr; + return getBooleanObject("libdefaults", "no_addresses") == Boolean.FALSE || + getBooleanObject("libdefaults", "noaddresses") == Boolean.FALSE; } /** - * Check if need to use DNS to locate Kerberos services + * Check if need to use DNS to locate Kerberos services for name. If not + * defined, check dns_fallback, whose default value is true. */ private boolean useDNS(String name, boolean defaultValue) { Boolean value = getBooleanObject("libdefaults", name); diff --git a/jdk/src/share/classes/sun/security/krb5/internal/KDCOptions.java b/jdk/src/share/classes/sun/security/krb5/internal/KDCOptions.java index d9fdf43d616..76a71cb603c 100644 --- a/jdk/src/share/classes/sun/security/krb5/internal/KDCOptions.java +++ b/jdk/src/share/classes/sun/security/krb5/internal/KDCOptions.java @@ -301,14 +301,14 @@ private void setDefault() { if ((options & KDC_OPT_RENEWABLE_OK) == KDC_OPT_RENEWABLE_OK) { set(RENEWABLE_OK, true); } else { - if (config.getBooleanValue("libdefaults", "renewable")) { + if (config.getBooleanObject("libdefaults", "renewable") == Boolean.TRUE) { set(RENEWABLE_OK, true); } } if ((options & KDC_OPT_PROXIABLE) == KDC_OPT_PROXIABLE) { set(PROXIABLE, true); } else { - if (config.getBooleanValue("libdefaults", "proxiable")) { + if (config.getBooleanObject("libdefaults", "proxiable") == Boolean.TRUE) { set(PROXIABLE, true); } } @@ -316,7 +316,7 @@ private void setDefault() { if ((options & KDC_OPT_FORWARDABLE) == KDC_OPT_FORWARDABLE) { set(FORWARDABLE, true); } else { - if (config.getBooleanValue("libdefaults", "forwardable")) { + if (config.getBooleanObject("libdefaults", "forwardable") == Boolean.TRUE) { set(FORWARDABLE, true); } } diff --git a/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java b/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java index abccce82415..2f314c9c09e 100644 --- a/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java +++ b/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java @@ -58,8 +58,8 @@ public static void initStatic() { boolean allowed = false; try { Config cfg = Config.getInstance(); - String temp = cfg.get("libdefaults", "allow_weak_crypto"); - if (temp != null && temp.equals("true")) allowed = true; + allowed = cfg.getBooleanObject("libdefaults", "allow_weak_crypto") + == Boolean.TRUE; } catch (Exception exc) { if (DEBUG) { System.out.println ("Exception in getting allow_weak_crypto, " + diff --git a/jdk/test/sun/security/krb5/config/YesNo.java b/jdk/test/sun/security/krb5/config/YesNo.java new file mode 100644 index 00000000000..c25c8279663 --- /dev/null +++ b/jdk/test/sun/security/krb5/config/YesNo.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8029995 + * @summary accept yes/no for boolean krb5.conf settings + * @compile -XDignore.symbol.file YesNo.java + * @run main/othervm YesNo + */ +import sun.security.krb5.Config; +import sun.security.krb5.internal.crypto.EType; + +import java.util.Arrays; + +public class YesNo { + static Config config = null; + public static void main(String[] args) throws Exception { + System.setProperty("java.security.krb5.conf", + System.getProperty("test.src", ".") +"/yesno.conf"); + config = Config.getInstance(); + check("a", Boolean.TRUE); + check("b", Boolean.FALSE); + check("c", Boolean.TRUE); + check("d", Boolean.FALSE); + check("e", null); + check("f", null); + + if (!Arrays.stream(EType.getBuiltInDefaults()) + .anyMatch(n -> n < 4)) { + throw new Exception(); + } + } + + static void check(String k, Boolean expected) throws Exception { + Boolean result = config.getBooleanObject("libdefaults", k); + if (expected != result) { + throw new Exception("value for " + k + " is " + result); + } + } +} diff --git a/jdk/test/sun/security/krb5/config/yesno.conf b/jdk/test/sun/security/krb5/config/yesno.conf new file mode 100644 index 00000000000..681c19daf51 --- /dev/null +++ b/jdk/test/sun/security/krb5/config/yesno.conf @@ -0,0 +1,7 @@ +[libdefaults] +a = true +b = FALSE +c = YES +d = no +e = nothing +allow_weak_crypto = yes From 961ab463974b7d05600b826303f9111c4f367a04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Van=C4=9Bk?= Date: Mon, 25 Sep 2023 14:05:03 +0000 Subject: [PATCH 14/27] 8283441: C2: segmentation fault in ciMethodBlocks::make_block_at(int) Reviewed-by: mbalao Backport-of: 947869609ce6b74d4d28f79724b823d8781adbed --- hotspot/src/share/vm/c1/c1_GraphBuilder.cpp | 12 ++++-- hotspot/src/share/vm/ci/ciMethodBlocks.cpp | 17 +++++--- .../src/share/vm/compiler/methodLiveness.cpp | 9 ++-- hotspot/test/compiler/parsing/Custom.jasm | 38 +++++++++++++++++ ...UnreachableBlockFallsThroughEndOfCode.java | 42 +++++++++++++++++++ 5 files changed, 106 insertions(+), 12 deletions(-) create mode 100644 hotspot/test/compiler/parsing/Custom.jasm create mode 100644 hotspot/test/compiler/parsing/UnreachableBlockFallsThroughEndOfCode.java diff --git a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp index 5def6693b6c..800535f97e1 100644 --- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp +++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp @@ -206,8 +206,10 @@ void BlockListBuilder::handle_exceptions(BlockBegin* current, int cur_bci) { } void BlockListBuilder::handle_jsr(BlockBegin* current, int sr_bci, int next_bci) { - // start a new block after jsr-bytecode and link this block into cfg - make_block_at(next_bci, current); + if (next_bci < method()->code_size()) { + // start a new block after jsr-bytecode and link this block into cfg + make_block_at(next_bci, current); + } // start a new block at the subroutine entry at mark it with special flag BlockBegin* sr_block = make_block_at(sr_bci, current); @@ -227,6 +229,8 @@ void BlockListBuilder::set_leaders() { // branch target and a modification of the successor lists. BitMap bci_block_start = method()->bci_block_start(); + int end_bci = method()->code_size(); + ciBytecodeStream s(method()); while (s.next() != ciBytecodeStream::EOBC()) { int cur_bci = s.cur_bci(); @@ -297,7 +301,9 @@ void BlockListBuilder::set_leaders() { case Bytecodes::_if_acmpne: // fall through case Bytecodes::_ifnull: // fall through case Bytecodes::_ifnonnull: - make_block_at(s.next_bci(), current); + if (s.next_bci() < end_bci) { + make_block_at(s.next_bci(), current); + } make_block_at(s.get_dest(), current); current = NULL; break; diff --git a/hotspot/src/share/vm/ci/ciMethodBlocks.cpp b/hotspot/src/share/vm/ci/ciMethodBlocks.cpp index 614e75dc3bf..2285eb0a5b4 100644 --- a/hotspot/src/share/vm/ci/ciMethodBlocks.cpp +++ b/hotspot/src/share/vm/ci/ciMethodBlocks.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2022, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,12 +33,13 @@ ciBlock *ciMethodBlocks::block_containing(int bci) { + assert(bci >= 0 && bci < _code_size, "valid bytecode range"); ciBlock *blk = _bci_to_block[bci]; return blk; } bool ciMethodBlocks::is_block_start(int bci) { - assert(bci >=0 && bci < _code_size, "valid bytecode range"); + assert(bci >= 0 && bci < _code_size, "valid bytecode range"); ciBlock *b = _bci_to_block[bci]; assert(b != NULL, "must have block for bytecode"); return b->start_bci() == bci; @@ -146,7 +147,9 @@ void ciMethodBlocks::do_analysis() { case Bytecodes::_ifnonnull : { cur_block->set_control_bci(bci); - ciBlock *fall_through = make_block_at(s.next_bci()); + if (s.next_bci() < limit_bci) { + ciBlock *fall_through = make_block_at(s.next_bci()); + } int dest_bci = s.get_dest(); ciBlock *dest = make_block_at(dest_bci); break; @@ -166,7 +169,9 @@ void ciMethodBlocks::do_analysis() { case Bytecodes::_jsr : { cur_block->set_control_bci(bci); - ciBlock *ret = make_block_at(s.next_bci()); + if (s.next_bci() < limit_bci) { + ciBlock *ret = make_block_at(s.next_bci()); + } int dest_bci = s.get_dest(); ciBlock *dest = make_block_at(dest_bci); break; @@ -224,7 +229,9 @@ void ciMethodBlocks::do_analysis() { case Bytecodes::_jsr_w : { cur_block->set_control_bci(bci); - ciBlock *ret = make_block_at(s.next_bci()); + if (s.next_bci() < limit_bci) { + ciBlock *ret = make_block_at(s.next_bci()); + } int dest_bci = s.get_far_dest(); ciBlock *dest = make_block_at(dest_bci); break; diff --git a/hotspot/src/share/vm/compiler/methodLiveness.cpp b/hotspot/src/share/vm/compiler/methodLiveness.cpp index eda1ab156b3..7fb496dc96b 100644 --- a/hotspot/src/share/vm/compiler/methodLiveness.cpp +++ b/hotspot/src/share/vm/compiler/methodLiveness.cpp @@ -268,10 +268,11 @@ void MethodLiveness::init_basic_blocks() { case Bytecodes::_ifnull: case Bytecodes::_ifnonnull: // Two way branch. Set predecessors at each destination. - dest = _block_map->at(bytes.next_bci()); - assert(dest != NULL, "must be a block immediately following this one."); - dest->add_normal_predecessor(current_block); - + if (bytes.next_bci() < method_len) { + dest = _block_map->at(bytes.next_bci()); + assert(dest != NULL, "must be a block immediately following this one."); + dest->add_normal_predecessor(current_block); + } dest = _block_map->at(bytes.get_dest()); assert(dest != NULL, "branch desination must start a block."); dest->add_normal_predecessor(current_block); diff --git a/hotspot/test/compiler/parsing/Custom.jasm b/hotspot/test/compiler/parsing/Custom.jasm new file mode 100644 index 00000000000..73a2b1ff910 --- /dev/null +++ b/hotspot/test/compiler/parsing/Custom.jasm @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package compiler/parsing; + +super public class Custom { + + public static Method test:"(I)V" stack 2 locals 1 { + return; +Loop: + // Unreachable block + iload_0; + bipush 100; + if_icmpge Loop; + // Falls through + } + +} diff --git a/hotspot/test/compiler/parsing/UnreachableBlockFallsThroughEndOfCode.java b/hotspot/test/compiler/parsing/UnreachableBlockFallsThroughEndOfCode.java new file mode 100644 index 00000000000..9dfb488d8c6 --- /dev/null +++ b/hotspot/test/compiler/parsing/UnreachableBlockFallsThroughEndOfCode.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +/* + * @test UnreachableBlockFallsThroughEndOfCode.java + * @bug 8283441 + * @compile Custom.jasm UnreachableBlockFallsThroughEndOfCode.java + * @summary Compiling method that falls off the end of the code array + * @run main/othervm -XX:TieredStopAtLevel=1 -Xbatch compiler.parsing.UnreachableBlockFallsThroughEndOfCode + * @run main/othervm -XX:-TieredCompilation -Xbatch compiler.parsing.UnreachableBlockFallsThroughEndOfCode + */ + +package compiler.parsing; + +public class UnreachableBlockFallsThroughEndOfCode { + public static void main(String[] strArr) { + for (int i = 0; i < 20000; i++) { + Custom.test(i); + } + } +} From f4260a4deed5210fc56f08774e8ca50cf6f7cc8e Mon Sep 17 00:00:00 2001 From: Martin Balao Date: Tue, 26 Sep 2023 00:01:11 +0000 Subject: [PATCH 15/27] 8305815: Update Libpng to 1.6.39 Reviewed-by: phh, andrew Backport-of: c1f759e9d01d646eac69442452151b0467eab306 --- THIRD_PARTY_README | 5 +- corba/THIRD_PARTY_README | 5 +- hotspot/THIRD_PARTY_README | 5 +- jaxp/THIRD_PARTY_README | 5 +- jaxws/THIRD_PARTY_README | 5 +- jdk/THIRD_PARTY_README | 5 +- jdk/src/share/native/sun/awt/libpng/CHANGES | 12 ++ jdk/src/share/native/sun/awt/libpng/LICENSE | 2 +- jdk/src/share/native/sun/awt/libpng/README | 137 +++++++++--------- jdk/src/share/native/sun/awt/libpng/png.c | 6 +- jdk/src/share/native/sun/awt/libpng/png.h | 16 +- jdk/src/share/native/sun/awt/libpng/pngconf.h | 2 +- .../share/native/sun/awt/libpng/pnglibconf.h | 2 +- jdk/src/share/native/sun/awt/libpng/pngpriv.h | 2 +- .../share/native/sun/awt/libpng/pngrutil.c | 2 +- langtools/THIRD_PARTY_README | 5 +- nashorn/THIRD_PARTY_README | 5 +- 17 files changed, 121 insertions(+), 100 deletions(-) diff --git a/THIRD_PARTY_README b/THIRD_PARTY_README index f71e8f9b49a..99a20eb52d1 100644 --- a/THIRD_PARTY_README +++ b/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.38, which may be +%% This notice is provided with respect to libpng 1.6.39, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1678,9 +1678,10 @@ Authors, for copyright and licensing purposes. * Arm Holdings - Richard Townsend * Google Inc. + - Dan Field + - Leon Scroggins III - Matt Sarett - Mike Klein - - Dan Field - Sami Boukortt The build projects, the build scripts, the test scripts, and other diff --git a/corba/THIRD_PARTY_README b/corba/THIRD_PARTY_README index ae4f4d796bf..f26a5f3ec57 100644 --- a/corba/THIRD_PARTY_README +++ b/corba/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.38, which may be +%% This notice is provided with respect to libpng 1.6.39, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1678,9 +1678,10 @@ Authors, for copyright and licensing purposes. * Arm Holdings - Richard Townsend * Google Inc. + - Dan Field + - Leon Scroggins III - Matt Sarett - Mike Klein - - Dan Field - Sami Boukortt The build projects, the build scripts, the test scripts, and other diff --git a/hotspot/THIRD_PARTY_README b/hotspot/THIRD_PARTY_README index ae4f4d796bf..f26a5f3ec57 100644 --- a/hotspot/THIRD_PARTY_README +++ b/hotspot/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.38, which may be +%% This notice is provided with respect to libpng 1.6.39, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1678,9 +1678,10 @@ Authors, for copyright and licensing purposes. * Arm Holdings - Richard Townsend * Google Inc. + - Dan Field + - Leon Scroggins III - Matt Sarett - Mike Klein - - Dan Field - Sami Boukortt The build projects, the build scripts, the test scripts, and other diff --git a/jaxp/THIRD_PARTY_README b/jaxp/THIRD_PARTY_README index ae4f4d796bf..f26a5f3ec57 100644 --- a/jaxp/THIRD_PARTY_README +++ b/jaxp/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.38, which may be +%% This notice is provided with respect to libpng 1.6.39, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1678,9 +1678,10 @@ Authors, for copyright and licensing purposes. * Arm Holdings - Richard Townsend * Google Inc. + - Dan Field + - Leon Scroggins III - Matt Sarett - Mike Klein - - Dan Field - Sami Boukortt The build projects, the build scripts, the test scripts, and other diff --git a/jaxws/THIRD_PARTY_README b/jaxws/THIRD_PARTY_README index ae4f4d796bf..f26a5f3ec57 100644 --- a/jaxws/THIRD_PARTY_README +++ b/jaxws/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.38, which may be +%% This notice is provided with respect to libpng 1.6.39, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1678,9 +1678,10 @@ Authors, for copyright and licensing purposes. * Arm Holdings - Richard Townsend * Google Inc. + - Dan Field + - Leon Scroggins III - Matt Sarett - Mike Klein - - Dan Field - Sami Boukortt The build projects, the build scripts, the test scripts, and other diff --git a/jdk/THIRD_PARTY_README b/jdk/THIRD_PARTY_README index ae4f4d796bf..f26a5f3ec57 100644 --- a/jdk/THIRD_PARTY_README +++ b/jdk/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.38, which may be +%% This notice is provided with respect to libpng 1.6.39, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1678,9 +1678,10 @@ Authors, for copyright and licensing purposes. * Arm Holdings - Richard Townsend * Google Inc. + - Dan Field + - Leon Scroggins III - Matt Sarett - Mike Klein - - Dan Field - Sami Boukortt The build projects, the build scripts, the test scripts, and other diff --git a/jdk/src/share/native/sun/awt/libpng/CHANGES b/jdk/src/share/native/sun/awt/libpng/CHANGES index 9a86869681b..468e1119a10 100644 --- a/jdk/src/share/native/sun/awt/libpng/CHANGES +++ b/jdk/src/share/native/sun/awt/libpng/CHANGES @@ -6109,6 +6109,18 @@ Version 1.6.38 [September 14, 2022] Implemented many stability improvements across all platforms. Updated the internal documentation. +Version 1.6.39 [November 20, 2022] + Changed the error handler of oversized chunks (i.e. larger than + PNG_USER_CHUNK_MALLOC_MAX) from png_chunk_error to png_benign_error. + Fixed a buffer overflow error in contrib/tools/pngfix. + Fixed a memory leak (CVE-2019-6129) in contrib/tools/pngcp. + Disabled the ARM Neon optimizations by default in the CMake file, + following the default behavior of the configure script. + Allowed configure.ac to work with the trunk version of autoconf. + Removed the support for "install" targets from the legacy makefiles; + removed the obsolete makefile.cegcc. + Cleaned up the code and updated the internal documentation. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net. Subscription is required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/jdk/src/share/native/sun/awt/libpng/LICENSE b/jdk/src/share/native/sun/awt/libpng/LICENSE index c8ad24eecf7..7ac90160ede 100644 --- a/jdk/src/share/native/sun/awt/libpng/LICENSE +++ b/jdk/src/share/native/sun/awt/libpng/LICENSE @@ -131,4 +131,4 @@ The Contributing Authors and Group 42, Inc. specifically permit, without fee, and encourage the use of this source code as a component to supporting the PNG file format in commercial products. If you use this source code in a product, acknowledgment is not required but would -be appreciated. +be appreciated. \ No newline at end of file diff --git a/jdk/src/share/native/sun/awt/libpng/README b/jdk/src/share/native/sun/awt/libpng/README index e6e72aa5472..097a3c21841 100644 --- a/jdk/src/share/native/sun/awt/libpng/README +++ b/jdk/src/share/native/sun/awt/libpng/README @@ -1,4 +1,4 @@ -README for libpng version 1.6.38 +README for libpng version 1.6.39 ================================ See the note about version numbers near the top of png.h. @@ -106,73 +106,74 @@ subscribe). Files in this distribution: - ANNOUNCE => Announcement of this version, with recent changes - AUTHORS => List of contributing authors - CHANGES => Description of changes between libpng versions - KNOWNBUG => List of known bugs and deficiencies - LICENSE => License to use and redistribute libpng - README => This file - TODO => Things not implemented in the current library - TRADEMARK => Trademark information - example.c => Example code for using libpng functions - libpng.3 => manual page for libpng (includes libpng-manual.txt) - libpng-manual.txt => Description of libpng and its functions - libpngpf.3 => manual page for libpng's private functions - png.5 => manual page for the PNG format - png.c => Basic interface functions common to library - png.h => Library function and interface declarations (public) - pngpriv.h => Library function and interface declarations (private) - pngconf.h => System specific library configuration (public) - pngstruct.h => png_struct declaration (private) - pnginfo.h => png_info struct declaration (private) - pngdebug.h => debugging macros (private) - pngerror.c => Error/warning message I/O functions - pngget.c => Functions for retrieving info from struct - pngmem.c => Memory handling functions - pngbar.png => PNG logo, 88x31 - pngnow.png => PNG logo, 98x31 - pngpread.c => Progressive reading functions - pngread.c => Read data/helper high-level functions - pngrio.c => Lowest-level data read I/O functions - pngrtran.c => Read data transformation functions - pngrutil.c => Read data utility functions - pngset.c => Functions for storing data into the info_struct - pngtest.c => Library test program - pngtest.png => Library test sample image - pngtrans.c => Common data transformation functions - pngwio.c => Lowest-level write I/O functions - pngwrite.c => High-level write functions - pngwtran.c => Write data transformations - pngwutil.c => Write utility functions - arm => Contains optimized code for the ARM platform - powerpc => Contains optimized code for the PowerPC platform - contrib => Contributions - arm-neon => Optimized code for ARM-NEON platform - powerpc-vsx => Optimized code for POWERPC-VSX platform - examples => Example programs - gregbook => source code for PNG reading and writing, from - Greg Roelofs' "PNG: The Definitive Guide", - O'Reilly, 1999 - libtests => Test programs - mips-msa => Optimized code for MIPS-MSA platform - pngminim => Minimal decoder, encoder, and progressive decoder - programs demonstrating use of pngusr.dfa - pngminus => Simple pnm2png and png2pnm programs - pngsuite => Test images - testpngs - tools => Various tools - visupng => Contains a MSVC workspace for VisualPng - intel => Optimized code for INTEL-SSE2 platform - mips => Optimized code for MIPS platform - projects => Contains project files and workspaces for - building a DLL - owatcom => Contains a WATCOM project for building libpng - visualc71 => Contains a Microsoft Visual C++ (MSVC) - workspace for building libpng and zlib - vstudio => Contains a Microsoft Visual C++ (MSVC) - workspace for building libpng and zlib - scripts => Directory containing scripts for building libpng: - (see scripts/README.txt for the list of scripts) + ANNOUNCE => Announcement of this version, with recent changes + AUTHORS => List of contributing authors + CHANGES => Description of changes between libpng versions + INSTALL => Instructions to install libpng + LICENSE => License to use and redistribute libpng + README => This file + TODO => Things not implemented in the current library + TRADEMARK => Trademark information + example.c => Example code for using libpng functions + libpng.3 => Manual page for libpng (includes libpng-manual.txt) + libpng-manual.txt => Description of libpng and its functions + libpngpf.3 => Manual page for libpng's private functions (deprecated) + png.5 => Manual page for the PNG format + png.c => Basic interface functions common to library + png.h => Library function and interface declarations (public) + pngpriv.h => Library function and interface declarations (private) + pngconf.h => System specific library configuration (public) + pngstruct.h => png_struct declaration (private) + pnginfo.h => png_info struct declaration (private) + pngdebug.h => debugging macros (private) + pngerror.c => Error/warning message I/O functions + pngget.c => Functions for retrieving info from struct + pngmem.c => Memory handling functions + pngbar.png => PNG logo, 88x31 + pngnow.png => PNG logo, 98x31 + pngpread.c => Progressive reading functions + pngread.c => Read data/helper high-level functions + pngrio.c => Lowest-level data read I/O functions + pngrtran.c => Read data transformation functions + pngrutil.c => Read data utility functions + pngset.c => Functions for storing data into the info_struct + pngtest.c => Library test program + pngtest.png => Library test sample image + pngtrans.c => Common data transformation functions + pngwio.c => Lowest-level write I/O functions + pngwrite.c => High-level write functions + pngwtran.c => Write data transformations + pngwutil.c => Write utility functions + arm/ => Optimized code for the ARM platform + intel/ => Optimized code for the INTEL-SSE2 platform + mips/ => Optimized code for the MIPS platform + powerpc/ => Optimized code for the PowerPC platform + ci/ => Scripts for continuous integration + contrib/ => External contributions + arm-neon/ => Optimized code for the ARM-NEON platform + mips-msa/ => Optimized code for the MIPS-MSA platform + powerpc-vsx/ => Optimized code for the POWERPC-VSX platform + examples/ => Example programs + gregbook/ => Source code for PNG reading and writing, from + "PNG: The Definitive Guide" by Greg Roelofs, + O'Reilly, 1999 + libtests/ => Test programs + oss-fuzz/ => Files used by the OSS-Fuzz project for fuzz-testing + libpng + pngminim/ => Minimal decoder, encoder, and progressive decoder + programs demonstrating the use of pngusr.dfa + pngminus/ => Simple pnm2png and png2pnm programs + pngsuite/ => Test images + testpngs/ => Test images + tools/ => Various tools + visupng/ => VisualPng, a Windows viewer for PNG images + projects/ => Project files and workspaces for various IDEs + owatcom/ => OpenWatcom project + visualc71/ => Microsoft Visual C++ 7.1 workspace + vstudio/ => Microsoft Visual Studio workspace + scripts/ => Scripts and makefiles for building libpng + (see scripts/README.txt for the complete list) + tests/ => Test scripts Good luck, and happy coding! diff --git a/jdk/src/share/native/sun/awt/libpng/png.c b/jdk/src/share/native/sun/awt/libpng/png.c index ba608f128ab..30181b6ff7c 100644 --- a/jdk/src/share/native/sun/awt/libpng/png.c +++ b/jdk/src/share/native/sun/awt/libpng/png.c @@ -42,7 +42,7 @@ #include "pngpriv.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef png_libpng_version_1_6_38 Your_png_h_is_not_version_1_6_38; +typedef png_libpng_version_1_6_39 Your_png_h_is_not_version_1_6_39; #ifdef __GNUC__ /* The version tests may need to be added to, but the problem warning has @@ -843,7 +843,7 @@ png_get_copyright(png_const_structrp png_ptr) return PNG_STRING_COPYRIGHT #else return PNG_STRING_NEWLINE \ - "libpng version 1.6.38" PNG_STRING_NEWLINE \ + "libpng version 1.6.39" PNG_STRING_NEWLINE \ "Copyright (c) 2018-2022 Cosmin Truta" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \ PNG_STRING_NEWLINE \ @@ -2738,7 +2738,7 @@ png_check_IHDR(png_const_structrp png_ptr, int /* PRIVATE */ png_check_fp_number(png_const_charp string, size_t size, int *statep, - png_size_tp whereami) + size_t *whereami) { int state = *statep; size_t i = *whereami; diff --git a/jdk/src/share/native/sun/awt/libpng/png.h b/jdk/src/share/native/sun/awt/libpng/png.h index aeff31573c7..3d9fa03de66 100644 --- a/jdk/src/share/native/sun/awt/libpng/png.h +++ b/jdk/src/share/native/sun/awt/libpng/png.h @@ -29,7 +29,7 @@ * However, the following notice accompanied the original version of this * file and, per its terms, should not be removed: * - * libpng version 1.6.38 - September 14, 2022 + * libpng version 1.6.39 - November 20, 2022 * * Copyright (c) 2018-2022 Cosmin Truta * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson @@ -43,7 +43,7 @@ * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger * libpng versions 0.97, January 1998, through 1.6.35, July 2018: * Glenn Randers-Pehrson - * libpng versions 1.6.36, December 2018, through 1.6.38, September 2022: + * libpng versions 1.6.36, December 2018, through 1.6.39, November 2022: * Cosmin Truta * See also "Contributing Authors", below. */ @@ -267,7 +267,7 @@ * ... * 1.5.30 15 10530 15.so.15.30[.0] * ... - * 1.6.38 16 10638 16.so.16.38[.0] + * 1.6.39 16 10639 16.so.16.39[.0] * * Henceforth the source version will match the shared-library major and * minor numbers; the shared-library major version number will be used for @@ -306,8 +306,8 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.6.38" -#define PNG_HEADER_VERSION_STRING " libpng version 1.6.38 - September 14, 2022\n" +#define PNG_LIBPNG_VER_STRING "1.6.39" +#define PNG_HEADER_VERSION_STRING " libpng version 1.6.39 - November 20, 2022\n" #define PNG_LIBPNG_VER_SONUM 16 #define PNG_LIBPNG_VER_DLLNUM 16 @@ -315,7 +315,7 @@ /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ #define PNG_LIBPNG_VER_MAJOR 1 #define PNG_LIBPNG_VER_MINOR 6 -#define PNG_LIBPNG_VER_RELEASE 38 +#define PNG_LIBPNG_VER_RELEASE 39 /* This should be zero for a public release, or non-zero for a * development version. [Deprecated] @@ -346,7 +346,7 @@ * From version 1.0.1 it is: * XXYYZZ, where XX=major, YY=minor, ZZ=release */ -#define PNG_LIBPNG_VER 10638 /* 1.6.38 */ +#define PNG_LIBPNG_VER 10639 /* 1.6.39 */ /* Library configuration: these options cannot be changed after * the library has been built. @@ -456,7 +456,7 @@ extern "C" { /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef char* png_libpng_version_1_6_38; +typedef char* png_libpng_version_1_6_39; /* Basic control structions. Read libpng-manual.txt or libpng.3 for more info. * diff --git a/jdk/src/share/native/sun/awt/libpng/pngconf.h b/jdk/src/share/native/sun/awt/libpng/pngconf.h index e95fa34ad7a..d11e9ac346a 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngconf.h +++ b/jdk/src/share/native/sun/awt/libpng/pngconf.h @@ -29,7 +29,7 @@ * However, the following notice accompanied the original version of this * file and, per its terms, should not be removed: * - * libpng version 1.6.38 + * libpng version 1.6.39 * * Copyright (c) 2018-2022 Cosmin Truta * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson diff --git a/jdk/src/share/native/sun/awt/libpng/pnglibconf.h b/jdk/src/share/native/sun/awt/libpng/pnglibconf.h index b3dc39a45be..f6923c01e9f 100644 --- a/jdk/src/share/native/sun/awt/libpng/pnglibconf.h +++ b/jdk/src/share/native/sun/awt/libpng/pnglibconf.h @@ -31,7 +31,7 @@ * However, the following notice accompanied the original version of this * file and, per its terms, should not be removed: */ -/* libpng version 1.6.38 */ +/* libpng version 1.6.39 */ /* Copyright (c) 2018-2022 Cosmin Truta */ /* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */ diff --git a/jdk/src/share/native/sun/awt/libpng/pngpriv.h b/jdk/src/share/native/sun/awt/libpng/pngpriv.h index ed44512ef20..ec473298068 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngpriv.h +++ b/jdk/src/share/native/sun/awt/libpng/pngpriv.h @@ -1974,7 +1974,7 @@ PNG_INTERNAL_FUNCTION(void,png_ascii_from_fixed,(png_const_structrp png_ptr, * the problem character.) This has not been tested within libpng. */ PNG_INTERNAL_FUNCTION(int,png_check_fp_number,(png_const_charp string, - size_t size, int *statep, png_size_tp whereami),PNG_EMPTY); + size_t size, int *statep, size_t *whereami),PNG_EMPTY); /* This is the same but it checks a complete string and returns true * only if it just contains a floating point number. As of 1.5.4 this diff --git a/jdk/src/share/native/sun/awt/libpng/pngrutil.c b/jdk/src/share/native/sun/awt/libpng/pngrutil.c index d41a6d09b27..524297c5a10 100644 --- a/jdk/src/share/native/sun/awt/libpng/pngrutil.c +++ b/jdk/src/share/native/sun/awt/libpng/pngrutil.c @@ -3214,7 +3214,7 @@ png_check_chunk_length(png_const_structrp png_ptr, png_uint_32 length) { png_debug2(0," length = %lu, limit = %lu", (unsigned long)length,(unsigned long)limit); - png_chunk_error(png_ptr, "chunk data is too large"); + png_benign_error(png_ptr, "chunk data is too large"); } } diff --git a/langtools/THIRD_PARTY_README b/langtools/THIRD_PARTY_README index ae4f4d796bf..f26a5f3ec57 100644 --- a/langtools/THIRD_PARTY_README +++ b/langtools/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.38, which may be +%% This notice is provided with respect to libpng 1.6.39, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1678,9 +1678,10 @@ Authors, for copyright and licensing purposes. * Arm Holdings - Richard Townsend * Google Inc. + - Dan Field + - Leon Scroggins III - Matt Sarett - Mike Klein - - Dan Field - Sami Boukortt The build projects, the build scripts, the test scripts, and other diff --git a/nashorn/THIRD_PARTY_README b/nashorn/THIRD_PARTY_README index ae4f4d796bf..f26a5f3ec57 100644 --- a/nashorn/THIRD_PARTY_README +++ b/nashorn/THIRD_PARTY_README @@ -1472,7 +1472,7 @@ included with JDK 8 and OpenJDK 8 source distributions. ------------------------------------------------------------------------------- -%% This notice is provided with respect to libpng 1.6.38, which may be +%% This notice is provided with respect to libpng 1.6.39, which may be included with JRE 8, JDK 8, and OpenJDK 8. --- begin of LICENSE --- @@ -1678,9 +1678,10 @@ Authors, for copyright and licensing purposes. * Arm Holdings - Richard Townsend * Google Inc. + - Dan Field + - Leon Scroggins III - Matt Sarett - Mike Klein - - Dan Field - Sami Boukortt The build projects, the build scripts, the test scripts, and other From 27058b26e6fff1c10eefe2cc3dd026c4418f65f9 Mon Sep 17 00:00:00 2001 From: Zdenek Zambersky Date: Mon, 2 Oct 2023 10:25:04 +0000 Subject: [PATCH 16/27] 8307837: [8u] Check step in GHA should also print errors Reviewed-by: andrew --- .github/workflows/submit.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/submit.yml b/.github/workflows/submit.yml index 83a8c98a30d..b0a4e7b952e 100644 --- a/.github/workflows/submit.yml +++ b/.github/workflows/submit.yml @@ -277,7 +277,7 @@ jobs: run: > if cat test-results/testoutput/*/exitcode.txt | grep -q -v '^0$' || ! cat test-results/testoutput/*/Stats.txt | grep -q 'fail=0' ; then - cat test-results/testoutput/*/JTreport/text/newfailures.txt ; + cat test-results/testoutput/*/JTreport/text/{newfailures,other_errors}.txt ; exit 1 ; fi @@ -638,7 +638,7 @@ jobs: run: > if cat test-results/testoutput/*/exitcode.txt | grep -q -v '^0$' || ! cat test-results/testoutput/*/Stats.txt | grep -q 'fail=0' ; then - cat test-results/testoutput/*/JTreport/text/newfailures.txt ; + cat test-results/testoutput/*/JTreport/text/{newfailures,other_errors}.txt ; exit 1 ; fi @@ -1143,6 +1143,7 @@ jobs: run: > if ((Get-ChildItem -Path test-results\testoutput\*\exitcode.txt -Recurse | Select-String -Pattern '^0$' -NotMatch ).Count -gt 0) { Get-Content -Path test-results\testoutput\*\JTreport\text\newfailures.txt ; + Get-Content -Path test-results\testoutput\*\JTreport\text\other_errors.txt ; exit 1 } @@ -1299,6 +1300,7 @@ jobs: run: > if ((Get-ChildItem -Path test-results\testoutput\*\exitcode.txt -Recurse | Select-String -Pattern '^0$' -NotMatch ).Count -gt 0) { Get-Content -Path test-results\testoutput\*\JTreport\text\newfailures.txt ; + Get-Content -Path test-results\testoutput\*\JTreport\text\other_errors.txt ; exit 1 } @@ -1529,7 +1531,7 @@ jobs: run: > if cat test-results/testoutput/*/exitcode.txt | grep -q -v '^0$' || ! cat test-results/testoutput/*/Stats.txt | grep -q 'fail=0' ; then - cat test-results/testoutput/*/JTreport/text/newfailures.txt ; + cat test-results/testoutput/*/JTreport/text/{newfailures,other_errors}.txt ; exit 1 ; fi From 27608e1e36154fcbedc627bc2afa965b1a06ebfb Mon Sep 17 00:00:00 2001 From: Yuri Nesterenko Date: Thu, 5 Oct 2023 16:39:59 +0000 Subject: [PATCH 17/27] 8242330: Arrays should be cloned in several JAAS Callback classes Reviewed-by: andrew Backport-of: 8cd9241448f818b5e307d408ac4395b518791096 --- .../auth/callback/ChoiceCallback.java | 18 ++-- .../auth/callback/ConfirmationCallback.java | 25 +++-- .../security/auth/callback/Mutability.java | 96 +++++++++++++++++++ 3 files changed, 121 insertions(+), 18 deletions(-) create mode 100644 jdk/test/javax/security/auth/callback/Mutability.java diff --git a/jdk/src/share/classes/javax/security/auth/callback/ChoiceCallback.java b/jdk/src/share/classes/javax/security/auth/callback/ChoiceCallback.java index 215a8dd790e..3887f0953de 100644 --- a/jdk/src/share/classes/javax/security/auth/callback/ChoiceCallback.java +++ b/jdk/src/share/classes/javax/security/auth/callback/ChoiceCallback.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,23 +41,23 @@ public class ChoiceCallback implements Callback, java.io.Serializable { * @serial * @since 1.4 */ - private String prompt; + private final String prompt; /** * @serial the list of choices * @since 1.4 */ - private String[] choices; + private final String[] choices; /** * @serial the choice to be used as the default choice * @since 1.4 */ - private int defaultChoice; + private final int defaultChoice; /** * @serial whether multiple selections are allowed from the list of * choices * @since 1.4 */ - private boolean multipleSelectionsAllowed; + private final boolean multipleSelectionsAllowed; /** * @serial the selected choices, represented as indexes into the * {@code choices} list. @@ -109,7 +109,7 @@ public ChoiceCallback(String prompt, String[] choices, } this.prompt = prompt; - this.choices = choices; + this.choices = choices.clone(); this.defaultChoice = defaultChoice; this.multipleSelectionsAllowed = multipleSelectionsAllowed; } @@ -133,7 +133,7 @@ public String getPrompt() { * @return the list of choices. */ public String[] getChoices() { - return choices; + return choices.clone(); } /** @@ -192,7 +192,7 @@ public void setSelectedIndex(int selection) { public void setSelectedIndexes(int[] selections) { if (!multipleSelectionsAllowed) throw new UnsupportedOperationException(); - this.selections = selections; + this.selections = selections == null ? null : selections.clone(); } /** @@ -206,6 +206,6 @@ public void setSelectedIndexes(int[] selections) { * @see #setSelectedIndexes */ public int[] getSelectedIndexes() { - return selections; + return selections == null ? null : selections.clone(); } } diff --git a/jdk/src/share/classes/javax/security/auth/callback/ConfirmationCallback.java b/jdk/src/share/classes/javax/security/auth/callback/ConfirmationCallback.java index 2d85c463ca9..005ff6333fe 100644 --- a/jdk/src/share/classes/javax/security/auth/callback/ConfirmationCallback.java +++ b/jdk/src/share/classes/javax/security/auth/callback/ConfirmationCallback.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -120,31 +120,32 @@ public class ConfirmationCallback implements Callback, java.io.Serializable { /** ERROR message type. */ public static final int ERROR = 2; + /** * @serial * @since 1.4 */ - private String prompt; + private final String prompt; /** * @serial * @since 1.4 */ - private int messageType; + private final int messageType; /** * @serial * @since 1.4 */ - private int optionType = UNSPECIFIED_OPTION; + private final int optionType; /** * @serial * @since 1.4 */ - private int defaultOption; + private final int defaultOption; /** * @serial * @since 1.4 */ - private String[] options; + private final String[] options; /** * @serial * @since 1.4 @@ -206,8 +207,10 @@ public ConfirmationCallback(int messageType, break; } + this.prompt = null; this.messageType = messageType; this.optionType = optionType; + this.options = null; this.defaultOption = defaultOption; } @@ -255,8 +258,10 @@ public ConfirmationCallback(int messageType, throw new IllegalArgumentException(); } + this.prompt = null; this.messageType = messageType; - this.options = options; + this.optionType = UNSPECIFIED_OPTION; + this.options = options.clone(); this.defaultOption = defaultOption; } @@ -323,6 +328,7 @@ public ConfirmationCallback(String prompt, int messageType, this.prompt = prompt; this.messageType = messageType; this.optionType = optionType; + this.options = null; this.defaultOption = defaultOption; } @@ -377,7 +383,8 @@ public ConfirmationCallback(String prompt, int messageType, this.prompt = prompt; this.messageType = messageType; - this.options = options; + this.optionType = UNSPECIFIED_OPTION; + this.options = options.clone(); this.defaultOption = defaultOption; } @@ -437,7 +444,7 @@ public int getOptionType() { * an {@code optionType} instead of {@code options}. */ public String[] getOptions() { - return options; + return options == null ? null : options.clone(); } /** diff --git a/jdk/test/javax/security/auth/callback/Mutability.java b/jdk/test/javax/security/auth/callback/Mutability.java new file mode 100644 index 00000000000..2c77a4e3ab3 --- /dev/null +++ b/jdk/test/javax/security/auth/callback/Mutability.java @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8242330 + * @library /lib/testlibrary + * @summary Arrays should be cloned in several JAAS Callback classes + */ + +import javax.security.auth.callback.ChoiceCallback; +import javax.security.auth.callback.ConfirmationCallback; + +import static jdk.testlibrary.Asserts.assertEQ; + +public class Mutability { + public static void main(String[] args) { + + // #1. ConfirmationCallback.new(3) + String[] i11 = {"1", "2"}; + ConfirmationCallback c1 = new ConfirmationCallback( + ConfirmationCallback.INFORMATION, + i11, + 0); + + // Modify argument of constructor + i11[0] = "x"; + String[] o11 = c1.getOptions(); + assertEQ(o11[0], "1"); + // Modify output + o11[0] = "y"; + String[] o12 = c1.getOptions(); + assertEQ(o12[0], "1"); + + // #2. ConfirmationCallback.new(4) + String[] i21 = {"1", "2"}; + ConfirmationCallback c2 = new ConfirmationCallback( + "Hi", + ConfirmationCallback.INFORMATION, + i21, + 0); + + // Modify argument of constructor + i21[0] = "x"; + assertEQ(c2.getOptions()[0], "1"); + + // #3. ChoiceCallback.new + String[] i31 = {"1", "2"}; + ChoiceCallback c3 = new ChoiceCallback( + "Hi", + i31, + 0, + true); + + // Modify argument of constructor + i31[0] = "x"; + String[] o31 = c3.getChoices(); + assertEQ(o31[0], "1"); + // Modify output of getChoices + o31[0] = "y"; + String[] o32 = c3.getChoices(); + assertEQ(o32[0], "1"); + + int[] s31 = {0, 1}; + c3.setSelectedIndexes(s31); + + // Modify argument of setSelectedIndexes + s31[0] = 1; + int[] s32 = c3.getSelectedIndexes(); + assertEQ(s32[0], 0); + // Modify output of getSelectedIndexes + s32[1] = 0; + int[] s33 = c3.getSelectedIndexes(); + assertEQ(s33[1], 1); + } +} From edef564a8b544d9d1f42bc4c95fb693e88beab22 Mon Sep 17 00:00:00 2001 From: Ilarion Nakonechnyy Date: Mon, 16 Oct 2023 06:31:39 +0000 Subject: [PATCH 18/27] 8207404: MulticastSocket tests failing on AIX Reviewed-by: phh Backport-of: bc651663e31ddf05d59bfe6fc7a70c3a7ed708af --- .../java/net/MulticastSocket/JoinLeave.java | 17 +- .../SetGetNetworkInterfaceTest.java | 117 +++------ jdk/test/java/net/MulticastSocket/Test.java | 77 +++--- .../jdk/test/lib/NetworkConfiguration.java | 223 ++++++++++++++---- 4 files changed, 239 insertions(+), 195 deletions(-) diff --git a/jdk/test/java/net/MulticastSocket/JoinLeave.java b/jdk/test/java/net/MulticastSocket/JoinLeave.java index 93dd93930b6..684dd1ebd21 100644 --- a/jdk/test/java/net/MulticastSocket/JoinLeave.java +++ b/jdk/test/java/net/MulticastSocket/JoinLeave.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,13 +21,15 @@ * questions. */ -/* +/** * @test * @bug 4091811 4148753 4102731 * @summary Test java.net.MulticastSocket joinGroup and leaveGroup - * @library /lib/testlibrary - * @build jdk.testlibrary.NetworkConfiguration + * @library /lib + * @build jdk.test.lib.NetworkConfiguration + * jdk.test.lib.Platform * @run main JoinLeave + * @run main/othervm -Djava.net.preferIPv4Stack=true JoinLeave */ import java.io.IOException; @@ -35,11 +37,11 @@ import java.net.InetAddress; import java.net.MulticastSocket; import java.net.NetworkInterface; -import jdk.testlibrary.NetworkConfiguration; +import jdk.test.lib.NetworkConfiguration; public class JoinLeave { - public static void main(String args[]) throws IOException { + public static void main(String args[]) throws IOException { InetAddress ip4Group = InetAddress.getByName("224.80.80.80"); InetAddress ip6Group = InetAddress.getByName("ff02::a"); @@ -48,8 +50,7 @@ public static void main(String args[]) throws IOException { nc.ip6MulticastInterfaces().forEach(nic -> joinLeave(ip6Group, nic)); } - static void joinLeave(InetAddress group, NetworkInterface nif) - { + static void joinLeave(InetAddress group, NetworkInterface nif) { System.out.println("Joining:" + group + " on " + nif); try (MulticastSocket soc = new MulticastSocket()) { soc.setNetworkInterface(nif); diff --git a/jdk/test/java/net/MulticastSocket/SetGetNetworkInterfaceTest.java b/jdk/test/java/net/MulticastSocket/SetGetNetworkInterfaceTest.java index b46bdbedbce..50f09885d05 100644 --- a/jdk/test/java/net/MulticastSocket/SetGetNetworkInterfaceTest.java +++ b/jdk/test/java/net/MulticastSocket/SetGetNetworkInterfaceTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,105 +21,50 @@ * questions. */ - -/* - * @test - * @bug 6458027 - * @summary Disabling IPv6 on a specific network interface causes problems. - * - */ - import java.io.IOException; -import java.net.InetAddress; +import java.io.UncheckedIOException; import java.net.MulticastSocket; import java.net.NetworkInterface; -import java.net.SocketException; -import java.util.Arrays; -import java.util.Enumeration; +import jdk.test.lib.NetworkConfiguration; -public class SetGetNetworkInterfaceTest { +/** + * @test + * @bug 6458027 + * @summary Disabling IPv6 on a specific network interface causes problems. + * @library /lib + * @build jdk.test.lib.NetworkConfiguration + * jdk.test.lib.Platform + * @run main SetGetNetworkInterfaceTest + * @run main/othervm -Djava.net.preferIPv4Stack=true SetGetNetworkInterfaceTest +*/ +public class SetGetNetworkInterfaceTest { public static void main(String[] args) throws Exception { - - boolean passed = true; - try { - MulticastSocket ms = new MulticastSocket(); - Enumeration networkInterfaces = NetworkInterface - .getNetworkInterfaces(); - while (networkInterfaces.hasMoreElements()) { - NetworkInterface netIf = networkInterfaces.nextElement(); - if (isNetworkInterfaceTestable(netIf)) { - printNetIfDetails(netIf); - ms.setNetworkInterface(netIf); - NetworkInterface msNetIf = ms.getNetworkInterface(); - if (netIf.equals(msNetIf)) { - System.out.println(" OK"); - } else { - System.out.println("FAILED!!!"); - printNetIfDetails(msNetIf); - passed = false; - } - System.out.println("------------------"); - } - } + NetworkConfiguration nc = NetworkConfiguration.probe(); + try (MulticastSocket ms = new MulticastSocket()) { + nc.multicastInterfaces(true).forEach(nif -> setGetNetworkInterface(ms, nif)); } catch (IOException e) { e.printStackTrace(); - passed = false; } - if (!passed) { - throw new RuntimeException("Test Fail"); - } - System.out.println("Test passed "); - } - - private static boolean isNetworkInterfaceTestable(NetworkInterface netIf) throws Exception { - System.out.println("checking netif == " + netIf.getName()); - return (netIf.isUp() && netIf.supportsMulticast() && isIpAddrAvailable(netIf)); + System.out.println("Test passed."); } - private static boolean isIpAddrAvailable (NetworkInterface netIf) { - boolean ipAddrAvailable = false; - byte[] nullIpAddr = {'0', '0', '0', '0'}; - byte[] testIpAddr = null; - - Enumeration ipAddresses = netIf.getInetAddresses(); - while (ipAddresses.hasMoreElements()) { - InetAddress testAddr = ipAddresses.nextElement(); - testIpAddr = testAddr.getAddress(); - if ((testIpAddr != null) && (!Arrays.equals(testIpAddr, nullIpAddr))) { - ipAddrAvailable = true; - break; + static void setGetNetworkInterface(MulticastSocket ms, NetworkInterface nif) { + try { + System.out.println(NetworkConfiguration.interfaceInformation(nif)); + ms.setNetworkInterface(nif); + NetworkInterface msNetIf = ms.getNetworkInterface(); + if (nif.equals(msNetIf)) { + System.out.println(" OK"); } else { - System.out.println("ignore netif " + netIf.getName()); - } - } - return ipAddrAvailable; - } - - private static void printNetIfDetails(NetworkInterface ni) - throws SocketException { - System.out.println("Name " + ni.getName() + " index " + ni.getIndex()); - Enumeration en = ni.getInetAddresses(); - while (en.hasMoreElements()) { - System.out.println(" InetAdress: " + en.nextElement()); - } - System.out.println("HardwareAddress: " + createMacAddrString(ni)); - System.out.println("loopback: " + ni.isLoopback() + "; pointToPoint: " - + ni.isPointToPoint() + "; virtual: " + ni.isVirtual() - + "; MTU: " + ni.getMTU()); - } - - private static String createMacAddrString(NetworkInterface netIf) - throws SocketException { - byte[] macAddr = netIf.getHardwareAddress(); - StringBuilder sb = new StringBuilder(); - if (macAddr != null) { - for (int i = 0; i < macAddr.length; i++) { - sb.append(String.format("%02X%s", macAddr[i], - (i < macAddr.length - 1) ? "-" : "")); + System.out.println("FAILED!!!"); + System.out.println(NetworkConfiguration.interfaceInformation(msNetIf)); + throw new RuntimeException("Test Fail"); } + System.out.println("------------------"); + } catch (IOException e) { + throw new UncheckedIOException(e); } - return sb.toString(); } } diff --git a/jdk/test/java/net/MulticastSocket/Test.java b/jdk/test/java/net/MulticastSocket/Test.java index 53fa961d2d4..63629e0dd90 100644 --- a/jdk/test/java/net/MulticastSocket/Test.java +++ b/jdk/test/java/net/MulticastSocket/Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,21 +21,31 @@ * questions. */ -/* +import java.io.IOException; +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.net.MulticastSocket; +import java.net.SocketTimeoutException; + +import jdk.test.lib.NetworkConfiguration; + +/** * @test * @bug 4488458 * @summary IPv4 and IPv6 multicasting broken on Linux + * @library /lib + * @build jdk.test.lib.NetworkConfiguration + * jdk.test.lib.Platform + * @run main Test + * @run main/othervm -Djava.net.preferIPv4Stack=true Test */ -import java.net.*; -import java.io.IOException; -import java.util.Enumeration; - public class Test { static int count = 0; static int failures = 0; - void doTest(String address) throws Exception { + void doTest(String address) throws IOException { boolean failed = false; InetAddress ia = InetAddress.getByName(address); @@ -61,7 +71,7 @@ void doTest(String address) throws Exception { /* packets should be received */ - for (int j=0; j<2; j++) { + for (int j = 0; j < 2; j++) { p.setAddress(ia); p.setPort(port); @@ -123,59 +133,26 @@ void doTest(String address) throws Exception { } } - void allTests() throws Exception { + void allTests() throws IOException { + NetworkConfiguration nc = NetworkConfiguration.probe(); - /* - * Assume machine has IPv4 address - */ + // unconditionally test IPv4 address doTest("224.80.80.80"); - /* - * Check if IPv6 is enabled and the scope of the addresses - */ - boolean has_ipv6 = false; - boolean has_siteaddress = false; - boolean has_linklocaladdress = false; - boolean has_globaladdress = false; - - Enumeration nifs = NetworkInterface.getNetworkInterfaces(); - while (nifs.hasMoreElements()) { - NetworkInterface ni = (NetworkInterface)nifs.nextElement(); - Enumeration addrs = ni.getInetAddresses(); - - while (addrs.hasMoreElements()) { - InetAddress ia = (InetAddress)addrs.nextElement(); - - if (ia instanceof Inet6Address) { - has_ipv6 = true; - if (ia.isLinkLocalAddress()) has_linklocaladdress = true; - if (ia.isSiteLocalAddress()) has_siteaddress = true; - - if (!ia.isLinkLocalAddress() && - !ia.isSiteLocalAddress() && - !ia.isLoopbackAddress()) { - has_globaladdress = true; - } - } - } - } - - /* - * If IPv6 is enabled perform multicast tests with various scopes - */ - if (has_ipv6) { + // If IPv6 is enabled perform multicast tests with various scopes + if (nc.hasTestableIPv6Address()) { doTest("ff01::a"); } - if (has_linklocaladdress) { + if (nc.hasLinkLocalAddress()) { doTest("ff02::a"); } - if (has_siteaddress) { + if (nc.hasSiteLocalAddress()) { doTest("ff05::a"); } - if (has_globaladdress) { + if (nc.has_globaladdress()) { doTest("ff0e::a"); } } @@ -186,7 +163,7 @@ public static void main(String args[]) throws Exception { if (args.length == 0) { t.allTests(); } else { - for (int i=0; i> ip4Interfaces; private Map> ip6Interfaces; + private final boolean isIPv6Available; + private boolean has_testableipv6address = false; + private boolean has_sitelocaladdress = false; + private boolean has_linklocaladdress = false; + private boolean has_globaladdress = false; private NetworkConfiguration( Map> ip4Interfaces, Map> ip6Interfaces) { this.ip4Interfaces = ip4Interfaces; this.ip6Interfaces = ip6Interfaces; + + // initialize properties that can be queried + isIPv6Available = !ip6Interfaces().collect(Collectors.toList()).isEmpty(); + ip6Interfaces().forEach(nif -> { + ip6Addresses(nif) + // On Solaris or AIX, a configuration with only local or loopback + // addresses does not fully enable IPv6 operations. + // E.g. IPv6 multicasting does not work. + // So, don't set has_testableipv6address if we only find these. + .filter(addr -> Platform.isSolaris() || Platform.isAix() ? + !(addr.isAnyLocalAddress() || addr.isLoopbackAddress()) : true) + .forEach(ia -> { + has_testableipv6address = true; + if (ia.isLinkLocalAddress()) has_linklocaladdress = true; + if (ia.isSiteLocalAddress()) has_sitelocaladdress = true; + + if (!ia.isLinkLocalAddress() && + !ia.isSiteLocalAddress() && + !ia.isLoopbackAddress()) { + has_globaladdress = true; + } + }); + }); + } + + private static boolean isNotExcludedInterface(NetworkInterface nif) { + if (Platform.isOSX() && nif.getName().contains("awdl")) { + return false; + } + if (Platform.isWindows()) { + String dName = nif.getDisplayName(); + if (dName != null && dName.contains("Teredo")) { + return false; + } + } + return true; + } + + private static boolean isNotLoopback(NetworkInterface nif) { + try { + return !nif.isLoopback(); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + + private boolean hasIp4Addresses(NetworkInterface nif) { + return ip4Interfaces.get(nif).stream().anyMatch(a -> !a.isAnyLocalAddress()); + } + + private boolean hasIp6Addresses(NetworkInterface nif) { + return ip6Interfaces.get(nif).stream().anyMatch(a -> !a.isAnyLocalAddress()); + } + + private boolean supportsIp4Multicast(NetworkInterface nif) { + try { + if (!nif.supportsMulticast()) { + return false; + } + + // On AIX there is a bug: + // When IPv6 is enabled on the system, the JDK opens sockets as AF_INET6. + // If there's an interface configured with IPv4 addresses only, it should + // be able to become the network interface for a multicast socket (that + // could be in both, IPv4 or IPv6 space). But both possible setsockopt + // calls for either IPV6_MULTICAST_IF or IP_MULTICAST_IF return + // EADDRNOTAVAIL. So we must skip such interfaces here. + if (Platform.isAix() && isIPv6Available() && !hasIp6Addresses(nif)) { + return false; + } + + return hasIp4Addresses(nif); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + + private boolean supportsIp6Multicast(NetworkInterface nif) { + try { + if (!nif.supportsMulticast()) { + return false; + } + + return hasIp6Addresses(nif); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + + /** + * Returns whether IPv6 is available at all. + * This should resemble the result of native ipv6_available() in net_util.c + */ + public boolean isIPv6Available() { + return isIPv6Available; + } + + /** + * Does any (usable) IPv6 address exist in the network configuration? + */ + public boolean hasTestableIPv6Address() { + return has_testableipv6address; + } + + /** + * Does any site local address exist? + */ + public boolean hasSiteLocalAddress() { + return has_sitelocaladdress; + } + + /** + * Does any link local address exist? + */ + public boolean hasLinkLocalAddress() { + return has_linklocaladdress; + } + + /** + * Does any global IPv6 address exist? + */ + public boolean has_globaladdress() { + return has_globaladdress; } /** @@ -72,7 +200,7 @@ public Stream ip4Interfaces() { return ip4Interfaces.keySet() .stream() .filter(NetworkConfiguration::isNotExcludedInterface) - .filter(hasIp4Addresses); + .filter(this::hasIp4Addresses); } /** @@ -82,63 +210,56 @@ public Stream ip6Interfaces() { return ip6Interfaces.keySet() .stream() .filter(NetworkConfiguration::isNotExcludedInterface) - .filter(hasIp6Addresses); + .filter(this::hasIp6Addresses); } - private static boolean isNotExcludedInterface(NetworkInterface nif) { - if (Platform.isOSX() && nif.getName().contains("awdl")) { - return false; - } - String dName = nif.getDisplayName(); - if (Platform.isWindows() && dName != null && dName.contains("Teredo")) { - return false; - } - return true; + /** + * Returns a stream of interfaces suitable for functional tests. + */ + public Stream multicastInterfaces(boolean includeLoopback) { + return Stream + .concat(ip4MulticastInterfaces(includeLoopback), + ip6MulticastInterfaces(includeLoopback)) + .distinct(); } - private final Predicate hasIp4Addresses = nif -> - ip4Interfaces.get(nif).stream().anyMatch(a -> !a.isAnyLocalAddress()); - - private final Predicate hasIp6Addresses = nif -> - ip6Interfaces.get(nif).stream().anyMatch(a -> !a.isAnyLocalAddress()); - - /** * Returns a stream of interfaces suitable for IPv4 multicast tests. + * + * The loopback interface will not be included. */ public Stream ip4MulticastInterfaces() { - return ip4Interfaces().filter(supportsIp4Multicast); + return ip4MulticastInterfaces(false); + } + + /** + * Returns a stream of interfaces suitable for IPv4 multicast tests. + */ + public Stream ip4MulticastInterfaces(boolean includeLoopback) { + return (includeLoopback) ? + ip4Interfaces().filter(this::supportsIp4Multicast) : + ip4Interfaces().filter(this::supportsIp4Multicast) + .filter(NetworkConfiguration::isNotLoopback); } /** * Returns a stream of interfaces suitable for IPv6 multicast tests. + * + * The loopback interface will not be included. */ public Stream ip6MulticastInterfaces() { - return ip6Interfaces().filter(supportsIp6Multicast); + return ip6MulticastInterfaces(false); } - private final Predicate supportsIp4Multicast = nif -> { - try { - if (!nif.supportsMulticast() || nif.isLoopback()) { - return false; - } - return hasIp4Addresses.test(nif); - } catch (IOException e) { - throw new UncheckedIOException(e); - } - }; - - private final Predicate supportsIp6Multicast = nif -> { - try { - if (!nif.supportsMulticast() || nif.isLoopback()) { - return false; - } - - return hasIp6Addresses.test(nif); - } catch (IOException e) { - throw new UncheckedIOException(e); - } - }; + /** + * Returns a stream of interfaces suitable for IPv6 multicast tests. + */ + public Stream ip6MulticastInterfaces(boolean includeLoopback) { + return (includeLoopback) ? + ip6Interfaces().filter(this::supportsIp6Multicast) : + ip6Interfaces().filter(this::supportsIp6Multicast) + .filter(NetworkConfiguration::isNotLoopback); + } /** * Returns all addresses on all "functional" interfaces. @@ -176,6 +297,12 @@ public Stream ip6Addresses(NetworkInterface nif) { return ip6Interfaces.get(nif).stream(); } + @Override + public String toString() { + return interfaces().map(NetworkConfiguration::interfaceInformation) + .collect(Collectors.joining()); + } + /** * Return a NetworkConfiguration instance. */ @@ -205,12 +332,6 @@ public static NetworkConfiguration probe() throws IOException { return new NetworkConfiguration(ip4Interfaces, ip6Interfaces); } - @Override - public String toString() { - return interfaces().map(NetworkConfiguration::interfaceInformation) - .collect(Collectors.joining()); - } - /** Returns detailed information for the given interface. */ public static String interfaceInformation(NetworkInterface nif) { StringBuilder sb = new StringBuilder(); From 0bc5d68d20efa9286a415a227a785a75bc6f08e9 Mon Sep 17 00:00:00 2001 From: Chad Rakoczy Date: Mon, 16 Oct 2023 21:35:05 +0000 Subject: [PATCH 19/27] 8311813: C1: Uninitialized PhiResolver::_loop field Backport-of: 489a32fe40e2a2c539296d51d4ffc0abc036d33c --- hotspot/src/share/vm/c1/c1_LIRGenerator.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp index 837553ddb62..e98834d03a5 100644 --- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp +++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp @@ -79,6 +79,7 @@ void PhiResolverState::reset(int max_vregs) { PhiResolver::PhiResolver(LIRGenerator* gen, int max_vregs) : _gen(gen) , _state(gen->resolver_state()) + , _loop(NULL) , _temp(LIR_OprFact::illegalOpr) { // reinitialize the shared state arrays From bbf2e9a6da49cb4eb793c42b2b38c927bf9865ba Mon Sep 17 00:00:00 2001 From: Alexey Bakhtin Date: Tue, 17 Oct 2023 14:16:30 +0000 Subject: [PATCH 20/27] 8285398: Cache the results of constraint checks Reviewed-by: phh Backport-of: 00e9c96d51bec53d4ae8a07c9c98af2c62f3d290 --- .../util/DisabledAlgorithmConstraints.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java b/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java index 1adc6b966cf..d6df02cd161 100644 --- a/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java +++ b/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java @@ -27,6 +27,7 @@ import sun.security.validator.Validator; +import java.lang.ref.SoftReference; import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.security.AlgorithmParameters; @@ -55,6 +56,7 @@ import java.util.Collection; import java.util.Collections; import java.util.StringTokenizer; +import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Pattern; import java.util.regex.Matcher; @@ -99,6 +101,8 @@ private static class JarHolder { private final List disabledAlgorithms; private final Constraints algorithmConstraints; + private volatile SoftReference> cacheRef = + new SoftReference<>(null); public static DisabledAlgorithmConstraints certPathConstraints() { return CertPathHolder.CONSTRAINTS; @@ -158,7 +162,7 @@ public DisabledAlgorithmConstraints(String propertyName, @Override public final boolean permits(Set primitives, String algorithm, AlgorithmParameters parameters) { - if (!checkAlgorithm(disabledAlgorithms, algorithm, decomposer)) { + if (!cachedCheckAlgorithm(algorithm)) { return false; } @@ -242,7 +246,7 @@ public final void permits(String algorithm, ConstraintsParameters cp, // Check if named curves in the key are disabled. for (Key key : cp.getKeys()) { for (String curve : getNamedCurveFromKey(key)) { - if (!checkAlgorithm(disabledAlgorithms, curve, decomposer)) { + if (!cachedCheckAlgorithm(curve)) { throw new CertPathValidatorException( "Algorithm constraints check failed on disabled " + "algorithm: " + curve, @@ -950,6 +954,25 @@ private boolean permitsImpl(Key key) { } } + private boolean cachedCheckAlgorithm(String algorithm) { + Map cache; + if ((cache = cacheRef.get()) == null) { + synchronized (this) { + if ((cache = cacheRef.get()) == null) { + cache = new ConcurrentHashMap<>(); + cacheRef = new SoftReference<>(cache); + } + } + } + Boolean result = cache.get(algorithm); + if (result != null) { + return result; + } + result = checkAlgorithm(disabledAlgorithms, algorithm, decomposer); + cache.put(algorithm, result); + return result; + } + /* * This constraint is used for the complete disabling of the algorithm. */ From c85131730b684f6d1ed92c39587dd84a00ca3371 Mon Sep 17 00:00:00 2001 From: Alexey Bakhtin Date: Tue, 17 Oct 2023 22:40:34 +0000 Subject: [PATCH 21/27] 8285696: AlgorithmConstraints:permits not throwing IllegalArgumentException when 'alg' is null Reviewed-by: sgehwolf Backport-of: 47951655acacba515c0d69f5192257664f887dba --- .../sun/security/util/DisabledAlgorithmConstraints.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java b/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java index d6df02cd161..ce3c97120ce 100644 --- a/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java +++ b/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java @@ -162,6 +162,9 @@ public DisabledAlgorithmConstraints(String propertyName, @Override public final boolean permits(Set primitives, String algorithm, AlgorithmParameters parameters) { + if (algorithm == null || algorithm.isEmpty()) { + throw new IllegalArgumentException("No algorithm name specified"); + } if (!cachedCheckAlgorithm(algorithm)) { return false; } From 1e9eb5305384b74704023ca4f30919e3a77188ae Mon Sep 17 00:00:00 2001 From: Sergey Bylokhov Date: Wed, 18 Oct 2023 22:23:45 +0000 Subject: [PATCH 22/27] 8312535: MidiSystem.getSoundbank() throws unexpected SecurityException Backport-of: 87298d2ade41c689d3140981a123b0e9130fc651 --- .../sun/media/sound/JARSoundbankReader.java | 19 ++++--- .../GetSoundBankSecurityException.java | 50 +++++++++++++++++++ .../security.policy | 4 ++ 3 files changed, 66 insertions(+), 7 deletions(-) create mode 100644 jdk/test/javax/sound/midi/Soundbanks/GetSoundBankSecurityException/GetSoundBankSecurityException.java create mode 100644 jdk/test/javax/sound/midi/Soundbanks/GetSoundBankSecurityException/security.policy diff --git a/jdk/src/share/classes/com/sun/media/sound/JARSoundbankReader.java b/jdk/src/share/classes/com/sun/media/sound/JARSoundbankReader.java index a196ddcd76e..7bc1664f9c2 100644 --- a/jdk/src/share/classes/com/sun/media/sound/JARSoundbankReader.java +++ b/jdk/src/share/classes/com/sun/media/sound/JARSoundbankReader.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,6 +31,7 @@ import java.io.InputStreamReader; import java.net.URL; import java.net.URLClassLoader; +import java.security.AccessController; import java.util.ArrayList; import java.util.Objects; import javax.sound.midi.InvalidMidiDataException; @@ -38,6 +39,7 @@ import javax.sound.midi.spi.SoundbankReader; import sun.reflect.misc.ReflectUtil; +import sun.security.action.GetBooleanAction; /** * JarSoundbankReader is used to read soundbank object from jar files. @@ -46,12 +48,15 @@ */ public final class JARSoundbankReader extends SoundbankReader { - /* - * Name of the system property that enables the Jar soundbank loading - * true if jar sound bank is allowed to be loaded - * default is false + /** + * Value of the system property that enables the Jar soundbank loading + * {@code true} if jar sound bank is allowed to be loaded default is + * {@code false}. */ - private final static String JAR_SOUNDBANK_ENABLED = "jdk.sound.jarsoundbank"; + @SuppressWarnings("removal") + private static final boolean JAR_SOUNDBANK_ENABLED = + AccessController.doPrivileged( + new GetBooleanAction("jdk.sound.jarsoundbank")); private static boolean isZIP(URL url) { boolean ok = false; @@ -77,7 +82,7 @@ private static boolean isZIP(URL url) { public Soundbank getSoundbank(URL url) throws InvalidMidiDataException, IOException { Objects.requireNonNull(url); - if (!Boolean.getBoolean(JAR_SOUNDBANK_ENABLED) || !isZIP(url)) + if (!JAR_SOUNDBANK_ENABLED || !isZIP(url)) return null; ArrayList soundbanks = new ArrayList(); diff --git a/jdk/test/javax/sound/midi/Soundbanks/GetSoundBankSecurityException/GetSoundBankSecurityException.java b/jdk/test/javax/sound/midi/Soundbanks/GetSoundBankSecurityException/GetSoundBankSecurityException.java new file mode 100644 index 00000000000..53f0450f482 --- /dev/null +++ b/jdk/test/javax/sound/midi/Soundbanks/GetSoundBankSecurityException/GetSoundBankSecurityException.java @@ -0,0 +1,50 @@ +/* + * Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Paths; + +import javax.sound.midi.InvalidMidiDataException; +import javax.sound.midi.MidiSystem; + +/** + * @test + * @bug 8312535 + * @summary MidiSystem.getSoundbank() throws unexpected SecurityException + * @run main/othervm/policy=security.policy GetSoundBankSecurityException + */ +public final class GetSoundBankSecurityException { + + public static void main(String[] args) throws Exception { + File tempFile = new File("sound.bank"); + tempFile.createNewFile(); + try { + MidiSystem.getSoundbank(tempFile); + throw new RuntimeException("InvalidMidiDataException is expected"); + } catch (InvalidMidiDataException ignore) { + } finally { + Files.delete(Paths.get(tempFile.getAbsolutePath())); + } + } +} diff --git a/jdk/test/javax/sound/midi/Soundbanks/GetSoundBankSecurityException/security.policy b/jdk/test/javax/sound/midi/Soundbanks/GetSoundBankSecurityException/security.policy new file mode 100644 index 00000000000..6c9c2a26aaf --- /dev/null +++ b/jdk/test/javax/sound/midi/Soundbanks/GetSoundBankSecurityException/security.policy @@ -0,0 +1,4 @@ +grant { + permission java.io.FilePermission "*", "read,write,delete"; + permission java.util.PropertyPermission "user.dir", "read"; +}; From dd43bdd6c4fae298d401222ddfaf848b0d458aa3 Mon Sep 17 00:00:00 2001 From: Thomas Stuefe Date: Wed, 8 Nov 2023 11:06:45 +0000 Subject: [PATCH 23/27] 8319405: [s390] [jdk8] Increase javac default stack size for s390x zero Reviewed-by: phh, sgehwolf --- jdk/make/CompileLaunchers.gmk | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/jdk/make/CompileLaunchers.gmk b/jdk/make/CompileLaunchers.gmk index 1f414e2e05d..61973b3bd61 100644 --- a/jdk/make/CompileLaunchers.gmk +++ b/jdk/make/CompileLaunchers.gmk @@ -281,10 +281,17 @@ $(eval $(call SetupLauncher,jar, \ $(eval $(call SetupLauncher,jarsigner, \ -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "sun.security.tools.jarsigner.Main"$(COMMA) }')) +# On s390 zero, run javac with larger stack +ifeq ($(OPENJDK_TARGET_CPU), s390x) +JAVAC_ARGS := '{ "-J-ms8m"$(COMMA) "-J-Xss3m"$(COMMA) "com.sun.tools.javac.Main"$(COMMA) }' +else +JAVAC_ARGS := '{ "-J-ms8m"$(COMMA) "com.sun.tools.javac.Main"$(COMMA) }' +endif + $(eval $(call SetupLauncher,javac, \ -DEXPAND_CLASSPATH_WILDCARDS \ -DNEVER_ACT_AS_SERVER_CLASS_MACHINE \ - -DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "com.sun.tools.javac.Main"$(COMMA) }')) + -DJAVA_ARGS=$(JAVAC_ARGS))) ifeq ($(ENABLE_SJAVAC), yes) $(eval $(call SetupLauncher,sjavac, \ From eace2d732133accd3be9e95a9e75aee0fc1938f8 Mon Sep 17 00:00:00 2001 From: Zdenek Zambersky Date: Wed, 8 Nov 2023 15:56:08 +0000 Subject: [PATCH 24/27] 8305329: [8u] Unify test libraries into single test library - step 1 Reviewed-by: andrew --- hotspot/test/TEST.ROOT | 4 + jdk/test/TEST.ROOT | 4 + .../java/net/MulticastSocket/JoinLeave.java | 2 +- .../SetGetNetworkInterfaceTest.java | 2 +- jdk/test/java/net/MulticastSocket/Test.java | 2 +- .../net/MulticastSocket/TestInterfaces.java | 2 +- .../java/security/SignedObject/Chain.java | 2 +- .../java/util/Arrays/TimSortStackSize2.java | 2 +- .../TLSRehandshakeWithCipherChangeTest.java | 2 +- .../TLSRehandshakeWithCipherChangeTest.java | 2 +- .../TLSRehandshakeWithCipherChangeTest.java | 2 +- .../platform/cgroup/TestCgroupMetrics.java | 2 +- .../cgroup/TestCgroupSubsystemController.java | 2 +- .../platform/docker/TestDockerBasic.java | 2 +- .../platform/docker/TestDockerCpuMetrics.java | 2 +- .../docker/TestDockerMemoryMetrics.java | 2 +- .../docker/TestGetFreeSwapSpaceSize.java | 2 +- .../platform/docker/TestSystemMetrics.java | 2 +- .../docker/TestUseContainerSupport.java | 2 +- .../jdk/jfr/api/consumer/TestFieldAccess.java | 2 +- .../jfr/api/consumer/TestGetStackTrace.java | 2 +- .../jfr/api/consumer/TestHiddenMethod.java | 2 +- .../api/consumer/TestMethodGetModifiers.java | 2 +- .../jdk/jfr/api/consumer/TestReadTwice.java | 2 +- .../api/consumer/TestRecordedClassLoader.java | 2 +- .../jfr/api/consumer/TestRecordedEvent.java | 2 +- .../consumer/TestRecordedEventGetThread.java | 2 +- .../TestRecordedEventGetThreadOther.java | 2 +- .../jfr/api/consumer/TestRecordedFrame.java | 2 +- .../consumer/TestRecordedFullStackTrace.java | 2 +- .../TestRecordedInstantEventTimestamp.java | 2 +- .../TestRecordedMethodDescriptor.java | 2 +- .../jfr/api/consumer/TestRecordedObject.java | 2 +- .../TestRecordedThreadGroupParent.java | 2 +- .../jfr/api/consumer/TestRecordingFile.java | 2 +- .../TestRecordingFileReadEventEof.java | 2 +- .../api/consumer/TestRecordingInternals.java | 2 +- .../api/consumer/TestSingleRecordedEvent.java | 2 +- .../jdk/jfr/api/consumer/TestToString.java | 2 +- .../consumer/TestValueDescriptorRecorded.java | 2 +- .../jdk/jfr/api/event/TestAbstractEvent.java | 2 +- jdk/test/jdk/jfr/api/event/TestBeginEnd.java | 2 +- .../jfr/api/event/TestClinitRegistration.java | 2 +- .../jdk/jfr/api/event/TestClonedEvent.java | 2 +- .../jdk/jfr/api/event/TestEnableDisable.java | 2 +- .../jdk/jfr/api/event/TestEventFactory.java | 2 +- .../event/TestEventFactoryRegisterTwice.java | 2 +- .../event/TestEventFactoryRegistration.java | 2 +- jdk/test/jdk/jfr/api/event/TestExtends.java | 2 +- .../jdk/jfr/api/event/TestGetDuration.java | 2 +- jdk/test/jdk/jfr/api/event/TestIsEnabled.java | 2 +- .../jfr/api/event/TestIsEnabledMultiple.java | 2 +- jdk/test/jdk/jfr/api/event/TestOwnCommit.java | 2 +- .../jdk/jfr/api/event/TestShouldCommit.java | 2 +- .../jdk/jfr/api/event/TestStaticEnable.java | 2 +- .../event/dynamic/TestDynamicAnnotations.java | 2 +- .../api/event/dynamic/TestEventFactory.java | 2 +- .../flightrecorder/TestAddListenerTwice.java | 2 +- .../flightrecorder/TestAddPeriodicEvent.java | 2 +- ...htRecorderListenerRecorderInitialized.java | 2 +- .../api/flightrecorder/TestGetEventTypes.java | 2 +- .../TestGetPlatformRecorder.java | 2 +- .../api/flightrecorder/TestGetRecordings.java | 2 +- .../api/flightrecorder/TestGetSettings.java | 2 +- .../api/flightrecorder/TestIsAvailable.java | 2 +- .../api/flightrecorder/TestIsInitialized.java | 2 +- .../jfr/api/flightrecorder/TestListener.java | 2 +- .../api/flightrecorder/TestListenerNull.java | 2 +- .../TestPeriodicEventsSameHook.java | 2 +- .../TestRecorderInitializationCallback.java | 2 +- .../TestRegisterUnregisterEvent.java | 2 +- .../flightrecorder/TestSettingsControl.java | 2 +- .../jfr/api/flightrecorder/TestSnapshot.java | 2 +- .../metadata/annotations/TestCategory.java | 2 +- .../metadata/annotations/TestContentType.java | 2 +- .../metadata/annotations/TestDescription.java | 2 +- .../annotations/TestDynamicAnnotation.java | 2 +- .../api/metadata/annotations/TestEnabled.java | 2 +- .../annotations/TestExperimental.java | 2 +- .../annotations/TestFieldAnnotations.java | 2 +- .../annotations/TestFormatMissingValue.java | 2 +- .../metadata/annotations/TestHasValue.java | 2 +- .../annotations/TestInheritedAnnotations.java | 2 +- .../api/metadata/annotations/TestLabel.java | 2 +- .../metadata/annotations/TestMetadata.java | 2 +- .../api/metadata/annotations/TestName.java | 2 +- .../api/metadata/annotations/TestPeriod.java | 2 +- .../metadata/annotations/TestRegistered.java | 2 +- .../TestRegisteredFalseAndRunning.java | 2 +- .../metadata/annotations/TestRelational.java | 2 +- .../annotations/TestSimpleMetadataEvent.java | 2 +- .../metadata/annotations/TestStackTrace.java | 2 +- .../metadata/annotations/TestThreshold.java | 2 +- .../annotations/TestTypesIdentical.java | 2 +- .../metadata/eventtype/TestGetAnnotation.java | 2 +- .../eventtype/TestGetAnnotationElements.java | 2 +- .../eventtype/TestGetAnnotations.java | 2 +- .../metadata/eventtype/TestGetCategory.java | 2 +- .../eventtype/TestGetDefaultValues.java | 2 +- .../eventtype/TestGetDescription.java | 2 +- .../metadata/eventtype/TestGetEventType.java | 2 +- .../api/metadata/eventtype/TestGetField.java | 2 +- .../api/metadata/eventtype/TestGetFields.java | 2 +- .../metadata/eventtype/TestGetSettings.java | 2 +- .../eventtype/TestUnloadingEventClass.java | 2 +- .../settingdescriptor/TestDefaultValue.java | 2 +- .../settingdescriptor/TestGetAnnotation.java | 2 +- .../TestGetAnnotationElement.java | 2 +- .../settingdescriptor/TestGetContentType.java | 2 +- .../settingdescriptor/TestGetDescription.java | 2 +- .../settingdescriptor/TestGetLabel.java | 2 +- .../settingdescriptor/TestGetName.java | 2 +- .../settingdescriptor/TestGetTypeId.java | 2 +- .../settingdescriptor/TestGetTypeName.java | 2 +- .../metadata/valuedescriptor/TestClasses.java | 2 +- .../valuedescriptor/TestConstructor.java | 2 +- .../valuedescriptor/TestGetAnnotations.java | 2 +- .../valuedescriptor/TestGetFields.java | 2 +- .../metadata/valuedescriptor/TestIsArray.java | 2 +- .../valuedescriptor/TestSimpleTypes.java | 2 +- .../TestValueDescriptorContentType.java | 2 +- .../api/recorder/TestRecorderInitialized.java | 2 +- .../api/recorder/TestStartStopRecording.java | 2 +- .../destination/TestDestFileExist.java | 2 +- .../destination/TestDestFileReadOnly.java | 2 +- .../destination/TestDestInvalid.java | 2 +- .../destination/TestDestLongPath.java | 2 +- .../destination/TestDestMultiple.java | 2 +- .../destination/TestDestReadOnly.java | 2 +- .../recording/destination/TestDestState.java | 2 +- .../destination/TestDestToDiskFalse.java | 2 +- .../destination/TestDestToDiskTrue.java | 2 +- .../destination/TestDestWithDuration.java | 2 +- .../jdk/jfr/api/recording/dump/TestDump.java | 2 +- .../api/recording/dump/TestDumpDevNull.java | 2 +- .../api/recording/dump/TestDumpInvalid.java | 2 +- .../api/recording/dump/TestDumpLongPath.java | 2 +- .../api/recording/dump/TestDumpMultiple.java | 2 +- .../api/recording/dump/TestDumpReadOnly.java | 2 +- .../jfr/api/recording/dump/TestDumpState.java | 2 +- .../api/recording/event/TestChunkPeriod.java | 2 +- .../api/recording/event/TestEnableClass.java | 2 +- .../api/recording/event/TestEnableName.java | 2 +- .../api/recording/event/TestEventTime.java | 2 +- .../event/TestLoadEventAfterStart.java | 2 +- .../jfr/api/recording/event/TestPeriod.java | 2 +- .../recording/event/TestReEnableClass.java | 2 +- .../recording/event/TestReEnableMultiple.java | 2 +- .../api/recording/event/TestReEnableName.java | 2 +- .../event/TestRecordingEnableDisable.java | 2 +- .../api/recording/event/TestThreshold.java | 2 +- .../jdk/jfr/api/recording/misc/TestGetId.java | 2 +- .../jfr/api/recording/misc/TestGetSize.java | 2 +- .../api/recording/misc/TestGetSizeToMem.java | 2 +- .../jfr/api/recording/misc/TestGetStream.java | 2 +- .../api/recording/misc/TestRecordingBase.java | 2 +- .../api/recording/misc/TestRecordingCopy.java | 2 +- .../api/recording/options/TestDuration.java | 2 +- .../jfr/api/recording/options/TestName.java | 2 +- .../TestConfigurationGetContents.java | 2 +- .../settings/TestCreateConfigFromPath.java | 2 +- .../settings/TestCreateConfigFromReader.java | 2 +- .../settings/TestGetConfigurations.java | 2 +- .../settings/TestSettingsAvailability.java | 2 +- .../api/recording/state/TestOptionState.java | 2 +- .../jfr/api/recording/state/TestState.java | 2 +- .../recording/state/TestStateDuration.java | 2 +- .../state/TestStateIdenticalListeners.java | 2 +- .../api/recording/state/TestStateInvalid.java | 2 +- .../recording/state/TestStateMultiple.java | 2 +- .../state/TestStateScheduleStart.java | 2 +- .../jdk/jfr/api/recording/time/TestTime.java | 2 +- .../api/recording/time/TestTimeDuration.java | 2 +- .../api/recording/time/TestTimeMultiple.java | 2 +- .../recording/time/TestTimeScheduleStart.java | 2 +- .../jfr/api/settings/TestFilterEvents.java | 2 +- .../event/compiler/TestAllocInNewTLAB.java | 2 +- .../event/compiler/TestAllocOutsideTLAB.java | 2 +- .../event/compiler/TestCodeCacheConfig.java | 2 +- .../jfr/event/compiler/TestCodeCacheFull.java | 2 +- .../event/compiler/TestCodeCacheStats.java | 2 +- .../jfr/event/compiler/TestCodeSweeper.java | 2 +- .../event/compiler/TestCodeSweeperConfig.java | 2 +- .../event/compiler/TestCompilerCompile.java | 2 +- .../event/compiler/TestCompilerConfig.java | 2 +- .../event/compiler/TestCompilerInlining.java | 2 +- .../jfr/event/compiler/TestCompilerPhase.java | 2 +- .../jfr/event/compiler/TestCompilerStats.java | 2 +- .../TestGCCauseWithCMSConcurrent.java | 2 +- .../TestGCCauseWithCMSMarkSweep.java | 2 +- .../TestGCCauseWithG1ConcurrentMark.java | 2 +- .../TestGCCauseWithG1FullCollection.java | 2 +- .../TestGCCauseWithPSMarkSweep.java | 2 +- .../TestGCCauseWithParallelOld.java | 2 +- .../gc/collection/TestGCCauseWithSerial.java | 2 +- .../TestGCEventMixedWithCMSConcurrent.java | 2 +- .../TestGCEventMixedWithCMSMarkSweep.java | 2 +- .../TestGCEventMixedWithG1ConcurrentMark.java | 2 +- .../TestGCEventMixedWithG1FullCollection.java | 2 +- .../TestGCEventMixedWithPSMarkSweep.java | 2 +- .../TestGCEventMixedWithParNew.java | 2 +- .../TestGCEventMixedWithParallelOld.java | 2 +- .../TestGCEventMixedWithSerial.java | 2 +- .../TestGCGarbageCollectionEvent.java | 2 +- .../gc/collection/TestGCWithFasttime.java | 2 +- ...YoungGarbageCollectionEventWithDefNew.java | 2 +- ...tYoungGarbageCollectionEventWithG1New.java | 2 +- ...YoungGarbageCollectionEventWithParNew.java | 2 +- ...geCollectionEventWithParallelScavenge.java | 2 +- .../TestGCConfigurationEvent.java | 2 +- ...figurationEventWithDefaultPauseTarget.java | 2 +- ...stGCHeapConfigurationEventWith32BitOops.sh | 2 +- ...HeapConfigurationEventWithHeapBasedOops.sh | 2 +- ...HeapConfigurationEventWithZeroBasedOops.sh | 2 +- .../TestGCSurvivorConfigurationEvent.java | 2 +- .../TestGCTLABConfigurationEvent.java | 2 +- ...onConfigurationEventWithMinAndMaxSize.java | 2 +- ...erationConfigurationEventWithNewRatio.java | 2 +- .../TestCMSConcurrentModeFailureEvent.java | 2 +- .../detailed/TestEvacuationFailedEvent.java | 2 +- .../gc/detailed/TestEvacuationInfoEvent.java | 2 +- .../TestG1ConcurrentModeFailureEvent.java | 2 +- .../detailed/TestG1EvacMemoryStatsEvent.java | 2 +- .../TestG1HeapRegionTypeChangeEvent.java | 2 +- .../jfr/event/gc/detailed/TestG1MMUEvent.java | 2 +- .../gc/detailed/TestPromotionEventWithG1.java | 2 +- ...estPromotionEventWithParallelScavenge.java | 2 +- .../TestPromotionFailedEventWithDefNew.java | 2 +- .../TestPromotionFailedEventWithParNew.java | 2 +- ...motionFailedEventWithParallelScavenge.java | 2 +- .../TestStressAllocationGCEventsWithCMS.java | 2 +- ...estStressAllocationGCEventsWithDefNew.java | 2 +- .../TestStressAllocationGCEventsWithG1.java | 2 +- ...estStressAllocationGCEventsWithParNew.java | 2 +- ...tStressAllocationGCEventsWithParallel.java | 2 +- ...estStressBigAllocationGCEventsWithCMS.java | 2 +- ...StressBigAllocationGCEventsWithDefNew.java | 2 +- ...TestStressBigAllocationGCEventsWithG1.java | 2 +- ...StressBigAllocationGCEventsWithParNew.java | 2 +- ...ressBigAllocationGCEventsWithParallel.java | 2 +- .../TestTenuringDistributionEvent.java | 2 +- .../TestHeapSummaryCommittedSize.java | 2 +- .../TestHeapSummaryEventConcurrentCMS.java | 2 +- .../TestHeapSummaryEventDefNewSerial.java | 2 +- .../heapsummary/TestHeapSummaryEventG1.java | 2 +- .../TestHeapSummaryEventPSParOld.java | 2 +- .../TestHeapSummaryEventPSSerial.java | 2 +- .../TestHeapSummaryEventParNewCMS.java | 2 +- ...ectCountAfterGCEventWithCMSConcurrent.java | 2 +- ...jectCountAfterGCEventWithCMSMarkSweep.java | 2 +- ...CountAfterGCEventWithG1ConcurrentMark.java | 2 +- ...CountAfterGCEventWithG1FullCollection.java | 2 +- ...bjectCountAfterGCEventWithPSMarkSweep.java | 2 +- ...bjectCountAfterGCEventWithParallelOld.java | 2 +- ...TestObjectCountAfterGCEventWithSerial.java | 2 +- .../gc/objectcount/TestObjectCountEvent.java | 2 +- .../TestRefStatEventWithCMSConcurrent.java | 2 +- .../TestRefStatEventWithCMSMarkSweep.java | 2 +- .../refstat/TestRefStatEventWithDefNew.java | 2 +- .../TestRefStatEventWithG1ConcurrentMark.java | 2 +- .../TestRefStatEventWithG1FullCollection.java | 2 +- .../gc/refstat/TestRefStatEventWithG1New.java | 2 +- .../TestRefStatEventWithPSMarkSweep.java | 2 +- .../TestRefStatEventWithParallelOld.java | 2 +- .../TestRefStatEventWithParallelScavenge.java | 2 +- ...cMarkSweepAllocationPendingStackTrace.java | 2 +- ...TestDefNewAllocationPendingStackTrace.java | 2 +- ...1HumongousAllocationPendingStackTrace.java | 2 +- .../TestG1OldAllocationPendingStackTrace.java | 2 +- ...estG1YoungAllocationPendingStackTrace.java | 2 +- ...eepCompactAllocationPendingStackTrace.java | 2 +- ...arkSweepGCAllocationPendingStackTrace.java | 2 +- ...aspaceG1GCAllocationPendingStackTrace.java | 2 +- ...ParallelGCAllocationPendingStackTrace.java | 2 +- ...ceSerialGCAllocationPendingStackTrace.java | 2 +- ...TestParNewAllocationPendingStackTrace.java | 2 +- ...lMarkSweepAllocationPendingStackTrace.java | 2 +- ...elScavengeAllocationPendingStackTrace.java | 2 +- jdk/test/jdk/jfr/event/io/EvilInstrument.java | 2 +- .../jdk/jfr/event/io/TestDisabledEvents.java | 2 +- .../jfr/event/io/TestFileChannelEvents.java | 2 +- .../jdk/jfr/event/io/TestFileReadOnly.java | 2 +- .../jfr/event/io/TestFileStreamEvents.java | 2 +- .../jdk/jfr/event/io/TestInstrumentation.java | 2 +- .../event/io/TestRandomAccessFileEvents.java | 2 +- .../event/io/TestRandomAccessFileThread.java | 2 +- .../jfr/event/io/TestSocketChannelEvents.java | 2 +- .../jdk/jfr/event/io/TestSocketEvents.java | 2 +- .../metadata/TestDefaultConfigurations.java | 2 +- .../jfr/event/metadata/TestEventMetadata.java | 2 +- .../metadata/TestLookForUntestedEvents.java | 2 +- .../event/oldobject/TestAllocationTime.java | 2 +- .../event/oldobject/TestArrayInformation.java | 2 +- jdk/test/jdk/jfr/event/oldobject/TestCMS.java | 2 +- .../oldobject/TestCircularReference.java | 2 +- .../event/oldobject/TestClassLoaderLeak.java | 2 +- .../event/oldobject/TestFieldInformation.java | 2 +- jdk/test/jdk/jfr/event/oldobject/TestG1.java | 2 +- .../jdk/jfr/event/oldobject/TestHeapDeep.java | 2 +- .../jfr/event/oldobject/TestHeapShallow.java | 2 +- .../jfr/event/oldobject/TestLargeRootSet.java | 2 +- .../oldobject/TestLastKnownHeapUsage.java | 2 +- .../jfr/event/oldobject/TestListenerLeak.java | 2 +- .../oldobject/TestMetadataRetention.java | 2 +- .../oldobject/TestObjectDescription.java | 2 +- .../jdk/jfr/event/oldobject/TestParallel.java | 2 +- .../jfr/event/oldobject/TestParallelOld.java | 2 +- .../oldobject/TestReferenceChainLimit.java | 2 +- .../event/oldobject/TestSanityDefault.java | 2 +- .../jdk/jfr/event/oldobject/TestSerial.java | 2 +- .../event/oldobject/TestThreadLocalLeak.java | 2 +- .../jdk/jfr/event/os/TestCPUInformation.java | 2 +- jdk/test/jdk/jfr/event/os/TestCPULoad.java | 2 +- .../jfr/event/os/TestCPUTimeStampCounter.java | 2 +- .../os/TestInitialEnvironmentVariable.sh | 2 +- jdk/test/jdk/jfr/event/os/TestOSInfo.java | 2 +- .../jfr/event/os/TestPhysicalMemoryEvent.java | 2 +- .../jdk/jfr/event/os/TestSystemProcess.java | 2 +- .../event/os/TestThreadContextSwitches.java | 2 +- .../event/profiling/TestFullStackTrace.java | 2 +- .../runtime/TestActiveRecordingEvent.java | 2 +- .../event/runtime/TestActiveSettingEvent.java | 2 +- .../TestBiasedLockRevocationEvents.java | 2 +- .../event/runtime/TestClassDefineEvent.java | 2 +- .../jfr/event/runtime/TestClassLoadEvent.java | 2 +- .../runtime/TestClassLoaderStatsEvent.java | 2 +- .../TestClassLoadingStatisticsEvent.java | 2 +- .../event/runtime/TestClassUnloadEvent.java | 2 +- .../event/runtime/TestExceptionEvents.java | 2 +- .../event/runtime/TestExceptionSubclass.java | 2 +- .../event/runtime/TestJavaBlockedEvent.java | 2 +- .../runtime/TestJavaMonitorInflateEvent.java | 2 +- .../runtime/TestJavaMonitorWaitEvent.java | 2 +- .../runtime/TestJavaMonitorWaitTimeOut.java | 2 +- .../TestJavaThreadStatisticsEvent.java | 2 +- .../TestJavaThreadStatisticsEventBean.java | 2 +- .../runtime/TestNativeLibrariesEvent.java | 2 +- .../runtime/TestNetworkUtilizationEvent.java | 2 +- .../event/runtime/TestSafepointEvents.java | 2 +- .../jfr/event/runtime/TestShutdownEvent.java | 2 +- .../jdk/jfr/event/runtime/TestSizeTFlags.java | 2 +- .../runtime/TestSystemPropertyEvent.java | 2 +- .../runtime/TestThreadAllocationEvent.java | 2 +- .../event/runtime/TestThreadCpuTimeEvent.java | 2 +- .../event/runtime/TestThreadDumpEvent.java | 2 +- .../event/runtime/TestThreadParkEvent.java | 2 +- .../event/runtime/TestThreadSleepEvent.java | 2 +- .../runtime/TestThreadStartEndEvents.java | 2 +- .../runtime/TestThrowableInstrumentation.java | 2 +- .../jdk/jfr/event/runtime/TestVMInfoEvent.sh | 2 +- .../jfr/event/runtime/TestVMOperation.java | 2 +- .../event/runtime/TestVmFlagChangedEvent.java | 2 +- .../jdk/jfr/event/sampling/TestNative.java | 4 +- jdk/test/jdk/jfr/event/sampling/TestNative.sh | 16 +- jdk/test/jdk/jfr/javaagent/Test8252904.java | 2 +- .../jdk/jfr/javaagent/TestLoadedAgent.java | 2 +- .../jdk/jfr/javaagent/TestPremainAgent.java | 2 +- jdk/test/jdk/jfr/jcmd/TestJcmdConfigure.java | 2 +- jdk/test/jdk/jfr/jcmd/TestJcmdDump.java | 2 +- .../jcmd/TestJcmdDumpGeneratedFilename.java | 2 +- .../jdk/jfr/jcmd/TestJcmdDumpLimited.java | 2 +- .../jfr/jcmd/TestJcmdDumpPathToGCRoots.java | 2 +- .../jfr/jcmd/TestJcmdDumpWithFileName.java | 2 +- jdk/test/jdk/jfr/jcmd/TestJcmdLegacy.java | 2 +- jdk/test/jdk/jfr/jcmd/TestJcmdSaveToFile.java | 2 +- .../jfr/jcmd/TestJcmdStartDirNotExist.java | 2 +- .../jdk/jfr/jcmd/TestJcmdStartInvaldFile.java | 2 +- .../jfr/jcmd/TestJcmdStartPathToGCRoots.java | 2 +- .../jfr/jcmd/TestJcmdStartReadOnlyFile.java | 2 +- .../jfr/jcmd/TestJcmdStartStopDefault.java | 2 +- .../jfr/jcmd/TestJcmdStartWithOptions.java | 2 +- .../jfr/jcmd/TestJcmdStartWithSettings.java | 2 +- .../jdk/jfr/jcmd/TestJcmdStopInvalidFile.java | 2 +- .../jfr/jcmd/TestJcmdStopReadOnlyFile.java | 2 +- jdk/test/jdk/jfr/jmx/TestClone.java | 2 +- jdk/test/jdk/jfr/jmx/TestCloneRepeat.java | 2 +- .../jdk/jfr/jmx/TestConfigurationInfo.java | 2 +- jdk/test/jdk/jfr/jmx/TestCopyTo.java | 2 +- .../jdk/jfr/jmx/TestCopyToInvalidPath.java | 2 +- .../jdk/jfr/jmx/TestCopyToReadOnlyDir.java | 2 +- jdk/test/jdk/jfr/jmx/TestCopyToRunning.java | 2 +- jdk/test/jdk/jfr/jmx/TestEventTypes.java | 2 +- jdk/test/jdk/jfr/jmx/TestGetRecordings.java | 2 +- .../jfr/jmx/TestGetRecordingsMultiple.java | 2 +- .../jdk/jfr/jmx/TestMultipleRecordings.java | 2 +- .../jdk/jfr/jmx/TestNotificationListener.java | 2 +- .../jfr/jmx/TestPredefinedConfiguration.java | 2 +- .../TestPredefinedConfigurationInvalid.java | 2 +- .../jdk/jfr/jmx/TestRecordingOptions.java | 2 +- .../jdk/jfr/jmx/TestRecordingSettings.java | 2 +- .../jfr/jmx/TestRecordingSettingsInvalid.java | 2 +- .../jmx/TestRecordingSettingsMultiple.java | 2 +- jdk/test/jdk/jfr/jmx/TestRecordingState.java | 2 +- .../jfr/jmx/TestRecordingStateInvalid.java | 2 +- .../jdk/jfr/jmx/TestSetConfiguration.java | 2 +- .../jfr/jmx/TestSetConfigurationInvalid.java | 2 +- jdk/test/jdk/jfr/jmx/TestSnapshot.java | 2 +- jdk/test/jdk/jfr/jmx/TestStartRecording.java | 2 +- jdk/test/jdk/jfr/jmx/TestStream.java | 2 +- jdk/test/jdk/jfr/jmx/TestStreamClosed.java | 2 +- jdk/test/jdk/jfr/jmx/TestStreamMultiple.java | 2 +- jdk/test/jdk/jfr/jmx/TestWrongId.java | 2 +- .../jfr/jmx/info/TestConfigurationInfo.java | 2 +- .../jdk/jfr/jmx/info/TestEventTypeInfo.java | 2 +- .../jdk/jfr/jmx/info/TestRecordingInfo.java | 2 +- .../jmx/info/TestSettingDescriptorInfo.java | 2 +- .../jmx/security/TestEnoughPermission.java | 2 +- .../jmx/security/TestNoControlPermission.java | 2 +- .../jmx/security/TestNoMonitorPermission.java | 2 +- .../TestNotificationListenerPermission.java | 2 +- jdk/test/jdk/jfr/jvm/TestClassId.java | 2 +- jdk/test/jdk/jfr/jvm/TestCounterTime.java | 2 +- jdk/test/jdk/jfr/jvm/TestCreateNative.java | 2 +- jdk/test/jdk/jfr/jvm/TestDumpOnCrash.java | 2 +- .../jdk/jfr/jvm/TestGetAllEventClasses.java | 2 +- jdk/test/jdk/jfr/jvm/TestGetEventWriter.java | 2 +- jdk/test/jdk/jfr/jvm/TestGetStackTraceId.java | 2 +- jdk/test/jdk/jfr/jvm/TestJFRIntrinsic.java | 2 +- jdk/test/jdk/jfr/jvm/TestJavaEvent.java | 2 +- .../jdk/jfr/jvm/TestLargeJavaEvent512k.java | 2 +- .../jdk/jfr/jvm/TestLargeJavaEvent64k.java | 2 +- .../jdk/jfr/jvm/TestLogImplementation.java | 2 +- jdk/test/jdk/jfr/jvm/TestPid.java | 2 +- .../jdk/jfr/jvm/TestPrimitiveClasses.java | 2 +- .../jfr/jvm/TestUnloadEventClassCount.java | 2 +- jdk/test/jdk/jfr/jvm/TestUnsupportedVM.java | 2 +- .../jfr/security/JFRSecurityTestSuite.java | 2 +- .../jfr/startupargs/TestBadOptionValues.java | 2 +- .../jdk/jfr/startupargs/TestDumpOnExit.java | 2 +- .../jfr/startupargs/TestMemoryOptions.java | 2 +- .../TestMultipleStartupRecordings.java | 2 +- .../startupargs/TestOldObjectQueueSize.java | 2 +- .../jfr/startupargs/TestRepositoryPath.java | 2 +- .../startupargs/TestRepositoryPathLong.java | 2 +- .../jdk/jfr/startupargs/TestRetransform.java | 2 +- .../startupargs/TestRetransformUsingLog.java | 2 +- .../jdk/jfr/startupargs/TestStartDelay.java | 2 +- .../startupargs/TestStartDelayRunning.java | 2 +- .../jfr/startupargs/TestStartDuration.java | 2 +- .../jfr/startupargs/TestStartMaxAgeSize.java | 2 +- .../jdk/jfr/startupargs/TestStartName.java | 2 +- .../jfr/startupargs/TestStartNoSettings.java | 2 +- .../jfr/startupargs/TestStartRecording.java | 2 +- jdk/test/jdk/jfr/tool/TestAssemble.java | 2 +- jdk/test/jdk/jfr/tool/TestDisassemble.java | 2 +- jdk/test/jdk/jfr/tool/TestHelp.java | 2 +- jdk/test/jdk/jfr/tool/TestMetadata.java | 2 +- jdk/test/jdk/jfr/tool/TestPrint.java | 2 +- jdk/test/jdk/jfr/tool/TestPrintDefault.java | 2 +- jdk/test/jdk/jfr/tool/TestPrintJSON.java | 2 +- jdk/test/jdk/jfr/tool/TestPrintXML.java | 2 +- jdk/test/jdk/jfr/tool/TestSummary.java | 2 +- jdk/test/jdk/tools/launcher/JliLaunchTest.sh | 2 +- jdk/test/lib/RedefineClassHelper.java | 79 --- jdk/test/lib/jdk/test/lib/SecurityTools.java | 131 ----- .../lib/jdk/test/lib/apps/LingeredApp.java | 518 ------------------ .../lib/apps/LingeredAppWithDeadlock.java | 81 --- .../jdk/test/lib/compiler/CompilerUtils.java | 124 ----- .../lib/compiler/InMemoryJavaCompiler.java | 200 ------- .../test/lib/compiler/ModuleInfoMaker.java | 129 ----- jdk/test/lib/jdk/test/lib/util/JarUtils.java | 175 ------ .../https/HttpsURLConnection/B6216082.java | 2 +- .../sun/security/ec/SignedObjectChain.java | 2 +- .../security/mscapi/SignedObjectChain.java | 2 +- .../pkcs11/sslecc/ClientJSSEServerJSSE.java | 2 +- .../sun/security/pkcs12/EmptyPassword.java | 2 +- .../security/pkcs12/ParamsPreferences.java | 2 +- jdk/test/sun/security/pkcs12/ParamsTest.java | 2 +- jdk/test/sun/security/rsa/SignatureTest.java | 2 +- .../sun/security/rsa/SignedObjectChain.java | 2 +- .../security/rsa/TestKeyPairGenerator.java | 2 +- jdk/test/sun/security/rsa/TestSignatures.java | 2 +- .../security/rsa/pss/SignatureTestPSS.java | 2 +- .../CertPathRestrictions/TLSRestrictions.java | 2 +- .../EngineArgs/DebugReportsOneExtraByte.java | 2 +- .../security/ssl/rsa/SignedObjectChain.java | 2 +- .../util/DerInputBuffer/PaddedBitString.java | 2 +- .../test => test}/lib/ClassFileInstaller.java | 0 .../lib/jdk/test/lib/Asserts.java | 0 .../lib/jdk/test/lib/BuildHelper.java | 0 .../lib/jdk/test/lib/ByteCodeLoader.java | 0 .../lib/jdk/test/lib/Container.java | 0 .../lib/jdk/test/lib/Convert.java | 0 .../lib/jdk/test/lib/FileInstaller.java | 0 .../lib/jdk/test/lib/InfiniteLoop.java | 0 .../lib/jdk/test/lib/JDKToolFinder.java | 0 .../lib/jdk/test/lib/JDKToolLauncher.java | 0 .../lib/jdk/test/lib/LockFreeLogger.java | 0 .../jdk/test/lib/NetworkConfiguration.java | 0 .../lib/jdk/test/lib/Platform.java | 0 .../lib/jdk/test/lib/RandomFactory.java | 0 .../lib/jdk/test/lib/SigTestUtil.java | 0 .../lib/jdk/test/lib/TimeLimitedRunner.java | 0 .../test => test}/lib/jdk/test/lib/Utils.java | 0 .../lib/jdk/test/lib/artifacts/Artifact.java | 0 .../test/lib/artifacts/ArtifactContainer.java | 0 .../test/lib/artifacts/ArtifactManager.java | 0 .../test/lib/artifacts/ArtifactResolver.java | 0 .../artifacts/ArtifactResolverException.java | 0 .../lib/artifacts/DefaultArtifactManager.java | 0 .../lib/artifacts/JibArtifactManager.java | 0 .../lib/jdk/test/lib/cds/CDSOptions.java | 0 .../lib/jdk/test/lib/cds/CDSTestUtils.java | 0 .../test/lib/classloader/ClassLoadUtils.java | 0 .../lib/classloader/FilterClassLoader.java | 0 .../classloader/GeneratingClassLoader.java | 0 .../classloader/ParentLastURLClassLoader.java | 0 .../cli/CPUSpecificCommandLineOptionTest.java | 0 .../test/lib/cli/CommandLineOptionTest.java | 0 .../test/lib/cli/predicate/AndPredicate.java | 0 .../cli/predicate/CPUSpecificPredicate.java | 0 .../test/lib/cli/predicate/NotPredicate.java | 0 .../test/lib/cli/predicate/OrPredicate.java | 0 .../lib/containers/cgroup/CPUSetsReader.java | 0 .../cgroup/CgroupMetricsTester.java | 0 .../lib/containers/cgroup/MetricsTester.java | 0 .../cgroup/MetricsTesterCgroupV1.java | 0 .../cgroup/MetricsTesterCgroupV2.java | 0 .../test/lib/containers/docker/Common.java | 0 .../containers/docker/DockerRunOptions.java | 0 .../containers/docker/DockerTestUtils.java | 0 .../containers/docker/DockerfileConfig.java | 0 .../jdk/test/lib/dcmd/CommandExecutor.java | 0 .../lib/dcmd/CommandExecutorException.java | 0 .../jdk/test/lib/dcmd/FileJcmdExecutor.java | 0 .../lib/jdk/test/lib/dcmd/JMXExecutor.java | 0 .../lib/jdk/test/lib/dcmd/JcmdExecutor.java | 0 .../test/lib/dcmd/MainClassJcmdExecutor.java | 0 .../jdk/test/lib/dcmd/PidJcmdExecutor.java | 0 .../lib/jdk/test/lib/hprof/HprofParser.java | 0 .../lib/jdk/test/lib/hprof/README | 0 .../model/AbstractJavaHeapObjectVisitor.java | 0 .../test/lib/hprof/model/ArrayTypeCodes.java | 0 .../test/lib/hprof/model/HackJavaValue.java | 0 .../jdk/test/lib/hprof/model/JavaBoolean.java | 0 .../jdk/test/lib/hprof/model/JavaByte.java | 0 .../jdk/test/lib/hprof/model/JavaChar.java | 0 .../jdk/test/lib/hprof/model/JavaClass.java | 0 .../jdk/test/lib/hprof/model/JavaDouble.java | 0 .../jdk/test/lib/hprof/model/JavaField.java | 0 .../jdk/test/lib/hprof/model/JavaFloat.java | 0 .../test/lib/hprof/model/JavaHeapObject.java | 0 .../hprof/model/JavaHeapObjectVisitor.java | 0 .../lib/jdk/test/lib/hprof/model/JavaInt.java | 0 .../lib/hprof/model/JavaLazyReadObject.java | 0 .../jdk/test/lib/hprof/model/JavaLong.java | 0 .../jdk/test/lib/hprof/model/JavaObject.java | 0 .../test/lib/hprof/model/JavaObjectArray.java | 0 .../test/lib/hprof/model/JavaObjectRef.java | 0 .../jdk/test/lib/hprof/model/JavaShort.java | 0 .../jdk/test/lib/hprof/model/JavaStatic.java | 0 .../jdk/test/lib/hprof/model/JavaThing.java | 0 .../jdk/test/lib/hprof/model/JavaValue.java | 0 .../test/lib/hprof/model/JavaValueArray.java | 0 .../lib/hprof/model/ReachableExcludes.java | 0 .../hprof/model/ReachableExcludesImpl.java | 0 .../lib/hprof/model/ReachableObjects.java | 0 .../test/lib/hprof/model/ReferenceChain.java | 0 .../lib/jdk/test/lib/hprof/model/Root.java | 0 .../jdk/test/lib/hprof/model/Snapshot.java | 0 .../jdk/test/lib/hprof/model/StackFrame.java | 0 .../jdk/test/lib/hprof/model/StackTrace.java | 0 .../test/lib/hprof/parser/FileReadBuffer.java | 0 .../test/lib/hprof/parser/HprofReader.java | 0 .../lib/hprof/parser/MappedReadBuffer.java | 0 .../hprof/parser/PositionDataInputStream.java | 0 .../lib/hprof/parser/PositionInputStream.java | 0 .../jdk/test/lib/hprof/parser/ReadBuffer.java | 0 .../lib/jdk/test/lib/hprof/parser/Reader.java | 0 .../jdk/test/lib/hprof/util/ArraySorter.java | 0 .../lib/jdk/test/lib/hprof/util/Comparer.java | 0 .../lib/hprof/util/CompositeEnumeration.java | 0 .../lib/jdk/test/lib/hprof/util/Misc.java | 0 .../jdk/test/lib/hprof/util/VectorSorter.java | 0 .../jdk/test/lib/jfr/AppExecutorHelper.java | 0 .../lib/jdk/test/lib/jfr/CommonHelper.java | 0 .../lib/jdk/test/lib/jfr/EventField.java | 0 .../lib/jdk/test/lib/jfr/EventNames.java | 0 .../jdk/test/lib/jfr/EventTypePrototype.java | 0 .../lib/jdk/test/lib/jfr/EventVerifier.java | 0 .../lib/jdk/test/lib/jfr/Events.java | 0 .../lib/jdk/test/lib/jfr/FileHelper.java | 0 .../lib/jdk/test/lib/jfr/GCHelper.java | 0 .../lib/jdk/test/lib/jfr/RecurseThread.java | 0 .../lib/jdk/test/lib/jfr/SimpleEvent.java | 0 .../jdk/test/lib/jfr/SimpleEventHelper.java | 0 .../lib/jdk/test/lib/jfr/SimpleSetting.java | 0 .../lib/jdk/test/lib/jfr/Stressor.java | 0 .../lib/jdk/test/lib/jfr/TestClassLoader.java | 0 .../lib/jdk/test/lib/jfr/VoidFunction.java | 0 .../test/lib/management/DynamicVMOption.java | 0 .../test/lib/management/InputArguments.java | 0 .../test/lib/management/ThreadMXBeanTool.java | 0 .../lib/jdk/test/lib/process/ExitCode.java | 0 .../jdk/test/lib/process/OutputAnalyzer.java | 0 .../jdk/test/lib/process/OutputBuffer.java | 0 .../jdk/test/lib/process/ProcessTools.java | 0 .../jdk/test/lib/process/StreamPumper.java | 0 .../lib/jdk/test/lib/thread/TestThread.java | 0 .../lib/jdk/test/lib/thread/XRun.java | 0 .../lib/jdk/test/lib/util/Pair.java | 0 .../jdk/test/lib/util/SerializationUtils.java | 0 .../lib/jdk/test/lib/util/Triple.java | 0 .../lib/sun/hotspot/WhiteBox.java | 0 .../lib/sun/hotspot/code/BlobType.java | 0 .../lib/sun/hotspot/code/CodeBlob.java | 0 .../lib/sun/hotspot/code/Compiler.java | 0 .../lib/sun/hotspot/code/NMethod.java | 0 .../lib/sun/hotspot/cpuinfo/CPUInfo.java | 0 {jdk/test => test}/lib/sun/hotspot/gc/GC.java | 0 .../sun/hotspot/parser/DiagnosticCommand.java | 0 611 files changed, 477 insertions(+), 1918 deletions(-) delete mode 100644 jdk/test/lib/RedefineClassHelper.java delete mode 100644 jdk/test/lib/jdk/test/lib/SecurityTools.java delete mode 100644 jdk/test/lib/jdk/test/lib/apps/LingeredApp.java delete mode 100644 jdk/test/lib/jdk/test/lib/apps/LingeredAppWithDeadlock.java delete mode 100644 jdk/test/lib/jdk/test/lib/compiler/CompilerUtils.java delete mode 100644 jdk/test/lib/jdk/test/lib/compiler/InMemoryJavaCompiler.java delete mode 100644 jdk/test/lib/jdk/test/lib/compiler/ModuleInfoMaker.java delete mode 100644 jdk/test/lib/jdk/test/lib/util/JarUtils.java rename {jdk/test => test}/lib/ClassFileInstaller.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/Asserts.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/BuildHelper.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/ByteCodeLoader.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/Container.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/Convert.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/FileInstaller.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/InfiniteLoop.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/JDKToolFinder.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/JDKToolLauncher.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/LockFreeLogger.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/NetworkConfiguration.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/Platform.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/RandomFactory.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/SigTestUtil.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/TimeLimitedRunner.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/Utils.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/artifacts/Artifact.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/artifacts/ArtifactContainer.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/artifacts/ArtifactManager.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/artifacts/ArtifactResolver.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/artifacts/ArtifactResolverException.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/artifacts/DefaultArtifactManager.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/artifacts/JibArtifactManager.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/cds/CDSOptions.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/cds/CDSTestUtils.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/classloader/ClassLoadUtils.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/classloader/FilterClassLoader.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/classloader/GeneratingClassLoader.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/classloader/ParentLastURLClassLoader.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/cli/CPUSpecificCommandLineOptionTest.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/cli/CommandLineOptionTest.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/cli/predicate/AndPredicate.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/cli/predicate/CPUSpecificPredicate.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/cli/predicate/NotPredicate.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/cli/predicate/OrPredicate.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/containers/cgroup/CPUSetsReader.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/containers/cgroup/MetricsTester.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/containers/docker/Common.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/containers/docker/DockerRunOptions.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/containers/docker/DockerTestUtils.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/containers/docker/DockerfileConfig.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/dcmd/CommandExecutor.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/dcmd/CommandExecutorException.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/dcmd/FileJcmdExecutor.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/dcmd/JMXExecutor.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/dcmd/JcmdExecutor.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/dcmd/MainClassJcmdExecutor.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/dcmd/PidJcmdExecutor.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/HprofParser.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/README (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/AbstractJavaHeapObjectVisitor.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/ArrayTypeCodes.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/HackJavaValue.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaBoolean.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaByte.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaChar.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaClass.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaDouble.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaField.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaFloat.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaHeapObject.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaHeapObjectVisitor.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaInt.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaLazyReadObject.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaLong.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaObject.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaObjectArray.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaObjectRef.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaShort.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaStatic.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaThing.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaValue.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/JavaValueArray.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/ReachableExcludes.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/ReachableExcludesImpl.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/ReachableObjects.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/ReferenceChain.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/Root.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/Snapshot.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/StackFrame.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/model/StackTrace.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/parser/FileReadBuffer.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/parser/HprofReader.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/parser/MappedReadBuffer.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/parser/PositionDataInputStream.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/parser/PositionInputStream.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/parser/ReadBuffer.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/parser/Reader.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/util/ArraySorter.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/util/Comparer.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/util/CompositeEnumeration.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/util/Misc.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/hprof/util/VectorSorter.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/AppExecutorHelper.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/CommonHelper.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/EventField.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/EventNames.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/EventTypePrototype.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/EventVerifier.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/Events.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/FileHelper.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/GCHelper.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/RecurseThread.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/SimpleEvent.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/SimpleEventHelper.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/SimpleSetting.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/Stressor.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/TestClassLoader.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/jfr/VoidFunction.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/management/DynamicVMOption.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/management/InputArguments.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/management/ThreadMXBeanTool.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/process/ExitCode.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/process/OutputAnalyzer.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/process/OutputBuffer.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/process/ProcessTools.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/process/StreamPumper.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/thread/TestThread.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/thread/XRun.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/util/Pair.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/util/SerializationUtils.java (100%) rename {jdk/test => test}/lib/jdk/test/lib/util/Triple.java (100%) rename {jdk/test => test}/lib/sun/hotspot/WhiteBox.java (100%) rename {jdk/test => test}/lib/sun/hotspot/code/BlobType.java (100%) rename {jdk/test => test}/lib/sun/hotspot/code/CodeBlob.java (100%) rename {jdk/test => test}/lib/sun/hotspot/code/Compiler.java (100%) rename {jdk/test => test}/lib/sun/hotspot/code/NMethod.java (100%) rename {jdk/test => test}/lib/sun/hotspot/cpuinfo/CPUInfo.java (100%) rename {jdk/test => test}/lib/sun/hotspot/gc/GC.java (100%) rename {jdk/test => test}/lib/sun/hotspot/parser/DiagnosticCommand.java (100%) diff --git a/hotspot/test/TEST.ROOT b/hotspot/test/TEST.ROOT index c88dcf29558..55ec2d61184 100644 --- a/hotspot/test/TEST.ROOT +++ b/hotspot/test/TEST.ROOT @@ -37,3 +37,7 @@ requires.extraPropDefns = ../../test/jtreg-ext/requires/VMProps.java requires.properties=sun.arch.data.model \ vm.flavor \ vm.bits + +# Path to libraries in the topmost test directory. This is needed so @library +# does not need ../../ notation to reach them +external.lib.roots = ../../ diff --git a/jdk/test/TEST.ROOT b/jdk/test/TEST.ROOT index 355b251e66c..b2d2ba1bcc3 100644 --- a/jdk/test/TEST.ROOT +++ b/jdk/test/TEST.ROOT @@ -25,3 +25,7 @@ requires.properties=sun.arch.data.model # Group definitions groups=TEST.groups [closed/TEST.groups] + +# Path to libraries in the topmost test directory. This is needed so @library +# does not need ../../ notation to reach them +external.lib.roots = ../../ diff --git a/jdk/test/java/net/MulticastSocket/JoinLeave.java b/jdk/test/java/net/MulticastSocket/JoinLeave.java index 684dd1ebd21..a3e714eecb1 100644 --- a/jdk/test/java/net/MulticastSocket/JoinLeave.java +++ b/jdk/test/java/net/MulticastSocket/JoinLeave.java @@ -25,7 +25,7 @@ * @test * @bug 4091811 4148753 4102731 * @summary Test java.net.MulticastSocket joinGroup and leaveGroup - * @library /lib + * @library /test/lib * @build jdk.test.lib.NetworkConfiguration * jdk.test.lib.Platform * @run main JoinLeave diff --git a/jdk/test/java/net/MulticastSocket/SetGetNetworkInterfaceTest.java b/jdk/test/java/net/MulticastSocket/SetGetNetworkInterfaceTest.java index 50f09885d05..7e888d31d22 100644 --- a/jdk/test/java/net/MulticastSocket/SetGetNetworkInterfaceTest.java +++ b/jdk/test/java/net/MulticastSocket/SetGetNetworkInterfaceTest.java @@ -32,7 +32,7 @@ * @test * @bug 6458027 * @summary Disabling IPv6 on a specific network interface causes problems. - * @library /lib + * @library /test/lib * @build jdk.test.lib.NetworkConfiguration * jdk.test.lib.Platform * @run main SetGetNetworkInterfaceTest diff --git a/jdk/test/java/net/MulticastSocket/Test.java b/jdk/test/java/net/MulticastSocket/Test.java index 63629e0dd90..df72cdae1f9 100644 --- a/jdk/test/java/net/MulticastSocket/Test.java +++ b/jdk/test/java/net/MulticastSocket/Test.java @@ -34,7 +34,7 @@ * @test * @bug 4488458 * @summary IPv4 and IPv6 multicasting broken on Linux - * @library /lib + * @library /test/lib * @build jdk.test.lib.NetworkConfiguration * jdk.test.lib.Platform * @run main Test diff --git a/jdk/test/java/net/MulticastSocket/TestInterfaces.java b/jdk/test/java/net/MulticastSocket/TestInterfaces.java index b8165535110..5a82fb9bed1 100644 --- a/jdk/test/java/net/MulticastSocket/TestInterfaces.java +++ b/jdk/test/java/net/MulticastSocket/TestInterfaces.java @@ -26,7 +26,7 @@ * @bug 4422122 * @summary Test that MulticastSocket.getInterface returns the * same InetAddress set by MulticastSocket.setInterface - * @library /lib + * @library /test/lib * @build jdk.test.lib.NetworkConfiguration * jdk.test.lib.Platform * @run main TestInterfaces diff --git a/jdk/test/java/security/SignedObject/Chain.java b/jdk/test/java/security/SignedObject/Chain.java index ff922ba8ade..cbd98c06ec8 100644 --- a/jdk/test/java/security/SignedObject/Chain.java +++ b/jdk/test/java/security/SignedObject/Chain.java @@ -37,7 +37,7 @@ * @test * @bug 8050374 8181048 8146293 * @summary Verify a chain of signed objects - * @library /lib + * @library /test/lib * @build jdk.test.lib.SigTestUtil * @run main Chain */ diff --git a/jdk/test/java/util/Arrays/TimSortStackSize2.java b/jdk/test/java/util/Arrays/TimSortStackSize2.java index dbd0c3c7874..ea0a69f48d0 100644 --- a/jdk/test/java/util/Arrays/TimSortStackSize2.java +++ b/jdk/test/java/util/Arrays/TimSortStackSize2.java @@ -26,7 +26,7 @@ * @bug 8072909 * @summary Test TimSort stack size on big arrays * @key intermittent - * @library /lib/testlibrary /lib + * @library /lib/testlibrary /test/lib * @build jdk.testlibrary.* * @build TimSortStackSize2 * @run driver ClassFileInstaller sun.hotspot.WhiteBox diff --git a/jdk/test/javax/net/ssl/TLS/TLSRehandshakeWithCipherChangeTest.java b/jdk/test/javax/net/ssl/TLS/TLSRehandshakeWithCipherChangeTest.java index 7e5c2d626df..ccf3ad6b534 100644 --- a/jdk/test/javax/net/ssl/TLS/TLSRehandshakeWithCipherChangeTest.java +++ b/jdk/test/javax/net/ssl/TLS/TLSRehandshakeWithCipherChangeTest.java @@ -27,7 +27,7 @@ * @summary Testing TLS engines re-handshaking with cipher change. New cipher * is taken randomly from the supporetd ciphers list. * @key randomness - * @library /sun/security/krb5/auto /lib /javax/net/ssl/TLSCommon + * @library /sun/security/krb5/auto /test/lib /javax/net/ssl/TLSCommon * @build jdk.test.lib.RandomFactory * @run main/othervm -Dtest.security.protocol=TLS TLSRehandshakeWithCipherChangeTest */ diff --git a/jdk/test/javax/net/ssl/TLSv1/TLSRehandshakeWithCipherChangeTest.java b/jdk/test/javax/net/ssl/TLSv1/TLSRehandshakeWithCipherChangeTest.java index 2c82691df4f..5ad80501a65 100644 --- a/jdk/test/javax/net/ssl/TLSv1/TLSRehandshakeWithCipherChangeTest.java +++ b/jdk/test/javax/net/ssl/TLSv1/TLSRehandshakeWithCipherChangeTest.java @@ -27,7 +27,7 @@ * @summary Testing TLS engines re-handshaking with cipher change. New cipher * is taken randomly from the supporetd ciphers list. * @key randomness - * @library /sun/security/krb5/auto /lib /javax/net/ssl/TLSCommon + * @library /sun/security/krb5/auto /test/lib /javax/net/ssl/TLSCommon * @build jdk.test.lib.RandomFactory * @run main/othervm -Dtest.security.protocol=TLSv1 TLSRehandshakeWithCipherChangeTest */ diff --git a/jdk/test/javax/net/ssl/TLSv11/TLSRehandshakeWithCipherChangeTest.java b/jdk/test/javax/net/ssl/TLSv11/TLSRehandshakeWithCipherChangeTest.java index d55581a6744..ee7ef58002c 100644 --- a/jdk/test/javax/net/ssl/TLSv11/TLSRehandshakeWithCipherChangeTest.java +++ b/jdk/test/javax/net/ssl/TLSv11/TLSRehandshakeWithCipherChangeTest.java @@ -27,7 +27,7 @@ * @summary Testing TLS engines re-handshaking with cipher change. New cipher * is taken randomly from the supporetd ciphers list. * @key randomness - * @library /sun/security/krb5/auto /lib /javax/net/ssl/TLSCommon + * @library /sun/security/krb5/auto /test/lib /javax/net/ssl/TLSCommon * @build jdk.test.lib.RandomFactory * @run main/othervm -Dtest.security.protocol=TLSv1.1 TLSRehandshakeWithCipherChangeTest */ diff --git a/jdk/test/jdk/internal/platform/cgroup/TestCgroupMetrics.java b/jdk/test/jdk/internal/platform/cgroup/TestCgroupMetrics.java index f20e222fce3..c6bdaf18232 100644 --- a/jdk/test/jdk/internal/platform/cgroup/TestCgroupMetrics.java +++ b/jdk/test/jdk/internal/platform/cgroup/TestCgroupMetrics.java @@ -23,7 +23,7 @@ /* * @test - * @library /lib / + * @library /test/lib / * @run main TestCgroupMetrics */ diff --git a/jdk/test/jdk/internal/platform/cgroup/TestCgroupSubsystemController.java b/jdk/test/jdk/internal/platform/cgroup/TestCgroupSubsystemController.java index f8d85510c5f..9a41d7d4264 100644 --- a/jdk/test/jdk/internal/platform/cgroup/TestCgroupSubsystemController.java +++ b/jdk/test/jdk/internal/platform/cgroup/TestCgroupSubsystemController.java @@ -45,7 +45,7 @@ * @test * @requires os.family == "linux" * @modules java.base/jdk.internal.platform - * @library /lib + * @library /test/lib * @library /lib/testlibrary * @run junit/othervm TestCgroupSubsystemController */ diff --git a/jdk/test/jdk/internal/platform/docker/TestDockerBasic.java b/jdk/test/jdk/internal/platform/docker/TestDockerBasic.java index 7746d08c9a5..98de34a545d 100644 --- a/jdk/test/jdk/internal/platform/docker/TestDockerBasic.java +++ b/jdk/test/jdk/internal/platform/docker/TestDockerBasic.java @@ -25,7 +25,7 @@ * @test * @bug 8293540 * @summary Verify that -XshowSettings:system works - * @library /lib / + * @library /test/lib / * @run main/timeout=360 TestDockerBasic */ diff --git a/jdk/test/jdk/internal/platform/docker/TestDockerCpuMetrics.java b/jdk/test/jdk/internal/platform/docker/TestDockerCpuMetrics.java index 7d5305cb0d2..05e52bd19cf 100644 --- a/jdk/test/jdk/internal/platform/docker/TestDockerCpuMetrics.java +++ b/jdk/test/jdk/internal/platform/docker/TestDockerCpuMetrics.java @@ -33,7 +33,7 @@ /* * @test * @summary Test JDK Metrics class when running inside docker container - * @library /lib / + * @library /test/lib / * @build MetricsCpuTester * @run main/timeout=360 TestDockerCpuMetrics */ diff --git a/jdk/test/jdk/internal/platform/docker/TestDockerMemoryMetrics.java b/jdk/test/jdk/internal/platform/docker/TestDockerMemoryMetrics.java index 185fe1ed15e..9b05e42928c 100644 --- a/jdk/test/jdk/internal/platform/docker/TestDockerMemoryMetrics.java +++ b/jdk/test/jdk/internal/platform/docker/TestDockerMemoryMetrics.java @@ -31,7 +31,7 @@ /* * @test * @summary Test JDK Metrics class when running inside docker container - * @library /lib / + * @library /test/lib / * @build MetricsMemoryTester * @run main/timeout=360 TestDockerMemoryMetrics */ diff --git a/jdk/test/jdk/internal/platform/docker/TestGetFreeSwapSpaceSize.java b/jdk/test/jdk/internal/platform/docker/TestGetFreeSwapSpaceSize.java index 33022f8b89d..b9c56bcbf24 100644 --- a/jdk/test/jdk/internal/platform/docker/TestGetFreeSwapSpaceSize.java +++ b/jdk/test/jdk/internal/platform/docker/TestGetFreeSwapSpaceSize.java @@ -24,7 +24,7 @@ /* * @test * @bug 8242480 - * @library /lib + * @library /test/lib * @build GetFreeSwapSpaceSize * @run driver TestGetFreeSwapSpaceSize */ diff --git a/jdk/test/jdk/internal/platform/docker/TestSystemMetrics.java b/jdk/test/jdk/internal/platform/docker/TestSystemMetrics.java index 1c89639803b..1c1129e35b2 100644 --- a/jdk/test/jdk/internal/platform/docker/TestSystemMetrics.java +++ b/jdk/test/jdk/internal/platform/docker/TestSystemMetrics.java @@ -24,7 +24,7 @@ /* * @test * @summary Test JDK Metrics class when running inside docker container - * @library /lib + * @library /test/lib * @run main TestSystemMetrics */ diff --git a/jdk/test/jdk/internal/platform/docker/TestUseContainerSupport.java b/jdk/test/jdk/internal/platform/docker/TestUseContainerSupport.java index f205e74ee5a..c35a407687e 100644 --- a/jdk/test/jdk/internal/platform/docker/TestUseContainerSupport.java +++ b/jdk/test/jdk/internal/platform/docker/TestUseContainerSupport.java @@ -24,7 +24,7 @@ /* * @test * @summary UseContainerSupport flag should reflect Metrics being available - * @library /lib + * @library /test/lib * @build CheckUseContainerSupport * @run main/timeout=360 TestUseContainerSupport */ diff --git a/jdk/test/jdk/jfr/api/consumer/TestFieldAccess.java b/jdk/test/jdk/jfr/api/consumer/TestFieldAccess.java index a545bf9c264..481506957fc 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestFieldAccess.java +++ b/jdk/test/jdk/jfr/api/consumer/TestFieldAccess.java @@ -39,7 +39,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestFieldAccess */ public class TestFieldAccess { diff --git a/jdk/test/jdk/jfr/api/consumer/TestGetStackTrace.java b/jdk/test/jdk/jfr/api/consumer/TestGetStackTrace.java index 93a10c8f1ea..cd0b80d140e 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestGetStackTrace.java +++ b/jdk/test/jdk/jfr/api/consumer/TestGetStackTrace.java @@ -47,7 +47,7 @@ * @summary Verifies that a recorded JFR event has the correct stack trace info * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestGetStackTrace */ public class TestGetStackTrace { diff --git a/jdk/test/jdk/jfr/api/consumer/TestHiddenMethod.java b/jdk/test/jdk/jfr/api/consumer/TestHiddenMethod.java index e1bdc54668e..2af17251cf4 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestHiddenMethod.java +++ b/jdk/test/jdk/jfr/api/consumer/TestHiddenMethod.java @@ -47,7 +47,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * diff --git a/jdk/test/jdk/jfr/api/consumer/TestMethodGetModifiers.java b/jdk/test/jdk/jfr/api/consumer/TestMethodGetModifiers.java index 0d375f0d3ee..e6b97196dc0 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestMethodGetModifiers.java +++ b/jdk/test/jdk/jfr/api/consumer/TestMethodGetModifiers.java @@ -43,7 +43,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -Xint jdk.jfr.api.consumer.TestMethodGetModifiers */ public final class TestMethodGetModifiers { diff --git a/jdk/test/jdk/jfr/api/consumer/TestReadTwice.java b/jdk/test/jdk/jfr/api/consumer/TestReadTwice.java index aa07d854b6d..0a54017b724 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestReadTwice.java +++ b/jdk/test/jdk/jfr/api/consumer/TestReadTwice.java @@ -43,7 +43,7 @@ * @summary Reads the recorded file two times and verifies that both reads are the same * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestReadTwice */ public class TestReadTwice { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordedClassLoader.java b/jdk/test/jdk/jfr/api/consumer/TestRecordedClassLoader.java index 784867025ee..365508d54c6 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordedClassLoader.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordedClassLoader.java @@ -41,7 +41,7 @@ * @summary Verifies the methods of the RecordedClassLoader * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordedClassLoader */ public class TestRecordedClassLoader { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordedEvent.java b/jdk/test/jdk/jfr/api/consumer/TestRecordedEvent.java index c59cf7faf42..ad8a3c68871 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordedEvent.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordedEvent.java @@ -42,7 +42,7 @@ * @summary Verifies the methods of the RecordedEvent * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordedEvent */ public class TestRecordedEvent { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordedEventGetThread.java b/jdk/test/jdk/jfr/api/consumer/TestRecordedEventGetThread.java index 7b9ab8f1ac6..2b2074302fe 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordedEventGetThread.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordedEventGetThread.java @@ -39,7 +39,7 @@ * @summary Tests that the RecordedEvent.getThread() returns th expected info * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordedEventGetThread */ public class TestRecordedEventGetThread { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordedEventGetThreadOther.java b/jdk/test/jdk/jfr/api/consumer/TestRecordedEventGetThreadOther.java index f555d40f103..550f87ec8bd 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordedEventGetThreadOther.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordedEventGetThreadOther.java @@ -41,7 +41,7 @@ * @summary Tests that the RecordedEvent.getThread() returns th expected info * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordedEventGetThreadOther */ public class TestRecordedEventGetThreadOther { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordedFrame.java b/jdk/test/jdk/jfr/api/consumer/TestRecordedFrame.java index 57ee9e949af..5453a972cf5 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordedFrame.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordedFrame.java @@ -42,7 +42,7 @@ * @summary Simple test for RecordedFrame APIs * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -Xint -XX:+UseInterpreter -Dinterpreted=true jdk.jfr.api.consumer.TestRecordedFrame * @run main/othervm -Xcomp -XX:-UseInterpreter -Dinterpreted=false jdk.jfr.api.consumer.TestRecordedFrame */ diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordedFullStackTrace.java b/jdk/test/jdk/jfr/api/consumer/TestRecordedFullStackTrace.java index 2fc846a698e..9ed25dad752 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordedFullStackTrace.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordedFullStackTrace.java @@ -44,7 +44,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordedFullStackTrace */ public class TestRecordedFullStackTrace { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordedInstantEventTimestamp.java b/jdk/test/jdk/jfr/api/consumer/TestRecordedInstantEventTimestamp.java index 8a5bb1079ba..a5498824266 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordedInstantEventTimestamp.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordedInstantEventTimestamp.java @@ -38,7 +38,7 @@ * @summary Tests that an instant event gets recorded with its start time equal to its end time * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordedInstantEventTimestamp */ public class TestRecordedInstantEventTimestamp { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordedMethodDescriptor.java b/jdk/test/jdk/jfr/api/consumer/TestRecordedMethodDescriptor.java index 77d3df60797..a3b4cdc871c 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordedMethodDescriptor.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordedMethodDescriptor.java @@ -44,7 +44,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordedMethodDescriptor */ public final class TestRecordedMethodDescriptor { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordedObject.java b/jdk/test/jdk/jfr/api/consumer/TestRecordedObject.java index 6b30e69bb81..992ea2d180f 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordedObject.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordedObject.java @@ -52,7 +52,7 @@ * @summary Verifies the methods of the RecordedObject * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordedObject */ public class TestRecordedObject { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordedThreadGroupParent.java b/jdk/test/jdk/jfr/api/consumer/TestRecordedThreadGroupParent.java index dc110d31028..b5f30d3a204 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordedThreadGroupParent.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordedThreadGroupParent.java @@ -38,7 +38,7 @@ * @summary Tests getParent method in RecordedThreadGroup * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordedThreadGroupParent */ public class TestRecordedThreadGroupParent { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordingFile.java b/jdk/test/jdk/jfr/api/consumer/TestRecordingFile.java index 831292641aa..2fffdebe285 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordingFile.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordingFile.java @@ -54,7 +54,7 @@ * @summary Verifies that all methods in RecordingFIle are working * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordingFile */ public class TestRecordingFile { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordingFileReadEventEof.java b/jdk/test/jdk/jfr/api/consumer/TestRecordingFileReadEventEof.java index 83e1aff4cd6..f22ea95ca58 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordingFileReadEventEof.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordingFileReadEventEof.java @@ -38,7 +38,7 @@ * @summary Verifies that RecordingFile.readEvent() throws EOF when past the last record * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordingFileReadEventEof */ public class TestRecordingFileReadEventEof { diff --git a/jdk/test/jdk/jfr/api/consumer/TestRecordingInternals.java b/jdk/test/jdk/jfr/api/consumer/TestRecordingInternals.java index 232078deed6..ed873bb3d83 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestRecordingInternals.java +++ b/jdk/test/jdk/jfr/api/consumer/TestRecordingInternals.java @@ -37,7 +37,7 @@ * @summary Tests that chunks are read in order and constant pools from multiple chunks can be read * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestRecordingInternals */ public class TestRecordingInternals { diff --git a/jdk/test/jdk/jfr/api/consumer/TestSingleRecordedEvent.java b/jdk/test/jdk/jfr/api/consumer/TestSingleRecordedEvent.java index d1a79b33414..7ce0b69cb55 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestSingleRecordedEvent.java +++ b/jdk/test/jdk/jfr/api/consumer/TestSingleRecordedEvent.java @@ -39,7 +39,7 @@ * @summary Verifies that a single JFR event is recorded as expected * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestSingleRecordedEvent */ public class TestSingleRecordedEvent { diff --git a/jdk/test/jdk/jfr/api/consumer/TestToString.java b/jdk/test/jdk/jfr/api/consumer/TestToString.java index 66595d71dfe..91234a49b10 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestToString.java +++ b/jdk/test/jdk/jfr/api/consumer/TestToString.java @@ -39,7 +39,7 @@ * @summary Sanity checks that RecordedEvent#toString returns something valid * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestToString */ public class TestToString { diff --git a/jdk/test/jdk/jfr/api/consumer/TestValueDescriptorRecorded.java b/jdk/test/jdk/jfr/api/consumer/TestValueDescriptorRecorded.java index fc69f999224..b70fc41a2cf 100644 --- a/jdk/test/jdk/jfr/api/consumer/TestValueDescriptorRecorded.java +++ b/jdk/test/jdk/jfr/api/consumer/TestValueDescriptorRecorded.java @@ -42,7 +42,7 @@ * @summary Verifies that the recorded value descriptors are correct * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.consumer.TestValueDescriptorRecorded */ public class TestValueDescriptorRecorded { diff --git a/jdk/test/jdk/jfr/api/event/TestAbstractEvent.java b/jdk/test/jdk/jfr/api/event/TestAbstractEvent.java index af276032789..bedba7f467d 100644 --- a/jdk/test/jdk/jfr/api/event/TestAbstractEvent.java +++ b/jdk/test/jdk/jfr/api/event/TestAbstractEvent.java @@ -42,7 +42,7 @@ * @summary Tests that abstract events are not part of metadata * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestAbstractEvent * @run main/othervm -XX:+AllowParallelDefineClass jdk.jfr.api.event.TestAbstractEvent */ diff --git a/jdk/test/jdk/jfr/api/event/TestBeginEnd.java b/jdk/test/jdk/jfr/api/event/TestBeginEnd.java index 21817d246b9..077e8b8cc00 100644 --- a/jdk/test/jdk/jfr/api/event/TestBeginEnd.java +++ b/jdk/test/jdk/jfr/api/event/TestBeginEnd.java @@ -37,7 +37,7 @@ * @summary Test for RecordedEvent.getDuration() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestBeginEnd */ public class TestBeginEnd { diff --git a/jdk/test/jdk/jfr/api/event/TestClinitRegistration.java b/jdk/test/jdk/jfr/api/event/TestClinitRegistration.java index db4319079fd..fe627318df8 100644 --- a/jdk/test/jdk/jfr/api/event/TestClinitRegistration.java +++ b/jdk/test/jdk/jfr/api/event/TestClinitRegistration.java @@ -42,7 +42,7 @@ * @summary Test enable/disable event and verify recording has expected events. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestClinitRegistration */ diff --git a/jdk/test/jdk/jfr/api/event/TestClonedEvent.java b/jdk/test/jdk/jfr/api/event/TestClonedEvent.java index ba43b878c76..6314e7ffb52 100644 --- a/jdk/test/jdk/jfr/api/event/TestClonedEvent.java +++ b/jdk/test/jdk/jfr/api/event/TestClonedEvent.java @@ -40,7 +40,7 @@ * @summary Tests that a cloned event can be successfully committed. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestClonedEvent */ diff --git a/jdk/test/jdk/jfr/api/event/TestEnableDisable.java b/jdk/test/jdk/jfr/api/event/TestEnableDisable.java index afde6a0b20d..1ac248d9dc4 100644 --- a/jdk/test/jdk/jfr/api/event/TestEnableDisable.java +++ b/jdk/test/jdk/jfr/api/event/TestEnableDisable.java @@ -41,7 +41,7 @@ * @summary Test enable/disable event and verify recording has expected events. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestEnableDisable */ diff --git a/jdk/test/jdk/jfr/api/event/TestEventFactory.java b/jdk/test/jdk/jfr/api/event/TestEventFactory.java index 60b2f905150..781103d36a6 100644 --- a/jdk/test/jdk/jfr/api/event/TestEventFactory.java +++ b/jdk/test/jdk/jfr/api/event/TestEventFactory.java @@ -42,7 +42,7 @@ * @summary EventFactory simple test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestEventFactory * @run main/othervm -XX:+AllowParallelDefineClass jdk.jfr.api.event.TestEventFactory */ diff --git a/jdk/test/jdk/jfr/api/event/TestEventFactoryRegisterTwice.java b/jdk/test/jdk/jfr/api/event/TestEventFactoryRegisterTwice.java index f094a47ff24..434f32bb133 100644 --- a/jdk/test/jdk/jfr/api/event/TestEventFactoryRegisterTwice.java +++ b/jdk/test/jdk/jfr/api/event/TestEventFactoryRegisterTwice.java @@ -38,7 +38,7 @@ * @summary Verifies that EventFactory can register the same event twice * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestEventFactoryRegisterTwice */ public class TestEventFactoryRegisterTwice { diff --git a/jdk/test/jdk/jfr/api/event/TestEventFactoryRegistration.java b/jdk/test/jdk/jfr/api/event/TestEventFactoryRegistration.java index 7d7c6890e44..8896ffcd2cc 100644 --- a/jdk/test/jdk/jfr/api/event/TestEventFactoryRegistration.java +++ b/jdk/test/jdk/jfr/api/event/TestEventFactoryRegistration.java @@ -42,7 +42,7 @@ * @summary EventFactory register/unregister API test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestEventFactoryRegistration * @run main/othervm -XX:+AllowParallelDefineClass jdk.jfr.api.event.TestEventFactoryRegistration */ diff --git a/jdk/test/jdk/jfr/api/event/TestExtends.java b/jdk/test/jdk/jfr/api/event/TestExtends.java index 765be919016..d05e41418e2 100644 --- a/jdk/test/jdk/jfr/api/event/TestExtends.java +++ b/jdk/test/jdk/jfr/api/event/TestExtends.java @@ -38,7 +38,7 @@ * @summary Test with event class inheritance * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestExtends */ diff --git a/jdk/test/jdk/jfr/api/event/TestGetDuration.java b/jdk/test/jdk/jfr/api/event/TestGetDuration.java index ac3db2d5d78..449b166f000 100644 --- a/jdk/test/jdk/jfr/api/event/TestGetDuration.java +++ b/jdk/test/jdk/jfr/api/event/TestGetDuration.java @@ -41,7 +41,7 @@ * @summary Test for RecordedEvent.getDuration() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestGetDuration */ public class TestGetDuration { diff --git a/jdk/test/jdk/jfr/api/event/TestIsEnabled.java b/jdk/test/jdk/jfr/api/event/TestIsEnabled.java index c11d2125c7f..b245fca3c0c 100644 --- a/jdk/test/jdk/jfr/api/event/TestIsEnabled.java +++ b/jdk/test/jdk/jfr/api/event/TestIsEnabled.java @@ -35,7 +35,7 @@ * @summary Test Event.isEnabled() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestIsEnabled */ diff --git a/jdk/test/jdk/jfr/api/event/TestIsEnabledMultiple.java b/jdk/test/jdk/jfr/api/event/TestIsEnabledMultiple.java index 4ceec8e7b21..345de5ebb18 100644 --- a/jdk/test/jdk/jfr/api/event/TestIsEnabledMultiple.java +++ b/jdk/test/jdk/jfr/api/event/TestIsEnabledMultiple.java @@ -35,7 +35,7 @@ * @summary Test Event.isEnabled() with multiple recordings * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestIsEnabledMultiple */ diff --git a/jdk/test/jdk/jfr/api/event/TestOwnCommit.java b/jdk/test/jdk/jfr/api/event/TestOwnCommit.java index 786b0da20f0..370362223f1 100644 --- a/jdk/test/jdk/jfr/api/event/TestOwnCommit.java +++ b/jdk/test/jdk/jfr/api/event/TestOwnCommit.java @@ -39,7 +39,7 @@ * @summary Use custom event that reuse method names begin, end and commit. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestOwnCommit */ diff --git a/jdk/test/jdk/jfr/api/event/TestShouldCommit.java b/jdk/test/jdk/jfr/api/event/TestShouldCommit.java index 7497c6a4512..8cc04dc927b 100644 --- a/jdk/test/jdk/jfr/api/event/TestShouldCommit.java +++ b/jdk/test/jdk/jfr/api/event/TestShouldCommit.java @@ -36,7 +36,7 @@ * @summary Test enable/disable event and verify recording has expected events. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+LogJFR jdk.jfr.api.event.TestShouldCommit */ diff --git a/jdk/test/jdk/jfr/api/event/TestStaticEnable.java b/jdk/test/jdk/jfr/api/event/TestStaticEnable.java index c3e4c7a43b6..b2976d75e06 100644 --- a/jdk/test/jdk/jfr/api/event/TestStaticEnable.java +++ b/jdk/test/jdk/jfr/api/event/TestStaticEnable.java @@ -38,7 +38,7 @@ * @summary Enable an event from a static function in the event. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.TestStaticEnable */ public class TestStaticEnable { diff --git a/jdk/test/jdk/jfr/api/event/dynamic/TestDynamicAnnotations.java b/jdk/test/jdk/jfr/api/event/dynamic/TestDynamicAnnotations.java index edb0b88b877..11bddf2975f 100644 --- a/jdk/test/jdk/jfr/api/event/dynamic/TestDynamicAnnotations.java +++ b/jdk/test/jdk/jfr/api/event/dynamic/TestDynamicAnnotations.java @@ -55,7 +55,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.dynamic.TestDynamicAnnotations */ public class TestDynamicAnnotations { diff --git a/jdk/test/jdk/jfr/api/event/dynamic/TestEventFactory.java b/jdk/test/jdk/jfr/api/event/dynamic/TestEventFactory.java index ef3957f9a06..4caefe6f6c8 100644 --- a/jdk/test/jdk/jfr/api/event/dynamic/TestEventFactory.java +++ b/jdk/test/jdk/jfr/api/event/dynamic/TestEventFactory.java @@ -57,7 +57,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.event.dynamic.TestEventFactory */ public class TestEventFactory { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestAddListenerTwice.java b/jdk/test/jdk/jfr/api/flightrecorder/TestAddListenerTwice.java index 07429a0dfce..ef1e086d3aa 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestAddListenerTwice.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestAddListenerTwice.java @@ -33,7 +33,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestAddListenerTwice */ public class TestAddListenerTwice { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestAddPeriodicEvent.java b/jdk/test/jdk/jfr/api/flightrecorder/TestAddPeriodicEvent.java index a1b8285c84f..8654484bae9 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestAddPeriodicEvent.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestAddPeriodicEvent.java @@ -40,7 +40,7 @@ * @summary * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestAddPeriodicEvent */ public class TestAddPeriodicEvent { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestFlightRecorderListenerRecorderInitialized.java b/jdk/test/jdk/jfr/api/flightrecorder/TestFlightRecorderListenerRecorderInitialized.java index fcbf2cc61dd..4f3e9197352 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestFlightRecorderListenerRecorderInitialized.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestFlightRecorderListenerRecorderInitialized.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestFlightRecorderListenerRecorderInitialized */ public class TestFlightRecorderListenerRecorderInitialized { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestGetEventTypes.java b/jdk/test/jdk/jfr/api/flightrecorder/TestGetEventTypes.java index fb4c8727a07..c2b7ed8f5e8 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestGetEventTypes.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestGetEventTypes.java @@ -42,7 +42,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm/timeout=600 jdk.jfr.api.flightrecorder.TestGetEventTypes */ public class TestGetEventTypes { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestGetPlatformRecorder.java b/jdk/test/jdk/jfr/api/flightrecorder/TestGetPlatformRecorder.java index a6843734be8..ea143fbe055 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestGetPlatformRecorder.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestGetPlatformRecorder.java @@ -33,7 +33,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestGetPlatformRecorder */ public class TestGetPlatformRecorder { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestGetRecordings.java b/jdk/test/jdk/jfr/api/flightrecorder/TestGetRecordings.java index 375d6827bb5..bb42d772c1f 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestGetRecordings.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestGetRecordings.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestGetRecordings */ public class TestGetRecordings { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestGetSettings.java b/jdk/test/jdk/jfr/api/flightrecorder/TestGetSettings.java index a5dbee5e411..83d92edb6ad 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestGetSettings.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestGetSettings.java @@ -39,7 +39,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestGetSettings */ public class TestGetSettings { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestIsAvailable.java b/jdk/test/jdk/jfr/api/flightrecorder/TestIsAvailable.java index a1973ea44d7..e2e844e74ba 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestIsAvailable.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestIsAvailable.java @@ -32,7 +32,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+FlightRecorder jdk.jfr.api.flightrecorder.TestIsAvailable true * @run main/othervm -XX:-FlightRecorder jdk.jfr.api.flightrecorder.TestIsAvailable false * @run main/othervm jdk.jfr.api.flightrecorder.TestIsAvailable true diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestIsInitialized.java b/jdk/test/jdk/jfr/api/flightrecorder/TestIsInitialized.java index 4ce14b827c1..3461cc0b66e 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestIsInitialized.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestIsInitialized.java @@ -33,7 +33,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestIsInitialized */ public class TestIsInitialized { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestListener.java b/jdk/test/jdk/jfr/api/flightrecorder/TestListener.java index 56aed2dad5d..1d9e1fcffec 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestListener.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestListener.java @@ -33,7 +33,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestListener */ public class TestListener { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestListenerNull.java b/jdk/test/jdk/jfr/api/flightrecorder/TestListenerNull.java index 650b99cafa5..96ad3d35c83 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestListenerNull.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestListenerNull.java @@ -33,7 +33,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestListenerNull */ public class TestListenerNull { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestPeriodicEventsSameHook.java b/jdk/test/jdk/jfr/api/flightrecorder/TestPeriodicEventsSameHook.java index 236c08206d7..f691f97dd26 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestPeriodicEventsSameHook.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestPeriodicEventsSameHook.java @@ -33,7 +33,7 @@ * @summary Check that an IllegalArgumentException is thrown if event is added twice * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestPeriodicEventsSameHook */ public class TestPeriodicEventsSameHook { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestRecorderInitializationCallback.java b/jdk/test/jdk/jfr/api/flightrecorder/TestRecorderInitializationCallback.java index 7d616dcf3cc..6bbff331ddd 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestRecorderInitializationCallback.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestRecorderInitializationCallback.java @@ -37,7 +37,7 @@ * @summary Test Flight Recorder initialization callback is only called once * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestRecorderInitializationCallback */ public class TestRecorderInitializationCallback { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestRegisterUnregisterEvent.java b/jdk/test/jdk/jfr/api/flightrecorder/TestRegisterUnregisterEvent.java index 4a9536534d0..3e473230587 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestRegisterUnregisterEvent.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestRegisterUnregisterEvent.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestRegisterUnregisterEvent */ public class TestRegisterUnregisterEvent { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestSettingsControl.java b/jdk/test/jdk/jfr/api/flightrecorder/TestSettingsControl.java index 49d1d6fe7ed..dd298cdde98 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestSettingsControl.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestSettingsControl.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestSettingsControl */ public class TestSettingsControl { diff --git a/jdk/test/jdk/jfr/api/flightrecorder/TestSnapshot.java b/jdk/test/jdk/jfr/api/flightrecorder/TestSnapshot.java index 86ad2eb93e0..7427fff8c56 100644 --- a/jdk/test/jdk/jfr/api/flightrecorder/TestSnapshot.java +++ b/jdk/test/jdk/jfr/api/flightrecorder/TestSnapshot.java @@ -44,7 +44,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.flightrecorder.TestSnapshot */ public class TestSnapshot { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestCategory.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestCategory.java index 1ed6ed69996..8bc69602dbe 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestCategory.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestCategory.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestCategory */ public class TestCategory { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestContentType.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestContentType.java index ea989a47840..1924d03cf08 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestContentType.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestContentType.java @@ -43,7 +43,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestContentType */ public class TestContentType { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestDescription.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestDescription.java index 8c00eac2917..e6d7dc7b9ad 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestDescription.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestDescription.java @@ -45,7 +45,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestDescription */ public class TestDescription { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestDynamicAnnotation.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestDynamicAnnotation.java index 7fd46f72311..f3a2c36a9cd 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestDynamicAnnotation.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestDynamicAnnotation.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestDynamicAnnotation */ diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestEnabled.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestEnabled.java index 7e53e2688e0..de0a7b38af9 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestEnabled.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestEnabled.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestEnabled */ public class TestEnabled { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestExperimental.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestExperimental.java index 78b9a195a98..792cd954b82 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestExperimental.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestExperimental.java @@ -42,7 +42,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestExperimental */ public class TestExperimental { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestFieldAnnotations.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestFieldAnnotations.java index 6f0600abcb5..dabcad55b7e 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestFieldAnnotations.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestFieldAnnotations.java @@ -43,7 +43,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestFieldAnnotations */ public class TestFieldAnnotations { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestFormatMissingValue.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestFormatMissingValue.java index a9335cac688..2019284f00a 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestFormatMissingValue.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestFormatMissingValue.java @@ -39,7 +39,7 @@ * @key jfr * @summary Check that event values are properly formatted and sanity check * that extreme values don't throws exceptions - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestFormatMissingValue */ public class TestFormatMissingValue { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestHasValue.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestHasValue.java index 3c02323f390..6c75813fcee 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestHasValue.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestHasValue.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestHasValue */ diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestInheritedAnnotations.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestInheritedAnnotations.java index 943bc27bcc7..d3d6f6675ea 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestInheritedAnnotations.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestInheritedAnnotations.java @@ -52,7 +52,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestInheritedAnnotations */ public class TestInheritedAnnotations { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestLabel.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestLabel.java index 89e372a13a7..4d00512df52 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestLabel.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestLabel.java @@ -46,7 +46,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestLabel */ public class TestLabel { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestMetadata.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestMetadata.java index 210be81cb4b..52ef756d6fd 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestMetadata.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestMetadata.java @@ -42,7 +42,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestMetadata */ public class TestMetadata { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestName.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestName.java index 4d9b08ea8c7..3645b3b294d 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestName.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestName.java @@ -46,7 +46,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestName */ public class TestName { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestPeriod.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestPeriod.java index 54ac938edcf..d03f776ee3d 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestPeriod.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestPeriod.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestLabel */ public class TestPeriod { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestRegistered.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestRegistered.java index 5d6bf80c1bb..aa3f7b7b2a2 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestRegistered.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestRegistered.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestRegistered */ public class TestRegistered { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestRegisteredFalseAndRunning.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestRegisteredFalseAndRunning.java index fbea9af90b0..bb154eb1d9f 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestRegisteredFalseAndRunning.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestRegisteredFalseAndRunning.java @@ -33,7 +33,7 @@ * @test Tests that commit doesn't throw exception when an event has not been registered. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestRegisteredFalseAndRunning * @run main/othervm -XX:FlightRecorderOptions=retransform=false jdk.jfr.api.metadata.annotations.TestRegisteredFalseAndRunning */ diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestRelational.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestRelational.java index 6360f75b0d9..94406822f01 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestRelational.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestRelational.java @@ -44,7 +44,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestRelational */ public class TestRelational { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestSimpleMetadataEvent.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestSimpleMetadataEvent.java index 95150735e66..d928b86ecd8 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestSimpleMetadataEvent.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestSimpleMetadataEvent.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestSimpleMetadataEvent */ public class TestSimpleMetadataEvent { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestStackTrace.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestStackTrace.java index 23881c89aed..1fabed1c856 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestStackTrace.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestStackTrace.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestStackTrace */ public class TestStackTrace { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestThreshold.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestThreshold.java index 09310cfc4ab..4ff764d458f 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestThreshold.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestThreshold.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestThreshold */ public class TestThreshold { diff --git a/jdk/test/jdk/jfr/api/metadata/annotations/TestTypesIdentical.java b/jdk/test/jdk/jfr/api/metadata/annotations/TestTypesIdentical.java index 594c0a5be62..a6415cd0c33 100644 --- a/jdk/test/jdk/jfr/api/metadata/annotations/TestTypesIdentical.java +++ b/jdk/test/jdk/jfr/api/metadata/annotations/TestTypesIdentical.java @@ -55,7 +55,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.annotations.TestTypesIdentical */ public class TestTypesIdentical { diff --git a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotation.java b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotation.java index 5ea99efc86c..1031f1ac31e 100644 --- a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotation.java +++ b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotation.java @@ -40,7 +40,7 @@ * @summary Test getAnnotations() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetAnnotation */ public class TestGetAnnotation { diff --git a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotationElements.java b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotationElements.java index b5ba7c3577e..637bd2d6de1 100644 --- a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotationElements.java +++ b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotationElements.java @@ -67,7 +67,7 @@ * @summary Test for AnnotationElement.getAnnotationElements() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetAnnotationElements */ public class TestGetAnnotationElements { diff --git a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotations.java b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotations.java index 9214b261a73..191e2cda855 100644 --- a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotations.java +++ b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetAnnotations.java @@ -42,7 +42,7 @@ * @summary Test getAnnotations() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetAnnotations */ public class TestGetAnnotations { diff --git a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetCategory.java b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetCategory.java index 4fbc9aa2266..6dc49c9c43f 100644 --- a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetCategory.java +++ b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetCategory.java @@ -37,7 +37,7 @@ * @summary Test setName(). * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetCategory */ public class TestGetCategory { diff --git a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetDefaultValues.java b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetDefaultValues.java index bc4615ebdc1..42a8c61934b 100644 --- a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetDefaultValues.java +++ b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetDefaultValues.java @@ -36,7 +36,7 @@ * @summary Test getDefaultValues() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetDefaultValues */ public class TestGetDefaultValues { diff --git a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetDescription.java b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetDescription.java index bc662eb5067..af7098e364e 100644 --- a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetDescription.java +++ b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetDescription.java @@ -41,7 +41,7 @@ * @summary Test descriptive annotations for EventType * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetDescription */ public class TestGetDescription { diff --git a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetEventType.java b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetEventType.java index d6240658a27..738ba1e3f41 100644 --- a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetEventType.java +++ b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetEventType.java @@ -34,7 +34,7 @@ * @summary Test getEventType() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetEventType */ public class TestGetEventType { diff --git a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetField.java b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetField.java index aec6309e257..d4d4b835c28 100644 --- a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetField.java +++ b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetField.java @@ -35,7 +35,7 @@ * @summary Test getField() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetField */ public class TestGetField { diff --git a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetFields.java b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetFields.java index df39699cc88..f1b687eafc3 100644 --- a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetFields.java +++ b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetFields.java @@ -38,7 +38,7 @@ * @summary Test getFields() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetFields */ public class TestGetFields { diff --git a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetSettings.java b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetSettings.java index 424b086479c..59289310437 100644 --- a/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetSettings.java +++ b/jdk/test/jdk/jfr/api/metadata/eventtype/TestGetSettings.java @@ -36,7 +36,7 @@ * @summary Test getSettings() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.eventtype.TestGetSettings */ public class TestGetSettings { diff --git a/jdk/test/jdk/jfr/api/metadata/eventtype/TestUnloadingEventClass.java b/jdk/test/jdk/jfr/api/metadata/eventtype/TestUnloadingEventClass.java index 167723745e3..7f96639dd5f 100644 --- a/jdk/test/jdk/jfr/api/metadata/eventtype/TestUnloadingEventClass.java +++ b/jdk/test/jdk/jfr/api/metadata/eventtype/TestUnloadingEventClass.java @@ -44,7 +44,7 @@ * @summary Test that verifies event metadata is removed when an event class is unloaded. * * - * @library /lib / + * @library /test/lib / * * * @run main/othervm -XX:+PrintGCDetails -XX:+PrintGC -verbose:class jdk.jfr.api.metadata.eventtype.TestUnloadingEventClass diff --git a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestDefaultValue.java b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestDefaultValue.java index f6357441d4e..e36446ec2ef 100644 --- a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestDefaultValue.java +++ b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestDefaultValue.java @@ -34,7 +34,7 @@ * @summary Test SettingDescriptor.getName() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestDefaultValue */ public class TestDefaultValue { diff --git a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotation.java b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotation.java index 7b7ce61a33a..b9aa69fc987 100644 --- a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotation.java +++ b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotation.java @@ -38,7 +38,7 @@ * @summary Test SettingDescriptor.getAnnotation(); * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetAnnotation */ public class TestGetAnnotation { diff --git a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotationElement.java b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotationElement.java index f7e10a15e52..fade2979366 100644 --- a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotationElement.java +++ b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetAnnotationElement.java @@ -41,7 +41,7 @@ * @summary Test SettingDescriptor.getAnnotationElements() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetAnnotationElement */ public class TestGetAnnotationElement { diff --git a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetContentType.java b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetContentType.java index 1c5447a3651..c796f94355f 100644 --- a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetContentType.java +++ b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetContentType.java @@ -39,7 +39,7 @@ * @summary Test SettingDescriptor.getContentType() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetDescription */ public class TestGetContentType { diff --git a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetDescription.java b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetDescription.java index 8e4758321a3..9a0cb8bba14 100644 --- a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetDescription.java +++ b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetDescription.java @@ -36,7 +36,7 @@ * @summary Test SettingDescriptor.getDescription() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetDescription */ public class TestGetDescription { diff --git a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetLabel.java b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetLabel.java index 82e8fec5c0e..7802120d7a1 100644 --- a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetLabel.java +++ b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetLabel.java @@ -36,7 +36,7 @@ * @summary Test SettingDescriptor.getLabel() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetLabel */ public class TestGetLabel { diff --git a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetName.java b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetName.java index 80fcebad060..865c020125a 100644 --- a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetName.java +++ b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetName.java @@ -33,7 +33,7 @@ * @summary Test SettingDescriptor.getName() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetName */ public class TestGetName { diff --git a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeId.java b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeId.java index 4449b873c99..4e636515974 100644 --- a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeId.java +++ b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeId.java @@ -34,7 +34,7 @@ * @summary Test SettingDescriptor.getTypeId() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetTypeId */ public class TestGetTypeId { diff --git a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeName.java b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeName.java index cb241de5491..c0d1233ab9b 100644 --- a/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeName.java +++ b/jdk/test/jdk/jfr/api/metadata/settingdescriptor/TestGetTypeName.java @@ -34,7 +34,7 @@ * @summary Test SettingDescriptor.getTypeName(); * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.settingdescriptor.TestGetTypeName */ public class TestGetTypeName { diff --git a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestClasses.java b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestClasses.java index 81e70c44b4b..90077f057a2 100644 --- a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestClasses.java +++ b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestClasses.java @@ -38,7 +38,7 @@ * @summary Test ValueDescriptor.getAnnotations() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestClasses */ public class TestClasses { diff --git a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestConstructor.java b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestConstructor.java index 336bff2c74c..f7a9f91ec50 100644 --- a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestConstructor.java +++ b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestConstructor.java @@ -38,7 +38,7 @@ * @summary Test ValueDescriptor.getAnnotations() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestConstructor */ public class TestConstructor { diff --git a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestGetAnnotations.java b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestGetAnnotations.java index ee11da9a174..82a82e7f215 100644 --- a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestGetAnnotations.java +++ b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestGetAnnotations.java @@ -42,7 +42,7 @@ * @summary Test ValueDescriptor.getAnnotations() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestGetAnnotations */ public class TestGetAnnotations { diff --git a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestGetFields.java b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestGetFields.java index 60b4d5411b0..7e07ba35c39 100644 --- a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestGetFields.java +++ b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestGetFields.java @@ -33,7 +33,7 @@ * @summary Test ValueDescriptor.getAnnotations() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestGetFields */ public class TestGetFields { diff --git a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestIsArray.java b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestIsArray.java index c5aa3d9e23c..f1b671d1137 100644 --- a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestIsArray.java +++ b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestIsArray.java @@ -35,7 +35,7 @@ * @summary Test ValueDescriptor.isArray(). * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestIsArray */ public class TestIsArray { diff --git a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestSimpleTypes.java b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestSimpleTypes.java index bdfc30430f2..83296c48f71 100644 --- a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestSimpleTypes.java +++ b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestSimpleTypes.java @@ -43,7 +43,7 @@ * @summary Test all basic types in ValueDescriptor. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestSimpleTypes */ public class TestSimpleTypes { diff --git a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestValueDescriptorContentType.java b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestValueDescriptorContentType.java index 1cc6b0e4a93..f74354ee72b 100644 --- a/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestValueDescriptorContentType.java +++ b/jdk/test/jdk/jfr/api/metadata/valuedescriptor/TestValueDescriptorContentType.java @@ -42,7 +42,7 @@ * @summary Test ValueDescriptor.getContentType() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.metadata.valuedescriptor.TestValueDescriptorContentType */ public class TestValueDescriptorContentType { diff --git a/jdk/test/jdk/jfr/api/recorder/TestRecorderInitialized.java b/jdk/test/jdk/jfr/api/recorder/TestRecorderInitialized.java index 26d6d249761..5cedc979a62 100644 --- a/jdk/test/jdk/jfr/api/recorder/TestRecorderInitialized.java +++ b/jdk/test/jdk/jfr/api/recorder/TestRecorderInitialized.java @@ -33,7 +33,7 @@ * @test TestRecorderListener * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.api.recorder.TestRecorderInitialized */ diff --git a/jdk/test/jdk/jfr/api/recorder/TestStartStopRecording.java b/jdk/test/jdk/jfr/api/recorder/TestStartStopRecording.java index 421577bc8ec..ad7bf949719 100644 --- a/jdk/test/jdk/jfr/api/recorder/TestStartStopRecording.java +++ b/jdk/test/jdk/jfr/api/recorder/TestStartStopRecording.java @@ -39,7 +39,7 @@ * * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recorder.TestStartStopRecording */ public class TestStartStopRecording { diff --git a/jdk/test/jdk/jfr/api/recording/destination/TestDestFileExist.java b/jdk/test/jdk/jfr/api/recording/destination/TestDestFileExist.java index 2476af0fa35..b7964f5c8f6 100644 --- a/jdk/test/jdk/jfr/api/recording/destination/TestDestFileExist.java +++ b/jdk/test/jdk/jfr/api/recording/destination/TestDestFileExist.java @@ -43,7 +43,7 @@ * @summary Set destination to an existing file. File should be overwritten. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.destination.TestDestFileExist */ public class TestDestFileExist { diff --git a/jdk/test/jdk/jfr/api/recording/destination/TestDestFileReadOnly.java b/jdk/test/jdk/jfr/api/recording/destination/TestDestFileReadOnly.java index 833ec9d5f11..22a798f8a47 100644 --- a/jdk/test/jdk/jfr/api/recording/destination/TestDestFileReadOnly.java +++ b/jdk/test/jdk/jfr/api/recording/destination/TestDestFileReadOnly.java @@ -38,7 +38,7 @@ * @summary Set destination to a read-only file. Expects exception. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.destination.TestDestFileReadOnly */ public class TestDestFileReadOnly { diff --git a/jdk/test/jdk/jfr/api/recording/destination/TestDestInvalid.java b/jdk/test/jdk/jfr/api/recording/destination/TestDestInvalid.java index 38aab517358..7b5baf597e1 100644 --- a/jdk/test/jdk/jfr/api/recording/destination/TestDestInvalid.java +++ b/jdk/test/jdk/jfr/api/recording/destination/TestDestInvalid.java @@ -44,7 +44,7 @@ * @summary Test setDestination to invalid paths * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.destination.TestDestInvalid */ public class TestDestInvalid { diff --git a/jdk/test/jdk/jfr/api/recording/destination/TestDestLongPath.java b/jdk/test/jdk/jfr/api/recording/destination/TestDestLongPath.java index b6160629281..02b3f85a96e 100644 --- a/jdk/test/jdk/jfr/api/recording/destination/TestDestLongPath.java +++ b/jdk/test/jdk/jfr/api/recording/destination/TestDestLongPath.java @@ -42,7 +42,7 @@ * @summary Set destination to a long path * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.destination.TestDestLongPath */ public class TestDestLongPath { diff --git a/jdk/test/jdk/jfr/api/recording/destination/TestDestMultiple.java b/jdk/test/jdk/jfr/api/recording/destination/TestDestMultiple.java index c55a697ded8..d6ef17d4388 100644 --- a/jdk/test/jdk/jfr/api/recording/destination/TestDestMultiple.java +++ b/jdk/test/jdk/jfr/api/recording/destination/TestDestMultiple.java @@ -42,7 +42,7 @@ * @summary Test setDestination with concurrent recordings * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+LogJFR jdk.jfr.api.recording.destination.TestDestMultiple */ public class TestDestMultiple { diff --git a/jdk/test/jdk/jfr/api/recording/destination/TestDestReadOnly.java b/jdk/test/jdk/jfr/api/recording/destination/TestDestReadOnly.java index f49fc38c51e..dea97446891 100644 --- a/jdk/test/jdk/jfr/api/recording/destination/TestDestReadOnly.java +++ b/jdk/test/jdk/jfr/api/recording/destination/TestDestReadOnly.java @@ -45,7 +45,7 @@ * @summary Test setDestination to read-only dir * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.destination.TestDestReadOnly */ public class TestDestReadOnly { diff --git a/jdk/test/jdk/jfr/api/recording/destination/TestDestState.java b/jdk/test/jdk/jfr/api/recording/destination/TestDestState.java index d22c246aea7..d05aaeaca71 100644 --- a/jdk/test/jdk/jfr/api/recording/destination/TestDestState.java +++ b/jdk/test/jdk/jfr/api/recording/destination/TestDestState.java @@ -41,7 +41,7 @@ * @summary Call setDestination() when recording in different states * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.destination.TestDestState */ public class TestDestState { diff --git a/jdk/test/jdk/jfr/api/recording/destination/TestDestToDiskFalse.java b/jdk/test/jdk/jfr/api/recording/destination/TestDestToDiskFalse.java index 642c0767fa2..b2dafca6d8d 100644 --- a/jdk/test/jdk/jfr/api/recording/destination/TestDestToDiskFalse.java +++ b/jdk/test/jdk/jfr/api/recording/destination/TestDestToDiskFalse.java @@ -44,7 +44,7 @@ * @summary Basic test for setDestination with disk=false * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.destination.TestDestToDiskFalse */ public class TestDestToDiskFalse { diff --git a/jdk/test/jdk/jfr/api/recording/destination/TestDestToDiskTrue.java b/jdk/test/jdk/jfr/api/recording/destination/TestDestToDiskTrue.java index 1b87329d17a..e6145867f47 100644 --- a/jdk/test/jdk/jfr/api/recording/destination/TestDestToDiskTrue.java +++ b/jdk/test/jdk/jfr/api/recording/destination/TestDestToDiskTrue.java @@ -43,7 +43,7 @@ * @summary Basic test for setDestination with disk=true * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.destination.TestDestToDiskTrue */ public class TestDestToDiskTrue { diff --git a/jdk/test/jdk/jfr/api/recording/destination/TestDestWithDuration.java b/jdk/test/jdk/jfr/api/recording/destination/TestDestWithDuration.java index 86f9a2bb3c3..a466f56c88a 100644 --- a/jdk/test/jdk/jfr/api/recording/destination/TestDestWithDuration.java +++ b/jdk/test/jdk/jfr/api/recording/destination/TestDestWithDuration.java @@ -44,7 +44,7 @@ * @summary Test that recording is auto closed after duration * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.destination.TestDestWithDuration */ public class TestDestWithDuration { diff --git a/jdk/test/jdk/jfr/api/recording/dump/TestDump.java b/jdk/test/jdk/jfr/api/recording/dump/TestDump.java index 2e1f506d866..a61e318080e 100644 --- a/jdk/test/jdk/jfr/api/recording/dump/TestDump.java +++ b/jdk/test/jdk/jfr/api/recording/dump/TestDump.java @@ -39,7 +39,7 @@ * @summary Test copyTo and parse file * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.dump.TestDump */ public class TestDump { diff --git a/jdk/test/jdk/jfr/api/recording/dump/TestDumpDevNull.java b/jdk/test/jdk/jfr/api/recording/dump/TestDumpDevNull.java index 22d89f7f450..76d2b48ffb5 100644 --- a/jdk/test/jdk/jfr/api/recording/dump/TestDumpDevNull.java +++ b/jdk/test/jdk/jfr/api/recording/dump/TestDumpDevNull.java @@ -32,7 +32,7 @@ * @summary Tests that it's possible to dump to /dev/null without a livelock * @key jfr * @requires (os.family != "windows") - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.dump.TestDumpDevNull */ public class TestDumpDevNull { diff --git a/jdk/test/jdk/jfr/api/recording/dump/TestDumpInvalid.java b/jdk/test/jdk/jfr/api/recording/dump/TestDumpInvalid.java index 736037690cb..6c342a1a2d1 100644 --- a/jdk/test/jdk/jfr/api/recording/dump/TestDumpInvalid.java +++ b/jdk/test/jdk/jfr/api/recording/dump/TestDumpInvalid.java @@ -42,7 +42,7 @@ * @summary Test copyTo and parse file * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.dump.TestDumpInvalid */ public class TestDumpInvalid { diff --git a/jdk/test/jdk/jfr/api/recording/dump/TestDumpLongPath.java b/jdk/test/jdk/jfr/api/recording/dump/TestDumpLongPath.java index 87bface9d9d..f5bf482400d 100644 --- a/jdk/test/jdk/jfr/api/recording/dump/TestDumpLongPath.java +++ b/jdk/test/jdk/jfr/api/recording/dump/TestDumpLongPath.java @@ -42,7 +42,7 @@ * @summary Test copyTo and parse file * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.dump.TestDumpLongPath */ public class TestDumpLongPath { diff --git a/jdk/test/jdk/jfr/api/recording/dump/TestDumpMultiple.java b/jdk/test/jdk/jfr/api/recording/dump/TestDumpMultiple.java index 05343513238..bf324b87b2b 100644 --- a/jdk/test/jdk/jfr/api/recording/dump/TestDumpMultiple.java +++ b/jdk/test/jdk/jfr/api/recording/dump/TestDumpMultiple.java @@ -41,7 +41,7 @@ * @summary Test copyTo and parse file * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.dump.TestDumpMultiple */ public class TestDumpMultiple { diff --git a/jdk/test/jdk/jfr/api/recording/dump/TestDumpReadOnly.java b/jdk/test/jdk/jfr/api/recording/dump/TestDumpReadOnly.java index 5a6c35b4634..3148724330b 100644 --- a/jdk/test/jdk/jfr/api/recording/dump/TestDumpReadOnly.java +++ b/jdk/test/jdk/jfr/api/recording/dump/TestDumpReadOnly.java @@ -40,7 +40,7 @@ * @summary Test copyTo and parse file * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.dump.TestDumpReadOnly */ public class TestDumpReadOnly { diff --git a/jdk/test/jdk/jfr/api/recording/dump/TestDumpState.java b/jdk/test/jdk/jfr/api/recording/dump/TestDumpState.java index df0e90b1d0b..4e6d9e96056 100644 --- a/jdk/test/jdk/jfr/api/recording/dump/TestDumpState.java +++ b/jdk/test/jdk/jfr/api/recording/dump/TestDumpState.java @@ -47,7 +47,7 @@ * @summary call copyTo() with recording in all states. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.dump.TestDumpState */ public class TestDumpState { diff --git a/jdk/test/jdk/jfr/api/recording/event/TestChunkPeriod.java b/jdk/test/jdk/jfr/api/recording/event/TestChunkPeriod.java index 83e48de931c..5125d94a55b 100644 --- a/jdk/test/jdk/jfr/api/recording/event/TestChunkPeriod.java +++ b/jdk/test/jdk/jfr/api/recording/event/TestChunkPeriod.java @@ -42,7 +42,7 @@ * @summary Test periodic setting that involves chunks. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.event.TestChunkPeriod */ public class TestChunkPeriod { diff --git a/jdk/test/jdk/jfr/api/recording/event/TestEnableClass.java b/jdk/test/jdk/jfr/api/recording/event/TestEnableClass.java index fbad872889c..62dbb03df5b 100644 --- a/jdk/test/jdk/jfr/api/recording/event/TestEnableClass.java +++ b/jdk/test/jdk/jfr/api/recording/event/TestEnableClass.java @@ -33,7 +33,7 @@ * @summary Simple enable Event class. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.event.TestEnableClass */ public class TestEnableClass { diff --git a/jdk/test/jdk/jfr/api/recording/event/TestEnableName.java b/jdk/test/jdk/jfr/api/recording/event/TestEnableName.java index c8a55e4d293..730e1c2b75e 100644 --- a/jdk/test/jdk/jfr/api/recording/event/TestEnableName.java +++ b/jdk/test/jdk/jfr/api/recording/event/TestEnableName.java @@ -40,7 +40,7 @@ * @summary Simple enable Event class. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.event.TestEnableName */ public class TestEnableName { diff --git a/jdk/test/jdk/jfr/api/recording/event/TestEventTime.java b/jdk/test/jdk/jfr/api/recording/event/TestEventTime.java index a93feac639e..37b712674a0 100644 --- a/jdk/test/jdk/jfr/api/recording/event/TestEventTime.java +++ b/jdk/test/jdk/jfr/api/recording/event/TestEventTime.java @@ -43,7 +43,7 @@ * @summary Test getStartTime() and getEndTime(). Verify startTime <= endTime * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.event.TestEventTime */ public class TestEventTime { diff --git a/jdk/test/jdk/jfr/api/recording/event/TestLoadEventAfterStart.java b/jdk/test/jdk/jfr/api/recording/event/TestLoadEventAfterStart.java index 2e7fb93099e..216e4e9572a 100644 --- a/jdk/test/jdk/jfr/api/recording/event/TestLoadEventAfterStart.java +++ b/jdk/test/jdk/jfr/api/recording/event/TestLoadEventAfterStart.java @@ -41,7 +41,7 @@ * @summary Load event class after recording started. * @key jfr * - * @library /lib / + * @library /test/lib / * @build jdk.test.lib.jfr.SimpleEvent * @run main/othervm jdk.jfr.api.recording.event.TestLoadEventAfterStart */ diff --git a/jdk/test/jdk/jfr/api/recording/event/TestPeriod.java b/jdk/test/jdk/jfr/api/recording/event/TestPeriod.java index 7851ae546f6..1424495d370 100644 --- a/jdk/test/jdk/jfr/api/recording/event/TestPeriod.java +++ b/jdk/test/jdk/jfr/api/recording/event/TestPeriod.java @@ -42,7 +42,7 @@ * @summary Test event period. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.event.TestPeriod */ public class TestPeriod { diff --git a/jdk/test/jdk/jfr/api/recording/event/TestReEnableClass.java b/jdk/test/jdk/jfr/api/recording/event/TestReEnableClass.java index a0841d8f0d6..63ebc39cd67 100644 --- a/jdk/test/jdk/jfr/api/recording/event/TestReEnableClass.java +++ b/jdk/test/jdk/jfr/api/recording/event/TestReEnableClass.java @@ -36,7 +36,7 @@ * @summary Enable, disable, enable event during recording. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.event.TestReEnableClass */ public class TestReEnableClass { diff --git a/jdk/test/jdk/jfr/api/recording/event/TestReEnableMultiple.java b/jdk/test/jdk/jfr/api/recording/event/TestReEnableMultiple.java index 91c84f5dbe4..1645b2c7cbf 100644 --- a/jdk/test/jdk/jfr/api/recording/event/TestReEnableMultiple.java +++ b/jdk/test/jdk/jfr/api/recording/event/TestReEnableMultiple.java @@ -44,7 +44,7 @@ * @summary Enable, disable, enable event during recording. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.event.TestReEnableMultiple */ public class TestReEnableMultiple { diff --git a/jdk/test/jdk/jfr/api/recording/event/TestReEnableName.java b/jdk/test/jdk/jfr/api/recording/event/TestReEnableName.java index d475d2c6182..80e20b2557b 100644 --- a/jdk/test/jdk/jfr/api/recording/event/TestReEnableName.java +++ b/jdk/test/jdk/jfr/api/recording/event/TestReEnableName.java @@ -40,7 +40,7 @@ * @summary Enable/disable event by name during recording. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.event.TestReEnableName */ public class TestReEnableName { diff --git a/jdk/test/jdk/jfr/api/recording/event/TestRecordingEnableDisable.java b/jdk/test/jdk/jfr/api/recording/event/TestRecordingEnableDisable.java index 6b374e4495b..2b87858f7c8 100644 --- a/jdk/test/jdk/jfr/api/recording/event/TestRecordingEnableDisable.java +++ b/jdk/test/jdk/jfr/api/recording/event/TestRecordingEnableDisable.java @@ -41,7 +41,7 @@ * @summary Enable, disable, enable event during recording. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.event.TestRecordingEnableDisable */ public class TestRecordingEnableDisable { diff --git a/jdk/test/jdk/jfr/api/recording/event/TestThreshold.java b/jdk/test/jdk/jfr/api/recording/event/TestThreshold.java index 71de84119a8..d9d6df9224b 100644 --- a/jdk/test/jdk/jfr/api/recording/event/TestThreshold.java +++ b/jdk/test/jdk/jfr/api/recording/event/TestThreshold.java @@ -39,7 +39,7 @@ * @summary Test event threshold. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.event.TestThreshold */ public class TestThreshold { diff --git a/jdk/test/jdk/jfr/api/recording/misc/TestGetId.java b/jdk/test/jdk/jfr/api/recording/misc/TestGetId.java index 075bfbb32b1..1680c1a1f79 100644 --- a/jdk/test/jdk/jfr/api/recording/misc/TestGetId.java +++ b/jdk/test/jdk/jfr/api/recording/misc/TestGetId.java @@ -36,7 +36,7 @@ * @summary Verify that each recording get unique a id * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.misc.TestGetId */ public class TestGetId { diff --git a/jdk/test/jdk/jfr/api/recording/misc/TestGetSize.java b/jdk/test/jdk/jfr/api/recording/misc/TestGetSize.java index d1517887907..51725ad1e95 100644 --- a/jdk/test/jdk/jfr/api/recording/misc/TestGetSize.java +++ b/jdk/test/jdk/jfr/api/recording/misc/TestGetSize.java @@ -40,7 +40,7 @@ * @summary Test recording file size with Recording.getSize() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.misc.TestGetSize */ public class TestGetSize { diff --git a/jdk/test/jdk/jfr/api/recording/misc/TestGetSizeToMem.java b/jdk/test/jdk/jfr/api/recording/misc/TestGetSizeToMem.java index 11322805f20..75745fff24a 100644 --- a/jdk/test/jdk/jfr/api/recording/misc/TestGetSizeToMem.java +++ b/jdk/test/jdk/jfr/api/recording/misc/TestGetSizeToMem.java @@ -41,7 +41,7 @@ * @summary Test recording file size with Recording.getSize() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.misc.TestGetSizeToMem */ public class TestGetSizeToMem { diff --git a/jdk/test/jdk/jfr/api/recording/misc/TestGetStream.java b/jdk/test/jdk/jfr/api/recording/misc/TestGetStream.java index 78cc1eca2bd..913fc648d2c 100644 --- a/jdk/test/jdk/jfr/api/recording/misc/TestGetStream.java +++ b/jdk/test/jdk/jfr/api/recording/misc/TestGetStream.java @@ -48,7 +48,7 @@ * @summary A simple test for Recording.getStream() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.misc.TestGetStream */ public class TestGetStream { diff --git a/jdk/test/jdk/jfr/api/recording/misc/TestRecordingBase.java b/jdk/test/jdk/jfr/api/recording/misc/TestRecordingBase.java index a8284fd459d..1cafad73498 100644 --- a/jdk/test/jdk/jfr/api/recording/misc/TestRecordingBase.java +++ b/jdk/test/jdk/jfr/api/recording/misc/TestRecordingBase.java @@ -45,7 +45,7 @@ * @summary Basic tests for Recording * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.misc.TestRecordingBase */ public class TestRecordingBase { diff --git a/jdk/test/jdk/jfr/api/recording/misc/TestRecordingCopy.java b/jdk/test/jdk/jfr/api/recording/misc/TestRecordingCopy.java index f1c5bd84245..95c8c65dc14 100644 --- a/jdk/test/jdk/jfr/api/recording/misc/TestRecordingCopy.java +++ b/jdk/test/jdk/jfr/api/recording/misc/TestRecordingCopy.java @@ -38,7 +38,7 @@ * @summary A simple test for Recording.copy() * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.misc.TestRecordingCopy */ public class TestRecordingCopy { diff --git a/jdk/test/jdk/jfr/api/recording/options/TestDuration.java b/jdk/test/jdk/jfr/api/recording/options/TestDuration.java index 1d88aae4b39..bdc3f8fd089 100644 --- a/jdk/test/jdk/jfr/api/recording/options/TestDuration.java +++ b/jdk/test/jdk/jfr/api/recording/options/TestDuration.java @@ -38,7 +38,7 @@ * @summary Test setDuration(). Verify recording is stopped automatically. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.options.TestDuration */ public class TestDuration { diff --git a/jdk/test/jdk/jfr/api/recording/options/TestName.java b/jdk/test/jdk/jfr/api/recording/options/TestName.java index a37eaaedbef..d20c2bd0a60 100644 --- a/jdk/test/jdk/jfr/api/recording/options/TestName.java +++ b/jdk/test/jdk/jfr/api/recording/options/TestName.java @@ -35,7 +35,7 @@ * @summary Test setName(). * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.options.TestName */ public class TestName { diff --git a/jdk/test/jdk/jfr/api/recording/settings/TestConfigurationGetContents.java b/jdk/test/jdk/jfr/api/recording/settings/TestConfigurationGetContents.java index 2f6c6edbac2..42083779a7a 100644 --- a/jdk/test/jdk/jfr/api/recording/settings/TestConfigurationGetContents.java +++ b/jdk/test/jdk/jfr/api/recording/settings/TestConfigurationGetContents.java @@ -37,7 +37,7 @@ * @summary Verifies Configuration.getContents() for every configuration * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.settings.TestConfigurationGetContents */ public class TestConfigurationGetContents { diff --git a/jdk/test/jdk/jfr/api/recording/settings/TestCreateConfigFromPath.java b/jdk/test/jdk/jfr/api/recording/settings/TestCreateConfigFromPath.java index 30cca24a078..571e9451c81 100644 --- a/jdk/test/jdk/jfr/api/recording/settings/TestCreateConfigFromPath.java +++ b/jdk/test/jdk/jfr/api/recording/settings/TestCreateConfigFromPath.java @@ -40,7 +40,7 @@ * @summary Test setName(). * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.settings.TestCreateConfigFromPath */ public class TestCreateConfigFromPath { diff --git a/jdk/test/jdk/jfr/api/recording/settings/TestCreateConfigFromReader.java b/jdk/test/jdk/jfr/api/recording/settings/TestCreateConfigFromReader.java index 766aaff383b..d44b5b2b658 100644 --- a/jdk/test/jdk/jfr/api/recording/settings/TestCreateConfigFromReader.java +++ b/jdk/test/jdk/jfr/api/recording/settings/TestCreateConfigFromReader.java @@ -40,7 +40,7 @@ * @summary Test setName(). * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.settings.TestCreateConfigFromReader */ public class TestCreateConfigFromReader { diff --git a/jdk/test/jdk/jfr/api/recording/settings/TestGetConfigurations.java b/jdk/test/jdk/jfr/api/recording/settings/TestGetConfigurations.java index 37a41f438d1..98094e5970b 100644 --- a/jdk/test/jdk/jfr/api/recording/settings/TestGetConfigurations.java +++ b/jdk/test/jdk/jfr/api/recording/settings/TestGetConfigurations.java @@ -35,7 +35,7 @@ * the expected parameters * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.settings.TestGetConfigurations */ public class TestGetConfigurations { diff --git a/jdk/test/jdk/jfr/api/recording/settings/TestSettingsAvailability.java b/jdk/test/jdk/jfr/api/recording/settings/TestSettingsAvailability.java index c040808b149..d6d29d5dacd 100644 --- a/jdk/test/jdk/jfr/api/recording/settings/TestSettingsAvailability.java +++ b/jdk/test/jdk/jfr/api/recording/settings/TestSettingsAvailability.java @@ -44,7 +44,7 @@ * @summary Verifies that event types has the correct type of settings * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.settings.TestSettingsAvailability */ public class TestSettingsAvailability { diff --git a/jdk/test/jdk/jfr/api/recording/state/TestOptionState.java b/jdk/test/jdk/jfr/api/recording/state/TestOptionState.java index 4c1ff2628dc..1e08208c881 100644 --- a/jdk/test/jdk/jfr/api/recording/state/TestOptionState.java +++ b/jdk/test/jdk/jfr/api/recording/state/TestOptionState.java @@ -36,7 +36,7 @@ * @key jfr * @summary Test options in different states * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.state.TestOptionState */ public class TestOptionState { diff --git a/jdk/test/jdk/jfr/api/recording/state/TestState.java b/jdk/test/jdk/jfr/api/recording/state/TestState.java index 2b6863f2573..1c285cf3fb2 100644 --- a/jdk/test/jdk/jfr/api/recording/state/TestState.java +++ b/jdk/test/jdk/jfr/api/recording/state/TestState.java @@ -36,7 +36,7 @@ * @summary Test Recording state * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.state.TestState */ public class TestState { diff --git a/jdk/test/jdk/jfr/api/recording/state/TestStateDuration.java b/jdk/test/jdk/jfr/api/recording/state/TestStateDuration.java index f13ff8332c1..bbecee84845 100644 --- a/jdk/test/jdk/jfr/api/recording/state/TestStateDuration.java +++ b/jdk/test/jdk/jfr/api/recording/state/TestStateDuration.java @@ -39,7 +39,7 @@ * @summary Test Recording state * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.state.TestStateDuration */ public class TestStateDuration { diff --git a/jdk/test/jdk/jfr/api/recording/state/TestStateIdenticalListeners.java b/jdk/test/jdk/jfr/api/recording/state/TestStateIdenticalListeners.java index 9e8cf888eab..291108a9719 100644 --- a/jdk/test/jdk/jfr/api/recording/state/TestStateIdenticalListeners.java +++ b/jdk/test/jdk/jfr/api/recording/state/TestStateIdenticalListeners.java @@ -36,7 +36,7 @@ * @summary Test Recording state with concurrent recordings * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.state.TestStateIdenticalListeners */ public class TestStateIdenticalListeners { diff --git a/jdk/test/jdk/jfr/api/recording/state/TestStateInvalid.java b/jdk/test/jdk/jfr/api/recording/state/TestStateInvalid.java index 3e3ebbf7024..8637a53f18b 100644 --- a/jdk/test/jdk/jfr/api/recording/state/TestStateInvalid.java +++ b/jdk/test/jdk/jfr/api/recording/state/TestStateInvalid.java @@ -35,7 +35,7 @@ * @summary Test start/stop/close recording from different recording states. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.state.TestStateInvalid */ public class TestStateInvalid { diff --git a/jdk/test/jdk/jfr/api/recording/state/TestStateMultiple.java b/jdk/test/jdk/jfr/api/recording/state/TestStateMultiple.java index b10adaaa411..c329e97afcf 100644 --- a/jdk/test/jdk/jfr/api/recording/state/TestStateMultiple.java +++ b/jdk/test/jdk/jfr/api/recording/state/TestStateMultiple.java @@ -35,7 +35,7 @@ * @summary Test Recording state with concurrent recordings * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.state.TestStateMultiple */ public class TestStateMultiple { diff --git a/jdk/test/jdk/jfr/api/recording/state/TestStateScheduleStart.java b/jdk/test/jdk/jfr/api/recording/state/TestStateScheduleStart.java index 55072b9e67b..268bd7d5746 100644 --- a/jdk/test/jdk/jfr/api/recording/state/TestStateScheduleStart.java +++ b/jdk/test/jdk/jfr/api/recording/state/TestStateScheduleStart.java @@ -38,7 +38,7 @@ * @summary Test Recording state * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.state.TestStateScheduleStart */ public class TestStateScheduleStart { diff --git a/jdk/test/jdk/jfr/api/recording/time/TestTime.java b/jdk/test/jdk/jfr/api/recording/time/TestTime.java index a35546dfced..c7b47ea17c0 100644 --- a/jdk/test/jdk/jfr/api/recording/time/TestTime.java +++ b/jdk/test/jdk/jfr/api/recording/time/TestTime.java @@ -35,7 +35,7 @@ * @key jfr * @summary Test Recording.get*Time() * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.time.TestTime */ diff --git a/jdk/test/jdk/jfr/api/recording/time/TestTimeDuration.java b/jdk/test/jdk/jfr/api/recording/time/TestTimeDuration.java index c0189ef87a1..b8f526fc00f 100644 --- a/jdk/test/jdk/jfr/api/recording/time/TestTimeDuration.java +++ b/jdk/test/jdk/jfr/api/recording/time/TestTimeDuration.java @@ -36,7 +36,7 @@ * @key jfr * @summary Test Recording.setDuration() and Recording.get*Time() * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.time.TestTimeDuration */ diff --git a/jdk/test/jdk/jfr/api/recording/time/TestTimeMultiple.java b/jdk/test/jdk/jfr/api/recording/time/TestTimeMultiple.java index 99bfd40092a..293cebd7cde 100644 --- a/jdk/test/jdk/jfr/api/recording/time/TestTimeMultiple.java +++ b/jdk/test/jdk/jfr/api/recording/time/TestTimeMultiple.java @@ -35,7 +35,7 @@ * @key jfr * @summary Test recording times with concurrent recordings * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.time.TestTimeMultiple */ diff --git a/jdk/test/jdk/jfr/api/recording/time/TestTimeScheduleStart.java b/jdk/test/jdk/jfr/api/recording/time/TestTimeScheduleStart.java index 34692d608f1..0cee5afd7bd 100644 --- a/jdk/test/jdk/jfr/api/recording/time/TestTimeScheduleStart.java +++ b/jdk/test/jdk/jfr/api/recording/time/TestTimeScheduleStart.java @@ -38,7 +38,7 @@ * @key jfr * @summary Test Recording.scheduleStart() and Recording.get*Time() * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.recording.time.TestTimeScheduleStart */ diff --git a/jdk/test/jdk/jfr/api/settings/TestFilterEvents.java b/jdk/test/jdk/jfr/api/settings/TestFilterEvents.java index 7c7bea2c5bd..60535fb8e9e 100644 --- a/jdk/test/jdk/jfr/api/settings/TestFilterEvents.java +++ b/jdk/test/jdk/jfr/api/settings/TestFilterEvents.java @@ -39,7 +39,7 @@ * @summary The test uses SettingControl * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.api.settings.TestFilterEvents */ public class TestFilterEvents { diff --git a/jdk/test/jdk/jfr/event/compiler/TestAllocInNewTLAB.java b/jdk/test/jdk/jfr/event/compiler/TestAllocInNewTLAB.java index 70b7ab44cff..b42c26a317a 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestAllocInNewTLAB.java +++ b/jdk/test/jdk/jfr/event/compiler/TestAllocInNewTLAB.java @@ -41,7 +41,7 @@ * @summary Test that event is triggered when an object is allocated in a new TLAB. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseTLAB -XX:TLABSize=100k -XX:-ResizeTLAB -XX:TLABRefillWasteFraction=1 jdk.jfr.event.compiler.TestAllocInNewTLAB * @run main/othervm -XX:+UseTLAB -XX:TLABSize=100k -XX:-ResizeTLAB -XX:TLABRefillWasteFraction=1 -XX:-FastTLABRefill jdk.jfr.event.compiler.TestAllocInNewTLAB * @run main/othervm -XX:+UseTLAB -XX:TLABSize=100k -XX:-ResizeTLAB -XX:TLABRefillWasteFraction=1 -Xint jdk.jfr.event.compiler.TestAllocInNewTLAB diff --git a/jdk/test/jdk/jfr/event/compiler/TestAllocOutsideTLAB.java b/jdk/test/jdk/jfr/event/compiler/TestAllocOutsideTLAB.java index 99b0a471d70..a474d420d9b 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestAllocOutsideTLAB.java +++ b/jdk/test/jdk/jfr/event/compiler/TestAllocOutsideTLAB.java @@ -41,7 +41,7 @@ * @summary Test that when an object is allocated outside a TLAB an event will be triggered. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseTLAB -XX:-FastTLABRefill -XX:TLABSize=90k -XX:-ResizeTLAB -XX:TLABRefillWasteFraction=256 jdk.jfr.event.compiler.TestAllocOutsideTLAB * @run main/othervm -XX:+UseTLAB -XX:-FastTLABRefill -XX:TLABSize=90k -XX:-ResizeTLAB -XX:TLABRefillWasteFraction=256 jdk.jfr.event.compiler.TestAllocOutsideTLAB * @run main/othervm -XX:+UseTLAB -XX:-FastTLABRefill -XX:TLABSize=90k -XX:-ResizeTLAB -XX:TLABRefillWasteFraction=256 -Xint jdk.jfr.event.compiler.TestAllocOutsideTLAB diff --git a/jdk/test/jdk/jfr/event/compiler/TestCodeCacheConfig.java b/jdk/test/jdk/jfr/event/compiler/TestCodeCacheConfig.java index 7fbf60263d9..7b120cb73ba 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestCodeCacheConfig.java +++ b/jdk/test/jdk/jfr/event/compiler/TestCodeCacheConfig.java @@ -38,7 +38,7 @@ * @test TestCodeCacheConfig * @key jfr * - * @library /lib / + * @library /test/lib / * @build sun.hotspot.WhiteBox * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff --git a/jdk/test/jdk/jfr/event/compiler/TestCodeCacheFull.java b/jdk/test/jdk/jfr/event/compiler/TestCodeCacheFull.java index 9a689e18089..5e18aee8365 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestCodeCacheFull.java +++ b/jdk/test/jdk/jfr/event/compiler/TestCodeCacheFull.java @@ -39,7 +39,7 @@ * @test TestCodeCacheFull * * - * @library /lib + * @library /test/lib * * @build sun.hotspot.WhiteBox * @run main ClassFileInstaller sun.hotspot.WhiteBox sun.hotspot.WhiteBox$WhiteBoxPermission diff --git a/jdk/test/jdk/jfr/event/compiler/TestCodeCacheStats.java b/jdk/test/jdk/jfr/event/compiler/TestCodeCacheStats.java index 601eea670ad..1ec938a80f1 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestCodeCacheStats.java +++ b/jdk/test/jdk/jfr/event/compiler/TestCodeCacheStats.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.compiler.TestCodeCacheStats */ diff --git a/jdk/test/jdk/jfr/event/compiler/TestCodeSweeper.java b/jdk/test/jdk/jfr/event/compiler/TestCodeSweeper.java index da7ed5972b8..6648fc2486a 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestCodeSweeper.java +++ b/jdk/test/jdk/jfr/event/compiler/TestCodeSweeper.java @@ -55,7 +55,7 @@ * @test TestCodeSweeper * @key jfr * - * @library /lib / + * @library /test/lib / * @build sun.hotspot.WhiteBox * @run driver ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff --git a/jdk/test/jdk/jfr/event/compiler/TestCodeSweeperConfig.java b/jdk/test/jdk/jfr/event/compiler/TestCodeSweeperConfig.java index 7e0e17bdda8..782ad5fa81d 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestCodeSweeperConfig.java +++ b/jdk/test/jdk/jfr/event/compiler/TestCodeSweeperConfig.java @@ -37,7 +37,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseCodeCacheFlushing jdk.jfr.event.compiler.TestCodeSweeperConfig */ public class TestCodeSweeperConfig { diff --git a/jdk/test/jdk/jfr/event/compiler/TestCompilerCompile.java b/jdk/test/jdk/jfr/event/compiler/TestCompilerCompile.java index c1aabc9eb62..765f723868f 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestCompilerCompile.java +++ b/jdk/test/jdk/jfr/event/compiler/TestCompilerCompile.java @@ -44,7 +44,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @build sun.hotspot.WhiteBox * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff --git a/jdk/test/jdk/jfr/event/compiler/TestCompilerConfig.java b/jdk/test/jdk/jfr/event/compiler/TestCompilerConfig.java index d52503c47f3..c17b2c03ff6 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestCompilerConfig.java +++ b/jdk/test/jdk/jfr/event/compiler/TestCompilerConfig.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.compiler.TestCompilerConfig */ public class TestCompilerConfig { diff --git a/jdk/test/jdk/jfr/event/compiler/TestCompilerInlining.java b/jdk/test/jdk/jfr/event/compiler/TestCompilerInlining.java index 9868f339274..5a37784a07a 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestCompilerInlining.java +++ b/jdk/test/jdk/jfr/event/compiler/TestCompilerInlining.java @@ -51,7 +51,7 @@ * * * - * @library /lib / + * @library /test/lib / * * diff --git a/jdk/test/jdk/jfr/event/compiler/TestCompilerPhase.java b/jdk/test/jdk/jfr/event/compiler/TestCompilerPhase.java index 256a833793b..3b80f795652 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestCompilerPhase.java +++ b/jdk/test/jdk/jfr/event/compiler/TestCompilerPhase.java @@ -40,7 +40,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @build sun.hotspot.WhiteBox * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff --git a/jdk/test/jdk/jfr/event/compiler/TestCompilerStats.java b/jdk/test/jdk/jfr/event/compiler/TestCompilerStats.java index fc2a47304c9..fbbed420c11 100644 --- a/jdk/test/jdk/jfr/event/compiler/TestCompilerStats.java +++ b/jdk/test/jdk/jfr/event/compiler/TestCompilerStats.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.compiler.TestCompilerStats */ public class TestCompilerStats { diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithCMSConcurrent.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithCMSConcurrent.java index 568cf690aa3..8932458b1b0 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithCMSConcurrent.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithCMSConcurrent.java @@ -32,7 +32,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run driver jdk.jfr.event.gc.collection.TestGCCauseWithCMSConcurrent */ public class TestGCCauseWithCMSConcurrent { diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithCMSMarkSweep.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithCMSMarkSweep.java index 70097add4c8..e5191253750 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithCMSMarkSweep.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithCMSMarkSweep.java @@ -33,7 +33,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run driver jdk.jfr.event.gc.collection.TestGCCauseWithCMSMarkSweep */ public class TestGCCauseWithCMSMarkSweep { diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithG1ConcurrentMark.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithG1ConcurrentMark.java index 21e1e68b715..ffd8dfd2f68 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithG1ConcurrentMark.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithG1ConcurrentMark.java @@ -33,7 +33,7 @@ * * * - * @library /lib / + * @library /test/lib / * * @run driver jdk.jfr.event.gc.collection.TestGCCauseWithG1ConcurrentMark */ diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithG1FullCollection.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithG1FullCollection.java index 93042ee1844..7cd622189cf 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithG1FullCollection.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithG1FullCollection.java @@ -33,7 +33,7 @@ * * * - * @library /lib / + * @library /test/lib / * * @run driver jdk.jfr.event.gc.collection.TestGCCauseWithG1FullCollection */ diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithPSMarkSweep.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithPSMarkSweep.java index 8bd9dcd7c95..dfbfff32003 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithPSMarkSweep.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithPSMarkSweep.java @@ -32,7 +32,7 @@ * * * - * @library /lib / + * @library /test/lib / * * @run driver jdk.jfr.event.gc.collection.TestGCCauseWithPSMarkSweep */ diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java index 8a760ff0322..fcf0de593d3 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithParallelOld.java @@ -32,7 +32,7 @@ * * * - * @library /lib / + * @library /test/lib / * * @run driver jdk.jfr.event.gc.collection.TestGCCauseWithParallelOld */ diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithSerial.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithSerial.java index 861c45b520e..837e71413b6 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithSerial.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCCauseWithSerial.java @@ -32,7 +32,7 @@ * * * - * @library /lib / + * @library /test/lib / * * @run driver jdk.jfr.event.gc.collection.TestGCCauseWithSerial */ diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSConcurrent.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSConcurrent.java index 878e6e1b9af..3dc7f3f2cd5 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSConcurrent.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSConcurrent.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xmx32m -Xmn8m -XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrent jdk.jfr.event.gc.collection.TestGCEventMixedWithCMSConcurrent * good debug flags:-XX:+PrintGCDetails -XX:+PrintGC diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSMarkSweep.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSMarkSweep.java index ee357e739ab..1be6695772f 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSMarkSweep.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithCMSMarkSweep.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xmx32m -Xmn8m -XX:+UseConcMarkSweepGC -XX:-ExplicitGCInvokesConcurrent jdk.jfr.event.gc.collection.TestGCEventMixedWithCMSMarkSweep * good debug flags:-XX:+PrintGCDetails -XX:+PrintGC diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1ConcurrentMark.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1ConcurrentMark.java index 4838586c333..105b2e84499 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1ConcurrentMark.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1ConcurrentMark.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xmx32m -Xmn8m -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent jdk.jfr.event.gc.collection.TestGCEventMixedWithG1ConcurrentMark * good debug flags: -XX:+PrintGCDetails -XX:+PrintGC diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1FullCollection.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1FullCollection.java index db98e06deea..0d72a4bd8e9 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1FullCollection.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithG1FullCollection.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xmx32m -Xmn8m -XX:+UseG1GC -XX:-ExplicitGCInvokesConcurrent jdk.jfr.event.gc.collection.TestGCEventMixedWithG1FullCollection * good debug flags: -XX:+PrintGCDetails -XX:+PrintGC */ diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithPSMarkSweep.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithPSMarkSweep.java index 777a4a1f262..f6b619cf330 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithPSMarkSweep.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithPSMarkSweep.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xmx32m -Xmn8m -XX:+UseParallelGC -XX:-UseParallelOldGC jdk.jfr.event.gc.collection.TestGCEventMixedWithPSMarkSweep * good debug flags:-XX:+PrintGCDetails -XX:+PrintGC */ diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithParNew.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithParNew.java index 25b15f6ee66..1cb7eaf63a9 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithParNew.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithParNew.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -Xmx32m -Xmn8m -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseConcMarkSweepGC jdk.jfr.event.gc.collection.TestGCEventMixedWithParNew * good debug flags:-XX:+PrintGCDetails -XX:+PrintGC */ diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithParallelOld.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithParallelOld.java index 84b1c47c22a..16851be3c65 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithParallelOld.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithParallelOld.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xmx32m -Xmn8m -XX:+UseParallelGC -XX:+UseParallelOldGC jdk.jfr.event.gc.collection.TestGCEventMixedWithParallelOld * good debug flags: -XX:+PrintGCDetails -XX:+PrintGC -verbose:class */ diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithSerial.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithSerial.java index 1b8e1a9c3fb..dacef4f515f 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithSerial.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCEventMixedWithSerial.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -Xmx32m -Xmn8m -XX:+UseSerialGC jdk.jfr.event.gc.collection.TestGCEventMixedWithSerial */ public class TestGCEventMixedWithSerial { diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCGarbageCollectionEvent.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCGarbageCollectionEvent.java index 7c024c28c85..67a59c0c7b8 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCGarbageCollectionEvent.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCGarbageCollectionEvent.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+PrintGCDetails -XX:+PrintGC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps jdk.jfr.event.gc.collection.TestGCGarbageCollectionEvent */ public class TestGCGarbageCollectionEvent { diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestGCWithFasttime.java b/jdk/test/jdk/jfr/event/gc/collection/TestGCWithFasttime.java index 5003680673e..ce037b73f2a 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestGCWithFasttime.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestGCWithFasttime.java @@ -38,7 +38,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseParallelGC -XX:+UseParallelOldGC jdk.jfr.event.gc.collection.TestGCWithFasttime */ public class TestGCWithFasttime { diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithDefNew.java b/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithDefNew.java index c03f7db6e77..30fb001af09 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithDefNew.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithDefNew.java @@ -30,7 +30,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -Xmx50m -Xmn2m -XX:+UseSerialGC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC jdk.jfr.event.gc.collection.TestYoungGarbageCollectionEventWithDefNew */ public class TestYoungGarbageCollectionEventWithDefNew { diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithG1New.java b/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithG1New.java index 886f182f904..1ba23f25979 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithG1New.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithG1New.java @@ -30,7 +30,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -Xmx50m -Xmn2m -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC jdk.jfr.event.gc.collection.TestYoungGarbageCollectionEventWithG1New */ public class TestYoungGarbageCollectionEventWithG1New { diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParNew.java b/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParNew.java index 5a5877e531c..4735494456e 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParNew.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParNew.java @@ -30,7 +30,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -Xmx50m -Xmn2m -XX:+UseConcMarkSweepGC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC jdk.jfr.event.gc.collection.TestYoungGarbageCollectionEventWithParNew */ public class TestYoungGarbageCollectionEventWithParNew { diff --git a/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParallelScavenge.java b/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParallelScavenge.java index d5cbe2e8ef2..77c1ad77504 100644 --- a/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParallelScavenge.java +++ b/jdk/test/jdk/jfr/event/gc/collection/TestYoungGarbageCollectionEventWithParallelScavenge.java @@ -30,7 +30,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -Xmx50m -Xmn2m -XX:+UseParallelGC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:-UseAdaptiveSizePolicy -XX:+PrintGCDetails -XX:+PrintGC jdk.jfr.event.gc.collection.TestYoungGarbageCollectionEventWithParallelScavenge */ public class TestYoungGarbageCollectionEventWithParallelScavenge { diff --git a/jdk/test/jdk/jfr/event/gc/configuration/TestGCConfigurationEvent.java b/jdk/test/jdk/jfr/event/gc/configuration/TestGCConfigurationEvent.java index cf981c1fd27..d0bbe576fee 100644 --- a/jdk/test/jdk/jfr/event/gc/configuration/TestGCConfigurationEvent.java +++ b/jdk/test/jdk/jfr/event/gc/configuration/TestGCConfigurationEvent.java @@ -40,7 +40,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=3 -XX:ConcGCThreads=2 -XX:+UseDynamicNumberOfGCThreads -XX:-ExplicitGCInvokesConcurrent -XX:-DisableExplicitGC -XX:MaxGCPauseMillis=800 -XX:GCTimeRatio=19 jdk.jfr.event.gc.configuration.TestGCConfigurationEvent */ public class TestGCConfigurationEvent { diff --git a/jdk/test/jdk/jfr/event/gc/configuration/TestGCConfigurationEventWithDefaultPauseTarget.java b/jdk/test/jdk/jfr/event/gc/configuration/TestGCConfigurationEventWithDefaultPauseTarget.java index 2d3bd3d7ec3..cc772bf169e 100644 --- a/jdk/test/jdk/jfr/event/gc/configuration/TestGCConfigurationEventWithDefaultPauseTarget.java +++ b/jdk/test/jdk/jfr/event/gc/configuration/TestGCConfigurationEventWithDefaultPauseTarget.java @@ -39,7 +39,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps jdk.jfr.event.gc.configuration.TestGCConfigurationEventWithDefaultPauseTarget */ public class TestGCConfigurationEventWithDefaultPauseTarget { diff --git a/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWith32BitOops.sh b/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWith32BitOops.sh index 062b7ee1528..3cef926a13a 100644 --- a/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWith32BitOops.sh +++ b/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWith32BitOops.sh @@ -24,7 +24,7 @@ # @key jfr # # -# @library /lib / +# @library /test/lib / # @build jdk.jfr.event.gc.configuration.TestGCHeapConfigurationEventWith32BitOops sun.hotspot.WhiteBox # @run main ClassFileInstaller sun.hotspot.WhiteBox # @run shell TestGCHeapConfigurationEventWith32BitOops.sh diff --git a/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithHeapBasedOops.sh b/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithHeapBasedOops.sh index f5c1cc84700..b00a60d7464 100644 --- a/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithHeapBasedOops.sh +++ b/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithHeapBasedOops.sh @@ -24,7 +24,7 @@ # @key jfr # # -# @library /lib / +# @library /test/lib / # @build jdk.jfr.event.gc.configuration.TestGCHeapConfigurationEventWithHeapBasedOops # @run shell TestGCHeapConfigurationEventWithHeapBasedOops.sh diff --git a/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithZeroBasedOops.sh b/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithZeroBasedOops.sh index 04ae2818cbd..6d232459037 100644 --- a/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithZeroBasedOops.sh +++ b/jdk/test/jdk/jfr/event/gc/configuration/TestGCHeapConfigurationEventWithZeroBasedOops.sh @@ -24,7 +24,7 @@ # @key jfr # # -# @library /lib / +# @library /test/lib / # @build jdk.jfr.event.gc.configuration.TestGCHeapConfigurationEventWithZeroBasedOops # @run shell TestGCHeapConfigurationEventWithZeroBasedOops.sh diff --git a/jdk/test/jdk/jfr/event/gc/configuration/TestGCSurvivorConfigurationEvent.java b/jdk/test/jdk/jfr/event/gc/configuration/TestGCSurvivorConfigurationEvent.java index bef7a49ab1b..c19ab2c990b 100644 --- a/jdk/test/jdk/jfr/event/gc/configuration/TestGCSurvivorConfigurationEvent.java +++ b/jdk/test/jdk/jfr/event/gc/configuration/TestGCSurvivorConfigurationEvent.java @@ -40,7 +40,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:MaxTenuringThreshold=13 -XX:InitialTenuringThreshold=9 jdk.jfr.event.gc.configuration.TestGCSurvivorConfigurationEvent */ public class TestGCSurvivorConfigurationEvent { diff --git a/jdk/test/jdk/jfr/event/gc/configuration/TestGCTLABConfigurationEvent.java b/jdk/test/jdk/jfr/event/gc/configuration/TestGCTLABConfigurationEvent.java index e81dd6da940..e1cba40fa39 100644 --- a/jdk/test/jdk/jfr/event/gc/configuration/TestGCTLABConfigurationEvent.java +++ b/jdk/test/jdk/jfr/event/gc/configuration/TestGCTLABConfigurationEvent.java @@ -40,7 +40,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+UseTLAB -XX:MinTLABSize=3k -XX:TLABRefillWasteFraction=96 jdk.jfr.event.gc.configuration.TestGCTLABConfigurationEvent */ public class TestGCTLABConfigurationEvent { diff --git a/jdk/test/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithMinAndMaxSize.java b/jdk/test/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithMinAndMaxSize.java index bb1e776072b..55d2b322b50 100644 --- a/jdk/test/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithMinAndMaxSize.java +++ b/jdk/test/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithMinAndMaxSize.java @@ -34,7 +34,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run driver jdk.jfr.event.gc.configuration.TestGCYoungGenerationConfigurationEventWithMinAndMaxSize */ public class TestGCYoungGenerationConfigurationEventWithMinAndMaxSize { diff --git a/jdk/test/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithNewRatio.java b/jdk/test/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithNewRatio.java index 556cbefa8fc..cbd288e05d0 100644 --- a/jdk/test/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithNewRatio.java +++ b/jdk/test/jdk/jfr/event/gc/configuration/TestGCYoungGenerationConfigurationEventWithNewRatio.java @@ -32,7 +32,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:NewRatio=4 jdk.jfr.event.gc.configuration.TestGCYoungGenerationConfigurationEventWithNewRatio */ public class TestGCYoungGenerationConfigurationEventWithNewRatio diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestCMSConcurrentModeFailureEvent.java b/jdk/test/jdk/jfr/event/gc/detailed/TestCMSConcurrentModeFailureEvent.java index ab56d8549c7..4b8a123d703 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestCMSConcurrentModeFailureEvent.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestCMSConcurrentModeFailureEvent.java @@ -44,7 +44,7 @@ * * * - * @library /lib / + * @library /test/lib / * * @run main jdk.jfr.event.gc.detailed.TestCMSConcurrentModeFailureEvent */ diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java b/jdk/test/jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java index c2f101831ec..03d08b55bc0 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java @@ -39,7 +39,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * * @run main jdk.jfr.event.gc.detailed.TestEvacuationFailedEvent diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestEvacuationInfoEvent.java b/jdk/test/jdk/jfr/event/gc/detailed/TestEvacuationInfoEvent.java index a625e7b24b5..57360a3d608 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestEvacuationInfoEvent.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestEvacuationInfoEvent.java @@ -41,7 +41,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:G1HeapRegionSize=1m -Xmx64m -Xmn16m -XX:+UseG1GC jdk.jfr.event.gc.detailed.TestEvacuationInfoEvent */ public class TestEvacuationInfoEvent { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestG1ConcurrentModeFailureEvent.java b/jdk/test/jdk/jfr/event/gc/detailed/TestG1ConcurrentModeFailureEvent.java index ab700550007..1a9131df124 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestG1ConcurrentModeFailureEvent.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestG1ConcurrentModeFailureEvent.java @@ -44,7 +44,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main jdk.jfr.event.gc.detailed.TestG1ConcurrentModeFailureEvent */ diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestG1EvacMemoryStatsEvent.java b/jdk/test/jdk/jfr/event/gc/detailed/TestG1EvacMemoryStatsEvent.java index b23e13d268a..b312922fd38 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestG1EvacMemoryStatsEvent.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestG1EvacMemoryStatsEvent.java @@ -36,7 +36,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:NewSize=2m -XX:MaxNewSize=2m -Xmx32m -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps jdk.jfr.event.gc.detailed.TestG1EvacMemoryStatsEvent */ public class TestG1EvacMemoryStatsEvent { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestG1HeapRegionTypeChangeEvent.java b/jdk/test/jdk/jfr/event/gc/detailed/TestG1HeapRegionTypeChangeEvent.java index 1e4c7c5120a..82d166ed53c 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestG1HeapRegionTypeChangeEvent.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestG1HeapRegionTypeChangeEvent.java @@ -41,7 +41,7 @@ * * * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:NewSize=2m -XX:MaxNewSize=2m -Xmx32m -XX:G1HeapRegionSize=1m -XX:+UseG1GC jdk.jfr.event.gc.detailed.TestG1HeapRegionTypeChangeEvent */ diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestG1MMUEvent.java b/jdk/test/jdk/jfr/event/gc/detailed/TestG1MMUEvent.java index 9c5eb7e9465..8d6a12c2cb5 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestG1MMUEvent.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestG1MMUEvent.java @@ -36,7 +36,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:NewSize=2m -XX:MaxNewSize=2m -Xmx32m -XX:+UseG1GC -XX:MaxGCPauseMillis=75 -XX:GCPauseIntervalMillis=150 -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps jdk.jfr.event.gc.detailed.TestG1MMUEvent */ public class TestG1MMUEvent { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionEventWithG1.java b/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionEventWithG1.java index 9cd119d2a6b..5e937dd1e8b 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionEventWithG1.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionEventWithG1.java @@ -32,7 +32,7 @@ * * * & vm.opt.ExplicitGCInvokesConcurrent != true - * @library /lib / + * @library /test/lib / * @run main/othervm -Xmx32m -Xms32m -Xmn12m -XX:+UseG1GC -XX:-UseStringDeduplication -XX:MaxTenuringThreshold=5 -XX:InitialTenuringThreshold=5 * jdk.jfr.event.gc.detailed.TestPromotionEventWithG1 */ diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionEventWithParallelScavenge.java b/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionEventWithParallelScavenge.java index 85b43b1dfcf..bc1000a1e84 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionEventWithParallelScavenge.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionEventWithParallelScavenge.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -Xmx32m -Xms32m -Xmn12m -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:MaxTenuringThreshold=5 -XX:InitialTenuringThreshold=5 jdk.jfr.event.gc.detailed.TestPromotionEventWithParallelScavenge */ public class TestPromotionEventWithParallelScavenge { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithDefNew.java b/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithDefNew.java index 96cbcaccb3b..79f0378fdbe 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithDefNew.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithDefNew.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main jdk.jfr.event.gc.detailed.TestPromotionFailedEventWithDefNew */ public class TestPromotionFailedEventWithDefNew { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParNew.java b/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParNew.java index 824193bd8ce..179102143a5 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParNew.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParNew.java @@ -29,7 +29,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.gc.detailed.TestPromotionFailedEventWithParNew */ public class TestPromotionFailedEventWithParNew { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParallelScavenge.java b/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParallelScavenge.java index 7dfe79c7452..466719ccefd 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParallelScavenge.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestPromotionFailedEventWithParallelScavenge.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main jdk.jfr.event.gc.detailed.TestPromotionFailedEventWithParallelScavenge */ public class TestPromotionFailedEventWithParallelScavenge { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithCMS.java b/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithCMS.java index f25dda88900..02982b6a899 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithCMS.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithCMS.java @@ -28,7 +28,7 @@ * @test * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseConcMarkSweepGC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithCMS */ public class TestStressAllocationGCEventsWithCMS { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithDefNew.java b/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithDefNew.java index f69359d60a3..32013e355bf 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithDefNew.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithDefNew.java @@ -28,7 +28,7 @@ * @test * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseSerialGC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithDefNew */ public class TestStressAllocationGCEventsWithDefNew { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithG1.java b/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithG1.java index d8659723a21..d132cccb938 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithG1.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithG1.java @@ -28,7 +28,7 @@ * @test * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseG1GC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithG1 */ public class TestStressAllocationGCEventsWithG1 { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParNew.java b/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParNew.java index 7e5a9a867e6..f7344987772 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParNew.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParNew.java @@ -28,7 +28,7 @@ * @test * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseConcMarkSweepGC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithParNew */ public class TestStressAllocationGCEventsWithParNew { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParallel.java b/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParallel.java index 420da591233..5415f959628 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParallel.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestStressAllocationGCEventsWithParallel.java @@ -28,7 +28,7 @@ * @test * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseParallelGC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithParallel */ public class TestStressAllocationGCEventsWithParallel { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithCMS.java b/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithCMS.java index ce9a1f3409d..5f2527538e3 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithCMS.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithCMS.java @@ -28,7 +28,7 @@ * @test * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseConcMarkSweepGC -Xmx256m jdk.jfr.event.gc.detailed.TestStressBigAllocationGCEventsWithCMS 1048576 */ public class TestStressBigAllocationGCEventsWithCMS { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithDefNew.java b/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithDefNew.java index afd31af2769..95d1bdc5572 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithDefNew.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithDefNew.java @@ -28,7 +28,7 @@ * @test * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseSerialGC -Xmx256m jdk.jfr.event.gc.detailed.TestStressBigAllocationGCEventsWithDefNew 1048576 */ public class TestStressBigAllocationGCEventsWithDefNew { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithG1.java b/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithG1.java index 2390a04e996..cca803e1e36 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithG1.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithG1.java @@ -34,7 +34,7 @@ * test will fail with OOME. * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseG1GC -XX:MaxNewSize=5m -Xmx256m -XX:G1HeapRegionSize=1048576 jdk.jfr.event.gc.detailed.TestStressBigAllocationGCEventsWithG1 1048544 */ public class TestStressBigAllocationGCEventsWithG1 { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParNew.java b/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParNew.java index 66919fec8cd..6f25b587cf9 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParNew.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParNew.java @@ -28,7 +28,7 @@ * @test * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseConcMarkSweepGC -Xmx256m jdk.jfr.event.gc.detailed.TestStressBigAllocationGCEventsWithParNew 1048576 */ public class TestStressBigAllocationGCEventsWithParNew { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParallel.java b/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParallel.java index 2865030ca83..eb7c699dfe4 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParallel.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestStressBigAllocationGCEventsWithParallel.java @@ -28,7 +28,7 @@ * @test * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseParallelGC -Xmx256m jdk.jfr.event.gc.detailed.TestStressBigAllocationGCEventsWithParallel 1048576 */ public class TestStressBigAllocationGCEventsWithParallel { diff --git a/jdk/test/jdk/jfr/event/gc/detailed/TestTenuringDistributionEvent.java b/jdk/test/jdk/jfr/event/gc/detailed/TestTenuringDistributionEvent.java index d03a3429219..7ee2c1165c4 100644 --- a/jdk/test/jdk/jfr/event/gc/detailed/TestTenuringDistributionEvent.java +++ b/jdk/test/jdk/jfr/event/gc/detailed/TestTenuringDistributionEvent.java @@ -40,7 +40,7 @@ * * * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:NewSize=2m -XX:MaxNewSize=2m -Xmx32m -XX:+UseG1GC -XX:+NeverTenure jdk.jfr.event.gc.detailed.TestTenuringDistributionEvent */ diff --git a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryCommittedSize.java b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryCommittedSize.java index 7e95789d1a4..9d41f4a6fdf 100644 --- a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryCommittedSize.java +++ b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryCommittedSize.java @@ -41,7 +41,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @build sun.hotspot.WhiteBox * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run main/othervm -XX:+UnlockExperimentalVMOptions diff --git a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventConcurrentCMS.java b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventConcurrentCMS.java index 024bf712907..4f4d5e49d8c 100644 --- a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventConcurrentCMS.java +++ b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventConcurrentCMS.java @@ -40,7 +40,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrent jdk.jfr.event.gc.heapsummary.TestHeapSummaryEventConcurrentCMS */ public class TestHeapSummaryEventConcurrentCMS { diff --git a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventDefNewSerial.java b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventDefNewSerial.java index c02a12c5a1d..9f23c08ed8c 100644 --- a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventDefNewSerial.java +++ b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventDefNewSerial.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseSerialGC jdk.jfr.event.gc.heapsummary.TestHeapSummaryEventDefNewSerial */ public class TestHeapSummaryEventDefNewSerial { diff --git a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventG1.java b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventG1.java index 86dd1d9a472..941fe0dfe92 100644 --- a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventG1.java +++ b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventG1.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseG1GC jdk.jfr.event.gc.heapsummary.TestHeapSummaryEventG1 */ public class TestHeapSummaryEventG1 { diff --git a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSParOld.java b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSParOld.java index 0facc7a6eb2..235f732170e 100644 --- a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSParOld.java +++ b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSParOld.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseParallelGC jdk.jfr.event.gc.heapsummary.TestHeapSummaryEventPSParOld */ public class TestHeapSummaryEventPSParOld { diff --git a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSSerial.java b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSSerial.java index 902eba0244d..188895ea30e 100644 --- a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSSerial.java +++ b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSSerial.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:-UseParallelOldGC -XX:+UseParallelGC jdk.jfr.event.gc.heapsummary.TestHeapSummaryEventPSSerial */ public class TestHeapSummaryEventPSSerial { diff --git a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventParNewCMS.java b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventParNewCMS.java index 91462d15c9a..52e84fd986f 100644 --- a/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventParNewCMS.java +++ b/jdk/test/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventParNewCMS.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseConcMarkSweepGC jdk.jfr.event.gc.heapsummary.TestHeapSummaryEventParNewCMS */ public class TestHeapSummaryEventParNewCMS { diff --git a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSConcurrent.java b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSConcurrent.java index 5a5ac2fda65..aa587723233 100644 --- a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSConcurrent.java +++ b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSConcurrent.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrent -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithCMSConcurrent */ public class TestObjectCountAfterGCEventWithCMSConcurrent { diff --git a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSMarkSweep.java b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSMarkSweep.java index 6c8e06682a2..5e3049fcafe 100644 --- a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSMarkSweep.java +++ b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithCMSMarkSweep.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseConcMarkSweepGC -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithCMSMarkSweep */ public class TestObjectCountAfterGCEventWithCMSMarkSweep { diff --git a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java index 1e00e7c043d..b216bc29544 100644 --- a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java +++ b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1ConcurrentMark.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithG1ConcurrentMark */ public class TestObjectCountAfterGCEventWithG1ConcurrentMark { diff --git a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1FullCollection.java b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1FullCollection.java index 9eb03695478..c915f9000fe 100644 --- a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1FullCollection.java +++ b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithG1FullCollection.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseG1GC -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithG1FullCollection */ public class TestObjectCountAfterGCEventWithG1FullCollection { diff --git a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithPSMarkSweep.java b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithPSMarkSweep.java index 9ba729568d8..996a1eedd1a 100644 --- a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithPSMarkSweep.java +++ b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithPSMarkSweep.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseParallelGC -XX:-UseParallelOldGC -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithPSMarkSweep */ public class TestObjectCountAfterGCEventWithPSMarkSweep { diff --git a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithParallelOld.java b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithParallelOld.java index 5aa77c291e9..60c7e168539 100644 --- a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithParallelOld.java +++ b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithParallelOld.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithParallelOld */ public class TestObjectCountAfterGCEventWithParallelOld { diff --git a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithSerial.java b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithSerial.java index d017a8adefe..aedc91f3233 100644 --- a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithSerial.java +++ b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithSerial.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseSerialGC -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountAfterGCEventWithSerial */ public class TestObjectCountAfterGCEventWithSerial { diff --git a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountEvent.java b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountEvent.java index 2e0f034bea7..056c69d824d 100644 --- a/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountEvent.java +++ b/jdk/test/jdk/jfr/event/gc/objectcount/TestObjectCountEvent.java @@ -40,7 +40,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseSerialGC -XX:-UseCompressedOops -XX:MarkSweepDeadRatio=0 -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountEvent */ public class TestObjectCountEvent { diff --git a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSConcurrent.java b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSConcurrent.java index 39e0d0f84c0..9ceb12a752e 100644 --- a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSConcurrent.java +++ b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSConcurrent.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC -XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrent jdk.jfr.event.gc.refstat.TestRefStatEventWithCMSConcurrent */ public class TestRefStatEventWithCMSConcurrent { diff --git a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSMarkSweep.java b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSMarkSweep.java index ea32fd277ac..081e77aecc5 100644 --- a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSMarkSweep.java +++ b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithCMSMarkSweep.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC -XX:+UseConcMarkSweepGC jdk.jfr.event.gc.refstat.TestRefStatEventWithCMSMarkSweep */ public class TestRefStatEventWithCMSMarkSweep { diff --git a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithDefNew.java b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithDefNew.java index c4b2b29849b..2d7c4357ca6 100644 --- a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithDefNew.java +++ b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithDefNew.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC -Xmx50m -Xmn2m -XX:+UseSerialGC jdk.jfr.event.gc.refstat.TestRefStatEventWithDefNew */ public class TestRefStatEventWithDefNew { diff --git a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1ConcurrentMark.java b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1ConcurrentMark.java index be23de050e6..ace333f6e0b 100644 --- a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1ConcurrentMark.java +++ b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1ConcurrentMark.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent jdk.jfr.event.gc.refstat.TestRefStatEventWithG1ConcurrentMark */ public class TestRefStatEventWithG1ConcurrentMark { diff --git a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1FullCollection.java b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1FullCollection.java index 2287a1294c4..d7929d7f320 100644 --- a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1FullCollection.java +++ b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1FullCollection.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC -XX:+UseG1GC jdk.jfr.event.gc.refstat.TestRefStatEventWithG1FullCollection */ public class TestRefStatEventWithG1FullCollection { diff --git a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1New.java b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1New.java index 50f8bf917bb..6bd10884369 100644 --- a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1New.java +++ b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithG1New.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC -Xmx50m -Xmn2m -XX:+UseG1GC jdk.jfr.event.gc.refstat.TestRefStatEventWithG1New */ public class TestRefStatEventWithG1New { diff --git a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithPSMarkSweep.java b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithPSMarkSweep.java index 19cec3226cc..28ec2815526 100644 --- a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithPSMarkSweep.java +++ b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithPSMarkSweep.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC -XX:+UseParallelGC -XX:-UseParallelOldGC jdk.jfr.event.gc.refstat.TestRefStatEventWithPSMarkSweep */ public class TestRefStatEventWithPSMarkSweep { diff --git a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelOld.java b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelOld.java index da83ce14d4e..1d2e8e1d3b6 100644 --- a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelOld.java +++ b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelOld.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC -XX:+UseParallelGC -XX:+UseParallelOldGC jdk.jfr.event.gc.refstat.TestRefStatEventWithParallelOld */ public class TestRefStatEventWithParallelOld { diff --git a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelScavenge.java b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelScavenge.java index e2a95b5ee9e..ed90d25063a 100644 --- a/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelScavenge.java +++ b/jdk/test/jdk/jfr/event/gc/refstat/TestRefStatEventWithParallelScavenge.java @@ -31,7 +31,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+PrintGCDetails -XX:+PrintGC -Xmx50m -Xmn2m -XX:-UseLargePages -XX:+UseParallelGC -XX:-UseAdaptiveSizePolicy jdk.jfr.event.gc.refstat.TestRefStatEventWithParallelScavenge */ public class TestRefStatEventWithParallelScavenge { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestConcMarkSweepAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestConcMarkSweepAllocationPendingStackTrace.java index febaa531614..fa8efdc0786 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestConcMarkSweepAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestConcMarkSweepAllocationPendingStackTrace.java @@ -30,7 +30,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:MaxNewSize=10M -Xmx64M -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGC jdk.jfr.event.gc.stacktrace.TestConcMarkSweepAllocationPendingStackTrace */ public class TestConcMarkSweepAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestDefNewAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestDefNewAllocationPendingStackTrace.java index 3af2fa56a5b..fa45851016d 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestDefNewAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestDefNewAllocationPendingStackTrace.java @@ -30,7 +30,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseSerialGC -XX:+PrintGCDetails -XX:+PrintGC jdk.jfr.event.gc.stacktrace.TestDefNewAllocationPendingStackTrace */ public class TestDefNewAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1HumongousAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1HumongousAllocationPendingStackTrace.java index e882f9e382e..32d02c4cfcb 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1HumongousAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1HumongousAllocationPendingStackTrace.java @@ -30,7 +30,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGC -Xmx64M -XX:InitiatingHeapOccupancyPercent=100 jdk.jfr.event.gc.stacktrace.TestG1HumongousAllocationPendingStackTrace */ public class TestG1HumongousAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1OldAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1OldAllocationPendingStackTrace.java index 62c974eb51a..f8c8e0fc727 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1OldAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1OldAllocationPendingStackTrace.java @@ -30,7 +30,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:MaxNewSize=10M -Xmx128M -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGC jdk.jfr.event.gc.stacktrace.TestG1OldAllocationPendingStackTrace */ public class TestG1OldAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1YoungAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1YoungAllocationPendingStackTrace.java index 26296bd8e55..82276dba025 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1YoungAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestG1YoungAllocationPendingStackTrace.java @@ -30,7 +30,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGC jdk.jfr.event.gc.stacktrace.TestG1YoungAllocationPendingStackTrace */ public class TestG1YoungAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestMarkSweepCompactAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestMarkSweepCompactAllocationPendingStackTrace.java index 070a5448f3f..ece6ff9fc7b 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestMarkSweepCompactAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestMarkSweepCompactAllocationPendingStackTrace.java @@ -30,7 +30,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:MaxNewSize=10M -Xmx64M -XX:+UseSerialGC -XX:+PrintGCDetails -XX:+PrintGC jdk.jfr.event.gc.stacktrace.TestMarkSweepCompactAllocationPendingStackTrace */ public class TestMarkSweepCompactAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceConcMarkSweepGCAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceConcMarkSweepGCAllocationPendingStackTrace.java index 3143a82ee76..f454d8f23c9 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceConcMarkSweepGCAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceConcMarkSweepGCAllocationPendingStackTrace.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseConcMarkSweepGC -XX:MaxMetaspaceSize=64M -XX:+PrintGCDetails -XX:+PrintGC jdk.jfr.event.gc.stacktrace.TestMetaspaceConcMarkSweepGCAllocationPendingStackTrace */ public class TestMetaspaceConcMarkSweepGCAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceG1GCAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceG1GCAllocationPendingStackTrace.java index 1b533e062a8..9579739ab36 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceG1GCAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceG1GCAllocationPendingStackTrace.java @@ -30,7 +30,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGC -XX:MaxMetaspaceSize=64M jdk.jfr.event.gc.stacktrace.TestMetaspaceG1GCAllocationPendingStackTrace */ diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceParallelGCAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceParallelGCAllocationPendingStackTrace.java index 1a3c2659305..dc8938bf5d4 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceParallelGCAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceParallelGCAllocationPendingStackTrace.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintGC -XX:MaxMetaspaceSize=64M jdk.jfr.event.gc.stacktrace.TestMetaspaceParallelGCAllocationPendingStackTrace */ public class TestMetaspaceParallelGCAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceSerialGCAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceSerialGCAllocationPendingStackTrace.java index 941e185f2ee..69725ec2b60 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceSerialGCAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestMetaspaceSerialGCAllocationPendingStackTrace.java @@ -31,7 +31,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseSerialGC -XX:+PrintGCDetails -XX:+PrintGC -XX:MaxMetaspaceSize=64M -XX:+FlightRecorder jdk.jfr.event.gc.stacktrace.TestMetaspaceSerialGCAllocationPendingStackTrace */ public class TestMetaspaceSerialGCAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestParNewAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestParNewAllocationPendingStackTrace.java index e1ccb303af5..54195d5deca 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestParNewAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestParNewAllocationPendingStackTrace.java @@ -30,7 +30,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGC -XX:+FlightRecorder jdk.jfr.event.gc.stacktrace.TestParNewAllocationPendingStackTrace */ public class TestParNewAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java index fcc0b1912c4..3ca65dfe5fe 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestParallelMarkSweepAllocationPendingStackTrace.java @@ -30,7 +30,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:MaxNewSize=10M -Xmx64M -XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintGC -XX:+FlightRecorder jdk.jfr.event.gc.stacktrace.TestParallelMarkSweepAllocationPendingStackTrace */ public class TestParallelMarkSweepAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/gc/stacktrace/TestParallelScavengeAllocationPendingStackTrace.java b/jdk/test/jdk/jfr/event/gc/stacktrace/TestParallelScavengeAllocationPendingStackTrace.java index b5a771d3e0d..6d24aa7febd 100644 --- a/jdk/test/jdk/jfr/event/gc/stacktrace/TestParallelScavengeAllocationPendingStackTrace.java +++ b/jdk/test/jdk/jfr/event/gc/stacktrace/TestParallelScavengeAllocationPendingStackTrace.java @@ -30,7 +30,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseParallelGC -XX:+PrintGCDetails -XX:+PrintGC -XX:+FlightRecorder jdk.jfr.event.gc.stacktrace.TestParallelScavengeAllocationPendingStackTrace */ public class TestParallelScavengeAllocationPendingStackTrace { diff --git a/jdk/test/jdk/jfr/event/io/EvilInstrument.java b/jdk/test/jdk/jfr/event/io/EvilInstrument.java index e2a18c0bd2e..5b9bd345426 100644 --- a/jdk/test/jdk/jfr/event/io/EvilInstrument.java +++ b/jdk/test/jdk/jfr/event/io/EvilInstrument.java @@ -49,7 +49,7 @@ * instrumentation in JFR does not interfere with javaagents. * * - * @library /lib / + * @library /test/lib / * * * @build jdk.jfr.event.io.EvilInstrument diff --git a/jdk/test/jdk/jfr/event/io/TestDisabledEvents.java b/jdk/test/jdk/jfr/event/io/TestDisabledEvents.java index bbaf9269b96..8f9d12affd3 100644 --- a/jdk/test/jdk/jfr/event/io/TestDisabledEvents.java +++ b/jdk/test/jdk/jfr/event/io/TestDisabledEvents.java @@ -45,7 +45,7 @@ * @summary Test with FlightRecorder enabled but with the events disabled. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.io.TestDisabledEvents */ diff --git a/jdk/test/jdk/jfr/event/io/TestFileChannelEvents.java b/jdk/test/jdk/jfr/event/io/TestFileChannelEvents.java index 6c849e2c57d..3349c318d1f 100644 --- a/jdk/test/jdk/jfr/event/io/TestFileChannelEvents.java +++ b/jdk/test/jdk/jfr/event/io/TestFileChannelEvents.java @@ -44,7 +44,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.io.TestFileChannelEvents */ public class TestFileChannelEvents { diff --git a/jdk/test/jdk/jfr/event/io/TestFileReadOnly.java b/jdk/test/jdk/jfr/event/io/TestFileReadOnly.java index 85fcd123e3a..559cdff1705 100644 --- a/jdk/test/jdk/jfr/event/io/TestFileReadOnly.java +++ b/jdk/test/jdk/jfr/event/io/TestFileReadOnly.java @@ -45,7 +45,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.io.TestFileReadOnly */ public class TestFileReadOnly { diff --git a/jdk/test/jdk/jfr/event/io/TestFileStreamEvents.java b/jdk/test/jdk/jfr/event/io/TestFileStreamEvents.java index d647560fbed..ec944e3bacf 100644 --- a/jdk/test/jdk/jfr/event/io/TestFileStreamEvents.java +++ b/jdk/test/jdk/jfr/event/io/TestFileStreamEvents.java @@ -43,7 +43,7 @@ * @test TestFileStreamEvents * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.io.TestFileStreamEvents */ diff --git a/jdk/test/jdk/jfr/event/io/TestInstrumentation.java b/jdk/test/jdk/jfr/event/io/TestInstrumentation.java index 19fe5a6dae8..d6f14a9d74d 100644 --- a/jdk/test/jdk/jfr/event/io/TestInstrumentation.java +++ b/jdk/test/jdk/jfr/event/io/TestInstrumentation.java @@ -49,7 +49,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * diff --git a/jdk/test/jdk/jfr/event/io/TestRandomAccessFileEvents.java b/jdk/test/jdk/jfr/event/io/TestRandomAccessFileEvents.java index 2798338a635..a0b65d7f0d5 100644 --- a/jdk/test/jdk/jfr/event/io/TestRandomAccessFileEvents.java +++ b/jdk/test/jdk/jfr/event/io/TestRandomAccessFileEvents.java @@ -42,7 +42,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.io.TestRandomAccessFileEvents */ public class TestRandomAccessFileEvents { diff --git a/jdk/test/jdk/jfr/event/io/TestRandomAccessFileThread.java b/jdk/test/jdk/jfr/event/io/TestRandomAccessFileThread.java index 21b79966c55..959da5e64d0 100644 --- a/jdk/test/jdk/jfr/event/io/TestRandomAccessFileThread.java +++ b/jdk/test/jdk/jfr/event/io/TestRandomAccessFileThread.java @@ -48,7 +48,7 @@ * @summary Verify the event time stamp and thread name * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps jdk.jfr.event.io.TestRandomAccessFileThread */ diff --git a/jdk/test/jdk/jfr/event/io/TestSocketChannelEvents.java b/jdk/test/jdk/jfr/event/io/TestSocketChannelEvents.java index 23b692a3100..25267730e42 100644 --- a/jdk/test/jdk/jfr/event/io/TestSocketChannelEvents.java +++ b/jdk/test/jdk/jfr/event/io/TestSocketChannelEvents.java @@ -45,7 +45,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.io.TestSocketChannelEvents */ public class TestSocketChannelEvents { diff --git a/jdk/test/jdk/jfr/event/io/TestSocketEvents.java b/jdk/test/jdk/jfr/event/io/TestSocketEvents.java index 5b544cc7e92..d7797b0c234 100644 --- a/jdk/test/jdk/jfr/event/io/TestSocketEvents.java +++ b/jdk/test/jdk/jfr/event/io/TestSocketEvents.java @@ -46,7 +46,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.io.TestSocketEvents */ public class TestSocketEvents { diff --git a/jdk/test/jdk/jfr/event/metadata/TestDefaultConfigurations.java b/jdk/test/jdk/jfr/event/metadata/TestDefaultConfigurations.java index 0d19419b1dd..f372491231b 100644 --- a/jdk/test/jdk/jfr/event/metadata/TestDefaultConfigurations.java +++ b/jdk/test/jdk/jfr/event/metadata/TestDefaultConfigurations.java @@ -58,7 +58,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * diff --git a/jdk/test/jdk/jfr/event/metadata/TestEventMetadata.java b/jdk/test/jdk/jfr/event/metadata/TestEventMetadata.java index c6811c5a782..9394949de23 100644 --- a/jdk/test/jdk/jfr/event/metadata/TestEventMetadata.java +++ b/jdk/test/jdk/jfr/event/metadata/TestEventMetadata.java @@ -39,7 +39,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.metadata.TestEventMetadata */ diff --git a/jdk/test/jdk/jfr/event/metadata/TestLookForUntestedEvents.java b/jdk/test/jdk/jfr/event/metadata/TestLookForUntestedEvents.java index 93e4e4aae5f..3babcbae3c1 100644 --- a/jdk/test/jdk/jfr/event/metadata/TestLookForUntestedEvents.java +++ b/jdk/test/jdk/jfr/event/metadata/TestLookForUntestedEvents.java @@ -45,7 +45,7 @@ /** * @test Check for JFR events not covered by tests * @key jfr - * @library /lib / + * @library /test/lib / * @run main jdk.jfr.event.metadata.TestLookForUntestedEvents */ public class TestLookForUntestedEvents { diff --git a/jdk/test/jdk/jfr/event/oldobject/TestAllocationTime.java b/jdk/test/jdk/jfr/event/oldobject/TestAllocationTime.java index d82ab849db9..850f6f9efed 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestAllocationTime.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestAllocationTime.java @@ -42,7 +42,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k -XX:-FastTLABRefill jdk.jfr.event.oldobject.TestAllocationTime */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestArrayInformation.java b/jdk/test/jdk/jfr/event/oldobject/TestArrayInformation.java index 1c6050d0218..61f30eb16f7 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestArrayInformation.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestArrayInformation.java @@ -41,7 +41,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestArrayInformation */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestCMS.java b/jdk/test/jdk/jfr/event/oldobject/TestCMS.java index 2ee8140093f..1675dc37d55 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestCMS.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestCMS.java @@ -40,7 +40,7 @@ * * * @summary Test leak profiler with CMS GC - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k -XX:+UseConcMarkSweepGC jdk.jfr.event.oldobject.TestCMS */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestCircularReference.java b/jdk/test/jdk/jfr/event/oldobject/TestCircularReference.java index b068bdb2cb7..27cb2fe4224 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestCircularReference.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestCircularReference.java @@ -38,7 +38,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestCircularReference */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestClassLoaderLeak.java b/jdk/test/jdk/jfr/event/oldobject/TestClassLoaderLeak.java index b2bb60fbcd3..7e20c4a2334 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestClassLoaderLeak.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestClassLoaderLeak.java @@ -43,7 +43,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k -Xmx64m jdk.jfr.event.oldobject.TestClassLoaderLeak */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestFieldInformation.java b/jdk/test/jdk/jfr/event/oldobject/TestFieldInformation.java index 4d20728cfdf..051a8dd5ec3 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestFieldInformation.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestFieldInformation.java @@ -43,7 +43,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k -XX:+PrintGCDetails -XX:+PrintGC -verbose:class jdk.jfr.event.oldobject.TestFieldInformation */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestG1.java b/jdk/test/jdk/jfr/event/oldobject/TestG1.java index 238971fe516..9db5aaf6d4f 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestG1.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestG1.java @@ -40,7 +40,7 @@ * * * @summary Test leak profiler with G1 GC - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k -XX:+UseG1GC jdk.jfr.event.oldobject.TestG1 */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestHeapDeep.java b/jdk/test/jdk/jfr/event/oldobject/TestHeapDeep.java index 11f9df9d7bb..209560ffac6 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestHeapDeep.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestHeapDeep.java @@ -38,7 +38,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestHeapDeep */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestHeapShallow.java b/jdk/test/jdk/jfr/event/oldobject/TestHeapShallow.java index bb81e0c729a..4835360bfa9 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestHeapShallow.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestHeapShallow.java @@ -37,7 +37,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestHeapShallow */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestLargeRootSet.java b/jdk/test/jdk/jfr/event/oldobject/TestLargeRootSet.java index f2f29d45a6c..0b28bcce4d4 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestLargeRootSet.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestLargeRootSet.java @@ -43,7 +43,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k -XX:-FastTLABRefill jdk.jfr.event.oldobject.TestLargeRootSet */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestLastKnownHeapUsage.java b/jdk/test/jdk/jfr/event/oldobject/TestLastKnownHeapUsage.java index b2aa71f61d1..9ae58eb4b18 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestLastKnownHeapUsage.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestLastKnownHeapUsage.java @@ -42,7 +42,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k -XX:-FastTLABRefill jdk.jfr.event.oldobject.TestLastKnownHeapUsage */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestListenerLeak.java b/jdk/test/jdk/jfr/event/oldobject/TestListenerLeak.java index 54329e97fc7..7500ecd3067 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestListenerLeak.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestListenerLeak.java @@ -39,7 +39,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestListenerLeak */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestMetadataRetention.java b/jdk/test/jdk/jfr/event/oldobject/TestMetadataRetention.java index 269b59fa361..9574af0e122 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestMetadataRetention.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestMetadataRetention.java @@ -48,7 +48,7 @@ * * @key jfr * - * @library /lib / + * @library /test/lib / * @build jdk.jfr.event.oldobject.TestMetadataObject * @run main/othervm -XX:TLABSize=2k -Xmx16m jdk.jfr.event.oldobject.TestMetadataRetention */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestObjectDescription.java b/jdk/test/jdk/jfr/event/oldobject/TestObjectDescription.java index cac1b4448a5..1e18eece283 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestObjectDescription.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestObjectDescription.java @@ -44,7 +44,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestObjectDescription */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestParallel.java b/jdk/test/jdk/jfr/event/oldobject/TestParallel.java index 797c9369b10..610a6b9e224 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestParallel.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestParallel.java @@ -40,7 +40,7 @@ * * * @summary Test leak profiler with Parallel GC - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k -XX:+UseParallelGC jdk.jfr.event.oldobject.TestParallel */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestParallelOld.java b/jdk/test/jdk/jfr/event/oldobject/TestParallelOld.java index 866818c7bd6..3d1d20e104a 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestParallelOld.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestParallelOld.java @@ -40,7 +40,7 @@ * * * @summary Test leak profiler with Parallel Old GC - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k -XX:+UseParallelOldGC jdk.jfr.event.oldobject.TestParallelOld */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestReferenceChainLimit.java b/jdk/test/jdk/jfr/event/oldobject/TestReferenceChainLimit.java index 20dd5933571..f1e6e4fe9fb 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestReferenceChainLimit.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestReferenceChainLimit.java @@ -37,7 +37,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestReferenceChainLimit */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestSanityDefault.java b/jdk/test/jdk/jfr/event/oldobject/TestSanityDefault.java index 6607c7800a4..4dacee21a7a 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestSanityDefault.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestSanityDefault.java @@ -38,7 +38,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * @summary Purpose of this test is to run leak profiler without command line tweaks or WhiteBox hacks until we succeed * @run main/othervm jdk.jfr.event.oldobject.TestSanityDefault */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestSerial.java b/jdk/test/jdk/jfr/event/oldobject/TestSerial.java index e2cbc46bd33..3e7615258d7 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestSerial.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestSerial.java @@ -40,7 +40,7 @@ * * * @summary Test leak profiler with Serial GC - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k -XX:+UseSerialGC jdk.jfr.event.oldobject.TestSerial */ diff --git a/jdk/test/jdk/jfr/event/oldobject/TestThreadLocalLeak.java b/jdk/test/jdk/jfr/event/oldobject/TestThreadLocalLeak.java index b7c76f5e94b..a2c7f468bbf 100644 --- a/jdk/test/jdk/jfr/event/oldobject/TestThreadLocalLeak.java +++ b/jdk/test/jdk/jfr/event/oldobject/TestThreadLocalLeak.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestThreadLocalLeak */ diff --git a/jdk/test/jdk/jfr/event/os/TestCPUInformation.java b/jdk/test/jdk/jfr/event/os/TestCPUInformation.java index d6a026b2cc7..17c8419cbc0 100644 --- a/jdk/test/jdk/jfr/event/os/TestCPUInformation.java +++ b/jdk/test/jdk/jfr/event/os/TestCPUInformation.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.os.TestCPUInformation */ public class TestCPUInformation { diff --git a/jdk/test/jdk/jfr/event/os/TestCPULoad.java b/jdk/test/jdk/jfr/event/os/TestCPULoad.java index 614889766f6..8372d6f3459 100644 --- a/jdk/test/jdk/jfr/event/os/TestCPULoad.java +++ b/jdk/test/jdk/jfr/event/os/TestCPULoad.java @@ -37,7 +37,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.os.TestCPULoad */ public class TestCPULoad { diff --git a/jdk/test/jdk/jfr/event/os/TestCPUTimeStampCounter.java b/jdk/test/jdk/jfr/event/os/TestCPUTimeStampCounter.java index 00fefe729b8..8df44fb3551 100644 --- a/jdk/test/jdk/jfr/event/os/TestCPUTimeStampCounter.java +++ b/jdk/test/jdk/jfr/event/os/TestCPUTimeStampCounter.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.os.TestCPUTimeStampCounter */ public class TestCPUTimeStampCounter { diff --git a/jdk/test/jdk/jfr/event/os/TestInitialEnvironmentVariable.sh b/jdk/test/jdk/jfr/event/os/TestInitialEnvironmentVariable.sh index 08bfef99194..3ed4d391442 100644 --- a/jdk/test/jdk/jfr/event/os/TestInitialEnvironmentVariable.sh +++ b/jdk/test/jdk/jfr/event/os/TestInitialEnvironmentVariable.sh @@ -23,7 +23,7 @@ # @test # @key jfr # -# @library /lib / +# @library /test/lib / # @build jdk.jfr.event.os.TestInitialEnvironmentVariable # @run shell TestInitialEnvironmentVariable.sh diff --git a/jdk/test/jdk/jfr/event/os/TestOSInfo.java b/jdk/test/jdk/jfr/event/os/TestOSInfo.java index 1629bcb08fa..498994c0801 100644 --- a/jdk/test/jdk/jfr/event/os/TestOSInfo.java +++ b/jdk/test/jdk/jfr/event/os/TestOSInfo.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.os.TestOSInfo */ public class TestOSInfo { diff --git a/jdk/test/jdk/jfr/event/os/TestPhysicalMemoryEvent.java b/jdk/test/jdk/jfr/event/os/TestPhysicalMemoryEvent.java index be224ad03ce..d1d4451c9f9 100644 --- a/jdk/test/jdk/jfr/event/os/TestPhysicalMemoryEvent.java +++ b/jdk/test/jdk/jfr/event/os/TestPhysicalMemoryEvent.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.os.TestPhysicalMemoryEvent */ public class TestPhysicalMemoryEvent { diff --git a/jdk/test/jdk/jfr/event/os/TestSystemProcess.java b/jdk/test/jdk/jfr/event/os/TestSystemProcess.java index 9d3f4bede0f..9419cd3a4f8 100644 --- a/jdk/test/jdk/jfr/event/os/TestSystemProcess.java +++ b/jdk/test/jdk/jfr/event/os/TestSystemProcess.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.os.TestSystemProcess */ public class TestSystemProcess { diff --git a/jdk/test/jdk/jfr/event/os/TestThreadContextSwitches.java b/jdk/test/jdk/jfr/event/os/TestThreadContextSwitches.java index bd70c581b8d..7b608107378 100644 --- a/jdk/test/jdk/jfr/event/os/TestThreadContextSwitches.java +++ b/jdk/test/jdk/jfr/event/os/TestThreadContextSwitches.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.os.TestThreadContextSwitches */ public class TestThreadContextSwitches { diff --git a/jdk/test/jdk/jfr/event/profiling/TestFullStackTrace.java b/jdk/test/jdk/jfr/event/profiling/TestFullStackTrace.java index 7236b5951ce..0d341c2eadd 100644 --- a/jdk/test/jdk/jfr/event/profiling/TestFullStackTrace.java +++ b/jdk/test/jdk/jfr/event/profiling/TestFullStackTrace.java @@ -42,7 +42,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.profiling.TestFullStackTrace */ public class TestFullStackTrace { diff --git a/jdk/test/jdk/jfr/event/runtime/TestActiveRecordingEvent.java b/jdk/test/jdk/jfr/event/runtime/TestActiveRecordingEvent.java index 7d4b786fa41..40f6244f159 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestActiveRecordingEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestActiveRecordingEvent.java @@ -48,7 +48,7 @@ * @summary Tests that the recording properties are properly reflected in the ActiveRecording event * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestActiveRecordingEvent */ public final class TestActiveRecordingEvent { diff --git a/jdk/test/jdk/jfr/event/runtime/TestActiveSettingEvent.java b/jdk/test/jdk/jfr/event/runtime/TestActiveSettingEvent.java index 3b3ff905367..f9c09758ac9 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestActiveSettingEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestActiveSettingEvent.java @@ -45,7 +45,7 @@ * @summary Tests that active setting are available in the ActiveSettingevent * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestActiveSettingEvent */ public final class TestActiveSettingEvent { diff --git a/jdk/test/jdk/jfr/event/runtime/TestBiasedLockRevocationEvents.java b/jdk/test/jdk/jfr/event/runtime/TestBiasedLockRevocationEvents.java index 58eee6c6edc..f8e50a5c434 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestBiasedLockRevocationEvents.java +++ b/jdk/test/jdk/jfr/event/runtime/TestBiasedLockRevocationEvents.java @@ -41,7 +41,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm -XX:BiasedLockingStartupDelay=0 jdk.jfr.event.runtime.TestBiasedLockRevocationEvents */ diff --git a/jdk/test/jdk/jfr/event/runtime/TestClassDefineEvent.java b/jdk/test/jdk/jfr/event/runtime/TestClassDefineEvent.java index 30f9320af7e..abdcd7b35e9 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestClassDefineEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestClassDefineEvent.java @@ -40,7 +40,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @build jdk.jfr.event.runtime.TestClasses * @run main/othervm jdk.jfr.event.runtime.TestClassDefineEvent * @run main/othervm -XX:+AllowParallelDefineClass jdk.jfr.event.runtime.TestClassDefineEvent diff --git a/jdk/test/jdk/jfr/event/runtime/TestClassLoadEvent.java b/jdk/test/jdk/jfr/event/runtime/TestClassLoadEvent.java index b0719d20cc6..488b174e9c8 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestClassLoadEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestClassLoadEvent.java @@ -41,7 +41,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @build jdk.jfr.event.runtime.TestClasses * @run main/othervm jdk.jfr.event.runtime.TestClassLoadEvent */ diff --git a/jdk/test/jdk/jfr/event/runtime/TestClassLoaderStatsEvent.java b/jdk/test/jdk/jfr/event/runtime/TestClassLoaderStatsEvent.java index debf79f07c2..b669dd4d07f 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestClassLoaderStatsEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestClassLoaderStatsEvent.java @@ -43,7 +43,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @build jdk.jfr.event.runtime.TestClasses * @run main/othervm jdk.jfr.event.runtime.TestClassLoaderStatsEvent */ diff --git a/jdk/test/jdk/jfr/event/runtime/TestClassLoadingStatisticsEvent.java b/jdk/test/jdk/jfr/event/runtime/TestClassLoadingStatisticsEvent.java index 01777475827..ef271e9a546 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestClassLoadingStatisticsEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestClassLoadingStatisticsEvent.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @build jdk.jfr.event.runtime.TestClasses * @run main/othervm jdk.jfr.event.runtime.TestClassLoadingStatisticsEvent */ diff --git a/jdk/test/jdk/jfr/event/runtime/TestClassUnloadEvent.java b/jdk/test/jdk/jfr/event/runtime/TestClassUnloadEvent.java index 4962778b32f..9470767fba9 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestClassUnloadEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestClassUnloadEvent.java @@ -42,7 +42,7 @@ * @summary The test verifies that a class unload event is created when class is unloaded * @key jfr * - * @library /lib / + * @library /test/lib / * @build jdk.jfr.event.runtime.TestClasses * @run main/othervm -XX:+PrintGCDetails -XX:+PrintGC -verbose:class -Xmx16m jdk.jfr.event.runtime.TestClassUnloadEvent */ diff --git a/jdk/test/jdk/jfr/event/runtime/TestExceptionEvents.java b/jdk/test/jdk/jfr/event/runtime/TestExceptionEvents.java index 3d0cc5c39cb..7a29c7481b4 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestExceptionEvents.java +++ b/jdk/test/jdk/jfr/event/runtime/TestExceptionEvents.java @@ -42,7 +42,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestExceptionEvents */ public class TestExceptionEvents { diff --git a/jdk/test/jdk/jfr/event/runtime/TestExceptionSubclass.java b/jdk/test/jdk/jfr/event/runtime/TestExceptionSubclass.java index 320702ecb4a..8d817ecd42d 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestExceptionSubclass.java +++ b/jdk/test/jdk/jfr/event/runtime/TestExceptionSubclass.java @@ -32,7 +32,7 @@ * @key jfr * @bug 8013122 * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestExceptionSubclass */ public class TestExceptionSubclass { diff --git a/jdk/test/jdk/jfr/event/runtime/TestJavaBlockedEvent.java b/jdk/test/jdk/jfr/event/runtime/TestJavaBlockedEvent.java index 9a1160e97cd..bb773b46c5e 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestJavaBlockedEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestJavaBlockedEvent.java @@ -44,7 +44,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.event.runtime.TestJavaBlockedEvent */ diff --git a/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorInflateEvent.java b/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorInflateEvent.java index d98b4ce21c4..34795e796ee 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorInflateEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorInflateEvent.java @@ -42,7 +42,7 @@ * @test TestJavaMonitorInflateEvent * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestJavaMonitorInflateEvent */ public class TestJavaMonitorInflateEvent { diff --git a/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorWaitEvent.java b/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorWaitEvent.java index ead5e7616c0..478bab50620 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorWaitEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorWaitEvent.java @@ -42,7 +42,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestJavaMonitorWaitEvent */ public class TestJavaMonitorWaitEvent { diff --git a/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorWaitTimeOut.java b/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorWaitTimeOut.java index 16d69b9fd2b..c838ec06af6 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorWaitTimeOut.java +++ b/jdk/test/jdk/jfr/event/runtime/TestJavaMonitorWaitTimeOut.java @@ -39,7 +39,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestJavaMonitorWaitTimeOut */ public class TestJavaMonitorWaitTimeOut { diff --git a/jdk/test/jdk/jfr/event/runtime/TestJavaThreadStatisticsEvent.java b/jdk/test/jdk/jfr/event/runtime/TestJavaThreadStatisticsEvent.java index 983afed8eb9..2a98e318073 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestJavaThreadStatisticsEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestJavaThreadStatisticsEvent.java @@ -41,7 +41,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestJavaThreadStatisticsEvent */ public class TestJavaThreadStatisticsEvent { diff --git a/jdk/test/jdk/jfr/event/runtime/TestJavaThreadStatisticsEventBean.java b/jdk/test/jdk/jfr/event/runtime/TestJavaThreadStatisticsEventBean.java index 307fae7c60d..a97f7024b4e 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestJavaThreadStatisticsEventBean.java +++ b/jdk/test/jdk/jfr/event/runtime/TestJavaThreadStatisticsEventBean.java @@ -41,7 +41,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.event.runtime.TestJavaThreadStatisticsEventBean */ diff --git a/jdk/test/jdk/jfr/event/runtime/TestNativeLibrariesEvent.java b/jdk/test/jdk/jfr/event/runtime/TestNativeLibrariesEvent.java index 6956f5affa5..e5a660b77fd 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestNativeLibrariesEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestNativeLibrariesEvent.java @@ -42,7 +42,7 @@ * @bug 8216559 * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestNativeLibrariesEvent */ public class TestNativeLibrariesEvent { diff --git a/jdk/test/jdk/jfr/event/runtime/TestNetworkUtilizationEvent.java b/jdk/test/jdk/jfr/event/runtime/TestNetworkUtilizationEvent.java index eaa43a7bfde..d0064ec53d0 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestNetworkUtilizationEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestNetworkUtilizationEvent.java @@ -43,7 +43,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.event.runtime.TestNetworkUtilizationEvent */ diff --git a/jdk/test/jdk/jfr/event/runtime/TestSafepointEvents.java b/jdk/test/jdk/jfr/event/runtime/TestSafepointEvents.java index 8aad064c032..bedfd858961 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestSafepointEvents.java +++ b/jdk/test/jdk/jfr/event/runtime/TestSafepointEvents.java @@ -42,7 +42,7 @@ * @test TestSafepointEvents * @key jfr * - * @library /lib / + * @library /test/lib / * @build sun.hotspot.WhiteBox * @run main ClassFileInstaller sun.hotspot.WhiteBox * sun.hotspot.WhiteBox$WhiteBoxPermission diff --git a/jdk/test/jdk/jfr/event/runtime/TestShutdownEvent.java b/jdk/test/jdk/jfr/event/runtime/TestShutdownEvent.java index 5bbf69cfde5..02f15c4bde1 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestShutdownEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestShutdownEvent.java @@ -47,7 +47,7 @@ * @test * @summary Test Shutdown event * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestShutdownEvent */ public class TestShutdownEvent { diff --git a/jdk/test/jdk/jfr/event/runtime/TestSizeTFlags.java b/jdk/test/jdk/jfr/event/runtime/TestSizeTFlags.java index 0650bc3c0e3..908ed6f968b 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestSizeTFlags.java +++ b/jdk/test/jdk/jfr/event/runtime/TestSizeTFlags.java @@ -41,7 +41,7 @@ * * @key jfr * @summary Test checks that flags of type size_t are being sent to the jfr - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:-UseFastUnorderedTimeStamps -XX:+UseG1GC -XX:+UseTLAB -XX:MinTLABSize=3k -XX:OldSize=30m -XX:YoungPLABSize=3k -XX:MaxDirectMemorySize=5M jdk.jfr.event.runtime.TestSizeTFlags */ public class TestSizeTFlags { diff --git a/jdk/test/jdk/jfr/event/runtime/TestSystemPropertyEvent.java b/jdk/test/jdk/jfr/event/runtime/TestSystemPropertyEvent.java index e2c1b17ebda..efaf0e6f0fd 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestSystemPropertyEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestSystemPropertyEvent.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestSystemPropertyEvent */ public class TestSystemPropertyEvent { diff --git a/jdk/test/jdk/jfr/event/runtime/TestThreadAllocationEvent.java b/jdk/test/jdk/jfr/event/runtime/TestThreadAllocationEvent.java index c839de8f610..0528d1ca5b4 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestThreadAllocationEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestThreadAllocationEvent.java @@ -47,7 +47,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * * * @run main/othervm -XX:-UseTLAB jdk.jfr.event.runtime.TestThreadAllocationEvent diff --git a/jdk/test/jdk/jfr/event/runtime/TestThreadCpuTimeEvent.java b/jdk/test/jdk/jfr/event/runtime/TestThreadCpuTimeEvent.java index bddbb3243c0..00f23549b9a 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestThreadCpuTimeEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestThreadCpuTimeEvent.java @@ -47,7 +47,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * * * @run main/othervm jdk.jfr.event.runtime.TestThreadCpuTimeEvent diff --git a/jdk/test/jdk/jfr/event/runtime/TestThreadDumpEvent.java b/jdk/test/jdk/jfr/event/runtime/TestThreadDumpEvent.java index 971fc974daf..f0d29b7dc4b 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestThreadDumpEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestThreadDumpEvent.java @@ -39,7 +39,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestThreadDumpEvent */ public class TestThreadDumpEvent { diff --git a/jdk/test/jdk/jfr/event/runtime/TestThreadParkEvent.java b/jdk/test/jdk/jfr/event/runtime/TestThreadParkEvent.java index 06c6b78bb56..97b0e106447 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestThreadParkEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestThreadParkEvent.java @@ -48,7 +48,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.event.runtime.TestThreadParkEvent */ diff --git a/jdk/test/jdk/jfr/event/runtime/TestThreadSleepEvent.java b/jdk/test/jdk/jfr/event/runtime/TestThreadSleepEvent.java index 53e97e7ac3d..593aff3e33e 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestThreadSleepEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestThreadSleepEvent.java @@ -39,7 +39,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestThreadSleepEvent */ public class TestThreadSleepEvent { diff --git a/jdk/test/jdk/jfr/event/runtime/TestThreadStartEndEvents.java b/jdk/test/jdk/jfr/event/runtime/TestThreadStartEndEvents.java index fd028fb56c3..a8c81ee35bc 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestThreadStartEndEvents.java +++ b/jdk/test/jdk/jfr/event/runtime/TestThreadStartEndEvents.java @@ -43,7 +43,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.event.runtime.TestThreadStartEndEvents */ diff --git a/jdk/test/jdk/jfr/event/runtime/TestThrowableInstrumentation.java b/jdk/test/jdk/jfr/event/runtime/TestThrowableInstrumentation.java index 888d19ca68f..7534981fa56 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestThrowableInstrumentation.java +++ b/jdk/test/jdk/jfr/event/runtime/TestThrowableInstrumentation.java @@ -34,7 +34,7 @@ * @bug 8153324 * @summary Verify instrumented Throwable bytecode by compiling it with C1. * - * @library /lib / + * @library /test/lib / * * * @build sun.hotspot.WhiteBox diff --git a/jdk/test/jdk/jfr/event/runtime/TestVMInfoEvent.sh b/jdk/test/jdk/jfr/event/runtime/TestVMInfoEvent.sh index 7beae562b01..835f203d335 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestVMInfoEvent.sh +++ b/jdk/test/jdk/jfr/event/runtime/TestVMInfoEvent.sh @@ -23,7 +23,7 @@ # @test # @key jfr # -# @library /lib / +# @library /test/lib / # @build jdk.jfr.event.runtime.TestVMInfoEvent # @run shell TestVMInfoEvent.sh diff --git a/jdk/test/jdk/jfr/event/runtime/TestVMOperation.java b/jdk/test/jdk/jfr/event/runtime/TestVMOperation.java index 6dad4f9c14f..8862d900f00 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestVMOperation.java +++ b/jdk/test/jdk/jfr/event/runtime/TestVMOperation.java @@ -39,7 +39,7 @@ * * * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+UseParallelGC jdk.jfr.event.runtime.TestVMOperation */ public class TestVMOperation { diff --git a/jdk/test/jdk/jfr/event/runtime/TestVmFlagChangedEvent.java b/jdk/test/jdk/jfr/event/runtime/TestVmFlagChangedEvent.java index e205b3dedd1..df8a2e433b1 100644 --- a/jdk/test/jdk/jfr/event/runtime/TestVmFlagChangedEvent.java +++ b/jdk/test/jdk/jfr/event/runtime/TestVmFlagChangedEvent.java @@ -41,7 +41,7 @@ * @test TestVmFlagChangedEvent * @key jfr * - * @library /lib / + * @library /test/lib / * * * @run main/othervm jdk.jfr.event.runtime.TestVmFlagChangedEvent diff --git a/jdk/test/jdk/jfr/event/sampling/TestNative.java b/jdk/test/jdk/jfr/event/sampling/TestNative.java index 02d69973917..6988f2a236a 100644 --- a/jdk/test/jdk/jfr/event/sampling/TestNative.java +++ b/jdk/test/jdk/jfr/event/sampling/TestNative.java @@ -41,8 +41,8 @@ * @test * @key jfr * - * @library /lib / - * + * @library /test/lib / + * @build TestNative * @run shell TestNative.sh */ public class TestNative { diff --git a/jdk/test/jdk/jfr/event/sampling/TestNative.sh b/jdk/test/jdk/jfr/event/sampling/TestNative.sh index b39d309b2e7..d6be43216f6 100644 --- a/jdk/test/jdk/jfr/event/sampling/TestNative.sh +++ b/jdk/test/jdk/jfr/event/sampling/TestNative.sh @@ -3,7 +3,7 @@ set -ex OS=`uname -s` -if [ "${OS}" != "Linux" -a "${OS}" != "Darwin" ]; then +if [ "${OS}" != "Linux" ] && [ "${OS}" != "Darwin" ]; then echo "This is a Linux/MacOSX only test" exit 0; fi @@ -27,13 +27,12 @@ if [ "x$TESTJAVA" = "x" ]; then fi JDK_TOPDIR="${TESTROOT}/.." -JAVAC="${TESTJAVA}/bin/javac" JAVA="${TESTJAVA}/bin/java" TEST_ENV_SH="${JDK_TOPDIR}/../hotspot/test/test_env.sh" ls -l "${TEST_ENV_SH}" set +e - source "${TEST_ENV_SH}" + . "${TEST_ENV_SH}" set -e "${TESTGCC}" \ @@ -46,17 +45,6 @@ set -e -I${JDK_TOPDIR}/src/solaris/bin \ ${TESTSRC}/libTestNative.c -"${JAVAC}" -d ${TESTCLASSES} \ - ${TESTROOT}/lib/jdk/test/lib/Utils.java \ - ${TESTROOT}/lib/jdk/test/lib/JDKToolLauncher.java \ - ${TESTROOT}/lib/jdk/test/lib/Platform.java \ - ${TESTROOT}/lib/jdk/test/lib/Asserts.java \ - ${TESTROOT}/lib/jdk/test/lib/jfr/EventNames.java \ - ${TESTROOT}/lib/jdk/test/lib/JDKToolFinder.java \ - ${TESTROOT}/lib/jdk/test/lib/process/*.java - -"${JAVAC}" -cp ${TESTCLASSPATH}:${TESTCLASSES} -d ${TESTCLASSES} ${TESTSRC}/TestNative.java - "${JAVA}" -Dtest.jdk=${TESTJAVA} \ -Dtest.nativepath=${TESTCLASSES} \ -Djava.library.path=${TESTCLASSES} \ diff --git a/jdk/test/jdk/jfr/javaagent/Test8252904.java b/jdk/test/jdk/jfr/javaagent/Test8252904.java index bc9ec8bc628..b979166e50a 100644 --- a/jdk/test/jdk/jfr/javaagent/Test8252904.java +++ b/jdk/test/jdk/jfr/javaagent/Test8252904.java @@ -28,7 +28,7 @@ * @key jfr * @summary Tests that JFR event classes can be transformed via JVMTI * - * @library /lib/testlibrary /lib / + * @library /lib/testlibrary /test/lib / * @modules java.instrument * * @build jdk.jfr.javaagent.Test8252904 diff --git a/jdk/test/jdk/jfr/javaagent/TestLoadedAgent.java b/jdk/test/jdk/jfr/javaagent/TestLoadedAgent.java index 90d80b2044f..2acb237fbb6 100644 --- a/jdk/test/jdk/jfr/javaagent/TestLoadedAgent.java +++ b/jdk/test/jdk/jfr/javaagent/TestLoadedAgent.java @@ -26,7 +26,7 @@ * @key jfr * @summary Tests emitting events in a dynamically loaded Java agent * - * @library /lib/testlibrary /lib / + * @library /lib/testlibrary /test/lib / * @modules java.instrument * * @build jdk.jfr.javaagent.EventEmitterAgent diff --git a/jdk/test/jdk/jfr/javaagent/TestPremainAgent.java b/jdk/test/jdk/jfr/javaagent/TestPremainAgent.java index 4ebf4293116..16d3f229800 100644 --- a/jdk/test/jdk/jfr/javaagent/TestPremainAgent.java +++ b/jdk/test/jdk/jfr/javaagent/TestPremainAgent.java @@ -26,7 +26,7 @@ * @key jfr * @summary Tests emitting event before main using a Java agent * - * @library /lib/testlibrary /lib / + * @library /lib/testlibrary /test/lib / * @modules java.instrument * * @build jdk.jfr.javaagent.EventEmitterAgent diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdConfigure.java b/jdk/test/jdk/jfr/jcmd/TestJcmdConfigure.java index c2a54d22fcb..0912be1e228 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdConfigure.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdConfigure.java @@ -38,7 +38,7 @@ * @summary The test verifies JFR.configure command * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.jcmd.TestJcmdConfigure */ diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdDump.java b/jdk/test/jdk/jfr/jcmd/TestJcmdDump.java index b2f0d8c7057..c24dedc376d 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdDump.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdDump.java @@ -43,7 +43,7 @@ * @summary The test verifies JFR.dump command * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:FlightRecorderOptions:maxchunksize=1M jdk.jfr.jcmd.TestJcmdDump */ public class TestJcmdDump { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdDumpGeneratedFilename.java b/jdk/test/jdk/jfr/jcmd/TestJcmdDumpGeneratedFilename.java index 1ec9abbb16b..828522112e3 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdDumpGeneratedFilename.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdDumpGeneratedFilename.java @@ -41,7 +41,7 @@ * @summary The test verifies JFR.dump command * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jcmd.TestJcmdDumpGeneratedFilename */ public class TestJcmdDumpGeneratedFilename { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdDumpLimited.java b/jdk/test/jdk/jfr/jcmd/TestJcmdDumpLimited.java index c49f5c0995d..2b711fbf03e 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdDumpLimited.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdDumpLimited.java @@ -48,7 +48,7 @@ * @summary The test verifies JFR.dump command * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jcmd.TestJcmdDumpLimited */ public class TestJcmdDumpLimited { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java b/jdk/test/jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java index 5804772219f..cec76c04b80 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdDumpPathToGCRoots.java @@ -46,7 +46,7 @@ * @summary Start a recording with or without path-to-gc-roots * * - * @library /lib / + * @library /test/lib / * @key jfr * * @run main/othervm -XX:TLABSize=2k jdk.jfr.jcmd.TestJcmdDumpPathToGCRoots diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdDumpWithFileName.java b/jdk/test/jdk/jfr/jcmd/TestJcmdDumpWithFileName.java index 40ff35b4d98..6c70e790e9b 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdDumpWithFileName.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdDumpWithFileName.java @@ -39,7 +39,7 @@ * @test * @bug 8220657 * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jcmd.TestJcmdDumpWithFileName */ public class TestJcmdDumpWithFileName { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdLegacy.java b/jdk/test/jdk/jfr/jcmd/TestJcmdLegacy.java index 4f86ab28ae7..45f3729c4ad 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdLegacy.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdLegacy.java @@ -42,7 +42,7 @@ * @test TestClassId * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.jcmd.TestJcmdLegacy */ diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdSaveToFile.java b/jdk/test/jdk/jfr/jcmd/TestJcmdSaveToFile.java index 5d2e91d3d2b..79e110f30e1 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdSaveToFile.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdSaveToFile.java @@ -35,7 +35,7 @@ * @summary The test verifies that recording can be written to a file both with JFR.start and JFR.stop * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jcmd.TestJcmdSaveToFile */ public class TestJcmdSaveToFile { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdStartDirNotExist.java b/jdk/test/jdk/jfr/jcmd/TestJcmdStartDirNotExist.java index 28318b9d663..9823ea9a3c9 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdStartDirNotExist.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdStartDirNotExist.java @@ -35,7 +35,7 @@ * @summary Verify error when starting with a dir that does not exist. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jcmd.TestJcmdStartDirNotExist */ public class TestJcmdStartDirNotExist { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdStartInvaldFile.java b/jdk/test/jdk/jfr/jcmd/TestJcmdStartInvaldFile.java index 068005d4112..990618c93cf 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdStartInvaldFile.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdStartInvaldFile.java @@ -32,7 +32,7 @@ * @summary Verify error when starting with invalid file. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jcmd.TestJcmdStartInvaldFile */ public class TestJcmdStartInvaldFile { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdStartPathToGCRoots.java b/jdk/test/jdk/jfr/jcmd/TestJcmdStartPathToGCRoots.java index 5d93f16fba0..668bc5502e5 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdStartPathToGCRoots.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdStartPathToGCRoots.java @@ -36,7 +36,7 @@ * @test * @summary Start a recording with or without path-to-gc-roots * - * @library /lib / + * @library /test/lib / * @key jfr * * @run main/othervm jdk.jfr.jcmd.TestJcmdStartPathToGCRoots diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdStartReadOnlyFile.java b/jdk/test/jdk/jfr/jcmd/TestJcmdStartReadOnlyFile.java index 3a339d8ae39..7975021f884 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdStartReadOnlyFile.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdStartReadOnlyFile.java @@ -36,7 +36,7 @@ * @summary Verify error when starting with read-only file. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jcmd.TestJcmdStartReadOnlyFile */ public class TestJcmdStartReadOnlyFile { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdStartStopDefault.java b/jdk/test/jdk/jfr/jcmd/TestJcmdStartStopDefault.java index d8ca538535a..3422d216bde 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdStartStopDefault.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdStartStopDefault.java @@ -39,7 +39,7 @@ * @summary Start a recording without name. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jcmd.TestJcmdStartStopDefault */ public class TestJcmdStartStopDefault { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdStartWithOptions.java b/jdk/test/jdk/jfr/jcmd/TestJcmdStartWithOptions.java index f80cfeff339..d6a3c4434d4 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdStartWithOptions.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdStartWithOptions.java @@ -37,7 +37,7 @@ * @summary The test verifies that recording can be started with options delay|duration|maxage|maxsize * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:+FlightRecorder -XX:FlightRecorderOptions=maxchunksize=2097152 jdk.jfr.jcmd.TestJcmdStartWithOptions */ public class TestJcmdStartWithOptions { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdStartWithSettings.java b/jdk/test/jdk/jfr/jcmd/TestJcmdStartWithSettings.java index 976cde81045..19f5f930461 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdStartWithSettings.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdStartWithSettings.java @@ -40,7 +40,7 @@ * @summary The test verifies that recording can be started with setting file(s) * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jcmd.TestJcmdStartWithSettings */ public class TestJcmdStartWithSettings { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdStopInvalidFile.java b/jdk/test/jdk/jfr/jcmd/TestJcmdStopInvalidFile.java index e3212d35b67..1fac204b1e8 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdStopInvalidFile.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdStopInvalidFile.java @@ -32,7 +32,7 @@ * @summary Verify error when stopping with invalid file. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jcmd.TestJcmdStopInvalidFile */ public class TestJcmdStopInvalidFile { diff --git a/jdk/test/jdk/jfr/jcmd/TestJcmdStopReadOnlyFile.java b/jdk/test/jdk/jfr/jcmd/TestJcmdStopReadOnlyFile.java index 2ede1ef33ae..bb88520d99b 100644 --- a/jdk/test/jdk/jfr/jcmd/TestJcmdStopReadOnlyFile.java +++ b/jdk/test/jdk/jfr/jcmd/TestJcmdStopReadOnlyFile.java @@ -36,7 +36,7 @@ * @summary Verify error when stopping with read-only file. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jcmd.TestJcmdStopReadOnlyFile */ public class TestJcmdStopReadOnlyFile { diff --git a/jdk/test/jdk/jfr/jmx/TestClone.java b/jdk/test/jdk/jfr/jmx/TestClone.java index d50b679fd47..7b1fae852bf 100644 --- a/jdk/test/jdk/jfr/jmx/TestClone.java +++ b/jdk/test/jdk/jfr/jmx/TestClone.java @@ -44,7 +44,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestClone */ public class TestClone { diff --git a/jdk/test/jdk/jfr/jmx/TestCloneRepeat.java b/jdk/test/jdk/jfr/jmx/TestCloneRepeat.java index d8546837f0e..8d2d6c26b35 100644 --- a/jdk/test/jdk/jfr/jmx/TestCloneRepeat.java +++ b/jdk/test/jdk/jfr/jmx/TestCloneRepeat.java @@ -43,7 +43,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestCloneRepeat */ public class TestCloneRepeat { diff --git a/jdk/test/jdk/jfr/jmx/TestConfigurationInfo.java b/jdk/test/jdk/jfr/jmx/TestConfigurationInfo.java index 4b9f2e92448..499d9508773 100644 --- a/jdk/test/jdk/jfr/jmx/TestConfigurationInfo.java +++ b/jdk/test/jdk/jfr/jmx/TestConfigurationInfo.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestConfigurationInfo */ public class TestConfigurationInfo { diff --git a/jdk/test/jdk/jfr/jmx/TestCopyTo.java b/jdk/test/jdk/jfr/jmx/TestCopyTo.java index 54bc791a6d1..7e3e41f62c9 100644 --- a/jdk/test/jdk/jfr/jmx/TestCopyTo.java +++ b/jdk/test/jdk/jfr/jmx/TestCopyTo.java @@ -39,7 +39,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestCopyTo */ public class TestCopyTo { diff --git a/jdk/test/jdk/jfr/jmx/TestCopyToInvalidPath.java b/jdk/test/jdk/jfr/jmx/TestCopyToInvalidPath.java index 7d8e4f37aef..ba14bdb9e01 100644 --- a/jdk/test/jdk/jfr/jmx/TestCopyToInvalidPath.java +++ b/jdk/test/jdk/jfr/jmx/TestCopyToInvalidPath.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestCopyToInvalidPath */ public class TestCopyToInvalidPath { diff --git a/jdk/test/jdk/jfr/jmx/TestCopyToReadOnlyDir.java b/jdk/test/jdk/jfr/jmx/TestCopyToReadOnlyDir.java index 51efe66e9d2..39735ff4b7a 100644 --- a/jdk/test/jdk/jfr/jmx/TestCopyToReadOnlyDir.java +++ b/jdk/test/jdk/jfr/jmx/TestCopyToReadOnlyDir.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestCopyToReadOnlyDir */ public class TestCopyToReadOnlyDir { diff --git a/jdk/test/jdk/jfr/jmx/TestCopyToRunning.java b/jdk/test/jdk/jfr/jmx/TestCopyToRunning.java index df41634c42b..363c319847b 100644 --- a/jdk/test/jdk/jfr/jmx/TestCopyToRunning.java +++ b/jdk/test/jdk/jfr/jmx/TestCopyToRunning.java @@ -43,7 +43,7 @@ * @key jfr * @summary Copy a recording to file while it is running. * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestCopyToRunning */ public class TestCopyToRunning { diff --git a/jdk/test/jdk/jfr/jmx/TestEventTypes.java b/jdk/test/jdk/jfr/jmx/TestEventTypes.java index 2a20c43a4e4..6e34ad38912 100644 --- a/jdk/test/jdk/jfr/jmx/TestEventTypes.java +++ b/jdk/test/jdk/jfr/jmx/TestEventTypes.java @@ -47,7 +47,7 @@ * @key jfr * @summary Verifies that EventTypes from jmx and FlightRecorder are the same. * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestEventTypes */ public class TestEventTypes { diff --git a/jdk/test/jdk/jfr/jmx/TestGetRecordings.java b/jdk/test/jdk/jfr/jmx/TestGetRecordings.java index 71083690bc9..6f33cf4a7f9 100644 --- a/jdk/test/jdk/jfr/jmx/TestGetRecordings.java +++ b/jdk/test/jdk/jfr/jmx/TestGetRecordings.java @@ -34,7 +34,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestGetRecordings */ public class TestGetRecordings { diff --git a/jdk/test/jdk/jfr/jmx/TestGetRecordingsMultiple.java b/jdk/test/jdk/jfr/jmx/TestGetRecordingsMultiple.java index 4817a1fe06d..79245f4f115 100644 --- a/jdk/test/jdk/jfr/jmx/TestGetRecordingsMultiple.java +++ b/jdk/test/jdk/jfr/jmx/TestGetRecordingsMultiple.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestGetRecordingsMultiple */ public class TestGetRecordingsMultiple { diff --git a/jdk/test/jdk/jfr/jmx/TestMultipleRecordings.java b/jdk/test/jdk/jfr/jmx/TestMultipleRecordings.java index dd05232d47c..e902e85b632 100644 --- a/jdk/test/jdk/jfr/jmx/TestMultipleRecordings.java +++ b/jdk/test/jdk/jfr/jmx/TestMultipleRecordings.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestMultipleRecordings */ public class TestMultipleRecordings { diff --git a/jdk/test/jdk/jfr/jmx/TestNotificationListener.java b/jdk/test/jdk/jfr/jmx/TestNotificationListener.java index 09b6cbd3929..c1daa731463 100644 --- a/jdk/test/jdk/jfr/jmx/TestNotificationListener.java +++ b/jdk/test/jdk/jfr/jmx/TestNotificationListener.java @@ -37,7 +37,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestNotificationListener */ public class TestNotificationListener { diff --git a/jdk/test/jdk/jfr/jmx/TestPredefinedConfiguration.java b/jdk/test/jdk/jfr/jmx/TestPredefinedConfiguration.java index 2d7d6f21c10..21e5b890d98 100644 --- a/jdk/test/jdk/jfr/jmx/TestPredefinedConfiguration.java +++ b/jdk/test/jdk/jfr/jmx/TestPredefinedConfiguration.java @@ -37,7 +37,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestPredefinedConfiguration */ public class TestPredefinedConfiguration { diff --git a/jdk/test/jdk/jfr/jmx/TestPredefinedConfigurationInvalid.java b/jdk/test/jdk/jfr/jmx/TestPredefinedConfigurationInvalid.java index f1a462e537b..7292b2fd2c8 100644 --- a/jdk/test/jdk/jfr/jmx/TestPredefinedConfigurationInvalid.java +++ b/jdk/test/jdk/jfr/jmx/TestPredefinedConfigurationInvalid.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestPredefinedConfigurationInvalid */ public class TestPredefinedConfigurationInvalid { diff --git a/jdk/test/jdk/jfr/jmx/TestRecordingOptions.java b/jdk/test/jdk/jfr/jmx/TestRecordingOptions.java index 37e09111c79..a63d9c45821 100644 --- a/jdk/test/jdk/jfr/jmx/TestRecordingOptions.java +++ b/jdk/test/jdk/jfr/jmx/TestRecordingOptions.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestRecordingOptions */ public class TestRecordingOptions { diff --git a/jdk/test/jdk/jfr/jmx/TestRecordingSettings.java b/jdk/test/jdk/jfr/jmx/TestRecordingSettings.java index 9365964592c..2de45f9410c 100644 --- a/jdk/test/jdk/jfr/jmx/TestRecordingSettings.java +++ b/jdk/test/jdk/jfr/jmx/TestRecordingSettings.java @@ -37,7 +37,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestRecordingSettings */ public class TestRecordingSettings { diff --git a/jdk/test/jdk/jfr/jmx/TestRecordingSettingsInvalid.java b/jdk/test/jdk/jfr/jmx/TestRecordingSettingsInvalid.java index af787c883a5..a418e6ce86e 100644 --- a/jdk/test/jdk/jfr/jmx/TestRecordingSettingsInvalid.java +++ b/jdk/test/jdk/jfr/jmx/TestRecordingSettingsInvalid.java @@ -36,7 +36,7 @@ * @key jfr * @summary Verify exception when setting invalid settings. * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestRecordingSettingsInvalid */ public class TestRecordingSettingsInvalid { diff --git a/jdk/test/jdk/jfr/jmx/TestRecordingSettingsMultiple.java b/jdk/test/jdk/jfr/jmx/TestRecordingSettingsMultiple.java index 2f5838d2b77..615c6b0cc0a 100644 --- a/jdk/test/jdk/jfr/jmx/TestRecordingSettingsMultiple.java +++ b/jdk/test/jdk/jfr/jmx/TestRecordingSettingsMultiple.java @@ -34,7 +34,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestRecordingSettingsMultiple */ public class TestRecordingSettingsMultiple { diff --git a/jdk/test/jdk/jfr/jmx/TestRecordingState.java b/jdk/test/jdk/jfr/jmx/TestRecordingState.java index 603cb6be357..1e69b8656ef 100644 --- a/jdk/test/jdk/jfr/jmx/TestRecordingState.java +++ b/jdk/test/jdk/jfr/jmx/TestRecordingState.java @@ -35,7 +35,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestRecordingState */ public class TestRecordingState { diff --git a/jdk/test/jdk/jfr/jmx/TestRecordingStateInvalid.java b/jdk/test/jdk/jfr/jmx/TestRecordingStateInvalid.java index d1d2bbae9d1..920fcc53464 100644 --- a/jdk/test/jdk/jfr/jmx/TestRecordingStateInvalid.java +++ b/jdk/test/jdk/jfr/jmx/TestRecordingStateInvalid.java @@ -37,7 +37,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestRecordingStateInvalid */ public class TestRecordingStateInvalid { diff --git a/jdk/test/jdk/jfr/jmx/TestSetConfiguration.java b/jdk/test/jdk/jfr/jmx/TestSetConfiguration.java index 013cfe8d4e6..6b916ed0bb2 100644 --- a/jdk/test/jdk/jfr/jmx/TestSetConfiguration.java +++ b/jdk/test/jdk/jfr/jmx/TestSetConfiguration.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestSetConfiguration */ public class TestSetConfiguration { diff --git a/jdk/test/jdk/jfr/jmx/TestSetConfigurationInvalid.java b/jdk/test/jdk/jfr/jmx/TestSetConfigurationInvalid.java index 89f92ab682d..928d2916ced 100644 --- a/jdk/test/jdk/jfr/jmx/TestSetConfigurationInvalid.java +++ b/jdk/test/jdk/jfr/jmx/TestSetConfigurationInvalid.java @@ -39,7 +39,7 @@ * @key jfr * @summary Verify Exception when setting invalid config. * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestSetConfigurationInvalid */ public class TestSetConfigurationInvalid { diff --git a/jdk/test/jdk/jfr/jmx/TestSnapshot.java b/jdk/test/jdk/jfr/jmx/TestSnapshot.java index 21ca15c34f5..095abb4bc19 100644 --- a/jdk/test/jdk/jfr/jmx/TestSnapshot.java +++ b/jdk/test/jdk/jfr/jmx/TestSnapshot.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestSnapshot */ public class TestSnapshot { diff --git a/jdk/test/jdk/jfr/jmx/TestStartRecording.java b/jdk/test/jdk/jfr/jmx/TestStartRecording.java index 4a3b19e4d15..bc05a832144 100644 --- a/jdk/test/jdk/jfr/jmx/TestStartRecording.java +++ b/jdk/test/jdk/jfr/jmx/TestStartRecording.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestStartRecording */ public class TestStartRecording { diff --git a/jdk/test/jdk/jfr/jmx/TestStream.java b/jdk/test/jdk/jfr/jmx/TestStream.java index f2c8ec5887a..e57e6d2e4ce 100644 --- a/jdk/test/jdk/jfr/jmx/TestStream.java +++ b/jdk/test/jdk/jfr/jmx/TestStream.java @@ -39,7 +39,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestStream */ public class TestStream { diff --git a/jdk/test/jdk/jfr/jmx/TestStreamClosed.java b/jdk/test/jdk/jfr/jmx/TestStreamClosed.java index f9df6c6b988..231a411ee26 100644 --- a/jdk/test/jdk/jfr/jmx/TestStreamClosed.java +++ b/jdk/test/jdk/jfr/jmx/TestStreamClosed.java @@ -36,7 +36,7 @@ * @key jfr * @summary Call readStream() after closeStream() * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestStreamClosed */ public class TestStreamClosed { diff --git a/jdk/test/jdk/jfr/jmx/TestStreamMultiple.java b/jdk/test/jdk/jfr/jmx/TestStreamMultiple.java index 7a04ab77185..410f257d15e 100644 --- a/jdk/test/jdk/jfr/jmx/TestStreamMultiple.java +++ b/jdk/test/jdk/jfr/jmx/TestStreamMultiple.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestStreamMultiple */ public class TestStreamMultiple { diff --git a/jdk/test/jdk/jfr/jmx/TestWrongId.java b/jdk/test/jdk/jfr/jmx/TestWrongId.java index ccfd6c38aa0..134619a68b7 100644 --- a/jdk/test/jdk/jfr/jmx/TestWrongId.java +++ b/jdk/test/jdk/jfr/jmx/TestWrongId.java @@ -37,7 +37,7 @@ * @key jfr * @summary Call functions with invalid argument id. Verify Exception. * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.TestWrongId */ public class TestWrongId { diff --git a/jdk/test/jdk/jfr/jmx/info/TestConfigurationInfo.java b/jdk/test/jdk/jfr/jmx/info/TestConfigurationInfo.java index cd98e6e720c..77d0c69aed5 100644 --- a/jdk/test/jdk/jfr/jmx/info/TestConfigurationInfo.java +++ b/jdk/test/jdk/jfr/jmx/info/TestConfigurationInfo.java @@ -41,7 +41,7 @@ * @key jfr * @summary Test for ConfigurationInfo. Compare infos from java API and jmx API. * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.info.TestConfigurationInfo */ public class TestConfigurationInfo { diff --git a/jdk/test/jdk/jfr/jmx/info/TestEventTypeInfo.java b/jdk/test/jdk/jfr/jmx/info/TestEventTypeInfo.java index c5a26c50a36..fad76d46e79 100644 --- a/jdk/test/jdk/jfr/jmx/info/TestEventTypeInfo.java +++ b/jdk/test/jdk/jfr/jmx/info/TestEventTypeInfo.java @@ -43,7 +43,7 @@ * @key jfr * @summary Test for EventTypeInfo * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.info.TestEventTypeInfo */ public class TestEventTypeInfo { diff --git a/jdk/test/jdk/jfr/jmx/info/TestRecordingInfo.java b/jdk/test/jdk/jfr/jmx/info/TestRecordingInfo.java index f119d03b283..74c83064492 100644 --- a/jdk/test/jdk/jfr/jmx/info/TestRecordingInfo.java +++ b/jdk/test/jdk/jfr/jmx/info/TestRecordingInfo.java @@ -43,7 +43,7 @@ * @key jfr * @summary Test for RecordingInfo * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.info.TestRecordingInfo */ public class TestRecordingInfo { diff --git a/jdk/test/jdk/jfr/jmx/info/TestSettingDescriptorInfo.java b/jdk/test/jdk/jfr/jmx/info/TestSettingDescriptorInfo.java index b68c2c89eb4..f6da5fd56f0 100644 --- a/jdk/test/jdk/jfr/jmx/info/TestSettingDescriptorInfo.java +++ b/jdk/test/jdk/jfr/jmx/info/TestSettingDescriptorInfo.java @@ -42,7 +42,7 @@ * @key jfr * @summary Test for SettingDescriptorInfo. Compare infos from java API and jmx API. * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jmx.info.TestSettingDescriptorInfo */ public class TestSettingDescriptorInfo { diff --git a/jdk/test/jdk/jfr/jmx/security/TestEnoughPermission.java b/jdk/test/jdk/jfr/jmx/security/TestEnoughPermission.java index 5fc80b54543..a455ace2913 100644 --- a/jdk/test/jdk/jfr/jmx/security/TestEnoughPermission.java +++ b/jdk/test/jdk/jfr/jmx/security/TestEnoughPermission.java @@ -40,7 +40,7 @@ * @key jfr * @summary Test with minimal needed permissions. All functions should work. * - * @library /lib / + * @library /test/lib / * @run main/othervm/secure=java.lang.SecurityManager/java.security.policy=enough.policy jdk.jfr.jmx.security.TestEnoughPermission */ public class TestEnoughPermission { diff --git a/jdk/test/jdk/jfr/jmx/security/TestNoControlPermission.java b/jdk/test/jdk/jfr/jmx/security/TestNoControlPermission.java index a6f0f4f7436..6522ea3ac1d 100644 --- a/jdk/test/jdk/jfr/jmx/security/TestNoControlPermission.java +++ b/jdk/test/jdk/jfr/jmx/security/TestNoControlPermission.java @@ -36,7 +36,7 @@ * @key jfr * @summary Verify we get SecurityExceptions when missing management permission "control". * - * @library /lib / + * @library /test/lib / * @run main/othervm/secure=java.lang.SecurityManager/java.security.policy=nocontrol.policy jdk.jfr.jmx.security.TestNoControlPermission */ public class TestNoControlPermission { diff --git a/jdk/test/jdk/jfr/jmx/security/TestNoMonitorPermission.java b/jdk/test/jdk/jfr/jmx/security/TestNoMonitorPermission.java index 91eaedd70f3..35faae324bb 100644 --- a/jdk/test/jdk/jfr/jmx/security/TestNoMonitorPermission.java +++ b/jdk/test/jdk/jfr/jmx/security/TestNoMonitorPermission.java @@ -36,7 +36,7 @@ * @key jfr * @summary Verify we get SecurityExceptions when missing management permission "monitor". * - * @library /lib / + * @library /test/lib / * @run main/othervm/secure=java.lang.SecurityManager/java.security.policy=nomonitor.policy jdk.jfr.jmx.security.TestNoMonitorPermission */ public class TestNoMonitorPermission { diff --git a/jdk/test/jdk/jfr/jmx/security/TestNotificationListenerPermission.java b/jdk/test/jdk/jfr/jmx/security/TestNotificationListenerPermission.java index 11f32f41c7e..d3f4418dc2e 100644 --- a/jdk/test/jdk/jfr/jmx/security/TestNotificationListenerPermission.java +++ b/jdk/test/jdk/jfr/jmx/security/TestNotificationListenerPermission.java @@ -42,7 +42,7 @@ * @key jfr * @summary Test with minimal needed permissions. All functions should work. * - * @library /lib / + * @library /test/lib / * @run main/othervm/secure=java.lang.SecurityManager/java.security.policy=listener.policy jdk.jfr.jmx.security.TestNotificationListenerPermission */ public class TestNotificationListenerPermission { diff --git a/jdk/test/jdk/jfr/jvm/TestClassId.java b/jdk/test/jdk/jfr/jvm/TestClassId.java index 2dd4a3d0f49..870c310fe86 100644 --- a/jdk/test/jdk/jfr/jvm/TestClassId.java +++ b/jdk/test/jdk/jfr/jvm/TestClassId.java @@ -35,7 +35,7 @@ * @test TestClassId * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.jvm.TestClassId */ diff --git a/jdk/test/jdk/jfr/jvm/TestCounterTime.java b/jdk/test/jdk/jfr/jvm/TestCounterTime.java index 0962a00230f..8690d5e3f8e 100644 --- a/jdk/test/jdk/jfr/jvm/TestCounterTime.java +++ b/jdk/test/jdk/jfr/jvm/TestCounterTime.java @@ -33,7 +33,7 @@ * @test TestCounterTime * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.jvm.TestCounterTime */ diff --git a/jdk/test/jdk/jfr/jvm/TestCreateNative.java b/jdk/test/jdk/jfr/jvm/TestCreateNative.java index f9a3f5157ee..2444345f8ab 100644 --- a/jdk/test/jdk/jfr/jvm/TestCreateNative.java +++ b/jdk/test/jdk/jfr/jvm/TestCreateNative.java @@ -35,7 +35,7 @@ * @summary Checks that the JVM can rollback on native initialization failures. * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.jvm.TestCreateNative */ diff --git a/jdk/test/jdk/jfr/jvm/TestDumpOnCrash.java b/jdk/test/jdk/jfr/jvm/TestDumpOnCrash.java index b471cfd1603..ea4379c35d4 100644 --- a/jdk/test/jdk/jfr/jvm/TestDumpOnCrash.java +++ b/jdk/test/jdk/jfr/jvm/TestDumpOnCrash.java @@ -44,7 +44,7 @@ * @summary Verifies that data associated with a running recording can be evacuated to an hs_err_pidXXX.jfr when the VM crashes * * - * @library /lib / + * @library /test/lib / * * diff --git a/jdk/test/jdk/jfr/jvm/TestGetAllEventClasses.java b/jdk/test/jdk/jfr/jvm/TestGetAllEventClasses.java index 0d6e20f2b81..5d739a0513e 100644 --- a/jdk/test/jdk/jfr/jvm/TestGetAllEventClasses.java +++ b/jdk/test/jdk/jfr/jvm/TestGetAllEventClasses.java @@ -34,7 +34,7 @@ * @test TestGetAllEventClasses * @key jfr * - * @library /lib / + * @library /test/lib / * * * @build jdk.jfr.jvm.HelloWorldEvent1 diff --git a/jdk/test/jdk/jfr/jvm/TestGetEventWriter.java b/jdk/test/jdk/jfr/jvm/TestGetEventWriter.java index 03293623584..3696ad08360 100644 --- a/jdk/test/jdk/jfr/jvm/TestGetEventWriter.java +++ b/jdk/test/jdk/jfr/jvm/TestGetEventWriter.java @@ -34,7 +34,7 @@ * @test TestGetEventWriter * @key jfr * - * @library /lib / + * @library /test/lib / * * * @run main/othervm jdk.jfr.jvm.TestGetEventWriter diff --git a/jdk/test/jdk/jfr/jvm/TestGetStackTraceId.java b/jdk/test/jdk/jfr/jvm/TestGetStackTraceId.java index 30aae4b7851..c4cf3ff5be9 100644 --- a/jdk/test/jdk/jfr/jvm/TestGetStackTraceId.java +++ b/jdk/test/jdk/jfr/jvm/TestGetStackTraceId.java @@ -33,7 +33,7 @@ * @test TestGetStackTraceId * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.jvm.TestGetStackTraceId */ diff --git a/jdk/test/jdk/jfr/jvm/TestJFRIntrinsic.java b/jdk/test/jdk/jfr/jvm/TestJFRIntrinsic.java index be41df51eca..01abf3040c8 100644 --- a/jdk/test/jdk/jfr/jvm/TestJFRIntrinsic.java +++ b/jdk/test/jdk/jfr/jvm/TestJFRIntrinsic.java @@ -28,7 +28,7 @@ * @summary Intrinsic for JFR * @key jfr * - * @library /lib / + * @library /test/lib / * * * diff --git a/jdk/test/jdk/jfr/jvm/TestJavaEvent.java b/jdk/test/jdk/jfr/jvm/TestJavaEvent.java index 635da6f6be1..093d6b6ec30 100644 --- a/jdk/test/jdk/jfr/jvm/TestJavaEvent.java +++ b/jdk/test/jdk/jfr/jvm/TestJavaEvent.java @@ -45,7 +45,7 @@ * @test TestGetThreadId * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.jvm.TestJavaEvent */ diff --git a/jdk/test/jdk/jfr/jvm/TestLargeJavaEvent512k.java b/jdk/test/jdk/jfr/jvm/TestLargeJavaEvent512k.java index bd86c87a47a..de309dac1cd 100644 --- a/jdk/test/jdk/jfr/jvm/TestLargeJavaEvent512k.java +++ b/jdk/test/jdk/jfr/jvm/TestLargeJavaEvent512k.java @@ -47,7 +47,7 @@ * @test TestLargeJavaEvent512k * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.jvm.TestLargeJavaEvent512k */ diff --git a/jdk/test/jdk/jfr/jvm/TestLargeJavaEvent64k.java b/jdk/test/jdk/jfr/jvm/TestLargeJavaEvent64k.java index c48762ac28a..2a5e4b3cbc2 100644 --- a/jdk/test/jdk/jfr/jvm/TestLargeJavaEvent64k.java +++ b/jdk/test/jdk/jfr/jvm/TestLargeJavaEvent64k.java @@ -47,7 +47,7 @@ * @test TestLargeJavaEvent64k * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.jvm.TestLargeJavaEvent64k */ diff --git a/jdk/test/jdk/jfr/jvm/TestLogImplementation.java b/jdk/test/jdk/jfr/jvm/TestLogImplementation.java index 3a928adcb2d..50ccf313b9b 100644 --- a/jdk/test/jdk/jfr/jvm/TestLogImplementation.java +++ b/jdk/test/jdk/jfr/jvm/TestLogImplementation.java @@ -34,7 +34,7 @@ * @test TestLogImplementation * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.jvm.TestLogImplementation */ diff --git a/jdk/test/jdk/jfr/jvm/TestPid.java b/jdk/test/jdk/jfr/jvm/TestPid.java index 5cd83cda0d0..92b981cd161 100644 --- a/jdk/test/jdk/jfr/jvm/TestPid.java +++ b/jdk/test/jdk/jfr/jvm/TestPid.java @@ -34,7 +34,7 @@ * @test TestPid * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/othervm jdk.jfr.jvm.TestPid */ diff --git a/jdk/test/jdk/jfr/jvm/TestPrimitiveClasses.java b/jdk/test/jdk/jfr/jvm/TestPrimitiveClasses.java index a555b18dd74..ef38d6b56e8 100644 --- a/jdk/test/jdk/jfr/jvm/TestPrimitiveClasses.java +++ b/jdk/test/jdk/jfr/jvm/TestPrimitiveClasses.java @@ -35,7 +35,7 @@ /** * @test TestPrimitiveClasses * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.jvm.TestPrimitiveClasses */ public class TestPrimitiveClasses { diff --git a/jdk/test/jdk/jfr/jvm/TestUnloadEventClassCount.java b/jdk/test/jdk/jfr/jvm/TestUnloadEventClassCount.java index c5987fc79b0..47fea5c3cf6 100644 --- a/jdk/test/jdk/jfr/jvm/TestUnloadEventClassCount.java +++ b/jdk/test/jdk/jfr/jvm/TestUnloadEventClassCount.java @@ -38,7 +38,7 @@ * @summary Unit test for JVM#getUnloadedEventClassCount * * - * @library /lib / + * @library /test/lib / * * * @run main/othervm -XX:+PrintGCDetails -XX:+PrintGC -verbose:class -Xmx16m jdk.jfr.jvm.TestUnloadEventClassCount diff --git a/jdk/test/jdk/jfr/jvm/TestUnsupportedVM.java b/jdk/test/jdk/jfr/jvm/TestUnsupportedVM.java index c2485d74689..5b5a4245e4e 100644 --- a/jdk/test/jdk/jfr/jvm/TestUnsupportedVM.java +++ b/jdk/test/jdk/jfr/jvm/TestUnsupportedVM.java @@ -71,7 +71,7 @@ * * * - * @library /lib / + * @library /test/lib / * @run main/othervm -Dprepare-recording=true jdk.jfr.jvm.TestUnsupportedVM * @run main/othervm -Djfr.unsupported.vm=true jdk.jfr.jvm.TestUnsupportedVM */ diff --git a/jdk/test/jdk/jfr/security/JFRSecurityTestSuite.java b/jdk/test/jdk/jfr/security/JFRSecurityTestSuite.java index 0c5eb4f7e99..d67dbdbbb40 100644 --- a/jdk/test/jdk/jfr/security/JFRSecurityTestSuite.java +++ b/jdk/test/jdk/jfr/security/JFRSecurityTestSuite.java @@ -68,7 +68,7 @@ /* * @test * @requires (jdk.version.major >= 8) - * @library /lib / + * @library /test/lib / * @key jfr * @run main/othervm/timeout=30 -XX:+FlightRecorder -XX:StartFlightRecording JFRSecurityTestSuite * @author Martin Balao (mbalao@redhat.com) diff --git a/jdk/test/jdk/jfr/startupargs/TestBadOptionValues.java b/jdk/test/jdk/jfr/startupargs/TestBadOptionValues.java index 4744178499e..b457e9d7c3b 100644 --- a/jdk/test/jdk/jfr/startupargs/TestBadOptionValues.java +++ b/jdk/test/jdk/jfr/startupargs/TestBadOptionValues.java @@ -35,7 +35,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * diff --git a/jdk/test/jdk/jfr/startupargs/TestDumpOnExit.java b/jdk/test/jdk/jfr/startupargs/TestDumpOnExit.java index 312c70d41eb..85fde363fef 100644 --- a/jdk/test/jdk/jfr/startupargs/TestDumpOnExit.java +++ b/jdk/test/jdk/jfr/startupargs/TestDumpOnExit.java @@ -43,7 +43,7 @@ * @summary Start a FlightRecording with dumponexit. Verify dump exists. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.startupargs.TestDumpOnExit */ public class TestDumpOnExit { diff --git a/jdk/test/jdk/jfr/startupargs/TestMemoryOptions.java b/jdk/test/jdk/jfr/startupargs/TestMemoryOptions.java index 934a0b97538..31725449749 100644 --- a/jdk/test/jdk/jfr/startupargs/TestMemoryOptions.java +++ b/jdk/test/jdk/jfr/startupargs/TestMemoryOptions.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * * @run main/timeout=900 jdk.jfr.startupargs.TestMemoryOptions */ diff --git a/jdk/test/jdk/jfr/startupargs/TestMultipleStartupRecordings.java b/jdk/test/jdk/jfr/startupargs/TestMultipleStartupRecordings.java index 4c156c8cfcf..174794ab298 100644 --- a/jdk/test/jdk/jfr/startupargs/TestMultipleStartupRecordings.java +++ b/jdk/test/jdk/jfr/startupargs/TestMultipleStartupRecordings.java @@ -34,7 +34,7 @@ * @key jfr * * - * @library /lib / + * @library /test/lib / * * @run main jdk.jfr.startupargs.TestMultipleStartupRecordings */ diff --git a/jdk/test/jdk/jfr/startupargs/TestOldObjectQueueSize.java b/jdk/test/jdk/jfr/startupargs/TestOldObjectQueueSize.java index 6af49232a53..1c6ed4cece6 100644 --- a/jdk/test/jdk/jfr/startupargs/TestOldObjectQueueSize.java +++ b/jdk/test/jdk/jfr/startupargs/TestOldObjectQueueSize.java @@ -39,7 +39,7 @@ * @summary Test -XX:FlightRecorderOptions=old-object-queue-size * * - * @library /lib / + * @library /test/lib / * @key jfr * * @run main/othervm -XX:TLABSize=2k -XX:-FastTLABRefill -XX:FlightRecorderOptions=old-object-queue-size=0 jdk.jfr.startupargs.TestOldObjectQueueSize off diff --git a/jdk/test/jdk/jfr/startupargs/TestRepositoryPath.java b/jdk/test/jdk/jfr/startupargs/TestRepositoryPath.java index 56deefc611f..3df0a36d91a 100644 --- a/jdk/test/jdk/jfr/startupargs/TestRepositoryPath.java +++ b/jdk/test/jdk/jfr/startupargs/TestRepositoryPath.java @@ -36,7 +36,7 @@ * @summary Set repository path. Verify recording created in repo. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:StartFlightRecording=name=TestStartRecording,settings=profile -XX:FlightRecorderOptions=repository=./repo jdk.jfr.startupargs.TestRepositoryPath */ public class TestRepositoryPath { diff --git a/jdk/test/jdk/jfr/startupargs/TestRepositoryPathLong.java b/jdk/test/jdk/jfr/startupargs/TestRepositoryPathLong.java index 5a5176c56e3..72bb60ed90d 100644 --- a/jdk/test/jdk/jfr/startupargs/TestRepositoryPathLong.java +++ b/jdk/test/jdk/jfr/startupargs/TestRepositoryPathLong.java @@ -36,7 +36,7 @@ * @summary Set repository path. Verify recording created in repo. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:StartFlightRecording=name=myrec,settings=profile -XX:FlightRecorderOptions=repository=./subdirectory/subdirectory1/subdirectory2/subdirectory3/subdirectory4/subdirectory5/subdirectory6/subdirectory7/subdirectory8/subdirectory9/subdirectory10/subdirectory11/subdirectory12/subdirectory13/subdirectory14/subdirectory15 jdk.jfr.startupargs.TestRepositoryPathLong */ public class TestRepositoryPathLong { diff --git a/jdk/test/jdk/jfr/startupargs/TestRetransform.java b/jdk/test/jdk/jfr/startupargs/TestRetransform.java index 3703f276efa..af8f3083684 100644 --- a/jdk/test/jdk/jfr/startupargs/TestRetransform.java +++ b/jdk/test/jdk/jfr/startupargs/TestRetransform.java @@ -36,7 +36,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:FlightRecorderOptions=retransform=false jdk.jfr.startupargs.TestRetransform * @run main/othervm -XX:FlightRecorderOptions=retransform=true jdk.jfr.startupargs.TestRetransform */ diff --git a/jdk/test/jdk/jfr/startupargs/TestRetransformUsingLog.java b/jdk/test/jdk/jfr/startupargs/TestRetransformUsingLog.java index c7aefbb9405..65e788c07de 100644 --- a/jdk/test/jdk/jfr/startupargs/TestRetransformUsingLog.java +++ b/jdk/test/jdk/jfr/startupargs/TestRetransformUsingLog.java @@ -38,7 +38,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.startupargs.TestRetransformUsingLog */ public class TestRetransformUsingLog { diff --git a/jdk/test/jdk/jfr/startupargs/TestStartDelay.java b/jdk/test/jdk/jfr/startupargs/TestStartDelay.java index bd00da2e978..5fe8c26765e 100644 --- a/jdk/test/jdk/jfr/startupargs/TestStartDelay.java +++ b/jdk/test/jdk/jfr/startupargs/TestStartDelay.java @@ -38,7 +38,7 @@ * @summary Start a recording with delay. Verify recording starts later. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:StartFlightRecording=name=TestStartDelay,delay=5000s jdk.jfr.startupargs.TestStartDelay */ public class TestStartDelay { diff --git a/jdk/test/jdk/jfr/startupargs/TestStartDelayRunning.java b/jdk/test/jdk/jfr/startupargs/TestStartDelayRunning.java index 97af7fb211a..5e649514759 100644 --- a/jdk/test/jdk/jfr/startupargs/TestStartDelayRunning.java +++ b/jdk/test/jdk/jfr/startupargs/TestStartDelayRunning.java @@ -37,7 +37,7 @@ * @summary Verify that a recopding with a delay is started. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:StartFlightRecording=name=TestStartDelay,delay=1s jdk.jfr.startupargs.TestStartDelayRunning */ public class TestStartDelayRunning { diff --git a/jdk/test/jdk/jfr/startupargs/TestStartDuration.java b/jdk/test/jdk/jfr/startupargs/TestStartDuration.java index 8173a4d9839..b84f00fffb0 100644 --- a/jdk/test/jdk/jfr/startupargs/TestStartDuration.java +++ b/jdk/test/jdk/jfr/startupargs/TestStartDuration.java @@ -39,7 +39,7 @@ * @summary Start a recording with duration. Verify recording stops. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main jdk.jfr.startupargs.TestStartDuration */ public class TestStartDuration { diff --git a/jdk/test/jdk/jfr/startupargs/TestStartMaxAgeSize.java b/jdk/test/jdk/jfr/startupargs/TestStartMaxAgeSize.java index d1b0971b231..6897c2c0056 100644 --- a/jdk/test/jdk/jfr/startupargs/TestStartMaxAgeSize.java +++ b/jdk/test/jdk/jfr/startupargs/TestStartMaxAgeSize.java @@ -37,7 +37,7 @@ * @summary Start a recording with delay. Verify recording starts later. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:StartFlightRecording=name=TestStartMaxAgeSize,maxage=10s,maxsize=1000000 jdk.jfr.startupargs.TestStartMaxAgeSize */ public class TestStartMaxAgeSize { diff --git a/jdk/test/jdk/jfr/startupargs/TestStartName.java b/jdk/test/jdk/jfr/startupargs/TestStartName.java index 1c0e38d5f0f..6d376c7633f 100644 --- a/jdk/test/jdk/jfr/startupargs/TestStartName.java +++ b/jdk/test/jdk/jfr/startupargs/TestStartName.java @@ -34,7 +34,7 @@ * @test * @key jfr * - * @library /lib / + * @library /test/lib / * @run main jdk.jfr.startupargs.TestStartName */ public class TestStartName { diff --git a/jdk/test/jdk/jfr/startupargs/TestStartNoSettings.java b/jdk/test/jdk/jfr/startupargs/TestStartNoSettings.java index 9b452c93325..ce32ccac635 100644 --- a/jdk/test/jdk/jfr/startupargs/TestStartNoSettings.java +++ b/jdk/test/jdk/jfr/startupargs/TestStartNoSettings.java @@ -35,7 +35,7 @@ * @test * @summary Start a FlightRecording without any settings (not even default). * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.startupargs.TestStartNoSettings * -XX:StartFlightRecording=settings=none */ diff --git a/jdk/test/jdk/jfr/startupargs/TestStartRecording.java b/jdk/test/jdk/jfr/startupargs/TestStartRecording.java index 104905c23d2..16abb088fde 100644 --- a/jdk/test/jdk/jfr/startupargs/TestStartRecording.java +++ b/jdk/test/jdk/jfr/startupargs/TestStartRecording.java @@ -37,7 +37,7 @@ * @summary Start a recording with -XX:StartFlightRecording. Dump recording with jcmd. * @key jfr * - * @library /lib / + * @library /test/lib / * @run main/othervm -XX:StartFlightRecording=name=TestStartRecording,settings=profile jdk.jfr.startupargs.TestStartRecording */ public class TestStartRecording { diff --git a/jdk/test/jdk/jfr/tool/TestAssemble.java b/jdk/test/jdk/jfr/tool/TestAssemble.java index e1188c4b212..b2a6c2758b7 100644 --- a/jdk/test/jdk/jfr/tool/TestAssemble.java +++ b/jdk/test/jdk/jfr/tool/TestAssemble.java @@ -45,7 +45,7 @@ * @test * @summary Test jfr reconstruct * @key jfr - * @library /lib / + * @library /test/lib / * @modules jdk.jfr/jdk.jfr.internal * @run main/othervm jdk.jfr.tool.TestAssemble */ diff --git a/jdk/test/jdk/jfr/tool/TestDisassemble.java b/jdk/test/jdk/jfr/tool/TestDisassemble.java index f749cd5f9cf..d73a4f50ea4 100644 --- a/jdk/test/jdk/jfr/tool/TestDisassemble.java +++ b/jdk/test/jdk/jfr/tool/TestDisassemble.java @@ -42,7 +42,7 @@ * @test * @summary Test jfr split * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.tool.TestDisassemble */ public class TestDisassemble { diff --git a/jdk/test/jdk/jfr/tool/TestHelp.java b/jdk/test/jdk/jfr/tool/TestHelp.java index ee5361ab11a..cc7122280eb 100644 --- a/jdk/test/jdk/jfr/tool/TestHelp.java +++ b/jdk/test/jdk/jfr/tool/TestHelp.java @@ -31,7 +31,7 @@ * @test * @summary Test help * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.tool.TestHelp */ public class TestHelp { diff --git a/jdk/test/jdk/jfr/tool/TestMetadata.java b/jdk/test/jdk/jfr/tool/TestMetadata.java index ee953e7738f..151095b245e 100644 --- a/jdk/test/jdk/jfr/tool/TestMetadata.java +++ b/jdk/test/jdk/jfr/tool/TestMetadata.java @@ -35,7 +35,7 @@ * @test * @summary Test jfr info * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.tool.TestMetadata */ public class TestMetadata { diff --git a/jdk/test/jdk/jfr/tool/TestPrint.java b/jdk/test/jdk/jfr/tool/TestPrint.java index 70401c5a392..f1fc42b0e2a 100644 --- a/jdk/test/jdk/jfr/tool/TestPrint.java +++ b/jdk/test/jdk/jfr/tool/TestPrint.java @@ -36,7 +36,7 @@ * @test * @summary Test jfr print * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.tool.TestPrint */ public class TestPrint { diff --git a/jdk/test/jdk/jfr/tool/TestPrintDefault.java b/jdk/test/jdk/jfr/tool/TestPrintDefault.java index 98f6484c87f..a366d563830 100644 --- a/jdk/test/jdk/jfr/tool/TestPrintDefault.java +++ b/jdk/test/jdk/jfr/tool/TestPrintDefault.java @@ -34,7 +34,7 @@ * @key jfr * @summary Tests print --json * - * @library /lib / + * @library /test/lib / * @modules java.scripting * jdk.jfr * diff --git a/jdk/test/jdk/jfr/tool/TestPrintJSON.java b/jdk/test/jdk/jfr/tool/TestPrintJSON.java index 26f5e199af6..4cef144a81c 100644 --- a/jdk/test/jdk/jfr/tool/TestPrintJSON.java +++ b/jdk/test/jdk/jfr/tool/TestPrintJSON.java @@ -49,7 +49,7 @@ * @key jfr * @summary Tests print --json * - * @library /lib / + * @library /test/lib / * @modules jdk.scripting.nashorn * jdk.jfr * diff --git a/jdk/test/jdk/jfr/tool/TestPrintXML.java b/jdk/test/jdk/jfr/tool/TestPrintXML.java index 589c8f4d62b..5e745c95cdd 100644 --- a/jdk/test/jdk/jfr/tool/TestPrintXML.java +++ b/jdk/test/jdk/jfr/tool/TestPrintXML.java @@ -64,7 +64,7 @@ * @key jfr * @summary Tests print --xml * - * @library /lib / + * @library /test/lib / * @modules java.scripting java.xml jdk.jfr * * @run main/othervm jdk.jfr.tool.TestPrintXML diff --git a/jdk/test/jdk/jfr/tool/TestSummary.java b/jdk/test/jdk/jfr/tool/TestSummary.java index b9dc94f178d..505c58f2d9e 100644 --- a/jdk/test/jdk/jfr/tool/TestSummary.java +++ b/jdk/test/jdk/jfr/tool/TestSummary.java @@ -35,7 +35,7 @@ * @test * @summary Test jfr info * @key jfr - * @library /lib / + * @library /test/lib / * @run main/othervm jdk.jfr.tool.TestSummary */ public class TestSummary { diff --git a/jdk/test/jdk/tools/launcher/JliLaunchTest.sh b/jdk/test/jdk/tools/launcher/JliLaunchTest.sh index 8a149ee628e..667ad778fef 100644 --- a/jdk/test/jdk/tools/launcher/JliLaunchTest.sh +++ b/jdk/test/jdk/tools/launcher/JliLaunchTest.sh @@ -2,7 +2,7 @@ # @test JliLaunchTest.sh # @bug 8238225 -# @library /lib +# @library /test/lib # @build JliLaunchTest # @run shell JliLaunchTest.sh diff --git a/jdk/test/lib/RedefineClassHelper.java b/jdk/test/lib/RedefineClassHelper.java deleted file mode 100644 index 2c236907a7a..00000000000 --- a/jdk/test/lib/RedefineClassHelper.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -import java.io.PrintWriter; -import java.lang.instrument.*; -import jdk.test.lib.compiler.InMemoryJavaCompiler; - -/* - * Helper class to write tests that redefine classes. - * When main method is run, it will create a redefineagent.jar that can be used - * with the -javaagent option to support redefining classes in jtreg tests. - * - * See sample test in test/testlibrary_tests/RedefineClassTest.java - */ -public class RedefineClassHelper { - - public static Instrumentation instrumentation; - public static void premain(String agentArgs, Instrumentation inst) { - instrumentation = inst; - } - - /** - * Redefine a class - * - * @param clazz Class to redefine - * @param javacode String with the new java code for the class to be redefined - */ - public static void redefineClass(Class clazz, String javacode) throws Exception { - byte[] bytecode = InMemoryJavaCompiler.compile(clazz.getName(), javacode); - redefineClass(clazz, bytecode); - } - - /** - * Redefine a class - * - * @param clazz Class to redefine - * @param bytecode byte[] with the new class - */ - public static void redefineClass(Class clazz, byte[] bytecode) throws Exception { - instrumentation.redefineClasses(new ClassDefinition(clazz, bytecode)); - } - - /** - * Main method to be invoked before test to create the redefineagent.jar - */ - public static void main(String[] args) throws Exception { - ClassFileInstaller.main("RedefineClassHelper"); - - PrintWriter pw = new PrintWriter("MANIFEST.MF"); - pw.println("Premain-Class: RedefineClassHelper"); - pw.println("Can-Redefine-Classes: true"); - pw.close(); - - sun.tools.jar.Main jarTool = new sun.tools.jar.Main(System.out, System.err, "jar"); - if (!jarTool.run(new String[] { "-cmf", "MANIFEST.MF", "redefineagent.jar", "RedefineClassHelper.class" })) { - throw new Exception("jar operation failed"); - } - } -} diff --git a/jdk/test/lib/jdk/test/lib/SecurityTools.java b/jdk/test/lib/jdk/test/lib/SecurityTools.java deleted file mode 100644 index 240801fb87f..00000000000 --- a/jdk/test/lib/jdk/test/lib/SecurityTools.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package jdk.test.lib; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import jdk.test.lib.process.OutputAnalyzer; -import jdk.test.lib.process.ProcessTools; - -public class SecurityTools { - - public static final String RESPONSE_FILE = "security_tools_response.txt"; - - private static ProcessBuilder getProcessBuilder(String tool, List args) { - JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK(tool) - .addVMArg("-Duser.language=en") - .addVMArg("-Duser.country=US"); - if (!Platform.isWindows()) { - launcher.addVMArg("-Djava.security.egd=file:/dev/./urandom"); - } - for (String arg : args) { - if (arg.startsWith("-J")) { - launcher.addVMArg(arg.substring(2)); - } else { - launcher.addToolArg(arg); - } - } - return new ProcessBuilder(launcher.getCommand()); - } - - // keytool - - public static OutputAnalyzer keytool(List args) - throws Exception { - - ProcessBuilder pb = getProcessBuilder("keytool", args); - - Path p = Paths.get(RESPONSE_FILE); - if (!Files.exists(p)) { - Files.createFile(p); - } - pb.redirectInput(ProcessBuilder.Redirect.from(new File(RESPONSE_FILE))); - - try { - return execute(pb); - } finally { - Files.delete(p); - } - } - - // Only call this if there is no white space in every argument - public static OutputAnalyzer keytool(String args) throws Exception { - return keytool(args.split("\\s+")); - } - - public static OutputAnalyzer keytool(String... args) throws Exception { - return keytool(List.of(args)); - } - - public static void setResponse(String... responses) throws IOException { - String text; - if (responses.length > 0) { - text = Stream.of(responses).collect( - Collectors.joining("\n", "", "\n")); - } else { - text = ""; - } - Files.write(Paths.get(RESPONSE_FILE), text.getBytes()); - } - - // jarsigner - - public static OutputAnalyzer jarsigner(List args) - throws Exception { - return execute(getProcessBuilder("jarsigner", args)); - } - - private static OutputAnalyzer execute(ProcessBuilder pb) throws Exception { - try { - OutputAnalyzer oa = ProcessTools.executeCommand(pb); - System.out.println("Exit value: " + oa.getExitValue()); - return oa; - } catch (Throwable t) { - if (t instanceof Exception) { - throw (Exception) t; - } else { - throw new Exception(t); - } - } - } - - // Only call this if there is no white space in every argument - public static OutputAnalyzer jarsigner(String args) throws Exception { - - return jarsigner(args.split("\\s+")); - } - - public static OutputAnalyzer jarsigner(String... args) throws Exception { - return jarsigner(List.of(args)); - } -} - diff --git a/jdk/test/lib/jdk/test/lib/apps/LingeredApp.java b/jdk/test/lib/jdk/test/lib/apps/LingeredApp.java deleted file mode 100644 index 0070dcfd717..00000000000 --- a/jdk/test/lib/jdk/test/lib/apps/LingeredApp.java +++ /dev/null @@ -1,518 +0,0 @@ -/* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package jdk.test.lib.apps; - -import java.io.BufferedReader; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.StringReader; -import java.nio.file.Files; -import java.nio.file.NoSuchFileException; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.nio.file.attribute.BasicFileAttributes; -import java.nio.file.attribute.FileTime; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; -import java.util.UUID; - -import jdk.test.lib.Utils; -import jdk.test.lib.process.OutputBuffer; -import jdk.test.lib.process.ProcessTools; -import jdk.test.lib.process.StreamPumper; - -/** - * This is a framework to launch an app that could be synchronized with caller - * to make further attach actions reliable across supported platforms - - * Caller example: - * SmartTestApp a = SmartTestApp.startApp(cmd); - * // do something - * a.stopApp(); - * - * or fine grained control - * - * a = new SmartTestApp("MyLock.lck"); - * a.createLock(); - * a.runApp(); - * a.waitAppReady(); - * // do something - * a.deleteLock(); - * a.waitAppTerminate(); - * - * Then you can work with app output and process object - * - * output = a.getAppOutput(); - * process = a.getProcess(); - * - */ -public class LingeredApp { - - private static final long spinDelay = 1000; - - private long lockCreationTime; - private ByteArrayOutputStream stderrBuffer; - private ByteArrayOutputStream stdoutBuffer; - private Thread outPumperThread; - private Thread errPumperThread; - - protected Process appProcess; - protected OutputBuffer output; - protected static final int appWaitTime = 100; - protected final String lockFileName; - - /** - * Create LingeredApp object on caller side. Lock file have be a valid filename - * at writable location - * - * @param lockFileName - the name of lock file - */ - public LingeredApp(String lockFileName) { - this.lockFileName = lockFileName; - } - - public LingeredApp() { - final String lockName = UUID.randomUUID().toString() + ".lck"; - this.lockFileName = lockName; - } - - /** - * - * @return name of lock file - */ - public String getLockFileName() { - return this.lockFileName; - } - - /** - * - * @return name of testapp - */ - public String getAppName() { - return this.getClass().getName(); - } - - /** - * - * @return pid of java process running testapp - */ - public long getPid() { - if (appProcess == null) { - throw new RuntimeException("Process is not alive"); - } - return appProcess.pid(); - } - - /** - * - * @return process object - */ - public Process getProcess() { - return appProcess; - } - - /** - * - * @return OutputBuffer object for the LingeredApp's output. Can only be called - * after LingeredApp has exited. - */ - public OutputBuffer getOutput() { - if (appProcess.isAlive()) { - throw new RuntimeException("Process is still alive. Can't get its output."); - } - if (output == null) { - output = new OutputBuffer(stdoutBuffer.toString(), stderrBuffer.toString()); - } - return output; - } - - /* - * Capture all stdout and stderr output from the LingeredApp so it can be returned - * to the driver app later. This code is modeled after ProcessTools.getOutput(). - */ - private void startOutputPumpers() { - stderrBuffer = new ByteArrayOutputStream(); - stdoutBuffer = new ByteArrayOutputStream(); - StreamPumper outPumper = new StreamPumper(appProcess.getInputStream(), stdoutBuffer); - StreamPumper errPumper = new StreamPumper(appProcess.getErrorStream(), stderrBuffer); - outPumperThread = new Thread(outPumper); - errPumperThread = new Thread(errPumper); - - outPumperThread.setDaemon(true); - errPumperThread.setDaemon(true); - - outPumperThread.start(); - errPumperThread.start(); - } - - /** - * - * @return application output as List. Empty List if application produced no output - */ - public List getAppOutput() { - if (appProcess.isAlive()) { - throw new RuntimeException("Process is still alive. Can't get its output."); - } - BufferedReader bufReader = new BufferedReader(new StringReader(output.getStdout())); - return bufReader.lines().collect(Collectors.toList()); - } - - /* Make sure all part of the app use the same method to get dates, - as different methods could produce different results - */ - private static long epoch() { - return new Date().getTime(); - } - - private static long lastModified(String fileName) throws IOException { - Path path = Paths.get(fileName); - BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class); - return attr.lastModifiedTime().toMillis(); - } - - private static void setLastModified(String fileName, long newTime) throws IOException { - Path path = Paths.get(fileName); - FileTime fileTime = FileTime.fromMillis(newTime); - Files.setLastModifiedTime(path, fileTime); - } - - /** - * create lock - * - * @throws IOException - */ - public void createLock() throws IOException { - Path path = Paths.get(lockFileName); - // Files.deleteIfExists(path); - Files.createFile(path); - lockCreationTime = lastModified(lockFileName); - } - - /** - * Delete lock - * - * @throws IOException - */ - public void deleteLock() throws IOException { - try { - Path path = Paths.get(lockFileName); - Files.delete(path); - } catch (NoSuchFileException ex) { - // Lock already deleted. Ignore error - } - } - - public void waitAppTerminate() { - // This code is modeled after tail end of ProcessTools.getOutput(). - try { - // If the app hangs, we don't want to wait for the to test timeout. - if (!appProcess.waitFor(Utils.adjustTimeout(appWaitTime), TimeUnit.SECONDS)) { - appProcess.destroy(); - appProcess.waitFor(); - } - outPumperThread.join(); - errPumperThread.join(); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - // pass - } - } - - /** - * The app touches the lock file when it's started - * wait while it happens. Caller have to delete lock on wait error. - * - * @param timeout - * @throws java.io.IOException - */ - public void waitAppReady(long timeout) throws IOException { - long here = epoch(); - while (true) { - long epoch = epoch(); - if (epoch - here > (timeout * 1000)) { - throw new IOException("App waiting timeout"); - } - - // Live process should touch lock file every second - long lm = lastModified(lockFileName); - if (lm > lockCreationTime) { - break; - } - - // Make sure process didn't already exit - if (!appProcess.isAlive()) { - throw new IOException("App exited unexpectedly with " + appProcess.exitValue()); - } - - try { - Thread.sleep(spinDelay); - } catch (InterruptedException ex) { - // pass - } - } - } - - /** - * Analyze an environment and prepare a command line to - * run the app, app name should be added explicitly - */ - public List runAppPrepare(List vmArguments) { - // We should always use testjava or throw an exception, - // so we can't use JDKToolFinder.getJDKTool("java"); - // that falls back to compile java on error - String jdkPath = System.getProperty("test.jdk"); - if (jdkPath == null) { - // we are not under jtreg, try env - Map env = System.getenv(); - jdkPath = env.get("TESTJAVA"); - } - - if (jdkPath == null) { - throw new RuntimeException("Can't determine jdk path neither test.jdk property no TESTJAVA env are set"); - } - - String osname = System.getProperty("os.name"); - String javapath = jdkPath + ((osname.startsWith("window")) ? "/bin/java.exe" : "/bin/java"); - - List cmd = new ArrayList(); - cmd.add(javapath); - - if (vmArguments == null) { - // Propagate test.vm.options to LingeredApp, filter out possible empty options - String testVmOpts[] = System.getProperty("test.vm.opts","").split("\\s+"); - for (String s : testVmOpts) { - if (!s.equals("")) { - cmd.add(s); - } - } - } else { - // Lets user manage LingeredApp options - cmd.addAll(vmArguments); - } - - // Make sure we set correct classpath to run the app - cmd.add("-cp"); - String classpath = System.getProperty("test.class.path"); - cmd.add((classpath == null) ? "." : classpath); - - return cmd; - } - - /** - * Assemble command line to a printable string - */ - public void printCommandLine(List cmd) { - // A bit of verbosity - StringBuilder cmdLine = new StringBuilder(); - for (String strCmd : cmd) { - cmdLine.append("'").append(strCmd).append("' "); - } - - System.err.println("Command line: [" + cmdLine.toString() + "]"); - } - - /** - * Run the app. - * - * @param vmArguments - * @throws IOException - */ - public void runApp(List vmArguments) - throws IOException { - - List cmd = runAppPrepare(vmArguments); - - cmd.add(this.getAppName()); - cmd.add(lockFileName); - - printCommandLine(cmd); - - ProcessBuilder pb = new ProcessBuilder(cmd); - // ProcessBuilder.start can throw IOException - appProcess = pb.start(); - - startOutputPumpers(); - } - - private void finishApp() { - OutputBuffer output = getOutput(); - String msg = - " LingeredApp stdout: [" + output.getStdout() + "];\n" + - " LingeredApp stderr: [" + output.getStderr() + "]\n" + - " LingeredApp exitValue = " + appProcess.exitValue(); - - System.err.println(msg); - } - - /** - * Delete lock file that signals app to terminate, then - * wait until app is actually terminated. - * @throws IOException - */ - public void stopApp() throws IOException { - deleteLock(); - // The startApp() of the derived app can throw - // an exception before the LA actually starts - if (appProcess != null) { - waitAppTerminate(); - int exitcode = appProcess.exitValue(); - if (exitcode != 0) { - throw new IOException("LingeredApp terminated with non-zero exit code " + exitcode); - } - } - finishApp(); - } - - /** - * High level interface for test writers - */ - /** - * Factory method that creates LingeredApp object with ready to use application - * lock name is autogenerated - * @param cmd - vm options, could be null to auto add testvm.options - * @return LingeredApp object - * @throws IOException - */ - public static LingeredApp startApp(List cmd) throws IOException { - LingeredApp a = new LingeredApp(); - a.createLock(); - try { - a.runApp(cmd); - a.waitAppReady(appWaitTime); - } catch (Exception ex) { - a.deleteLock(); - System.err.println("LingeredApp failed to start: " + ex); - a.finishApp(); - throw ex; - } - - return a; - } - - /** - * Factory method that starts pre-created LingeredApp - * lock name is autogenerated - * @param cmd - vm options, could be null to auto add testvm.options - * @param theApp - app to start - * @return LingeredApp object - * @throws IOException - */ - - public static void startApp(List cmd, LingeredApp theApp) throws IOException { - theApp.createLock(); - try { - theApp.runApp(cmd); - theApp.waitAppReady(appWaitTime); - } catch (Exception ex) { - theApp.deleteLock(); - throw ex; - } - } - - public static LingeredApp startApp() throws IOException { - return startApp(null); - } - - public static void stopApp(LingeredApp app) throws IOException { - if (app != null) { - // LingeredApp can throw an exception during the intialization, - // make sure we don't have cascade NPE - app.stopApp(); - } - } - - /** - * LastModified time might not work correctly in some cases it might - * cause later failures - */ - - public static boolean isLastModifiedWorking() { - boolean sane = true; - try { - long lm = lastModified("."); - if (lm == 0) { - System.err.println("SANITY Warning! The lastModifiedTime() doesn't work on this system, it returns 0"); - sane = false; - } - - long now = epoch(); - if (lm > now) { - System.err.println("SANITY Warning! The Clock is wrong on this system lastModifiedTime() > getTime()"); - sane = false; - } - - setLastModified(".", epoch()); - long lm1 = lastModified("."); - if (lm1 <= lm) { - System.err.println("SANITY Warning! The setLastModified doesn't work on this system"); - sane = false; - } - } - catch(IOException e) { - System.err.println("SANITY Warning! IOException during sanity check " + e); - sane = false; - } - - return sane; - } - - /** - * This part is the application it self - */ - public static void main(String args[]) { - - if (args.length != 1) { - System.err.println("Lock file name is not specified"); - System.exit(7); - } - - String theLockFileName = args[0]; - - try { - Path path = Paths.get(theLockFileName); - - while (Files.exists(path)) { - // Touch the lock to indicate our readiness - setLastModified(theLockFileName, epoch()); - Thread.sleep(spinDelay); - } - } catch (NoSuchFileException ex) { - // Lock deleted while we are setting last modified time. - // Ignore error and lets the app exits - } catch (Exception ex) { - System.err.println("LingeredApp ERROR: " + ex); - // Leave exit_code = 1 to Java launcher - System.exit(3); - } - - System.exit(0); - } -} diff --git a/jdk/test/lib/jdk/test/lib/apps/LingeredAppWithDeadlock.java b/jdk/test/lib/jdk/test/lib/apps/LingeredAppWithDeadlock.java deleted file mode 100644 index 2b52c1523db..00000000000 --- a/jdk/test/lib/jdk/test/lib/apps/LingeredAppWithDeadlock.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ -package jdk.test.lib.apps; - -import java.util.concurrent.Phaser; - -public class LingeredAppWithDeadlock extends LingeredApp { - - private static final Object Lock1 = new Object(); - private static final Object Lock2 = new Object(); - - private static volatile int reachCount = 0; - - private static final Phaser p = new Phaser(2); - - private static class ThreadOne extends Thread { - public void run() { - // wait Lock2 is locked - p.arriveAndAwaitAdvance(); - synchronized (Lock1) { - // signal Lock1 is locked - p.arriveAndAwaitAdvance(); - synchronized (Lock2) { - reachCount += 1; - } - } - } - } - - private static class ThreadTwo extends Thread { - public void run() { - synchronized (Lock2) { - // signal Lock2 is locked - p.arriveAndAwaitAdvance(); - // wait Lock1 is locked - p.arriveAndAwaitAdvance(); - synchronized (Lock1) { - reachCount += 1; - } - } - } - } - - public static void main(String args[]) { - if (args.length != 1) { - System.err.println("Lock file name is not specified"); - System.exit(7); - } - - // Run two theads that should come to deadlock - new ThreadOne().start(); - new ThreadTwo().start(); - - if (reachCount > 0) { - // Not able to deadlock, exiting - System.exit(3); - } - - LingeredApp.main(args); - } - } diff --git a/jdk/test/lib/jdk/test/lib/compiler/CompilerUtils.java b/jdk/test/lib/jdk/test/lib/compiler/CompilerUtils.java deleted file mode 100644 index 138ad84da41..00000000000 --- a/jdk/test/lib/jdk/test/lib/compiler/CompilerUtils.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package jdk.test.lib.compiler; - -import javax.tools.JavaCompiler; -import javax.tools.StandardJavaFileManager; -import javax.tools.StandardLocation; -import javax.tools.ToolProvider; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; - -/** - * This class consists exclusively of static utility methods for invoking the - * java compiler. - */ -public final class CompilerUtils { - private CompilerUtils() { } - - /** - * Compile all the java sources in {@code /**} to - * {@code /**}. The destination directory will be created if - * it doesn't exist. - * - * Equivalent to calling {@code compile(source, destination, true, options);}. - * - * All warnings/errors emitted by the compiler are output to System.out/err. - * - * @param source Path to the source directory - * @param destination Path to the destination directory - * @param options Any options to pass to the compiler - * - * @return true if the compilation is successful - * - * @throws IOException - * if there is an I/O error scanning the source tree or - * creating the destination directory - * @throws UnsupportedOperationException - * if there is no system java compiler - */ - public static boolean compile(Path source, Path destination, String... options) - throws IOException - { - return compile(source, destination, true, options); - } - - /** - * Compile all the java sources in {@code } and optionally its - * subdirectories, to - * {@code }. The destination directory will be created if - * it doesn't exist. - * - * All warnings/errors emitted by the compiler are output to System.out/err. - * - * @param source Path to the source directory - * @param destination Path to the destination directory - * @param recurse If {@code true} recurse into any {@code source} subdirectories - * to compile all java source files; else only compile those directly in - * {@code source}. - * @param options Any options to pass to the compiler - * - * @return true if the compilation is successful - * - * @throws IOException - * if there is an I/O error scanning the source tree or - * creating the destination directory - * @throws UnsupportedOperationException - * if there is no system java compiler - */ - - public static boolean compile(Path source, Path destination, boolean recurse, String... options) - throws IOException - { - JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); - if (compiler == null) { - // no compiler available - throw new UnsupportedOperationException("Unable to get system java compiler. " - + "Perhaps, jdk.compiler module is not available."); - } - StandardJavaFileManager jfm = compiler.getStandardFileManager(null, null, null); - - List sources - = Files.find(source, (recurse ? Integer.MAX_VALUE : 1), - (file, attrs) -> (file.toString().endsWith(".java"))) - .collect(Collectors.toList()); - - Files.createDirectories(destination); - jfm.setLocation(StandardLocation.CLASS_PATH, Collections.emptyList()); - jfm.setLocationFromPaths(StandardLocation.CLASS_OUTPUT, - Collections.singletonList(destination)); - - List opts = Arrays.asList(options); - JavaCompiler.CompilationTask task - = compiler.getTask(null, jfm, null, opts, null, - jfm.getJavaFileObjectsFromPaths(sources)); - - return task.call(); - } -} diff --git a/jdk/test/lib/jdk/test/lib/compiler/InMemoryJavaCompiler.java b/jdk/test/lib/jdk/test/lib/compiler/InMemoryJavaCompiler.java deleted file mode 100644 index 9444e4cc97b..00000000000 --- a/jdk/test/lib/jdk/test/lib/compiler/InMemoryJavaCompiler.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package jdk.test.lib.compiler; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; - -import java.net.URI; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import javax.tools.ForwardingJavaFileManager; -import javax.tools.FileObject; -import javax.tools.JavaCompiler; -import javax.tools.JavaCompiler.CompilationTask; -import javax.tools.JavaFileObject; -import javax.tools.JavaFileObject.Kind; -import javax.tools.SimpleJavaFileObject; -import javax.tools.StandardLocation; -import javax.tools.ToolProvider; - -/** - * {@code InMemoryJavaCompiler} can be used for compiling a {@link - * CharSequence} to a {@code byte[]}. - * - * The compiler will not use the file system at all, instead using a {@link - * ByteArrayOutputStream} for storing the byte code. For the source code, any - * kind of {@link CharSequence} can be used, e.g. {@link String}, {@link - * StringBuffer} or {@link StringBuilder}. - * - * The {@code InMemoryCompiler} can easily be used together with a {@code - * ByteClassLoader} to easily compile and load source code in a {@link String}: - * - *

- * {@code
- * import jdk.test.lib.compiler.InMemoryJavaCompiler;
- * import jdk.test.lib.ByteClassLoader;
- *
- * class Example {
- *     public static void main(String[] args) {
- *         String className = "Foo";
- *         String sourceCode = "public class " + className + " {" +
- *                             "    public void bar() {" +
- *                             "        System.out.println("Hello from bar!");" +
- *                             "    }" +
- *                             "}";
- *         byte[] byteCode = InMemoryJavaCompiler.compile(className, sourceCode);
- *         Class fooClass = ByteClassLoader.load(className, byteCode);
- *     }
- * }
- * }
- * 
- */ -public class InMemoryJavaCompiler { - private static class MemoryJavaFileObject extends SimpleJavaFileObject { - private final String className; - private final CharSequence sourceCode; - private final ByteArrayOutputStream byteCode; - - public MemoryJavaFileObject(String className, CharSequence sourceCode) { - super(URI.create("string:///" + className.replace('.','/') + Kind.SOURCE.extension), Kind.SOURCE); - this.className = className; - this.sourceCode = sourceCode; - this.byteCode = new ByteArrayOutputStream(); - } - - @Override - public CharSequence getCharContent(boolean ignoreEncodingErrors) { - return sourceCode; - } - - @Override - public OutputStream openOutputStream() throws IOException { - return byteCode; - } - - public byte[] getByteCode() { - return byteCode.toByteArray(); - } - - public String getClassName() { - return className; - } - } - - private static class FileManagerWrapper extends ForwardingJavaFileManager { - private static final Location PATCH_LOCATION = new Location() { - @Override - public String getName() { - return "patch module location"; - } - - @Override - public boolean isOutputLocation() { - return false; - } - }; - private final MemoryJavaFileObject file; - private final String moduleOverride; - - public FileManagerWrapper(MemoryJavaFileObject file, String moduleOverride) { - super(getCompiler().getStandardFileManager(null, null, null)); - this.file = file; - this.moduleOverride = moduleOverride; - } - - @Override - public JavaFileObject getJavaFileForOutput(Location location, String className, - Kind kind, FileObject sibling) - throws IOException { - if (!file.getClassName().equals(className)) { - throw new IOException("Expected class with name " + file.getClassName() + - ", but got " + className); - } - return file; - } - - @Override - public Location getLocationForModule(Location location, JavaFileObject fo) throws IOException { - if (fo == file && moduleOverride != null) { - return PATCH_LOCATION; - } - return super.getLocationForModule(location, fo); - } - - @Override - public String inferModuleName(Location location) throws IOException { - if (location == PATCH_LOCATION) { - return moduleOverride; - } - return super.inferModuleName(location); - } - - @Override - public boolean hasLocation(Location location) { - return super.hasLocation(location) || location == StandardLocation.PATCH_MODULE_PATH; - } - - } - - /** - * Compiles the class with the given name and source code. - * - * @param className The name of the class - * @param sourceCode The source code for the class with name {@code className} - * @param options additional command line options - * @throws RuntimeException if the compilation did not succeed - * @return The resulting byte code from the compilation - */ - public static byte[] compile(String className, CharSequence sourceCode, String... options) { - MemoryJavaFileObject file = new MemoryJavaFileObject(className, sourceCode); - CompilationTask task = getCompilationTask(file, options); - - if(!task.call()) { - throw new RuntimeException("Could not compile " + className + " with source code " + sourceCode); - } - - return file.getByteCode(); - } - - private static JavaCompiler getCompiler() { - return ToolProvider.getSystemJavaCompiler(); - } - - private static CompilationTask getCompilationTask(MemoryJavaFileObject file, String... options) { - List opts = new ArrayList<>(); - String moduleOverride = null; - for (String opt : options) { - if (opt.startsWith("--patch-module=")) { - moduleOverride = opt.substring("--patch-module=".length()); - } else { - opts.add(opt); - } - } - return getCompiler().getTask(null, new FileManagerWrapper(file, moduleOverride), null, opts, null, Arrays.asList(file)); - } -} diff --git a/jdk/test/lib/jdk/test/lib/compiler/ModuleInfoMaker.java b/jdk/test/lib/jdk/test/lib/compiler/ModuleInfoMaker.java deleted file mode 100644 index f6438a678ca..00000000000 --- a/jdk/test/lib/jdk/test/lib/compiler/ModuleInfoMaker.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package jdk.test.lib.compiler; - -import java.io.BufferedWriter; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Arrays; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.stream.Stream; - -/** - * Utility class for creating test modules. - */ -public class ModuleInfoMaker { - private static final String MODULE_INFO_JAVA = "module-info.java"; - private static final Pattern MODULE_PATTERN = - Pattern.compile("module\\s+((?:\\w+\\.)*)"); - private static final Pattern PACKAGE_PATTERN = - Pattern.compile("package\\s+(((?:\\w+\\.)*)(?:\\w+))"); - private static final Pattern CLASS_PATTERN = - Pattern.compile("(?:public\\s+)?(?:class|enum|interface)\\s+(\\w+)"); - - private final Path dir; - - public ModuleInfoMaker(Path dir) { - this.dir = dir; - } - - /** - * Create java source files of the given module - */ - public void writeJavaFiles(String module, String moduleInfoJava, String... contents) - throws IOException - { - Path msrc = dir.resolve(module); - new JavaSource(moduleInfoJava).write(msrc); - for (String c : contents) { - new JavaSource(c).write(msrc); - } - } - - /** - * Compile the module to the given destination. - */ - public void compile(String module, Path dest, String... options) - throws IOException - { - Path msrc = dir.resolve(module); - String[] args = - Stream.concat(Arrays.stream(options), - Stream.of("--module-source-path", - dir.toString())).toArray(String[]::new); - if (!CompilerUtils.compile(msrc, dest, args)) { - throw new Error("Fail to compile " + module); - } - } - - static class JavaSource { - final String source; - JavaSource(String source) { - this.source = source; - } - - /** - * Writes the source code to a file in a specified directory. - * @param dir the directory - * @throws IOException if there is a problem writing the file - */ - public void write(Path dir) throws IOException { - Path file = dir.resolve(getJavaFileNameFromSource(source)); - Files.createDirectories(file.getParent()); - try (BufferedWriter out = Files.newBufferedWriter(file)) { - out.write(source.replace("\n", System.lineSeparator())); - } - } - - /** - * Extracts the Java file name from the class declaration. - * This method is intended for simple files and uses regular expressions, - * so comments matching the pattern can make the method fail. - */ - static String getJavaFileNameFromSource(String source) { - String packageName = null; - - Matcher matcher = MODULE_PATTERN.matcher(source); - if (matcher.find()) - return MODULE_INFO_JAVA; - - matcher = PACKAGE_PATTERN.matcher(source); - if (matcher.find()) - packageName = matcher.group(1).replace(".", "/"); - - matcher = CLASS_PATTERN.matcher(source); - if (matcher.find()) { - String className = matcher.group(1) + ".java"; - return (packageName == null) ? className : packageName + "/" + className; - } else if (packageName != null) { - return packageName + "/package-info.java"; - } else { - throw new Error("Could not extract the java class " + - "name from the provided source"); - } - } - } -} diff --git a/jdk/test/lib/jdk/test/lib/util/JarUtils.java b/jdk/test/lib/jdk/test/lib/util/JarUtils.java deleted file mode 100644 index bc752d96a91..00000000000 --- a/jdk/test/lib/jdk/test/lib/util/JarUtils.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package jdk.test.lib.util; - -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.InvalidPathException; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Map; -import java.util.jar.JarEntry; -import java.util.jar.JarFile; -import java.util.jar.JarOutputStream; -import java.util.jar.Manifest; - -/** - * Common library for various test jar file utility functions. - */ -public final class JarUtils { - - /** - * Create jar file with specified files. If a specified file does not exist, - * a new jar entry will be created with the file name itself as the content. - */ - public static void createJar(String dest, String... files) - throws IOException { - try (JarOutputStream jos = new JarOutputStream( - new FileOutputStream(dest), new Manifest())) { - for (String file : files) { - System.out.println(String.format("Adding %s to %s", - file, dest)); - - // add an archive entry, and write a file - jos.putNextEntry(new JarEntry(file)); - try (FileInputStream fis = new FileInputStream(file)) { - fis.transferTo(jos); - } catch (FileNotFoundException e) { - jos.write(file.getBytes()); - } - } - } - System.out.println(); - } - - /** - * Add or remove specified files to existing jar file. If a specified file - * to be updated or added does not exist, the jar entry will be created - * with the file name itself as the content. - * - * @param src the original jar file name - * @param dest the new jar file name - * @param files the files to update. The list is broken into 2 groups - * by a "-" string. The files before in the 1st group will - * be either updated or added. The files in the 2nd group - * will be removed. If no "-" exists, all files belong to - * the 1st group. - */ - public static void updateJar(String src, String dest, String... files) - throws IOException { - Map changes = new HashMap<>(); - boolean update = true; - for (String file : files) { - if (file.equals("-")) { - update = false; - } else if (update) { - try { - Path p = Paths.get(file); - if (Files.exists(p)) { - changes.put(file, p); - } else { - changes.put(file, file); - } - } catch (InvalidPathException e) { - // Fallback if file not a valid Path. - changes.put(file, file); - } - } else { - changes.put(file, Boolean.FALSE); - } - } - updateJar(src, dest, changes); - } - - /** - * Update content of a jar file. - * - * @param src the original jar file name - * @param dest the new jar file name - * @param changes a map of changes, key is jar entry name, value is content. - * Value can be Path, byte[] or String. If key exists in - * src but value is Boolean FALSE. The entry is removed. - * Existing entries in src not a key is unmodified. - * @throws IOException - */ - public static void updateJar(String src, String dest, - Map changes) - throws IOException { - - // What if input changes is immutable? - changes = new HashMap<>(changes); - - System.out.printf("Creating %s from %s...\n", dest, src); - try (JarOutputStream jos = new JarOutputStream( - new FileOutputStream(dest))) { - - try (JarFile srcJarFile = new JarFile(src)) { - Enumeration entries = srcJarFile.entries(); - while (entries.hasMoreElements()) { - JarEntry entry = entries.nextElement(); - String name = entry.getName(); - if (changes.containsKey(name)) { - System.out.println(String.format("- Update %s", name)); - updateEntry(jos, name, changes.get(name)); - changes.remove(name); - } else { - System.out.println(String.format("- Copy %s", name)); - jos.putNextEntry(entry); - srcJarFile.getInputStream(entry).transferTo(jos); - } - } - } - for (Map.Entry e : changes.entrySet()) { - System.out.println(String.format("- Add %s", e.getKey())); - updateEntry(jos, e.getKey(), e.getValue()); - } - } - System.out.println(); - } - - private static void updateEntry(JarOutputStream jos, String name, Object content) - throws IOException { - if (content instanceof Boolean) { - if (((Boolean) content).booleanValue()) { - throw new RuntimeException("Boolean value must be FALSE"); - } - } else { - jos.putNextEntry(new JarEntry(name)); - if (content instanceof Path) { - Files.newInputStream((Path) content).transferTo(jos); - } else if (content instanceof byte[]) { - jos.write((byte[]) content); - } else if (content instanceof String) { - jos.write(((String) content).getBytes()); - } else { - throw new RuntimeException("Unknown type " + content.getClass()); - } - } - } -} diff --git a/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java index afad9cee62c..4007227c862 100644 --- a/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java +++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java @@ -30,7 +30,7 @@ * @test * @bug 6216082 * @summary Redirect problem with HttpsURLConnection using a proxy - * @library .. /lib + * @library .. /test/lib * @build jdk.test.lib.NetworkConfiguration * jdk.test.lib.Platform * HttpCallback TestHttpsServer ClosedChannelList diff --git a/jdk/test/sun/security/ec/SignedObjectChain.java b/jdk/test/sun/security/ec/SignedObjectChain.java index 7e2610a512a..38e2d56c0ab 100644 --- a/jdk/test/sun/security/ec/SignedObjectChain.java +++ b/jdk/test/sun/security/ec/SignedObjectChain.java @@ -25,7 +25,7 @@ * @test * @bug 8050374 8146293 * @summary Verify a chain of signed objects - * @library /lib + * @library /test/lib * @compile ../../../java/security/SignedObject/Chain.java * @run main SignedObjectChain */ diff --git a/jdk/test/sun/security/mscapi/SignedObjectChain.java b/jdk/test/sun/security/mscapi/SignedObjectChain.java index 931a0b30841..e6a5d848705 100644 --- a/jdk/test/sun/security/mscapi/SignedObjectChain.java +++ b/jdk/test/sun/security/mscapi/SignedObjectChain.java @@ -25,7 +25,7 @@ * @test * @bug 8050374 8146293 * @summary Verify a chain of signed objects - * @library /lib + * @library /test/lib * @compile ../../../java/security/SignedObject/Chain.java * @run main SignedObjectChain */ diff --git a/jdk/test/sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java b/jdk/test/sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java index 717590f62ae..51358b43228 100644 --- a/jdk/test/sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java +++ b/jdk/test/sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java @@ -31,7 +31,7 @@ * @bug 6405536 * @summary Verify that all ciphersuites work (incl. ECC using NSS crypto) * @author Andreas Sterbenz - * @library /lib .. ../../../../javax/net/ssl/TLSCommon + * @library /test/lib .. ../../../../javax/net/ssl/TLSCommon * @library ../../../../java/security/testlibrary * @run main/othervm -Djdk.tls.namedGroups="secp256r1,sect193r1" * ClientJSSEServerJSSE diff --git a/jdk/test/sun/security/pkcs12/EmptyPassword.java b/jdk/test/sun/security/pkcs12/EmptyPassword.java index 4a24b06d97b..23d3d22f4dd 100644 --- a/jdk/test/sun/security/pkcs12/EmptyPassword.java +++ b/jdk/test/sun/security/pkcs12/EmptyPassword.java @@ -26,7 +26,7 @@ * @bug 8202299 * @modules java.base/sun.security.tools.keytool * java.base/sun.security.x509 - * @library /lib / + * @library /test/lib / * @summary Java Keystore fails to load PKCS12/PFX certificates created in WindowsServer2016 */ diff --git a/jdk/test/sun/security/pkcs12/ParamsPreferences.java b/jdk/test/sun/security/pkcs12/ParamsPreferences.java index 8a1cf73cbb7..b08825e6167 100644 --- a/jdk/test/sun/security/pkcs12/ParamsPreferences.java +++ b/jdk/test/sun/security/pkcs12/ParamsPreferences.java @@ -38,7 +38,7 @@ /* * @test * @bug 8076190 - * @library /lib/testlibrary /lib + * @library /lib/testlibrary /test/lib * @modules java.base/sun.security.pkcs * java.base/sun.security.x509 * java.base/sun.security.util diff --git a/jdk/test/sun/security/pkcs12/ParamsTest.java b/jdk/test/sun/security/pkcs12/ParamsTest.java index 62f434e3d39..6c2ca7bffc2 100644 --- a/jdk/test/sun/security/pkcs12/ParamsTest.java +++ b/jdk/test/sun/security/pkcs12/ParamsTest.java @@ -24,7 +24,7 @@ /* * @test * @bug 8076190 - * @library /lib/testlibrary /lib + * @library /lib/testlibrary /test/lib * @modules java.base/sun.security.pkcs * java.base/sun.security.x509 * java.base/sun.security.util diff --git a/jdk/test/sun/security/rsa/SignatureTest.java b/jdk/test/sun/security/rsa/SignatureTest.java index 0752bd084b4..7b60384018c 100644 --- a/jdk/test/sun/security/rsa/SignatureTest.java +++ b/jdk/test/sun/security/rsa/SignatureTest.java @@ -38,7 +38,7 @@ * @summary Create a signature for RSA and get its signed data. re-initiate * the signature with the public key. The signature can be verified * by acquired signed data. - * @library /lib + * @library /test/lib * @key randomness * @library ../../../lib/testlibrary * @run main SignatureTest MD2withRSA 512 diff --git a/jdk/test/sun/security/rsa/SignedObjectChain.java b/jdk/test/sun/security/rsa/SignedObjectChain.java index fea6028d92e..d1923730dac 100644 --- a/jdk/test/sun/security/rsa/SignedObjectChain.java +++ b/jdk/test/sun/security/rsa/SignedObjectChain.java @@ -25,7 +25,7 @@ * @test * @bug 8050374 8146293 * @summary Verify a chain of signed objects - * @library /lib + * @library /test/lib * @compile ../../../java/security/SignedObject/Chain.java * @run main SignedObjectChain */ diff --git a/jdk/test/sun/security/rsa/TestKeyPairGenerator.java b/jdk/test/sun/security/rsa/TestKeyPairGenerator.java index 5039ed98060..4a64554045d 100644 --- a/jdk/test/sun/security/rsa/TestKeyPairGenerator.java +++ b/jdk/test/sun/security/rsa/TestKeyPairGenerator.java @@ -25,7 +25,7 @@ * @test * @bug 4853305 4865198 4888410 4963723 8146293 * @summary Verify that the RSA KeyPairGenerator works - * @library /lib + * @library /test/lib * @build jdk.test.lib.SigTestUtil * @run main TestKeyPairGenerator * @author Andreas Sterbenz diff --git a/jdk/test/sun/security/rsa/TestSignatures.java b/jdk/test/sun/security/rsa/TestSignatures.java index 1cda2929781..68dfd1adf05 100644 --- a/jdk/test/sun/security/rsa/TestSignatures.java +++ b/jdk/test/sun/security/rsa/TestSignatures.java @@ -25,7 +25,7 @@ * @test * @bug 4853305 4963723 8146293 * @summary Test signing/verifying using all the signature algorithms - * @library /lib + * @library /test/lib * @build jdk.test.lib.SigTestUtil * @run main TestSignatures * @author Andreas Sterbenz diff --git a/jdk/test/sun/security/rsa/pss/SignatureTestPSS.java b/jdk/test/sun/security/rsa/pss/SignatureTestPSS.java index b92cd925aa5..daa0fc51d8a 100644 --- a/jdk/test/sun/security/rsa/pss/SignatureTestPSS.java +++ b/jdk/test/sun/security/rsa/pss/SignatureTestPSS.java @@ -36,7 +36,7 @@ * @summary Create a signature for RSASSA-PSS and get its signed data. * re-initiate the signature with the public key. The signature * can be verified by acquired signed data. - * @library /lib + * @library /test/lib * @build jdk.test.lib.SigTestUtil * @run main SignatureTestPSS 512 * @run main SignatureTestPSS 768 diff --git a/jdk/test/sun/security/ssl/CertPathRestrictions/TLSRestrictions.java b/jdk/test/sun/security/ssl/CertPathRestrictions/TLSRestrictions.java index 50bbb87868f..b9fb72b8faf 100644 --- a/jdk/test/sun/security/ssl/CertPathRestrictions/TLSRestrictions.java +++ b/jdk/test/sun/security/ssl/CertPathRestrictions/TLSRestrictions.java @@ -54,7 +54,7 @@ * @test * @bug 8165367 * @summary Verify the restrictions for certificate path on JSSE with custom trust store. - * @library /lib + * @library /test/lib * @build jdk.test.lib.Utils * jdk.test.lib.Asserts * jdk.test.lib.JDKToolFinder diff --git a/jdk/test/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.java b/jdk/test/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.java index 70a6f5ba831..378f97cd7a0 100644 --- a/jdk/test/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.java +++ b/jdk/test/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.java @@ -25,7 +25,7 @@ * @test * @bug 7126889 * @summary Incorrect SSLEngine debug output - * @library /lib /lib/security + * @library /test/lib /lib/security * @run main DebugReportsOneExtraByte */ /* diff --git a/jdk/test/sun/security/ssl/rsa/SignedObjectChain.java b/jdk/test/sun/security/ssl/rsa/SignedObjectChain.java index 1d5b21baa56..46957d83d43 100644 --- a/jdk/test/sun/security/ssl/rsa/SignedObjectChain.java +++ b/jdk/test/sun/security/ssl/rsa/SignedObjectChain.java @@ -25,7 +25,7 @@ * @test * @bug 8050374 8146293 * @summary Verify a chain of signed objects - * @library /lib + * @library /test/lib * @compile ../../../../java/security/SignedObject/Chain.java * @run main SignedObjectChain */ diff --git a/jdk/test/sun/security/util/DerInputBuffer/PaddedBitString.java b/jdk/test/sun/security/util/DerInputBuffer/PaddedBitString.java index b9a72957114..7a5719c18ac 100644 --- a/jdk/test/sun/security/util/DerInputBuffer/PaddedBitString.java +++ b/jdk/test/sun/security/util/DerInputBuffer/PaddedBitString.java @@ -25,7 +25,7 @@ * @test * @bug 4511556 * @summary Verify BitString value containing padding bits is accepted. - * @library /lib + * @library /test/lib */ import java.io.*; import java.math.BigInteger; diff --git a/jdk/test/lib/ClassFileInstaller.java b/test/lib/ClassFileInstaller.java similarity index 100% rename from jdk/test/lib/ClassFileInstaller.java rename to test/lib/ClassFileInstaller.java diff --git a/jdk/test/lib/jdk/test/lib/Asserts.java b/test/lib/jdk/test/lib/Asserts.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/Asserts.java rename to test/lib/jdk/test/lib/Asserts.java diff --git a/jdk/test/lib/jdk/test/lib/BuildHelper.java b/test/lib/jdk/test/lib/BuildHelper.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/BuildHelper.java rename to test/lib/jdk/test/lib/BuildHelper.java diff --git a/jdk/test/lib/jdk/test/lib/ByteCodeLoader.java b/test/lib/jdk/test/lib/ByteCodeLoader.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/ByteCodeLoader.java rename to test/lib/jdk/test/lib/ByteCodeLoader.java diff --git a/jdk/test/lib/jdk/test/lib/Container.java b/test/lib/jdk/test/lib/Container.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/Container.java rename to test/lib/jdk/test/lib/Container.java diff --git a/jdk/test/lib/jdk/test/lib/Convert.java b/test/lib/jdk/test/lib/Convert.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/Convert.java rename to test/lib/jdk/test/lib/Convert.java diff --git a/jdk/test/lib/jdk/test/lib/FileInstaller.java b/test/lib/jdk/test/lib/FileInstaller.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/FileInstaller.java rename to test/lib/jdk/test/lib/FileInstaller.java diff --git a/jdk/test/lib/jdk/test/lib/InfiniteLoop.java b/test/lib/jdk/test/lib/InfiniteLoop.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/InfiniteLoop.java rename to test/lib/jdk/test/lib/InfiniteLoop.java diff --git a/jdk/test/lib/jdk/test/lib/JDKToolFinder.java b/test/lib/jdk/test/lib/JDKToolFinder.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/JDKToolFinder.java rename to test/lib/jdk/test/lib/JDKToolFinder.java diff --git a/jdk/test/lib/jdk/test/lib/JDKToolLauncher.java b/test/lib/jdk/test/lib/JDKToolLauncher.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/JDKToolLauncher.java rename to test/lib/jdk/test/lib/JDKToolLauncher.java diff --git a/jdk/test/lib/jdk/test/lib/LockFreeLogger.java b/test/lib/jdk/test/lib/LockFreeLogger.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/LockFreeLogger.java rename to test/lib/jdk/test/lib/LockFreeLogger.java diff --git a/jdk/test/lib/jdk/test/lib/NetworkConfiguration.java b/test/lib/jdk/test/lib/NetworkConfiguration.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/NetworkConfiguration.java rename to test/lib/jdk/test/lib/NetworkConfiguration.java diff --git a/jdk/test/lib/jdk/test/lib/Platform.java b/test/lib/jdk/test/lib/Platform.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/Platform.java rename to test/lib/jdk/test/lib/Platform.java diff --git a/jdk/test/lib/jdk/test/lib/RandomFactory.java b/test/lib/jdk/test/lib/RandomFactory.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/RandomFactory.java rename to test/lib/jdk/test/lib/RandomFactory.java diff --git a/jdk/test/lib/jdk/test/lib/SigTestUtil.java b/test/lib/jdk/test/lib/SigTestUtil.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/SigTestUtil.java rename to test/lib/jdk/test/lib/SigTestUtil.java diff --git a/jdk/test/lib/jdk/test/lib/TimeLimitedRunner.java b/test/lib/jdk/test/lib/TimeLimitedRunner.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/TimeLimitedRunner.java rename to test/lib/jdk/test/lib/TimeLimitedRunner.java diff --git a/jdk/test/lib/jdk/test/lib/Utils.java b/test/lib/jdk/test/lib/Utils.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/Utils.java rename to test/lib/jdk/test/lib/Utils.java diff --git a/jdk/test/lib/jdk/test/lib/artifacts/Artifact.java b/test/lib/jdk/test/lib/artifacts/Artifact.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/artifacts/Artifact.java rename to test/lib/jdk/test/lib/artifacts/Artifact.java diff --git a/jdk/test/lib/jdk/test/lib/artifacts/ArtifactContainer.java b/test/lib/jdk/test/lib/artifacts/ArtifactContainer.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/artifacts/ArtifactContainer.java rename to test/lib/jdk/test/lib/artifacts/ArtifactContainer.java diff --git a/jdk/test/lib/jdk/test/lib/artifacts/ArtifactManager.java b/test/lib/jdk/test/lib/artifacts/ArtifactManager.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/artifacts/ArtifactManager.java rename to test/lib/jdk/test/lib/artifacts/ArtifactManager.java diff --git a/jdk/test/lib/jdk/test/lib/artifacts/ArtifactResolver.java b/test/lib/jdk/test/lib/artifacts/ArtifactResolver.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/artifacts/ArtifactResolver.java rename to test/lib/jdk/test/lib/artifacts/ArtifactResolver.java diff --git a/jdk/test/lib/jdk/test/lib/artifacts/ArtifactResolverException.java b/test/lib/jdk/test/lib/artifacts/ArtifactResolverException.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/artifacts/ArtifactResolverException.java rename to test/lib/jdk/test/lib/artifacts/ArtifactResolverException.java diff --git a/jdk/test/lib/jdk/test/lib/artifacts/DefaultArtifactManager.java b/test/lib/jdk/test/lib/artifacts/DefaultArtifactManager.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/artifacts/DefaultArtifactManager.java rename to test/lib/jdk/test/lib/artifacts/DefaultArtifactManager.java diff --git a/jdk/test/lib/jdk/test/lib/artifacts/JibArtifactManager.java b/test/lib/jdk/test/lib/artifacts/JibArtifactManager.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/artifacts/JibArtifactManager.java rename to test/lib/jdk/test/lib/artifacts/JibArtifactManager.java diff --git a/jdk/test/lib/jdk/test/lib/cds/CDSOptions.java b/test/lib/jdk/test/lib/cds/CDSOptions.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/cds/CDSOptions.java rename to test/lib/jdk/test/lib/cds/CDSOptions.java diff --git a/jdk/test/lib/jdk/test/lib/cds/CDSTestUtils.java b/test/lib/jdk/test/lib/cds/CDSTestUtils.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/cds/CDSTestUtils.java rename to test/lib/jdk/test/lib/cds/CDSTestUtils.java diff --git a/jdk/test/lib/jdk/test/lib/classloader/ClassLoadUtils.java b/test/lib/jdk/test/lib/classloader/ClassLoadUtils.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/classloader/ClassLoadUtils.java rename to test/lib/jdk/test/lib/classloader/ClassLoadUtils.java diff --git a/jdk/test/lib/jdk/test/lib/classloader/FilterClassLoader.java b/test/lib/jdk/test/lib/classloader/FilterClassLoader.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/classloader/FilterClassLoader.java rename to test/lib/jdk/test/lib/classloader/FilterClassLoader.java diff --git a/jdk/test/lib/jdk/test/lib/classloader/GeneratingClassLoader.java b/test/lib/jdk/test/lib/classloader/GeneratingClassLoader.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/classloader/GeneratingClassLoader.java rename to test/lib/jdk/test/lib/classloader/GeneratingClassLoader.java diff --git a/jdk/test/lib/jdk/test/lib/classloader/ParentLastURLClassLoader.java b/test/lib/jdk/test/lib/classloader/ParentLastURLClassLoader.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/classloader/ParentLastURLClassLoader.java rename to test/lib/jdk/test/lib/classloader/ParentLastURLClassLoader.java diff --git a/jdk/test/lib/jdk/test/lib/cli/CPUSpecificCommandLineOptionTest.java b/test/lib/jdk/test/lib/cli/CPUSpecificCommandLineOptionTest.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/cli/CPUSpecificCommandLineOptionTest.java rename to test/lib/jdk/test/lib/cli/CPUSpecificCommandLineOptionTest.java diff --git a/jdk/test/lib/jdk/test/lib/cli/CommandLineOptionTest.java b/test/lib/jdk/test/lib/cli/CommandLineOptionTest.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/cli/CommandLineOptionTest.java rename to test/lib/jdk/test/lib/cli/CommandLineOptionTest.java diff --git a/jdk/test/lib/jdk/test/lib/cli/predicate/AndPredicate.java b/test/lib/jdk/test/lib/cli/predicate/AndPredicate.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/cli/predicate/AndPredicate.java rename to test/lib/jdk/test/lib/cli/predicate/AndPredicate.java diff --git a/jdk/test/lib/jdk/test/lib/cli/predicate/CPUSpecificPredicate.java b/test/lib/jdk/test/lib/cli/predicate/CPUSpecificPredicate.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/cli/predicate/CPUSpecificPredicate.java rename to test/lib/jdk/test/lib/cli/predicate/CPUSpecificPredicate.java diff --git a/jdk/test/lib/jdk/test/lib/cli/predicate/NotPredicate.java b/test/lib/jdk/test/lib/cli/predicate/NotPredicate.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/cli/predicate/NotPredicate.java rename to test/lib/jdk/test/lib/cli/predicate/NotPredicate.java diff --git a/jdk/test/lib/jdk/test/lib/cli/predicate/OrPredicate.java b/test/lib/jdk/test/lib/cli/predicate/OrPredicate.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/cli/predicate/OrPredicate.java rename to test/lib/jdk/test/lib/cli/predicate/OrPredicate.java diff --git a/jdk/test/lib/jdk/test/lib/containers/cgroup/CPUSetsReader.java b/test/lib/jdk/test/lib/containers/cgroup/CPUSetsReader.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/containers/cgroup/CPUSetsReader.java rename to test/lib/jdk/test/lib/containers/cgroup/CPUSetsReader.java diff --git a/jdk/test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java b/test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java rename to test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java diff --git a/jdk/test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java b/test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java rename to test/lib/jdk/test/lib/containers/cgroup/MetricsTester.java diff --git a/jdk/test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java b/test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java rename to test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java diff --git a/jdk/test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java b/test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java rename to test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java diff --git a/jdk/test/lib/jdk/test/lib/containers/docker/Common.java b/test/lib/jdk/test/lib/containers/docker/Common.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/containers/docker/Common.java rename to test/lib/jdk/test/lib/containers/docker/Common.java diff --git a/jdk/test/lib/jdk/test/lib/containers/docker/DockerRunOptions.java b/test/lib/jdk/test/lib/containers/docker/DockerRunOptions.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/containers/docker/DockerRunOptions.java rename to test/lib/jdk/test/lib/containers/docker/DockerRunOptions.java diff --git a/jdk/test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java b/test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java rename to test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java diff --git a/jdk/test/lib/jdk/test/lib/containers/docker/DockerfileConfig.java b/test/lib/jdk/test/lib/containers/docker/DockerfileConfig.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/containers/docker/DockerfileConfig.java rename to test/lib/jdk/test/lib/containers/docker/DockerfileConfig.java diff --git a/jdk/test/lib/jdk/test/lib/dcmd/CommandExecutor.java b/test/lib/jdk/test/lib/dcmd/CommandExecutor.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/dcmd/CommandExecutor.java rename to test/lib/jdk/test/lib/dcmd/CommandExecutor.java diff --git a/jdk/test/lib/jdk/test/lib/dcmd/CommandExecutorException.java b/test/lib/jdk/test/lib/dcmd/CommandExecutorException.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/dcmd/CommandExecutorException.java rename to test/lib/jdk/test/lib/dcmd/CommandExecutorException.java diff --git a/jdk/test/lib/jdk/test/lib/dcmd/FileJcmdExecutor.java b/test/lib/jdk/test/lib/dcmd/FileJcmdExecutor.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/dcmd/FileJcmdExecutor.java rename to test/lib/jdk/test/lib/dcmd/FileJcmdExecutor.java diff --git a/jdk/test/lib/jdk/test/lib/dcmd/JMXExecutor.java b/test/lib/jdk/test/lib/dcmd/JMXExecutor.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/dcmd/JMXExecutor.java rename to test/lib/jdk/test/lib/dcmd/JMXExecutor.java diff --git a/jdk/test/lib/jdk/test/lib/dcmd/JcmdExecutor.java b/test/lib/jdk/test/lib/dcmd/JcmdExecutor.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/dcmd/JcmdExecutor.java rename to test/lib/jdk/test/lib/dcmd/JcmdExecutor.java diff --git a/jdk/test/lib/jdk/test/lib/dcmd/MainClassJcmdExecutor.java b/test/lib/jdk/test/lib/dcmd/MainClassJcmdExecutor.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/dcmd/MainClassJcmdExecutor.java rename to test/lib/jdk/test/lib/dcmd/MainClassJcmdExecutor.java diff --git a/jdk/test/lib/jdk/test/lib/dcmd/PidJcmdExecutor.java b/test/lib/jdk/test/lib/dcmd/PidJcmdExecutor.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/dcmd/PidJcmdExecutor.java rename to test/lib/jdk/test/lib/dcmd/PidJcmdExecutor.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/HprofParser.java b/test/lib/jdk/test/lib/hprof/HprofParser.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/HprofParser.java rename to test/lib/jdk/test/lib/hprof/HprofParser.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/README b/test/lib/jdk/test/lib/hprof/README similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/README rename to test/lib/jdk/test/lib/hprof/README diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/AbstractJavaHeapObjectVisitor.java b/test/lib/jdk/test/lib/hprof/model/AbstractJavaHeapObjectVisitor.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/AbstractJavaHeapObjectVisitor.java rename to test/lib/jdk/test/lib/hprof/model/AbstractJavaHeapObjectVisitor.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/ArrayTypeCodes.java b/test/lib/jdk/test/lib/hprof/model/ArrayTypeCodes.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/ArrayTypeCodes.java rename to test/lib/jdk/test/lib/hprof/model/ArrayTypeCodes.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/HackJavaValue.java b/test/lib/jdk/test/lib/hprof/model/HackJavaValue.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/HackJavaValue.java rename to test/lib/jdk/test/lib/hprof/model/HackJavaValue.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaBoolean.java b/test/lib/jdk/test/lib/hprof/model/JavaBoolean.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaBoolean.java rename to test/lib/jdk/test/lib/hprof/model/JavaBoolean.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaByte.java b/test/lib/jdk/test/lib/hprof/model/JavaByte.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaByte.java rename to test/lib/jdk/test/lib/hprof/model/JavaByte.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaChar.java b/test/lib/jdk/test/lib/hprof/model/JavaChar.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaChar.java rename to test/lib/jdk/test/lib/hprof/model/JavaChar.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaClass.java b/test/lib/jdk/test/lib/hprof/model/JavaClass.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaClass.java rename to test/lib/jdk/test/lib/hprof/model/JavaClass.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaDouble.java b/test/lib/jdk/test/lib/hprof/model/JavaDouble.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaDouble.java rename to test/lib/jdk/test/lib/hprof/model/JavaDouble.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaField.java b/test/lib/jdk/test/lib/hprof/model/JavaField.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaField.java rename to test/lib/jdk/test/lib/hprof/model/JavaField.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaFloat.java b/test/lib/jdk/test/lib/hprof/model/JavaFloat.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaFloat.java rename to test/lib/jdk/test/lib/hprof/model/JavaFloat.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaHeapObject.java b/test/lib/jdk/test/lib/hprof/model/JavaHeapObject.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaHeapObject.java rename to test/lib/jdk/test/lib/hprof/model/JavaHeapObject.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaHeapObjectVisitor.java b/test/lib/jdk/test/lib/hprof/model/JavaHeapObjectVisitor.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaHeapObjectVisitor.java rename to test/lib/jdk/test/lib/hprof/model/JavaHeapObjectVisitor.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaInt.java b/test/lib/jdk/test/lib/hprof/model/JavaInt.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaInt.java rename to test/lib/jdk/test/lib/hprof/model/JavaInt.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaLazyReadObject.java b/test/lib/jdk/test/lib/hprof/model/JavaLazyReadObject.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaLazyReadObject.java rename to test/lib/jdk/test/lib/hprof/model/JavaLazyReadObject.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaLong.java b/test/lib/jdk/test/lib/hprof/model/JavaLong.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaLong.java rename to test/lib/jdk/test/lib/hprof/model/JavaLong.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaObject.java b/test/lib/jdk/test/lib/hprof/model/JavaObject.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaObject.java rename to test/lib/jdk/test/lib/hprof/model/JavaObject.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaObjectArray.java b/test/lib/jdk/test/lib/hprof/model/JavaObjectArray.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaObjectArray.java rename to test/lib/jdk/test/lib/hprof/model/JavaObjectArray.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaObjectRef.java b/test/lib/jdk/test/lib/hprof/model/JavaObjectRef.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaObjectRef.java rename to test/lib/jdk/test/lib/hprof/model/JavaObjectRef.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaShort.java b/test/lib/jdk/test/lib/hprof/model/JavaShort.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaShort.java rename to test/lib/jdk/test/lib/hprof/model/JavaShort.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaStatic.java b/test/lib/jdk/test/lib/hprof/model/JavaStatic.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaStatic.java rename to test/lib/jdk/test/lib/hprof/model/JavaStatic.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaThing.java b/test/lib/jdk/test/lib/hprof/model/JavaThing.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaThing.java rename to test/lib/jdk/test/lib/hprof/model/JavaThing.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaValue.java b/test/lib/jdk/test/lib/hprof/model/JavaValue.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaValue.java rename to test/lib/jdk/test/lib/hprof/model/JavaValue.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/JavaValueArray.java b/test/lib/jdk/test/lib/hprof/model/JavaValueArray.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/JavaValueArray.java rename to test/lib/jdk/test/lib/hprof/model/JavaValueArray.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/ReachableExcludes.java b/test/lib/jdk/test/lib/hprof/model/ReachableExcludes.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/ReachableExcludes.java rename to test/lib/jdk/test/lib/hprof/model/ReachableExcludes.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/ReachableExcludesImpl.java b/test/lib/jdk/test/lib/hprof/model/ReachableExcludesImpl.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/ReachableExcludesImpl.java rename to test/lib/jdk/test/lib/hprof/model/ReachableExcludesImpl.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/ReachableObjects.java b/test/lib/jdk/test/lib/hprof/model/ReachableObjects.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/ReachableObjects.java rename to test/lib/jdk/test/lib/hprof/model/ReachableObjects.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/ReferenceChain.java b/test/lib/jdk/test/lib/hprof/model/ReferenceChain.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/ReferenceChain.java rename to test/lib/jdk/test/lib/hprof/model/ReferenceChain.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/Root.java b/test/lib/jdk/test/lib/hprof/model/Root.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/Root.java rename to test/lib/jdk/test/lib/hprof/model/Root.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/Snapshot.java b/test/lib/jdk/test/lib/hprof/model/Snapshot.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/Snapshot.java rename to test/lib/jdk/test/lib/hprof/model/Snapshot.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/StackFrame.java b/test/lib/jdk/test/lib/hprof/model/StackFrame.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/StackFrame.java rename to test/lib/jdk/test/lib/hprof/model/StackFrame.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/model/StackTrace.java b/test/lib/jdk/test/lib/hprof/model/StackTrace.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/model/StackTrace.java rename to test/lib/jdk/test/lib/hprof/model/StackTrace.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/parser/FileReadBuffer.java b/test/lib/jdk/test/lib/hprof/parser/FileReadBuffer.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/parser/FileReadBuffer.java rename to test/lib/jdk/test/lib/hprof/parser/FileReadBuffer.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/parser/HprofReader.java b/test/lib/jdk/test/lib/hprof/parser/HprofReader.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/parser/HprofReader.java rename to test/lib/jdk/test/lib/hprof/parser/HprofReader.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/parser/MappedReadBuffer.java b/test/lib/jdk/test/lib/hprof/parser/MappedReadBuffer.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/parser/MappedReadBuffer.java rename to test/lib/jdk/test/lib/hprof/parser/MappedReadBuffer.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/parser/PositionDataInputStream.java b/test/lib/jdk/test/lib/hprof/parser/PositionDataInputStream.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/parser/PositionDataInputStream.java rename to test/lib/jdk/test/lib/hprof/parser/PositionDataInputStream.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/parser/PositionInputStream.java b/test/lib/jdk/test/lib/hprof/parser/PositionInputStream.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/parser/PositionInputStream.java rename to test/lib/jdk/test/lib/hprof/parser/PositionInputStream.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/parser/ReadBuffer.java b/test/lib/jdk/test/lib/hprof/parser/ReadBuffer.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/parser/ReadBuffer.java rename to test/lib/jdk/test/lib/hprof/parser/ReadBuffer.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/parser/Reader.java b/test/lib/jdk/test/lib/hprof/parser/Reader.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/parser/Reader.java rename to test/lib/jdk/test/lib/hprof/parser/Reader.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/util/ArraySorter.java b/test/lib/jdk/test/lib/hprof/util/ArraySorter.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/util/ArraySorter.java rename to test/lib/jdk/test/lib/hprof/util/ArraySorter.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/util/Comparer.java b/test/lib/jdk/test/lib/hprof/util/Comparer.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/util/Comparer.java rename to test/lib/jdk/test/lib/hprof/util/Comparer.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/util/CompositeEnumeration.java b/test/lib/jdk/test/lib/hprof/util/CompositeEnumeration.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/util/CompositeEnumeration.java rename to test/lib/jdk/test/lib/hprof/util/CompositeEnumeration.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/util/Misc.java b/test/lib/jdk/test/lib/hprof/util/Misc.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/util/Misc.java rename to test/lib/jdk/test/lib/hprof/util/Misc.java diff --git a/jdk/test/lib/jdk/test/lib/hprof/util/VectorSorter.java b/test/lib/jdk/test/lib/hprof/util/VectorSorter.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/hprof/util/VectorSorter.java rename to test/lib/jdk/test/lib/hprof/util/VectorSorter.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/AppExecutorHelper.java b/test/lib/jdk/test/lib/jfr/AppExecutorHelper.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/AppExecutorHelper.java rename to test/lib/jdk/test/lib/jfr/AppExecutorHelper.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/CommonHelper.java b/test/lib/jdk/test/lib/jfr/CommonHelper.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/CommonHelper.java rename to test/lib/jdk/test/lib/jfr/CommonHelper.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/EventField.java b/test/lib/jdk/test/lib/jfr/EventField.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/EventField.java rename to test/lib/jdk/test/lib/jfr/EventField.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/EventNames.java b/test/lib/jdk/test/lib/jfr/EventNames.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/EventNames.java rename to test/lib/jdk/test/lib/jfr/EventNames.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/EventTypePrototype.java b/test/lib/jdk/test/lib/jfr/EventTypePrototype.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/EventTypePrototype.java rename to test/lib/jdk/test/lib/jfr/EventTypePrototype.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/EventVerifier.java b/test/lib/jdk/test/lib/jfr/EventVerifier.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/EventVerifier.java rename to test/lib/jdk/test/lib/jfr/EventVerifier.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/Events.java b/test/lib/jdk/test/lib/jfr/Events.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/Events.java rename to test/lib/jdk/test/lib/jfr/Events.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/FileHelper.java b/test/lib/jdk/test/lib/jfr/FileHelper.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/FileHelper.java rename to test/lib/jdk/test/lib/jfr/FileHelper.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/GCHelper.java b/test/lib/jdk/test/lib/jfr/GCHelper.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/GCHelper.java rename to test/lib/jdk/test/lib/jfr/GCHelper.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/RecurseThread.java b/test/lib/jdk/test/lib/jfr/RecurseThread.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/RecurseThread.java rename to test/lib/jdk/test/lib/jfr/RecurseThread.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/SimpleEvent.java b/test/lib/jdk/test/lib/jfr/SimpleEvent.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/SimpleEvent.java rename to test/lib/jdk/test/lib/jfr/SimpleEvent.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/SimpleEventHelper.java b/test/lib/jdk/test/lib/jfr/SimpleEventHelper.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/SimpleEventHelper.java rename to test/lib/jdk/test/lib/jfr/SimpleEventHelper.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/SimpleSetting.java b/test/lib/jdk/test/lib/jfr/SimpleSetting.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/SimpleSetting.java rename to test/lib/jdk/test/lib/jfr/SimpleSetting.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/Stressor.java b/test/lib/jdk/test/lib/jfr/Stressor.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/Stressor.java rename to test/lib/jdk/test/lib/jfr/Stressor.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/TestClassLoader.java b/test/lib/jdk/test/lib/jfr/TestClassLoader.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/TestClassLoader.java rename to test/lib/jdk/test/lib/jfr/TestClassLoader.java diff --git a/jdk/test/lib/jdk/test/lib/jfr/VoidFunction.java b/test/lib/jdk/test/lib/jfr/VoidFunction.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/jfr/VoidFunction.java rename to test/lib/jdk/test/lib/jfr/VoidFunction.java diff --git a/jdk/test/lib/jdk/test/lib/management/DynamicVMOption.java b/test/lib/jdk/test/lib/management/DynamicVMOption.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/management/DynamicVMOption.java rename to test/lib/jdk/test/lib/management/DynamicVMOption.java diff --git a/jdk/test/lib/jdk/test/lib/management/InputArguments.java b/test/lib/jdk/test/lib/management/InputArguments.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/management/InputArguments.java rename to test/lib/jdk/test/lib/management/InputArguments.java diff --git a/jdk/test/lib/jdk/test/lib/management/ThreadMXBeanTool.java b/test/lib/jdk/test/lib/management/ThreadMXBeanTool.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/management/ThreadMXBeanTool.java rename to test/lib/jdk/test/lib/management/ThreadMXBeanTool.java diff --git a/jdk/test/lib/jdk/test/lib/process/ExitCode.java b/test/lib/jdk/test/lib/process/ExitCode.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/process/ExitCode.java rename to test/lib/jdk/test/lib/process/ExitCode.java diff --git a/jdk/test/lib/jdk/test/lib/process/OutputAnalyzer.java b/test/lib/jdk/test/lib/process/OutputAnalyzer.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/process/OutputAnalyzer.java rename to test/lib/jdk/test/lib/process/OutputAnalyzer.java diff --git a/jdk/test/lib/jdk/test/lib/process/OutputBuffer.java b/test/lib/jdk/test/lib/process/OutputBuffer.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/process/OutputBuffer.java rename to test/lib/jdk/test/lib/process/OutputBuffer.java diff --git a/jdk/test/lib/jdk/test/lib/process/ProcessTools.java b/test/lib/jdk/test/lib/process/ProcessTools.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/process/ProcessTools.java rename to test/lib/jdk/test/lib/process/ProcessTools.java diff --git a/jdk/test/lib/jdk/test/lib/process/StreamPumper.java b/test/lib/jdk/test/lib/process/StreamPumper.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/process/StreamPumper.java rename to test/lib/jdk/test/lib/process/StreamPumper.java diff --git a/jdk/test/lib/jdk/test/lib/thread/TestThread.java b/test/lib/jdk/test/lib/thread/TestThread.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/thread/TestThread.java rename to test/lib/jdk/test/lib/thread/TestThread.java diff --git a/jdk/test/lib/jdk/test/lib/thread/XRun.java b/test/lib/jdk/test/lib/thread/XRun.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/thread/XRun.java rename to test/lib/jdk/test/lib/thread/XRun.java diff --git a/jdk/test/lib/jdk/test/lib/util/Pair.java b/test/lib/jdk/test/lib/util/Pair.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/util/Pair.java rename to test/lib/jdk/test/lib/util/Pair.java diff --git a/jdk/test/lib/jdk/test/lib/util/SerializationUtils.java b/test/lib/jdk/test/lib/util/SerializationUtils.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/util/SerializationUtils.java rename to test/lib/jdk/test/lib/util/SerializationUtils.java diff --git a/jdk/test/lib/jdk/test/lib/util/Triple.java b/test/lib/jdk/test/lib/util/Triple.java similarity index 100% rename from jdk/test/lib/jdk/test/lib/util/Triple.java rename to test/lib/jdk/test/lib/util/Triple.java diff --git a/jdk/test/lib/sun/hotspot/WhiteBox.java b/test/lib/sun/hotspot/WhiteBox.java similarity index 100% rename from jdk/test/lib/sun/hotspot/WhiteBox.java rename to test/lib/sun/hotspot/WhiteBox.java diff --git a/jdk/test/lib/sun/hotspot/code/BlobType.java b/test/lib/sun/hotspot/code/BlobType.java similarity index 100% rename from jdk/test/lib/sun/hotspot/code/BlobType.java rename to test/lib/sun/hotspot/code/BlobType.java diff --git a/jdk/test/lib/sun/hotspot/code/CodeBlob.java b/test/lib/sun/hotspot/code/CodeBlob.java similarity index 100% rename from jdk/test/lib/sun/hotspot/code/CodeBlob.java rename to test/lib/sun/hotspot/code/CodeBlob.java diff --git a/jdk/test/lib/sun/hotspot/code/Compiler.java b/test/lib/sun/hotspot/code/Compiler.java similarity index 100% rename from jdk/test/lib/sun/hotspot/code/Compiler.java rename to test/lib/sun/hotspot/code/Compiler.java diff --git a/jdk/test/lib/sun/hotspot/code/NMethod.java b/test/lib/sun/hotspot/code/NMethod.java similarity index 100% rename from jdk/test/lib/sun/hotspot/code/NMethod.java rename to test/lib/sun/hotspot/code/NMethod.java diff --git a/jdk/test/lib/sun/hotspot/cpuinfo/CPUInfo.java b/test/lib/sun/hotspot/cpuinfo/CPUInfo.java similarity index 100% rename from jdk/test/lib/sun/hotspot/cpuinfo/CPUInfo.java rename to test/lib/sun/hotspot/cpuinfo/CPUInfo.java diff --git a/jdk/test/lib/sun/hotspot/gc/GC.java b/test/lib/sun/hotspot/gc/GC.java similarity index 100% rename from jdk/test/lib/sun/hotspot/gc/GC.java rename to test/lib/sun/hotspot/gc/GC.java diff --git a/jdk/test/lib/sun/hotspot/parser/DiagnosticCommand.java b/test/lib/sun/hotspot/parser/DiagnosticCommand.java similarity index 100% rename from jdk/test/lib/sun/hotspot/parser/DiagnosticCommand.java rename to test/lib/sun/hotspot/parser/DiagnosticCommand.java From 0e7ebcb9a56536bab60917d7be0da87458af7d3e Mon Sep 17 00:00:00 2001 From: kiriyama Date: Mon, 13 Nov 2023 14:31:28 +0000 Subject: [PATCH 25/27] 8317291: Missing null check for nmethod::is_native_method() Reviewed-by: phh, andrew --- hotspot/src/share/vm/code/nmethod.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hotspot/src/share/vm/code/nmethod.hpp b/hotspot/src/share/vm/code/nmethod.hpp index 89bcc4b98aa..0330ca595cc 100644 --- a/hotspot/src/share/vm/code/nmethod.hpp +++ b/hotspot/src/share/vm/code/nmethod.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -363,8 +363,8 @@ class nmethod : public CodeBlob { // type info bool is_nmethod() const { return true; } - bool is_java_method() const { return !method()->is_native(); } - bool is_native_method() const { return method()->is_native(); } + bool is_java_method() const { return _method != NULL && !method()->is_native(); } + bool is_native_method() const { return _method != NULL && method()->is_native(); } bool is_osr_method() const { return _entry_bci != InvocationEntryBci; } bool is_compiled_by_c1() const; From 10a653e5c3c07a1c823b12d295c86dc91201661c Mon Sep 17 00:00:00 2001 From: Zdenek Zambersky Date: Tue, 14 Nov 2023 11:38:56 +0000 Subject: [PATCH 26/27] 8176509: Use pandoc for converting build readme to html Reviewed-by: andrew Backport-of: 9d0bd1b495012de5de1c62f65f14c4de36aef056 --- README | 44 +- README-builds.html | 1389 ------------------------ common/autoconf/basics.m4 | 1 + common/autoconf/generated-configure.sh | 205 +++- common/autoconf/spec.gmk.in | 1 + common/bin/update-build-readme.sh | 62 -- corba/README | 14 - doc/building.html | 715 ++++++++++++ README-builds.md => doc/building.md | 472 +++----- hotspot/README | 14 - jaxp/README | 19 - jaxws/README | 19 - jdk/README | 29 - make/Main.gmk | 5 +- make/UpdateBuildDocs.gmk | 97 ++ 15 files changed, 1186 insertions(+), 1900 deletions(-) delete mode 100644 README-builds.html delete mode 100644 common/bin/update-build-readme.sh delete mode 100644 corba/README create mode 100644 doc/building.html rename README-builds.md => doc/building.md (80%) delete mode 100644 hotspot/README delete mode 100644 jaxp/README delete mode 100644 jaxws/README delete mode 100644 jdk/README create mode 100644 make/UpdateBuildDocs.gmk diff --git a/README b/README index 40c9fbc6a77..c93292bfbe4 100644 --- a/README +++ b/README @@ -1,40 +1,10 @@ -README: - This file should be located at the top of the OpenJDK Mercurial root - repository. A full OpenJDK repository set (forest) should also include - the following 6 nested repositories: - "jdk", "hotspot", "langtools", "corba", "jaxws" and "jaxp". +Welcome to OpenJDK! +=================== - The root repository can be obtained with something like: - hg clone http://hg.openjdk.java.net/jdk8/jdk8 openjdk8 - - You can run the get_source.sh script located in the root repository to get - the other needed repositories: - cd openjdk8 && sh ./get_source.sh +For information about building OpenJDK, including how to fully retrieve all +source code, please see either of these: - People unfamiliar with Mercurial should read the first few chapters of - the Mercurial book: http://hgbook.red-bean.com/read/ + * doc/building.html (html version) + * doc/building.md (markdown version) - See http://openjdk.java.net/ for more information about OpenJDK. - -Simple Build Instructions: - - 0. Get the necessary system software/packages installed on your system, see - http://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html - - 1. If you don't have a jdk7u7 or newer jdk, download and install it from - http://java.sun.com/javase/downloads/index.jsp - Add the /bin directory of this installation to your PATH environment - variable. - - 2. Configure the build: - bash ./configure - - 3. Build the OpenJDK: - make all - The resulting JDK image should be found in build/*/images/j2sdk-image - -where make is GNU make 3.81 or newer, /usr/bin/make on Linux usually -is 3.81 or newer. Note that on Solaris, GNU make is called "gmake". - -Complete details are available in the file: - http://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html +See http://openjdk.java.net/ for more information about OpenJDK. diff --git a/README-builds.html b/README-builds.html deleted file mode 100644 index 2281650f9e6..00000000000 --- a/README-builds.html +++ /dev/null @@ -1,1389 +0,0 @@ - - - OpenJDK Build README - - -

OpenJDK

- -

OpenJDK Build README

- -
- -

- -

Introduction

- -

This README file contains build instructions for the -OpenJDK. Building the source code for the OpenJDK -requires a certain degree of technical expertise.

- -

!!!!!!!!!!!!!!! THIS IS A MAJOR RE-WRITE of this document. !!!!!!!!!!!!!

- -

Some Headlines:

- -
    -
  • The build is now a "configure && make" style build
  • -
  • Any GNU make 3.81 or newer should work
  • -
  • The build should scale, i.e. more processors should cause the build to be -done in less wall-clock time
  • -
  • Nested or recursive make invocations have been significantly reduced, -as has the total fork/exec or spawning of sub processes during the build
  • -
  • Windows MKS usage is no longer supported
  • -
  • Windows Visual Studio vsvars*.bat and vcvars*.bat files are run -automatically
  • -
  • Ant is no longer used when building the OpenJDK
  • -
  • Use of ALT_* environment variables for configuring the build is no longer -supported
  • -
- -
- -

Contents

- - - -
- - - -
- -

- -

Use of Mercurial

- -

The OpenJDK sources are maintained with the revision control system -Mercurial. If you are new to -Mercurial, please see the Beginner Guides or refer to the Mercurial Book. -The first few chapters of the book provide an excellent overview of Mercurial, -what it is and how it works.

- -

For using Mercurial with the OpenJDK refer to the Developer Guide: Installing -and Configuring Mercurial section for more information.

- -

- -

Getting the Source

- -

To get the entire set of OpenJDK Mercurial repositories use the script -get_source.sh located in the root repository:

- -
  hg clone http://hg.openjdk.java.net/jdk8/jdk8 YourOpenJDK
-  cd YourOpenJDK
-  bash ./get_source.sh
-
- -

Once you have all the repositories, keep in mind that each repository is its -own independent repository. You can also re-run ./get_source.sh anytime to -pull over all the latest changesets in all the repositories. This set of -nested repositories has been given the term "forest" and there are various -ways to apply the same hg command to each of the repositories. For -example, the script make/scripts/hgforest.sh can be used to repeat the -same hg command on every repository, e.g.

- -
  cd YourOpenJDK
-  bash ./make/scripts/hgforest.sh status
-
- -

- -

Repositories

- -

The set of repositories and what they contain:

- -
    -
  • . (root) contains common configure and makefile logic
  • -
  • hotspot contains source code and make files for building the OpenJDK -Hotspot Virtual Machine
  • -
  • langtools contains source code for the OpenJDK javac and language tools
  • -
  • jdk contains source code and make files for building the OpenJDK runtime -libraries and misc files
  • -
  • jaxp contains source code for the OpenJDK JAXP functionality
  • -
  • jaxws contains source code for the OpenJDK JAX-WS functionality
  • -
  • corba contains source code for the OpenJDK Corba functionality
  • -
  • nashorn contains source code for the OpenJDK JavaScript implementation
  • -
- -

Repository Source Guidelines

- -

There are some very basic guidelines:

- -
    -
  • Use of whitespace in source files (.java, .c, .h, .cpp, and .hpp files) is -restricted. No TABs, no trailing whitespace on lines, and files should not -terminate in more than one blank line.
  • -
  • Files with execute permissions should not be added to the source -repositories.
  • -
  • All generated files need to be kept isolated from the files maintained or -managed by the source control system. The standard area for generated files -is the top level build/ directory.
  • -
  • The default build process should be to build the product and nothing else, -in one form, e.g. a product (optimized), debug (non-optimized, -g plus -assert logic), or fastdebug (optimized, -g plus assert logic).
  • -
  • The .hgignore file in each repository must exist and should include -^build/, ^dist/ and optionally any nbproject/private directories. It -should NEVER include anything in the src/ or test/ or any managed -directory area of a repository.
  • -
  • Directory names and file names should never contain blanks or non-printing -characters.
  • -
  • Generated source or binary files should NEVER be added to the repository -(that includes javah output). There are some exceptions to this rule, in -particular with some of the generated configure scripts.
  • -
  • Files not needed for typical building or testing of the repository should -not be added to the repository.
  • -
- -
- -

- -

Building

- -

The very first step in building the OpenJDK is making sure the system itself -has everything it needs to do OpenJDK builds. Once a system is setup, it -generally doesn't need to be done again.

- -

Building the OpenJDK is now done with running a configure script which will -try and find and verify you have everything you need, followed by running -make, e.g.

- -
-

bash ./configure
- make all

-
- -

Where possible the configure script will attempt to located the various -components in the default locations or via component specific variable -settings. When the normal defaults fail or components cannot be found, -additional configure options may be necessary to help configure find the -necessary tools for the build, or you may need to re-visit the setup of your -system due to missing software packages.

- -

NOTE: The configure script file does not have execute permissions and -will need to be explicitly run with bash, see the source guidelines.

- -
- -

- -

System Setup

- -

Before even attempting to use a system to build the OpenJDK there are some very -basic system setups needed. For all systems:

- -
    -
  • Be sure the GNU make utility is version 3.81 or newer, e.g. -run "make -version"

    - -

  • -
  • Install a Bootstrap JDK. All OpenJDK builds require access to a previously -released JDK called the bootstrap JDK or boot JDK. The general rule is -that the bootstrap JDK must be an instance of the previous major release of -the JDK. In addition, there may be a requirement to use a release at or -beyond a particular update level.

    - -

    Building JDK 8 requires use of a version of JDK 7 this is at Update 7 -or newer. JDK 8 developers should not use JDK 8 as the boot JDK, to ensure -that JDK 8 dependencies are not introduced into the parts of the system -that are built with JDK 7.

    - -

    The JDK 7 binaries can be downloaded from Oracle's JDK 7 download -site. -For build performance reasons it is very important that this bootstrap JDK -be made available on the local disk of the machine doing the build. You -should add its bin directory to the PATH environment variable. If -configure has any issues finding this JDK, you may need to use the -configure option --with-boot-jdk.

  • -
  • Ensure that GNU make, the Bootstrap JDK, and the compilers are all in your -PATH environment variable.

  • -
- -

And for specific systems:

- - - -

- -

Linux

- -

With Linux, try and favor the system packages over building your own or getting -packages from other areas. Most Linux builds should be possible with the -system's available packages.

- -

Note that some Linux systems have a habit of pre-populating your environment -variables for you, for example JAVA_HOME might get pre-defined for you to -refer to the JDK installed on your Linux system. You will need to unset -JAVA_HOME. It's a good idea to run env and verify the environment variables -you are getting from the default system settings make sense for building the -OpenJDK.

- -

- -

Solaris

- -

- -
Studio Compilers
- -

At a minimum, the Studio 12 Update 1 Compilers (containing -version 5.10 of the C and C++ compilers) is required, including specific -patches.

- -

The Solaris SPARC patch list is:

- -
    -
  • 118683-05: SunOS 5.10: Patch for profiling libraries and assembler
  • -
  • 119963-21: SunOS 5.10: Shared library patch for C++
  • -
  • 120753-08: SunOS 5.10: Microtasking libraries (libmtsk) patch
  • -
  • 128228-09: Sun Studio 12 Update 1: Patch for Sun C++ Compiler
  • -
  • 141860-03: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C -C++ F77 F95
  • -
  • 141861-05: Sun Studio 12 Update 1: Patch for Sun C Compiler
  • -
  • 142371-01: Sun Studio 12.1 Update 1: Patch for dbx
  • -
  • 143384-02: Sun Studio 12 Update 1: Patch for debuginfo handling
  • -
  • 143385-02: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C -C++ F77 F95
  • -
  • 142369-01: Sun Studio 12.1: Patch for Performance Analyzer Tools
  • -
- -

The Solaris X86 patch list is:

- -
    -
  • 119961-07: SunOS 5.10_x86, x64, Patch for profiling libraries and assembler
  • -
  • 119964-21: SunOS 5.10_x86: Shared library patch for C++_x86
  • -
  • 120754-08: SunOS 5.10_x86: Microtasking libraries (libmtsk) patch
  • -
  • 141858-06: Sun Studio 12 Update 1_x86: Sun Compiler Common patch for x86 -backend
  • -
  • 128229-09: Sun Studio 12 Update 1_x86: Patch for C++ Compiler
  • -
  • 142363-05: Sun Studio 12 Update 1_x86: Patch for C Compiler
  • -
  • 142368-01: Sun Studio 12.1_x86: Patch for Performance Analyzer Tools
  • -
- -

Place the bin directory in PATH.

- -

The Oracle Solaris Studio Express compilers at: Oracle Solaris Studio Express -Download site are also an option, although these compilers -have not been extensively used yet.

- -

- -

Windows

- -
Windows Unix Toolkit
- -

Building on Windows requires a Unix-like environment, notably a Unix-like -shell. There are several such environments available of which -Cygwin and -MinGW/MSYS are currently supported for the -OpenJDK build. One of the differences of these systems from standard Windows -tools is the way they handle Windows path names, particularly path names which -contain spaces, backslashes as path separators and possibly drive letters. -Depending on the use case and the specifics of each environment these path -problems can be solved by a combination of quoting whole paths, translating -backslashes to forward slashes, escaping backslashes with additional -backslashes and translating the path names to their "8.3" -version.

- -

- -
CYGWIN
- -

CYGWIN is an open source, Linux-like environment which tries to emulate a -complete POSIX layer on Windows. It tries to be smart about path names and can -usually handle all kinds of paths if they are correctly quoted or escaped -although internally it maps drive letters <drive>: to a virtual directory -/cygdrive/<drive>.

- -

You can always use the cygpath utility to map pathnames with spaces or the -backslash character into the C:/ style of pathname (called 'mixed'), e.g. -cygpath -s -m "<path>".

- -

Note that the use of CYGWIN creates a unique problem with regards to setting -PATH. Normally on Windows the PATH variable contains directories -separated with the ";" character (Solaris and Linux use ":"). With CYGWIN, it -uses ":", but that means that paths like "C:/path" cannot be placed in the -CYGWIN version of PATH and instead CYGWIN uses something like -/cygdrive/c/path which CYGWIN understands, but only CYGWIN understands.

- -

The OpenJDK build requires CYGWIN version 1.7.16 or newer. Information about -CYGWIN can be obtained from the CYGWIN website at -www.cygwin.com.

- -

By default CYGWIN doesn't install all the tools required for building the -OpenJDK. Along with the default installation, you need to install the following -tools.

- -
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Binary NameCategoryPackageDescription
ar.exeDevelbinutilsThe GNU assembler, linker and binary utilities
make.exeDevelmakeThe GNU version of the 'make' utility built for CYGWIN
m4.exeInterpretersm4GNU implementation of the traditional Unix macro processor
cpio.exeUtilscpioA program to manage archives of files
gawk.exeUtilsawkPattern-directed scanning and processing language
file.exeUtilsfileDetermines file type using 'magic' numbers
zip.exeArchivezipPackage and compress (archive) files
unzip.exeArchiveunzipExtract compressed files in a ZIP archive
free.exeSystemprocpsDisplay amount of free and used memory in the system

-
- -

Note that the CYGWIN software can conflict with other non-CYGWIN software on -your Windows system. CYGWIN provides a FAQ for known issues and problems, of particular interest is the -section on BLODA (applications that interfere with -CYGWIN).

- -

- -
MinGW/MSYS
- -

MinGW ("Minimalist GNU for Windows") is a collection of free Windows specific -header files and import libraries combined with GNU toolsets that allow one to -produce native Windows programs that do not rely on any 3rd-party C runtime -DLLs. MSYS is a supplement to MinGW which allows building applications and -programs which rely on traditional UNIX tools to be present. Among others this -includes tools like bash and make. See MinGW/MSYS for more information.

- -

Like Cygwin, MinGW/MSYS can handle different types of path formats. They are -internally converted to paths with forward slashes and drive letters -<drive>: replaced by a virtual directory /<drive>. Additionally, MSYS -automatically detects binaries compiled for the MSYS environment and feeds them -with the internal, Unix-style path names. If native Windows applications are -called from within MSYS programs their path arguments are automatically -converted back to Windows style path names with drive letters and backslashes -as path separators. This may cause problems for Windows applications which use -forward slashes as parameter separator (e.g. cl /nologo /I) because MSYS may -wrongly replace such parameters by drive letters.

- -

In addition to the tools which will be installed by default, you have to -manually install the msys-zip and msys-unzip packages. This can be easily -done with the MinGW command line installer:

- -
  mingw-get.exe install msys-zip
-  mingw-get.exe install msys-unzip
-
- -

- -
Visual Studio 2010 Compilers
- -

The 32-bit and 64-bit OpenJDK Windows build requires Microsoft Visual Studio -C++ 2010 (VS2010) Professional Edition or Express compiler. The compiler and -other tools are expected to reside in the location defined by the variable -VS100COMNTOOLS which is set by the Microsoft Visual Studio installer.

- -

Only the C++ part of VS2010 is needed. Try to let the installation go to the -default install directory. Always reboot your system after installing VS2010. -The system environment variable VS100COMNTOOLS should be set in your -environment.

- -

Make sure that TMP and TEMP are also set in the environment and refer to -Windows paths that exist, like C:\temp, not /tmp, not /cygdrive/c/temp, -and not C:/temp. C:\temp is just an example, it is assumed that this area -is private to the user, so by default after installs you should see a unique -user path in these variables.

- -

- -

Mac OS X

- -

Make sure you get the right XCode version.

- -
- -

- -

Configure

- -

The basic invocation of the configure script looks like:

- -
-

bash ./configure [options]

-
- -

This will create an output directory containing the "configuration" and setup -an area for the build result. This directory typically looks like:

- -
-

build/linux-x64-normal-server-release

-
- -

configure will try to figure out what system you are running on and where all -necessary build components are. If you have all prerequisites for building -installed, it should find everything. If it fails to detect any component -automatically, it will exit and inform you about the problem. When this -happens, read more below in the configure options.

- -

Some examples:

- -
-

Windows 32bit build with freetype specified:
- bash ./configure --with-freetype=/cygdrive/c/freetype-i586 --with-target- -bits=32

- -

Debug 64bit Build:
- bash ./configure --enable-debug --with-target-bits=64

-
- -

- -

Configure Options

- -

Complete details on all the OpenJDK configure options can be seen with:

- -
-

bash ./configure --help=short

-
- -

Use -help to see all the configure options available. You can generate any -number of different configurations, e.g. debug, release, 32, 64, etc.

- -

Some of the more commonly used configure options are:

- -
-

--enable-debug
- set the debug level to fastdebug (this is a shorthand for --with-debug- - level=fastdebug)

-
- -

- -
-

--with-alsa=path
- select the location of the Advanced Linux Sound Architecture (ALSA)

- -

Version 0.9.1 or newer of the ALSA files are required for building the - OpenJDK on Linux. These Linux files are usually available from an "alsa" of - "libasound" development package, and it's highly recommended that you try - and use the package provided by the particular version of Linux that you are - using.

- -

--with-boot-jdk=path
- select the Bootstrap JDK

- -

--with-boot-jdk-jvmargs="args"
- provide the JVM options to be used to run the Bootstrap JDK

- -

--with-cacerts=path
- select the path to the cacerts file.

- -

See Certificate Authority on Wikipedia for a better understanding of the Certificate - Authority (CA). A certificates file named "cacerts" represents a system-wide - keystore with CA certificates. In JDK and JRE binary bundles, the "cacerts" - file contains root CA certificates from several public CAs (e.g., VeriSign, - Thawte, and Baltimore). The source contain a cacerts file without CA root - certificates. Formal JDK builders will need to secure permission from each - public CA and include the certificates into their own custom cacerts file. - Failure to provide a populated cacerts file will result in verification - errors of a certificate chain during runtime. By default an empty cacerts - file is provided and that should be fine for most JDK developers.

-
- -

- -
-

--with-cups=path
- select the CUPS install location

- -

The Common UNIX Printing System (CUPS) Headers are required for building the - OpenJDK on Solaris and Linux. The Solaris header files can be obtained by - installing the package SFWcups from the Solaris Software Companion - CD/DVD, these often will be installed into the directory /opt/sfw/cups.

- -

The CUPS header files can always be downloaded from - www.cups.org.

- -

--with-cups-include=path
- select the CUPS include directory location

- -

--with-debug-level=level
- select the debug information level of release, fastdebug, or slowdebug

- -

--with-dev-kit=path
- select location of the compiler install or developer install location

-
- -

- -
-

--with-freetype=path
- select the freetype files to use.

- -

Expecting the freetype libraries under lib/ and the headers under - include/.

- -

Version 2.3 or newer of FreeType is required. On Unix systems required files - can be available as part of your distribution (while you still may need to - upgrade them). Note that you need development version of package that - includes both the FreeType library and header files.

- -

You can always download latest FreeType version from the FreeType - website. Building the freetype 2 libraries from - scratch is also possible, however on Windows refer to the Windows FreeType - DLL build instructions.

- -

Note that by default FreeType is built with byte code hinting support - disabled due to licensing restrictions. In this case, text appearance and - metrics are expected to differ from Sun's official JDK build. See the - SourceForge FreeType2 Home Page - for more information.

- -

--with-import-hotspot=path
- select the location to find hotspot binaries from a previous build to avoid - building hotspot

- -

--with-target-bits=arg
- select 32 or 64 bit build

- -

--with-jvm-variants=variants
- select the JVM variants to build from, comma separated list that can - include: server, client, kernel, zero and zeroshark

- -

--with-memory-size=size
- select the RAM size that GNU make will think this system has

- -

--with-msvcr-dll=path
- select the msvcr100.dll file to include in the Windows builds (C/C++ - runtime library for Visual Studio).

- -

This is usually picked up automatically from the redist directories of - Visual Studio 2010.

- -

--with-num-cores=cores
- select the number of cores to use (processor count or CPU count)

-
- -

- -
-

--with-x=path
- select the location of the X11 and xrender files.

- -

The XRender Extension Headers are required for building the OpenJDK on - Solaris and Linux. The Linux header files are usually available from a - "Xrender" development package, it's recommended that you try and use the - package provided by the particular distribution of Linux that you are using. - The Solaris XRender header files is included with the other X11 header files - in the package SFWxwinc on new enough versions of Solaris and will be - installed in /usr/X11/include/X11/extensions/Xrender.h or - /usr/openwin/share/include/X11/extensions/Xrender.h

-
- -
- -

- -

Make

- -

The basic invocation of the make utility looks like:

- -
-

make all

-
- -

This will start the build to the output directory containing the -"configuration" that was created by the configure script. Run make help for -more information on the available targets.

- -

There are some of the make targets that are of general interest:

- -
-

empty
- build everything but no images

- -

all
- build everything including images

- -

all-conf
- build all configurations

- -

images
- create complete j2sdk and j2re images

- -

install
- install the generated images locally, typically in /usr/local

- -

clean
- remove all files generated by make, but not those generated by configure

- -

dist-clean
- remove all files generated by both and configure (basically killing the - configuration)

- -

help
- give some help on using make, including some interesting make targets

-
- -
- -

- -

Testing

- -

When the build is completed, you should see the generated binaries and -associated files in the j2sdk-image directory in the output directory. In -particular, the build/*/images/j2sdk-image/bin directory should contain -executables for the OpenJDK tools and utilities for that configuration. The -testing tool jtreg will be needed and can be found at: the jtreg -site. The provided regression tests in the -repositories can be run with the command:

- -
-

cd test && make PRODUCT_HOME=`pwd`/../build/*/images/j2sdk-image all

-
- -
- -

- -

Appendix A: Hints and Tips

- -

- -

FAQ

- -

Q: The generated-configure.sh file looks horrible! How are you going to -edit it?
-A: The generated-configure.sh file is generated (think "compiled") by the -autoconf tools. The source code is in configure.ac and various .m4 files in -common/autoconf, which are much more readable.

- -

Q: Why is the generated-configure.sh file checked in, if it is -generated?
-A: If it was not generated, every user would need to have the autoconf -tools installed, and re-generate the configure file as the first step. Our -goal is to minimize the work needed to be done by the user to start building -OpenJDK, and to minimize the number of external dependencies required.

- -

Q: Do you require a specific version of autoconf for regenerating -generated-configure.sh?
-A: Yes, version 2.69 is required and should be easy enough to aquire on all -supported operating systems. The reason for this is to avoid large spurious -changes in generated-configure.sh.

- -

Q: How do you regenerate generated-configure.sh after making changes to -the input files?
-A: Regnerating generated-configure.sh should always be done using the -script common/autoconf/autogen.sh to ensure that the correct files get -updated. This script should also be run after mercurial tries to merge -generated-configure.sh as a merge of the generated file is not guaranteed to -be correct.

- -

Q: What are the files in common/makefiles/support/* for? They look like -gibberish.
-A: They are a somewhat ugly hack to compensate for command line length -limitations on certain platforms (Windows, Solaris). Due to a combination of -limitations in make and the shell, command lines containing too many files will -not work properly. These helper files are part of an elaborate hack that will -compress the command line in the makefile and then uncompress it safely. We're -not proud of it, but it does fix the problem. If you have any better -suggestions, we're all ears! :-)

- -

Q: I want to see the output of the commands that make runs, like in the old -build. How do I do that?
-A: You specify the LOG variable to make. There are several log levels:

- -
    -
  • warn -- Default and very quiet.
  • -
  • info -- Shows more progress information than warn.
  • -
  • debug -- Echos all command lines and prints all macro calls for -compilation definitions.
  • -
  • trace -- Echos all $(shell) command lines as well.
  • -
- -

Q: When do I have to re-run configure?
-A: Normally you will run configure only once for creating a -configuration. You need to re-run configuration only if you want to change any -configuration options, or if you pull down changes to the configure script.

- -

Q: I have added a new source file. Do I need to modify the makefiles?
-A: Normally, no. If you want to create e.g. a new native library, you will -need to modify the makefiles. But for normal file additions or removals, no -changes are needed. There are certan exceptions for some native libraries where -the source files are spread over many directories which also contain sources -for other libraries. In these cases it was simply easier to create include -lists rather than excludes.

- -

Q: When I run configure --help, I see many strange options, like ---dvidir. What is this?
-A: Configure provides a slew of options by default, to all projects that -use autoconf. Most of them are not used in OpenJDK, so you can safely ignore -them. To list only OpenJDK specific features, use configure --help=short -instead.

- -

Q: configure provides OpenJDK-specific features such as --with- -builddeps-server that are not described in this document. What about those?
-A: Try them out if you like! But be aware that most of these are -experimental features. Many of them don't do anything at all at the moment; the -option is just a placeholder. Others depend on pieces of code or infrastructure -that is currently not ready for prime time.

- -

Q: How will you make sure you don't break anything?
-A: We have a script that compares the result of the new build system with -the result of the old. For most part, we aim for (and achieve) byte-by-byte -identical output. There are however technical issues with e.g. native binaries, -which might differ in a byte-by-byte comparison, even when building twice with -the old build system. For these, we compare relevant aspects (e.g. the symbol -table and file size). Note that we still don't have 100% equivalence, but we're -close.

- -

Q: I noticed this thing X in the build that looks very broken by design. -Why don't you fix it?
-A: Our goal is to produce a build output that is as close as technically -possible to the old build output. If things were weird in the old build, they -will be weird in the new build. Often, things were weird before due to -obscurity, but in the new build system the weird stuff comes up to the surface. -The plan is to attack these things at a later stage, after the new build system -is established.

- -

Q: The code in the new build system is not that well-structured. Will you -fix this?
-A: Yes! The new build system has grown bit by bit as we converted the old -system. When all of the old build system is converted, we can take a step back -and clean up the structure of the new build system. Some of this we plan to do -before replacing the old build system and some will need to wait until after.

- -

Q: Is anything able to use the results of the new build's default make -target?
-A: Yes, this is the minimal (or roughly minimal) set of compiled output -needed for a developer to actually execute the newly built JDK. The idea is -that in an incremental development fashion, when doing a normal make, you -should only spend time recompiling what's changed (making it purely -incremental) and only do the work that's needed to actually run and test your -code. The packaging stuff that is part of the images target is not needed for -a normal developer who wants to test his new code. Even if it's quite fast, -it's still unnecessary. We're targeting sub-second incremental rebuilds! ;-) -(Or, well, at least single-digit seconds...)

- -

Q: I usually set a specific environment variable when building, but I can't -find the equivalent in the new build. What should I do?
-A: It might very well be that we have neglected to add support for an -option that was actually used from outside the build system. Email us and we -will add support for it!

- -

- -

Build Performance Tips

- -

Building OpenJDK requires a lot of horsepower. Some of the build tools can be -adjusted to utilize more or less of resources such as parallel threads and -memory. The configure script analyzes your system and selects reasonable -values for such options based on your hardware. If you encounter resource -problems, such as out of memory conditions, you can modify the detected values -with:

- -
    -
  • --with-num-cores -- number of cores in the build system, e.g. ---with-num-cores=8
  • -
  • --with-memory-size -- memory (in MB) available in the build system, -e.g. --with-memory-size=1024
  • -
- -

It might also be necessary to specify the JVM arguments passed to the Bootstrap -JDK, using e.g. --with-boot-jdk-jvmargs="-Xmx8G -enableassertions". Doing -this will override the default JVM arguments passed to the Bootstrap JDK.

- -

One of the top goals of the new build system is to improve the build -performance and decrease the time needed to build. This will soon also apply to -the java compilation when the Smart Javac wrapper is making its way into jdk8. -It can be tried in the build-infra repository already. You are likely to find -that the new build system is faster than the old one even without this feature.

- -

At the end of a successful execution of configure, you will get a performance -summary, indicating how well the build will perform. Here you will also get -performance hints. If you want to build fast, pay attention to those!

- -

Building with ccache

- -

A simple way to radically speed up compilation of native code -(typically hotspot and native libraries in JDK) is to install -ccache. This will cache and reuse prior compilation results, if the -source code is unchanged. However, ccache versions prior to 3.1.4 does -not work correctly with the precompiled headers used in OpenJDK. So if -your platform supports ccache at 3.1.4 or later, we highly recommend -installing it. This is currently only supported on linux.

- -

Building on local disk

- -

If you are using network shares, e.g. via NFS, for your source code, make sure -the build directory is situated on local disk. The performance penalty is -extremely high for building on a network share, close to unusable.

- -

Building only one JVM

- -

The old build builds multiple JVMs on 32-bit systems (client and server; and on -Windows kernel as well). In the new build we have changed this default to only -build server when it's available. This improves build times for those not -interested in multiple JVMs. To mimic the old behavior on platforms that -support it, use --with-jvm-variants=client,server.

- -

Selecting the number of cores to build on

- -

By default, configure will analyze your machine and run the make process in -parallel with as many threads as you have cores. This behavior can be -overridden, either "permanently" (on a configure basis) using ---with-num-cores=N or for a single build only (on a make basis), using -make JOBS=N.

- -

If you want to make a slower build just this time, to save some CPU power for -other processes, you can run e.g. make JOBS=2. This will force the makefiles -to only run 2 parallel processes, or even make JOBS=1 which will disable -parallelism.

- -

If you want to have it the other way round, namely having slow builds default -and override with fast if you're impatient, you should call configure with ---with-num-cores=2, making 2 the default. If you want to run with more cores, -run make JOBS=8

- -

- -

Troubleshooting

- -

Solving build problems

- -

If the build fails (and it's not due to a compilation error in a source file -you've changed), the first thing you should do is to re-run the build with more -verbosity. Do this by adding LOG=debug to your make command line.

- -

The build log (with both stdout and stderr intermingled, basically the same as -you see on your console) can be found as build.log in your build directory.

- -

You can ask for help on build problems with the new build system on either the -build-dev or the -build-infra-dev -mailing lists. Please include the relevant parts of the build log.

- -

A build can fail for any number of reasons. Most failures are a result of -trying to build in an environment in which all the pre-build requirements have -not been met. The first step in troubleshooting a build failure is to recheck -that you have satisfied all the pre-build requirements for your platform. -Scanning the configure log is a good first step, making sure that what it -found makes sense for your system. Look for strange error messages or any -difficulties that configure had in finding things.

- -

Some of the more common problems with builds are briefly described below, with -suggestions for remedies.

- -
    -
  • Corrupted Bundles on Windows:
    -Some virus scanning software has been known to corrupt the downloading of -zip bundles. It may be necessary to disable the 'on access' or 'real time' -virus scanning features to prevent this corruption. This type of 'real time' -virus scanning can also slow down the build process significantly. -Temporarily disabling the feature, or excluding the build output directory -may be necessary to get correct and faster builds.

  • -
  • Slow Builds:
    -If your build machine seems to be overloaded from too many simultaneous C++ -compiles, try setting the JOBS=1 on the make command line. Then try -increasing the count slowly to an acceptable level for your system. Also:

    - -

    Creating the javadocs can be very slow, if you are running javadoc, consider -skipping that step.

    - -

    Faster CPUs, more RAM, and a faster DISK usually helps. The VM build tends -to be CPU intensive (many C++ compiles), and the rest of the JDK will often -be disk intensive.

    - -

    Faster compiles are possible using a tool called -ccache.

  • -
  • File time issues:
    -If you see warnings that refer to file time stamps, e.g.

    - -
    -

    Warning message: File 'xxx' has modification time in the future.
    -Warning message: Clock skew detected. Your build may be incomplete.

    -
    - -

    These warnings can occur when the clock on the build machine is out of sync -with the timestamps on the source files. Other errors, apparently unrelated -but in fact caused by the clock skew, can occur along with the clock skew -warnings. These secondary errors may tend to obscure the fact that the true -root cause of the problem is an out-of-sync clock.

    - -

    If you see these warnings, reset the clock on the build machine, run -"gmake clobber" or delete the directory containing the build output, and -restart the build from the beginning.

  • -
  • Error message: Trouble writing out table to disk
    -Increase the amount of swap space on your build machine. This could be -caused by overloading the system and it may be necessary to use:

    - -
    -

    make JOBS=1

    -
    - -

    to reduce the load on the system.

  • -
  • Error Message: libstdc++ not found:
    -This is caused by a missing libstdc++.a library. This is installed as part -of a specific package (e.g. libstdc++.so.devel.386). By default some 64-bit -Linux versions (e.g. Fedora) only install the 64-bit version of the -libstdc++ package. Various parts of the JDK build require a static link of -the C++ runtime libraries to allow for maximum portability of the built -images.

  • -
  • Linux Error Message: cannot restore segment prot after reloc
    -This is probably an issue with SELinux (See SELinux on -Wikipedia). Parts of the VM is built -without the -fPIC for performance reasons.

    - -

    To completely disable SELinux:

    - -
      -
    1. $ su root
    2. -
    3. # system-config-securitylevel
    4. -
    5. In the window that appears, select the SELinux tab
    6. -
    7. Disable SELinux
    8. -
    - -

    Alternatively, instead of completely disabling it you could disable just -this one check.

    - -
      -
    1. Select System->Administration->SELinux Management
    2. -
    3. In the SELinux Management Tool which appears, select "Boolean" from the -menu on the left
    4. -
    5. Expand the "Memory Protection" group
    6. -
    7. Check the first item, labeled "Allow all unconfined executables to use -libraries requiring text relocation ..."
    8. -
  • -
  • Windows Error Messages:
    -*** fatal error - couldn't allocate heap, ...
    -rm fails with "Directory not empty"
    -unzip fails with "cannot create ... Permission denied"
    -unzip fails with "cannot create ... Error 50"

    - -

    The CYGWIN software can conflict with other non-CYGWIN software. See the -CYGWIN FAQ section on BLODA (applications that interfere with -CYGWIN).

  • -
  • Windows Error Message: spawn failed
    -Try rebooting the system, or there could be some kind of issue with the disk -or disk partition being used. Sometimes it comes with a "Permission Denied" -message.

  • -
- -
- -

- -

Appendix B: GNU make

- -

The Makefiles in the OpenJDK are only valid when used with the GNU version of -the utility command make (usually called gmake on Solaris). A few notes -about using GNU make:

- -
    -
  • You need GNU make version 3.81 or newer. If the GNU make utility on your -systems is not 3.81 or newer, see "Building GNU make".
  • -
  • Place the location of the GNU make binary in the PATH.
  • -
  • Solaris: Do NOT use /usr/bin/make on Solaris. If your Solaris system -has the software from the Solaris Developer Companion CD installed, you -should try and use gmake which will be located in either the /usr/bin, -/opt/sfw/bin or /usr/sfw/bin directory.
  • -
  • Windows: Make sure you start your build inside a bash shell.
  • -
  • Mac OS X: The XCode "command line tools" must be installed on your Mac.
  • -
- -

Information on GNU make, and access to ftp download sites, are available on the -GNU make web site . The latest -source to GNU make is available at -ftp.gnu.org/pub/gnu/make/.

- -

- -

Building GNU make

- -

First step is to get the GNU make 3.81 or newer source from -ftp.gnu.org/pub/gnu/make/. Building is a -little different depending on the OS but is basically done with:

- -
  bash ./configure
-  make
-
- -
- -

- -

Appendix C: Build Environments

- -

Minimum Build Environments

- -

This file often describes specific requirements for what we call the "minimum -build environments" (MBE) for this specific release of the JDK. What is listed -below is what the Oracle Release Engineering Team will use to build the Oracle -JDK product. Building with the MBE will hopefully generate the most compatible -bits that install on, and run correctly on, the most variations of the same -base OS and hardware architecture. In some cases, these represent what is often -called the least common denominator, but each Operating System has different -aspects to it.

- -

In all cases, the Bootstrap JDK version minimum is critical, we cannot -guarantee builds will work with older Bootstrap JDK's. Also in all cases, more -RAM and more processors is better, the minimums listed below are simply -recommendations.

- -

With Solaris and Mac OS X, the version listed below is the oldest release we -can guarantee builds and works, and the specific version of the compilers used -could be critical.

- -

With Windows the critical aspect is the Visual Studio compiler used, which due -to it's runtime, generally dictates what Windows systems can do the builds and -where the resulting bits can be used.

- -

NOTE: We expect a change here off these older Windows OS releases and to a -'less older' one, probably Windows 2008R2 X64.

- -

With Linux, it was just a matter of picking a stable distribution that is a -good representative for Linux in general.

- -

NOTE: We expect a change here from Fedora 9 to something else, but it has not -been completely determined yet, possibly Ubuntu 12.04 X64, unbiased community -feedback would be welcome on what a good choice would be here.

- -

It is understood that most developers will NOT be using these specific -versions, and in fact creating these specific versions may be difficult due to -the age of some of this software. It is expected that developers are more often -using the more recent releases and distributions of these operating systems.

- -

Compilation problems with newer or different C/C++ compilers is a common -problem. Similarly, compilation problems related to changes to the -/usr/include or system header files is also a common problem with older, -newer, or unreleased OS versions. Please report these types of problems as bugs -so that they can be dealt with accordingly.

- -
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Base OS and ArchitectureOSC/C++ CompilerBootstrap JDKProcessorsRAM MinimumDISK Needs
Linux X86 (32-bit) and X64 (64-bit)Fedora 9gcc 4.3 JDK 7u72 or more1 GB6 GB
Solaris SPARC (32-bit) and SPARCV9 (64-bit)Solaris 10 Update 6Studio 12 Update 1 + patchesJDK 7u74 or more4 GB8 GB
Solaris X86 (32-bit) and X64 (64-bit)Solaris 10 Update 6Studio 12 Update 1 + patchesJDK 7u74 or more4 GB8 GB
Windows X86 (32-bit)Windows XPMicrosoft Visual Studio C++ 2010 Professional EditionJDK 7u72 or more2 GB6 GB
Windows X64 (64-bit)Windows Server 2003 - Enterprise x64 EditionMicrosoft Visual Studio C++ 2010 Professional EditionJDK 7u72 or more2 GB6 GB
Mac OS X X64 (64-bit)Mac OS X 10.7 "Lion"XCode 4.5.2 or newerJDK 7u72 or more4 GB6 GB

-
- -
- -

- -

Specific Developer Build Environments

- -

We won't be listing all the possible environments, but we will try to provide -what information we have available to us.

- -

NOTE: The community can help out by updating this part of the document.

- -

Fedora

- -

After installing the latest Fedora you need to -install several build dependencies. The simplest way to do it is to execute the -following commands as user root:

- -
  yum-builddep java-1.7.0-openjdk
-  yum install gcc gcc-c++
-
- -

In addition, it's necessary to set a few environment variables for the build:

- -
  export LANG=C
-  export PATH="/usr/lib/jvm/java-openjdk/bin:${PATH}"
-
- -

CentOS 5.5

- -

After installing CentOS 5.5 you need to make sure you -have the following Development bundles installed:

- -
    -
  • Development Libraries
  • -
  • Development Tools
  • -
  • Java Development
  • -
  • X Software Development (Including XFree86-devel)
  • -
- -

Plus the following packages:

- -
    -
  • cups devel: Cups Development Package
  • -
  • alsa devel: Alsa Development Package
  • -
  • Xi devel: libXi.so Development Package
  • -
- -

The freetype 2.3 packages don't seem to be available, but the freetype 2.3 -sources can be downloaded, built, and installed easily enough from the -freetype site. Build and install -with something like:

- -
  bash ./configure
-  make
-  sudo -u root make install
-
- -

Mercurial packages could not be found easily, but a Google search should find -ones, and they usually include Python if it's needed.

- -

Debian 5.0 (Lenny)

- -

After installing Debian 5 you need to install several -build dependencies. The simplest way to install the build dependencies is to -execute the following commands as user root:

- -
  aptitude build-dep openjdk-7
-  aptitude install openjdk-7-jdk libmotif-dev
-
- -

In addition, it's necessary to set a few environment variables for the build:

- -
  export LANG=C
-  export PATH="/usr/lib/jvm/java-7-openjdk/bin:${PATH}"
-
- -

Ubuntu 12.04

- -

After installing Ubuntu 12.04 you need to install several -build dependencies. The simplest way to do it is to execute the following -commands:

- -
  sudo aptitude build-dep openjdk-7
-  sudo aptitude install openjdk-7-jdk
-
- -

In addition, it's necessary to set a few environment variables for the build:

- -
  export LANG=C
-  export PATH="/usr/lib/jvm/java-7-openjdk/bin:${PATH}"
-
- -

OpenSUSE 11.1

- -

After installing OpenSUSE 11.1 you need to install -several build dependencies. The simplest way to install the build dependencies -is to execute the following commands:

- -
  sudo zypper source-install -d java-1_7_0-openjdk
-  sudo zypper install make
-
- -

In addition, it is necessary to set a few environment variables for the build:

- -
  export LANG=C
-  export PATH="/usr/lib/jvm/java-1.7.0-openjdk/bin:$[PATH}"
-
- -

Finally, you need to unset the JAVA_HOME environment variable:

- -
  export -n JAVA_HOME`
-
- -

Mandriva Linux One 2009 Spring

- -

After installing Mandriva Linux One 2009 Spring you need -to install several build dependencies. The simplest way to install the build -dependencies is to execute the following commands as user root:

- -
  urpmi java-1.7.0-openjdk-devel make gcc gcc-c++ freetype-devel zip unzip
-    libcups2-devel libxrender1-devel libalsa2-devel libstc++-static-devel
-    libxtst6-devel libxi-devel
-
- -

In addition, it is necessary to set a few environment variables for the build:

- -
  export LANG=C
-  export PATH="/usr/lib/jvm/java-1.7.0-openjdk/bin:${PATH}"
-
- -

OpenSolaris 2009.06

- -

After installing OpenSolaris 2009.06 you need to -install several build dependencies. The simplest way to install the build -dependencies is to execute the following commands:

- -
  pfexec pkg install SUNWgmake SUNWj7dev sunstudioexpress SUNWcups SUNWzip
-    SUNWunzip SUNWxwhl SUNWxorg-headers SUNWaudh SUNWfreetype2
-
- -

In addition, it is necessary to set a few environment variables for the build:

- -
  export LANG=C
-  export PATH="/opt/SunStudioExpress/bin:${PATH}"
-
- -
- -

End of the OpenJDK build README document.

- -

Please come again!

- - diff --git a/common/autoconf/basics.m4 b/common/autoconf/basics.m4 index 692ef831abf..66e69ad5a8e 100644 --- a/common/autoconf/basics.m4 +++ b/common/autoconf/basics.m4 @@ -427,6 +427,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS], BASIC_PATH_PROGS(DF, df) BASIC_PATH_PROGS(SETFILE, SetFile) BASIC_PATH_PROGS(CPIO, [cpio bsdcpio]) + BASIC_PATH_PROGS(PANDOC, pandoc) ]) # Setup basic configuration paths, and platform-specific stuff related to PATHs. diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index b3c5819161f..a89cb30f373 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -948,6 +948,7 @@ build_os build_vendor build_cpu build +PANDOC CPIO SETFILE DF @@ -1016,7 +1017,6 @@ infodir docdir oldincludedir includedir -runstatedir localstatedir sharedstatedir sysconfdir @@ -1178,6 +1178,7 @@ READLINK DF SETFILE CPIO +PANDOC UNZIP ZIP LDD @@ -1261,7 +1262,6 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1514,15 +1514,6 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1660,7 +1651,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir + libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1813,7 +1804,6 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -2074,6 +2064,7 @@ Some influential environment variables: DF Override default value for DF SETFILE Override default value for SETFILE CPIO Override default value for CPIO + PANDOC Override default value for PANDOC UNZIP Override default value for UNZIP ZIP Override default value for ZIP LDD Override default value for LDD @@ -4437,7 +4428,7 @@ VS_TOOLSET_SUPPORTED_2022=true #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1670219878 +DATE_WHEN_GENERATED=1694011184 ############################################################################### # @@ -13497,6 +13488,192 @@ $as_echo "$tool_specified" >&6; } + # Publish this variable in the help. + + + if test "x$PANDOC" = x; then + # The variable is not set by user, try to locate tool using the code snippet + for ac_prog in pandoc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PANDOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PANDOC in + [\\/]* | ?:[\\/]*) + ac_cv_path_PANDOC="$PANDOC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PANDOC="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PANDOC=$ac_cv_path_PANDOC +if test -n "$PANDOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PANDOC" >&5 +$as_echo "$PANDOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$PANDOC" && break +done + + else + # The variable is set, but is it from the command line or the environment? + + # Try to remove the string !PANDOC! from our list. + try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!PANDOC!/} + if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then + # If it failed, the variable was not from the command line. Ignore it, + # but warn the user (except for BASH, which is always set by the calling BASH). + if test "xPANDOC" != xBASH; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of PANDOC from the environment. Use command line variables instead." >&5 +$as_echo "$as_me: WARNING: Ignoring value of PANDOC from the environment. Use command line variables instead." >&2;} + fi + # Try to locate tool using the code snippet + for ac_prog in pandoc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PANDOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PANDOC in + [\\/]* | ?:[\\/]*) + ac_cv_path_PANDOC="$PANDOC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PANDOC="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PANDOC=$ac_cv_path_PANDOC +if test -n "$PANDOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PANDOC" >&5 +$as_echo "$PANDOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$PANDOC" && break +done + + else + # If it succeeded, then it was overridden by the user. We will use it + # for the tool. + + # First remove it from the list of overridden variables, so we can test + # for unknown variables in the end. + CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var" + + # Check if the provided tool contains a complete path. + tool_specified="$PANDOC" + tool_basename="${tool_specified##*/}" + if test "x$tool_basename" = "x$tool_specified"; then + # A command without a complete path is provided, search $PATH. + { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool PANDOC=$tool_basename" >&5 +$as_echo "$as_me: Will search for user supplied tool PANDOC=$tool_basename" >&6;} + # Extract the first word of "$tool_basename", so it can be a program name with args. +set dummy $tool_basename; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PANDOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PANDOC in + [\\/]* | ?:[\\/]*) + ac_cv_path_PANDOC="$PANDOC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PANDOC="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PANDOC=$ac_cv_path_PANDOC +if test -n "$PANDOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PANDOC" >&5 +$as_echo "$PANDOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "x$PANDOC" = x; then + as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5 + fi + else + # Otherwise we believe it is a complete path. Use it as it is. + { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool PANDOC=$tool_specified" >&5 +$as_echo "$as_me: Will use user supplied tool PANDOC=$tool_specified" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PANDOC" >&5 +$as_echo_n "checking for PANDOC... " >&6; } + if test ! -x "$tool_specified"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } + as_fn_error $? "User supplied tool PANDOC=$tool_specified does not exist or is not executable" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5 +$as_echo "$tool_specified" >&6; } + fi + fi + fi + + + + # Now we can determine OpenJDK build and target platforms. This is required to # have early on. # Make sure we can run config.sub. diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in index 461ec59711f..9573bb2cbd0 100644 --- a/common/autoconf/spec.gmk.in +++ b/common/autoconf/spec.gmk.in @@ -549,6 +549,7 @@ LN:=@LN@ MKDIR:=@MKDIR@ MV:=@MV@ NAWK:=@NAWK@ +PANDOC:=@PANDOC@ PRINTF:=@PRINTF@ PWD:=@THEPWDCMD@ RM:=@RM@ diff --git a/common/bin/update-build-readme.sh b/common/bin/update-build-readme.sh deleted file mode 100644 index f16e289b32a..00000000000 --- a/common/bin/update-build-readme.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash - -# Get an absolute path to this script, since that determines the top-level -# directory. -this_script_dir=`dirname $0` -TOPDIR=`cd $this_script_dir/../.. > /dev/null && pwd` - -GREP=grep -MD_FILE=$TOPDIR/README-builds.md -HTML_FILE=$TOPDIR/README-builds.html - -# Locate the markdown processor tool and check that it is the correct version. -locate_markdown_processor() { - if [ -z "$MARKDOWN" ]; then - MARKDOWN=`which markdown 2> /dev/null` - if [ -z "$MARKDOWN" ]; then - echo "Error: Cannot locate markdown processor" 1>&2 - exit 1 - fi - fi - - # Test version - MARKDOWN_VERSION=`$MARKDOWN -version | $GREP version` - if [ "x$MARKDOWN_VERSION" != "xThis is Markdown, version 1.0.1." ]; then - echo "Error: Expected markdown version 1.0.1." 1>&2 - echo "Actual version found: $MARKDOWN_VERSION" 1>&2 - echo "Download markdown here: https://daringfireball.net/projects/markdown/" 1>&2 - exit 1 - fi - -} - -# Verify that the source markdown file looks sound. -verify_source_code() { - TOO_LONG_LINES=`$GREP -E -e '^.{80}.+$' $MD_FILE` - if [ "x$TOO_LONG_LINES" != x ]; then - echo "Warning: The following lines are longer than 80 characters:" - $GREP -E -e '^.{80}.+$' $MD_FILE - fi -} - -# Convert the markdown file to html format. -process_source() { - echo "Generating html file from markdown" - cat > $HTML_FILE << END - - - OpenJDK Build README - - -END - ${MARKDOWN} $MD_FILE >> $HTML_FILE - cat >> $HTML_FILE < - -END - echo "Done" -} - -locate_markdown_processor -verify_source_code -process_source diff --git a/corba/README b/corba/README deleted file mode 100644 index 56825f5ca08..00000000000 --- a/corba/README +++ /dev/null @@ -1,14 +0,0 @@ -README: - This file should be located at the top of the corba Mercurial repository. - - See http://openjdk.java.net/ for more information about the OpenJDK. - - See ../README-builds.html for complete details on build machine requirements. - -Simple Build Instructions: - - cd make && gnumake - - The files that will be imported into the jdk build will be in the "dist" - directory. - diff --git a/doc/building.html b/doc/building.html new file mode 100644 index 00000000000..84d2aa3ace2 --- /dev/null +++ b/doc/building.html @@ -0,0 +1,715 @@ + + + + + + + OpenJDK Build README + + + + +
+

OpenJDK Build README

+
+
+OpenJDK
OpenJDK
+
+
+

Introduction

+

This README file contains build instructions for the OpenJDK. Building the source code for the OpenJDK requires a certain degree of technical expertise.

+

!!!!!!!!!!!!!!! THIS IS A MAJOR RE-WRITE of this document. !!!!!!!!!!!!!

+

Some Headlines:

+
    +
  • The build is now a “configure && make” style build
  • +
  • Any GNU make 3.81 or newer should work
  • +
  • The build should scale, i.e. more processors should cause the build to be done in less wall-clock time
  • +
  • Nested or recursive make invocations have been significantly reduced, as has the total fork/exec or spawning of sub processes during the build
  • +
  • Windows MKS usage is no longer supported
  • +
  • Windows Visual Studio vsvars*.bat and vcvars*.bat files are run automatically
  • +
  • Ant is no longer used when building the OpenJDK
  • +
  • Use of ALT_* environment variables for configuring the build is no longer supported
  • +
+
+

Contents

+ +
+ +
+

Use of Mercurial

+

The OpenJDK sources are maintained with the revision control system Mercurial. If you are new to Mercurial, please see the Beginner Guides or refer to the Mercurial Book. The first few chapters of the book provide an excellent overview of Mercurial, what it is and how it works.

+

For using Mercurial with the OpenJDK refer to the Developer Guide: Installing and Configuring Mercurial section for more information.

+

Getting the Source

+

To get the entire set of OpenJDK Mercurial repositories use the script get_source.sh located in the root repository:

+
  hg clone http://hg.openjdk.java.net/jdk8/jdk8 YourOpenJDK
+  cd YourOpenJDK
+  bash ./get_source.sh
+

Once you have all the repositories, keep in mind that each repository is its own independent repository. You can also re-run ./get_source.sh anytime to pull over all the latest changesets in all the repositories. This set of nested repositories has been given the term “forest” and there are various ways to apply the same hg command to each of the repositories. For example, the script make/scripts/hgforest.sh can be used to repeat the same hg command on every repository, e.g.

+
  cd YourOpenJDK
+  bash ./make/scripts/hgforest.sh status
+

Repositories

+

The set of repositories and what they contain:

+
    +
  • . (root) contains common configure and makefile logic
  • +
  • hotspot contains source code and make files for building the OpenJDK Hotspot Virtual Machine
  • +
  • langtools contains source code for the OpenJDK javac and language tools
  • +
  • jdk contains source code and make files for building the OpenJDK runtime libraries and misc files
  • +
  • jaxp contains source code for the OpenJDK JAXP functionality
  • +
  • jaxws contains source code for the OpenJDK JAX-WS functionality
  • +
  • corba contains source code for the OpenJDK Corba functionality
  • +
  • nashorn contains source code for the OpenJDK JavaScript implementation
  • +
+

Repository Source Guidelines

+

There are some very basic guidelines:

+
    +
  • Use of whitespace in source files (.java, .c, .h, .cpp, and .hpp files) is restricted. No TABs, no trailing whitespace on lines, and files should not terminate in more than one blank line.
  • +
  • Files with execute permissions should not be added to the source repositories.
  • +
  • All generated files need to be kept isolated from the files maintained or managed by the source control system. The standard area for generated files is the top level build/ directory.
  • +
  • The default build process should be to build the product and nothing else, in one form, e.g. a product (optimized), debug (non-optimized, -g plus assert logic), or fastdebug (optimized, -g plus assert logic).
  • +
  • The .hgignore file in each repository must exist and should include ^build/, ^dist/ and optionally any nbproject/private directories. It should NEVER include anything in the src/ or test/ or any managed directory area of a repository.
  • +
  • Directory names and file names should never contain blanks or non-printing characters.
  • +
  • Generated source or binary files should NEVER be added to the repository (that includes javah output). There are some exceptions to this rule, in particular with some of the generated configure scripts.
  • +
  • Files not needed for typical building or testing of the repository should not be added to the repository.
  • +
+
+

Building

+

The very first step in building the OpenJDK is making sure the system itself has everything it needs to do OpenJDK builds. Once a system is setup, it generally doesn’t need to be done again.

+

Building the OpenJDK is now done with running a configure script which will try and find and verify you have everything you need, followed by running make, e.g.

+
+

bash ./configure
+make all

+
+

Where possible the configure script will attempt to located the various components in the default locations or via component specific variable settings. When the normal defaults fail or components cannot be found, additional configure options may be necessary to help configure find the necessary tools for the build, or you may need to re-visit the setup of your system due to missing software packages.

+

NOTE: The configure script file does not have execute permissions and will need to be explicitly run with bash, see the source guidelines.

+
+

System Setup

+

Before even attempting to use a system to build the OpenJDK there are some very basic system setups needed. For all systems:

+
    +
  • Be sure the GNU make utility is version 3.81 or newer, e.g. run “make -version

    +
  • +
  • Install a Bootstrap JDK. All OpenJDK builds require access to a previously released JDK called the bootstrap JDK or boot JDK. The general rule is that the bootstrap JDK must be an instance of the previous major release of the JDK. In addition, there may be a requirement to use a release at or beyond a particular update level.

    +

    Building JDK 8 requires use of a version of JDK 7 this is at Update 7 or newer. JDK 8 developers should not use JDK 8 as the boot JDK, to ensure that JDK 8 dependencies are not introduced into the parts of the system that are built with JDK 7.

    +

    The JDK 7 binaries can be downloaded from Oracle’s JDK 7 download site. For build performance reasons it is very important that this bootstrap JDK be made available on the local disk of the machine doing the build. You should add its bin directory to the PATH environment variable. If configure has any issues finding this JDK, you may need to use the configure option --with-boot-jdk.

  • +
  • Ensure that GNU make, the Bootstrap JDK, and the compilers are all in your PATH environment variable.

  • +
+

And for specific systems:

+ +

Linux

+

With Linux, try and favor the system packages over building your own or getting packages from other areas. Most Linux builds should be possible with the system’s available packages.

+

Note that some Linux systems have a habit of pre-populating your environment variables for you, for example JAVA_HOME might get pre-defined for you to refer to the JDK installed on your Linux system. You will need to unset JAVA_HOME. It’s a good idea to run env and verify the environment variables you are getting from the default system settings make sense for building the OpenJDK.

+

Solaris

+
Studio Compilers
+

At a minimum, the Studio 12 Update 1 Compilers (containing version 5.10 of the C and C++ compilers) is required, including specific patches.

+

The Solaris SPARC patch list is:

+
    +
  • 118683-05: SunOS 5.10: Patch for profiling libraries and assembler
  • +
  • 119963-21: SunOS 5.10: Shared library patch for C++
  • +
  • 120753-08: SunOS 5.10: Microtasking libraries (libmtsk) patch
  • +
  • 128228-09: Sun Studio 12 Update 1: Patch for Sun C++ Compiler
  • +
  • 141860-03: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C C++ F77 F95
  • +
  • 141861-05: Sun Studio 12 Update 1: Patch for Sun C Compiler
  • +
  • 142371-01: Sun Studio 12.1 Update 1: Patch for dbx
  • +
  • 143384-02: Sun Studio 12 Update 1: Patch for debuginfo handling
  • +
  • 143385-02: Sun Studio 12 Update 1: Patch for Compiler Common patch for Sun C C++ F77 F95
  • +
  • 142369-01: Sun Studio 12.1: Patch for Performance Analyzer Tools
  • +
+

The Solaris X86 patch list is:

+
    +
  • 119961-07: SunOS 5.10_x86, x64, Patch for profiling libraries and assembler
  • +
  • 119964-21: SunOS 5.10_x86: Shared library patch for C++_x86
  • +
  • 120754-08: SunOS 5.10_x86: Microtasking libraries (libmtsk) patch
  • +
  • 141858-06: Sun Studio 12 Update 1_x86: Sun Compiler Common patch for x86 backend
  • +
  • 128229-09: Sun Studio 12 Update 1_x86: Patch for C++ Compiler
  • +
  • 142363-05: Sun Studio 12 Update 1_x86: Patch for C Compiler
  • +
  • 142368-01: Sun Studio 12.1_x86: Patch for Performance Analyzer Tools
  • +
+

Place the bin directory in PATH.

+

The Oracle Solaris Studio Express compilers at: Oracle Solaris Studio Express Download site are also an option, although these compilers have not been extensively used yet.

+

Windows

+
Windows Unix Toolkit
+

Building on Windows requires a Unix-like environment, notably a Unix-like shell. There are several such environments available of which Cygwin and MinGW/MSYS are currently supported for the OpenJDK build. One of the differences of these systems from standard Windows tools is the way they handle Windows path names, particularly path names which contain spaces, backslashes as path separators and possibly drive letters. Depending on the use case and the specifics of each environment these path problems can be solved by a combination of quoting whole paths, translating backslashes to forward slashes, escaping backslashes with additional backslashes and translating the path names to their “8.3” version.

+
CYGWIN
+

CYGWIN is an open source, Linux-like environment which tries to emulate a complete POSIX layer on Windows. It tries to be smart about path names and can usually handle all kinds of paths if they are correctly quoted or escaped although internally it maps drive letters <drive>: to a virtual directory /cygdrive/<drive>.

+

You can always use the cygpath utility to map pathnames with spaces or the backslash character into the C:/ style of pathname (called ‘mixed’), e.g. cygpath -s -m "<path>".

+

Note that the use of CYGWIN creates a unique problem with regards to setting PATH. Normally on Windows the PATH variable contains directories separated with the “;” character (Solaris and Linux use “:”). With CYGWIN, it uses “:”, but that means that paths like “C:/path” cannot be placed in the CYGWIN version of PATH and instead CYGWIN uses something like /cygdrive/c/path which CYGWIN understands, but only CYGWIN understands.

+

The OpenJDK build requires CYGWIN version 1.7.16 or newer. Information about CYGWIN can be obtained from the CYGWIN website at www.cygwin.com.

+

By default CYGWIN doesn’t install all the tools required for building the OpenJDK. Along with the default installation, you need to install the following tools.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Binary NameCategoryPackageDescription
ar.exeDevelbinutilsThe GNU assembler, linker and binary utilities
make.exeDevelmakeThe GNU version of the ‘make’ utility built for CYGWIN
m4.exeInterpretersm4GNU implementation of the traditional Unix macro processor
cpio.exeUtilscpioA program to manage archives of files
gawk.exeUtilsawkPattern-directed scanning and processing language
file.exeUtilsfileDetermines file type using ‘magic’ numbers
zip.exeArchivezipPackage and compress (archive) files
unzip.exeArchiveunzipExtract compressed files in a ZIP archive
free.exeSystemprocpsDisplay amount of free and used memory in the system
+

Note that the CYGWIN software can conflict with other non-CYGWIN software on your Windows system. CYGWIN provides a FAQ for known issues and problems, of particular interest is the section on BLODA (applications that interfere with CYGWIN).

+
MinGW/MSYS
+

MinGW (“Minimalist GNU for Windows”) is a collection of free Windows specific header files and import libraries combined with GNU toolsets that allow one to produce native Windows programs that do not rely on any 3rd-party C runtime DLLs. MSYS is a supplement to MinGW which allows building applications and programs which rely on traditional UNIX tools to be present. Among others this includes tools like bash and make. See MinGW/MSYS for more information.

+

Like Cygwin, MinGW/MSYS can handle different types of path formats. They are internally converted to paths with forward slashes and drive letters <drive>: replaced by a virtual directory /<drive>. Additionally, MSYS automatically detects binaries compiled for the MSYS environment and feeds them with the internal, Unix-style path names. If native Windows applications are called from within MSYS programs their path arguments are automatically converted back to Windows style path names with drive letters and backslashes as path separators. This may cause problems for Windows applications which use forward slashes as parameter separator (e.g. cl /nologo /I) because MSYS may wrongly replace such parameters by drive letters.

+

In addition to the tools which will be installed by default, you have to manually install the msys-zip and msys-unzip packages. This can be easily done with the MinGW command line installer:

+
  mingw-get.exe install msys-zip
+  mingw-get.exe install msys-unzip
+
Visual Studio 2010 Compilers
+

The 32-bit and 64-bit OpenJDK Windows build requires Microsoft Visual Studio C++ 2010 (VS2010) Professional Edition or Express compiler. The compiler and other tools are expected to reside in the location defined by the variable VS100COMNTOOLS which is set by the Microsoft Visual Studio installer.

+

Only the C++ part of VS2010 is needed. Try to let the installation go to the default install directory. Always reboot your system after installing VS2010. The system environment variable VS100COMNTOOLS should be set in your environment.

+

Make sure that TMP and TEMP are also set in the environment and refer to Windows paths that exist, like C:\temp, not /tmp, not /cygdrive/c/temp, and not C:/temp. C:\temp is just an example, it is assumed that this area is private to the user, so by default after installs you should see a unique user path in these variables.

+

Mac OS X

+

Make sure you get the right XCode version.

+
+

Configure

+

The basic invocation of the configure script looks like:

+
+

bash ./configure [options]

+
+

This will create an output directory containing the “configuration” and setup an area for the build result. This directory typically looks like:

+
+

build/linux-x64-normal-server-release

+
+

configure will try to figure out what system you are running on and where all necessary build components are. If you have all prerequisites for building installed, it should find everything. If it fails to detect any component automatically, it will exit and inform you about the problem. When this happens, read more below in the configure options.

+

Some examples:

+
+

Windows 32bit build with freetype specified:
+bash ./configure --with-freetype=/cygdrive/c/freetype-i586 --with-target-bits=32

+
+
+

Debug 64bit Build:
+bash ./configure --enable-debug --with-target-bits=64

+
+

Configure Options

+

Complete details on all the OpenJDK configure options can be seen with:

+
+

bash ./configure --help=short

+
+

Use -help to see all the configure options available. You can generate any number of different configurations, e.g. debug, release, 32, 64, etc.

+

Some of the more commonly used configure options are:

+
+

--enable-debug
+set the debug level to fastdebug (this is a shorthand for --with-debug-level=fastdebug)

+
+

+
+

--with-alsa=_path_
+select the location of the Advanced Linux Sound Architecture (ALSA)

+
+
+

Version 0.9.1 or newer of the ALSA files are required for building the OpenJDK on Linux. These Linux files are usually available from an “alsa” of “libasound” development package, and it’s highly recommended that you try and use the package provided by the particular version of Linux that you are using.

+
+
+

--with-boot-jdk=_path_
+select the Bootstrap JDK

+
+
+

--with-boot-jdk-jvmargs=args
+provide the JVM options to be used to run the Bootstrap JDK

+
+
+

--with-cacerts=_path_
+select the path to the cacerts file.

+
+
+

See Certificate Authority on Wikipedia for a better understanding of the Certificate Authority (CA). A certificates file named “cacerts” represents a system-wide keystore with CA certificates. In JDK and JRE binary bundles, the “cacerts” file contains root CA certificates from several public CAs (e.g., VeriSign, Thawte, and Baltimore). The source contain a cacerts file without CA root certificates. Formal JDK builders will need to secure permission from each public CA and include the certificates into their own custom cacerts file. Failure to provide a populated cacerts file will result in verification errors of a certificate chain during runtime. By default an empty cacerts file is provided and that should be fine for most JDK developers.

+
+

+
+

--with-cups=_path_
+select the CUPS install location

+
+
+

The Common UNIX Printing System (CUPS) Headers are required for building the OpenJDK on Solaris and Linux. The Solaris header files can be obtained by installing the package SFWcups from the Solaris Software Companion CD/DVD, these often will be installed into the directory /opt/sfw/cups.

+
+
+

The CUPS header files can always be downloaded from www.cups.org.

+
+
+

--with-cups-include=_path_
+select the CUPS include directory location

+
+
+

--with-debug-level=_level_
+select the debug information level of release, fastdebug, or slowdebug

+
+
+

--with-dev-kit=_path_
+select location of the compiler install or developer install location

+
+

+
+

--with-freetype=_path_
+select the freetype files to use.

+
+
+

Expecting the freetype libraries under lib/ and the headers under include/.

+
+
+

Version 2.3 or newer of FreeType is required. On Unix systems required files can be available as part of your distribution (while you still may need to upgrade them). Note that you need development version of package that includes both the FreeType library and header files.

+
+
+

You can always download latest FreeType version from the FreeType website. Building the freetype 2 libraries from scratch is also possible, however on Windows refer to the Windows FreeType DLL build instructions.

+
+
+

Note that by default FreeType is built with byte code hinting support disabled due to licensing restrictions. In this case, text appearance and metrics are expected to differ from Sun’s official JDK build. See the SourceForge FreeType2 Home Page for more information.

+
+
+

--with-import-hotspot=_path_
+select the location to find hotspot binaries from a previous build to avoid building hotspot

+
+
+

--with-target-bits=_arg_
+select 32 or 64 bit build

+
+
+

--with-jvm-variants=_variants_
+select the JVM variants to build from, comma separated list that can include: server, client, kernel, zero and zeroshark

+
+
+

--with-memory-size=_size_
+select the RAM size that GNU make will think this system has

+
+
+

--with-msvcr-dll=_path_
+select the msvcr100.dll file to include in the Windows builds (C/C++ runtime library for Visual Studio).

+
+
+

This is usually picked up automatically from the redist directories of Visual Studio 2010.

+
+
+

--with-num-cores=_cores_
+select the number of cores to use (processor count or CPU count)

+
+

+
+

--with-x=_path_
+select the location of the X11 and xrender files.

+
+
+

The XRender Extension Headers are required for building the OpenJDK on Solaris and Linux. The Linux header files are usually available from a “Xrender” development package, it’s recommended that you try and use the package provided by the particular distribution of Linux that you are using. The Solaris XRender header files is included with the other X11 header files in the package SFWxwinc on new enough versions of Solaris and will be installed in /usr/X11/include/X11/extensions/Xrender.h or /usr/openwin/share/include/X11/extensions/Xrender.h

+
+
+

Make

+

The basic invocation of the make utility looks like:

+
+

make all

+
+

This will start the build to the output directory containing the “configuration” that was created by the configure script. Run make help for more information on the available targets.

+

There are some of the make targets that are of general interest:

+
+

empty
+build everything but no images

+
+
+

all
+build everything including images

+
+
+

all-conf
+build all configurations

+
+
+

images
+create complete j2sdk and j2re images

+
+
+

install
+install the generated images locally, typically in /usr/local

+
+
+

clean
+remove all files generated by make, but not those generated by configure

+
+
+

dist-clean
+remove all files generated by both and configure (basically killing the configuration)

+
+
+

help
+give some help on using make, including some interesting make targets

+
+
+

Testing

+

When the build is completed, you should see the generated binaries and associated files in the j2sdk-image directory in the output directory. In particular, the build/*/images/j2sdk-image/bin directory should contain executables for the OpenJDK tools and utilities for that configuration. The testing tool jtreg will be needed and can be found at: the jtreg site. The provided regression tests in the repositories can be run with the command:

+
+

cd test && make PRODUCT_HOME=`pwd`/../build/*/images/j2sdk-image all

+
+
+

Appendix A: Hints and Tips

+

FAQ

+

Q: The generated-configure.sh file looks horrible! How are you going to edit it?
+A: The generated-configure.sh file is generated (think “compiled”) by the autoconf tools. The source code is in configure.ac and various .m4 files in common/autoconf, which are much more readable.

+

Q: Why is the generated-configure.sh file checked in, if it is generated?
+A: If it was not generated, every user would need to have the autoconf tools installed, and re-generate the configure file as the first step. Our goal is to minimize the work needed to be done by the user to start building OpenJDK, and to minimize the number of external dependencies required.

+

Q: Do you require a specific version of autoconf for regenerating generated-configure.sh?
+A: Yes, version 2.69 is required and should be easy enough to aquire on all supported operating systems. The reason for this is to avoid large spurious changes in generated-configure.sh.

+

Q: How do you regenerate generated-configure.sh after making changes to the input files?
+A: Regnerating generated-configure.sh should always be done using the script common/autoconf/autogen.sh to ensure that the correct files get updated. This script should also be run after mercurial tries to merge generated-configure.sh as a merge of the generated file is not guaranteed to be correct.

+

Q: What are the files in common/makefiles/support/* for? They look like gibberish.
+A: They are a somewhat ugly hack to compensate for command line length limitations on certain platforms (Windows, Solaris). Due to a combination of limitations in make and the shell, command lines containing too many files will not work properly. These helper files are part of an elaborate hack that will compress the command line in the makefile and then uncompress it safely. We’re not proud of it, but it does fix the problem. If you have any better suggestions, we’re all ears! :-)

+

Q: I want to see the output of the commands that make runs, like in the old build. How do I do that?
+A: You specify the LOG variable to make. There are several log levels:

+
    +
  • warn – Default and very quiet.
  • +
  • info – Shows more progress information than warn.
  • +
  • debug – Echos all command lines and prints all macro calls for compilation definitions.
  • +
  • trace – Echos all $(shell) command lines as well.
  • +
+

Q: When do I have to re-run configure?
+A: Normally you will run configure only once for creating a configuration. You need to re-run configuration only if you want to change any configuration options, or if you pull down changes to the configure script.

+

Q: I have added a new source file. Do I need to modify the makefiles?
+A: Normally, no. If you want to create e.g. a new native library, you will need to modify the makefiles. But for normal file additions or removals, no changes are needed. There are certan exceptions for some native libraries where the source files are spread over many directories which also contain sources for other libraries. In these cases it was simply easier to create include lists rather than excludes.

+

Q: When I run configure --help, I see many strange options, like --dvidir. What is this?
+A: Configure provides a slew of options by default, to all projects that use autoconf. Most of them are not used in OpenJDK, so you can safely ignore them. To list only OpenJDK specific features, use configure --help=short instead.

+

Q: configure provides OpenJDK-specific features such as --with-builddeps-server that are not described in this document. What about those?
+A: Try them out if you like! But be aware that most of these are experimental features. Many of them don’t do anything at all at the moment; the option is just a placeholder. Others depend on pieces of code or infrastructure that is currently not ready for prime time.

+

Q: How will you make sure you don’t break anything?
+A: We have a script that compares the result of the new build system with the result of the old. For most part, we aim for (and achieve) byte-by-byte identical output. There are however technical issues with e.g. native binaries, which might differ in a byte-by-byte comparison, even when building twice with the old build system. For these, we compare relevant aspects (e.g. the symbol table and file size). Note that we still don’t have 100% equivalence, but we’re close.

+

Q: I noticed this thing X in the build that looks very broken by design. Why don’t you fix it?
+A: Our goal is to produce a build output that is as close as technically possible to the old build output. If things were weird in the old build, they will be weird in the new build. Often, things were weird before due to obscurity, but in the new build system the weird stuff comes up to the surface. The plan is to attack these things at a later stage, after the new build system is established.

+

Q: The code in the new build system is not that well-structured. Will you fix this?
+A: Yes! The new build system has grown bit by bit as we converted the old system. When all of the old build system is converted, we can take a step back and clean up the structure of the new build system. Some of this we plan to do before replacing the old build system and some will need to wait until after.

+

Q: Is anything able to use the results of the new build’s default make target?
+A: Yes, this is the minimal (or roughly minimal) set of compiled output needed for a developer to actually execute the newly built JDK. The idea is that in an incremental development fashion, when doing a normal make, you should only spend time recompiling what’s changed (making it purely incremental) and only do the work that’s needed to actually run and test your code. The packaging stuff that is part of the images target is not needed for a normal developer who wants to test his new code. Even if it’s quite fast, it’s still unnecessary. We’re targeting sub-second incremental rebuilds! ;-) (Or, well, at least single-digit seconds…)

+

Q: I usually set a specific environment variable when building, but I can’t find the equivalent in the new build. What should I do?
+A: It might very well be that we have neglected to add support for an option that was actually used from outside the build system. Email us and we will add support for it!

+

Build Performance Tips

+

Building OpenJDK requires a lot of horsepower. Some of the build tools can be adjusted to utilize more or less of resources such as parallel threads and memory. The configure script analyzes your system and selects reasonable values for such options based on your hardware. If you encounter resource problems, such as out of memory conditions, you can modify the detected values with:

+
    +
  • --with-num-cores – number of cores in the build system, e.g. --with-num-cores=8
  • +
  • --with-memory-size – memory (in MB) available in the build system, e.g. --with-memory-size=1024
  • +
+

It might also be necessary to specify the JVM arguments passed to the Bootstrap JDK, using e.g. --with-boot-jdk-jvmargs="-Xmx8G -enableassertions". Doing this will override the default JVM arguments passed to the Bootstrap JDK.

+

One of the top goals of the new build system is to improve the build performance and decrease the time needed to build. This will soon also apply to the java compilation when the Smart Javac wrapper is making its way into jdk8. It can be tried in the build-infra repository already. You are likely to find that the new build system is faster than the old one even without this feature.

+

At the end of a successful execution of configure, you will get a performance summary, indicating how well the build will perform. Here you will also get performance hints. If you want to build fast, pay attention to those!

+

Building with ccache

+

A simple way to radically speed up compilation of native code (typically hotspot and native libraries in JDK) is to install ccache. This will cache and reuse prior compilation results, if the source code is unchanged. However, ccache versions prior to 3.1.4 does not work correctly with the precompiled headers used in OpenJDK. So if your platform supports ccache at 3.1.4 or later, we highly recommend installing it. This is currently only supported on linux.

+

Building on local disk

+

If you are using network shares, e.g. via NFS, for your source code, make sure the build directory is situated on local disk. The performance penalty is extremely high for building on a network share, close to unusable.

+

Building only one JVM

+

The old build builds multiple JVMs on 32-bit systems (client and server; and on Windows kernel as well). In the new build we have changed this default to only build server when it’s available. This improves build times for those not interested in multiple JVMs. To mimic the old behavior on platforms that support it, use --with-jvm-variants=client,server.

+

Selecting the number of cores to build on

+

By default, configure will analyze your machine and run the make process in parallel with as many threads as you have cores. This behavior can be overridden, either “permanently” (on a configure basis) using --with-num-cores=N or for a single build only (on a make basis), using make JOBS=N.

+

If you want to make a slower build just this time, to save some CPU power for other processes, you can run e.g. make JOBS=2. This will force the makefiles to only run 2 parallel processes, or even make JOBS=1 which will disable parallelism.

+

If you want to have it the other way round, namely having slow builds default and override with fast if you’re impatient, you should call configure with --with-num-cores=2, making 2 the default. If you want to run with more cores, run make JOBS=8

+

Troubleshooting

+

Solving build problems

+

If the build fails (and it’s not due to a compilation error in a source file you’ve changed), the first thing you should do is to re-run the build with more verbosity. Do this by adding LOG=debug to your make command line.

+

The build log (with both stdout and stderr intermingled, basically the same as you see on your console) can be found as build.log in your build directory.

+

You can ask for help on build problems with the new build system on either the build-dev or the build-infra-dev mailing lists. Please include the relevant parts of the build log.

+

A build can fail for any number of reasons. Most failures are a result of trying to build in an environment in which all the pre-build requirements have not been met. The first step in troubleshooting a build failure is to recheck that you have satisfied all the pre-build requirements for your platform. Scanning the configure log is a good first step, making sure that what it found makes sense for your system. Look for strange error messages or any difficulties that configure had in finding things.

+

Some of the more common problems with builds are briefly described below, with suggestions for remedies.

+
    +
  • Corrupted Bundles on Windows:
    +Some virus scanning software has been known to corrupt the downloading of zip bundles. It may be necessary to disable the ‘on access’ or ‘real time’ virus scanning features to prevent this corruption. This type of ‘real time’ virus scanning can also slow down the build process significantly. Temporarily disabling the feature, or excluding the build output directory may be necessary to get correct and faster builds.

  • +
  • Slow Builds:
    +If your build machine seems to be overloaded from too many simultaneous C++ compiles, try setting the JOBS=1 on the make command line. Then try increasing the count slowly to an acceptable level for your system. Also:

    +

    Creating the javadocs can be very slow, if you are running javadoc, consider skipping that step.

    +

    Faster CPUs, more RAM, and a faster DISK usually helps. The VM build tends to be CPU intensive (many C++ compiles), and the rest of the JDK will often be disk intensive.

    +

    Faster compiles are possible using a tool called ccache.

  • +
  • File time issues:
    +If you see warnings that refer to file time stamps, e.g.

    +
    +

    Warning message: File 'xxx' has modification time in the future.
    +Warning message: Clock skew detected. Your build may be incomplete.

    +
    +

    These warnings can occur when the clock on the build machine is out of sync with the timestamps on the source files. Other errors, apparently unrelated but in fact caused by the clock skew, can occur along with the clock skew warnings. These secondary errors may tend to obscure the fact that the true root cause of the problem is an out-of-sync clock.

    +

    If you see these warnings, reset the clock on the build machine, run “gmake clobber” or delete the directory containing the build output, and restart the build from the beginning.

  • +
  • Error message: Trouble writing out table to disk
    +Increase the amount of swap space on your build machine. This could be caused by overloading the system and it may be necessary to use:

    +
    +

    make JOBS=1

    +
    +

    to reduce the load on the system.

  • +
  • Error Message: libstdc++ not found:
    +This is caused by a missing libstdc++.a library. This is installed as part of a specific package (e.g. libstdc++.so.devel.386). By default some 64-bit Linux versions (e.g. Fedora) only install the 64-bit version of the libstdc++ package. Various parts of the JDK build require a static link of the C++ runtime libraries to allow for maximum portability of the built images.

  • +
  • Linux Error Message: cannot restore segment prot after reloc
    +This is probably an issue with SELinux (See SELinux on Wikipedia). Parts of the VM is built without the -fPIC for performance reasons.

    +

    To completely disable SELinux:

    +
      +
    1. $ su root
    2. +
    3. # system-config-securitylevel
    4. +
    5. In the window that appears, select the SELinux tab
    6. +
    7. Disable SELinux
    8. +
    +

    Alternatively, instead of completely disabling it you could disable just this one check.

    +
      +
    1. Select System->Administration->SELinux Management
    2. +
    3. In the SELinux Management Tool which appears, select “Boolean” from the menu on the left
    4. +
    5. Expand the “Memory Protection” group
    6. +
    7. Check the first item, labeled “Allow all unconfined executables to use libraries requiring text relocation …”
    8. +
  • +
  • Windows Error Messages:
    +*** fatal error - couldn't allocate heap, ...
    +rm fails with "Directory not empty"
    +unzip fails with "cannot create ... Permission denied"
    +unzip fails with "cannot create ... Error 50"

    +

    The CYGWIN software can conflict with other non-CYGWIN software. See the CYGWIN FAQ section on BLODA (applications that interfere with CYGWIN).

  • +
  • Windows Error Message: spawn failed
    +Try rebooting the system, or there could be some kind of issue with the disk or disk partition being used. Sometimes it comes with a “Permission Denied” message.

  • +
+
+

Appendix B: GNU make

+

The Makefiles in the OpenJDK are only valid when used with the GNU version of the utility command make (usually called gmake on Solaris). A few notes about using GNU make:

+
    +
  • You need GNU make version 3.81 or newer. If the GNU make utility on your systems is not 3.81 or newer, see “Building GNU make”.
  • +
  • Place the location of the GNU make binary in the PATH.
  • +
  • Solaris: Do NOT use /usr/bin/make on Solaris. If your Solaris system has the software from the Solaris Developer Companion CD installed, you should try and use gmake which will be located in either the /usr/bin, /opt/sfw/bin or /usr/sfw/bin directory.
  • +
  • Windows: Make sure you start your build inside a bash shell.
  • +
  • Mac OS X: The XCode “command line tools” must be installed on your Mac.
  • +
+

Information on GNU make, and access to ftp download sites, are available on the GNU make web site. The latest source to GNU make is available at ftp.gnu.org/pub/gnu/make/.

+

Building GNU make

+

First step is to get the GNU make 3.81 or newer source from ftp.gnu.org/pub/gnu/make/. Building is a little different depending on the OS but is basically done with:

+
  bash ./configure
+  make
+
+

Appendix C: Build Environments

+

Minimum Build Environments

+

This file often describes specific requirements for what we call the “minimum build environments” (MBE) for this specific release of the JDK. What is listed below is what the Oracle Release Engineering Team will use to build the Oracle JDK product. Building with the MBE will hopefully generate the most compatible bits that install on, and run correctly on, the most variations of the same base OS and hardware architecture. In some cases, these represent what is often called the least common denominator, but each Operating System has different aspects to it.

+

In all cases, the Bootstrap JDK version minimum is critical, we cannot guarantee builds will work with older Bootstrap JDK’s. Also in all cases, more RAM and more processors is better, the minimums listed below are simply recommendations.

+

With Solaris and Mac OS X, the version listed below is the oldest release we can guarantee builds and works, and the specific version of the compilers used could be critical.

+

With Windows the critical aspect is the Visual Studio compiler used, which due to it’s runtime, generally dictates what Windows systems can do the builds and where the resulting bits can be used.

+

NOTE: We expect a change here off these older Windows OS releases and to a ‘less older’ one, probably Windows 2008R2 X64.

+

With Linux, it was just a matter of picking a stable distribution that is a good representative for Linux in general.

+

NOTE: We expect a change here from Fedora 9 to something else, but it has not been completely determined yet, possibly Ubuntu 12.04 X64, unbiased community feedback would be welcome on what a good choice would be here.

+

It is understood that most developers will NOT be using these specific versions, and in fact creating these specific versions may be difficult due to the age of some of this software. It is expected that developers are more often using the more recent releases and distributions of these operating systems.

+

Compilation problems with newer or different C/C++ compilers is a common problem. Similarly, compilation problems related to changes to the /usr/include or system header files is also a common problem with older, newer, or unreleased OS versions. Please report these types of problems as bugs so that they can be dealt with accordingly.

+

Bootstrap JDK: JDK 7u7

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Base OS and ArchitectureOSC/C++ CompilerProcessorsRAM MinimumDISK Needs
Linux X86 (32-bit) and X64 (64-bit)Fedora 9gcc 4.32 or more1 GB6 GB
Solaris SPARC (32-bit) and SPARCV9 (64-bit)Solaris 10 Update 6Studio 12 Update 1 + patches4 or more4 GB8 GB
Solaris X86 (32-bit) and X64 (64-bit)Solaris 10 Update 6Studio 12 Update 1 + patches4 or more4 GB8 GB
Windows X86 (32-bit)Windows XPMicrosoft Visual Studio C++ 2010 Professional Edition2 or more2 GB6 GB
Windows X64 (64-bit)Windows Server 2003 - Enterprise x64 EditionMicrosoft Visual Studio C++ 2010 Professional Edition2 or more2 GB6 GB
Mac OS X X64 (64-bit)Mac OS X 10.7 “Lion”XCode 4.5.2 or newer2 or more4 GB6 GB
+
+

Specific Developer Build Environments

+

We won’t be listing all the possible environments, but we will try to provide what information we have available to us.

+

NOTE: The community can help out by updating this part of the document.

+

Fedora

+

After installing the latest Fedora you need to install several build dependencies. The simplest way to do it is to execute the following commands as user root:

+
  yum-builddep java-1.7.0-openjdk
+  yum install gcc gcc-c++
+

In addition, it’s necessary to set a few environment variables for the build:

+
  export LANG=C
+  export PATH="/usr/lib/jvm/java-openjdk/bin:${PATH}"
+

CentOS 5.5

+

After installing CentOS 5.5 you need to make sure you have the following Development bundles installed:

+
    +
  • Development Libraries
  • +
  • Development Tools
  • +
  • Java Development
  • +
  • X Software Development (Including XFree86-devel)
  • +
+

Plus the following packages:

+
    +
  • cups devel: Cups Development Package
  • +
  • alsa devel: Alsa Development Package
  • +
  • Xi devel: libXi.so Development Package
  • +
+

The freetype 2.3 packages don’t seem to be available, but the freetype 2.3 sources can be downloaded, built, and installed easily enough from the freetype site. Build and install with something like:

+
  bash ./configure
+  make
+  sudo -u root make install
+

Mercurial packages could not be found easily, but a Google search should find ones, and they usually include Python if it’s needed.

+

Debian 5.0 (Lenny)

+

After installing Debian 5 you need to install several build dependencies. The simplest way to install the build dependencies is to execute the following commands as user root:

+
  aptitude build-dep openjdk-7
+  aptitude install openjdk-7-jdk libmotif-dev
+

In addition, it’s necessary to set a few environment variables for the build:

+
  export LANG=C
+  export PATH="/usr/lib/jvm/java-7-openjdk/bin:${PATH}"
+

Ubuntu 12.04

+

After installing Ubuntu 12.04 you need to install several build dependencies. The simplest way to do it is to execute the following commands:

+
  sudo aptitude build-dep openjdk-7
+  sudo aptitude install openjdk-7-jdk
+

In addition, it’s necessary to set a few environment variables for the build:

+
  export LANG=C
+  export PATH="/usr/lib/jvm/java-7-openjdk/bin:${PATH}"
+

OpenSUSE 11.1

+

After installing OpenSUSE 11.1 you need to install several build dependencies. The simplest way to install the build dependencies is to execute the following commands:

+
  sudo zypper source-install -d java-1_7_0-openjdk
+  sudo zypper install make
+

In addition, it is necessary to set a few environment variables for the build:

+
  export LANG=C
+  export PATH="/usr/lib/jvm/java-1.7.0-openjdk/bin:$[PATH}"
+

Finally, you need to unset the JAVA_HOME environment variable:

+
  export -n JAVA_HOME`
+

Mandriva Linux One 2009 Spring

+

After installing Mandriva Linux One 2009 Spring you need to install several build dependencies. The simplest way to install the build dependencies is to execute the following commands as user root:

+
  urpmi java-1.7.0-openjdk-devel make gcc gcc-c++ freetype-devel zip unzip
+    libcups2-devel libxrender1-devel libalsa2-devel libstc++-static-devel
+    libxtst6-devel libxi-devel
+

In addition, it is necessary to set a few environment variables for the build:

+
  export LANG=C
+  export PATH="/usr/lib/jvm/java-1.7.0-openjdk/bin:${PATH}"
+

OpenSolaris 2009.06

+

After installing OpenSolaris 2009.06 you need to install several build dependencies. The simplest way to install the build dependencies is to execute the following commands:

+
  pfexec pkg install SUNWgmake SUNWj7dev sunstudioexpress SUNWcups SUNWzip
+    SUNWunzip SUNWxwhl SUNWxorg-headers SUNWaudh SUNWfreetype2
+

In addition, it is necessary to set a few environment variables for the build:

+
  export LANG=C
+  export PATH="/opt/SunStudioExpress/bin:${PATH}"
+
+

End of the OpenJDK build README document.

+

Please come again!

+ + diff --git a/README-builds.md b/doc/building.md similarity index 80% rename from README-builds.md rename to doc/building.md index 364fd661e3c..460e4d12668 100644 --- a/README-builds.md +++ b/doc/building.md @@ -1,9 +1,9 @@ +% OpenJDK Build README + ![OpenJDK](http://openjdk.java.net/images/openjdk.png) -# OpenJDK Build README -***** +-------------------------------------------------------------------------------- - ## Introduction This README file contains build instructions for the @@ -18,34 +18,34 @@ Some Headlines: * Any GNU make 3.81 or newer should work * The build should scale, i.e. more processors should cause the build to be done in less wall-clock time - * Nested or recursive make invocations have been significantly reduced, - as has the total fork/exec or spawning of sub processes during the build + * Nested or recursive make invocations have been significantly reduced, as + has the total fork/exec or spawning of sub processes during the build * Windows MKS usage is no longer supported * Windows Visual Studio `vsvars*.bat` and `vcvars*.bat` files are run automatically * Ant is no longer used when building the OpenJDK - * Use of ALT_* environment variables for configuring the build is no longer + * Use of ALT\_\* environment variables for configuring the build is no longer supported -***** +------------------------------------------------------------------------------- ## Contents * [Introduction](#introduction) * [Use of Mercurial](#hg) - * [Getting the Source](#get_source) - * [Repositories](#repositories) + * [Getting the Source](#get_source) + * [Repositories](#repositories) * [Building](#building) - * [System Setup](#setup) - * [Linux](#linux) - * [Solaris](#solaris) - * [Mac OS X](#macosx) - * [Windows](#windows) - * [Configure](#configure) - * [Make](#make) + * [System Setup](#setup) + * [Linux](#linux) + * [Solaris](#solaris) + * [Mac OS X](#macosx) + * [Windows](#windows) + * [Configure](#configure) + * [Make](#make) * [Testing](#testing) -***** +------------------------------------------------------------------------------- * [Appendix A: Hints and Tips](#hints) * [FAQ](#faq) @@ -54,23 +54,22 @@ Some Headlines: * [Appendix B: GNU Make Information](#gmake) * [Appendix C: Build Environments](#buildenvironments) -***** +------------------------------------------------------------------------------- - ## Use of Mercurial The OpenJDK sources are maintained with the revision control system [Mercurial](http://mercurial.selenic.com/wiki/Mercurial). If you are new to -Mercurial, please see the [Beginner Guides](http://mercurial.selenic.com/wiki/ -BeginnersGuides) or refer to the [Mercurial Book](http://hgbook.red-bean.com/). -The first few chapters of the book provide an excellent overview of Mercurial, -what it is and how it works. +Mercurial, please see the [Beginner +Guides](http://mercurial.selenic.com/wiki/BeginnersGuides) or refer to the +[Mercurial Book](http://hgbook.red-bean.com/). The first few chapters of the +book provide an excellent overview of Mercurial, what it is and how it works. For using Mercurial with the OpenJDK refer to the [Developer Guide: Installing -and Configuring Mercurial](http://openjdk.java.net/guide/ -repositories.html#installConfig) section for more information. +and Configuring +Mercurial](http://openjdk.java.net/guide/repositories.html#installConfig) +section for more information. - ### Getting the Source To get the entire set of OpenJDK Mercurial repositories use the script @@ -82,16 +81,15 @@ To get the entire set of OpenJDK Mercurial repositories use the script Once you have all the repositories, keep in mind that each repository is its own independent repository. You can also re-run `./get_source.sh` anytime to -pull over all the latest changesets in all the repositories. This set of -nested repositories has been given the term "forest" and there are various -ways to apply the same `hg` command to each of the repositories. For -example, the script `make/scripts/hgforest.sh` can be used to repeat the -same `hg` command on every repository, e.g. +pull over all the latest changesets in all the repositories. This set of nested +repositories has been given the term "forest" and there are various ways to +apply the same `hg` command to each of the repositories. For example, the +script `make/scripts/hgforest.sh` can be used to repeat the same `hg` command +on every repository, e.g. cd YourOpenJDK bash ./make/scripts/hgforest.sh status - ### Repositories The set of repositories and what they contain: @@ -134,9 +132,8 @@ There are some very basic guidelines: * Files not needed for typical building or testing of the repository should not be added to the repository. -***** +------------------------------------------------------------------------------- - ## Building The very first step in building the OpenJDK is making sure the system itself @@ -147,7 +144,7 @@ Building the OpenJDK is now done with running a `configure` script which will try and find and verify you have everything you need, followed by running `make`, e.g. -> **`bash ./configure`** +> **`bash ./configure`** \ > **`make all`** Where possible the `configure` script will attempt to located the various @@ -160,9 +157,8 @@ system due to missing software packages. **NOTE:** The `configure` script file does not have execute permissions and will need to be explicitly run with `bash`, see the source guidelines. -***** +------------------------------------------------------------------------------- - ### System Setup Before even attempting to use a system to build the OpenJDK there are some very @@ -173,15 +169,15 @@ basic system setups needed. For all systems: * Install a Bootstrap JDK. All OpenJDK builds require access to a previously - released JDK called the _bootstrap JDK_ or _boot JDK._ The general rule is + released JDK called the *bootstrap JDK* or *boot JDK.* The general rule is that the bootstrap JDK must be an instance of the previous major release of the JDK. In addition, there may be a requirement to use a release at or beyond a particular update level. - **_Building JDK 8 requires use of a version of JDK 7 this is at Update 7 + ***Building JDK 8 requires use of a version of JDK 7 this is at Update 7 or newer. JDK 8 developers should not use JDK 8 as the boot JDK, to ensure that JDK 8 dependencies are not introduced into the parts of the system - that are built with JDK 7._** + that are built with JDK 7.*** The JDK 7 binaries can be downloaded from Oracle's [JDK 7 download site](http://www.oracle.com/technetwork/java/javase/downloads/index.html). @@ -219,7 +215,6 @@ And for specific systems: install the "Command line tools" found under the preferences pane "Downloads" - #### Linux With Linux, try and favor the system packages over building your own or getting @@ -233,16 +228,14 @@ refer to the JDK installed on your Linux system. You will need to unset you are getting from the default system settings make sense for building the OpenJDK. - #### Solaris - ##### Studio Compilers -At a minimum, the [Studio 12 Update 1 Compilers](http://www.oracle.com/ -technetwork/server-storage/solarisstudio/downloads/index.htm) (containing -version 5.10 of the C and C++ compilers) is required, including specific -patches. +At a minimum, the [Studio 12 Update 1 +Compilers](http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.htm) +(containing version 5.10 of the C and C++ compilers) is required, including +specific patches. The Solaris SPARC patch list is: @@ -273,11 +266,11 @@ The Solaris X86 patch list is: Place the `bin` directory in `PATH`. The Oracle Solaris Studio Express compilers at: [Oracle Solaris Studio Express -Download site](http://www.oracle.com/technetwork/server-storage/solarisstudio/ -downloads/index-jsp-142582.html) are also an option, although these compilers -have not been extensively used yet. +Download +site](http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index-jsp-142582.html) +are also an option, although these compilers have not been extensively used +yet. - #### Windows ##### Windows Unix Toolkit @@ -295,7 +288,6 @@ backslashes to forward slashes, escaping backslashes with additional backslashes and translating the path names to their ["8.3" version](http://en.wikipedia.org/wiki/8.3_filename). - ###### CYGWIN CYGWIN is an open source, Linux-like environment which tries to emulate a @@ -323,80 +315,24 @@ By default CYGWIN doesn't install all the tools required for building the OpenJDK. Along with the default installation, you need to install the following tools. -> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Binary NameCategoryPackageDescription
ar.exeDevelbinutilsThe GNU assembler, linker and binary utilities
make.exeDevelmakeThe GNU version of the 'make' utility built for CYGWIN
m4.exeInterpretersm4GNU implementation of the traditional Unix macro processor
cpio.exeUtilscpioA program to manage archives of files
gawk.exeUtilsawkPattern-directed scanning and processing language
file.exeUtilsfileDetermines file type using 'magic' numbers
zip.exeArchivezipPackage and compress (archive) files
unzip.exeArchiveunzipExtract compressed files in a ZIP archive
free.exeSystemprocpsDisplay amount of free and used memory in the system
+ Binary Name Category Package Description + ------------- -------------- ---------- ------------------------------------------------------------ + ar.exe Devel binutils The GNU assembler, linker and binary utilities + make.exe Devel make The GNU version of the 'make' utility built for CYGWIN + m4.exe Interpreters m4 GNU implementation of the traditional Unix macro processor + cpio.exe Utils cpio A program to manage archives of files + gawk.exe Utils awk Pattern-directed scanning and processing language + file.exe Utils file Determines file type using 'magic' numbers + zip.exe Archive zip Package and compress (archive) files + unzip.exe Archive unzip Extract compressed files in a ZIP archive + free.exe System procps Display amount of free and used memory in the system Note that the CYGWIN software can conflict with other non-CYGWIN software on -your Windows system. CYGWIN provides a [FAQ](http://cygwin.com/faq/ -faq.using.html) for known issues and problems, of particular interest is the -section on [BLODA (applications that interfere with -CYGWIN)](http://cygwin.com/faq/faq.using.html#faq.using.bloda). +your Windows system. CYGWIN provides a +[FAQ](http://cygwin.com/faq/faq.using.html) for known issues and problems, +of particular interest is the section on [BLODA (applications that interfere +with CYGWIN)](http://cygwin.com/faq/faq.using.html#faq.using.bloda). - ###### MinGW/MSYS MinGW ("Minimalist GNU for Windows") is a collection of free Windows specific @@ -404,20 +340,20 @@ header files and import libraries combined with GNU toolsets that allow one to produce native Windows programs that do not rely on any 3rd-party C runtime DLLs. MSYS is a supplement to MinGW which allows building applications and programs which rely on traditional UNIX tools to be present. Among others this -includes tools like `bash` and `make`. See [MinGW/MSYS](http://www.mingw.org/ -wiki/MSYS) for more information. +includes tools like `bash` and `make`. See +[MinGW/MSYS](http://www.mingw.org/wiki/MSYS) for more information. Like Cygwin, MinGW/MSYS can handle different types of path formats. They are -internally converted to paths with forward slashes and drive letters -`:` replaced by a virtual directory `/`. Additionally, MSYS -automatically detects binaries compiled for the MSYS environment and feeds them -with the internal, Unix-style path names. If native Windows applications are -called from within MSYS programs their path arguments are automatically -converted back to Windows style path names with drive letters and backslashes -as path separators. This may cause problems for Windows applications which use -forward slashes as parameter separator (e.g. `cl /nologo /I`) because MSYS may -wrongly [replace such parameters by drive letters](http://mingw.org/wiki/ -Posix_path_conversion). +internally converted to paths with forward slashes and drive letters `:` +replaced by a virtual directory `/`. Additionally, MSYS automatically +detects binaries compiled for the MSYS environment and feeds them with the +internal, Unix-style path names. If native Windows applications are called from +within MSYS programs their path arguments are automatically converted back to +Windows style path names with drive letters and backslashes as path separators. +This may cause problems for Windows applications which use forward slashes as +parameter separator (e.g. `cl /nologo /I`) because MSYS may wrongly [replace +such parameters by drive +letters](http://mingw.org/wiki/Posix_path_conversion). In addition to the tools which will be installed by default, you have to manually install the `msys-zip` and `msys-unzip` packages. This can be easily @@ -426,7 +362,6 @@ done with the MinGW command line installer: mingw-get.exe install msys-zip mingw-get.exe install msys-unzip - ##### Visual Studio 2010 Compilers The 32-bit and 64-bit OpenJDK Windows build requires Microsoft Visual Studio @@ -445,14 +380,12 @@ and not `C:/temp`. `C:\temp` is just an example, it is assumed that this area is private to the user, so by default after installs you should see a unique user path in these variables. - #### Mac OS X Make sure you get the right XCode version. -***** +------------------------------------------------------------------------------- - ### Configure The basic invocation of the `configure` script looks like: @@ -472,14 +405,12 @@ happens, read more below in [the `configure` options](#configureoptions). Some examples: -> **Windows 32bit build with freetype specified:** -> `bash ./configure --with-freetype=/cygdrive/c/freetype-i586 --with-target- -bits=32` +> **Windows 32bit build with freetype specified:** \ +> `bash ./configure --with-freetype=/cygdrive/c/freetype-i586 --with-target-bits=32` -> **Debug 64bit Build:** +> **Debug 64bit Build:** \ > `bash ./configure --enable-debug --with-target-bits=64` - #### Configure Options Complete details on all the OpenJDK `configure` options can be seen with: @@ -491,12 +422,13 @@ number of different configurations, e.g. debug, release, 32, 64, etc. Some of the more commonly used `configure` options are: -> **`--enable-debug`** -> set the debug level to fastdebug (this is a shorthand for `--with-debug- - level=fastdebug`) +> **`--enable-debug`** \ +> set the debug level to fastdebug (this is a shorthand for +> `--with-debug-level=fastdebug`) -> **`--with-alsa=`**_path_ + +> **`--with-alsa=`**_path_ \ > select the location of the Advanced Linux Sound Architecture (ALSA) > Version 0.9.1 or newer of the ALSA files are required for building the @@ -505,29 +437,31 @@ Some of the more commonly used `configure` options are: and use the package provided by the particular version of Linux that you are using. -> **`--with-boot-jdk=`**_path_ +> **`--with-boot-jdk=`**_path_ \ > select the [Bootstrap JDK](#bootjdk) -> **`--with-boot-jdk-jvmargs=`**"_args_" +> **`--with-boot-jdk-jvmargs=`**"_args_" \ > provide the JVM options to be used to run the [Bootstrap JDK](#bootjdk) -> **`--with-cacerts=`**_path_ +> **`--with-cacerts=`**_path_ \ > select the path to the cacerts file. -> See [Certificate Authority on Wikipedia](http://en.wikipedia.org/wiki/ - Certificate_Authority) for a better understanding of the Certificate - Authority (CA). A certificates file named "cacerts" represents a system-wide - keystore with CA certificates. In JDK and JRE binary bundles, the "cacerts" - file contains root CA certificates from several public CAs (e.g., VeriSign, - Thawte, and Baltimore). The source contain a cacerts file without CA root - certificates. Formal JDK builders will need to secure permission from each - public CA and include the certificates into their own custom cacerts file. - Failure to provide a populated cacerts file will result in verification - errors of a certificate chain during runtime. By default an empty cacerts - file is provided and that should be fine for most JDK developers. +> See [Certificate Authority on + Wikipedia](http://en.wikipedia.org/wiki/Certificate_Authority) for a + better understanding of the Certificate Authority (CA). A certificates file + named "cacerts" represents a system-wide keystore with CA certificates. In + JDK and JRE binary bundles, the "cacerts" file contains root CA certificates + from several public CAs (e.g., VeriSign, Thawte, and Baltimore). The source + contain a cacerts file without CA root certificates. Formal JDK builders will + need to secure permission from each public CA and include the certificates + into their own custom cacerts file. Failure to provide a populated cacerts + file will result in verification errors of a certificate chain during + runtime. By default an empty cacerts file is provided and that should be fine + for most JDK developers. -> **`--with-cups=`**_path_ + +> **`--with-cups=`**_path_ \ > select the CUPS install location > The Common UNIX Printing System (CUPS) Headers are required for building the @@ -538,17 +472,18 @@ Some of the more commonly used `configure` options are: > The CUPS header files can always be downloaded from [www.cups.org](http://www.cups.org). -> **`--with-cups-include=`**_path_ +> **`--with-cups-include=`**_path_ \ > select the CUPS include directory location -> **`--with-debug-level=`**_level_ +> **`--with-debug-level=`**_level_ \ > select the debug information level of release, fastdebug, or slowdebug -> **`--with-dev-kit=`**_path_ +> **`--with-dev-kit=`**_path_ \ > select location of the compiler install or developer install location -> **`--with-freetype=`**_path_ + +> **`--with-freetype=`**_path_ \ > select the freetype files to use. > Expecting the freetype libraries under `lib/` and the headers under @@ -570,32 +505,33 @@ Some of the more commonly used `configure` options are: [SourceForge FreeType2 Home Page](http://freetype.sourceforge.net/freetype2) for more information. -> **`--with-import-hotspot=`**_path_ +> **`--with-import-hotspot=`**_path_ \ > select the location to find hotspot binaries from a previous build to avoid building hotspot -> **`--with-target-bits=`**_arg_ +> **`--with-target-bits=`**_arg_ \ > select 32 or 64 bit build -> **`--with-jvm-variants=`**_variants_ +> **`--with-jvm-variants=`**_variants_ \ > select the JVM variants to build from, comma separated list that can include: server, client, kernel, zero and zeroshark -> **`--with-memory-size=`**_size_ +> **`--with-memory-size=`**_size_ \ > select the RAM size that GNU make will think this system has -> **`--with-msvcr-dll=`**_path_ +> **`--with-msvcr-dll=`**_path_ \ > select the `msvcr100.dll` file to include in the Windows builds (C/C++ runtime library for Visual Studio). > This is usually picked up automatically from the redist directories of Visual Studio 2010. -> **`--with-num-cores=`**_cores_ +> **`--with-num-cores=`**_cores_ \ > select the number of cores to use (processor count or CPU count) -> **`--with-x=`**_path_ + +> **`--with-x=`**_path_ \ > select the location of the X11 and xrender files. > The XRender Extension Headers are required for building the OpenJDK on @@ -607,9 +543,8 @@ Some of the more commonly used `configure` options are: installed in `/usr/X11/include/X11/extensions/Xrender.h` or `/usr/openwin/share/include/X11/extensions/Xrender.h` -***** +------------------------------------------------------------------------------- - ### Make The basic invocation of the `make` utility looks like: @@ -622,34 +557,33 @@ more information on the available targets. There are some of the make targets that are of general interest: -> _empty_ +> _empty_ \ > build everything but no images -> **`all`** +> **`all`** \ > build everything including images -> **`all-conf`** +> **`all-conf`** \ > build all configurations -> **`images`** +> **`images`** \ > create complete j2sdk and j2re images -> **`install`** +> **`install`** \ > install the generated images locally, typically in `/usr/local` -> **`clean`** +> **`clean`** \ > remove all files generated by make, but not those generated by `configure` -> **`dist-clean`** +> **`dist-clean`** \ > remove all files generated by both and `configure` (basically killing the configuration) -> **`help`** +> **`help`** \ > give some help on using `make`, including some interesting make targets -***** +------------------------------------------------------------------------------- - ## Testing When the build is completed, you should see the generated binaries and @@ -662,35 +596,33 @@ repositories can be run with the command: > **``cd test && make PRODUCT_HOME=`pwd`/../build/*/images/j2sdk-image all``** -***** +------------------------------------------------------------------------------- - ## Appendix A: Hints and Tips - ### FAQ **Q:** The `generated-configure.sh` file looks horrible! How are you going to -edit it? +edit it? \ **A:** The `generated-configure.sh` file is generated (think "compiled") by the autoconf tools. The source code is in `configure.ac` and various .m4 files in common/autoconf, which are much more readable. -**Q:** Why is the `generated-configure.sh` file checked in, if it is -generated? +**Q:** Why is the `generated-configure.sh` file checked in, if it is +generated? \ **A:** If it was not generated, every user would need to have the autoconf tools installed, and re-generate the `configure` file as the first step. Our goal is to minimize the work needed to be done by the user to start building OpenJDK, and to minimize the number of external dependencies required. **Q:** Do you require a specific version of autoconf for regenerating -`generated-configure.sh`? +`generated-configure.sh`? \ **A:** Yes, version 2.69 is required and should be easy enough to aquire on all supported operating systems. The reason for this is to avoid large spurious changes in `generated-configure.sh`. **Q:** How do you regenerate `generated-configure.sh` after making changes to -the input files? +the input files? \ **A:** Regnerating `generated-configure.sh` should always be done using the script `common/autoconf/autogen.sh` to ensure that the correct files get updated. This script should also be run after mercurial tries to merge @@ -698,7 +630,7 @@ updated. This script should also be run after mercurial tries to merge be correct. **Q:** What are the files in `common/makefiles/support/*` for? They look like -gibberish. +gibberish. \ **A:** They are a somewhat ugly hack to compensate for command line length limitations on certain platforms (Windows, Solaris). Due to a combination of limitations in make and the shell, command lines containing too many files will @@ -708,21 +640,21 @@ not proud of it, but it does fix the problem. If you have any better suggestions, we're all ears! :-) **Q:** I want to see the output of the commands that make runs, like in the old -build. How do I do that? +build. How do I do that? \ **A:** You specify the `LOG` variable to make. There are several log levels: * **`warn`** -- Default and very quiet. * **`info`** -- Shows more progress information than warn. * **`debug`** -- Echos all command lines and prints all macro calls for compilation definitions. - * **`trace`** -- Echos all $(shell) command lines as well. + * **`trace`** -- Echos all \$(shell) command lines as well. -**Q:** When do I have to re-run `configure`? +**Q:** When do I have to re-run `configure`? \ **A:** Normally you will run `configure` only once for creating a configuration. You need to re-run configuration only if you want to change any configuration options, or if you pull down changes to the `configure` script. -**Q:** I have added a new source file. Do I need to modify the makefiles? +**Q:** I have added a new source file. Do I need to modify the makefiles? \ **A:** Normally, no. If you want to create e.g. a new native library, you will need to modify the makefiles. But for normal file additions or removals, no changes are needed. There are certan exceptions for some native libraries where @@ -731,20 +663,21 @@ for other libraries. In these cases it was simply easier to create include lists rather than excludes. **Q:** When I run `configure --help`, I see many strange options, like -`--dvidir`. What is this? +`--dvidir`. What is this? \ **A:** Configure provides a slew of options by default, to all projects that use autoconf. Most of them are not used in OpenJDK, so you can safely ignore them. To list only OpenJDK specific features, use `configure --help=short` instead. -**Q:** `configure` provides OpenJDK-specific features such as `--with- -builddeps-server` that are not described in this document. What about those? +**Q:** `configure` provides OpenJDK-specific features such as +`--with-builddeps-server` that are not described in this document. What about +those? \ **A:** Try them out if you like! But be aware that most of these are experimental features. Many of them don't do anything at all at the moment; the option is just a placeholder. Others depend on pieces of code or infrastructure that is currently not ready for prime time. -**Q:** How will you make sure you don't break anything? +**Q:** How will you make sure you don't break anything? \ **A:** We have a script that compares the result of the new build system with the result of the old. For most part, we aim for (and achieve) byte-by-byte identical output. There are however technical issues with e.g. native binaries, @@ -754,7 +687,7 @@ table and file size). Note that we still don't have 100% equivalence, but we're close. **Q:** I noticed this thing X in the build that looks very broken by design. -Why don't you fix it? +Why don't you fix it? \ **A:** Our goal is to produce a build output that is as close as technically possible to the old build output. If things were weird in the old build, they will be weird in the new build. Often, things were weird before due to @@ -763,14 +696,14 @@ The plan is to attack these things at a later stage, after the new build system is established. **Q:** The code in the new build system is not that well-structured. Will you -fix this? +fix this? \ **A:** Yes! The new build system has grown bit by bit as we converted the old system. When all of the old build system is converted, we can take a step back and clean up the structure of the new build system. Some of this we plan to do before replacing the old build system and some will need to wait until after. **Q:** Is anything able to use the results of the new build's default make -target? +target? \ **A:** Yes, this is the minimal (or roughly minimal) set of compiled output needed for a developer to actually execute the newly built JDK. The idea is that in an incremental development fashion, when doing a normal make, you @@ -782,12 +715,11 @@ it's still unnecessary. We're targeting sub-second incremental rebuilds! ;-) (Or, well, at least single-digit seconds...) **Q:** I usually set a specific environment variable when building, but I can't -find the equivalent in the new build. What should I do? +find the equivalent in the new build. What should I do? \ **A:** It might very well be that we have neglected to add support for an option that was actually used from outside the build system. Email us and we will add support for it! - ### Build Performance Tips Building OpenJDK requires a lot of horsepower. Some of the build tools can be @@ -858,7 +790,6 @@ and override with fast if you're impatient, you should call `configure` with `--with-num-cores=2`, making 2 the default. If you want to run with more cores, run `make JOBS=8` - ### Troubleshooting #### Solving build problems @@ -886,7 +817,7 @@ difficulties that `configure` had in finding things. Some of the more common problems with builds are briefly described below, with suggestions for remedies. - * **Corrupted Bundles on Windows:** + * **Corrupted Bundles on Windows:** \ Some virus scanning software has been known to corrupt the downloading of zip bundles. It may be necessary to disable the 'on access' or 'real time' virus scanning features to prevent this corruption. This type of 'real time' @@ -894,7 +825,7 @@ suggestions for remedies. Temporarily disabling the feature, or excluding the build output directory may be necessary to get correct and faster builds. - * **Slow Builds:** + * **Slow Builds:** \ If your build machine seems to be overloaded from too many simultaneous C++ compiles, try setting the `JOBS=1` on the `make` command line. Then try increasing the count slowly to an acceptable level for your system. Also: @@ -909,10 +840,10 @@ suggestions for remedies. Faster compiles are possible using a tool called [ccache](http://ccache.samba.org/). - * **File time issues:** + * **File time issues:** \ If you see warnings that refer to file time stamps, e.g. - > _Warning message:_ ` File 'xxx' has modification time in the future.` + > _Warning message:_ ` File 'xxx' has modification time in the future.` \ > _Warning message:_ ` Clock skew detected. Your build may be incomplete.` These warnings can occur when the clock on the build machine is out of sync @@ -925,7 +856,7 @@ suggestions for remedies. "`gmake clobber`" or delete the directory containing the build output, and restart the build from the beginning. - * **Error message: `Trouble writing out table to disk`** + * **Error message: `Trouble writing out table to disk`** \ Increase the amount of swap space on your build machine. This could be caused by overloading the system and it may be necessary to use: @@ -933,7 +864,7 @@ suggestions for remedies. to reduce the load on the system. - * **Error Message: `libstdc++ not found`:** + * **Error Message: `libstdc++ not found`:** \ This is caused by a missing libstdc++.a library. This is installed as part of a specific package (e.g. libstdc++.so.devel.386). By default some 64-bit Linux versions (e.g. Fedora) only install the 64-bit version of the @@ -941,7 +872,7 @@ suggestions for remedies. the C++ runtime libraries to allow for maximum portability of the built images. - * **Linux Error Message: `cannot restore segment prot after reloc`** + * **Linux Error Message: `cannot restore segment prot after reloc`** \ This is probably an issue with SELinux (See [SELinux on Wikipedia](http://en.wikipedia.org/wiki/SELinux)). Parts of the VM is built without the `-fPIC` for performance reasons. @@ -956,31 +887,30 @@ suggestions for remedies. Alternatively, instead of completely disabling it you could disable just this one check. - 1. Select System->Administration->SELinux Management + 1. Select System->Administration->SELinux Management 2. In the SELinux Management Tool which appears, select "Boolean" from the menu on the left 3. Expand the "Memory Protection" group 4. Check the first item, labeled "Allow all unconfined executables to use libraries requiring text relocation ..." - * **Windows Error Messages:** - `*** fatal error - couldn't allocate heap, ... ` - `rm fails with "Directory not empty"` - `unzip fails with "cannot create ... Permission denied"` + * **Windows Error Messages:** \ + `*** fatal error - couldn't allocate heap, ... ` \ + `rm fails with "Directory not empty"` \ + `unzip fails with "cannot create ... Permission denied"` \ `unzip fails with "cannot create ... Error 50"` The CYGWIN software can conflict with other non-CYGWIN software. See the CYGWIN FAQ section on [BLODA (applications that interfere with CYGWIN)](http://cygwin.com/faq/faq.using.html#faq.using.bloda). - * **Windows Error Message: `spawn failed`** + * **Windows Error Message: `spawn failed`** \ Try rebooting the system, or there could be some kind of issue with the disk or disk partition being used. Sometimes it comes with a "Permission Denied" message. -***** +------------------------------------------------------------------------------- - ## Appendix B: GNU make The Makefiles in the OpenJDK are only valid when used with the GNU version of @@ -998,11 +928,10 @@ about using GNU make: * **Mac OS X:** The XCode "command line tools" must be installed on your Mac. Information on GNU make, and access to ftp download sites, are available on the -[GNU make web site ](http://www.gnu.org/software/make/make.html). The latest +[GNU make web site](http://www.gnu.org/software/make/make.html). The latest source to GNU make is available at [ftp.gnu.org/pub/gnu/make/](http://ftp.gnu.org/pub/gnu/make/). - ### Building GNU make First step is to get the GNU make 3.81 or newer source from @@ -1012,9 +941,8 @@ little different depending on the OS but is basically done with: bash ./configure make -***** +------------------------------------------------------------------------------- - ## Appendix C: Build Environments ### Minimum Build Environments @@ -1062,79 +990,19 @@ problem. Similarly, compilation problems related to changes to the newer, or unreleased OS versions. Please report these types of problems as bugs so that they can be dealt with accordingly. -> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Base OS and ArchitectureOSC/C++ CompilerBootstrap JDKProcessorsRAM MinimumDISK Needs
Linux X86 (32-bit) and X64 (64-bit)Fedora 9gcc 4.3 JDK 7u72 or more1 GB6 GB
Solaris SPARC (32-bit) and SPARCV9 (64-bit)Solaris 10 Update 6Studio 12 Update 1 + patchesJDK 7u74 or more4 GB8 GB
Solaris X86 (32-bit) and X64 (64-bit)Solaris 10 Update 6Studio 12 Update 1 + patchesJDK 7u74 or more4 GB8 GB
Windows X86 (32-bit)Windows XPMicrosoft Visual Studio C++ 2010 Professional EditionJDK 7u72 or more2 GB6 GB
Windows X64 (64-bit)Windows Server 2003 - Enterprise x64 EditionMicrosoft Visual Studio C++ 2010 Professional EditionJDK 7u72 or more2 GB6 GB
Mac OS X X64 (64-bit)Mac OS X 10.7 "Lion"XCode 4.5.2 or newerJDK 7u72 or more4 GB6 GB
- -***** - - +Bootstrap JDK: JDK 7u7 + + Base OS and Architecture OS C/C++ Compiler Processors RAM Minimum DISK Needs + --------------------------------------------- ---------------------------------------------- ------------------------------------------------------- ------------ ------------- ------------ + Linux X86 (32-bit) and X64 (64-bit) Fedora 9 gcc 4.3 2 or more 1 GB 6 GB + Solaris SPARC (32-bit) and SPARCV9 (64-bit) Solaris 10 Update 6 Studio 12 Update 1 + patches 4 or more 4 GB 8 GB + Solaris X86 (32-bit) and X64 (64-bit) Solaris 10 Update 6 Studio 12 Update 1 + patches 4 or more 4 GB 8 GB + Windows X86 (32-bit) Windows XP Microsoft Visual Studio C++ 2010 Professional Edition 2 or more 2 GB 6 GB + Windows X64 (64-bit) Windows Server 2003 - Enterprise x64 Edition Microsoft Visual Studio C++ 2010 Professional Edition 2 or more 2 GB 6 GB + Mac OS X X64 (64-bit) Mac OS X 10.7 "Lion" XCode 4.5.2 or newer 2 or more 4 GB 6 GB + +------------------------------------------------------------------------------- + ### Specific Developer Build Environments We won't be listing all the possible environments, but we will try to provide @@ -1259,7 +1127,7 @@ In addition, it is necessary to set a few environment variables for the build: export LANG=C export PATH="/opt/SunStudioExpress/bin:${PATH}" -***** +------------------------------------------------------------------------------- End of the OpenJDK build README document. diff --git a/hotspot/README b/hotspot/README deleted file mode 100644 index 19afb261fc3..00000000000 --- a/hotspot/README +++ /dev/null @@ -1,14 +0,0 @@ -README: - This file should be located at the top of the hotspot Mercurial repository. - - See http://openjdk.java.net/ for more information about the OpenJDK. - - See ../README-builds.html for complete details on build machine requirements. - -Simple Build Instructions: - - cd make && gnumake - - The files that will be imported into the jdk build will be in the "build" - directory. - diff --git a/jaxp/README b/jaxp/README deleted file mode 100644 index 4d65125b34c..00000000000 --- a/jaxp/README +++ /dev/null @@ -1,19 +0,0 @@ -README: - - This file should be located at the top of the Mercurial repository. - - See http://openjdk.java.net/ for more information about the OpenJDK. - - See ../README-builds.html for complete details on build machine requirements. - -Simple Build Instructions: - This repository can be loaded as a NetBeans project, built with ant, or - built with GNU make, e.g. - ant - -OR- - cd make && gnumake - - The built files that will be imported into the jdk build will be in the - "dist" directory. - Help information is available by running "ant -projecthelp" or "make help". - diff --git a/jaxws/README b/jaxws/README deleted file mode 100644 index 4d65125b34c..00000000000 --- a/jaxws/README +++ /dev/null @@ -1,19 +0,0 @@ -README: - - This file should be located at the top of the Mercurial repository. - - See http://openjdk.java.net/ for more information about the OpenJDK. - - See ../README-builds.html for complete details on build machine requirements. - -Simple Build Instructions: - This repository can be loaded as a NetBeans project, built with ant, or - built with GNU make, e.g. - ant - -OR- - cd make && gnumake - - The built files that will be imported into the jdk build will be in the - "dist" directory. - Help information is available by running "ant -projecthelp" or "make help". - diff --git a/jdk/README b/jdk/README deleted file mode 100644 index fec16f9520d..00000000000 --- a/jdk/README +++ /dev/null @@ -1,29 +0,0 @@ -README: - This file should be located at the top of the jdk Mercurial repository. - - See http://openjdk.java.net/ for more information about the OpenJDK. - -Simple Build Instructions: - - 1. Download and install a JDK 6 from - http://java.sun.com/javase/downloads/index.jsp - Set the environment variable ALT_BOOTDIR to the location of this JDK 6. - - 2. Either download and install the latest JDK7 from - http://download.java.net/openjdk/jdk7/, or build your own complete - OpenJDK7 by using the top level Makefile in the OpenJDK Mercurial forest. - Set the environment variable ALT_JDK_IMPORT_PATH to the location of - this latest JDK7 or OpenJDK7 build. - - 3. Check the sanity of doing a build with the current machine: - cd make && gnumake sanity - See README-builds.html if you run into problems. - - 4. Do a partial build of the jdk: - cd make && gnumake all - - 5. Construct the images: - cd make && gnumake images - The resulting JDK image should be found in build/*/j2sdk-image - - diff --git a/make/Main.gmk b/make/Main.gmk index 19244c8dcd1..4292cfe6b02 100644 --- a/make/Main.gmk +++ b/make/Main.gmk @@ -167,6 +167,9 @@ docs-zip-only: start-make @($(CD) $(SRC_ROOT)/make && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f Javadoc.gmk docs-zip) @$(call TargetExit) +update-build-docs: + +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f UpdateBuildDocs.gmk) + sign-jars: jdk sign-jars-only sign-jars-only: start-make @$(call TargetEnter) @@ -258,7 +261,7 @@ reconfigure: @( cd $(OUTPUT_ROOT) && $(BASH) $(TOPDIR)/configure $(CONFIGURE_COMMAND_LINE) ) .PHONY: langtools corba jaxp jaxws hotspot jdk nashorn images overlay-images install test docs docs-zip -.PHONY: langtools-only corba-only jaxp-only jaxws-only hotspot-only jdk-only nashorn-only images-only overlay-images-only install-only test-only docs-only docs-zip-only +.PHONY: langtools-only corba-only jaxp-only jaxws-only hotspot-only jdk-only nashorn-only images-only overlay-images-only install-only test-only docs-only docs-zip-only update-build-docs .PHONY: default all clean dist-clean bootcycle-images start-make .PHONY: clean-langtools clean-corba clean-jaxp clean-jaxws clean-hotspot clean-jdk clean-nashorn clean-images clean-docs clean-docs-zip clean-test clean-overlay-images clean-bootcycle-build .PHONY: profiles profiles-only diff --git a/make/UpdateBuildDocs.gmk b/make/UpdateBuildDocs.gmk new file mode 100644 index 00000000000..ae5bb733334 --- /dev/null +++ b/make/UpdateBuildDocs.gmk @@ -0,0 +1,97 @@ +# +# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +default: all + +include $(SPEC) +include MakeBase.gmk + +################################################################################ +# This makefile updates the generated build html documentation. +# +################################################################################ + +ifeq ($(PANDOC), ) + $(info No pandoc executable was detected by configure) + $(error Cannot continue) +endif + +################################################################################ +# Setup make rules for converting a markdown file to html. +# +# Parameter 1 is the name of the rule. This name is used as variable prefix, +# and the targets generated are listed in a variable by that name. +# +# Remaining parameters are named arguments. These include: +# SOURCE_FILE The markdown source file +# TARGET_DIR The directory where to store the generated html file +# +define SetupMarkdownToHtml + $(foreach i,2 3, $(if $($i),$1_$(strip $($i)))$(NEWLINE)) + $(call LogSetupMacroEntry,SetupMarkdownToHtml($1),$2,$3) + $(if $(4),$(error Internal makefile error: Too many arguments to SetupMarkdownToHtml, please update UpdateBuildDocs.gmk)) + + ifeq ($$($1_SOURCE_FILE), ) + $$(error SOURCE_FILE is missing in SetupMarkdownToHtml $1) + endif + + ifeq ($$($1_TARGET_DIR), ) + $$(error TARGET_DIR is missing in SetupMarkdownToHtml $1) + endif + + $1_BASENAME := $$(notdir $$(basename $$($1_SOURCE_FILE))) + $1_OUTPUT_FILE := $$($1_TARGET_DIR)/$$($1_BASENAME).html + +$$($1_OUTPUT_FILE): $$($1_SOURCE_FILE) + $$(ECHO) $$(LOG_INFO) Converting $$(notdir $1) to html + $$(MKDIR) -p $$($1_TARGET_DIR) + $$(PANDOC) -f markdown -t html --standalone '$$<' -o '$$@' + TOO_LONG_LINES=`$$(GREP) -E -e '^.{80}.+$$$$' $$<` ; \ + if [ "x$${TOO_LONG_LINES}" != x ]; then \ + $$(ECHO) "Warning: Unsuitable markdown in $$<:" ; \ + $$(ECHO) "The following lines are longer than 80 characters:" ; \ + $$(GREP) -E -e '^.{80}.+$$$$' $$< ; \ + fi + + $1 := $$($1_OUTPUT_FILE) + + TARGETS += $$($1) +endef + +################################################################################ + +BUILD_DOCS_DIR := $(TOPDIR)/doc +BUILD_DOCS_MD_FILE := building.md + +$(eval $(call SetupMarkdownToHtml,building, \ + SOURCE_FILE := $(BUILD_DOCS_DIR)/$(BUILD_DOCS_MD_FILE), \ + TARGET_DIR := $(BUILD_DOCS_DIR) \ +)) + +################################################################################ + +all: $(TARGETS) + +.PHONY: all default From b372b4b502cb07eb3477c8ba1fbc8393b1bd56ff Mon Sep 17 00:00:00 2001 From: Andrew John Hughes Date: Fri, 24 Nov 2023 14:44:36 +0000 Subject: [PATCH 27/27] 8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar Reviewed-by: sgehwolf Backport-of: e47a84f23dd2608c6f5748093eefe301fb5bf750 --- jdk/src/share/classes/java/util/jar/JarFile.java | 4 +++- .../sun/security/util/SignatureFileVerifier.java | 12 ++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/jdk/src/share/classes/java/util/jar/JarFile.java b/jdk/src/share/classes/java/util/jar/JarFile.java index a26dcc4a1c7..ac2e1c9d6a8 100644 --- a/jdk/src/share/classes/java/util/jar/JarFile.java +++ b/jdk/src/share/classes/java/util/jar/JarFile.java @@ -436,7 +436,9 @@ private byte[] getBytes(ZipEntry ze) throws IOException { throw new IOException("Unsupported size: " + uncompressedSize + " for JarEntry " + ze.getName() + ". Allowed max size: " + - SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes"); + SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes. " + + "You can use the jdk.jar.maxSignatureFileSize " + + "system property to increase the default value."); } int len = (int)uncompressedSize; byte[] b = IOUtils.readAllBytes(is); diff --git a/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java b/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java index c335e964f63..afdfa406b92 100644 --- a/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java +++ b/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java @@ -855,16 +855,16 @@ private static int initializeMaxSigFileSize() { * the maximum allowed number of bytes for the signature-related files * in a JAR file. */ - Integer tmp = AccessController.doPrivileged(new GetIntegerAction( - "jdk.jar.maxSignatureFileSize", 8000000)); + int tmp = AccessController.doPrivileged(new GetIntegerAction( + "jdk.jar.maxSignatureFileSize", 16000000)); if (tmp < 0 || tmp > MAX_ARRAY_SIZE) { if (debug != null) { - debug.println("Default signature file size 8000000 bytes " + - "is used as the specified size for the " + - "jdk.jar.maxSignatureFileSize system property " + + debug.println("The default signature file size of 16000000 bytes " + + "will be used for the jdk.jar.maxSignatureFileSize " + + "system property since the specified value " + "is out of range: " + tmp); } - tmp = 8000000; + tmp = 16000000; } return tmp; }