forked from qt-creator/qt-creator
SshRemoteProcessRunner: Unify API
Make the API more similar to QtcProcess API. Drop process prefix for getters. Change-Id: I21b99bb5b11956d923c0e526c08bbea9686e5c95 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -53,7 +53,7 @@ public:
|
||||
QString m_lastConnectionErrorString;
|
||||
QProcess::ExitStatus m_exitStatus;
|
||||
int m_exitCode;
|
||||
QString m_processErrorString;
|
||||
QString m_errorString;
|
||||
State m_state;
|
||||
};
|
||||
|
||||
@@ -86,7 +86,7 @@ void SshRemoteProcessRunner::runInternal(const QString &command,
|
||||
setState(Connecting);
|
||||
|
||||
d->m_lastConnectionErrorString.clear();
|
||||
d->m_processErrorString.clear();
|
||||
d->m_errorString.clear();
|
||||
d->m_exitCode = -1;
|
||||
d->m_command = command;
|
||||
d->m_connection = SshConnectionManager::acquireConnection(sshParams);
|
||||
@@ -146,9 +146,9 @@ void SshRemoteProcessRunner::handleProcessFinished()
|
||||
{
|
||||
d->m_exitStatus = d->m_process->exitStatus();
|
||||
d->m_exitCode = d->m_process->exitCode();
|
||||
d->m_processErrorString = d->m_process->errorString();
|
||||
d->m_errorString = d->m_process->errorString();
|
||||
setState(Inactive);
|
||||
emit processClosed(d->m_processErrorString);
|
||||
emit processClosed(d->m_errorString);
|
||||
}
|
||||
|
||||
void SshRemoteProcessRunner::setState(int newState)
|
||||
@@ -175,26 +175,26 @@ QString SshRemoteProcessRunner::lastConnectionErrorString() const {
|
||||
return d->m_lastConnectionErrorString;
|
||||
}
|
||||
|
||||
bool SshRemoteProcessRunner::isProcessRunning() const
|
||||
bool SshRemoteProcessRunner::isRunning() const
|
||||
{
|
||||
return d->m_process && d->m_process->isRunning();
|
||||
}
|
||||
|
||||
QProcess::ExitStatus SshRemoteProcessRunner::processExitStatus() const
|
||||
QProcess::ExitStatus SshRemoteProcessRunner::exitStatus() const
|
||||
{
|
||||
QTC_CHECK(!isProcessRunning());
|
||||
QTC_CHECK(!isRunning());
|
||||
return d->m_exitStatus;
|
||||
}
|
||||
|
||||
int SshRemoteProcessRunner::processExitCode() const
|
||||
int SshRemoteProcessRunner::exitCode() const
|
||||
{
|
||||
QTC_CHECK(processExitStatus() == QProcess::NormalExit);
|
||||
QTC_CHECK(exitStatus() == QProcess::NormalExit);
|
||||
return d->m_exitCode;
|
||||
}
|
||||
|
||||
QString SshRemoteProcessRunner::processErrorString() const
|
||||
QString SshRemoteProcessRunner::errorString() const
|
||||
{
|
||||
return d->m_processErrorString;
|
||||
return d->m_errorString;
|
||||
}
|
||||
|
||||
QByteArray SshRemoteProcessRunner::readAllStandardOutput()
|
||||
|
||||
@@ -44,11 +44,11 @@ public:
|
||||
|
||||
QString lastConnectionErrorString() const;
|
||||
|
||||
bool isProcessRunning() const;
|
||||
bool isRunning() const;
|
||||
void cancel();
|
||||
QProcess::ExitStatus processExitStatus() const;
|
||||
int processExitCode() const;
|
||||
QString processErrorString() const;
|
||||
QProcess::ExitStatus exitStatus() const;
|
||||
int exitCode() const;
|
||||
QString errorString() const;
|
||||
QByteArray readAllStandardOutput();
|
||||
QByteArray readAllStandardError();
|
||||
|
||||
|
||||
@@ -80,14 +80,14 @@ void SshDeviceProcessList::handleListProcessFinished(const QString &error)
|
||||
handleProcessError(error);
|
||||
return;
|
||||
}
|
||||
if (d->process.processExitCode() == 0) {
|
||||
if (d->process.exitCode() == 0) {
|
||||
const QByteArray remoteStdout = d->process.readAllStandardOutput();
|
||||
const QString stdoutString
|
||||
= QString::fromUtf8(remoteStdout.data(), remoteStdout.count());
|
||||
reportProcessListUpdated(buildProcessList(stdoutString));
|
||||
} else {
|
||||
handleProcessError(tr("Process listing command failed with exit code %1.")
|
||||
.arg(d->process.processExitCode()));
|
||||
.arg(d->process.exitCode()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -201,7 +201,7 @@ void QnxDeployQtLibrariesDialog::handleRemoteProcessCompleted()
|
||||
|
||||
if (m_state == CheckingRemoteDirectory) {
|
||||
// Directory exists
|
||||
if (m_processRunner->processExitCode() == 0) {
|
||||
if (m_processRunner->exitCode() == 0) {
|
||||
int answer = QMessageBox::question(this, windowTitle(),
|
||||
tr("The remote directory \"%1\" already exists. "
|
||||
"Deploying to that directory will remove any files "
|
||||
@@ -217,7 +217,7 @@ void QnxDeployQtLibrariesDialog::handleRemoteProcessCompleted()
|
||||
startUpload();
|
||||
}
|
||||
} else if (m_state == RemovingRemoteDirectory) {
|
||||
QTC_ASSERT(m_processRunner->processExitCode() == 0, return);
|
||||
QTC_ASSERT(m_processRunner->exitCode() == 0, return);
|
||||
|
||||
startUpload();
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ void QnxDeviceTester::handleVarRunProcessFinished(const QString &error)
|
||||
QTC_ASSERT(m_state == VarRunTest, return);
|
||||
|
||||
if (error.isEmpty()) {
|
||||
if (m_processRunner->processExitCode() == 0) {
|
||||
if (m_processRunner->exitCode() == 0) {
|
||||
emit progressMessage(tr("Files can be created in /var/run.") + QLatin1Char('\n'));
|
||||
} else {
|
||||
emit errorMessage(tr("Files cannot be created in /var/run.") + QLatin1Char('\n'));
|
||||
@@ -156,7 +156,7 @@ void QnxDeviceTester::handleProcessFinished(const QString &error)
|
||||
|
||||
const QString command = m_commandsToTest[m_currentCommandIndex];
|
||||
if (error.isEmpty()) {
|
||||
if (m_processRunner->processExitCode() == 0) {
|
||||
if (m_processRunner->exitCode() == 0) {
|
||||
emit progressMessage(tr("%1 found.").arg(command) + QLatin1Char('\n'));
|
||||
} else {
|
||||
emit errorMessage(tr("%1 not found.").arg(command) + QLatin1Char('\n'));
|
||||
|
||||
@@ -121,9 +121,9 @@ void RemoteLinuxCustomCommandDeployService::handleProcessClosed(const QString &e
|
||||
|
||||
if (!error.isEmpty()) {
|
||||
emit errorMessage(tr("Remote process failed: %1").arg(error));
|
||||
} else if (d->runner->processExitCode() != 0) {
|
||||
} else if (d->runner->exitCode() != 0) {
|
||||
emit errorMessage(tr("Remote process finished with exit code %1.")
|
||||
.arg(d->runner->processExitCode()));
|
||||
.arg(d->runner->exitCode()));
|
||||
} else {
|
||||
emit progressMessage(tr("Remote command finished successfully."));
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ void AbstractRemoteLinuxPackageInstaller::handleInstallationFinished(const QStri
|
||||
if (!d->isRunning)
|
||||
return;
|
||||
|
||||
if (!error.isEmpty() || d->installer->processExitCode() != 0)
|
||||
if (!error.isEmpty() || d->installer->exitCode() != 0)
|
||||
emit finished(tr("Installing package failed."));
|
||||
else if (!errorString().isEmpty())
|
||||
emit finished(errorString());
|
||||
|
||||
@@ -115,10 +115,10 @@ void RemoteLinuxSignalOperation::interruptProcess(const QString &filePath)
|
||||
void RemoteLinuxSignalOperation::runnerProcessFinished()
|
||||
{
|
||||
m_errorMessage.clear();
|
||||
if (m_runner->processExitStatus() != QProcess::NormalExit) {
|
||||
m_errorMessage = m_runner->processErrorString();
|
||||
} else if (m_runner->processExitCode() != 0) {
|
||||
m_errorMessage = tr("Exit code is %1. stderr:").arg(m_runner->processExitCode())
|
||||
if (m_runner->exitStatus() != QProcess::NormalExit) {
|
||||
m_errorMessage = m_runner->errorString();
|
||||
} else if (m_runner->exitCode() != 0) {
|
||||
m_errorMessage = tr("Exit code is %1. stderr:").arg(m_runner->exitCode())
|
||||
+ QLatin1Char(' ')
|
||||
+ QString::fromLatin1(m_runner->readAllStandardError());
|
||||
}
|
||||
|
||||
@@ -83,8 +83,8 @@ void SshKeyDeployer::handleConnectionFailure()
|
||||
|
||||
void SshKeyDeployer::handleKeyUploadFinished()
|
||||
{
|
||||
const int exitCode = d->deployProcess.processExitCode();
|
||||
const QString errorMsg = d->deployProcess.processErrorString();
|
||||
const int exitCode = d->deployProcess.exitCode();
|
||||
const QString errorMsg = d->deployProcess.errorString();
|
||||
cleanup();
|
||||
if (errorMsg.isEmpty() && exitCode == 0) {
|
||||
emit finishedSuccessfully();
|
||||
|
||||
@@ -259,8 +259,8 @@ void tst_Ssh::remoteProcess()
|
||||
timer.stop();
|
||||
QVERIFY2(runner.lastConnectionErrorString().isEmpty(),
|
||||
qPrintable(runner.lastConnectionErrorString()));
|
||||
QVERIFY2(runner.processErrorString().isEmpty(), qPrintable(runner.processErrorString()));
|
||||
QVERIFY(runner.isProcessRunning()); // Event loop exit should have been triggered by started().
|
||||
QVERIFY2(runner.errorString().isEmpty(), qPrintable(runner.errorString()));
|
||||
QVERIFY(runner.isRunning()); // Event loop exit should have been triggered by started().
|
||||
QVERIFY2(remoteStdout.isEmpty(), remoteStdout.constData());
|
||||
QVERIFY2(remoteStderr.isEmpty(), remoteStderr.constData());
|
||||
|
||||
@@ -272,14 +272,14 @@ void tst_Ssh::remoteProcess()
|
||||
loop.exec();
|
||||
QVERIFY(timer.isActive());
|
||||
timer.stop();
|
||||
QVERIFY(!runner.isProcessRunning());
|
||||
QVERIFY(!runner.isRunning());
|
||||
QVERIFY2(runner.lastConnectionErrorString().isEmpty(),
|
||||
qPrintable(runner.lastConnectionErrorString()));
|
||||
if (isBlocking) {
|
||||
QVERIFY(runner.processExitStatus() == QProcess::CrashExit
|
||||
|| runner.processExitCode() != 0);
|
||||
QVERIFY(runner.exitStatus() == QProcess::CrashExit
|
||||
|| runner.exitCode() != 0);
|
||||
} else {
|
||||
QCOMPARE(successExpected, runner.processExitCode() == 0);
|
||||
QCOMPARE(successExpected, runner.exitCode() == 0);
|
||||
}
|
||||
QCOMPARE(stdoutExpected, !remoteStdout.isEmpty());
|
||||
QCOMPARE(stderrExpected, !remoteStderr.isEmpty());
|
||||
|
||||
Reference in New Issue
Block a user