MCPcopy Create free account
hub / github.com/KDAB/GammaRay / testStackTrace

Function testStackTrace

tests/executiontest.cpp:24–56  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

22using namespace GammaRay;
23
24class ExecutionTest : public QObject
25{
26 Q_OBJECT
27private slots:
28 void testReadOnlyData()
29 {
30 QVERIFY(Execution::isReadOnlyData(&staticMetaObject));
31 QVERIFY(Execution::isReadOnlyData(&QObject::staticMetaObject));
32 QVERIFY(!Execution::isReadOnlyData(this));
33 QVERIFY(Execution::isReadOnlyData(this->metaObject()));
34 QVERIFY(Execution::isReadOnlyData(this->metaObject()->superClass()));
35 }
36
37 static void benchmarkReadOnlyData()
38 {
39 QBENCHMARK
40 {
41 Execution::isReadOnlyData(&QObject::staticMetaObject);
42 }
43 }
44
45 static void testStackTrace()
46 {
47 if (!Execution::stackTracingAvailable())
48 return;
49 const auto trace = Execution::stackTrace(32);
50 QVERIFY(trace.size() > 0);
51 const auto resolved = Execution::resolveAll(trace);
52 QCOMPARE(resolved.size(), trace.size());
53 for (const auto &frame : resolved) {
54 qDebug() << frame.name << frame.location.displayString();
55 }
56 }
57
58 static void benchmarkStackTrace()
59 {

Callers

nothing calls this directly

Calls 3

stackTracingAvailableFunction · 0.85
sizeMethod · 0.45
displayStringMethod · 0.45

Tested by

no test coverage detected