tests/auto/widgets/widgets: Avoid unconditional qWait()s

Task-number: QTBUG-63992
Change-Id: I7b0c259800082284ddae4e25d139ad3adc858467
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
This commit is contained in:
Kari Oikarinen 2018-04-06 16:25:21 +03:00
parent 7917305aa5
commit 0cb940b1d3
22 changed files with 42 additions and 141 deletions

View File

@ -473,14 +473,9 @@ void tst_QAbstractButton::setShortcut()
QKeySequence seq( Qt::Key_A ); QKeySequence seq( Qt::Key_A );
testWidget->setShortcut( seq ); testWidget->setShortcut( seq );
QApplication::setActiveWindow(testWidget); QApplication::setActiveWindow(testWidget);
// must be active to get shortcuts
for (int i = 0; !testWidget->isActiveWindow() && i < 100; ++i) {
testWidget->activateWindow(); testWidget->activateWindow();
QApplication::instance()->processEvents(); // must be active to get shortcuts
QTest::qWait(100); QVERIFY(QTest::qWaitForWindowActive(testWidget));
}
QVERIFY(testWidget->isActiveWindow());
QTest::keyClick( testWidget, 'A' ); QTest::keyClick( testWidget, 'A' );
QTest::qWait(300); // Animate click takes time QTest::qWait(300); // Animate click takes time
@ -508,9 +503,7 @@ void tst_QAbstractButton::animateClick()
QVERIFY( testWidget->isDown() ); QVERIFY( testWidget->isDown() );
qApp->processEvents(); qApp->processEvents();
QVERIFY( testWidget->isDown() ); QVERIFY( testWidget->isDown() );
QTest::qWait(200); QTRY_VERIFY( !testWidget->isDown() );
qApp->processEvents();
QVERIFY( !testWidget->isDown() );
} }
void tst_QAbstractButton::shortcutEvents() void tst_QAbstractButton::shortcutEvents()
@ -614,7 +607,7 @@ void tst_QAbstractButton::keyNavigation()
widget.show(); widget.show();
qApp->setActiveWindow(&widget); qApp->setActiveWindow(&widget);
widget.activateWindow(); widget.activateWindow();
QTest::qWait(30); QVERIFY(QTest::qWaitForWindowActive(&widget));
buttons[1][1]->setFocus(); buttons[1][1]->setFocus();
QTest::qWait(400); QTest::qWait(400);

View File

@ -346,6 +346,7 @@ void tst_QAbstractScrollArea::patternBackground()
widget.resize(600, 600); widget.resize(600, 600);
scrollArea.setWidget(&widget); scrollArea.setWidget(&widget);
topLevel.show(); topLevel.show();
QVERIFY(QTest::qWaitForWindowActive(&topLevel));
QLinearGradient linearGrad(QPointF(250, 250), QPointF(300, 300)); QLinearGradient linearGrad(QPointF(250, 250), QPointF(300, 300));
linearGrad.setColorAt(0, Qt::yellow); linearGrad.setColorAt(0, Qt::yellow);
@ -354,7 +355,6 @@ void tst_QAbstractScrollArea::patternBackground()
scrollArea.viewport()->setPalette(QPalette(Qt::black, bg, bg, bg, bg, bg, bg, bg, bg)); scrollArea.viewport()->setPalette(QPalette(Qt::black, bg, bg, bg, bg, bg, bg, bg, bg));
widget.setPalette(Qt::transparent); widget.setPalette(Qt::transparent);
QTest::qWait(50);
QImage image(200, 200, QImage::Format_ARGB32); QImage image(200, 200, QImage::Format_ARGB32);
scrollArea.render(&image); scrollArea.render(&image);
@ -366,7 +366,6 @@ void tst_QAbstractScrollArea::patternBackground()
QScrollBar *vbar = scrollArea.verticalScrollBar(); QScrollBar *vbar = scrollArea.verticalScrollBar();
vbar->setValue(vbar->maximum()); vbar->setValue(vbar->maximum());
QTest::qWait(50);
scrollArea.render(&image); scrollArea.render(&image);
QCOMPARE(image.pixel(QPoint(20,20)) , QColor(Qt::red).rgb()); QCOMPARE(image.pixel(QPoint(20,20)) , QColor(Qt::red).rgb());

View File

@ -174,12 +174,10 @@ void tst_QCalendarWidget::buttonClickCheck()
QTest::mouseClick(button, Qt::LeftButton, Qt::NoModifier, button->rect().center(), 2); QTest::mouseClick(button, Qt::LeftButton, Qt::NoModifier, button->rect().center(), 2);
QVERIFY(!button->isVisible()); QVERIFY(!button->isVisible());
QSpinBox *spinbox = object.findChild<QSpinBox *>("qt_calendar_yearedit"); QSpinBox *spinbox = object.findChild<QSpinBox *>("qt_calendar_yearedit");
QTest::qWait(500);
QTest::keyClick(spinbox, '2'); QTest::keyClick(spinbox, '2');
QTest::keyClick(spinbox, '0'); QTest::keyClick(spinbox, '0');
QTest::keyClick(spinbox, '0'); QTest::keyClick(spinbox, '0');
QTest::keyClick(spinbox, '6'); QTest::keyClick(spinbox, '6');
QTest::qWait(500);
QWidget *widget = object.findChild<QWidget *>("qt_calendar_calendarview"); QWidget *widget = object.findChild<QWidget *>("qt_calendar_calendarview");
QTest::mouseMove(widget); QTest::mouseMove(widget);
QTest::mouseClick(widget, Qt::LeftButton); QTest::mouseClick(widget, Qt::LeftButton);
@ -305,7 +303,6 @@ void tst_QCalendarWidget::showPrevNext()
QCOMPARE(calWidget.monthShown(), expectedDate.month()); QCOMPARE(calWidget.monthShown(), expectedDate.month());
// QTBUG-4058 // QTBUG-4058
QTest::qWait(20);
QToolButton *button = calWidget.findChild<QToolButton *>("qt_calendar_prevmonth"); QToolButton *button = calWidget.findChild<QToolButton *>("qt_calendar_prevmonth");
QTest::mouseClick(button, Qt::LeftButton); QTest::mouseClick(button, Qt::LeftButton);
expectedDate = expectedDate.addMonths(-1); expectedDate = expectedDate.addMonths(-1);

