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;
|
return;
|
||||||
m_request = request;
|
m_request = request;
|
||||||
if (m_serverProcess.state() != QProcess::NotRunning) {
|
if (m_serverProcess.state() != QProcess::NotRunning) {
|
||||||
if (QMessageBox::question(Core::ICore::dialogParent(),
|
handleSquishServerAlreadyRunning();
|
||||||
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();
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -393,22 +367,7 @@ void SquishTools::startSquishServer(Request request)
|
|||||||
m_perspective.setState(SquishPerspective::State::Starting);
|
m_perspective.setState(SquishPerspective::State::Starting);
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList arguments;
|
const QStringList arguments = serverArgumentsFromSettings();
|
||||||
// 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());
|
|
||||||
}
|
|
||||||
|
|
||||||
m_serverProcess.setCommand({toolsSettings.serverPath, arguments});
|
m_serverProcess.setCommand({toolsSettings.serverPath, arguments});
|
||||||
m_serverProcess.setEnvironment(squishEnvironment());
|
m_serverProcess.setEnvironment(squishEnvironment());
|
||||||
|
|
||||||
@@ -963,6 +922,57 @@ void SquishTools::terminateRunner()
|
|||||||
process.waitForFinished();
|
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()
|
bool SquishTools::isValidToStartRunner()
|
||||||
{
|
{
|
||||||
if (!m_serverProcess.isRunning()) {
|
if (!m_serverProcess.isRunning()) {
|
||||||
|
@@ -106,6 +106,8 @@ private:
|
|||||||
void interruptRunner();
|
void interruptRunner();
|
||||||
void terminateRunner();
|
void terminateRunner();
|
||||||
bool isValidToStartRunner();
|
bool isValidToStartRunner();
|
||||||
|
void handleSquishServerAlreadyRunning();
|
||||||
|
QStringList serverArgumentsFromSettings() const;
|
||||||
bool setupRunnerPath();
|
bool setupRunnerPath();
|
||||||
void setupAndStartSquishRunnerProcess(const QStringList &arg,
|
void setupAndStartSquishRunnerProcess(const QStringList &arg,
|
||||||
const QString &caseReportFilePath = {});
|
const QString &caseReportFilePath = {});
|
||||||
|
Reference in New Issue
Block a user