From 7477411d716cfcae7b0692d8c64587751b1e3de8 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Wed, 28 Dec 2016 16:50:27 +0100 Subject: [PATCH] QmlProfiler: Calculate the model ID in the flame graph model test ... instead of guessing it. This is more robust. Change-Id: I4855b78da23cb1caefa3a7a95bfa60c5733b32c5 Reviewed-by: Christian Kandeler --- src/plugins/qmlprofiler/tests/flamegraphmodel_test.cpp | 10 ++++++---- src/plugins/qmlprofiler/tests/flamegraphmodel_test.h | 3 ++- src/plugins/qmlprofiler/tests/flamegraphview_test.cpp | 1 + 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/plugins/qmlprofiler/tests/flamegraphmodel_test.cpp b/src/plugins/qmlprofiler/tests/flamegraphmodel_test.cpp index 660bd3e4a85..fb5a60b1d0b 100644 --- a/src/plugins/qmlprofiler/tests/flamegraphmodel_test.cpp +++ b/src/plugins/qmlprofiler/tests/flamegraphmodel_test.cpp @@ -37,10 +37,11 @@ FlameGraphModelTest::FlameGraphModelTest(QObject *parent) : { } -void FlameGraphModelTest::generateData(QmlProfilerModelManager *manager) +int FlameGraphModelTest::generateData(QmlProfilerModelManager *manager) { // Notes only work with timeline models QmlProfilerRangeModel *rangeModel = new QmlProfilerRangeModel(manager, Javascript, manager); + int rangeModelId = rangeModel->modelId(); manager->notesModel()->addTimelineModel(rangeModel); manager->startAcquiring(); @@ -87,13 +88,14 @@ void FlameGraphModelTest::generateData(QmlProfilerModelManager *manager) manager->notesModel()->setNotes(QVector({QmlNote(0, 2, 1, 20, "dings")})); manager->notesModel()->loadData(); - QCOMPARE(manager->state(), QmlProfilerModelManager::Done); + return rangeModelId; } void FlameGraphModelTest::initTestCase() { QCOMPARE(model.modelManager(), &manager); - generateData(&manager); + rangeModelId = generateData(&manager); + QCOMPARE(manager.state(), QmlProfilerModelManager::Done); } void FlameGraphModelTest::testIndex() @@ -203,7 +205,7 @@ void FlameGraphModelTest::testRoleNames() void FlameGraphModelTest::testNotes() { - manager.notesModel()->add(2, 1, QString("blubb")); + manager.notesModel()->add(rangeModelId, 1, QString("blubb")); QCOMPARE(model.data(model.index(0, 0), FlameGraphModel::NoteRole).toString(), QString("dings\nblubb")); manager.notesModel()->remove(0); diff --git a/src/plugins/qmlprofiler/tests/flamegraphmodel_test.h b/src/plugins/qmlprofiler/tests/flamegraphmodel_test.h index c245a00ca3d..6d9793e16fd 100644 --- a/src/plugins/qmlprofiler/tests/flamegraphmodel_test.h +++ b/src/plugins/qmlprofiler/tests/flamegraphmodel_test.h @@ -37,7 +37,7 @@ class FlameGraphModelTest : public QObject Q_OBJECT public: FlameGraphModelTest(QObject *parent = nullptr); - static void generateData(QmlProfilerModelManager *manager); + static int generateData(QmlProfilerModelManager *manager); private slots: void initTestCase(); @@ -52,6 +52,7 @@ private: Utils::FileInProjectFinder finder; QmlProfilerModelManager manager; FlameGraphModel model; + int rangeModelId = -1; }; } // namespace Internal diff --git a/src/plugins/qmlprofiler/tests/flamegraphview_test.cpp b/src/plugins/qmlprofiler/tests/flamegraphview_test.cpp index 25f11e70d66..6dbca7b98e0 100644 --- a/src/plugins/qmlprofiler/tests/flamegraphview_test.cpp +++ b/src/plugins/qmlprofiler/tests/flamegraphview_test.cpp @@ -42,6 +42,7 @@ FlameGraphViewTest::FlameGraphViewTest(QObject *parent) : QObject(parent), manag void FlameGraphViewTest::initTestCase() { FlameGraphModelTest::generateData(&manager); + QCOMPARE(manager.state(), QmlProfilerModelManager::Done); view.resize(500, 500); view.show(); QTest::qWaitForWindowExposed(&view);