[7u12] Request for approval for CR 8004693 - TEST_BUG: java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java fails
Konstantin Shefov
konstantin.shefov at oracle.com
Tue Dec 18 06:44:52 PST 2012
Hello,
Please review a fix for the issue:
8004693 - TEST_BUG:
java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java
fails
The webrev is http://cr.openjdk.java.net/~kshefov/8004693/webrev.00/
This test is broken.
The test tells the AWT EventQueue to run the method
DefaultPolicyChange_Swing.runTestSwing() (which contains all the actual
test code) at a later time (EventQueue.invokeLater(Runnable)). By adding
a few printlns to that function, it's easy to see that it starts to run
but never finishes. In particular, it never reaches any of the actual
test code.
First, "((SunToolkit) SunToolkit.getDefaultToolkit()).realSync();"
should be added after EventQueue.invokeLater() call for all procedures
in this call to be run.
After this test starts to fail. It fails since jdk 7 fcs.
The fail is caused because test is corrupted.
The test should compare JFrame, JWindow and JDialog
FocusTraversalPolicies before
"currentKFM.setDefaultFocusTraversalPolicy(newFTP)" call and after this
call. But instead the test compares something different.
In the current variant of this test we see:
FocusTraversalPolicy defaultFTP =
currentKFM.getDefaultFocusTraversalPolicy();
It returns object java.awt.DefaultFocusTraversalPolicy at 5fe2d461.
But JFrame, JWindow and JDialog objects initially have
"javax.swing.LayoutFocusTraversalPolicy at 2f81dd44" policy.
After "currentKFM.setDefaultFocusTraversalPolicy(newFTP)" call they
still have javax.swing.LayoutFocusTraversalPolicy at 2f81dd44.
So test should not fail, but it fails.
Test needs to be fixed.
Thanks,
Konstantin
More information about the jdk7u-dev
mailing list