The test functions tst_QWidget::optimizedResizeMove and tst_QWidget::optimizedResize_topLevel use a custom widget to record paint events in a boolean. Using QTRY_* or qWait() to wait for the boolean to become true stops event processing upon consumption of the first paint event. In case of multiple paint events, the next paint event will be recorded in the next check and may lead to a wrong result. This leads to flakiness on platforms generating multiple paint events, openSuSE Leap 15.4 / XCB being one of them. This patch replaces the boolean with a counter. It adds a waitForPaintEvents method to the custom class, which processes events, until the counter stops increasing. It returns true when paint events have been recorded and false otherwise. It resets the counter after each call. It also removes the QSKIP on wayland, as the failure results from the same reason. Fixes: QTBUG-109093 Pick-to: 6.4 Change-Id: I59ee8bb4efeaf5417d5749d21e384bee89301ae0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> |
||
|---|---|---|
| .. | ||
| auto | ||
| baseline | ||
| benchmarks | ||
| global | ||
| libfuzzer | ||
| manual | ||
| shared | ||
| testserver | ||
| CMakeLists.txt | ||
| README | ||
README
This directory contains autotests and benchmarks based on Qt Test. In order
to run the autotests reliably, you need to configure a desktop to match the
test environment that these tests are written for.
Linux X11:
* The user must be logged in to an active desktop; you can't run the
autotests without a valid DISPLAY that allows X11 connections.
* The tests are run against a KDE3 or KDE4 desktop.
* Window manager uses "click to focus", and not "focus follows mouse". Many
tests move the mouse cursor around and expect this to not affect focus
and activation.
* Disable "click to activate", i.e., when a window is opened, the window
manager should automatically activate it (give it input focus) and not
wait for the user to click the window.