ShapeNotSetSometimes.java fails on macOS 11 on a random iteration of `colorCheck()` as shown below. The `colorCheck()` is repeated for about 50 times in the test. It is observed to pass on previous attempts and fail on a random attempt such as Attempt# 29 shown here.
Here the point (150, 20) is well in the green area hence the slight color diff picked up by `robot.getPixelColor()` is not due to sampling of color at the edge (which sometimes causes robot to pick up slightly different color). Attempt 29 Checking 150, 20, java.awt.Color[r=0,g=255,b=1] should be java.awt.Color[r=0,g=255,b=0] Due to the above, I have kept the color sampling points at the same location as earlier and made the following changes to the test: - Moved the frame to the center of the screen. - Instead of comparing exact RGB values, used `colorCompare()` which allows a difference of 2 per color component to accommodate slight variations when comparing actual vs expected colors. Attempt 27 Checking 150, 130, java.awt.Color[r=255,g=255,b=255] should be java.awt.Color[r=255,g=255,b=255] Checking 150, 20, java.awt.Color[r=0,g=255,b=0] should be java.awt.Color[r=0,g=255,b=0] Checking 280, 120, java.awt.Color[r=0,g=255,b=0] should be java.awt.Color[r=0,g=255,b=0] Checking 150, 250, java.awt.Color[r=0,g=255,b=0] should be java.awt.Color[r=0,g=255,b=0] Checking 20, 120, java.awt.Color[r=0,g=255,b=0] should be java.awt.Color[r=0,g=255,b=0] Checking 62, 62, java.awt.Color[r=0,g=243,b=0] should not be java.awt.Color[r=255,g=255,b=255] Checking 240, 185, java.awt.Color[r=0,g=229,b=0] should not be java.awt.Color[r=255,g=255,b=255] Attempt 28 Checking 150, 130, java.awt.Color[r=255,g=255,b=255] should be java.awt.Color[r=255,g=255,b=255] Checking 150, 20, java.awt.Color[r=0,g=255,b=0] should be java.awt.Color[r=0,g=255,b=0] Checking 280, 120, java.awt.Color[r=0,g=255,b=0] should be java.awt.Color[r=0,g=255,b=0] Checking 150, 250, java.awt.Color[r=0,g=255,b=0] should be java.awt.Color[r=0,g=255,b=0] Checking 20, 120, java.awt.Color[r=0,g=255,b=0] should be java.awt.Color[r=0,g=255,b=0] Checking 62, 62, java.awt.Color[r=0,g=241,b=0] should not be java.awt.Color[r=255,g=255,b=255] Checking 240, 185, java.awt.Color[r=0,g=227,b=0] should not be java.awt.Color[r=255,g=255,b=255] Attempt 29 Checking 150, 130, java.awt.Color[r=255,g=255,b=255] should be java.awt.Color[r=255,g=255,b=255] Checking 150, 20, java.awt.Color[r=0,g=255,b=1] should be java.awt.Color[r=0,g=255,b=0] ----------System.err:(16/962)---------- Checking for transparency failed: point: 370, 420 actual java.awt.Color[r=0,g=255,b=1] expected java.awt.Color[r=0,g=255,b=0] java.lang.RuntimeException: Test failed. The shape has not been applied. ------------- Commit messages: - initial test fix Changes: https://git.openjdk.org/jdk/pull/17563/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17563&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8324238 Stats: 33 lines in 1 file changed: 20 ins; 4 del; 9 mod Patch: https://git.openjdk.org/jdk/pull/17563.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/17563/head:pull/17563 PR: https://git.openjdk.org/jdk/pull/17563