RFR: 8267754: cds/appcds/loaderConstraints/LoaderConstraintsTest.java fails on x86_32 due to customized class loader is not supported [v2]

Igor Ignatyev iignatyev at openjdk.java.net
Fri May 28 07:53:08 UTC 2021


On Wed, 26 May 2021 09:38:30 GMT, Jie Fu <jiefu at openjdk.org> wrote:

>> I think a better solution would be to split the test into two subtests (two separate jtreg test descriptions in one .java file): one for `doTest` another for `doTestCustomLoader` and use `@requires vm.cds.custom.loaders` in the 2nd one. this way, we will get more clear test results.
>> 
>> Cheers,
>> -- Igor
>
>> I think a better solution would be to split the test into two subtests (two separate jtreg test descriptions in one .java file): one for `doTest` another for `doTestCustomLoader` and use `@requires vm.cds.custom.loaders` in the 2nd one. this way, we will get more clear test results.
>> 
>> Cheers,
>> -- Igor
> 
> 
> Thanks @iignatev for your review and sharing.
> I didn't know this skill before.
> 
> Splitting the test into two subtests seems making a tiny bit sense since the CI/CD won't care which sub-tests are not run.
> 
> I prefer the current (minimal) change since I think it's already good enough and I didn't find an easy way to rewrite it.
> 
> Thanks.

well, smth like[1] should do the trick (haven't tested) and isn't that big of the change.

-- Igor

[1]
```diff --git a/test/hotspot/jtreg/runtime/cds/appcds/loaderConstraints/LoaderConstraintsTest.java b/test/hotspot/jtreg/runtime/cds/appcds/loaderConstraints/LoaderConstraintsTest.java
index 9c6d53e7092..5acfc69479a 100644
--- a/test/hotspot/jtreg/runtime/cds/appcds/loaderConstraints/LoaderConstraintsTest.java
+++ b/test/hotspot/jtreg/runtime/cds/appcds/loaderConstraints/LoaderConstraintsTest.java
@@ -22,10 +22,10 @@
  */
 
 /**
- * @test
+ * @test id=default-cl
  * @requires vm.cds
  * @summary Test class loader constraint checks for archived classes
- * @bug 8267347 8267754
+ * @bug 8267754
  * @library /test/lib
  *          /test/hotspot/jtreg/runtime/cds/appcds
  *          /test/hotspot/jtreg/runtime/cds/appcds/test-classes
@@ -34,6 +34,20 @@
  * @run driver LoaderConstraintsTest
  */
 
+/**
+ * @test id=custom-cl
+ * @requires vm.cds.custom.loaders
+ * @summary Test class loader constraint checks for archived classes with custom class loader
+ * @bug 8267347 8267754
+ * @library /test/lib
+ *          /test/hotspot/jtreg/runtime/cds/appcds
+ *          /test/hotspot/jtreg/runtime/cds/appcds/test-classes
+ * @modules java.base/jdk.internal.misc
+ *          jdk.httpserver
+ * @run driver LoaderConstraintsTest custom
+ */
+
+
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
 import jdk.test.lib.Asserts;
@@ -109,8 +123,9 @@ public class LoaderConstraintsTest  {
 
     public static void main(String... args) throws Exception {
         appJar = ClassFileInstaller.writeJar("loader_constraints.jar", appClasses);
-        doTest();
-        if (Platform.areCustomLoadersSupportedForCDS()) {
+        if (args.length == 0) {
+            doTest();
+        } else {
             loaderJar = ClassFileInstaller.writeJar("custom_app_loader.jar", loaderClasses);
             doTestCustomLoader();
         }

-------------

PR: https://git.openjdk.java.net/jdk/pull/4198


More information about the hotspot-runtime-dev mailing list