Use standard method of excluding a test.

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>
This commit is contained in:
Jason McDonald 2011-10-26 16:12:27 +10:00 committed by Qt by Nokia
parent 1bc8f124b8
commit e822eb1a65

View File

@ -73,6 +73,7 @@ public:
virtual ~tst_QGL(); virtual ~tst_QGL();
private slots: private slots:
void initTestCase();
void getSetCheck(); void getSetCheck();
void openGLVersionCheck(); void openGLVersionCheck();
void graphicsViewClipping(); 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 class MyGLContext : public QGLContext
{ {
public: public:
@ -144,9 +152,6 @@ static int appDefaultDepth()
// Testing get/set functions // Testing get/set functions
void tst_QGL::getSetCheck() void tst_QGL::getSetCheck()
{ {
if (!QGLFormat::hasOpenGL())
QSKIP("QGL not supported on this platform");
QGLFormat obj1; QGLFormat obj1;
// int QGLFormat::depthBufferSize() // int QGLFormat::depthBufferSize()
// void QGLFormat::setDepthBufferSize(int) // void QGLFormat::setDepthBufferSize(int)
@ -655,9 +660,6 @@ QT_END_NAMESPACE
void tst_QGL::openGLVersionCheck() void tst_QGL::openGLVersionCheck()
{ {
#ifdef QT_BUILD_INTERNAL #ifdef QT_BUILD_INTERNAL
if (!QGLFormat::hasOpenGL())
QSKIP("QGL not supported on this platform");
QString versionString; QString versionString;
QGLFormat::OpenGLVersionFlags expectedFlag; QGLFormat::OpenGLVersionFlags expectedFlag;
QGLFormat::OpenGLVersionFlags versionFlag; QGLFormat::OpenGLVersionFlags versionFlag;
@ -894,9 +896,6 @@ void tst_QGL::partialGLWidgetUpdates_data()
void tst_QGL::partialGLWidgetUpdates() void tst_QGL::partialGLWidgetUpdates()
{ {
if (!QGLFormat::hasOpenGL())
QSKIP("QGL not supported on this platform");
QFETCH(bool, doubleBufferedContext); QFETCH(bool, doubleBufferedContext);
QFETCH(bool, autoFillBackground); QFETCH(bool, autoFillBackground);
QFETCH(bool, supportsPartialUpdates); QFETCH(bool, supportsPartialUpdates);
@ -2371,30 +2370,5 @@ void tst_QGL::nullRectCrash()
fboPainter.end(); fboPainter.end();
} }
class tst_QGLDummy : public QObject QTEST_MAIN(tst_QGL)
{
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);
}
#include "tst_qgl.moc" #include "tst_qgl.moc"