RFR 8197944 Condy tests fails on Windows
David Holmes
david.holmes at oracle.com
Tue Mar 13 21:46:22 UTC 2018
Hi Paul,
Fix seems fine. Though you could have just closed the file and kept the
debugging capability.
Thanks,
David
On 14/03/2018 3:43 AM, 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