On Fri, 26 May 2023 15:32:41 GMT, Maxim Kartashev <mkartas...@openjdk.org> 
wrote:

> Tried running this version on my machine (Ubuntu 22.04, two displays with 
> 100% and 200% scaling). A few observations:
> 
>     1. I couldn't get any of the screenshot tests working through `jtreg` 
> (screenshots are all black, no permission is ever asked). Does anybody know 
> how to do that properly? Can this be made to work out of the box?

jtreg strips env variables down to a very few.
so providing following options should solve the issue:
`jtreg -ea -e:DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS 
-e:WAYLAND_DISPLAY=$WAYLAND_DISPLAY ...`

This is already addressed in jtreg 7.3 by 
[openjdk/jtreg/pull/152](https://github.com/openjdk/jtreg/pull/152)

>     2. Running manually is OK for the most part except for some tests in 
> certain configurations:
> 
> 
>     * Test 
> `test/jdk/java/awt/Robot/HiDPIScreenCapture/ScreenCaptureGtkTest.java` 
> consistently fails with `sun.java2d.uiScale` other than `1`. For example,
> 
> 
> ```
> $ java -Dsun.java2d.uiScale=3 ScreenCaptureGtkTest.java
> Creating screen capture of java.awt.Rectangle[x=89,y=99,width=100,height=100]
> Exception in thread "main" java.lang.SecurityException: Screen Capture in the 
> selected area was not allowed
>       at 
> java.desktop/sun.awt.screencast.ScreencastHelper.getRGBPixels(ScreencastHelper.java:161)
>       at java.desktop/sun.awt.X11.XRobotPeer.getRGBPixels(XRobotPeer.java:139)
>       at java.desktop/java.awt.Robot.createCompatibleImage(Robot.java:606)
>       at java.desktop/java.awt.Robot.createScreenCapture(Robot.java:477)
>       at ScreenCaptureGtkTest.captureImageOf(ScreenCaptureGtkTest.java:130)
>       at ScreenCaptureGtkTest.main(ScreenCaptureGtkTest.java:96)
> ```
> 
> and this is when I allow both screens to be captured in the system dialog 
> that appears after the start of the test. The same failure can be observed 
> with `java -Dsun.java2d.uiScale=2 HiDPIRobotScreenCaptureTest.java`. Both 
> tests hang after throwing those exceptions, by the way.
> 

I'll take a look.

>     * The same test fails in a different fashion with `-Djdk.gtk.version=2`. 
> For example:

This is intended, GTK2 is not supported and deprecated for removal. 
[JDK-8280031](https://bugs.openjdk.org/browse/JDK-8280031)

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

PR Comment: https://git.openjdk.org/jdk/pull/13803#issuecomment-1564594406

Reply via email to