debugger: add 'inline benchmarking' for the plugin itself

Change-Id: Iad7e197f7d7ee14156562c3de7960fe65c7e85fe
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
hjk
2012-01-26 13:14:00 +01:00
committed by hjk
parent 6308632e5d
commit 8d5f7d076a
2 changed files with 36 additions and 1 deletions

View File

@@ -134,8 +134,14 @@
#include <QtTest/QTest>
#include <QtTest/QSignalSpy>
#include <QtTest/QTestEventLoop>
//#define WITH_BENCHMARK
#ifdef WITH_BENCHMARK
#include <valgrind/callgrind.h>
#endif
#endif // WITH_TESTS
#include <climits>
#define DEBUG_STATE 1
@@ -864,13 +870,14 @@ public slots:
void testStateMachine2();
void testStateMachine3();
void testBenchmark1();
public:
bool m_testSuccess;
QList<TestCallBack> m_testCallbacks;
#endif
public slots:
void updateDebugActions();
@@ -3835,7 +3842,34 @@ void DebuggerPluginPrivate::testStateMachine3()
testUnloadProject();
testFinished();
}
///////////////////////////////////////////////////////////////////////////
void DebuggerPlugin::testBenchmark()
{
theDebuggerCore->testBenchmark1();
}
enum FakeEnum { FakeDebuggerCommonSettingsId };
void DebuggerPluginPrivate::testBenchmark1()
{
#ifdef WITH_BENCHMARK
CALLGRIND_START_INSTRUMENTATION;
volatile Core::Id id1 = Core::Id(DEBUGGER_COMMON_SETTINGS_ID);
CALLGRIND_STOP_INSTRUMENTATION;
CALLGRIND_DUMP_STATS;
CALLGRIND_START_INSTRUMENTATION;
volatile FakeEnum id2 = FakeDebuggerCommonSettingsId;
CALLGRIND_STOP_INSTRUMENTATION;
CALLGRIND_DUMP_STATS;
#endif
}
#endif // if WITH_TESTS
} // namespace Debugger