From a1490905e9d35a995d762109af83fbd7e927198a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Mon, 8 Aug 2016 11:12:22 +0200 Subject: [PATCH] [autotest/intergration] Wait for pointer enter before simulating button press The test LockScreenTest::testPointerButton and testPointerAxis both fail on Neon's CI infrastructure. In order to make the test more reliable the tests first wait for the pointer enter after unlock before simulating another button press. --- autotests/integration/lockscreen.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/autotests/integration/lockscreen.cpp b/autotests/integration/lockscreen.cpp index c3207afffa..32d305a304 100644 --- a/autotests/integration/lockscreen.cpp +++ b/autotests/integration/lockscreen.cpp @@ -270,6 +270,8 @@ void LockScreenTest::testPointerButton() QScopedPointer pointer(m_seat->createPointer()); QVERIFY(!pointer.isNull()); + QSignalSpy enteredSpy(pointer.data(), &Pointer::entered); + QVERIFY(enteredSpy.isValid()); QSignalSpy buttonChangedSpy(pointer.data(), &Pointer::buttonStateChanged); QVERIFY(buttonChangedSpy.isValid()); @@ -279,6 +281,7 @@ void LockScreenTest::testPointerButton() // first move cursor into the center of the window quint32 timestamp = 1; MOTION(c->geometry().center()); + QVERIFY(enteredSpy.wait()); // and simulate a click PRESS; QVERIFY(buttonChangedSpy.wait()); @@ -294,6 +297,8 @@ void LockScreenTest::testPointerButton() QVERIFY(!buttonChangedSpy.wait(100)); UNLOCK + QVERIFY(enteredSpy.wait()); + QCOMPARE(enteredSpy.count(), 2); // and click again PRESS; @@ -310,6 +315,8 @@ void LockScreenTest::testPointerAxis() QVERIFY(!pointer.isNull()); QSignalSpy axisChangedSpy(pointer.data(), &Pointer::axisChanged); QVERIFY(axisChangedSpy.isValid()); + QSignalSpy enteredSpy(pointer.data(), &Pointer::entered); + QVERIFY(enteredSpy.isValid()); AbstractClient *c = showWindow(); QVERIFY(c); @@ -317,6 +324,7 @@ void LockScreenTest::testPointerAxis() // first move cursor into the center of the window quint32 timestamp = 1; MOTION(c->geometry().center()); + QVERIFY(enteredSpy.wait()); // and simulate axis kwinApp()->platform()->pointerAxisHorizontal(5.0, timestamp++); QVERIFY(axisChangedSpy.wait()); @@ -331,6 +339,8 @@ void LockScreenTest::testPointerAxis() // and unlock UNLOCK + QVERIFY(enteredSpy.wait()); + QCOMPARE(enteredSpy.count(), 2); // and move axis again kwinApp()->platform()->pointerAxisHorizontal(5.0, timestamp++);