QmlProfiler: When retrying to connect, double the timeout

If you are retrying, then probably you want it to be more patient this
time. Also, tell the user how long we have waited and how long we are
going to wait when retrying.

In turn, reduce the number of "internal" retries. Retrying 10 times
should be enough to determine if the given timeout is too short. This
will give us an initial waiting time of 2s, and make the second try 4s.

Change-Id: Ibdfe02d041550eb16cadc59cec1b78ce97289b30
Task-number: QTCREATORBUG-20529
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Ulf Hermann
2018-05-31 12:52:24 +02:00
parent d3204ed5d4
commit 27907bc417
4 changed files with 28 additions and 16 deletions

View File

@@ -60,7 +60,8 @@ QtMessageHandler MessageHandler::defaultHandler;
QmlProfilerClientManagerTest::QmlProfilerClientManagerTest(QObject *parent) :
QObject(parent), modelManager(nullptr)
{
clientManager.setRetryParams(10, 10);
clientManager.setRetryInterval(10);
clientManager.setMaximumRetries(10);
}
void QmlProfilerClientManagerTest::testConnectionFailure_data()
@@ -115,7 +116,8 @@ void softAssertMessageHandler(QtMsgType type, const QMessageLogContext &context,
void QmlProfilerClientManagerTest::testConnectionFailure()
{
clientManager.setRetryParams(1, 2);
clientManager.setRetryInterval(1);
clientManager.setMaximumRetries(2);
// This triggers a lot of soft asserts. We test that it still doesn't crash and stays in a
// consistent state.
QByteArray fatalAsserts = qgetenv("QTC_FATAL_ASSERTS");
@@ -153,7 +155,8 @@ void QmlProfilerClientManagerTest::testConnectionFailure()
clientManager.disconnectFromServer();
qputenv("QTC_FATAL_ASSERTS", fatalAsserts);
clientManager.setRetryParams(10, 10);
clientManager.setRetryInterval(10);
clientManager.setMaximumRetries(10);
}
void QmlProfilerClientManagerTest::testUnresponsiveTcp()
@@ -384,7 +387,8 @@ void QmlProfilerClientManagerTest::testStopRecording()
{
QmlProfilerClientManager clientManager;
clientManager.setRetryParams(10, 10);
clientManager.setRetryInterval(10);
clientManager.setMaximumRetries(10);
QSignalSpy openedSpy(&clientManager, SIGNAL(connectionOpened()));
QSignalSpy closedSpy(&clientManager, SIGNAL(connectionClosed()));
@@ -420,7 +424,8 @@ void QmlProfilerClientManagerTest::testConnectionDrop()
QmlProfilerClientManager clientManager;
{
clientManager.setRetryParams(10, 10);
clientManager.setRetryInterval(10);
clientManager.setMaximumRetries(10);
clientManager.setProfilerStateManager(&stateManager);
clientManager.setModelManager(&modelManager);
clientManager.connectToServer(socketUrl);