RFR: 8276058: Some swing test fails on specific CI macos system [v3]

Phil Race prr at openjdk.java.net
Wed Nov 10 05:50:56 UTC 2021


On Fri, 29 Oct 2021 06:43:38 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:

>> As per JDK-8252813, some tests fails recurringly in CI macos system. This is an attempt to fix the swing tests.
>> It was seen from the logs that we have color mismatch in these tests.
>> 
>> For example, in PressedIcon test, we had following log
>> 
>> ----------System.out:(1/75)----------
>> color java.awt.Color[r=55,g=55,b=55] COLOR_1Xjava.awt.Color[r=255,g=0,b=0]
>> ----------System.err:(13/842)----------
>> java.lang.RuntimeException: Colors is different for scale=1!
>> 	at PressedIconTest.main(PressedIconTest.java:97)
>> 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76)
>> 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:51)
>> 	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
>> 	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
>> 	at java.base/java.lang.Thread.run(Thread.java:833)
>> 
>> and JInternalFrame test, we had 
>> ----------System.err:(15/939)----------
>> FRAME_COLOR Red: 255; Green: 200; Blue: 0
>> Pixel color Red: 55; Green: 55; Blue: 55
>> java.lang.RuntimeException: Internal frame is not correctly dragged!
>> 	at bug8069348.main(bug8069348.java:96)
>> 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76)
>> 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:51)
>> 	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
>> 	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
>> 	at java.base/java.lang.Thread.run(Thread.java:833)
>> 
>> where color is obtained as 55,55,55 instead of required color. The png image generated at failure also did not reveal anything abnormal apart from presence of mouse cursor around the same area where the getPixelColor location is pointing to. And since mouse cursor is also grayish black, it seems robot was wrongly picking up cursor pixels instead of background color.
>> Modified tests to use location.x-10, location.y-10 to obtain the pixel color. It does not hamper the test as the whole area around the location is coloured with same color in the test so getting pixel color from a bit wide of the centre will not affect the test.
>> Modified swing tests are passing in the affected system and also in other macos systems and platforms. Link in JBS.
>> 
>> The awt tests that are failing seems to have different root cause and will be handled separately.
>
> Prasanta Sadhukhan has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Review fix
>  - Fix

I don't see a reason to discard the various stability improvements.
The discussion is long so I may not be summarising correctly but 
- A product fix may resolve most of the issues and yet
- Stability fixes are still valuable
- The one test with a colour tolerance update may be better platform problem listed 
- The offset of -10,-10 for the cursor maybe better if it was parameterised and a bit bigger.

-------------

PR: https://git.openjdk.java.net/jdk/pull/6140



More information about the client-libs-dev mailing list