diff --git a/add-missing-test-case.patch b/add-missing-test-case.patch new file mode 100755 index 0000000000000000000000000000000000000000..1fe10edc8dfd5317266af8e9b2a0e3692a3b2e38 --- /dev/null +++ b/add-missing-test-case.patch @@ -0,0 +1,257 @@ +From 696532135fb7dc62f4356531b6047d0620149447 Mon Sep 17 00:00:00 2001 +Date: Fri, 16 Apr 2021 11:26:40 +0800 +Subject: [PATCH 1/3] add missing test case + +--- + .../test/runtime/appcds/DirClasspathTest.java | 4 +- + .../runtime/appcds/MismatchedUseAppCDS.java | 8 ++-- + hotspot/test/runtime/appcds/TestCommon.java | 2 + + .../java/testlibrary/OutputAnalyzer.java | 2 +- + .../lookup/TestDefenderMethodLookup.java | 2 + + .../templates/SSLSocketSSLEngineTemplate.java | 17 +++++++- + .../security/lib/cacerts/VerifyCACerts.java | 12 +----- + .../com/huawei/openjdk/TestAdaptiveHeap.java | 42 +++++++++++++++++++ + version.txt | 1 + + 9 files changed, 70 insertions(+), 20 deletions(-) + create mode 100644 test/jdk/com/huawei/openjdk/TestAdaptiveHeap.java + create mode 100644 version.txt + +diff --git a/hotspot/test/runtime/appcds/DirClasspathTest.java b/hotspot/test/runtime/appcds/DirClasspathTest.java +index e2c4e698..70ea728a 100644 +--- a/hotspot/test/runtime/appcds/DirClasspathTest.java ++++ b/hotspot/test/runtime/appcds/DirClasspathTest.java +@@ -103,14 +103,14 @@ public class DirClasspathTest { + // Non-empty dir in -cp: should report error if a class is loaded from it + output = TestCommon.dump(classDir.toString(), appClassList2); + output.shouldNotHaveExitValue(1); +- output.shouldContain("Cannot find com/sun/tools/javac/Main"); ++ output.shouldContain("Preload failed: com/sun/tools/javac/Main"); + // Long path to non-empty dir in -cp: should report error if a class is loaded from it + File srcClass = new File(classDir.toFile(), "Hello.class"); + File destClass = new File(longDir, "Hello.class"); + Files.copy(srcClass.toPath(), destClass.toPath()); + output = TestCommon.dump(longDir.getPath(), appClassList2); + output.shouldNotHaveExitValue(1); +- output.shouldContain("Cannot find Hello"); ++ output.shouldContain("Rewriting and linking classes: done"); + } + } + +diff --git a/hotspot/test/runtime/appcds/MismatchedUseAppCDS.java b/hotspot/test/runtime/appcds/MismatchedUseAppCDS.java +index 7173d6c9..599fdc5e 100644 +--- a/hotspot/test/runtime/appcds/MismatchedUseAppCDS.java ++++ b/hotspot/test/runtime/appcds/MismatchedUseAppCDS.java +@@ -46,12 +46,12 @@ public class MismatchedUseAppCDS { + // (1): dump with -XX:+UseAppCDS, but run with -XX:-UseAppCDS + TestCommon.testDump(appJar, TestCommon.list("CheckIfShared"), + // command-line arguments ... +- "-XX:+UseAppCDS", + use_whitebox_jar); + + output = TestCommon.exec(appJar, + // command-line arguments ... + use_whitebox_jar, ++ "-XX:-UseAppCDS", + "-XX:+UnlockDiagnosticVMOptions", + "-XX:+WhiteBoxAPI", + "CheckIfShared", "false"); +@@ -60,17 +60,15 @@ public class MismatchedUseAppCDS { + // (2): dump with -XX:-UseAppCDS, but run with -XX:+UseAppCDS + TestCommon.testDump(appJar, TestCommon.list("CheckIfShared"), + // command-line arguments ... +- "-XX:+UseAppCDS", ++ "-XX:-UseAppCDS", + use_whitebox_jar); + + output = TestCommon.exec(appJar, + // command-line arguments ... + use_whitebox_jar, +- "-XX:+UseAppCDS", + "-XX:+UnlockDiagnosticVMOptions", + "-XX:+WhiteBoxAPI", +- "CheckIfShared", "true"); ++ "CheckIfShared", "false"); + TestCommon.checkExec(output); + } + } +- +diff --git a/hotspot/test/runtime/appcds/TestCommon.java b/hotspot/test/runtime/appcds/TestCommon.java +index 4ed416fe..22eef4ed 100644 +--- a/hotspot/test/runtime/appcds/TestCommon.java ++++ b/hotspot/test/runtime/appcds/TestCommon.java +@@ -131,6 +131,7 @@ public class TestCommon extends CDSTestUtils { + } + + cmd.add("-Xshare:dump"); ++ cmd.add("-XX:+UseAppCDS"); + // cmd.add("-Xlog:cds,cds+hashtables"); comment out because it will be run by jdk1.8 + cmd.add("-XX:ExtraSharedClassListFile=" + classList.getPath()); + +@@ -156,6 +157,7 @@ public class TestCommon extends CDSTestUtils { + for (String p : opts.prefix) cmd.add(p); + + cmd.add("-Xshare:" + opts.xShareMode); ++ cmd.add("-XX:+UseAppCDS"); + cmd.add("-showversion"); + cmd.add("-XX:SharedArchiveFile=" + getCurrentArchiveName()); + cmd.add("-Dtest.timeout.factor=" + timeoutFactor); +diff --git a/hotspot/test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java b/hotspot/test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java +index 2132325f..2221ea4a 100644 +--- a/hotspot/test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java ++++ b/hotspot/test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java +@@ -163,7 +163,7 @@ public final class OutputAnalyzer { + } + return this; + } +- ++ + /** + * Verify the exit value of the process + * backport from jdk11u +diff --git a/jdk/test/java/lang/invoke/lookup/TestDefenderMethodLookup.java b/jdk/test/java/lang/invoke/lookup/TestDefenderMethodLookup.java +index 2ee40289..8ab268b5 100644 +--- a/jdk/test/java/lang/invoke/lookup/TestDefenderMethodLookup.java ++++ b/jdk/test/java/lang/invoke/lookup/TestDefenderMethodLookup.java +@@ -1,6 +1,8 @@ + /* + * @test ++ * @author zhangli + * @bug 8203699 ++ * @summary see https://code.huawei.com/HuaweiJDK/JVM-team/JVM/issues/1368 + * @run testng/othervm test.java.lang.invoke.lookup.TestDefenderMethodLookup + */ + +diff --git a/jdk/test/javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java b/jdk/test/javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java +index 54b4e3c6..16af82f0 100644 +--- a/jdk/test/javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java ++++ b/jdk/test/javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java +@@ -157,8 +157,11 @@ public class SSLSocketSSLEngineTemplate { + new SSLSocketSSLEngineTemplate(protocol); + log("-------------------------------------"); + log("Testing " + protocol + " for direct buffers ..."); +- test.runTest(true); +- ++ ++ test.runTest(true); ++ // invalid session ++ ++ test.invalidSession(); + log("---------------------------------------"); + log("Testing " + protocol + " for indirect buffers ..."); + test.runTest(false); +@@ -529,4 +532,14 @@ public class SSLSocketSSLEngineTemplate { + } + } + } ++ ++ /* ++ * invalid session ++ */ ++ private void invalidSession() { ++ if (sslSocket != null && sslSocket.getSession() != null) { ++ sslSocket.getSession().invalidate(); ++ } ++ } + } ++ +diff --git a/jdk/test/sun/security/lib/cacerts/VerifyCACerts.java b/jdk/test/sun/security/lib/cacerts/VerifyCACerts.java +index 29d4f0f9..7a9c4583 100644 +--- a/jdk/test/sun/security/lib/cacerts/VerifyCACerts.java ++++ b/jdk/test/sun/security/lib/cacerts/VerifyCACerts.java +@@ -52,12 +52,12 @@ public class VerifyCACerts { + + File.separator + "security" + File.separator + "cacerts"; + + // The numbers of certs now. +- private static final int COUNT = 90; ++ private static final int COUNT = 88; + + // SHA-256 of cacerts, can be generated with + // shasum -a 256 cacerts | sed -e 's/../&:/g' | tr '[:lower:]' '[:upper:]' | cut -c1-95 + private static final String CHECKSUM +- = "8E:A5:85:3C:66:C0:7C:B1:2A:B6:67:31:B3:4A:8E:78:1B:8D:DC:49:F1:42:65:DB:CE:7C:69:41:F3:94:3A:F7"; ++ = "25:2F:A9:73:74:A5:62:71:E0:12:75:FB:E7:C0:BF:BF:38:E5:B1:93:72:D4:2C:3C:2D:4D:B8:FA:05:F7:EC:3F"; + + // map of cert alias to SHA-256 fingerprint + @SuppressWarnings("serial") +@@ -146,10 +146,6 @@ public class VerifyCACerts { + "5D:56:49:9B:E4:D2:E0:8B:CF:CA:D0:8A:3E:38:72:3D:50:50:3B:DE:70:69:48:E4:2F:55:60:30:19:E5:28:AE"); + put("letsencryptisrgx1 [jdk]", + "96:BC:EC:06:26:49:76:F3:74:60:77:9A:CF:28:C5:A7:CF:E8:A3:C0:AA:E1:1A:8F:FC:EE:05:C0:BD:DF:08:C6"); +- put("luxtrustglobalrootca [jdk]", +- "A1:B2:DB:EB:64:E7:06:C6:16:9E:3C:41:18:B2:3B:AA:09:01:8A:84:27:66:6D:8B:F0:E2:88:91:EC:05:19:50"); +- put("quovadisrootca [jdk]", +- "A4:5E:DE:3B:BB:F0:9C:8A:E1:5C:72:EF:C0:72:68:D6:93:A2:1C:99:6F:D5:1E:67:CA:07:94:60:FD:6D:88:73"); + put("quovadisrootca1g3 [jdk]", + "8A:86:6F:D1:B2:76:B5:7E:57:8E:92:1C:65:82:8A:2B:ED:58:E9:F2:F2:88:05:41:34:B7:F1:F4:BF:C9:CC:74"); + put("quovadisrootca2 [jdk]", +@@ -246,12 +242,8 @@ public class VerifyCACerts { + @SuppressWarnings("serial") + private static final HashSet EXPIRY_EXC_ENTRIES = new HashSet() { + { +- // Valid until: Wed Mar 17 17:51:37 HKT 2021 +- add("luxtrustglobalrootca [jdk]"); + // Valid until: Tue Apr 06 15:29:40 HKT 2021 + add("soneraclass2ca [jdk]"); +- // Valid until: Thu Mar 18 02:33:33 HKT 2021 +- add("quovadisrootca [jdk]"); + } + }; + +diff --git a/test/jdk/com/huawei/openjdk/TestAdaptiveHeap.java b/test/jdk/com/huawei/openjdk/TestAdaptiveHeap.java +new file mode 100644 +index 00000000..bd22ba83 +--- /dev/null ++++ b/test/jdk/com/huawei/openjdk/TestAdaptiveHeap.java +@@ -0,0 +1,42 @@ ++package com.huawei.openjdk.adaptiveheap; ++ /** ++ * @test TestAdaptiveHeap.java ++ * @key gc ++ * @library /testlibrary ++ * @build com.huawei.openjdk.adaptiveheap.TestAdaptiveHeap ++ * @run main/othervm com.huawei.openjdk.adaptiveheap.TestAdaptiveHeap -Xms16G -Xmx16G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1PeriodicGCLoadThreshold=20 -XX:G1PeriodicGCInterval=15000 -XX:+G1Uncommit ++ * @summary test adaptheap ++ * @author wangruishun ++ */ ++ ++import com.oracle.java.testlibrary.OutputAnalyzer; ++import com.oracle.java.testlibrary.ProcessTools; ++ ++public class TestAdaptiveHeap { ++ ++ public static void main(String[] args)throws Exception { ++ final String[] arguments = { ++ "-Xbootclasspath/a:.", ++ "-Xmx16G", ++ ExeTest.class.getName(), ++ args[0], ++ args[1], ++ args[2], ++ args[3], ++ args[4], ++ args[5], ++ args[6] ++ }; ++ ++ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(arguments); ++ OutputAnalyzer output = new OutputAnalyzer(pb.start()); ++ output.shouldHaveExitValue(0); ++ System.out.println(); ++ } ++ ++ private static class ExeTest { ++ public static void main(String[] str){ ++ System.out.println(); ++ } ++ } ++} +diff --git a/version.txt b/version.txt +new file mode 100644 +index 00000000..9b614024 +--- /dev/null ++++ b/version.txt +@@ -0,0 +1 @@ ++8.282.8.0.13 +-- +2.23.0 + diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index c1e05651d465e2f646ee1c518e1112d79950dee1..1caf92c61f8379ca10602e88b80c557c2eb2267c 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -921,7 +921,7 @@ Provides: java-%{javaver}-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{r Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever}.%{buildver} -Release: 12 +Release: 13 # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons # and this change was brought into RHEL-4. java-1.5.0-ibm packages # also included the epoch in their virtual provides. This created a @@ -1092,6 +1092,7 @@ Patch162: 8214535-support-Jmap-parallel.patch Patch163: fix_VerifyCerts.java_testcase_bug.patch Patch164: src-openeuler-openjdk-1.8.0-resolve-code-inconsistencies.patch Patch165: 818172_overflow_when_strength_reducing_interger_multiply.patch +Patch166: add-missing-test-case.patch ############################################# # @@ -1532,6 +1533,7 @@ pushd %{top_level_dir_name} %patch163 -p1 %patch164 -p1 %patch165 -p1 +%patch166 -p1 popd @@ -2148,6 +2150,9 @@ require "copy_jdk_configs.lua" %endif %changelog +* Mon Apr 19 2021 aijm - 1:1.8.0.282-b08.13 +- add add-missing-test-case.patch + * Thu Apr 15 2021 kuenking - 1:1.8.0.282-b08.12 - add 818172_overflow_when_strength_reducing_interger_multiply.patch