Use standard method of excluding a test.
authorJason McDonald <jason.mcdonald@nokia.com>
Wed, 26 Oct 2011 06:12:27 +0000 (16:12 +1000)
committerQt by Nokia <qt-info@nokia.com>
Thu, 27 Oct 2011 09:14:44 +0000 (11:14 +0200)
If we find out at run-time that an entire test program is not
applicable, the correct way to skip the test is by calling QSKIP from
the test's initTestCase() method.

Change-Id: Iaf1dbcce38c569ee9513bf37232e9e4ea287d872
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
tests/auto/opengl/qgl/tst_qgl.cpp

index c9b4800..9f11746 100644 (file)
@@ -73,6 +73,7 @@ public:
     virtual ~tst_QGL();
 
 private slots:
+    void initTestCase();
     void getSetCheck();
     void openGLVersionCheck();
     void graphicsViewClipping();
@@ -108,6 +109,13 @@ tst_QGL::~tst_QGL()
 {
 }
 
+void tst_QGL::initTestCase()
+{
+    QGLWidget glWidget;
+    if (!glWidget.isValid())
+        QSKIP("QGL is not supported on the test system");
+}
+
 class MyGLContext : public QGLContext
 {
 public:
@@ -144,9 +152,6 @@ static int appDefaultDepth()
 // Testing get/set functions
 void tst_QGL::getSetCheck()
 {
-    if (!QGLFormat::hasOpenGL())
-        QSKIP("QGL not supported on this platform");
-
     QGLFormat obj1;
     // int QGLFormat::depthBufferSize()
     // void QGLFormat::setDepthBufferSize(int)
@@ -655,9 +660,6 @@ QT_END_NAMESPACE
 void tst_QGL::openGLVersionCheck()
 {
 #ifdef QT_BUILD_INTERNAL
-    if (!QGLFormat::hasOpenGL())
-        QSKIP("QGL not supported on this platform");
-
     QString versionString;
     QGLFormat::OpenGLVersionFlags expectedFlag;
     QGLFormat::OpenGLVersionFlags versionFlag;
@@ -894,9 +896,6 @@ void tst_QGL::partialGLWidgetUpdates_data()
 
 void tst_QGL::partialGLWidgetUpdates()
 {
-    if (!QGLFormat::hasOpenGL())
-        QSKIP("QGL not supported on this platform");
-
     QFETCH(bool, doubleBufferedContext);
     QFETCH(bool, autoFillBackground);
     QFETCH(bool, supportsPartialUpdates);
@@ -2371,30 +2370,5 @@ void tst_QGL::nullRectCrash()
     fboPainter.end();
 }
 
-class tst_QGLDummy : public QObject
-{
-Q_OBJECT
-
-public:
-    tst_QGLDummy() {}
-
-private slots:
-    void qglSkipTests() {
-       QSKIP("QGL not supported on this system.");
-    }
-};
-
-int main(int argc, char **argv)
-{
-    QApplication app(argc, argv);
-    QTEST_DISABLE_KEYPAD_NAVIGATION \
-    QGLWidget glWidget;
-    if (!glWidget.isValid()) {
-       tst_QGLDummy tc;
-       return QTest::qExec(&tc, argc, argv);
-    }
-    tst_QGL tc;
-    return QTest::qExec(&tc, argc, argv);
-}
-
+QTEST_MAIN(tst_QGL)
 #include "tst_qgl.moc"