On Wed Jun 1 18:31:09 2022 +0000, Rémi Bernon wrote:
Sure, `SetForegroundWindow` doesn't necessarily succeeds on windows, but in the case of the tests and how they are run on windows, it is not supposed to fail. If it fails it means the tests will fail anyway. There have been cases like this in testbot runs, for instance when there's an unexpected topmost window (for instance the firewall warning), and it should be fixed by fixing the environment, not by skipping tests. On Linux there's some other issues, but they are mitigated by the `flush_events` calls which makes sure X11 events stabilize in the state we expect windows to be. It is not ideal, and Wine `user32` and `winex11` are still racy w.r.t focus and foreground, but that's something that also need to be fixed, not ignored.
it should be fixed by fixing the environment, not by skipping tests.
I'm not sure I agree. The testbot isn't the only environment where people possibly run the tests, and someone new to the entire user32 thing might find environment-induced test failures a bug and not a feature.
That said, it would be sensible to apply different rules to d3d and user32. In d3d, handling focus loss/gain is only a relatively small part, whereas it is pretty central to user32.