From 1d06eb3f8215b67c5061ee3a076df405724ff7ee Mon Sep 17 00:00:00 2001 From: Dimitrios Apostolou Date: Thu, 18 Jul 2019 19:02:40 +0200 Subject: Fix Flaky tests These tests where failing sometimes in our CI, because centerOnScreen() was invoked which asks the window manager to move the window, but does not wait for the event's completion. The solution is to do all that *before* the initial qWaitForWindowActive(). Fixes: QTBUG-73128 Change-Id: I06c1f85d5ff9657dccab50f29084f7624cd7e194 Reviewed-by: Volker Hilsheimer Reviewed-by: Shawn Rutledge --- tests/auto/qquickmenu/tst_qquickmenu.cpp | 40 +++++++++++++------------- tests/auto/qquickmenubar/tst_qquickmenubar.cpp | 6 ++-- 2 files changed, 23 insertions(+), 23 deletions(-) (limited to 'tests') diff --git a/tests/auto/qquickmenu/tst_qquickmenu.cpp b/tests/auto/qquickmenu/tst_qquickmenu.cpp index f22ac972..2fe47477 100644 --- a/tests/auto/qquickmenu/tst_qquickmenu.cpp +++ b/tests/auto/qquickmenu/tst_qquickmenu.cpp @@ -151,10 +151,10 @@ void tst_QQuickMenu::mouse() QQuickApplicationHelper helper(this, QLatin1String("applicationwindow.qml")); QQuickApplicationWindow *window = helper.appWindow; - window->show(); - QVERIFY(QTest::qWaitForWindowActive(window)); centerOnScreen(window); moveMouseAway(window); + window->show(); + QVERIFY(QTest::qWaitForWindowActive(window)); QQuickMenu *menu = window->property("menu").value(); menu->open(); @@ -270,12 +270,12 @@ void tst_QQuickMenu::contextMenuKeyboard() QQuickApplicationHelper helper(this, QLatin1String("applicationwindow.qml")); QQuickApplicationWindow *window = helper.appWindow; + centerOnScreen(window); + moveMouseAway(window); window->show(); window->requestActivate(); QVERIFY(QTest::qWaitForWindowActive(window)); QVERIFY(QGuiApplication::focusWindow() == window); - centerOnScreen(window); - moveMouseAway(window); QQuickMenu *menu = window->property("menu").value(); QCOMPARE(menu->currentIndex(), -1); @@ -453,12 +453,12 @@ void tst_QQuickMenu::disabledMenuItemKeyNavigation() QQuickApplicationHelper helper(this, QLatin1String("disabledMenuItemKeyNavigation.qml")); QQuickApplicationWindow *window = helper.appWindow; + centerOnScreen(window); + moveMouseAway(window); window->show(); window->requestActivate(); QVERIFY(QTest::qWaitForWindowActive(window)); QVERIFY(QGuiApplication::focusWindow() == window); - centerOnScreen(window); - moveMouseAway(window); QQuickMenu *menu = window->property("menu").value(); QCOMPARE(menu->currentIndex(), -1); @@ -610,10 +610,10 @@ void tst_QQuickMenu::menuSeparator() { QQuickApplicationHelper helper(this, QLatin1String("menuSeparator.qml")); QQuickWindow *window = helper.window; - window->show(); - QVERIFY(QTest::qWaitForWindowActive(window)); centerOnScreen(window); moveMouseAway(window); + window->show(); + QVERIFY(QTest::qWaitForWindowActive(window)); QQuickMenu *menu = window->property("menu").value(); QVERIFY(menu); @@ -752,10 +752,10 @@ void tst_QQuickMenu::popup() { QQuickApplicationHelper helper(this, QLatin1String("popup.qml")); QQuickApplicationWindow *window = helper.appWindow; - window->show(); - QVERIFY(QTest::qWaitForWindowActive(window)); centerOnScreen(window); moveMouseAway(window); + window->show(); + QVERIFY(QTest::qWaitForWindowActive(window)); QQuickMenu *menu = window->property("menu").value(); QVERIFY(menu); @@ -1039,10 +1039,10 @@ void tst_QQuickMenu::subMenuMouse() QQuickApplicationHelper helper(this, QLatin1String("subMenus.qml")); QQuickApplicationWindow *window = helper.appWindow; - window->show(); - QVERIFY(QTest::qWaitForWindowActive(window)); centerOnScreen(window); moveMouseAway(window); + window->show(); + QVERIFY(QTest::qWaitForWindowActive(window)); QQuickMenu *mainMenu = window->property("mainMenu").value(); QVERIFY(mainMenu); @@ -1145,10 +1145,10 @@ void tst_QQuickMenu::subMenuDisabledMouse() QQuickApplicationHelper helper(this, QLatin1String("subMenuDisabled.qml")); QQuickApplicationWindow *window = helper.appWindow; - window->show(); - QVERIFY(QTest::qWaitForWindowActive(window)); centerOnScreen(window); moveMouseAway(window); + window->show(); + QVERIFY(QTest::qWaitForWindowActive(window)); QQuickMenu *mainMenu = window->property("mainMenu").value(); QVERIFY(mainMenu); @@ -1207,10 +1207,10 @@ void tst_QQuickMenu::subMenuKeyboard() QQuickApplicationHelper helper(this, QLatin1String("subMenus.qml")); QQuickApplicationWindow *window = helper.appWindow; - window->show(); - QVERIFY(QTest::qWaitForWindowActive(window)); centerOnScreen(window); moveMouseAway(window); + window->show(); + QVERIFY(QTest::qWaitForWindowActive(window)); if (mirrored) window->setLocale(QLocale("ar_EG")); @@ -1329,10 +1329,10 @@ void tst_QQuickMenu::subMenuDisabledKeyboard() QQuickApplicationHelper helper(this, QLatin1String("subMenuDisabled.qml")); QQuickApplicationWindow *window = helper.appWindow; - window->show(); - QVERIFY(QTest::qWaitForWindowActive(window)); centerOnScreen(window); moveMouseAway(window); + window->show(); + QVERIFY(QTest::qWaitForWindowActive(window)); if (mirrored) window->setLocale(QLocale("ar_EG")); @@ -1417,10 +1417,10 @@ void tst_QQuickMenu::subMenuPosition() if (flip) window->setWidth(window->width() - mainMenu->width()); - window->show(); - QVERIFY(QTest::qWaitForWindowActive(window)); centerOnScreen(window); moveMouseAway(window); + window->show(); + QVERIFY(QTest::qWaitForWindowActive(window)); if (mirrored) window->setLocale(QLocale("ar_EG")); diff --git a/tests/auto/qquickmenubar/tst_qquickmenubar.cpp b/tests/auto/qquickmenubar/tst_qquickmenubar.cpp index 19d67eac..9a22d26f 100644 --- a/tests/auto/qquickmenubar/tst_qquickmenubar.cpp +++ b/tests/auto/qquickmenubar/tst_qquickmenubar.cpp @@ -85,10 +85,10 @@ void tst_qquickmenubar::mouse() QScopedPointer window(qobject_cast(engine.rootObjects().value(0))); QVERIFY(window); - QVERIFY(QTest::qWaitForWindowActive(window.data())); centerOnScreen(window.data()); moveMouseAway(window.data()); + QVERIFY(QTest::qWaitForWindowActive(window.data())); QQuickMenuBar *menuBar = window->property("header").value(); QVERIFY(menuBar); @@ -224,10 +224,10 @@ void tst_qquickmenubar::keys() QScopedPointer window(qobject_cast(engine.rootObjects().value(0))); QVERIFY(window); - QVERIFY(QTest::qWaitForWindowActive(window.data())); centerOnScreen(window.data()); moveMouseAway(window.data()); + QVERIFY(QTest::qWaitForWindowActive(window.data())); QQuickMenuBar *menuBar = window->property("header").value(); QVERIFY(menuBar); @@ -412,10 +412,10 @@ void tst_qquickmenubar::mnemonics() QScopedPointer window(qobject_cast(engine.rootObjects().value(0))); QVERIFY(window); - QVERIFY(QTest::qWaitForWindowActive(window.data())); centerOnScreen(window.data()); moveMouseAway(window.data()); + QVERIFY(QTest::qWaitForWindowActive(window.data())); QQuickMenuBar *menuBar = window->property("header").value(); QVERIFY(menuBar); -- cgit v1.2.3