View File

@ -83,6 +83,7 @@ void tst_QCheckBox::initTestCase()
testWidget->setObjectName("testObject"); testWidget->setObjectName("testObject");
testWidget->resize( 200, 200 ); testWidget->resize( 200, 200 );
testWidget->show(); testWidget->show();
QVERIFY(QTest::qWaitForWindowActive(testWidget));
} }
void tst_QCheckBox::cleanupTestCase() void tst_QCheckBox::cleanupTestCase()
@ -240,13 +241,11 @@ void tst_QCheckBox::pressed()
QVERIFY( !testWidget->isChecked() ); QVERIFY( !testWidget->isChecked() );
QTest::keyPress( testWidget, Qt::Key_Space ); QTest::keyPress( testWidget, Qt::Key_Space );
QTest::qWait(100);
QVERIFY( press_count == 1 ); QVERIFY( press_count == 1 );
QVERIFY( release_count == 0 ); QVERIFY( release_count == 0 );
QVERIFY( !testWidget->isChecked() ); QVERIFY( !testWidget->isChecked() );
QTest::keyRelease( testWidget, Qt::Key_Space ); QTest::keyRelease( testWidget, Qt::Key_Space );
QTest::qWait(100);
QVERIFY( press_count == 1 ); QVERIFY( press_count == 1 );
QVERIFY( release_count == 1 ); QVERIFY( release_count == 1 );
QVERIFY( testWidget->isChecked() ); QVERIFY( testWidget->isChecked() );

View File

@ -1995,19 +1995,16 @@ void tst_QComboBox::flaggedItems()
QApplication::setActiveWindow(&comboBox); QApplication::setActiveWindow(&comboBox);
comboBox.activateWindow(); comboBox.activateWindow();
comboBox.setFocus(); comboBox.setFocus();
QVERIFY(QTest::qWaitForWindowActive(&comboBox));
QTRY_VERIFY(comboBox.isVisible()); QTRY_VERIFY(comboBox.isVisible());
QTRY_VERIFY(comboBox.hasFocus()); QTRY_VERIFY(comboBox.hasFocus());
if (editable) if (editable)
comboBox.lineEdit()->selectAll(); comboBox.lineEdit()->selectAll();
QSignalSpy indexChangedInt(&comboBox, SIGNAL(currentIndexChanged(int)));
for (int i = 0; i < keyMovementList.count(); ++i) { for (int i = 0; i < keyMovementList.count(); ++i) {
Qt::Key key = keyMovementList[i]; Qt::Key key = keyMovementList[i];
QTest::keyClick(&comboBox, key); QTest::keyClick(&comboBox, key);
if (indexChangedInt.count() != i + 1) {
QTest::qWait(400);
}
} }
QCOMPARE(comboBox.currentIndex() , expectedIndex); QCOMPARE(comboBox.currentIndex() , expectedIndex);
@ -2447,7 +2444,7 @@ void tst_QComboBox::task220195_keyBoardSelection2()
combo.addItem( QLatin1String("foo3")); combo.addItem( QLatin1String("foo3"));
combo.show(); combo.show();
QApplication::setActiveWindow(&combo); QApplication::setActiveWindow(&combo);
QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&combo)); QVERIFY(QTest::qWaitForWindowActive(&combo));
combo.setCurrentIndex(-1); combo.setCurrentIndex(-1);
QVERIFY(combo.currentText().isNull()); QVERIFY(combo.currentText().isNull());

View File

