canonical / mir-ci

Mir CI helpers
1 stars 1 forks source link

Add virtual pointer helper and test #13

Closed wmww closed 1 year ago

wmww commented 1 year ago

Adds a class that spoofs pointer input with the virtual pointer protocol and a test that demonstrates using it. The test uses a simple GTK app written in Python, since none of the clients we already use have quite the behavior we need.

I've noticed that, weirdly, the screencopy tracker isn't detecting any frames. More investigation is needed.

Saviq commented 1 year ago

I've tweaked to have CI work.

I've noticed that, weirdly, the screencopy tracker isn't detecting any frames. More investigation is needed.

Wonder if we should raise from ScreencopyTracker on __exit__() if it encounters 0 frames? Or at least assert > 0?

wmww commented 1 year ago

Doing this reveled that it seems none of our tests are getting frames. I've fixed some bugs with the dispatch thread, but now they're all intermittently failing. Will push it up when I have a stable fix.

Saviq commented 1 year ago

@wmww I pushed a couple of changes that will help me in the lab (using mir_demo_server will avoid problems with confinement, for example).

wmww commented 1 year ago

I think the way our wayland client uses threads might be fundamentally broken, and we should be doing some kind of async stuff instead. Will look into alternatives and see if they fix any of the unreliability I'm seeing.

wmww commented 1 year ago

Once #19 lands this will need a substantial rebase, but should then be good to go

wmww commented 1 year ago

std::exception::what: Failed to find any platforms for current system

On all servers, snaps and debs. hmm, I wonder what change caused that..

Saviq commented 1 year ago

std::exception::what: Failed to find any platforms for current system

On all servers, snaps and debs. hmm, I wonder what change caused that..

This is happening in the dependency step, not under xvfb-run. The tests are not skipped for some reason after installing the deps. Will find out, but it's likely the fixture setup going wrong somehow.

bors[bot] commented 1 year ago

Build succeeded: