diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-07-14 01:02:04 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2018-07-16 09:38:30 +0200 |
commit | 43645fd59c6bcb0a3e37eef530ef970f51ed48af (patch) | |
tree | d377a19c36e9e853377db59b58d937db0ea67e0d /tests/auto/qml/debugger/qqmldebugjs | |
parent | ad0f200df54e5afcb1fdcb977794259bdb9216b5 (diff) | |
parent | f42207cbdb0cbe5e345bfd9e000b3e77b34a503c (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
src/quick/items/qquickloader.cpp
tests/auto/quick/qquickanimations/tst_qquickanimations.cpp
Change-Id: I0cb9f637d24ccd0ecfb50c455cc210119f744b02
Diffstat (limited to 'tests/auto/qml/debugger/qqmldebugjs')
-rw-r--r-- | tests/auto/qml/debugger/qqmldebugjs/tst_qqmldebugjs.cpp | 95 |
1 files changed, 51 insertions, 44 deletions
diff --git a/tests/auto/qml/debugger/qqmldebugjs/tst_qqmldebugjs.cpp b/tests/auto/qml/debugger/qqmldebugjs/tst_qqmldebugjs.cpp index 35df46d73c..e3996e0c18 100644 --- a/tests/auto/qml/debugger/qqmldebugjs/tst_qqmldebugjs.cpp +++ b/tests/auto/qml/debugger/qqmldebugjs/tst_qqmldebugjs.cpp @@ -227,6 +227,8 @@ private: QPointer<QJSDebugClient> m_client; void targetData(); + bool waitForClientSignal(const char *signal, int timeout = 30000); + QTime t; }; @@ -798,7 +800,7 @@ void tst_QQmlDebugJS::connect() QFETCH(bool, qmlscene); QCOMPARE(init(qmlscene, QString(TEST_QMLFILE), blockMode, restrictMode), ConnectSuccess); m_client->connect(); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(connected()))); + QVERIFY(waitForClientSignal(SIGNAL(connected()))); } void tst_QQmlDebugJS::interrupt() @@ -812,7 +814,7 @@ void tst_QQmlDebugJS::interrupt() m_client->connect(redundantRefs, namesAsObjects); m_client->interrupt(); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(interruptRequested()))); + QVERIFY(waitForClientSignal(SIGNAL(interruptRequested()))); } void tst_QQmlDebugJS::getVersion() @@ -824,10 +826,10 @@ void tst_QQmlDebugJS::getVersion() QFETCH(bool, namesAsObjects); QCOMPARE(init(qmlscene), ConnectSuccess); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(connected()))); + QVERIFY(waitForClientSignal(SIGNAL(connected()))); m_client->version(); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); } void tst_QQmlDebugJS::getVersionWhenAttaching() @@ -841,7 +843,7 @@ void tst_QQmlDebugJS::getVersionWhenAttaching() m_client->connect(redundantRefs, namesAsObjects); m_client->version(); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); } void tst_QQmlDebugJS::disconnect() @@ -855,7 +857,7 @@ void tst_QQmlDebugJS::disconnect() m_client->connect(redundantRefs, namesAsObjects); m_client->disconnect(); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); } void tst_QQmlDebugJS::setBreakpointInScriptOnCompleted() @@ -870,7 +872,7 @@ void tst_QQmlDebugJS::setBreakpointInScriptOnCompleted() m_client->setBreakpoint(QLatin1String(ONCOMPLETED_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); QString jsonString(m_client->response); QVariantMap value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -893,7 +895,7 @@ void tst_QQmlDebugJS::setBreakpointInScriptOnComponentCreated() m_client->setBreakpoint(QLatin1String(ONCOMPLETED_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); QString jsonString(m_client->response); QVariantMap value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -916,7 +918,7 @@ void tst_QQmlDebugJS::setBreakpointInScriptOnTimerCallback() //We can set the breakpoint after connect() here because the timer is repeating and if we miss //its first iteration we can still catch the second one. m_client->setBreakpoint(QLatin1String(TIMER_QMLFILE), sourceLine, -1, true); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); QString jsonString(m_client->response); QVariantMap value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -939,7 +941,7 @@ void tst_QQmlDebugJS::setBreakpointInScriptInDifferentFile() m_client->setBreakpoint(QLatin1String(TEST_JSFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); QString jsonString(m_client->response); QVariantMap value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -964,7 +966,7 @@ void tst_QQmlDebugJS::setBreakpointInScriptOnComment() m_client->setBreakpoint(QLatin1String(BREAKPOINTRELOCATION_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); QEXPECT_FAIL("", "Relocation of breakpoints is disabled right now", Abort); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()), 1)); + QVERIFY(waitForClientSignal(SIGNAL(stopped()), 1)); QString jsonString(m_client->response); QVariantMap value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -989,7 +991,7 @@ void tst_QQmlDebugJS::setBreakpointInScriptOnEmptyLine() m_client->setBreakpoint(QLatin1String(BREAKPOINTRELOCATION_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); QEXPECT_FAIL("", "Relocation of breakpoints is disabled right now", Abort); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()), 1)); + QVERIFY(waitForClientSignal(SIGNAL(stopped()), 1)); QString jsonString(m_client->response); QVariantMap value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -1012,7 +1014,7 @@ void tst_QQmlDebugJS::setBreakpointInScriptOnOptimizedBinding() m_client->setBreakpoint(QLatin1String(BREAKPOINTRELOCATION_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); QString jsonString(m_client->response); QVariantMap value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -1035,7 +1037,7 @@ void tst_QQmlDebugJS::setBreakpointInScriptWithCondition() m_client->connect(redundantRefs, namesAsObjects); //The breakpoint is in a timer loop so we can set it after connect(). m_client->setBreakpoint(QLatin1String(CONDITION_QMLFILE), sourceLine, 1, true, QLatin1String("a > 10")); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); //Get the frame index QString jsonString = m_client->response; @@ -1047,7 +1049,7 @@ void tst_QQmlDebugJS::setBreakpointInScriptWithCondition() //Verify the value of 'result' m_client->evaluate(QLatin1String("a"),frameIndex); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); } jsonString = m_client->response; @@ -1073,7 +1075,7 @@ void tst_QQmlDebugJS::setBreakpointInScriptThatQuits() m_client->setBreakpoint(QLatin1String(QUIT_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); QString jsonString(m_client->response); QVariantMap value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -1102,7 +1104,7 @@ void tst_QQmlDebugJS::setBreakpointWhenAttaching() //The breakpoint is in a timer loop so we can set it after connect(). m_client->setBreakpoint(QLatin1String(TIMER_QMLFILE), sourceLine); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); } void tst_QQmlDebugJS::clearBreakpoint() @@ -1123,7 +1125,7 @@ void tst_QQmlDebugJS::clearBreakpoint() m_client->setBreakpoint(QLatin1String(CHANGEBREAKPOINT_QMLFILE), sourceLine1, -1, true); m_client->setBreakpoint(QLatin1String(CHANGEBREAKPOINT_QMLFILE), sourceLine2, -1, true); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); //Will hit 1st brakpoint, change this breakpoint enable = false QString jsonString(m_client->response); @@ -1135,17 +1137,17 @@ void tst_QQmlDebugJS::clearBreakpoint() int breakpoint = breakpointsHit.at(0).toInt(); m_client->clearBreakpoint(breakpoint); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); //Continue with debugging m_client->continueDebugging(QJSDebugClient::Continue); //Hit 2nd breakpoint - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); //Continue with debugging m_client->continueDebugging(QJSDebugClient::Continue); //Should stop at 2nd breakpoint - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); jsonString = m_client->response; value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -1165,7 +1167,7 @@ void tst_QQmlDebugJS::setExceptionBreak() QCOMPARE(init(qmlscene, EXCEPTION_QMLFILE), ConnectSuccess); m_client->setExceptionBreak(QJSDebugClient::All,true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); } void tst_QQmlDebugJS::stepNext() @@ -1180,10 +1182,10 @@ void tst_QQmlDebugJS::stepNext() m_client->setBreakpoint(QLatin1String(STEPACTION_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); m_client->continueDebugging(QJSDebugClient::Next); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); QString jsonString(m_client->response); QVariantMap value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -1215,11 +1217,11 @@ void tst_QQmlDebugJS::stepIn() m_client->setBreakpoint(QLatin1String(STEPACTION_QMLFILE), sourceLine, 1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); QCOMPARE(responseBody(m_client).value("sourceLine").toInt(), sourceLine); m_client->continueDebugging(QJSDebugClient::In); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); const QVariantMap body = responseBody(m_client); QCOMPARE(body.value("sourceLine").toInt(), actualLine); @@ -1239,11 +1241,11 @@ void tst_QQmlDebugJS::stepOut() m_client->setBreakpoint(QLatin1String(STEPACTION_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); QCOMPARE(responseBody(m_client).value("sourceLine").toInt(), sourceLine); m_client->continueDebugging(QJSDebugClient::Out); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); const QVariantMap body = responseBody(m_client); QCOMPARE(body.value("sourceLine").toInt(), actualLine); @@ -1264,10 +1266,10 @@ void tst_QQmlDebugJS::continueDebugging() m_client->setBreakpoint(QLatin1String(STEPACTION_QMLFILE), sourceLine1, -1, true); m_client->setBreakpoint(QLatin1String(STEPACTION_QMLFILE), sourceLine2, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); m_client->continueDebugging(QJSDebugClient::Continue); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); QString jsonString(m_client->response); QVariantMap value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -1290,10 +1292,10 @@ void tst_QQmlDebugJS::backtrace() m_client->setBreakpoint(QLatin1String(ONCOMPLETED_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); m_client->backtrace(); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); } void tst_QQmlDebugJS::getFrameDetails() @@ -1308,10 +1310,10 @@ void tst_QQmlDebugJS::getFrameDetails() m_client->setBreakpoint(QLatin1String(ONCOMPLETED_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); m_client->frame(); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); } void tst_QQmlDebugJS::getScopeDetails() @@ -1326,10 +1328,10 @@ void tst_QQmlDebugJS::getScopeDetails() m_client->setBreakpoint(QLatin1String(ONCOMPLETED_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); m_client->scope(); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); } void tst_QQmlDebugJS::evaluateInGlobalScope() @@ -1342,7 +1344,7 @@ void tst_QQmlDebugJS::evaluateInGlobalScope() for (int i = 0; i < 10; ++i) { // The engine might not be initialized, yet. We just try until it shows up. m_client->evaluate(QLatin1String("console.log('Hello World')")); - if (QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()), 500)) + if (waitForClientSignal(SIGNAL(result()), 500)) break; } @@ -1362,10 +1364,10 @@ void tst_QQmlDebugJS::evaluateInLocalScope() m_client->setBreakpoint(QLatin1String(ONCOMPLETED_QMLFILE), sourceLine, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); m_client->frame(); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); //Get the frame index QString jsonString(m_client->response); @@ -1376,7 +1378,7 @@ void tst_QQmlDebugJS::evaluateInLocalScope() int frameIndex = body.value("index").toInt(); m_client->evaluate(QLatin1String("root.a"), frameIndex); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); //Verify the value of 'timer.interval' jsonString = m_client->response; @@ -1407,7 +1409,7 @@ void tst_QQmlDebugJS::evaluateInContext() // "a" not accessible without extra context m_client->evaluate(QLatin1String("a + 10"), -1, -1); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(failure()))); + QVERIFY(waitForClientSignal(SIGNAL(failure()))); bool success = false; engineClient->queryAvailableEngines(&success); @@ -1430,7 +1432,7 @@ void tst_QQmlDebugJS::evaluateInContext() // "a" accessible in context of surrounding object m_client->evaluate(QLatin1String("a + 10"), -1, object.debugId); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); QTRY_COMPARE(responseBody(m_client).value("value").toInt(), 20); } @@ -1446,10 +1448,10 @@ void tst_QQmlDebugJS::getScripts() m_client->setBreakpoint(QString(TEST_QMLFILE), 35, -1, true); m_client->connect(redundantRefs, namesAsObjects); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(stopped()))); + QVERIFY(waitForClientSignal(SIGNAL(stopped()))); m_client->scripts(); - QVERIFY(QQmlDebugTest::waitForSignal(m_client, SIGNAL(result()))); + QVERIFY(waitForClientSignal(SIGNAL(result()))); QString jsonString(m_client->response); QVariantMap value = m_client->parser.call(QJSValueList() << QJSValue(jsonString)).toVariant().toMap(); @@ -1545,6 +1547,11 @@ void tst_QQmlDebugJS::targetData() QTest::newRow("qmlscene / sparse / strings") << true << false << false; } +bool tst_QQmlDebugJS::waitForClientSignal(const char *signal, int timeout) +{ + return QQmlDebugTest::waitForSignal(m_client.data(), signal, timeout); +} + QTEST_MAIN(tst_QQmlDebugJS) #include "tst_qqmldebugjs.moc" |