Squish: Integrate query handling into common state handling

Change-Id: I5c4bef992292d2195b557a61b9a648a39843ae2b
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2023-01-03 14:06:25 +01:00
parent ee24d1264b
commit bef44699a3
2 changed files with 10 additions and 44 deletions

View File

@@ -353,17 +353,14 @@ void SquishTools::setState(SquishTools::State state)
// TODO check whether state transition is legal // TODO check whether state transition is legal
m_state = state; m_state = state;
if (m_request == RunnerQueryRequested || m_request == KillOldBeforeQueryRunner) {
handleSetStateQueryRunner();
return;
}
switch (m_state) { switch (m_state) {
case Idle: case Idle:
setIdle(); setIdle();
break; break;
case ServerStarted: case ServerStarted:
if (m_request == RunTestRequested || m_request == RecordTestRequested) { if (m_request == RunnerQueryRequested) {
executeRunnerQuery();
} else if (m_request == RunTestRequested || m_request == RecordTestRequested) {
startSquishRunner(); startSquishRunner();
} else if (m_request == ServerConfigChangeRequested) { // nothing to do here } else if (m_request == ServerConfigChangeRequested) { // nothing to do here
} else { } else {
@@ -403,6 +400,8 @@ void SquishTools::setState(SquishTools::State state)
if (toolsSettings.minimizeIDE) if (toolsSettings.minimizeIDE)
restoreQtCreatorWindows(); restoreQtCreatorWindows();
m_perspective.destroyControlBar(); m_perspective.destroyControlBar();
} else if (m_request == KillOldBeforeQueryRunner) {
startSquishServer(RunnerQueryRequested);
} else if (m_request == KillOldBeforeRunRunner) { } else if (m_request == KillOldBeforeRunRunner) {
startSquishServer(RunTestRequested); startSquishServer(RunTestRequested);
} else if (m_request == KillOldBeforeRecordRunner) { } else if (m_request == KillOldBeforeRecordRunner) {
@@ -420,7 +419,11 @@ void SquishTools::setState(SquishTools::State state)
break; break;
case RunnerStartFailed: case RunnerStartFailed:
case RunnerStopped: case RunnerStopped:
if (m_request == RecordTestRequested) { if (m_request == RunnerQueryRequested) {
m_request = ServerStopRequested;
qCInfo(LOG) << "Stopping server from RunnerStopped (query)";
stopSquishServer();
} else if (m_request == RecordTestRequested) {
if (m_secondaryRunner && m_secondaryRunner->isRunning()) { if (m_secondaryRunner && m_secondaryRunner->isRunning()) {
stopRecorder(); stopRecorder();
} else { } else {
@@ -453,42 +456,6 @@ void SquishTools::setState(SquishTools::State state)
} }
} }
void SquishTools::handleSetStateQueryRunner()
{
switch (m_state) {
case Idle:
setIdle();
break;
case ServerStarted:
executeRunnerQuery();
break;
case ServerStartFailed:
m_state = Idle;
m_request = None;
break;
case ServerStopped:
m_state = Idle;
emit shutdownFinished();
if (m_request == KillOldBeforeQueryRunner) {
startSquishServer(RunnerQueryRequested);
} else {
QTC_ASSERT(false, qDebug() << m_state << m_request);
}
break;
case ServerStopFailed:
m_state = Idle;
break;
case RunnerStartFailed:
case RunnerStopped:
m_request = ServerStopRequested;
qCInfo(LOG) << "Stopping server from RunnerStopped (query)";
stopSquishServer();
break;
default:
break;
}
}
void SquishTools::setIdle() void SquishTools::setIdle()
{ {
QTC_ASSERT(m_state == Idle, return); QTC_ASSERT(m_state == Idle, return);

View File

@@ -91,7 +91,6 @@ private:
void onServerStateChanged(SquishProcessState state); void onServerStateChanged(SquishProcessState state);
void setState(State state); void setState(State state);
void handleSetStateQueryRunner();
void setIdle(); void setIdle();
void startSquishServer(Request request); void startSquishServer(Request request);
void stopSquishServer(); void stopSquishServer();