diff --git a/src/libs/ssh/sshremoteprocess.cpp b/src/libs/ssh/sshremoteprocess.cpp index 9b748c153a4..bbfec939eba 100644 --- a/src/libs/ssh/sshremoteprocess.cpp +++ b/src/libs/ssh/sshremoteprocess.cpp @@ -89,13 +89,13 @@ void SshRemoteProcess::requestX11Forwarding(const QString &displayName) m_displayName = displayName; } -Utils::CommandLine SshRemoteProcess::fullLocalCommandLine() const +Utils::CommandLine SshRemoteProcess::fullLocalCommandLine(bool inTerminal) const { Utils::CommandLine cmd{SshSettings::sshFilePath()}; if (!m_displayName.isEmpty()) cmd.addArg("-X"); - if (useTerminal()) + if (inTerminal) cmd.addArg("-tt"); cmd.addArg("-q"); diff --git a/src/libs/ssh/sshremoteprocess.h b/src/libs/ssh/sshremoteprocess.h index f8f9bef343b..b5195454b50 100644 --- a/src/libs/ssh/sshremoteprocess.h +++ b/src/libs/ssh/sshremoteprocess.h @@ -43,7 +43,7 @@ public: void requestX11Forwarding(const QString &displayName); void start(); - Utils::CommandLine fullLocalCommandLine() const; + Utils::CommandLine fullLocalCommandLine(bool inTerminal = false) const; signals: void done(const QString &error); diff --git a/src/libs/ssh/sshremoteprocessrunner.cpp b/src/libs/ssh/sshremoteprocessrunner.cpp index 54f40109d95..2d34ab4eae3 100644 --- a/src/libs/ssh/sshremoteprocessrunner.cpp +++ b/src/libs/ssh/sshremoteprocessrunner.cpp @@ -49,7 +49,6 @@ public: SshRemoteProcessPtr m_process; SshConnection *m_connection; - bool m_runInTerminal; QString m_command; QString m_lastConnectionErrorString; QProcess::ExitStatus m_exitStatus; @@ -80,14 +79,6 @@ void SshRemoteProcessRunner::run(const QString &command, const SshConnectionPara { QTC_ASSERT(d->m_state == Inactive, return); - d->m_runInTerminal = false; - runInternal(command, sshParams); -} - -void SshRemoteProcessRunner::runInTerminal(const QString &command, - const SshConnectionParameters &sshParams) -{ - d->m_runInTerminal = true; runInternal(command, sshParams); } @@ -128,7 +119,6 @@ void SshRemoteProcessRunner::handleConnected() this, &SshRemoteProcessRunner::handleStdout); connect(d->m_process.get(), &SshRemoteProcess::readyReadStandardError, this, &SshRemoteProcessRunner::handleStderr); - d->m_process->setUseTerminal(d->m_runInTerminal); d->m_process->start(); } diff --git a/src/libs/ssh/sshremoteprocessrunner.h b/src/libs/ssh/sshremoteprocessrunner.h index 6ad2ac6205a..22ed6613fbf 100644 --- a/src/libs/ssh/sshremoteprocessrunner.h +++ b/src/libs/ssh/sshremoteprocessrunner.h @@ -40,7 +40,6 @@ public: ~SshRemoteProcessRunner(); void run(const QString &command, const SshConnectionParameters &sshParams); - void runInTerminal(const QString &command, const SshConnectionParameters &sshParams); QString command() const; QString lastConnectionErrorString() const; diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index 9a6197fae39..05f92666e65 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -260,9 +260,6 @@ public: void setUnixTerminalDisabled() { m_unixTerminalDisabled = true; } bool isUnixTerminalDisabled() const { return m_unixTerminalDisabled; } - void setUseTerminal(bool on) { m_useTerminal = on; } - bool useTerminal() const { return m_useTerminal; } - void setAbortOnMetaChars(bool abort) { m_abortOnMetaChars = abort; } bool isAbortOnMetaChars() const { return m_abortOnMetaChars; } @@ -289,7 +286,6 @@ private: QString m_nativeArguments; bool m_lowPriority = false; bool m_unixTerminalDisabled = false; - bool m_useTerminal = false; bool m_abortOnMetaChars = true; bool m_runAsRoot = false; }; @@ -908,16 +904,6 @@ void QtcProcess::setDisableUnixTerminal() d->m_process->setUnixTerminalDisabled(); } -void QtcProcess::setUseTerminal(bool on) -{ - d->m_process->setUseTerminal(on); -} - -bool QtcProcess::useTerminal() const -{ - return d->m_process->useTerminal(); -} - void QtcProcess::setAbortOnMetaChars(bool abort) { d->m_process->setAbortOnMetaChars(abort); diff --git a/src/libs/utils/qtcprocess.h b/src/libs/utils/qtcprocess.h index d743f7a4373..57783e38ade 100644 --- a/src/libs/utils/qtcprocess.h +++ b/src/libs/utils/qtcprocess.h @@ -115,9 +115,6 @@ public: void setDisableUnixTerminal(); void setRunAsRoot(bool on); - void setUseTerminal(bool on); - bool useTerminal() const; - void setAbortOnMetaChars(bool abort); void start(); diff --git a/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp b/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp index 3b848b84089..7ef0a864465 100644 --- a/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp +++ b/src/plugins/projectexplorer/devicesupport/sshdeviceprocess.cpp @@ -192,7 +192,6 @@ void SshDeviceProcess::handleConnected() if (!display.isEmpty()) d->process->requestX11Forwarding(display); if (runInTerminal()) { - d->process->setUseTerminal(true); connect(&d->consoleProcess, &QtcProcess::errorOccurred, this, &DeviceProcess::error); connect(&d->consoleProcess, &QtcProcess::started, @@ -200,7 +199,7 @@ void SshDeviceProcess::handleConnected() connect(&d->consoleProcess, &QtcProcess::finished, this, [this] { handleProcessFinished(d->consoleProcess.errorString()); }); d->consoleProcess.setAbortOnMetaChars(false); - d->consoleProcess.setCommand(d->process->fullLocalCommandLine()); + d->consoleProcess.setCommand(d->process->fullLocalCommandLine(true)); d->consoleProcess.start(); } else { connect(d->process.get(), &QSsh::SshRemoteProcess::started, diff --git a/tests/auto/ssh/tst_ssh.cpp b/tests/auto/ssh/tst_ssh.cpp index 0203d638f86..2c237bfbfa9 100644 --- a/tests/auto/ssh/tst_ssh.cpp +++ b/tests/auto/ssh/tst_ssh.cpp @@ -216,20 +216,14 @@ void tst_Ssh::pristineConnectionObject() void tst_Ssh::remoteProcess_data() { QTest::addColumn("commandLine"); - QTest::addColumn("useTerminal"); QTest::addColumn("isBlocking"); QTest::addColumn("successExpected"); QTest::addColumn("stdoutExpected"); QTest::addColumn("stderrExpected"); - QTest::newRow("normal command") - << QByteArray("ls -a /tmp") << false << false << true << true << false; - QTest::newRow("failing command") - << QByteArray("top -n 1") << false << false << false << false << true; - QTest::newRow("blocking command") - << QByteArray("/bin/sleep 100") << false << true << false << false << false; - QTest::newRow("terminal command") - << QByteArray("top -n 1") << true << false << true << true << false; + QTest::newRow("normal cmd") << QByteArray("ls -a /tmp") << false << true << true << false; + QTest::newRow("failing cmd") << QByteArray("top -n 1") << false << false << false << true; + QTest::newRow("blocking cmd") << QByteArray("sleep 100") << true << false << false << false; } void tst_Ssh::remoteProcess() @@ -238,7 +232,6 @@ void tst_Ssh::remoteProcess() CHECK_PARAMS(params); QFETCH(QByteArray, commandLine); - QFETCH(bool, useTerminal); QFETCH(bool, isBlocking); QFETCH(bool, successExpected); QFETCH(bool, stdoutExpected); @@ -255,10 +248,7 @@ void tst_Ssh::remoteProcess() [&remoteStdout, &runner] { remoteStdout += runner.readAllStandardOutput(); }); connect(&runner, &SshRemoteProcessRunner::readyReadStandardError, [&remoteStderr, &runner] { remoteStderr += runner.readAllStandardError(); }); - if (useTerminal) - runner.runInTerminal(QString::fromUtf8(commandLine), params); - else - runner.run(QString::fromUtf8(commandLine), params); + runner.run(QString::fromUtf8(commandLine), params); QTimer timer; QObject::connect(&timer, &QTimer::timeout, &loop, &QEventLoop::quit); timer.setSingleShot(true);