+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; awt-dev@openjdk.java.net
*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.