@ -110,6 +110,7 @@ void tst_QCommandLinkButton::initTestCase()
testWidget->setObjectName("testWidget"); testWidget->setObjectName("testWidget");
testWidget->resize( 200, 200 ); testWidget->resize( 200, 200 );
testWidget->show(); testWidget->show();
QVERIFY(QTest::qWaitForWindowActive(testWidget));
connect( testWidget, SIGNAL(clicked()), this, SLOT(onClicked()) ); connect( testWidget, SIGNAL(clicked()), this, SLOT(onClicked()) );
connect( testWidget, SIGNAL(pressed()), this, SLOT(onPressed()) ); connect( testWidget, SIGNAL(pressed()), this, SLOT(onPressed()) );
@ -166,12 +167,6 @@ void tst_QCommandLinkButton::onReleased()
void tst_QCommandLinkButton::setAutoRepeat() void tst_QCommandLinkButton::setAutoRepeat()
{ {
// Give the last tests time to finish - i.e., wait for the window close
// and deactivate to avoid a race condition here. We can't add this to the
// end of the defaultAndAutoDefault test, since any failure in that test
// will return out of that function.
QTest::qWait( 1000 );
// If this changes, this test must be completely revised. // If this changes, this test must be completely revised.
QVERIFY( !testWidget->isCheckable() ); QVERIFY( !testWidget->isCheckable() );
@ -194,8 +189,6 @@ void tst_QCommandLinkButton::setAutoRepeat()
testWidget->setAutoRepeat( false ); testWidget->setAutoRepeat( false );
QTest::keyPress( testWidget, Qt::Key_Space ); QTest::keyPress( testWidget, Qt::Key_Space );
QTest::qWait( 300 );
QVERIFY( testWidget->isDown() ); QVERIFY( testWidget->isDown() );
QVERIFY( toggle_count == 0 ); QVERIFY( toggle_count == 0 );
QVERIFY( press_count == 1 ); QVERIFY( press_count == 1 );
@ -206,18 +199,16 @@ void tst_QCommandLinkButton::setAutoRepeat()
resetCounters(); resetCounters();
// check that the button is down if we press space while in autorepeat // check that the button is down if we press space while in autorepeat
// we can't actually confirm how many times it is fired, more than 1 is enough.
testWidget->setDown( false ); testWidget->setDown( false );
testWidget->setAutoRepeat( true ); testWidget->setAutoRepeat( true );
QTest::keyPress( testWidget, Qt::Key_Space ); QTest::keyPress( testWidget, Qt::Key_Space );
QTest::qWait(900); QTRY_VERIFY(press_count > 10);
QVERIFY( testWidget->isDown() ); QVERIFY( testWidget->isDown() );
QVERIFY( toggle_count == 0 ); QVERIFY( toggle_count == 0 );
QTest::keyRelease( testWidget, Qt::Key_Space ); QTest::keyRelease( testWidget, Qt::Key_Space );
QCOMPARE(press_count, release_count); QCOMPARE(press_count, release_count);
QCOMPARE(release_count, click_count); QCOMPARE(release_count, click_count);
QVERIFY(press_count > 1);
// #### shouldn't I check here to see if multiple signals have been fired??? // #### shouldn't I check here to see if multiple signals have been fired???
@ -227,8 +218,6 @@ void tst_QCommandLinkButton::setAutoRepeat()
testWidget->setAutoRepeat( false ); testWidget->setAutoRepeat( false );
QTest::keyPress( testWidget, Qt::Key_Enter ); QTest::keyPress( testWidget, Qt::Key_Enter );
QTest::qWait( 300 );
QVERIFY( !testWidget->isDown() ); QVERIFY( !testWidget->isDown() );
QVERIFY( toggle_count == 0 ); QVERIFY( toggle_count == 0 );
QVERIFY( press_count == 0 ); QVERIFY( press_count == 0 );
@ -241,7 +230,6 @@ void tst_QCommandLinkButton::setAutoRepeat()
testWidget->setDown( false ); testWidget->setDown( false );
testWidget->setAutoRepeat( true ); testWidget->setAutoRepeat( true );
QTest::keyClick( testWidget, Qt::Key_Enter ); QTest::keyClick( testWidget, Qt::Key_Enter );
QTest::qWait( 300 );
QVERIFY( !testWidget->isDown() ); QVERIFY( !testWidget->isDown() );
QVERIFY( toggle_count == 0 ); QVERIFY( toggle_count == 0 );
QVERIFY( press_count == 0 ); QVERIFY( press_count == 0 );
@ -252,23 +240,19 @@ void tst_QCommandLinkButton::setAutoRepeat()
void tst_QCommandLinkButton::pressed() void tst_QCommandLinkButton::pressed()
{ {
QTest::keyPress( testWidget, ' ' ); QTest::keyPress( testWidget, ' ' );
// QTest::qWait( 300 );
QCOMPARE( press_count, (uint)1 ); QCOMPARE( press_count, (uint)1 );
QCOMPARE( release_count, (uint)0 ); QCOMPARE( release_count, (uint)0 );
QTest::keyRelease( testWidget, ' ' ); QTest::keyRelease( testWidget, ' ' );
// QTest::qWait( 300 );
QCOMPARE( press_count, (uint)1 ); QCOMPARE( press_count, (uint)1 );
QCOMPARE( release_count, (uint)1 ); QCOMPARE( release_count, (uint)1 );
QTest::keyPress( testWidget,Qt::Key_Enter ); QTest::keyPress( testWidget,Qt::Key_Enter );
// QTest::qWait( 300 );
QCOMPARE( press_count, (uint)1 ); QCOMPARE( press_count, (uint)1 );
QCOMPARE( release_count, (uint)1 ); QCOMPARE( release_count, (uint)1 );
testWidget->setAutoDefault(true); testWidget->setAutoDefault(true);
QTest::keyPress( testWidget,Qt::Key_Enter ); QTest::keyPress( testWidget,Qt::Key_Enter );
// QTest::qWait( 300 );
QCOMPARE( press_count, (uint)2 ); QCOMPARE( press_count, (uint)2 );
QCOMPARE( release_count, (uint)2 ); QCOMPARE( release_count, (uint)2 );
testWidget->setAutoDefault(false); testWidget->setAutoDefault(false);
@ -349,19 +333,7 @@ void tst_QCommandLinkButton::setAccel()
// The shortcut will not be activated unless the button is in a active // The shortcut will not be activated unless the button is in a active
// window and has focus // window and has focus
testWidget->setFocus(); testWidget->setFocus();
QVERIFY(QTest::qWaitForWindowActive(testWidget));
// QWidget::isActiveWindow() can report window active before application
// has handled the asynchronous activation event on platforms that have
// implemented QPlatformWindow::isActive(), so process events to sync up.
QApplication::instance()->processEvents();
for (int i = 0; !testWidget->isActiveWindow() && i < 1000; ++i) {
testWidget->activateWindow();
QApplication::instance()->processEvents();
QTest::qWait(100);
}
QVERIFY(testWidget->isActiveWindow());
QTest::keyClick( testWidget, 'A', Qt::AltModifier ); QTest::keyClick( testWidget, 'A', Qt::AltModifier );
QTest::qWait( 500 ); QTest::qWait( 500 );

View File

@ -838,10 +838,9 @@ void tst_QDialogButtonBox::task191642_default()
bb->addButton(QDialogButtonBox::Help); bb->addButton(QDialogButtonBox::Help);
dlg.show(); dlg.show();
QTest::qWait(10); QVERIFY(QTest::qWaitForWindowActive(&dlg));
QVERIFY(def->isDefault()); QVERIFY(def->isDefault());
QTest::keyPress( &dlg, Qt::Key_Enter ); QTest::keyPress( &dlg, Qt::Key_Enter );
QTest::qWait(100);
QCOMPARE(clicked.count(), 1); QCOMPARE(clicked.count(), 1);
} }

View File

@ -579,8 +579,7 @@ void tst_QDockWidget::visibilityChanged()
QCOMPARE(spy.count(), 0); QCOMPARE(spy.count(), 0);
mw.addDockWidget(Qt::RightDockWidgetArea, &dw2); mw.addDockWidget(Qt::RightDockWidgetArea, &dw2);
QTest::qWait(200); QTRY_COMPARE(spy.count(), 1);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.at(0).at(0).toBool(), true); QCOMPARE(spy.at(0).at(0).toBool(), true);
} }
@ -672,8 +671,7 @@ void tst_QDockWidget::dockLocationChanged()
dw.setFloating(true); dw.setFloating(true);
QTest::qWait(100); QTest::qWait(100);
dw.setFloating(false); dw.setFloating(false);
QTest::qWait(100); QTRY_COMPARE(spy.count(), 1);
QCOMPARE(spy.count(), 1);
QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)), QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
Qt::TopDockWidgetArea); Qt::TopDockWidgetArea);
spy.clear(); spy.clear();
@ -936,8 +934,7 @@ void tst_QDockWidget::task248604_infiniteResize()
d.setContentsMargins(2, 2, 2, 2); d.setContentsMargins(2, 2, 2, 2);
d.setMinimumSize(320, 240); d.setMinimumSize(320, 240);
d.showNormal(); d.showNormal();
QTest::qWait(400); QTRY_COMPARE(d.size(), QSize(320, 240));
QCOMPARE(d.size(), QSize(320, 240));
} }
@ -950,7 +947,7 @@ void tst_QDockWidget::task258459_visibilityChanged()
QSignalSpy spy1(&dock1, SIGNAL(visibilityChanged(bool))); QSignalSpy spy1(&dock1, SIGNAL(visibilityChanged(bool)));
QSignalSpy spy2(&dock2, SIGNAL(visibilityChanged(bool))); QSignalSpy spy2(&dock2, SIGNAL(visibilityChanged(bool)));
win.show(); win.show();
QTest::qWait(200); QVERIFY(QTest::qWaitForWindowActive(&win));
QCOMPARE(spy1.count(), 1); QCOMPARE(spy1.count(), 1);
QCOMPARE(spy1.first().first().toBool(), false); //dock1 is invisible QCOMPARE(spy1.first().first().toBool(), false); //dock1 is invisible
QCOMPARE(spy2.count(), 1); QCOMPARE(spy2.count(), 1);

