diff options
12 files changed, 25 insertions, 9 deletions
diff --git a/tests/auto/inc/tst_definitions.h b/tests/auto/inc/tst_definitions.h index 66b6e100..292a3166 100644 --- a/tests/auto/inc/tst_definitions.h +++ b/tests/auto/inc/tst_definitions.h @@ -55,14 +55,16 @@ QT_END_NAMESPACE #define SKIP_IF_CANNOT_TEST_MOUSE_EVENTS() { \ do { \ QPushButton b; \ - b.resize(100, 100); \ + b.resize(120, 100); \ b.show(); \ QTest::qWaitForWindowShown(&b); \ QSignalSpy spy(&b, SIGNAL(clicked())); \ QTest::mouseClick(&b, Qt::LeftButton, 0, b.rect().center()); \ + QApplication::processEvents(); \ if (spy.count() == 0) \ QSKIP("Cannot test mouse events in this environment"); \ } while (0); \ + QApplication::processEvents(); \ } #define SKIP_ON_POLAR() { \ @@ -75,6 +77,12 @@ QT_END_NAMESPACE QSKIP("Test not supported by cartesian chart"); \ } +// Synthetic mouse moves do not trigger hover events reliably in many virtual machines, +// so we skip tests involving mouse moves. + #define SKIP_IF_FLAKY_MOUSE_MOVE() { \ + QSKIP("Skipping test with synthetic mouse moves."); \ + } + static inline bool isPolarTest() { static bool isPolar = false; diff --git a/tests/auto/qareaseries/tst_qareaseries.cpp b/tests/auto/qareaseries/tst_qareaseries.cpp index e03989c0..258ea4f2 100644 --- a/tests/auto/qareaseries/tst_qareaseries.cpp +++ b/tests/auto/qareaseries/tst_qareaseries.cpp @@ -125,6 +125,9 @@ void tst_QAreaSeries::dynamicEdgeSeriesChange() m_chart->addSeries(series); series->attachAxis(m_axisX); series->attachAxis(m_axisY); + // Hide axes so they don't confuse color checks + m_axisX->setVisible(false); + m_axisY->setVisible(false); m_view->show(); QTest::qWaitForWindowShown(m_view); diff --git a/tests/auto/qbarseries/tst_qbarseries.cpp b/tests/auto/qbarseries/tst_qbarseries.cpp index bdb094f5..1a75b6b3 100644 --- a/tests/auto/qbarseries/tst_qbarseries.cpp +++ b/tests/auto/qbarseries/tst_qbarseries.cpp @@ -619,6 +619,7 @@ void tst_QBarSeries::mousehovered_data() void tst_QBarSeries::mousehovered() { SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); + SKIP_IF_FLAKY_MOUSE_MOVE(); QBarSeries* series = new QBarSeries(); diff --git a/tests/auto/qchartview/tst_qchartview.cpp b/tests/auto/qchartview/tst_qchartview.cpp index e7943b92..64592984 100644 --- a/tests/auto/qchartview/tst_qchartview.cpp +++ b/tests/auto/qchartview/tst_qchartview.cpp @@ -135,6 +135,9 @@ void tst_QChartView::rubberBand_data() void tst_QChartView::rubberBand() { + SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); + SKIP_IF_FLAKY_MOUSE_MOVE(); + QFETCH(QChartView::RubberBands, rubberBand); QFETCH(int, Xcount); QFETCH(int, Ycount); diff --git a/tests/auto/qhorizontalbarseries/tst_qhorizontalbarseries.cpp b/tests/auto/qhorizontalbarseries/tst_qhorizontalbarseries.cpp index 99c204da..292ad3df 100644 --- a/tests/auto/qhorizontalbarseries/tst_qhorizontalbarseries.cpp +++ b/tests/auto/qhorizontalbarseries/tst_qhorizontalbarseries.cpp @@ -566,6 +566,7 @@ void tst_QHorizontalBarSeries::mousehovered_data() void tst_QHorizontalBarSeries::mousehovered() { SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); + SKIP_IF_FLAKY_MOUSE_MOVE(); QHorizontalBarSeries* series = new QHorizontalBarSeries(); diff --git a/tests/auto/qhorizontalpercentbarseries/tst_qhorizontalpercentbarseries.cpp b/tests/auto/qhorizontalpercentbarseries/tst_qhorizontalpercentbarseries.cpp index baae3a24..0e0b9b85 100644 --- a/tests/auto/qhorizontalpercentbarseries/tst_qhorizontalpercentbarseries.cpp +++ b/tests/auto/qhorizontalpercentbarseries/tst_qhorizontalpercentbarseries.cpp @@ -313,6 +313,7 @@ void tst_QHorizontalPercentBarSeries::mousehovered_data() void tst_QHorizontalPercentBarSeries::mousehovered() { SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); + SKIP_IF_FLAKY_MOUSE_MOVE(); QHorizontalPercentBarSeries* series = new QHorizontalPercentBarSeries(); diff --git a/tests/auto/qhorizontalstackedbarseries/tst_qhorizontalstackedbarseries.cpp b/tests/auto/qhorizontalstackedbarseries/tst_qhorizontalstackedbarseries.cpp index c78222c9..8d83166c 100644 --- a/tests/auto/qhorizontalstackedbarseries/tst_qhorizontalstackedbarseries.cpp +++ b/tests/auto/qhorizontalstackedbarseries/tst_qhorizontalstackedbarseries.cpp @@ -317,6 +317,7 @@ void tst_QHorizontalStackedBarSeries::mousehovered_data() void tst_QHorizontalStackedBarSeries::mousehovered() { SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); + SKIP_IF_FLAKY_MOUSE_MOVE(); QHorizontalStackedBarSeries* series = new QHorizontalStackedBarSeries(); diff --git a/tests/auto/qlegend/tst_qlegend.cpp b/tests/auto/qlegend/tst_qlegend.cpp index 2c7ba11c..dc6670c5 100644 --- a/tests/auto/qlegend/tst_qlegend.cpp +++ b/tests/auto/qlegend/tst_qlegend.cpp @@ -498,8 +498,9 @@ void tst_QLegend::xyMarkerPropertiesScatter() void tst_QLegend::markerSignals() { SKIP_ON_POLAR(); - SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); + SKIP_IF_FLAKY_MOUSE_MOVE(); + QChart *chart = newQChartOrQPolarChart(); QLegend *legend = chart->legend(); diff --git a/tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp b/tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp index 841482b4..d2dea4b2 100644 --- a/tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp +++ b/tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp @@ -315,6 +315,7 @@ void tst_QPercentBarSeries::mousehovered_data() void tst_QPercentBarSeries::mousehovered() { SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); + SKIP_IF_FLAKY_MOUSE_MOVE(); QPercentBarSeries* series = new QPercentBarSeries(); diff --git a/tests/auto/qpieseries/tst_qpieseries.cpp b/tests/auto/qpieseries/tst_qpieseries.cpp index 0453679f..2ba9af50 100644 --- a/tests/auto/qpieseries/tst_qpieseries.cpp +++ b/tests/auto/qpieseries/tst_qpieseries.cpp @@ -555,6 +555,7 @@ void tst_qpieseries::hoverSignal() // Just for different signals. SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); + SKIP_IF_FLAKY_MOUSE_MOVE(); // add some slices m_series->append("slice 1", 1); @@ -568,13 +569,6 @@ void tst_qpieseries::hoverSignal() m_view->show(); QTest::qWaitForWindowShown(m_view); - // try to ensure focus - QApplication::setActiveWindow(m_view); - m_view->setFocus(); - QApplication::processEvents(); - QVERIFY(m_view->isActiveWindow()); - QVERIFY(m_view->hasFocus()); - // move inside the slices m_series->setPieSize(1.0); QRectF pieRect = m_view->chart()->plotArea(); diff --git a/tests/auto/qpieslice/tst_qpieslice.cpp b/tests/auto/qpieslice/tst_qpieslice.cpp index 7298be3d..7259bfed 100644 --- a/tests/auto/qpieslice/tst_qpieslice.cpp +++ b/tests/auto/qpieslice/tst_qpieslice.cpp @@ -271,6 +271,7 @@ void tst_qpieslice::hoverSignal() // Just for different signals. SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); + SKIP_IF_FLAKY_MOUSE_MOVE(); // add some slices QPieSeries *series = new QPieSeries(); diff --git a/tests/auto/qstackedbarseries/tst_qstackedbarseries.cpp b/tests/auto/qstackedbarseries/tst_qstackedbarseries.cpp index cb22a106..eed7fe16 100644 --- a/tests/auto/qstackedbarseries/tst_qstackedbarseries.cpp +++ b/tests/auto/qstackedbarseries/tst_qstackedbarseries.cpp @@ -317,6 +317,7 @@ void tst_QStackedBarSeries::mousehovered_data() void tst_QStackedBarSeries::mousehovered() { SKIP_IF_CANNOT_TEST_MOUSE_EVENTS(); + SKIP_IF_FLAKY_MOUSE_MOVE(); QStackedBarSeries* series = new QStackedBarSeries(); |