summaryrefslogtreecommitdiffstats
path: root/tests/auto/testlib
diff options
context:
space:
mode:
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2021-02-25 12:04:09 +0100
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2021-03-09 07:42:50 +0100
commita6cdf413107a278859c7dbd97592552369b55bcd (patch)
treef4559da20f7b0558b432781d47ee365ebee60382 /tests/auto/testlib
parentbc1f61d010c8e71b1b649a888951f93da0ef838a (diff)
Fix testlib/tst_selftests::keyboard on Wayland
Wayland does not support WindowActivation capability, which will trigger a warning in qWaitForWindowActive(). Since the selftests depend on matching the exact output of the tests, it gets confused by this, even though the tests are passing. So we suppress the warning when the capability is not supported. Change-Id: I1e1f530a7b237183ee4ef123618e868b746ba863 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'tests/auto/testlib')
-rw-r--r--tests/auto/testlib/selftests/keyboard/tst_keyboard.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/auto/testlib/selftests/keyboard/tst_keyboard.cpp b/tests/auto/testlib/selftests/keyboard/tst_keyboard.cpp
index 0f0e90e2cb..069306121c 100644
--- a/tests/auto/testlib/selftests/keyboard/tst_keyboard.cpp
+++ b/tests/auto/testlib/selftests/keyboard/tst_keyboard.cpp
@@ -28,6 +28,8 @@
#include <QtTest/qtest.h>
#include <QtGui/qwindow.h>
+#include <QtGui/private/qguiapplication_p.h>
+#include <QtGui/qpa/qplatformintegration.h>
class tst_Keyboard : public QObject
{
@@ -63,6 +65,15 @@ void tst_Keyboard::keyPressAndRelease()
window.show();
window.setGeometry(100, 100, 200, 200);
QVERIFY(QTest::qWaitForWindowExposed(&window));
+
+ if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation)) {
+ QTest::ignoreMessage(QtWarningMsg,
+ "qWaitForWindowActive was called on a platform that doesn't support window "
+ "activation. This means there is an error in the test and it should either "
+ "check for the WindowActivation platform capability before calling "
+ "qWaitForWindowActivate, use qWaitForWindowExposed instead, or skip the test. "
+ "Falling back to qWaitForWindowExposed.");
+ }
QVERIFY(QTest::qWaitForWindowActive(&window));
QTest::keyPress(&window, Qt::Key_A);