View File

@ -164,6 +164,7 @@ void tst_QDoubleSpinBox::initTestCase()
testFocusWidget = new QWidget(0); testFocusWidget = new QWidget(0);
testFocusWidget->resize(200, 100); testFocusWidget->resize(200, 100);
testFocusWidget->show(); testFocusWidget->show();
QVERIFY(QTest::qWaitForWindowActive(testFocusWidget));
} }
void tst_QDoubleSpinBox::cleanupTestCase() void tst_QDoubleSpinBox::cleanupTestCase()
@ -770,8 +771,7 @@ void tst_QDoubleSpinBox::editingFinished()
testFocusWidget->show(); testFocusWidget->show();
QApplication::setActiveWindow(testFocusWidget); QApplication::setActiveWindow(testFocusWidget);
QTest::qWait(10); QVERIFY(QTest::qWaitForWindowActive(testFocusWidget));
QTRY_VERIFY(testFocusWidget->isActiveWindow());
box->setFocus(); box->setFocus();
QTRY_VERIFY(box->hasFocus()); QTRY_VERIFY(box->hasFocus());
@ -997,7 +997,7 @@ void tst_QDoubleSpinBox::task224497_fltMax()
dspin->setMinimum(3); dspin->setMinimum(3);
dspin->setMaximum(FLT_MAX); dspin->setMaximum(FLT_MAX);
dspin->show(); dspin->show();
QTest::qWait(1000); QVERIFY(QTest::qWaitForWindowActive(dspin));
dspin->lineEdit()->selectAll(); dspin->lineEdit()->selectAll();
QTest::keyClick(dspin->lineEdit(), Qt::Key_Delete); QTest::keyClick(dspin->lineEdit(), Qt::Key_Delete);
QTest::keyClick(dspin->lineEdit(), Qt::Key_1); QTest::keyClick(dspin->lineEdit(), Qt::Key_1);

View File

@ -398,7 +398,6 @@ void tst_QLabel::task226479_movieResize()
label.paintedRegion = QRegion(); label.paintedRegion = QRegion();
movie->setFileName(QFINDTESTDATA("green.png")); movie->setFileName(QFINDTESTDATA("green.png"));
movie->start(); movie->start();
QTest::qWait(50);
QTRY_COMPARE(label.paintedRegion , QRegion(label.rect()) ); QTRY_COMPARE(label.paintedRegion , QRegion(label.rect()) );
} }

View File

@ -3573,18 +3573,15 @@ void tst_QLineEdit::task174640_editingFinished()
QSignalSpy editingFinishedSpy(le1, SIGNAL(editingFinished())); QSignalSpy editingFinishedSpy(le1, SIGNAL(editingFinished()));
le1->setFocus(); le1->setFocus();
QTest::qWait(20);
QTRY_VERIFY(le1->hasFocus()); QTRY_VERIFY(le1->hasFocus());
QCOMPARE(editingFinishedSpy.count(), 0); QCOMPARE(editingFinishedSpy.count(), 0);
le2->setFocus(); le2->setFocus();
QTest::qWait(20);
QTRY_VERIFY(le2->hasFocus()); QTRY_VERIFY(le2->hasFocus());
QCOMPARE(editingFinishedSpy.count(), 1); QCOMPARE(editingFinishedSpy.count(), 1);
editingFinishedSpy.clear(); editingFinishedSpy.clear();
le1->setFocus(); le1->setFocus();
QTest::qWait(20);
QTRY_VERIFY(le1->hasFocus()); QTRY_VERIFY(le1->hasFocus());
QMenu *testMenu1 = new QMenu(le1); QMenu *testMenu1 = new QMenu(le1);
@ -3680,7 +3677,6 @@ void tst_QLineEdit::task229938_dontEmitChangedWhenTextIsNotChanged()
QVERIFY(QTest::qWaitForWindowExposed(&lineEdit)); // to be safe and avoid failing setFocus with window managers QVERIFY(QTest::qWaitForWindowExposed(&lineEdit)); // to be safe and avoid failing setFocus with window managers
lineEdit.setFocus(); lineEdit.setFocus();
QSignalSpy changedSpy(&lineEdit, SIGNAL(textChanged(QString))); QSignalSpy changedSpy(&lineEdit, SIGNAL(textChanged(QString)));
QTest::qWait(200);
QTest::keyPress(&lineEdit, 'a'); QTest::keyPress(&lineEdit, 'a');
QTest::keyPress(&lineEdit, 'b'); QTest::keyPress(&lineEdit, 'b');
QTest::keyPress(&lineEdit, 'c'); QTest::keyPress(&lineEdit, 'c');

View File

