forked from qt-creator/qt-creator
Timeline: In autotests, fail if the renderer warns
Warnings from the scene graph renderer are most likely things we want to catch when testing, such as failure to compile the shaders. Change-Id: I96bcf4a44d0986ca6f065cda71b242ebb355ce84 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
@@ -38,6 +38,14 @@
|
|||||||
|
|
||||||
using namespace Timeline;
|
using namespace Timeline;
|
||||||
|
|
||||||
|
void renderMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &message)
|
||||||
|
{
|
||||||
|
if (type > QtDebugMsg)
|
||||||
|
QTest::qFail(message.toLatin1().constData(), context.file, context.line);
|
||||||
|
else
|
||||||
|
QTest::qWarn(message.toLatin1().constData(), context.file, context.line);
|
||||||
|
}
|
||||||
|
|
||||||
void runSceneGraph(QSGNode *node)
|
void runSceneGraph(QSGNode *node)
|
||||||
{
|
{
|
||||||
QSurfaceFormat format;
|
QSurfaceFormat format;
|
||||||
@@ -62,7 +70,9 @@ void runSceneGraph(QSGNode *node)
|
|||||||
QSGAbstractRenderer *renderer = engine.createRenderer();
|
QSGAbstractRenderer *renderer = engine.createRenderer();
|
||||||
QVERIFY(renderer != 0);
|
QVERIFY(renderer != 0);
|
||||||
renderer->setRootNode(&root);
|
renderer->setRootNode(&root);
|
||||||
|
QtMessageHandler originalHandler = qInstallMessageHandler(renderMessageHandler);
|
||||||
renderer->renderScene();
|
renderer->renderScene();
|
||||||
|
qInstallMessageHandler(originalHandler);
|
||||||
delete renderer;
|
delete renderer;
|
||||||
|
|
||||||
// Unfortunately we cannot check the results of the rendering. But at least we know the shaders
|
// Unfortunately we cannot check the results of the rendering. But at least we know the shaders
|
||||||
|
|||||||
Reference in New Issue
Block a user