tests: make exposeEventOnShrink_QTBUG54040 not flakey on xcb
From: https://tronche.com/gui/x/xlib/events/exposure/expose.html "The circumstances in which the X server generates Expose events are not as definite as those for other events." On windows with XCB_GRAVITY_NORTH_WEST flag set we should not get expose events according toe2665600c0
, but as stated earlier this might not always be true. Nevertheless, sometimes we get expose event from X server when shrinking window, but most of the time we don't. Make the test not flakey by checking that we get at least 1 expose event, instead of exactly 1. Now running test 500 times in a loop does not fail. Task-number: QTBUG-63424 Change-Id: I8004e622020cc09e11b7d592faf6d9ee1b9cfee2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit542e11ab2b
) Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
This commit is contained in:
parent
0aba5546ef
commit
377d2502e3
@ -394,13 +394,17 @@ void tst_QWindow::exposeEventOnShrink_QTBUG54040()
|
||||
|
||||
QVERIFY(QTest::qWaitForWindowExposed(&window));
|
||||
|
||||
const int initialExposeCount = window.received(QEvent::Expose);
|
||||
int exposeCount = window.received(QEvent::Expose);
|
||||
window.resize(window.width(), window.height() - 5);
|
||||
QTRY_COMPARE(window.received(QEvent::Expose), initialExposeCount + 1);
|
||||
QTRY_VERIFY(window.received(QEvent::Expose) > exposeCount);
|
||||
|
||||
exposeCount = window.received(QEvent::Expose);
|
||||
window.resize(window.width() - 5, window.height());
|
||||
QTRY_COMPARE(window.received(QEvent::Expose), initialExposeCount + 2);
|
||||
QTRY_VERIFY(window.received(QEvent::Expose) > exposeCount);
|
||||
|
||||
exposeCount = window.received(QEvent::Expose);
|
||||
window.resize(window.width() - 5, window.height() - 5);
|
||||
QTRY_COMPARE(window.received(QEvent::Expose), initialExposeCount + 3);
|
||||
QTRY_VERIFY(window.received(QEvent::Expose) > exposeCount);
|
||||
}
|
||||
|
||||
void tst_QWindow::positioning_data()
|
||||
|
Loading…
Reference in New Issue
Block a user