RFR 8197944 Condy tests fails on Windows

Paul Sandoz paul.sandoz at oracle.com
Tue Mar 13 17:43:58 UTC 2018


Hi,

The recent push for

  https://bugs.openjdk.java.net/browse/JDK-8199342
  The constant pool forgets it has a Dynamic entry if there are overpass methods

resulted in a test failure on windows that i failed to observe from the test reports prior to pushing.

This patch fixes that failure, and fixes other related tests that failed on windows for the same reason, which were placed on the problem list. 

The problematic tests open a file for debugging purposes and do not close it. This causes the test infrastructure on windows to fail as it cannot remove the file (i dunno if this is something that can be independently fixed).

I verified (more carefully this time) that a mach5 build and test on windows passes.
 
Paul.

diff -r 74518f9ca4b4 test/jdk/ProblemList.txt
--- a/test/jdk/ProblemList.txt	Thu Mar 08 14:33:57 2018 -0800
+++ b/test/jdk/ProblemList.txt	Tue Mar 13 10:31:38 2018 -0700
@@ -493,9 +493,6 @@
 
 java/lang/String/nativeEncoding/StringPlatformChars.java        8182569 windows-all,solaris-all
 
-java/lang/invoke/condy/CondyRepeatFailedResolution.java         8197944 windows-all
-java/lang/invoke/condy/CondyReturnPrimitiveTest.java            8197944 windows-all
-
 ############################################################################
 
 # jdk_instrument
diff -r 74518f9ca4b4 test/jdk/java/lang/invoke/condy/CondyInterfaceWithOverpassMethods.java
--- a/test/jdk/java/lang/invoke/condy/CondyInterfaceWithOverpassMethods.java	Thu Mar 08 14:33:57 2018 -0800
+++ b/test/jdk/java/lang/invoke/condy/CondyInterfaceWithOverpassMethods.java	Tue Mar 13 10:31:38 2018 -0700
@@ -34,16 +34,11 @@
 import jdk.experimental.bytecode.BasicClassBuilder;
 import jdk.experimental.bytecode.Flag;
 import jdk.experimental.bytecode.TypedCodeBuilder;
-import org.testng.Assert;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
-import java.io.File;
-import java.io.FileOutputStream;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.MethodType;
-import java.lang.reflect.Method;
-import java.util.concurrent.atomic.AtomicInteger;
 
 @Test
 public class CondyInterfaceWithOverpassMethods {
@@ -93,9 +88,6 @@
                                 ))
                 .build();
 
-        // For debugging purposes
-        new FileOutputStream(new File(genClassName + ".class")).write(byteArray);
-
         gc = MethodHandles.lookup().defineClass(byteArray);
     }
 
diff -r 74518f9ca4b4 test/jdk/java/lang/invoke/condy/CondyRepeatFailedResolution.java
--- a/test/jdk/java/lang/invoke/condy/CondyRepeatFailedResolution.java	Thu Mar 08 14:33:57 2018 -0800
+++ b/test/jdk/java/lang/invoke/condy/CondyRepeatFailedResolution.java	Tue Mar 13 10:31:38 2018 -0700
@@ -39,8 +39,6 @@
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
-import java.io.File;
-import java.io.FileOutputStream;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.MethodType;
 import java.lang.reflect.InvocationTargetException;
@@ -217,9 +215,6 @@
                                 ))
                 .build();
 
-        // For debugging purposes
-        new FileOutputStream(new File(genClassName + ".class")).write(byteArray);
-
         gc = MethodHandles.lookup().defineClass(byteArray);
     }
 
diff -r 74518f9ca4b4 test/jdk/java/lang/invoke/condy/CondyReturnPrimitiveTest.java
--- a/test/jdk/java/lang/invoke/condy/CondyReturnPrimitiveTest.java	Thu Mar 08 14:33:57 2018 -0800
+++ b/test/jdk/java/lang/invoke/condy/CondyReturnPrimitiveTest.java	Tue Mar 13 10:31:38 2018 -0700
@@ -39,8 +39,6 @@
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
-import java.io.File;
-import java.io.FileOutputStream;
 import java.lang.invoke.MethodHandles;
 import java.lang.invoke.MethodType;
 import java.lang.reflect.Method;
@@ -218,9 +216,6 @@
                                 ))
                 .build();
 
-        // For debugging purposes
-        new FileOutputStream(new File(genClassName + ".class")).write(byteArray);
-
         gc = MethodHandles.lookup().defineClass(byteArray);
     }



More information about the hotspot-dev mailing list