JDK-7142431 : (invoke) Test use private interface for testing MethodHandleProxies.asInterfaceInstance
Type:Bug
Component:core-libs
Sub-Component:java.lang.invoke
Affected Version:7u4
Priority:P4
Status:Closed
Resolution:Duplicate
OS:generic,os_x
CPU:generic
Submitted:2012-02-03
Updated:2012-02-07
Resolved:2012-02-07
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
After fix bug #7054590 test java/lang/invoke/MethodHandlesTest.java fail:
In method testAsInstance using private interface Fooable, but it must be public.
Tests fail:
java/lang/invoke/MethodHandlesTest.java
Comments
EVALUATION
In the changeset for 7054590, the fix to the API is accompanied by a fix to the unit test. Both fixes have been integrated here:
http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/rev/f45ddb8b71aa
The diffs can be inspected to verify that interface Fooable has been changed to public.
Probably there is micro-version skew in the test framework, which will sort itself out when the test framework refreshes itself from the promoted sources.
--- a/test/java/lang/invoke/MethodHandlesTest.java Tue Jan 24 11:30:58 2012 -0500
+++ b/test/java/lang/invoke/MethodHandlesTest.java Tue Jun 14 22:47:12 2011 -0700
@@ -2234,7 +2234,7 @@ public class MethodHandlesTest {
static void runForRunnable() {
called("runForRunnable");
}
- private interface Fooable {
+ public interface Fooable {
Object foo(Fooable x, Object y);
// this is for randomArg:
public class Impl implements Fooable {