@ -1745,17 +1745,15 @@ void tst_QMainWindow::setCursor()
QCOMPARE(cur.shape(), mw.cursor().shape()); QCOMPARE(cur.shape(), mw.cursor().shape());
mw.resize(200,200); mw.resize(200,200);
mw.show(); mw.show();
QTest::qWait(50); QVERIFY(QTest::qWaitForWindowActive(&mw));
QCOMPARE(cur.shape(), mw.cursor().shape()); QCOMPARE(cur.shape(), mw.cursor().shape());
QHoverEvent enterE(QEvent::HoverEnter, QPoint(10,10), QPoint()); QHoverEvent enterE(QEvent::HoverEnter, QPoint(10,10), QPoint());
mw.event(&enterE); mw.event(&enterE);
QTest::qWait(50);
QCOMPARE(cur.shape(), mw.cursor().shape()); QCOMPARE(cur.shape(), mw.cursor().shape());
QHoverEvent leaveE(QEvent::HoverLeave, QPoint(), QPoint()); QHoverEvent leaveE(QEvent::HoverLeave, QPoint(), QPoint());
mw.event(&leaveE); mw.event(&leaveE);
QTest::qWait(50);
QCOMPARE(cur.shape(), mw.cursor().shape()); QCOMPARE(cur.shape(), mw.cursor().shape());
} }
#endif #endif
@ -1844,7 +1842,7 @@ void tst_QMainWindow::dockWidgetSize()
mainWindow.addDockWidget(Qt::TopDockWidgetArea, &dock); mainWindow.addDockWidget(Qt::TopDockWidgetArea, &dock);
mainWindow.show(); mainWindow.show();
QTest::qWait(100); QVERIFY(QTest::qWaitForWindowActive(&mainWindow));
if (mainWindow.size() == mainWindow.sizeHint()) { if (mainWindow.size() == mainWindow.sizeHint()) {
QCOMPARE(widget.size(), widget.sizeHint()); QCOMPARE(widget.size(), widget.sizeHint());
QCOMPARE(dock.widget()->size(), dock.widget()->sizeHint()); QCOMPARE(dock.widget()->size(), dock.widget()->sizeHint());

View File

@ -963,8 +963,6 @@ void tst_QMdiSubWindow::setSystemMenu()
mainWindow.menuBar()->setNativeMenuBar(false); mainWindow.menuBar()->setNativeMenuBar(false);
mainWindow.show(); mainWindow.show();
QVERIFY(QTest::qWaitForWindowExposed(&mainWindow)); QVERIFY(QTest::qWaitForWindowExposed(&mainWindow));
QTest::qWait(60);
QTRY_VERIFY(subWindow->isVisible()); QTRY_VERIFY(subWindow->isVisible());
QPoint globalPopupPos; QPoint globalPopupPos;
@ -972,7 +970,6 @@ void tst_QMdiSubWindow::setSystemMenu()
// Show system menu // Show system menu
QVERIFY(!qApp->activePopupWidget()); QVERIFY(!qApp->activePopupWidget());
subWindow->showSystemMenu(); subWindow->showSystemMenu();
QTest::qWait(25);
QTRY_COMPARE(qApp->activePopupWidget(), qobject_cast<QWidget *>(systemMenu)); QTRY_COMPARE(qApp->activePopupWidget(), qobject_cast<QWidget *>(systemMenu));
QTRY_COMPARE(systemMenu->mapToGlobal(QPoint(0, 0)), QTRY_COMPARE(systemMenu->mapToGlobal(QPoint(0, 0)),
(globalPopupPos = subWindow->mapToGlobal(subWindow->contentsRect().topLeft())) ); (globalPopupPos = subWindow->mapToGlobal(subWindow->contentsRect().topLeft())) );
@ -997,7 +994,6 @@ void tst_QMdiSubWindow::setSystemMenu()
// Show the new system menu // Show the new system menu
QVERIFY(!qApp->activePopupWidget()); QVERIFY(!qApp->activePopupWidget());
subWindow->showSystemMenu(); subWindow->showSystemMenu();
QTest::qWait(25);
QTRY_COMPARE(qApp->activePopupWidget(), qobject_cast<QWidget *>(systemMenu)); QTRY_COMPARE(qApp->activePopupWidget(), qobject_cast<QWidget *>(systemMenu));
QTRY_COMPARE(systemMenu->mapToGlobal(QPoint(0, 0)), globalPopupPos); QTRY_COMPARE(systemMenu->mapToGlobal(QPoint(0, 0)), globalPopupPos);
@ -1011,7 +1007,6 @@ void tst_QMdiSubWindow::setSystemMenu()
QWidget *menuLabel = subWindow->maximizedSystemMenuIconWidget(); QWidget *menuLabel = subWindow->maximizedSystemMenuIconWidget();
QVERIFY(menuLabel); QVERIFY(menuLabel);
subWindow->showSystemMenu(); subWindow->showSystemMenu();
QTest::qWait(25);
QTRY_COMPARE(qApp->activePopupWidget(), qobject_cast<QWidget *>(systemMenu)); QTRY_COMPARE(qApp->activePopupWidget(), qobject_cast<QWidget *>(systemMenu));
QCOMPARE(systemMenu->mapToGlobal(QPoint(0, 0)), QCOMPARE(systemMenu->mapToGlobal(QPoint(0, 0)),
(globalPopupPos = menuLabel->mapToGlobal(QPoint(0, menuLabel->y() + menuLabel->height())))); (globalPopupPos = menuLabel->mapToGlobal(QPoint(0, menuLabel->y() + menuLabel->height()))));
@ -1027,7 +1022,6 @@ void tst_QMdiSubWindow::setSystemMenu()
QTest::qWait(150); QTest::qWait(150);
subWindow->showSystemMenu(); subWindow->showSystemMenu();
QTest::qWait(250);
QTRY_COMPARE(qApp->activePopupWidget(), qobject_cast<QWidget *>(systemMenu)); QTRY_COMPARE(qApp->activePopupWidget(), qobject_cast<QWidget *>(systemMenu));
// + QPoint(1, 0) because topRight() == QPoint(left() + width() -1, top()) // + QPoint(1, 0) because topRight() == QPoint(left() + width() -1, top())
globalPopupPos = subWindow->mapToGlobal(subWindow->contentsRect().topRight()) + QPoint(1, 0); globalPopupPos = subWindow->mapToGlobal(subWindow->contentsRect().topRight()) + QPoint(1, 0);
@ -1044,7 +1038,6 @@ void tst_QMdiSubWindow::setSystemMenu()
menuLabel = subWindow->maximizedSystemMenuIconWidget(); menuLabel = subWindow->maximizedSystemMenuIconWidget();
QVERIFY(menuLabel); QVERIFY(menuLabel);
subWindow->showSystemMenu(); subWindow->showSystemMenu();
QTest::qWait(250);
QTRY_COMPARE(qApp->activePopupWidget(), qobject_cast<QWidget *>(systemMenu)); QTRY_COMPARE(qApp->activePopupWidget(), qobject_cast<QWidget *>(systemMenu));
globalPopupPos = menuLabel->mapToGlobal(QPoint(menuLabel->width(), menuLabel->y() + menuLabel->height())); globalPopupPos = menuLabel->mapToGlobal(QPoint(menuLabel->width(), menuLabel->y() + menuLabel->height()));
globalPopupPos -= QPoint(systemMenu->sizeHint().width(), 0); globalPopupPos -= QPoint(systemMenu->sizeHint().width(), 0);
@ -1648,8 +1641,6 @@ void tst_QMdiSubWindow::resizeTimer()
QMdiSubWindow *subWindow = mdiArea.addSubWindow(new QWidget); QMdiSubWindow *subWindow = mdiArea.addSubWindow(new QWidget);
mdiArea.show(); mdiArea.show();
QVERIFY(QTest::qWaitForWindowExposed(&mdiArea)); QVERIFY(QTest::qWaitForWindowExposed(&mdiArea));
QTest::qWait(300);
EventSpy timerEventSpy(subWindow, QEvent::Timer); EventSpy timerEventSpy(subWindow, QEvent::Timer);
QCOMPARE(timerEventSpy.count(), 0); QCOMPARE(timerEventSpy.count(), 0);
@ -1809,10 +1800,9 @@ void tst_QMdiSubWindow::closeOnDoubleClick()
QVERIFY(QTest::qWaitForWindowExposed(&mdiArea)); QVERIFY(QTest::qWaitForWindowExposed(&mdiArea));
subWindow->showSystemMenu(); subWindow->showSystemMenu();
QTest::qWait(200);
QPointer<QMenu> systemMenu = subWindow->systemMenu(); QPointer<QMenu> systemMenu;
QVERIFY(systemMenu); QTRY_VERIFY( (systemMenu = subWindow->systemMenu()) );
QVERIFY(systemMenu->isVisible()); QVERIFY(systemMenu->isVisible());
const QRect actionGeometry = systemMenu->actionGeometry(systemMenu->actions().at(actionIndex)); const QRect actionGeometry = systemMenu->actionGeometry(systemMenu->actions().at(actionIndex));

View File

@ -991,18 +991,14 @@ void tst_QMenu::task258920_mouseBorder()
#endif #endif
menu.popup(center); menu.popup(center);
QVERIFY(QTest::qWaitForWindowExposed(&menu)); QVERIFY(QTest::qWaitForWindowExposed(&menu));
QTest::qWait(100);
QRect actionRect = menu.actionGeometry(action); QRect actionRect = menu.actionGeometry(action);
const QPoint actionCenter = actionRect.center(); const QPoint actionCenter = actionRect.center();
QTest::mouseMove(&menu, actionCenter - QPoint(-10, 0)); QTest::mouseMove(&menu, actionCenter - QPoint(-10, 0));
QTest::qWait(30);
QTest::mouseMove(&menu, actionCenter); QTest::mouseMove(&menu, actionCenter);
QTest::qWait(30);
QTest::mouseMove(&menu, actionCenter + QPoint(10, 0)); QTest::mouseMove(&menu, actionCenter + QPoint(10, 0));
QTRY_COMPARE(action, menu.activeAction()); QTRY_COMPARE(action, menu.activeAction());
menu.painted = false; menu.painted = false;
QTest::mouseMove(&menu, QPoint(actionRect.center().x(), actionRect.bottom() + 1)); QTest::mouseMove(&menu, QPoint(actionRect.center().x(), actionRect.bottom() + 1));
QTest::qWait(30);
QTRY_COMPARE(static_cast<QAction*>(0), menu.activeAction()); QTRY_COMPARE(static_cast<QAction*>(0), menu.activeAction());
QTRY_VERIFY(menu.painted); QTRY_VERIFY(menu.painted);
} }
@ -1109,7 +1105,6 @@ void tst_QMenu::QTBUG7907_submenus_autoselect()
menu.show(); menu.show();
QVERIFY(QTest::qWaitForWindowExposed(&menu)); QVERIFY(QTest::qWaitForWindowExposed(&menu));
QTest::mouseClick(&menu, Qt::LeftButton, Qt::NoModifier, QPoint(5,5) ); QTest::mouseClick(&menu, Qt::LeftButton, Qt::NoModifier, QPoint(5,5) );
QTest::qWait(500);
QVERIFY(!subset.isVisible()); QVERIFY(!subset.isVisible());
} }
@ -1410,7 +1405,6 @@ void tst_QMenu::QTBUG_56917_wideMenuSize()
menu.addAction(longString); menu.addAction(longString);
QSize menuSizeHint = menu.sizeHint(); QSize menuSizeHint = menu.sizeHint();
menu.popup(QPoint()); menu.popup(QPoint());
QTest::qWait(100);
QVERIFY(QTest::qWaitForWindowExposed(&menu)); QVERIFY(QTest::qWaitForWindowExposed(&menu));
QVERIFY(menu.isVisible()); QVERIFY(menu.isVisible());
QVERIFY(menu.height() <= menuSizeHint.height()); QVERIFY(menu.height() <= menuSizeHint.height());
@ -1428,7 +1422,6 @@ void tst_QMenu::QTBUG_56917_wideMenuScreenNumber()
QMenu menu; QMenu menu;
menu.addAction(longString); menu.addAction(longString);
menu.popup(QApplication::desktop()->screen(i)->geometry().center()); menu.popup(QApplication::desktop()->screen(i)->geometry().center());
QTest::qWait(100);
QVERIFY(QTest::qWaitForWindowExposed(&menu)); QVERIFY(QTest::qWaitForWindowExposed(&menu));
QVERIFY(menu.isVisible()); QVERIFY(menu.isVisible());
QCOMPARE(QApplication::desktop()->screenNumber(&menu), i); QCOMPARE(QApplication::desktop()->screenNumber(&menu), i);

