forked from qt-creator/qt-creator
Squish: Extract functions
Slim down server start function. Change-Id: I33d2d26c42eca710d25fca9c5e10ad10f50be0c8 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -335,33 +335,7 @@ void SquishTools::startSquishServer(Request request)
|
||||
return;
|
||||
m_request = request;
|
||||
if (m_serverProcess.state() != QProcess::NotRunning) {
|
||||
if (QMessageBox::question(Core::ICore::dialogParent(),
|
||||
Tr::tr("Squish Server Already Running"),
|
||||
Tr::tr("There is still an old Squish server instance running.\n"
|
||||
"This will cause problems later on.\n\n"
|
||||
"If you continue, the old instance will be terminated.\n"
|
||||
"Do you want to continue?"))
|
||||
== QMessageBox::Yes) {
|
||||
switch (m_request) {
|
||||
case RunTestRequested:
|
||||
m_request = KillOldBeforeRunRunner;
|
||||
break;
|
||||
case RecordTestRequested:
|
||||
m_request = KillOldBeforeRecordRunner;
|
||||
break;
|
||||
case RunnerQueryRequested:
|
||||
m_request = KillOldBeforeQueryRunner;
|
||||
break;
|
||||
default:
|
||||
QMessageBox::critical(Core::ICore::dialogParent(),
|
||||
Tr::tr("Error"),
|
||||
Tr::tr("Unexpected state or request while starting Squish "
|
||||
"server. (state: %1, request: %2)")
|
||||
.arg(m_state)
|
||||
.arg(m_request));
|
||||
}
|
||||
stopSquishServer();
|
||||
}
|
||||
handleSquishServerAlreadyRunning();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -393,22 +367,7 @@ void SquishTools::startSquishServer(Request request)
|
||||
m_perspective.setState(SquishPerspective::State::Starting);
|
||||
}
|
||||
|
||||
QStringList arguments;
|
||||
// TODO if isLocalServer is false we should start a squishserver on remote device
|
||||
if (toolsSettings.isLocalServer) {
|
||||
if (m_request != ServerConfigChangeRequested)
|
||||
arguments << "--local"; // for now - although Squish Docs say "don't use it"
|
||||
} else {
|
||||
arguments << "--port" << QString::number(toolsSettings.serverPort);
|
||||
}
|
||||
if (toolsSettings.verboseLog)
|
||||
arguments << "--verbose";
|
||||
|
||||
if (m_request == ServerConfigChangeRequested && QTC_GUARD(!m_serverConfigChanges.isEmpty())) {
|
||||
arguments.append("--config");
|
||||
arguments.append(m_serverConfigChanges.first());
|
||||
}
|
||||
|
||||
const QStringList arguments = serverArgumentsFromSettings();
|
||||
m_serverProcess.setCommand({toolsSettings.serverPath, arguments});
|
||||
m_serverProcess.setEnvironment(squishEnvironment());
|
||||
|
||||
@@ -963,6 +922,57 @@ void SquishTools::terminateRunner()
|
||||
process.waitForFinished();
|
||||
}
|
||||
|
||||
void SquishTools::handleSquishServerAlreadyRunning()
|
||||
{
|
||||
if (QMessageBox::question(Core::ICore::dialogParent(),
|
||||
Tr::tr("Squish Server Already Running"),
|
||||
Tr::tr("There is still an old Squish server instance running.\n"
|
||||
"This will cause problems later on.\n\n"
|
||||
"If you continue, the old instance will be terminated.\n"
|
||||
"Do you want to continue?"))
|
||||
== QMessageBox::Yes) {
|
||||
switch (m_request) {
|
||||
case RunTestRequested:
|
||||
m_request = KillOldBeforeRunRunner;
|
||||
break;
|
||||
case RecordTestRequested:
|
||||
m_request = KillOldBeforeRecordRunner;
|
||||
break;
|
||||
case RunnerQueryRequested:
|
||||
m_request = KillOldBeforeQueryRunner;
|
||||
break;
|
||||
default:
|
||||
QMessageBox::critical(Core::ICore::dialogParent(),
|
||||
Tr::tr("Error"),
|
||||
Tr::tr("Unexpected state or request while starting Squish "
|
||||
"server. (state: %1, request: %2)")
|
||||
.arg(m_state)
|
||||
.arg(m_request));
|
||||
}
|
||||
stopSquishServer();
|
||||
}
|
||||
}
|
||||
|
||||
QStringList SquishTools::serverArgumentsFromSettings() const
|
||||
{
|
||||
QStringList arguments;
|
||||
// TODO if isLocalServer is false we should start a squishserver on remote device
|
||||
if (toolsSettings.isLocalServer) {
|
||||
if (m_request != ServerConfigChangeRequested)
|
||||
arguments << "--local"; // for now - although Squish Docs say "don't use it"
|
||||
} else {
|
||||
arguments << "--port" << QString::number(toolsSettings.serverPort);
|
||||
}
|
||||
if (toolsSettings.verboseLog)
|
||||
arguments << "--verbose";
|
||||
|
||||
if (m_request == ServerConfigChangeRequested && QTC_GUARD(!m_serverConfigChanges.isEmpty())) {
|
||||
arguments.append("--config");
|
||||
arguments.append(m_serverConfigChanges.first());
|
||||
}
|
||||
return arguments;
|
||||
}
|
||||
|
||||
bool SquishTools::isValidToStartRunner()
|
||||
{
|
||||
if (!m_serverProcess.isRunning()) {
|
||||
|
@@ -106,6 +106,8 @@ private:
|
||||
void interruptRunner();
|
||||
void terminateRunner();
|
||||
bool isValidToStartRunner();
|
||||
void handleSquishServerAlreadyRunning();
|
||||
QStringList serverArgumentsFromSettings() const;
|
||||
bool setupRunnerPath();
|
||||
void setupAndStartSquishRunnerProcess(const QStringList &arg,
|
||||
const QString &caseReportFilePath = {});
|
||||
|
Reference in New Issue
Block a user