aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@theqtcompany.com>2015-07-22 18:50:34 +0200
committerUlf Hermann <ulf.hermann@theqtcompany.com>2015-08-10 10:05:14 +0000
commita2ccdd33888cb0eb4516089d3418dd01c8cca25c (patch)
tree400d8d1de2223812f9b8c0106e69c6ef9656c0a3 /tests
parentbf5db2bbc1da83a9930832e628e65ec64cd4b831 (diff)
Move DataCollector into debugger plugin
The data collector and all the jobs it uses to interact with the engine are only used from the debugger plugin. We can as well move them there. Change-Id: Ia48251f08b48c7e1e607b8ae2a3d1de29f80f742 Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qml/qv4debugger/qv4debugger.pro10
-rw-r--r--tests/auto/qml/qv4debugger/tst_qv4debugger.cpp38
2 files changed, 33 insertions, 15 deletions
diff --git a/tests/auto/qml/qv4debugger/qv4debugger.pro b/tests/auto/qml/qv4debugger/qv4debugger.pro
index 2a318955f3..540cab70e6 100644
--- a/tests/auto/qml/qv4debugger/qv4debugger.pro
+++ b/tests/auto/qml/qv4debugger/qv4debugger.pro
@@ -2,6 +2,14 @@ CONFIG += testcase
TARGET = tst_qv4debugger
macx:CONFIG -= app_bundle
-SOURCES += tst_qv4debugger.cpp
+SOURCES += \
+ $$PWD/tst_qv4debugger.cpp \
+ $$PWD/../../../../src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.cpp
+
+HEADERS += \
+ $$PWD/../../../../src/plugins/qmltooling/qmldbg_debugger/qv4datacollector.h
+
+INCLUDEPATH += \
+ $$PWD/../../../../src/plugins/qmltooling/qmldbg_debugger
QT += core-private gui-private qml-private network testlib
diff --git a/tests/auto/qml/qv4debugger/tst_qv4debugger.cpp b/tests/auto/qml/qv4debugger/tst_qv4debugger.cpp
index ac780d272c..ca308a4f49 100644
--- a/tests/auto/qml/qv4debugger/tst_qv4debugger.cpp
+++ b/tests/auto/qml/qv4debugger/tst_qv4debugger.cpp
@@ -32,6 +32,8 @@
****************************************************************************/
#include <QtTest/QtTest>
+#include "qv4datacollector.h"
+
#include <QJSEngine>
#include <QQmlEngine>
#include <QQmlComponent>
@@ -97,14 +99,14 @@ class TestAgent : public QObject
{
Q_OBJECT
public:
- typedef QV4::Debugging::DataCollector::Refs Refs;
- typedef QV4::Debugging::DataCollector::Ref Ref;
+ typedef QV4DataCollector::Refs Refs;
+ typedef QV4DataCollector::Ref Ref;
struct NamedRefs {
- NamedRefs(DataCollector *collector = 0): collector(collector) {}
+ NamedRefs(QV4DataCollector *collector = 0): collector(collector) {}
QStringList names;
Refs refs;
- DataCollector *collector;
+ QV4DataCollector *collector;
int size() const {
Q_ASSERT(names.size() == refs.size());
@@ -164,13 +166,14 @@ public slots:
m_pauseReason = reason;
m_statesWhenPaused << debugger->currentExecutionState();
- {
+ if (debugger->state() == QV4::Debugging::Debugger::Paused &&
+ debugger->engine()->hasException) {
Refs refs;
- QV4::Debugging::RefHolder holder(&collector, &refs);
- if (debugger->collectThrownValue(&collector)) {
- Q_ASSERT(refs.size() > 0);
- m_thrownValue = refs.first();
- }
+ RefHolder holder(&collector, &refs);
+ ExceptionCollectJob job(debugger->engine(), &collector);
+ debugger->runInEngine(&job);
+ Q_ASSERT(refs.size() > 0);
+ m_thrownValue = refs.first();
}
foreach (const TestBreakPoint &bp, m_breakPointsToAddWhenPaused)
@@ -180,10 +183,13 @@ public slots:
m_stackTrace = debugger->stackTrace();
while (!m_expressionRequests.isEmpty()) {
+ Q_ASSERT(debugger->state() == QV4::Debugging::Debugger::Paused);
ExpressionRequest request = m_expressionRequests.takeFirst();
m_expressionResults << Refs();
RefHolder holder(&collector, &m_expressionResults.last());
- debugger->evaluateExpression(request.frameNr, request.expression, &collector);
+ ExpressionEvalJob job(debugger->engine(), request.frameNr, request.expression,
+ &collector);
+ debugger->runInEngine(&job);
}
if (m_captureContextInfo)
@@ -207,11 +213,15 @@ public:
for (int i = 0, ei = m_stackTrace.size(); i != ei; ++i) {
m_capturedArguments.append(NamedRefs(&collector));
RefHolder argHolder(&collector, &m_capturedArguments.last().refs);
- debugger->collectArgumentsInContext(&collector, &m_capturedArguments.last().names, i);
+ ArgumentCollectJob argumentsJob(debugger->engine(), &collector,
+ &m_capturedArguments.last().names, i, 0);
+ debugger->runInEngine(&argumentsJob);
m_capturedLocals.append(NamedRefs(&collector));
RefHolder localHolder(&collector, &m_capturedLocals.last().refs);
- debugger->collectLocalsInContext(&collector, &m_capturedLocals.last().names, i);
+ LocalCollectJob localsJob(debugger->engine(), &collector,
+ &m_capturedLocals.last().names, i, 0);
+ debugger->runInEngine(&localsJob);
}
}
@@ -234,7 +244,7 @@ public:
QVector<NamedRefs> m_capturedArguments;
QVector<NamedRefs> m_capturedLocals;
qint64 m_thrownValue;
- QV4::Debugging::DataCollector collector;
+ QV4DataCollector collector;
struct ExpressionRequest {
QString expression;