-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Window positoning/sizing tests failed on Ubuntu #447
Comments
Heya @daveyarwood, do you still have access to that Linux box? if so, can you run the following (or equivalent) for me?: xdpyinfo | grep 'dimensions:' For me on my Linux VM, for example, it spits out: dimensions: 2560x1298 pixels (677x343 millimeters) |
Marked as bug... might be just a bug in our tests though. |
For me, that command returns:
|
Thanks @daveyarwood, that helps. I've not been able to reproduce this one yet! |
I can't seem to repro this one. |
I'm seeing very similar to this on ubuntu CI for bb and jvm api tests.
|
Still occurring on CI as of 29-Nov-2022:
|
This geckodriver issue might be related. The timeframe seems about right for our CI issue. Maybe we just need to install something called "Fluxbox" on CI. |
Yeah, I can reproduce the CI issue with Etaoin's Dockerfile. If I install and launch fluxbox, window positioning seems to work. Setup
Then
Then within docker image session, some extra setup:
Start Xvfb
Repro of issue$ bb dev
nREPL server started on port 41877 on host localhost - nrepl://localhost:41877
nREPL 0.9.0
Clojure 1.9.0
OpenJDK 64-Bit Server VM 1.8.0_352-b08
Interrupt: Control+C
Exit: Control+D or (exit) or (quit)
user=> (require '[etaoin.api :as e])
nil
user=> (def d (e/firefox))
#'user/d
user=> (e/get-window-position d)
{:x 0, :y 0}
user=> (e/set-window-position d {:x 3 :y 4})
{:value {:x 0, :y 0, :width 921, :height 691}}
user=> (e/get-window-position d)
{:x 0, :y 0} Notice that there are no errors returned but also that x and y remain, incorrectly, 0. Testing fluxboxQuit the REPL and get back to the docker shell prompt:
Then repeat the REPL test from above:
Seems like x and y are now updating appropriately. |
Summary of my understanding: Firefox's geckodriver stopped compensating for an X windows manager feature that Xvfb does not provide. Hence the failure. Fluxbox fills in the missing windows manager piece. Notes:
|
Geckodriver stopped compensating in the absence of a windows manager on Linux. Xvfb, our virtual display tech on Linux, does not include a windows manager. We compensate with the fluxbox windows manager. Also: - while testing fluxbox, updated our Dockerfile to use clojure docker image. The clojure docker images are well maintained and, awesomely, include clojure. Closes clj-commons#447
Geckodriver stopped compensating in the absence of a windows manager on Linux. Xvfb, our virtual display tech on Linux, does not include a windows manager. We compensate with the fluxbox windows manager. Also: - while testing fluxbox, updated our Dockerfile to use clojure docker image. The clojure docker images are well maintained and, awesomely, include clojure. Closes #447
Symptom
@daveyarwood reported the following failures:
Environment
The text was updated successfully, but these errors were encountered: