From 7f80c96432270e0097883e11e632c14cba68da28 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Mon, 8 May 2017 19:13:08 +0200 Subject: [PATCH] Stabilize tst_QApplication::touchEventPropagation CI metrics show that this test was flaky ~38 time in 3 days. The problem is old: after we get a surface, a window manager can still decide to re-position the window. The fix is to simply send the touch event in a position where it is sure to hit the window (usually the offset is the title bar height). The blacklisting seems to not have worked, I could reproduce the failure on a linux/xcb machine. Change-Id: I5229fe020ba75c984fd3b6c322ad00d769707573 Reviewed-by: Shawn Rutledge --- tests/auto/widgets/kernel/qapplication/BLACKLIST | 2 -- tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/auto/widgets/kernel/qapplication/BLACKLIST b/tests/auto/widgets/kernel/qapplication/BLACKLIST index 6abb1d99881..f4a9cb61668 100644 --- a/tests/auto/widgets/kernel/qapplication/BLACKLIST +++ b/tests/auto/widgets/kernel/qapplication/BLACKLIST @@ -1,4 +1,2 @@ [quitOnLastWindowClosed] osx-10.10 -[touchEventPropagation] -xcb diff --git a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp index 49095b9625b..b98cc048c83 100644 --- a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp +++ b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp @@ -1987,7 +1987,7 @@ void tst_QApplication::touchEventPropagation() window.show(); QVERIFY(QTest::qWaitForWindowExposed(&window)); const QPoint deviceGlobalPos = - QHighDpi::toNativePixels(window.mapToGlobal(QPoint(50, 50)), window.windowHandle()->screen()); + QHighDpi::toNativePixels(window.mapToGlobal(QPoint(50, 150)), window.windowHandle()->screen()); pressedTouchPoints[0].setScreenPos(deviceGlobalPos); releasedTouchPoints[0].setScreenPos(deviceGlobalPos);