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;
|
||||
|
||||
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)
|
||||
{
|
||||
QSurfaceFormat format;
|
||||
@@ -62,7 +70,9 @@ void runSceneGraph(QSGNode *node)
|
||||
QSGAbstractRenderer *renderer = engine.createRenderer();
|
||||
QVERIFY(renderer != 0);
|
||||
renderer->setRootNode(&root);
|
||||
QtMessageHandler originalHandler = qInstallMessageHandler(renderMessageHandler);
|
||||
renderer->renderScene();
|
||||
qInstallMessageHandler(originalHandler);
|
||||
delete renderer;
|
||||
|
||||
// Unfortunately we cannot check the results of the rendering. But at least we know the shaders
|
||||
|
||||
Reference in New Issue
Block a user