From 5e8bffbdfc4fd371f823daa6bd5d4d663747ecb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Wed, 25 May 2016 13:42:26 +0200 Subject: [PATCH] [autotest] Harden TestWaylandOutputDevice against random failures This change ensures that Registry has processed all events before continueing with the further processing. --- .../client/test_wayland_outputdevice.cpp | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/src/wayland/autotests/client/test_wayland_outputdevice.cpp b/src/wayland/autotests/client/test_wayland_outputdevice.cpp index c93d9c04f6..5c870dfd84 100644 --- a/src/wayland/autotests/client/test_wayland_outputdevice.cpp +++ b/src/wayland/autotests/client/test_wayland_outputdevice.cpp @@ -162,12 +162,14 @@ void TestWaylandOutputDevice::testRegistry() m_serverOutputDevice->setPhysicalSize(QSize(200, 100)); KWayland::Client::Registry registry; + QSignalSpy interfacesAnnouncedSpy(®istry, &KWayland::Client::Registry::interfacesAnnounced); + QVERIFY(interfacesAnnouncedSpy.isValid()); QSignalSpy announced(®istry, &KWayland::Client::Registry::outputDeviceAnnounced); registry.create(m_connection->display()); QVERIFY(registry.isValid()); registry.setup(); wl_display_flush(m_connection->display()); - QVERIFY(announced.wait()); + QVERIFY(interfacesAnnouncedSpy.wait()); KWayland::Client::OutputDevice output; QVERIFY(!output.isValid()); @@ -215,13 +217,15 @@ void TestWaylandOutputDevice::testModeChanges() { using namespace KWayland::Client; KWayland::Client::Registry registry; + QSignalSpy interfacesAnnouncedSpy(®istry, &KWayland::Client::Registry::interfacesAnnounced); + QVERIFY(interfacesAnnouncedSpy.isValid()); QSignalSpy announced(®istry, &KWayland::Client::Registry::outputDeviceAnnounced); registry.setEventQueue(m_queue); registry.create(m_connection->display()); QVERIFY(registry.isValid()); registry.setup(); wl_display_flush(m_connection->display()); - QVERIFY(announced.wait()); + QVERIFY(interfacesAnnouncedSpy.wait()); KWayland::Client::OutputDevice output; QSignalSpy outputChanged(&output, &KWayland::Client::OutputDevice::changed); @@ -309,12 +313,14 @@ void TestWaylandOutputDevice::testModeChanges() void TestWaylandOutputDevice::testScaleChange() { KWayland::Client::Registry registry; + QSignalSpy interfacesAnnouncedSpy(®istry, &KWayland::Client::Registry::interfacesAnnounced); + QVERIFY(interfacesAnnouncedSpy.isValid()); QSignalSpy announced(®istry, &KWayland::Client::Registry::outputDeviceAnnounced); registry.create(m_connection->display()); QVERIFY(registry.isValid()); registry.setup(); wl_display_flush(m_connection->display()); - QVERIFY(announced.wait()); + QVERIFY(interfacesAnnouncedSpy.wait()); KWayland::Client::OutputDevice output; QSignalSpy outputChanged(&output, &KWayland::Client::OutputDevice::done); @@ -359,12 +365,14 @@ void TestWaylandOutputDevice::testSubPixel() m_serverOutputDevice->setSubPixel(actual); KWayland::Client::Registry registry; + QSignalSpy interfacesAnnouncedSpy(®istry, &KWayland::Client::Registry::interfacesAnnounced); + QVERIFY(interfacesAnnouncedSpy.isValid()); QSignalSpy announced(®istry, &KWayland::Client::Registry::outputDeviceAnnounced); registry.create(m_connection->display()); QVERIFY(registry.isValid()); registry.setup(); wl_display_flush(m_connection->display()); - QVERIFY(announced.wait()); + QVERIFY(interfacesAnnouncedSpy.wait()); KWayland::Client::OutputDevice output; QSignalSpy outputChanged(&output, &KWayland::Client::OutputDevice::done); @@ -406,12 +414,14 @@ void TestWaylandOutputDevice::testTransform() m_serverOutputDevice->setTransform(actual); KWayland::Client::Registry registry; + QSignalSpy interfacesAnnouncedSpy(®istry, &KWayland::Client::Registry::interfacesAnnounced); + QVERIFY(interfacesAnnouncedSpy.isValid()); QSignalSpy announced(®istry, &KWayland::Client::Registry::outputDeviceAnnounced); registry.create(m_connection->display()); QVERIFY(registry.isValid()); registry.setup(); wl_display_flush(m_connection->display()); - QVERIFY(announced.wait()); + QVERIFY(interfacesAnnouncedSpy.wait()); KWayland::Client::OutputDevice *output = registry.createOutputDevice(announced.first().first().value(), announced.first().last().value(), ®istry); QSignalSpy outputChanged(output, &KWayland::Client::OutputDevice::done); @@ -431,12 +441,14 @@ void TestWaylandOutputDevice::testTransform() void TestWaylandOutputDevice::testEnabled() { KWayland::Client::Registry registry; + QSignalSpy interfacesAnnouncedSpy(®istry, &KWayland::Client::Registry::interfacesAnnounced); + QVERIFY(interfacesAnnouncedSpy.isValid()); QSignalSpy announced(®istry, &KWayland::Client::Registry::outputDeviceAnnounced); registry.create(m_connection->display()); QVERIFY(registry.isValid()); registry.setup(); wl_display_flush(m_connection->display()); - QVERIFY(announced.wait()); + QVERIFY(interfacesAnnouncedSpy.wait()); KWayland::Client::OutputDevice output; QSignalSpy outputChanged(&output, &KWayland::Client::OutputDevice::done); @@ -471,12 +483,14 @@ void TestWaylandOutputDevice::testEnabled() void TestWaylandOutputDevice::testEdid() { KWayland::Client::Registry registry; + QSignalSpy interfacesAnnouncedSpy(®istry, &KWayland::Client::Registry::interfacesAnnounced); + QVERIFY(interfacesAnnouncedSpy.isValid()); QSignalSpy announced(®istry, &KWayland::Client::Registry::outputDeviceAnnounced); registry.create(m_connection->display()); QVERIFY(registry.isValid()); registry.setup(); wl_display_flush(m_connection->display()); - QVERIFY(announced.wait()); + QVERIFY(interfacesAnnouncedSpy.wait()); KWayland::Client::OutputDevice output; @@ -493,12 +507,14 @@ void TestWaylandOutputDevice::testEdid() void TestWaylandOutputDevice::testId() { KWayland::Client::Registry registry; + QSignalSpy interfacesAnnouncedSpy(®istry, &KWayland::Client::Registry::interfacesAnnounced); + QVERIFY(interfacesAnnouncedSpy.isValid()); QSignalSpy announced(®istry, &KWayland::Client::Registry::outputDeviceAnnounced); registry.create(m_connection->display()); QVERIFY(registry.isValid()); registry.setup(); wl_display_flush(m_connection->display()); - QVERIFY(announced.wait()); + QVERIFY(interfacesAnnouncedSpy.wait()); KWayland::Client::OutputDevice output; QSignalSpy outputChanged(&output, &KWayland::Client::OutputDevice::done); @@ -524,12 +540,14 @@ void TestWaylandOutputDevice::testId() void TestWaylandOutputDevice::testDone() { KWayland::Client::Registry registry; + QSignalSpy interfacesAnnouncedSpy(®istry, &KWayland::Client::Registry::interfacesAnnounced); + QVERIFY(interfacesAnnouncedSpy.isValid()); QSignalSpy announced(®istry, &KWayland::Client::Registry::outputDeviceAnnounced); registry.create(m_connection->display()); QVERIFY(registry.isValid()); registry.setup(); wl_display_flush(m_connection->display()); - QVERIFY(announced.wait()); + QVERIFY(interfacesAnnouncedSpy.wait()); KWayland::Client::OutputDevice output; QSignalSpy outputDone(&output, &KWayland::Client::OutputDevice::done);