diff options
author | Kai Koehne <kai.koehne@nokia.com> | 2011-08-24 13:51:07 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-22 13:45:27 +0100 |
commit | 43e20d57011bbddd3beec773f6a8efb1269a8ead (patch) | |
tree | e07e5b858582e6d689a188073a82249687be4c0e /tests/auto/declarative/debugger/qdeclarativedebugclient | |
parent | 774eebf9978ac3bf68b124a9e88729cd21068433 (diff) |
Debugger: Move server into it's own thread
So far the debugger infrastructure was running in the GUI thread,
which required e.g. nested event loops to implement blocking behavior.
The server and networking code are now running in their own thread,
while the services are still running in the main thread.
Because v8 isn't thread safe, we're adding two new JSEngines + isolates
to qv8debugservice: One to decode JSON messages in the debugger thread,
and one in the GUI thread.
Change-Id: I746f5e203968f7bcc510fb66118c88ef0fd0cd14
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
Diffstat (limited to 'tests/auto/declarative/debugger/qdeclarativedebugclient')
-rw-r--r-- | tests/auto/declarative/debugger/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tests/auto/declarative/debugger/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp b/tests/auto/declarative/debugger/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp index 82e25598e9..46a711ae78 100644 --- a/tests/auto/declarative/debugger/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp +++ b/tests/auto/declarative/debugger/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp @@ -80,11 +80,16 @@ void tst_QDeclarativeDebugClient::initTestCase() QDeclarativeDebugTestClient client("tst_QDeclarativeDebugClient::handshake()", m_conn); QDeclarativeDebugTestService service("tst_QDeclarativeDebugClient::handshake()"); - m_conn->connectToHost("127.0.0.1", PORT); - QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Connection established"); - bool ok = m_conn->waitForConnected(); - QVERIFY(ok); + for (int i = 0; i < 50; ++i) { + // try for 5 seconds ... + m_conn->connectToHost("127.0.0.1", PORT); + if (m_conn->waitForConnected()) + break; + QTest::qSleep(100); + } + + QVERIFY(m_conn->isConnected()); QTRY_VERIFY(QDeclarativeDebugService::hasDebuggingClient()); QTRY_COMPARE(client.status(), QDeclarativeDebugClient::Enabled); |