QmlProfiler: Test that server recording changes only clear events

... and not event types.

Change-Id: Ic6c4ac3ef52bf07678d1ff0c0aaaf15242ea472e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Ulf Hermann
2018-01-09 15:48:16 +01:00
parent 8d1a592d16
commit 89a6611e9e
2 changed files with 31 additions and 1 deletions

View File

@@ -27,8 +27,10 @@
#include "fakedebugserver.h"
#include <projectexplorer/runconfiguration.h>
#include <qmlprofiler/qmlprofilerclientmanager.h>
#include <qmlprofiler/qmlprofilerattachdialog.h>
#include <qmlprofiler/qmlprofilerclientmanager.h>
#include <qmlprofiler/qmlprofilermodelmanager.h>
#include <qmlprofiler/qmlprofilerstatemanager.h>
#include <utils/url.h>
#include <QTcpServer>
@@ -75,5 +77,32 @@ void QmlProfilerToolTest::testAttachToWaitingApplication()
QTRY_VERIFY(runControl->isStopped());
}
void QmlProfilerToolTest::testClearEvents()
{
QmlProfilerTool profilerTool(nullptr);
QmlProfilerModelManager *modelManager = profilerTool.modelManager();
QVERIFY(modelManager);
QmlProfilerStateManager *stateManager = profilerTool.stateManager();
QVERIFY(stateManager);
stateManager->setCurrentState(QmlProfilerStateManager::AppRunning);
stateManager->setServerRecording(true);
QCOMPARE(modelManager->numLoadedEventTypes(), 0u);
QCOMPARE(modelManager->numLoadedEvents(), 0u);
modelManager->addEventType(QmlEventType());
modelManager->addEvent(QmlEvent(0, 0, ""));
QCOMPARE(modelManager->numLoadedEventTypes(), 1u);
QCOMPARE(modelManager->numLoadedEvents(), 1u);
stateManager->setServerRecording(false);
QCOMPARE(modelManager->numLoadedEventTypes(), 1u);
QCOMPARE(modelManager->numLoadedEvents(), 1u);
stateManager->setServerRecording(true); // clears previous events, but not types
QCOMPARE(modelManager->numLoadedEventTypes(), 1u);
QCOMPARE(modelManager->numLoadedEvents(), 0u);
modelManager->addEvent(QmlEvent(0, 0, ""));
QCOMPARE(modelManager->numLoadedEventTypes(), 1u);
QCOMPARE(modelManager->numLoadedEvents(), 1u);
}
} // namespace Internal
} // namespace QmlProfiler