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@5fe2d461.
But JFrame, JWindow and JDialog objects initially have
"javax.swing.LayoutFocusTraversalPolicy@2f81dd44" policy.
After "currentKFM.setDefaultFocusTraversalPolicy(newFTP)" call they
still have javax.swing.LayoutFocusTraversalPolicy@2f81dd44.
So test should not fail, but it fails.
Test needs to be fixed.
Thanks,
Konstantin