View File

@ -163,12 +163,9 @@ void tst_QProgressBar::format()
bar.move(300, 300); bar.move(300, 300);
bar.show(); bar.show();
QVERIFY(QTest::qWaitForWindowExposed(&bar)); QVERIFY(QTest::qWaitForWindowExposed(&bar));
QVERIFY(QTest::qWaitForWindowExposed(&bar));
QTest::qWait(20);
bar.repainted = false; bar.repainted = false;
bar.setFormat("%v of %m (%p%)"); bar.setFormat("%v of %m (%p%)");
QTest::qWait(20);
QTRY_VERIFY(bar.repainted); QTRY_VERIFY(bar.repainted);
bar.repainted = false; bar.repainted = false;
bar.setFormat("%v of %m (%p%)"); bar.setFormat("%v of %m (%p%)");

View File

@ -183,9 +183,7 @@ void tst_QPushButton::autoRepeat()
testWidget->setAutoRepeat( false ); testWidget->setAutoRepeat( false );
QTest::keyPress( testWidget, Qt::Key_Space ); QTest::keyPress( testWidget, Qt::Key_Space );
QTest::qWait( 300 ); QTRY_VERIFY( testWidget->isDown() );
QVERIFY( testWidget->isDown() );
QVERIFY( toggle_count == 0 ); QVERIFY( toggle_count == 0 );
QVERIFY( press_count == 1 ); QVERIFY( press_count == 1 );
QVERIFY( release_count == 0 ); QVERIFY( release_count == 0 );
@ -200,13 +198,12 @@ void tst_QPushButton::autoRepeat()
testWidget->setDown( false ); testWidget->setDown( false );
testWidget->setAutoRepeat( true ); testWidget->setAutoRepeat( true );
QTest::keyPress( testWidget, Qt::Key_Space ); QTest::keyPress( testWidget, Qt::Key_Space );
QTest::qWait(900); QTRY_VERIFY(press_count > 3);
QVERIFY( testWidget->isDown() ); QVERIFY( testWidget->isDown() );
QVERIFY( toggle_count == 0 ); QVERIFY( toggle_count == 0 );
QTest::keyRelease( testWidget, Qt::Key_Space ); QTest::keyRelease( testWidget, Qt::Key_Space );
QCOMPARE(press_count, release_count); QCOMPARE(press_count, release_count);
QCOMPARE(release_count, click_count); QCOMPARE(release_count, click_count);
QVERIFY(press_count > 1);
// #### shouldn't I check here to see if multiple signals have been fired??? // #### shouldn't I check here to see if multiple signals have been fired???
@ -241,23 +238,19 @@ void tst_QPushButton::autoRepeat()
void tst_QPushButton::pressed() void tst_QPushButton::pressed()
{ {
QTest::keyPress( testWidget, ' ' ); QTest::keyPress( testWidget, ' ' );
// QTest::qWait( 300 );
QCOMPARE( press_count, (uint)1 ); QCOMPARE( press_count, (uint)1 );
QCOMPARE( release_count, (uint)0 ); QCOMPARE( release_count, (uint)0 );
QTest::keyRelease( testWidget, ' ' ); QTest::keyRelease( testWidget, ' ' );
// QTest::qWait( 300 );
QCOMPARE( press_count, (uint)1 ); QCOMPARE( press_count, (uint)1 );
QCOMPARE( release_count, (uint)1 ); QCOMPARE( release_count, (uint)1 );
QTest::keyPress( testWidget,Qt::Key_Enter ); QTest::keyPress( testWidget,Qt::Key_Enter );
// QTest::qWait( 300 );
QCOMPARE( press_count, (uint)1 ); QCOMPARE( press_count, (uint)1 );
QCOMPARE( release_count, (uint)1 ); QCOMPARE( release_count, (uint)1 );
testWidget->setAutoDefault(true); testWidget->setAutoDefault(true);
QTest::keyPress( testWidget,Qt::Key_Enter ); QTest::keyPress( testWidget,Qt::Key_Enter );
// QTest::qWait( 300 );
QCOMPARE( press_count, (uint)2 ); QCOMPARE( press_count, (uint)2 );
QCOMPARE( release_count, (uint)2 ); QCOMPARE( release_count, (uint)2 );
testWidget->setAutoDefault(false); testWidget->setAutoDefault(false);
@ -340,14 +333,8 @@ void tst_QPushButton::setAccel()
// window and has focus // window and has focus
QApplication::setActiveWindow(testWidget); QApplication::setActiveWindow(testWidget);
testWidget->setFocus(); testWidget->setFocus();
for (int i = 0; !testWidget->isActiveWindow() && i < 1000; ++i) { QVERIFY(QTest::qWaitForWindowActive(testWidget));
testWidget->activateWindow();
QApplication::instance()->processEvents();
QTest::qWait(100);
}
QVERIFY(testWidget->isActiveWindow());
QTest::keyClick( testWidget, 'A', Qt::AltModifier ); QTest::keyClick( testWidget, 'A', Qt::AltModifier );
QTest::qWait( 50 );
QTRY_VERIFY( click_count == 1 ); QTRY_VERIFY( click_count == 1 );
QVERIFY( press_count == 1 ); QVERIFY( press_count == 1 );
QVERIFY( release_count == 1 ); QVERIFY( release_count == 1 );
@ -576,10 +563,8 @@ void tst_QPushButton::sizeHint()
dialog->showNormal(); dialog->showNormal();
tabWidget->setCurrentWidget(tab2); tabWidget->setCurrentWidget(tab2);
tabWidget->setCurrentWidget(tab1); tabWidget->setCurrentWidget(tab1);
QTest::qWait(100);
QApplication::processEvents();
QCOMPARE(button1_2->size(), button2_2->size()); QTRY_COMPARE(button1_2->size(), button2_2->size());
} }
} }

