+1 On 14/01/16 08:37, Ambarish Rapte wrote:
Hi,This fix looks good to me. Modified test passes on ubuntu and windows also. Thanks Ambarish *From:*Manajit Halder *Sent:* Wednesday, January 13, 2016 6:38 PM *To:* Ambarish Rajeshwar Rapte; Semyon Sadetsky; [email protected] *Subject:* Review request for 7087869: [TEST_BUG] [macosx] No mac os x support in test java/awt/Mouse/ExtraMouseClick/ExtraMouseClick. Hi All, Kindly review the fix for JDK9. *Bug*: https://bugs.openjdk.java.net/browse/JDK-7087869 *Webrev*: http://cr.openjdk.java.net/~arapte/manajit/7087869/webrev.00/ *Issue*: [TEST_BUG] [macosx] No mac os x support in test java/awt/Mouse/ExtraMouseClick/ExtraMouseClick. *Cause and Fix*: There were 2 problems on MacOS X: First problem: ----------System.err:(6/527)---------- java.lang.RuntimeException: Test failed. Clicked event follows by Dragged. Dragged = true. Clicked = true : distance = 2 at ExtraMouseClick.oneDrag(ExtraMouseClick.java:177) at ExtraMouseClick.start(ExtraMouseClick.java:119) at com.sun.javatest.regtest.agent.AppletWrapper$AppletRunnable.run(AppletWrapper.java:158) at java.lang.Thread.run(Thread.java:747) STATUS:Failed.Applet thread threw exception: java.lang.RuntimeException: Test failed. Clicked event follows by Dragged. Dragged = true. Clicked = true : distance = 2 Fix explaination: Fixed by adding a waitForIdle() to wait for the mouse move event to be processed completely so that mouse clicked event doesn’t get generated. Second Problem: ----------System.err:(6/539)---------- java.lang.RuntimeException: Test failed. Dragged event (by the X-axis) occured in SMUDGE area. Dragged = true. Clicked = true at ExtraMouseClick.smallDrag(ExtraMouseClick.java:194) at ExtraMouseClick.start(ExtraMouseClick.java:161) at com.sun.javatest.regtest.agent.AppletWrapper$AppletRunnable.run(AppletWrapper.java:158) at java.lang.Thread.run(Thread.java:747) STATUS:Failed.Applet thread threw exception: java.lang.RuntimeException: Test failed. Dragged event (by the X-axis) occured in SMUDGE area. Dragged = true. Clicked = true Fix explaination: On MacOS X every mouse move event is considered as MOUSE_DRAGGED event. So on every mouse move event, Native side propagates MOUSE_DRAGGED event to Java side. The native method CRobot::mouseEvent() is called with parameter isMouseMove set to true for Robot.mouseMove(). In turn CRobot::Java_sun_lwawt_macosx_CRobot_mouseEvent() posts a mouse Drag event back to java side by calling PostMouseEvent(). Therefore the test has to be skipped for Mac. Regards, Manajit
-- Best regards, Sergey.
