RFR 8197944 Condy tests fails on Windows

Lois Foltan lois.foltan at oracle.com
Tue Mar 13 22:41:35 UTC 2018


Looks good!
Lois

On 3/13/2018 1:43 PM, Paul Sandoz wrote:
> 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