View File

@ -70,15 +70,13 @@ void tst_QRadioButton::task190739_focus()
widget.show(); widget.show();
widget.activateWindow(); widget.activateWindow();
QApplication::setActiveWindow(&widget); QVERIFY(QTest::qWaitForWindowActive(&widget));
QTest::qWait(100);
QVERIFY(edit.hasFocus()); QVERIFY(edit.hasFocus());
QVERIFY(!radio1.isChecked()); QVERIFY(!radio1.isChecked());
QTest::keyClick(&edit, Qt::Key_O, Qt::ControlModifier, 20); QTest::keyClick(&edit, Qt::Key_O, Qt::ControlModifier, 20);
QTest::qWait(200); QTRY_VERIFY(radio1.isChecked());
QVERIFY(radio1.isChecked());
QVERIFY(edit.hasFocus()); QVERIFY(edit.hasFocus());
QVERIFY(!radio1.hasFocus()); QVERIFY(!radio1.hasFocus());
} }

View File

@ -852,12 +852,11 @@ void tst_QSpinBox::editingFinished()
testFocusWidget.hide(); testFocusWidget.hide();
QCOMPARE(editingFinishedSpy1.count(), 4); QCOMPARE(editingFinishedSpy1.count(), 4);
QCOMPARE(editingFinishedSpy2.count(), 4); QCOMPARE(editingFinishedSpy2.count(), 4);
QTest::qWait(100);
//task203285 //task203285
editingFinishedSpy1.clear(); editingFinishedSpy1.clear();
testFocusWidget.show(); testFocusWidget.show();
QTest::qWait(100); QVERIFY(QTest::qWaitForWindowActive(&testFocusWidget));
box->setKeyboardTracking(false); box->setKeyboardTracking(false);
qApp->setActiveWindow(&testFocusWidget); qApp->setActiveWindow(&testFocusWidget);
testFocusWidget.activateWindow(); testFocusWidget.activateWindow();

