tst_QDockWidget: Refactor skipping for Wayland

QTest mouse emulation doesn't support drag & drop on wayland.
This is why all tests fail, where dock widgets are undocked by mouse.

Move skipping in the qCreateFloatingTabs macro, where possible.
Remove skipping where possible.

Fixes: QTBUG-129362
Change-Id: Ic71529f34b8bc39864c9eccadc2aff7b6d426ca8
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 597f4bd4734e8a165929bc163ac910f44ba7a1e7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Axel Spoerl 2024-09-27 18:12:08 +02:00 committed by Qt Cherry-pick Bot
parent 64da99d2e4
commit 47ee855740

View File

@ -104,6 +104,8 @@ private:
QSKIP("Platform not supported"); QSKIP("Platform not supported");
#else #else
#define qCreateFloatingTabs(mainWindow, centralWidget, d1, d2, path1, path2)\ #define qCreateFloatingTabs(mainWindow, centralWidget, d1, d2, path1, path2)\
if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive))\
QSKIP("Test skipped on Wayland.");\
createFloatingTabs(mainWindow, centralWidget, d1, d2, path1, path2);\ createFloatingTabs(mainWindow, centralWidget, d1, d2, path1, path2);\
std::unique_ptr<QMainWindow> up_mainWindow(mainWindow);\ std::unique_ptr<QMainWindow> up_mainWindow(mainWindow);\
if (!platformSupportingRaise)\ if (!platformSupportingRaise)\
@ -914,8 +916,7 @@ void tst_QDockWidget::restoreStateWhileStillFloating()
void tst_QDockWidget::restoreDockWidget() void tst_QDockWidget::restoreDockWidget()
{ {
if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive))
QSKIP("Fails on Wayland: QTBUG-91483"); QSKIP("Test skipped on Wayland.");
QByteArray geometry; QByteArray geometry;
QByteArray state; QByteArray state;
@ -1073,9 +1074,6 @@ void tst_QDockWidget::task248604_infiniteResize()
void tst_QDockWidget::task258459_visibilityChanged() void tst_QDockWidget::task258459_visibilityChanged()
{ {
if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive))
QSKIP("Wayland: This fails. Figure out why.");
QMainWindow win; QMainWindow win;
QDockWidget dock1, dock2; QDockWidget dock1, dock2;
win.addDockWidget(Qt::RightDockWidgetArea, &dock1); win.addDockWidget(Qt::RightDockWidgetArea, &dock1);
@ -1110,9 +1108,6 @@ void tst_QDockWidget::taskQTBUG_1665_closableChanged()
void tst_QDockWidget::taskQTBUG_9758_undockedGeometry() void tst_QDockWidget::taskQTBUG_9758_undockedGeometry()
{ {
if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive))
QSKIP("Fails on Wayland: QTBUG-91483");
QMainWindow window; QMainWindow window;
QDockWidget dock1(&window); QDockWidget dock1(&window);
QDockWidget dock2(&window); QDockWidget dock2(&window);
@ -1461,8 +1456,6 @@ void tst_QDockWidget::createFloatingTabs(QMainWindow* &mainWindow, QPointer<QWid
// test floating tabs and item_tree consistency // test floating tabs and item_tree consistency
void tst_QDockWidget::floatingTabs() void tst_QDockWidget::floatingTabs()
{ {
if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive))
QSKIP("Test skipped on Wayland.");
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
QSKIP("Test skipped on Windows platforms"); QSKIP("Test skipped on Windows platforms");
#endif // Q_OS_WIN #endif // Q_OS_WIN
@ -1580,8 +1573,6 @@ void tst_QDockWidget::deleteFloatingTabWithSingleDockWidget_data()
void tst_QDockWidget::deleteFloatingTabWithSingleDockWidget() void tst_QDockWidget::deleteFloatingTabWithSingleDockWidget()
{ {
if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive))
QSKIP("Test skipped on Wayland.");
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
QSKIP("Test skipped on Windows platforms"); QSKIP("Test skipped on Windows platforms");
#endif // Q_OS_WIN #endif // Q_OS_WIN