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 <christian.kandeler@qt.io>
This commit is contained in:
Ulf Hermann
2016-12-28 16:50:27 +01:00
parent 92db5afba4
commit 7477411d71
3 changed files with 9 additions and 5 deletions

View File

@@ -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>({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);

View File

@@ -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

View File

@@ -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);