View File

@ -287,7 +287,7 @@ void tst_QSplitter::saveAndRestoreStateOfNotYetShownSplitter()
QByteArray ba = spl->saveState(); QByteArray ba = spl->saveState();
spl->restoreState(ba); spl->restoreState(ba);
spl->show(); spl->show();
QTest::qWait(500); QVERIFY(QTest::qWaitForWindowActive(spl));
QCOMPARE(l1->geometry().isValid(), true); QCOMPARE(l1->geometry().isValid(), true);
QCOMPARE(l2->geometry().isValid(), true); QCOMPARE(l2->geometry().isValid(), true);
@ -607,8 +607,7 @@ void tst_QSplitter::testShowHide()
lay->addWidget(split); lay->addWidget(split);
widget.setLayout(lay); widget.setLayout(lay);
topLevel.show(); topLevel.show();
QVERIFY(QTest::qWaitForWindowActive(&topLevel));
QTest::qWait(100);
widget.hide(); widget.hide();
split->widget(0)->setHidden(hideWidget1); split->widget(0)->setHidden(hideWidget1);
@ -976,14 +975,13 @@ void tst_QSplitter::task169702_sizes()
outerSplitter->setGeometry(100, 100, 500, 500); outerSplitter->setGeometry(100, 100, 500, 500);
topLevel.show(); topLevel.show();
QVERIFY(QTest::qWaitForWindowActive(&topLevel));
QTest::qWait(100);
testW->m_iFactor++; testW->m_iFactor++;
testW->updateGeometry(); testW->updateGeometry();
QTest::qWait(500);
//Make sure the minimimSizeHint is respected //Make sure the minimimSizeHint is respected
QCOMPARE(testW->size().height(), testW->minimumSizeHint().height()); QTRY_COMPARE(testW->size().height(), testW->minimumSizeHint().height());
} }
void tst_QSplitter::taskQTBUG_4101_ensureOneNonCollapsedWidget_data() void tst_QSplitter::taskQTBUG_4101_ensureOneNonCollapsedWidget_data()
@ -1012,8 +1010,7 @@ void tst_QSplitter::taskQTBUG_4101_ensureOneNonCollapsedWidget()
l->hide(); l->hide();
else else
delete l; delete l;
QTest::qWait(100); QTRY_VERIFY(s.sizes().at(0) > 0);
QVERIFY(s.sizes().at(0) > 0);
} }
void tst_QSplitter::setLayout() void tst_QSplitter::setLayout()

View File

@ -549,8 +549,7 @@ void tst_QTabWidget::paintEventCount()
QCOMPARE(tw->currentIndex(), 0); QCOMPARE(tw->currentIndex(), 0);
tw->show(); tw->show();
QVERIFY(QTest::qWaitForWindowActive(tw));
QTest::qWait(1000);
// Mac, Windows and Windows CE get multiple repaints on the first show, so use those as a starting point. // Mac, Windows and Windows CE get multiple repaints on the first show, so use those as a starting point.
static const int MaxInitialPaintCount = static const int MaxInitialPaintCount =

View File

@ -1038,11 +1038,9 @@ void tst_QToolBar::accel()
mw.show(); mw.show();
QApplication::setActiveWindow(&mw); QApplication::setActiveWindow(&mw);
QTest::qWait(100); QVERIFY(QTest::qWaitForWindowActive(&mw));
QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&mw));
QTest::keyClick(&mw, Qt::Key_T, Qt::AltModifier); QTest::keyClick(&mw, Qt::Key_T, Qt::AltModifier);
QTest::qWait(300);
QTRY_COMPARE(spy.count(), 1); QTRY_COMPARE(spy.count(), 1);
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
@ -1085,19 +1083,19 @@ void tst_QToolBar::task197996_visibility()
pAction->setVisible(true); pAction->setVisible(true);
mw.show(); mw.show();
QVERIFY(QTest::qWaitForWindowActive(&mw));
QVERIFY(toolBar->widgetForAction(pAction)->isVisible()); QVERIFY(toolBar->widgetForAction(pAction)->isVisible());
toolBar->setVisible(false); toolBar->setVisible(false);
pAction->setVisible(false); pAction->setVisible(false);
QVERIFY(!toolBar->widgetForAction(pAction)->isVisible());
toolBar->setVisible(true); toolBar->setVisible(true);
pAction->setVisible(true); pAction->setVisible(true);
QTest::qWait(100); QTRY_VERIFY(toolBar->widgetForAction(pAction)->isVisible());
QVERIFY(toolBar->widgetForAction(pAction)->isVisible());
} }
QTEST_MAIN(tst_QToolBar) QTEST_MAIN(tst_QToolBar)

View File

@ -141,8 +141,7 @@ void tst_QToolButton::triggered()
timer->start(); timer->start();
QTimer::singleShot(10000, &mainWidget, SLOT(close())); // Emergency bail-out QTimer::singleShot(10000, &mainWidget, SLOT(close())); // Emergency bail-out
toolButton->showMenu(); toolButton->showMenu();
QTest::qWait(20); QTRY_COMPARE(spy.count(),2);
QCOMPARE(spy.count(),2);
QCOMPARE(qvariant_cast<QAction *>(spy.at(1).at(0)), one); QCOMPARE(qvariant_cast<QAction *>(spy.at(1).at(0)), one);
} }