forked from qt-creator/qt-creator
Utils: Rename QtcProcess::readAllStandard* to readAllRawStandard*
... and re-use the old QtcProcess::readAllStandard* names for a QString-returning 'decoded' version. For now, only use that in 'full Utf8' cases, to stay bug-compatible, the plan is, however, to employ the QTextCodecs we have already in the channel buffers. That will be one-by-one, though. Change-Id: Id209e0671920d4ea4197918e872f441254112d52 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -231,7 +231,7 @@ static QString qmlPluginDumpErrorMessage(QtcProcess *process)
|
|||||||
}
|
}
|
||||||
errorMessage += '\n' + PluginDumper::tr("Arguments: %1").arg(process->commandLine().arguments());
|
errorMessage += '\n' + PluginDumper::tr("Arguments: %1").arg(process->commandLine().arguments());
|
||||||
if (process->error() != QProcess::FailedToStart) {
|
if (process->error() != QProcess::FailedToStart) {
|
||||||
const QString stdErr = QString::fromLocal8Bit(process->readAllStandardError());
|
const QString stdErr = QString::fromLocal8Bit(process->readAllRawStandardError());
|
||||||
if (!stdErr.isEmpty()) {
|
if (!stdErr.isEmpty()) {
|
||||||
errorMessage += QLatin1Char('\n');
|
errorMessage += QLatin1Char('\n');
|
||||||
errorMessage += stdErr;
|
errorMessage += stdErr;
|
||||||
@@ -264,7 +264,7 @@ void PluginDumper::qmlPluginTypeDumpDone(QtcProcess *process)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QByteArray output = process->readAllStandardOutput();
|
const QByteArray output = process->readAllRawStandardOutput();
|
||||||
|
|
||||||
class CppQmlTypesInfo {
|
class CppQmlTypesInfo {
|
||||||
public:
|
public:
|
||||||
|
@@ -162,7 +162,7 @@ void Archive::unarchive()
|
|||||||
m_process.reset(new QtcProcess);
|
m_process.reset(new QtcProcess);
|
||||||
m_process->setProcessChannelMode(QProcess::MergedChannels);
|
m_process->setProcessChannelMode(QProcess::MergedChannels);
|
||||||
QObject::connect(m_process.get(), &QtcProcess::readyReadStandardOutput, this, [this] {
|
QObject::connect(m_process.get(), &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
emit outputReceived(QString::fromUtf8(m_process->readAllStandardOutput()));
|
emit outputReceived(m_process->readAllStandardOutput());
|
||||||
});
|
});
|
||||||
QObject::connect(m_process.get(), &QtcProcess::done, this, [this] {
|
QObject::connect(m_process.get(), &QtcProcess::done, this, [this] {
|
||||||
const bool successfulFinish = m_process->result() == ProcessResult::FinishedWithSuccess;
|
const bool successfulFinish = m_process->result() == ProcessResult::FinishedWithSuccess;
|
||||||
|
@@ -93,8 +93,8 @@ RunResult DeviceShell::run(const CommandLine &cmd, const QByteArray &stdInData)
|
|||||||
|
|
||||||
return RunResult{
|
return RunResult{
|
||||||
proc.exitCode(),
|
proc.exitCode(),
|
||||||
proc.readAllStandardOutput(),
|
proc.readAllRawStandardOutput(),
|
||||||
proc.readAllStandardError()
|
proc.readAllRawStandardError()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,7 +213,7 @@ bool DeviceShell::start()
|
|||||||
&QtcProcess::readyReadStandardError,
|
&QtcProcess::readyReadStandardError,
|
||||||
m_shellProcess.get(),
|
m_shellProcess.get(),
|
||||||
[this] {
|
[this] {
|
||||||
const QByteArray stdErr = m_shellProcess->readAllStandardError();
|
const QByteArray stdErr = m_shellProcess->readAllRawStandardError();
|
||||||
qCWarning(deviceShellLog)
|
qCWarning(deviceShellLog)
|
||||||
<< "Received unexpected output on stderr:" << stdErr;
|
<< "Received unexpected output on stderr:" << stdErr;
|
||||||
});
|
});
|
||||||
@@ -249,7 +249,7 @@ bool DeviceShell::checkCommand(const QByteArray &command)
|
|||||||
qCWarning(deviceShellLog) << "Timeout while trying to check for" << command;
|
qCWarning(deviceShellLog) << "Timeout while trying to check for" << command;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
QByteArray out = m_shellProcess->readAllStandardOutput();
|
QByteArray out = m_shellProcess->readAllRawStandardOutput();
|
||||||
if (out.contains("<missing>")) {
|
if (out.contains("<missing>")) {
|
||||||
m_shellScriptState = State::NoScript;
|
m_shellScriptState = State::NoScript;
|
||||||
qCWarning(deviceShellLog) << "Command" << command << "was not found";
|
qCWarning(deviceShellLog) << "Command" << command << "was not found";
|
||||||
@@ -293,7 +293,7 @@ bool DeviceShell::installShellScript()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray out = m_shellProcess->readAllStandardError();
|
QByteArray out = m_shellProcess->readAllRawStandardError();
|
||||||
if (out.contains("SCRIPT_INSTALLED")) {
|
if (out.contains("SCRIPT_INSTALLED")) {
|
||||||
m_shellScriptState = State::Succeeded;
|
m_shellScriptState = State::Succeeded;
|
||||||
return true;
|
return true;
|
||||||
@@ -399,7 +399,7 @@ QList<std::tuple<int, DeviceShell::ParseType, QByteArray>> parseShellOutput(cons
|
|||||||
*/
|
*/
|
||||||
void DeviceShell::onReadyRead()
|
void DeviceShell::onReadyRead()
|
||||||
{
|
{
|
||||||
m_commandBuffer += m_shellProcess->readAllStandardOutput();
|
m_commandBuffer += m_shellProcess->readAllRawStandardOutput();
|
||||||
const qsizetype lastLineEndIndex = m_commandBuffer.lastIndexOf('\n') + 1;
|
const qsizetype lastLineEndIndex = m_commandBuffer.lastIndexOf('\n') + 1;
|
||||||
|
|
||||||
if (lastLineEndIndex == 0)
|
if (lastLineEndIndex == 0)
|
||||||
|
@@ -1271,7 +1271,7 @@ bool QtcProcess::readDataFromProcess(QByteArray *stdOut, QByteArray *stdErr, int
|
|||||||
finished = waitForFinished(timeoutS > 0 ? timeoutS * 1000 : -1)
|
finished = waitForFinished(timeoutS > 0 ? timeoutS * 1000 : -1)
|
||||||
|| state() == QProcess::NotRunning;
|
|| state() == QProcess::NotRunning;
|
||||||
// First check 'stdout'
|
// First check 'stdout'
|
||||||
const QByteArray newStdOut = readAllStandardOutput();
|
const QByteArray newStdOut = readAllRawStandardOutput();
|
||||||
if (!newStdOut.isEmpty()) {
|
if (!newStdOut.isEmpty()) {
|
||||||
hasData = true;
|
hasData = true;
|
||||||
if (stdOut)
|
if (stdOut)
|
||||||
@@ -1279,7 +1279,7 @@ bool QtcProcess::readDataFromProcess(QByteArray *stdOut, QByteArray *stdErr, int
|
|||||||
}
|
}
|
||||||
// Check 'stderr' separately. This is a special handling
|
// Check 'stderr' separately. This is a special handling
|
||||||
// for 'git pull' and the like which prints its progress on stderr.
|
// for 'git pull' and the like which prints its progress on stderr.
|
||||||
const QByteArray newStdErr = readAllStandardError();
|
const QByteArray newStdErr = readAllRawStandardError();
|
||||||
if (!newStdErr.isEmpty()) {
|
if (!newStdErr.isEmpty()) {
|
||||||
hasData = true;
|
hasData = true;
|
||||||
if (stdErr)
|
if (stdErr)
|
||||||
@@ -1481,12 +1481,12 @@ bool QtcProcess::waitForFinished(int msecs)
|
|||||||
return d->waitForSignal(ProcessSignalType::Done, msecs);
|
return d->waitForSignal(ProcessSignalType::Done, msecs);
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray QtcProcess::readAllStandardOutput()
|
QByteArray QtcProcess::readAllRawStandardOutput()
|
||||||
{
|
{
|
||||||
return d->m_stdOut.readAllData();
|
return d->m_stdOut.readAllData();
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray QtcProcess::readAllStandardError()
|
QByteArray QtcProcess::readAllRawStandardError()
|
||||||
{
|
{
|
||||||
return d->m_stdErr.readAllData();
|
return d->m_stdErr.readAllData();
|
||||||
}
|
}
|
||||||
@@ -1548,6 +1548,16 @@ void QtcProcess::stop()
|
|||||||
d->m_killTimer.start(d->m_process->m_setup.m_reaperTimeout);
|
d->m_killTimer.start(d->m_process->m_setup.m_reaperTimeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString QtcProcess::readAllStandardOutput()
|
||||||
|
{
|
||||||
|
return QString::fromUtf8(readAllRawStandardOutput());
|
||||||
|
}
|
||||||
|
|
||||||
|
QString QtcProcess::readAllStandardError()
|
||||||
|
{
|
||||||
|
return QString::fromUtf8(readAllRawStandardError());
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\class Utils::SynchronousProcess
|
\class Utils::SynchronousProcess
|
||||||
|
|
||||||
|
@@ -46,8 +46,11 @@ public:
|
|||||||
void close();
|
void close();
|
||||||
void stop();
|
void stop();
|
||||||
|
|
||||||
QByteArray readAllStandardOutput();
|
QString readAllStandardOutput();
|
||||||
QByteArray readAllStandardError();
|
QString readAllStandardError();
|
||||||
|
|
||||||
|
QByteArray readAllRawStandardOutput();
|
||||||
|
QByteArray readAllRawStandardError();
|
||||||
|
|
||||||
qint64 write(const QString &input);
|
qint64 write(const QString &input);
|
||||||
qint64 writeRaw(const QByteArray &input);
|
qint64 writeRaw(const QByteArray &input);
|
||||||
|
@@ -106,7 +106,7 @@ static CreateAvdInfo createAvdCommand(const AndroidConfig &config, const CreateA
|
|||||||
QByteArray question;
|
QByteArray question;
|
||||||
while (errorOutput.isEmpty()) {
|
while (errorOutput.isEmpty()) {
|
||||||
proc.waitForReadyRead(500);
|
proc.waitForReadyRead(500);
|
||||||
question += proc.readAllStandardOutput();
|
question += proc.readAllRawStandardOutput();
|
||||||
if (question.endsWith(QByteArray("]:"))) {
|
if (question.endsWith(QByteArray("]:"))) {
|
||||||
// truncate to last line
|
// truncate to last line
|
||||||
int index = question.lastIndexOf(QByteArray("\n"));
|
int index = question.lastIndexOf(QByteArray("\n"));
|
||||||
@@ -120,7 +120,7 @@ static CreateAvdInfo createAvdCommand(const AndroidConfig &config, const CreateA
|
|||||||
}
|
}
|
||||||
// The exit code is always 0, so we need to check stderr
|
// The exit code is always 0, so we need to check stderr
|
||||||
// For now assume that any output at all indicates a error
|
// For now assume that any output at all indicates a error
|
||||||
errorOutput = QString::fromLocal8Bit(proc.readAllStandardError());
|
errorOutput = QString::fromLocal8Bit(proc.readAllRawStandardError());
|
||||||
if (!proc.isRunning())
|
if (!proc.isRunning())
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -270,7 +270,7 @@ bool AndroidAvdManager::startAvdAsync(const QString &avdName) const
|
|||||||
avdProcess->setProcessChannelMode(QProcess::MergedChannels);
|
avdProcess->setProcessChannelMode(QProcess::MergedChannels);
|
||||||
QObject::connect(avdProcess, &QtcProcess::done, avdProcess, [avdProcess] {
|
QObject::connect(avdProcess, &QtcProcess::done, avdProcess, [avdProcess] {
|
||||||
if (avdProcess->exitCode()) {
|
if (avdProcess->exitCode()) {
|
||||||
const QString errorOutput = QString::fromLatin1(avdProcess->readAllStandardOutput());
|
const QString errorOutput = QString::fromLatin1(avdProcess->readAllRawStandardOutput());
|
||||||
QMetaObject::invokeMethod(Core::ICore::mainWindow(), [errorOutput] {
|
QMetaObject::invokeMethod(Core::ICore::mainWindow(), [errorOutput] {
|
||||||
const QString title = Tr::tr("AVD Start Error");
|
const QString title = Tr::tr("AVD Start Error");
|
||||||
QMessageBox::critical(Core::ICore::dialogParent(), title, errorOutput);
|
QMessageBox::critical(Core::ICore::dialogParent(), title, errorOutput);
|
||||||
|
@@ -1489,7 +1489,7 @@ FilePath AndroidConfig::getJdkPath()
|
|||||||
findJdkPathProc.setCommand({"sh", args});
|
findJdkPathProc.setCommand({"sh", args});
|
||||||
findJdkPathProc.start();
|
findJdkPathProc.start();
|
||||||
findJdkPathProc.waitForFinished();
|
findJdkPathProc.waitForFinished();
|
||||||
QByteArray jdkPath = findJdkPathProc.readAllStandardOutput().trimmed();
|
QByteArray jdkPath = findJdkPathProc.readAllRawStandardOutput().trimmed();
|
||||||
|
|
||||||
if (HostOsInfo::isMacHost()) {
|
if (HostOsInfo::isMacHost()) {
|
||||||
jdkHome = FilePath::fromUtf8(jdkPath);
|
jdkHome = FilePath::fromUtf8(jdkPath);
|
||||||
|
@@ -1012,7 +1012,7 @@ void AndroidSdkManagerPrivate::getPendingLicense(SdkCmdFutureInterface &fi)
|
|||||||
QTextCodec *codec = QTextCodec::codecForLocale();
|
QTextCodec *codec = QTextCodec::codecForLocale();
|
||||||
int inputCounter = 0, steps = -1;
|
int inputCounter = 0, steps = -1;
|
||||||
while (!licenseCommand.waitForFinished(200)) {
|
while (!licenseCommand.waitForFinished(200)) {
|
||||||
QString stdOut = codec->toUnicode(licenseCommand.readAllStandardOutput());
|
QString stdOut = codec->toUnicode(licenseCommand.readAllRawStandardOutput());
|
||||||
bool assertionFound = false;
|
bool assertionFound = false;
|
||||||
if (!stdOut.isEmpty())
|
if (!stdOut.isEmpty())
|
||||||
assertionFound = onLicenseStdOut(stdOut, reviewingLicenses, result, fi);
|
assertionFound = onLicenseStdOut(stdOut, reviewingLicenses, result, fi);
|
||||||
|
@@ -39,7 +39,7 @@ void AndroidSignalOperation::adbFindRunAsFinished()
|
|||||||
m_timeout->stop();
|
m_timeout->stop();
|
||||||
|
|
||||||
handleCrashMessage();
|
handleCrashMessage();
|
||||||
const QString runAs = QString::fromLatin1(m_adbProcess->readAllStandardOutput());
|
const QString runAs = QString::fromLatin1(m_adbProcess->readAllRawStandardOutput());
|
||||||
m_adbProcess.release()->deleteLater();
|
m_adbProcess.release()->deleteLater();
|
||||||
if (runAs.isEmpty() || !m_errorMessage.isEmpty()) {
|
if (runAs.isEmpty() || !m_errorMessage.isEmpty()) {
|
||||||
m_errorMessage.prepend(QLatin1String("Cannot find User for process: ")
|
m_errorMessage.prepend(QLatin1String("Cannot find User for process: ")
|
||||||
@@ -59,7 +59,7 @@ void AndroidSignalOperation::adbKillFinished()
|
|||||||
m_timeout->stop();
|
m_timeout->stop();
|
||||||
|
|
||||||
if (!handleCrashMessage())
|
if (!handleCrashMessage())
|
||||||
m_errorMessage = QString::fromLatin1(m_adbProcess->readAllStandardError());
|
m_errorMessage = QString::fromLatin1(m_adbProcess->readAllRawStandardError());
|
||||||
m_adbProcess.release()->deleteLater();
|
m_adbProcess.release()->deleteLater();
|
||||||
if (!m_errorMessage.isEmpty())
|
if (!m_errorMessage.isEmpty())
|
||||||
m_errorMessage.prepend(QLatin1String("Cannot kill process: ") + QString::number(m_pid));
|
m_errorMessage.prepend(QLatin1String("Cannot kill process: ") + QString::number(m_pid));
|
||||||
|
@@ -36,10 +36,10 @@ public:
|
|||||||
connect(&m_launcher, &QtcProcess::done, this, &RunWorker::reportStopped);
|
connect(&m_launcher, &QtcProcess::done, this, &RunWorker::reportStopped);
|
||||||
|
|
||||||
connect(&m_launcher, &QtcProcess::readyReadStandardOutput, this, [this] {
|
connect(&m_launcher, &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
appendMessage(QString::fromUtf8(m_launcher.readAllStandardOutput()), StdOutFormat);
|
appendMessage(m_launcher.readAllStandardOutput(), StdOutFormat);
|
||||||
});
|
});
|
||||||
connect(&m_launcher, &QtcProcess::readyReadStandardError, this, [this] {
|
connect(&m_launcher, &QtcProcess::readyReadStandardError, this, [this] {
|
||||||
appendMessage(QString::fromUtf8(m_launcher.readAllStandardError()), StdErrFormat);
|
appendMessage(m_launcher.readAllStandardError(), StdErrFormat);
|
||||||
});
|
});
|
||||||
|
|
||||||
m_portsGatherer = new DebugServerPortsGatherer(runControl);
|
m_portsGatherer = new DebugServerPortsGatherer(runControl);
|
||||||
|
@@ -50,7 +50,7 @@ private:
|
|||||||
process.setCommand(cmd);
|
process.setCommand(cmd);
|
||||||
QtcProcess *proc = &process;
|
QtcProcess *proc = &process;
|
||||||
connect(proc, &QtcProcess::readyReadStandardError, this, [this, proc] {
|
connect(proc, &QtcProcess::readyReadStandardError, this, [this, proc] {
|
||||||
emit stdErrData(QString::fromUtf8(proc->readAllStandardError()));
|
emit stdErrData(proc->readAllStandardError());
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const auto doneHandler = [this](const QtcProcess &) {
|
const auto doneHandler = [this](const QtcProcess &) {
|
||||||
|
@@ -42,7 +42,7 @@ Group QdbStopApplicationService::deployRecipe()
|
|||||||
process.setWorkingDirectory("/usr/bin");
|
process.setWorkingDirectory("/usr/bin");
|
||||||
QtcProcess *proc = &process;
|
QtcProcess *proc = &process;
|
||||||
connect(proc, &QtcProcess::readyReadStandardOutput, this, [this, proc] {
|
connect(proc, &QtcProcess::readyReadStandardOutput, this, [this, proc] {
|
||||||
emit stdOutData(QString::fromUtf8(proc->readAllStandardOutput()));
|
emit stdOutData(proc->readAllStandardOutput());
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const auto doneHandler = [this](const QtcProcess &) {
|
const auto doneHandler = [this](const QtcProcess &) {
|
||||||
|
@@ -38,7 +38,7 @@ static void runProcess(QFutureInterface<void> &future,
|
|||||||
int processed = 0;
|
int processed = 0;
|
||||||
QString buffer;
|
QString buffer;
|
||||||
while (process.waitForReadyRead() && !future.isCanceled()) {
|
while (process.waitForReadyRead() && !future.isCanceled()) {
|
||||||
buffer += QString::fromLocal8Bit(process.readAllStandardOutput());
|
buffer += QString::fromLocal8Bit(process.readAllRawStandardOutput());
|
||||||
while (const int index = buffer.indexOf('\n') != -1) {
|
while (const int index = buffer.indexOf('\n') != -1) {
|
||||||
const QString line = buffer.left(index + 1);
|
const QString line = buffer.left(index + 1);
|
||||||
processLine(line, ++processed);
|
processLine(line, ++processed);
|
||||||
|
@@ -927,7 +927,7 @@ void CMakeBuildSystem::runCTest()
|
|||||||
process.start();
|
process.start();
|
||||||
if (!process.waitForFinished() || process.result() != ProcessResult::FinishedWithSuccess)
|
if (!process.waitForFinished() || process.result() != ProcessResult::FinishedWithSuccess)
|
||||||
return;
|
return;
|
||||||
futureInterface.reportResult(process.readAllStandardOutput());
|
futureInterface.reportResult(process.readAllRawStandardOutput());
|
||||||
});
|
});
|
||||||
|
|
||||||
Utils::onFinished(future, this, [this](const QFuture<QByteArray> &future) {
|
Utils::onFinished(future, this, [this](const QFuture<QByteArray> &future) {
|
||||||
@@ -1409,10 +1409,10 @@ void CMakeBuildSystem::runGenerator(Utils::Id id)
|
|||||||
const auto proc = new QtcProcess(this);
|
const auto proc = new QtcProcess(this);
|
||||||
connect(proc, &QtcProcess::done, proc, &QtcProcess::deleteLater);
|
connect(proc, &QtcProcess::done, proc, &QtcProcess::deleteLater);
|
||||||
connect(proc, &QtcProcess::readyReadStandardOutput, this, [proc] {
|
connect(proc, &QtcProcess::readyReadStandardOutput, this, [proc] {
|
||||||
Core::MessageManager::writeFlashing(QString::fromLocal8Bit(proc->readAllStandardOutput()));
|
Core::MessageManager::writeFlashing(QString::fromLocal8Bit(proc->readAllRawStandardOutput()));
|
||||||
});
|
});
|
||||||
connect(proc, &QtcProcess::readyReadStandardError, this, [proc] {
|
connect(proc, &QtcProcess::readyReadStandardError, this, [proc] {
|
||||||
Core::MessageManager::writeDisrupting(QString::fromLocal8Bit(proc->readAllStandardError()));
|
Core::MessageManager::writeDisrupting(QString::fromLocal8Bit(proc->readAllRawStandardError()));
|
||||||
});
|
});
|
||||||
proc->setWorkingDirectory(outDir);
|
proc->setWorkingDirectory(outDir);
|
||||||
proc->setEnvironment(buildConfiguration()->environment());
|
proc->setEnvironment(buildConfiguration()->environment());
|
||||||
|
@@ -673,7 +673,7 @@ void ExternalToolRunner::readStandardOutput()
|
|||||||
{
|
{
|
||||||
if (m_tool->outputHandling() == ExternalTool::Ignore)
|
if (m_tool->outputHandling() == ExternalTool::Ignore)
|
||||||
return;
|
return;
|
||||||
const QByteArray data = m_process->readAllStandardOutput();
|
const QByteArray data = m_process->readAllRawStandardOutput();
|
||||||
const QString output = m_outputCodec->toUnicode(data.constData(),
|
const QString output = m_outputCodec->toUnicode(data.constData(),
|
||||||
data.length(),
|
data.length(),
|
||||||
&m_outputCodecState);
|
&m_outputCodecState);
|
||||||
@@ -687,7 +687,7 @@ void ExternalToolRunner::readStandardError()
|
|||||||
{
|
{
|
||||||
if (m_tool->errorHandling() == ExternalTool::Ignore)
|
if (m_tool->errorHandling() == ExternalTool::Ignore)
|
||||||
return;
|
return;
|
||||||
const QByteArray data = m_process->readAllStandardError();
|
const QByteArray data = m_process->readAllRawStandardError();
|
||||||
const QString output = m_outputCodec->toUnicode(data.constData(),
|
const QString output = m_outputCodec->toUnicode(data.constData(),
|
||||||
data.length(),
|
data.length(),
|
||||||
&m_errorCodecState);
|
&m_errorCodecState);
|
||||||
|
@@ -124,7 +124,7 @@ void ExecuteFilter::done()
|
|||||||
void ExecuteFilter::readStandardOutput()
|
void ExecuteFilter::readStandardOutput()
|
||||||
{
|
{
|
||||||
QTC_ASSERT(m_process, return);
|
QTC_ASSERT(m_process, return);
|
||||||
const QByteArray data = m_process->readAllStandardOutput();
|
const QByteArray data = m_process->readAllRawStandardOutput();
|
||||||
MessageManager::writeSilently(
|
MessageManager::writeSilently(
|
||||||
QTextCodec::codecForLocale()->toUnicode(data.constData(), data.size(), &m_stdoutState));
|
QTextCodec::codecForLocale()->toUnicode(data.constData(), data.size(), &m_stdoutState));
|
||||||
}
|
}
|
||||||
@@ -132,7 +132,7 @@ void ExecuteFilter::readStandardOutput()
|
|||||||
void ExecuteFilter::readStandardError()
|
void ExecuteFilter::readStandardError()
|
||||||
{
|
{
|
||||||
QTC_ASSERT(m_process, return);
|
QTC_ASSERT(m_process, return);
|
||||||
const QByteArray data = m_process->readAllStandardError();
|
const QByteArray data = m_process->readAllRawStandardError();
|
||||||
MessageManager::writeSilently(
|
MessageManager::writeSilently(
|
||||||
QTextCodec::codecForLocale()->toUnicode(data.constData(), data.size(), &m_stderrState));
|
QTextCodec::codecForLocale()->toUnicode(data.constData(), data.size(), &m_stderrState));
|
||||||
}
|
}
|
||||||
|
@@ -78,7 +78,7 @@ SpotlightIterator::SpotlightIterator(const QStringList &command)
|
|||||||
});
|
});
|
||||||
QObject::connect(m_process.get(), &QtcProcess::readyReadStandardOutput,
|
QObject::connect(m_process.get(), &QtcProcess::readyReadStandardOutput,
|
||||||
m_process.get(), [this] {
|
m_process.get(), [this] {
|
||||||
QString output = QString::fromUtf8(m_process->readAllStandardOutput());
|
QString output = m_process->readAllStandardOutput();
|
||||||
output.replace("\r\n", "\n");
|
output.replace("\r\n", "\n");
|
||||||
const QStringList items = output.split('\n');
|
const QStringList items = output.split('\n');
|
||||||
QMutexLocker lock(&m_mutex);
|
QMutexLocker lock(&m_mutex);
|
||||||
|
@@ -20,7 +20,7 @@ CppcheckRunner::CppcheckRunner(CppcheckTool &tool) : m_tool(tool)
|
|||||||
getConf.setCommand({"getconf", {"ARG_MAX"}});
|
getConf.setCommand({"getconf", {"ARG_MAX"}});
|
||||||
getConf.start();
|
getConf.start();
|
||||||
getConf.waitForFinished(2000);
|
getConf.waitForFinished(2000);
|
||||||
const QByteArray argMax = getConf.readAllStandardOutput().replace("\n", "");
|
const QByteArray argMax = getConf.readAllRawStandardOutput().replace("\n", "");
|
||||||
m_maxArgumentsLength = std::max(argMax.toInt(), m_maxArgumentsLength);
|
m_maxArgumentsLength = std::max(argMax.toInt(), m_maxArgumentsLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -375,7 +375,7 @@ static FilePath getClangHeadersPathFromClang(const FilePath &clangdFilePath)
|
|||||||
if (!clang.waitForFinished())
|
if (!clang.waitForFinished())
|
||||||
return {};
|
return {};
|
||||||
const FilePath resourceDir = FilePath::fromUserInput(QString::fromLocal8Bit(
|
const FilePath resourceDir = FilePath::fromUserInput(QString::fromLocal8Bit(
|
||||||
clang.readAllStandardOutput().trimmed()));
|
clang.readAllRawStandardOutput().trimmed()));
|
||||||
if (resourceDir.isEmpty() || !resourceDir.exists())
|
if (resourceDir.isEmpty() || !resourceDir.exists())
|
||||||
return {};
|
return {};
|
||||||
const FilePath includeDir = resourceDir.pathAppended("include");
|
const FilePath includeDir = resourceDir.pathAppended("include");
|
||||||
|
@@ -457,7 +457,7 @@ void CppModelManager::showPreprocessedFile(bool inNextSplit)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (isMsvc)
|
if (isMsvc)
|
||||||
saveAndOpen(outFilePath, compiler->readAllStandardOutput(), inNextSplit);
|
saveAndOpen(outFilePath, compiler->readAllRawStandardOutput(), inNextSplit);
|
||||||
else
|
else
|
||||||
openEditor(outFilePath, inNextSplit, Core::Constants::K_DEFAULT_TEXT_EDITOR_ID);
|
openEditor(outFilePath, inNextSplit, Core::Constants::K_DEFAULT_TEXT_EDITOR_ID);
|
||||||
});
|
});
|
||||||
|
@@ -131,7 +131,7 @@ private:
|
|||||||
m_tempCoreFile.setFileName(m_tempCoreFilePath.path());
|
m_tempCoreFile.setFileName(m_tempCoreFilePath.path());
|
||||||
m_tempCoreFile.open(QFile::WriteOnly);
|
m_tempCoreFile.open(QFile::WriteOnly);
|
||||||
connect(&m_coreUnpackProcess, &QtcProcess::readyReadStandardOutput, this, [this] {
|
connect(&m_coreUnpackProcess, &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
m_tempCoreFile.write(m_coreUnpackProcess.readAllStandardOutput());
|
m_tempCoreFile.write(m_coreUnpackProcess.readAllRawStandardOutput());
|
||||||
});
|
});
|
||||||
m_coreUnpackProcess.setCommand({"gzip", {"-c", "-d", m_coreFilePath.path()}});
|
m_coreUnpackProcess.setCommand({"gzip", {"-c", "-d", m_coreFilePath.path()}});
|
||||||
reportStarted();
|
reportStarted();
|
||||||
|
@@ -431,7 +431,7 @@ static QString findQtInstallPath(const FilePath &qmakePath)
|
|||||||
qWarning("%s: '%s' crashed.", Q_FUNC_INFO, qPrintable(qmakePath.toString()));
|
qWarning("%s: '%s' crashed.", Q_FUNC_INFO, qPrintable(qmakePath.toString()));
|
||||||
return QString();
|
return QString();
|
||||||
}
|
}
|
||||||
const QByteArray ba = proc.readAllStandardOutput().trimmed();
|
const QByteArray ba = proc.readAllRawStandardOutput().trimmed();
|
||||||
QDir dir(QString::fromLocal8Bit(ba));
|
QDir dir(QString::fromLocal8Bit(ba));
|
||||||
if (dir.exists() && dir.cdUp())
|
if (dir.exists() && dir.cdUp())
|
||||||
return dir.absolutePath();
|
return dir.absolutePath();
|
||||||
|
@@ -589,7 +589,7 @@ void GdbEngine::handleAsyncOutput(const QString &asyncClass, const GdbMi &result
|
|||||||
|
|
||||||
void GdbEngine::readGdbStandardError()
|
void GdbEngine::readGdbStandardError()
|
||||||
{
|
{
|
||||||
QString err = QString::fromUtf8(m_gdbProc.readAllStandardError());
|
QString err = QString::fromUtf8(m_gdbProc.readAllRawStandardError());
|
||||||
showMessage("UNEXPECTED GDB STDERR: " + err);
|
showMessage("UNEXPECTED GDB STDERR: " + err);
|
||||||
if (err == "Undefined command: \"bb\". Try \"help\".\n")
|
if (err == "Undefined command: \"bb\". Try \"help\".\n")
|
||||||
return;
|
return;
|
||||||
@@ -616,7 +616,7 @@ void GdbEngine::readGdbStandardOutput()
|
|||||||
int newstart = 0;
|
int newstart = 0;
|
||||||
int scan = m_inbuffer.size();
|
int scan = m_inbuffer.size();
|
||||||
|
|
||||||
QByteArray out = m_gdbProc.readAllStandardOutput();
|
QByteArray out = m_gdbProc.readAllRawStandardOutput();
|
||||||
m_inbuffer.append(out);
|
m_inbuffer.append(out);
|
||||||
|
|
||||||
// This can trigger when a dialog starts a nested event loop.
|
// This can trigger when a dialog starts a nested event loop.
|
||||||
|
@@ -824,14 +824,14 @@ QString LldbEngine::errorMessage(QProcess::ProcessError error) const
|
|||||||
|
|
||||||
void LldbEngine::readLldbStandardError()
|
void LldbEngine::readLldbStandardError()
|
||||||
{
|
{
|
||||||
QString err = QString::fromUtf8(m_lldbProc.readAllStandardError());
|
QString err = QString::fromUtf8(m_lldbProc.readAllRawStandardError());
|
||||||
qDebug() << "\nLLDB STDERR UNEXPECTED: " << err;
|
qDebug() << "\nLLDB STDERR UNEXPECTED: " << err;
|
||||||
showMessage("Lldb stderr: " + err, LogError);
|
showMessage("Lldb stderr: " + err, LogError);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LldbEngine::readLldbStandardOutput()
|
void LldbEngine::readLldbStandardOutput()
|
||||||
{
|
{
|
||||||
QByteArray outba = m_lldbProc.readAllStandardOutput();
|
QByteArray outba = m_lldbProc.readAllRawStandardOutput();
|
||||||
outba.replace("\r\n", "\n");
|
outba.replace("\r\n", "\n");
|
||||||
QString out = QString::fromUtf8(outba);
|
QString out = QString::fromUtf8(outba);
|
||||||
showMessage(out, LogOutput);
|
showMessage(out, LogOutput);
|
||||||
|
@@ -413,7 +413,7 @@ void PdbEngine::handlePdbDone()
|
|||||||
|
|
||||||
void PdbEngine::readPdbStandardError()
|
void PdbEngine::readPdbStandardError()
|
||||||
{
|
{
|
||||||
QString err = QString::fromUtf8(m_proc.readAllStandardError());
|
QString err = QString::fromUtf8(m_proc.readAllRawStandardError());
|
||||||
//qWarning() << "Unexpected pdb stderr:" << err;
|
//qWarning() << "Unexpected pdb stderr:" << err;
|
||||||
showMessage("Unexpected pdb stderr: " + err);
|
showMessage("Unexpected pdb stderr: " + err);
|
||||||
//handleOutput(err);
|
//handleOutput(err);
|
||||||
@@ -421,8 +421,7 @@ void PdbEngine::readPdbStandardError()
|
|||||||
|
|
||||||
void PdbEngine::readPdbStandardOutput()
|
void PdbEngine::readPdbStandardOutput()
|
||||||
{
|
{
|
||||||
QString out = QString::fromUtf8(m_proc.readAllStandardOutput());
|
handleOutput(m_proc.readAllStandardOutput());
|
||||||
handleOutput(out);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PdbEngine::handleOutput(const QString &data)
|
void PdbEngine::handleOutput(const QString &data)
|
||||||
|
@@ -251,11 +251,11 @@ QmlEngine::QmlEngine()
|
|||||||
|
|
||||||
connect(&d->process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
connect(&d->process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
// FIXME: Redirect to RunControl
|
// FIXME: Redirect to RunControl
|
||||||
showMessage(QString::fromUtf8(d->process.readAllStandardOutput()), AppOutput);
|
showMessage(d->process.readAllStandardOutput(), AppOutput);
|
||||||
});
|
});
|
||||||
connect(&d->process, &QtcProcess::readyReadStandardError, this, [this] {
|
connect(&d->process, &QtcProcess::readyReadStandardError, this, [this] {
|
||||||
// FIXME: Redirect to RunControl
|
// FIXME: Redirect to RunControl
|
||||||
showMessage(QString::fromUtf8(d->process.readAllStandardError()), AppOutput);
|
showMessage(d->process.readAllStandardError(), AppOutput);
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(&d->process, &QtcProcess::done, this, &QmlEngine::disconnected);
|
connect(&d->process, &QtcProcess::done, this, &QmlEngine::disconnected);
|
||||||
|
@@ -236,7 +236,7 @@ DockerProcessImpl::DockerProcessImpl(IDevice::ConstPtr device, DockerDevicePriva
|
|||||||
|
|
||||||
connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
if (!m_hasReceivedFirstOutput) {
|
if (!m_hasReceivedFirstOutput) {
|
||||||
QByteArray output = m_process.readAllStandardOutput();
|
QByteArray output = m_process.readAllRawStandardOutput();
|
||||||
qsizetype idx = output.indexOf('\n');
|
qsizetype idx = output.indexOf('\n');
|
||||||
QByteArray firstLine = output.left(idx);
|
QByteArray firstLine = output.left(idx);
|
||||||
QByteArray rest = output.mid(idx + 1);
|
QByteArray rest = output.mid(idx + 1);
|
||||||
@@ -256,11 +256,11 @@ DockerProcessImpl::DockerProcessImpl(IDevice::ConstPtr device, DockerDevicePriva
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
emit readyRead(m_process.readAllStandardOutput(), {});
|
emit readyRead(m_process.readAllRawStandardOutput(), {});
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] {
|
connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] {
|
||||||
emit readyRead({}, m_process.readAllStandardError());
|
emit readyRead({}, m_process.readAllRawStandardError());
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(&m_process, &QtcProcess::done, this, [this] {
|
connect(&m_process, &QtcProcess::done, this, [this] {
|
||||||
@@ -1005,7 +1005,7 @@ public:
|
|||||||
m_process->setCommand(cmd);
|
m_process->setCommand(cmd);
|
||||||
|
|
||||||
connect(m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
connect(m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
const QString out = QString::fromUtf8(m_process->readAllStandardOutput().trimmed());
|
const QString out = m_process->readAllStandardOutput().trimmed();
|
||||||
m_log->append(out);
|
m_log->append(out);
|
||||||
for (const QString &line : out.split('\n')) {
|
for (const QString &line : out.split('\n')) {
|
||||||
const QStringList parts = line.trimmed().split('\t');
|
const QStringList parts = line.trimmed().split('\t');
|
||||||
|
@@ -260,12 +260,12 @@ QueryContext::QueryContext(const QString &query,
|
|||||||
m_arguments = server.curlArguments() << url;
|
m_arguments = server.curlArguments() << url;
|
||||||
}
|
}
|
||||||
connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] {
|
connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] {
|
||||||
const QString text = QString::fromLocal8Bit(m_process.readAllStandardError());
|
const QString text = QString::fromLocal8Bit(m_process.readAllRawStandardError());
|
||||||
VcsOutputWindow::appendError(text);
|
VcsOutputWindow::appendError(text);
|
||||||
m_error.append(text);
|
m_error.append(text);
|
||||||
});
|
});
|
||||||
connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
m_output.append(m_process.readAllStandardOutput());
|
m_output.append(m_process.readAllRawStandardOutput());
|
||||||
});
|
});
|
||||||
connect(&m_process, &QtcProcess::done, this, &QueryContext::processDone);
|
connect(&m_process, &QtcProcess::done, this, &QueryContext::processDone);
|
||||||
m_process.setEnvironment(Git::Internal::GitClient::instance()->processEnvironment());
|
m_process.setEnvironment(Git::Internal::GitClient::instance()->processEnvironment());
|
||||||
|
@@ -95,10 +95,10 @@ FetchContext::FetchContext(const QSharedPointer<GerritChange> &change,
|
|||||||
m_process.setUseCtrlCStub(true);
|
m_process.setUseCtrlCStub(true);
|
||||||
connect(&m_process, &QtcProcess::done, this, &FetchContext::processDone);
|
connect(&m_process, &QtcProcess::done, this, &FetchContext::processDone);
|
||||||
connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] {
|
connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] {
|
||||||
VcsBase::VcsOutputWindow::append(QString::fromLocal8Bit(m_process.readAllStandardError()));
|
VcsBase::VcsOutputWindow::append(QString::fromLocal8Bit(m_process.readAllRawStandardError()));
|
||||||
});
|
});
|
||||||
connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
VcsBase::VcsOutputWindow::append(QString::fromLocal8Bit(m_process.readAllStandardOutput()));
|
VcsBase::VcsOutputWindow::append(QString::fromLocal8Bit(m_process.readAllRawStandardOutput()));
|
||||||
});
|
});
|
||||||
m_process.setWorkingDirectory(repository);
|
m_process.setWorkingDirectory(repository);
|
||||||
m_process.setEnvironment(GitClient::instance()->processEnvironment());
|
m_process.setEnvironment(GitClient::instance()->processEnvironment());
|
||||||
|
@@ -169,7 +169,7 @@ void MergeTool::prompt(const QString &title, const QString &question)
|
|||||||
|
|
||||||
void MergeTool::readData()
|
void MergeTool::readData()
|
||||||
{
|
{
|
||||||
QString newData = QString::fromLocal8Bit(m_process.readAllStandardOutput());
|
QString newData = QString::fromLocal8Bit(m_process.readAllRawStandardOutput());
|
||||||
newData.remove('\r');
|
newData.remove('\r');
|
||||||
VcsOutputWindow::append(newData);
|
VcsOutputWindow::append(newData);
|
||||||
QString data = m_unfinishedLine + newData;
|
QString data = m_unfinishedLine + newData;
|
||||||
|
@@ -111,7 +111,7 @@ QueryRunner::QueryRunner(const Query &query, const Id &id, QObject *parent)
|
|||||||
}
|
}
|
||||||
VcsBase::VcsOutputWindow::appendError(m_process.exitMessage());
|
VcsBase::VcsOutputWindow::appendError(m_process.exitMessage());
|
||||||
} else {
|
} else {
|
||||||
emit resultRetrieved(m_process.readAllStandardOutput());
|
emit resultRetrieved(m_process.readAllRawStandardOutput());
|
||||||
}
|
}
|
||||||
emit finished();
|
emit finished();
|
||||||
});
|
});
|
||||||
|
@@ -152,7 +152,7 @@ void StdIOClientInterface::readError()
|
|||||||
{
|
{
|
||||||
QTC_ASSERT(m_process, return);
|
QTC_ASSERT(m_process, return);
|
||||||
|
|
||||||
const QByteArray stdErr = m_process->readAllStandardError();
|
const QByteArray stdErr = m_process->readAllRawStandardError();
|
||||||
m_logFile.write(stdErr);
|
m_logFile.write(stdErr);
|
||||||
|
|
||||||
qCDebug(LOGLSPCLIENTV) << "StdIOClient std err:\n";
|
qCDebug(LOGLSPCLIENTV) << "StdIOClient std err:\n";
|
||||||
@@ -162,7 +162,7 @@ void StdIOClientInterface::readError()
|
|||||||
void StdIOClientInterface::readOutput()
|
void StdIOClientInterface::readOutput()
|
||||||
{
|
{
|
||||||
QTC_ASSERT(m_process, return);
|
QTC_ASSERT(m_process, return);
|
||||||
const QByteArray &out = m_process->readAllStandardOutput();
|
const QByteArray &out = m_process->readAllRawStandardOutput();
|
||||||
qCDebug(LOGLSPCLIENTV) << "StdIOClient std out:\n";
|
qCDebug(LOGLSPCLIENTV) << "StdIOClient std out:\n";
|
||||||
qCDebug(LOGLSPCLIENTV).noquote() << out;
|
qCDebug(LOGLSPCLIENTV).noquote() << out;
|
||||||
parseData(out);
|
parseData(out);
|
||||||
|
@@ -51,8 +51,8 @@ void MesonProcess::handleProcessDone()
|
|||||||
ProjectExplorer::TaskHub::addTask(ProjectExplorer::BuildSystemTask{
|
ProjectExplorer::TaskHub::addTask(ProjectExplorer::BuildSystemTask{
|
||||||
ProjectExplorer::Task::TaskType::Error, m_process->exitMessage()});
|
ProjectExplorer::Task::TaskType::Error, m_process->exitMessage()});
|
||||||
}
|
}
|
||||||
m_stdo = m_process->readAllStandardOutput();
|
m_stdo = m_process->readAllRawStandardOutput();
|
||||||
m_stderr = m_process->readAllStandardError();
|
m_stderr = m_process->readAllRawStandardError();
|
||||||
const QString elapsedTime = formatElapsedTime(m_elapsed.elapsed());
|
const QString elapsedTime = formatElapsedTime(m_elapsed.elapsed());
|
||||||
MessageManager::writeSilently(elapsedTime);
|
MessageManager::writeSilently(elapsedTime);
|
||||||
emit finished(m_process->exitCode(), m_process->exitStatus());
|
emit finished(m_process->exitCode(), m_process->exitStatus());
|
||||||
@@ -105,14 +105,14 @@ bool MesonProcess::sanityCheck(const Command &command) const
|
|||||||
|
|
||||||
void MesonProcess::processStandardOutput()
|
void MesonProcess::processStandardOutput()
|
||||||
{
|
{
|
||||||
const auto data = m_process->readAllStandardOutput();
|
const auto data = m_process->readAllRawStandardOutput();
|
||||||
MessageManager::writeSilently(QString::fromLocal8Bit(data));
|
MessageManager::writeSilently(QString::fromLocal8Bit(data));
|
||||||
emit readyReadStandardOutput(data);
|
emit readyReadStandardOutput(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MesonProcess::processStandardError()
|
void MesonProcess::processStandardError()
|
||||||
{
|
{
|
||||||
MessageManager::writeSilently(QString::fromLocal8Bit(m_process->readAllStandardError()));
|
MessageManager::writeSilently(QString::fromLocal8Bit(m_process->readAllRawStandardError()));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -42,7 +42,7 @@ inline bool run_meson(const Command &command, QIODevice *output = nullptr)
|
|||||||
if (!process.waitForFinished())
|
if (!process.waitForFinished())
|
||||||
return false;
|
return false;
|
||||||
if (output) {
|
if (output) {
|
||||||
output->write(process.readAllStandardOutput());
|
output->write(process.readAllRawStandardOutput());
|
||||||
}
|
}
|
||||||
return process.exitCode() == 0;
|
return process.exitCode() == 0;
|
||||||
}
|
}
|
||||||
|
@@ -22,7 +22,7 @@ const char C_NIMBLEPROJECT_TASKS[] = "Nim.NimbleProject.Tasks";
|
|||||||
|
|
||||||
static QList<QByteArray> linesFromProcessOutput(QtcProcess *process)
|
static QList<QByteArray> linesFromProcessOutput(QtcProcess *process)
|
||||||
{
|
{
|
||||||
QList<QByteArray> lines = process->readAllStandardOutput().split('\n');
|
QList<QByteArray> lines = process->readAllRawStandardOutput().split('\n');
|
||||||
lines = Utils::transform(lines, [](const QByteArray &line){ return line.trimmed(); });
|
lines = Utils::transform(lines, [](const QByteArray &line){ return line.trimmed(); });
|
||||||
Utils::erase(lines, [](const QByteArray &line) { return line.isEmpty(); });
|
Utils::erase(lines, [](const QByteArray &line) { return line.isEmpty(); });
|
||||||
return lines;
|
return lines;
|
||||||
|
@@ -100,7 +100,7 @@ bool NimToolChain::parseVersion(const FilePath &path, std::tuple<int, int, int>
|
|||||||
process.start();
|
process.start();
|
||||||
if (!process.waitForFinished())
|
if (!process.waitForFinished())
|
||||||
return false;
|
return false;
|
||||||
const QString version = QString::fromUtf8(process.readAllStandardOutput()).section('\n', 0, 0);
|
const QString version = process.readAllStandardOutput().section('\n', 0, 0);
|
||||||
if (version.isEmpty())
|
if (version.isEmpty())
|
||||||
return false;
|
return false;
|
||||||
const QRegularExpression regex("(\\d+)\\.(\\d+)\\.(\\d+)");
|
const QRegularExpression regex("(\\d+)\\.(\\d+)\\.(\\d+)");
|
||||||
|
@@ -60,12 +60,12 @@ QString NimSuggestServer::projectFilePath() const
|
|||||||
void NimSuggestServer::onStandardOutputAvailable()
|
void NimSuggestServer::onStandardOutputAvailable()
|
||||||
{
|
{
|
||||||
if (!m_portAvailable) {
|
if (!m_portAvailable) {
|
||||||
const QString output = QString::fromUtf8(m_process.readAllStandardOutput());
|
const QString output = m_process.readAllStandardOutput();
|
||||||
m_port = static_cast<uint16_t>(output.toUInt());
|
m_port = static_cast<uint16_t>(output.toUInt());
|
||||||
m_portAvailable = true;
|
m_portAvailable = true;
|
||||||
emit started();
|
emit started();
|
||||||
} else {
|
} else {
|
||||||
qDebug() << m_process.readAllStandardOutput();
|
qDebug() << m_process.readAllRawStandardOutput();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -161,7 +161,7 @@ void PerfConfigWidget::handleProcessDone()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const QList<QByteArray> lines =
|
const QList<QByteArray> lines =
|
||||||
m_process->readAllStandardOutput().append(m_process->readAllStandardError())
|
m_process->readAllRawStandardOutput().append(m_process->readAllRawStandardError())
|
||||||
.split('\n');
|
.split('\n');
|
||||||
auto model = eventsView->model();
|
auto model = eventsView->model();
|
||||||
const int previousRows = model->rowCount();
|
const int previousRows = model->rowCount();
|
||||||
|
@@ -194,11 +194,11 @@ void PerfProfilerRunner::start()
|
|||||||
// That's the local case.
|
// That's the local case.
|
||||||
QtcProcess *recorder = prw->recorder();
|
QtcProcess *recorder = prw->recorder();
|
||||||
connect(recorder, &QtcProcess::readyReadStandardError, this, [this, recorder] {
|
connect(recorder, &QtcProcess::readyReadStandardError, this, [this, recorder] {
|
||||||
appendMessage(QString::fromLocal8Bit(recorder->readAllStandardError()),
|
appendMessage(QString::fromLocal8Bit(recorder->readAllRawStandardError()),
|
||||||
Utils::StdErrFormat);
|
Utils::StdErrFormat);
|
||||||
});
|
});
|
||||||
connect(recorder, &QtcProcess::readyReadStandardOutput, this, [this, reader, recorder] {
|
connect(recorder, &QtcProcess::readyReadStandardOutput, this, [this, reader, recorder] {
|
||||||
if (!reader->feedParser(recorder->readAllStandardOutput()))
|
if (!reader->feedParser(recorder->readAllRawStandardOutput()))
|
||||||
reportFailure(Tr::tr("Failed to transfer Perf data to perfparser."));
|
reportFailure(Tr::tr("Failed to transfer Perf data to perfparser."));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -116,11 +116,11 @@ void PerfTracePointDialog::handleProcessDone()
|
|||||||
} else if ((m_process->exitStatus() == QProcess::CrashExit) || (m_process->exitCode() != 0)) {
|
} else if ((m_process->exitStatus() == QProcess::CrashExit) || (m_process->exitCode() != 0)) {
|
||||||
message = Tr::tr("Failed to create trace points.");
|
message = Tr::tr("Failed to create trace points.");
|
||||||
} else {
|
} else {
|
||||||
message = Tr::tr("Created trace points for: %1").arg(QString::fromUtf8(
|
message = Tr::tr("Created trace points for: %1").arg(
|
||||||
m_process->readAllStandardOutput().trimmed().replace('\n', ", ")));
|
m_process->readAllStandardOutput().trimmed().replace('\n', ", "));
|
||||||
}
|
}
|
||||||
m_label->setText(message);
|
m_label->setText(message);
|
||||||
m_textEdit->setHtml(QString::fromUtf8(m_process->readAllStandardError()));
|
m_textEdit->setHtml(m_process->readAllStandardError());
|
||||||
m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);
|
m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);
|
||||||
m_buttonBox->button(QDialogButtonBox::Cancel)->setEnabled(false);
|
m_buttonBox->button(QDialogButtonBox::Cancel)->setEnabled(false);
|
||||||
}
|
}
|
||||||
|
@@ -223,11 +223,11 @@ void AbstractProcessStep::setupProcess(QtcProcess *process)
|
|||||||
process->setLowPriority();
|
process->setLowPriority();
|
||||||
|
|
||||||
connect(process, &QtcProcess::readyReadStandardOutput, this, [this, process] {
|
connect(process, &QtcProcess::readyReadStandardOutput, this, [this, process] {
|
||||||
emit addOutput(d->stdoutStream->toUnicode(process->readAllStandardOutput()),
|
emit addOutput(d->stdoutStream->toUnicode(process->readAllRawStandardOutput()),
|
||||||
OutputFormat::Stdout, DontAppendNewline);
|
OutputFormat::Stdout, DontAppendNewline);
|
||||||
});
|
});
|
||||||
connect(process, &QtcProcess::readyReadStandardError, this, [this, process] {
|
connect(process, &QtcProcess::readyReadStandardError, this, [this, process] {
|
||||||
emit addOutput(d->stderrStream->toUnicode(process->readAllStandardError()),
|
emit addOutput(d->stderrStream->toUnicode(process->readAllRawStandardError()),
|
||||||
OutputFormat::Stderr, DontAppendNewline);
|
OutputFormat::Stderr, DontAppendNewline);
|
||||||
});
|
});
|
||||||
connect(process, &QtcProcess::started, this, [this] {
|
connect(process, &QtcProcess::started, this, [this] {
|
||||||
|
@@ -87,7 +87,7 @@ void DeviceUsedPortsGatherer::setupUsedPorts()
|
|||||||
{
|
{
|
||||||
d->usedPorts.clear();
|
d->usedPorts.clear();
|
||||||
const QList<Port> usedPorts = d->portsGatheringMethod.parsePorts(
|
const QList<Port> usedPorts = d->portsGatheringMethod.parsePorts(
|
||||||
d->process->readAllStandardOutput());
|
d->process->readAllRawStandardOutput());
|
||||||
for (const Port port : usedPorts) {
|
for (const Port port : usedPorts) {
|
||||||
if (d->device->freePorts().contains(port))
|
if (d->device->freePorts().contains(port))
|
||||||
d->usedPorts << port;
|
d->usedPorts << port;
|
||||||
@@ -107,7 +107,7 @@ void DeviceUsedPortsGatherer::handleProcessDone()
|
|||||||
setupUsedPorts();
|
setupUsedPorts();
|
||||||
} else {
|
} else {
|
||||||
QString errMsg = d->process->errorString();
|
QString errMsg = d->process->errorString();
|
||||||
const QByteArray stdErr = d->process->readAllStandardError();
|
const QByteArray stdErr = d->process->readAllRawStandardError();
|
||||||
if (!stdErr.isEmpty()) {
|
if (!stdErr.isEmpty()) {
|
||||||
errMsg += QLatin1Char('\n');
|
errMsg += QLatin1Char('\n');
|
||||||
errMsg += tr("Remote error output was: %1").arg(QString::fromUtf8(stdErr));
|
errMsg += tr("Remote error output was: %1").arg(QString::fromUtf8(stdErr));
|
||||||
|
@@ -1360,7 +1360,7 @@ void SimpleTargetRunnerPrivate::handleDone()
|
|||||||
|
|
||||||
void SimpleTargetRunnerPrivate::handleStandardOutput()
|
void SimpleTargetRunnerPrivate::handleStandardOutput()
|
||||||
{
|
{
|
||||||
const QByteArray data = m_process.readAllStandardOutput();
|
const QByteArray data = m_process.readAllRawStandardOutput();
|
||||||
const QString msg = m_outputCodec->toUnicode(
|
const QString msg = m_outputCodec->toUnicode(
|
||||||
data.constData(), data.length(), &m_outputCodecState);
|
data.constData(), data.length(), &m_outputCodecState);
|
||||||
q->appendMessageChunk(msg, StdOutFormat);
|
q->appendMessageChunk(msg, StdOutFormat);
|
||||||
@@ -1368,7 +1368,7 @@ void SimpleTargetRunnerPrivate::handleStandardOutput()
|
|||||||
|
|
||||||
void SimpleTargetRunnerPrivate::handleStandardError()
|
void SimpleTargetRunnerPrivate::handleStandardError()
|
||||||
{
|
{
|
||||||
const QByteArray data = m_process.readAllStandardError();
|
const QByteArray data = m_process.readAllRawStandardError();
|
||||||
const QString msg = m_outputCodec->toUnicode(
|
const QString msg = m_outputCodec->toUnicode(
|
||||||
data.constData(), data.length(), &m_errorCodecState);
|
data.constData(), data.length(), &m_errorCodecState);
|
||||||
q->appendMessageChunk(msg, StdErrFormat);
|
q->appendMessageChunk(msg, StdErrFormat);
|
||||||
|
@@ -88,14 +88,14 @@ void PipInstallTask::handleDone()
|
|||||||
|
|
||||||
void PipInstallTask::handleOutput()
|
void PipInstallTask::handleOutput()
|
||||||
{
|
{
|
||||||
const QString &stdOut = QString::fromLocal8Bit(m_process.readAllStandardOutput().trimmed());
|
const QString &stdOut = QString::fromLocal8Bit(m_process.readAllRawStandardOutput().trimmed());
|
||||||
if (!stdOut.isEmpty())
|
if (!stdOut.isEmpty())
|
||||||
Core::MessageManager::writeSilently(stdOut);
|
Core::MessageManager::writeSilently(stdOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PipInstallTask::handleError()
|
void PipInstallTask::handleError()
|
||||||
{
|
{
|
||||||
const QString &stdErr = QString::fromLocal8Bit(m_process.readAllStandardError().trimmed());
|
const QString &stdErr = QString::fromLocal8Bit(m_process.readAllRawStandardError().trimmed());
|
||||||
if (!stdErr.isEmpty())
|
if (!stdErr.isEmpty())
|
||||||
Core::MessageManager::writeSilently(stdErr);
|
Core::MessageManager::writeSilently(stdErr);
|
||||||
}
|
}
|
||||||
|
@@ -41,7 +41,7 @@ FileNameToContentsHash PySideUicExtraCompiler::handleProcessFinished(QtcProcess
|
|||||||
return result;
|
return result;
|
||||||
// As far as I can discover in the UIC sources, it writes out local 8-bit encoding. The
|
// As far as I can discover in the UIC sources, it writes out local 8-bit encoding. The
|
||||||
// conversion below is to normalize both the encoding, and the line terminators.
|
// conversion below is to normalize both the encoding, and the line terminators.
|
||||||
result[targetList.first()] = QString::fromLocal8Bit(process->readAllStandardOutput()).toUtf8();
|
result[targetList.first()] = QString::fromLocal8Bit(process->readAllRawStandardOutput()).toUtf8();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -232,9 +232,9 @@ QString QbsProfileManager::runQbsConfig(QbsConfigOp op, const QString &key, cons
|
|||||||
} else if (qbsConfig.exitCode() != 0) {
|
} else if (qbsConfig.exitCode() != 0) {
|
||||||
Core::MessageManager::writeFlashing(
|
Core::MessageManager::writeFlashing(
|
||||||
Tr::tr("Failed to run qbs config: %1")
|
Tr::tr("Failed to run qbs config: %1")
|
||||||
.arg(QString::fromLocal8Bit(qbsConfig.readAllStandardError())));
|
.arg(QString::fromLocal8Bit(qbsConfig.readAllRawStandardError())));
|
||||||
}
|
}
|
||||||
return QString::fromLocal8Bit(qbsConfig.readAllStandardOutput()).trimmed();
|
return QString::fromLocal8Bit(qbsConfig.readAllRawStandardOutput()).trimmed();
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant fromJSLiteral(const QString &str)
|
QVariant fromJSLiteral(const QString &str)
|
||||||
|
@@ -156,10 +156,10 @@ void QbsSession::initialize()
|
|||||||
d->qbsProcess->setProcessMode(ProcessMode::Writer);
|
d->qbsProcess->setProcessMode(ProcessMode::Writer);
|
||||||
d->qbsProcess->setEnvironment(env);
|
d->qbsProcess->setEnvironment(env);
|
||||||
connect(d->qbsProcess, &QtcProcess::readyReadStandardOutput, this, [this] {
|
connect(d->qbsProcess, &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
d->packetReader->handleData(d->qbsProcess->readAllStandardOutput());
|
d->packetReader->handleData(d->qbsProcess->readAllRawStandardOutput());
|
||||||
});
|
});
|
||||||
connect(d->qbsProcess, &QtcProcess::readyReadStandardError, this, [this] {
|
connect(d->qbsProcess, &QtcProcess::readyReadStandardError, this, [this] {
|
||||||
qCDebug(qbsPmLog) << "[qbs stderr]: " << d->qbsProcess->readAllStandardError();
|
qCDebug(qbsPmLog) << "[qbs stderr]: " << d->qbsProcess->readAllRawStandardError();
|
||||||
});
|
});
|
||||||
connect(d->qbsProcess, &QtcProcess::done, this, [this] {
|
connect(d->qbsProcess, &QtcProcess::done, this, [this] {
|
||||||
if (d->qbsProcess->result() == ProcessResult::StartFailed) {
|
if (d->qbsProcess->result() == ProcessResult::StartFailed) {
|
||||||
|
@@ -37,7 +37,7 @@ static QString getQbsVersion(const FilePath &qbsExe)
|
|||||||
qbsProc.start();
|
qbsProc.start();
|
||||||
if (!qbsProc.waitForFinished(5000) || qbsProc.exitCode() != 0)
|
if (!qbsProc.waitForFinished(5000) || qbsProc.exitCode() != 0)
|
||||||
return {};
|
return {};
|
||||||
return QString::fromLocal8Bit(qbsProc.readAllStandardOutput()).trimmed();
|
return QString::fromLocal8Bit(qbsProc.readAllRawStandardOutput()).trimmed();
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool operator==(const QbsSettingsData &s1, const QbsSettingsData &s2)
|
static bool operator==(const QbsSettingsData &s1, const QbsSettingsData &s2)
|
||||||
|
@@ -1588,10 +1588,10 @@ void QmakeBuildSystem::runGenerator(Utils::Id id)
|
|||||||
const auto proc = new QtcProcess(this);
|
const auto proc = new QtcProcess(this);
|
||||||
connect(proc, &QtcProcess::done, proc, &QtcProcess::deleteLater);
|
connect(proc, &QtcProcess::done, proc, &QtcProcess::deleteLater);
|
||||||
connect(proc, &QtcProcess::readyReadStandardOutput, this, [proc] {
|
connect(proc, &QtcProcess::readyReadStandardOutput, this, [proc] {
|
||||||
Core::MessageManager::writeFlashing(QString::fromLocal8Bit(proc->readAllStandardOutput()));
|
Core::MessageManager::writeFlashing(QString::fromLocal8Bit(proc->readAllRawStandardOutput()));
|
||||||
});
|
});
|
||||||
connect(proc, &QtcProcess::readyReadStandardError, this, [proc] {
|
connect(proc, &QtcProcess::readyReadStandardError, this, [proc] {
|
||||||
Core::MessageManager::writeDisrupting(QString::fromLocal8Bit(proc->readAllStandardError()));
|
Core::MessageManager::writeDisrupting(QString::fromLocal8Bit(proc->readAllRawStandardError()));
|
||||||
});
|
});
|
||||||
proc->setWorkingDirectory(outDir);
|
proc->setWorkingDirectory(outDir);
|
||||||
proc->setEnvironment(buildConfiguration()->environment());
|
proc->setEnvironment(buildConfiguration()->environment());
|
||||||
|
@@ -2073,7 +2073,7 @@ void NodeInstanceView::handleQsbProcessExit(Utils::QtcProcess *qsbProcess, const
|
|||||||
--m_remainingQsbTargets;
|
--m_remainingQsbTargets;
|
||||||
|
|
||||||
const QString errStr = qsbProcess->errorString();
|
const QString errStr = qsbProcess->errorString();
|
||||||
const QByteArray stdErrStr = qsbProcess->readAllStandardError();
|
const QByteArray stdErrStr = qsbProcess->readAllRawStandardError();
|
||||||
|
|
||||||
if (!errStr.isEmpty() || !stdErrStr.isEmpty()) {
|
if (!errStr.isEmpty() || !stdErrStr.isEmpty()) {
|
||||||
Core::MessageManager::writeSilently(QCoreApplication::translate(
|
Core::MessageManager::writeSilently(QCoreApplication::translate(
|
||||||
|
@@ -110,7 +110,7 @@ void QnxDevice::updateVersionNumber() const
|
|||||||
versionNumberProcess.setCommand({filePath("uname"), {"-r"}});
|
versionNumberProcess.setCommand({filePath("uname"), {"-r"}});
|
||||||
versionNumberProcess.runBlocking(EventLoopMode::On);
|
versionNumberProcess.runBlocking(EventLoopMode::On);
|
||||||
|
|
||||||
QByteArray output = versionNumberProcess.readAllStandardOutput();
|
QByteArray output = versionNumberProcess.readAllRawStandardOutput();
|
||||||
QString versionMessage = QString::fromLatin1(output);
|
QString versionMessage = QString::fromLatin1(output);
|
||||||
const QRegularExpression versionNumberRegExp("(\\d+)\\.(\\d+)\\.(\\d+)");
|
const QRegularExpression versionNumberRegExp("(\\d+)\\.(\\d+)\\.(\\d+)");
|
||||||
const QRegularExpressionMatch match = versionNumberRegExp.match(versionMessage);
|
const QRegularExpressionMatch match = versionNumberRegExp.match(versionMessage);
|
||||||
|
@@ -60,10 +60,10 @@ void Slog2InfoRunner::start()
|
|||||||
const auto logStartHandler = [this](QtcProcess &process) {
|
const auto logStartHandler = [this](QtcProcess &process) {
|
||||||
process.setCommand({device()->filePath("slog2info"), {"-w"}});
|
process.setCommand({device()->filePath("slog2info"), {"-w"}});
|
||||||
connect(&process, &QtcProcess::readyReadStandardOutput, this, [&] {
|
connect(&process, &QtcProcess::readyReadStandardOutput, this, [&] {
|
||||||
processLogInput(QString::fromLatin1(process.readAllStandardOutput()));
|
processLogInput(QString::fromLatin1(process.readAllRawStandardOutput()));
|
||||||
});
|
});
|
||||||
connect(&process, &QtcProcess::readyReadStandardError, this, [&] {
|
connect(&process, &QtcProcess::readyReadStandardError, this, [&] {
|
||||||
appendMessage(QString::fromLatin1(process.readAllStandardError()), StdErrFormat);
|
appendMessage(QString::fromLatin1(process.readAllRawStandardError()), StdErrFormat);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const auto logErrorHandler = [this](const QtcProcess &process) {
|
const auto logErrorHandler = [this](const QtcProcess &process) {
|
||||||
|
@@ -1696,7 +1696,7 @@ static QByteArray runQmakeQuery(const FilePath &binary, const Environment &env,
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
const QByteArray out = process.readAllStandardOutput();
|
const QByteArray out = process.readAllRawStandardOutput();
|
||||||
if (out.isEmpty()) {
|
if (out.isEmpty()) {
|
||||||
*error = Tr::tr("\"%1\" produced no output: %2.")
|
*error = Tr::tr("\"%1\" produced no output: %2.")
|
||||||
.arg(binary.displayName(), process.cleanedStdErr());
|
.arg(binary.displayName(), process.cleanedStdErr());
|
||||||
|
@@ -375,7 +375,7 @@ static QList<QByteArray> runQtChooser(const QString &qtchooser, const QStringLis
|
|||||||
p.start();
|
p.start();
|
||||||
p.waitForFinished();
|
p.waitForFinished();
|
||||||
const bool success = p.exitCode() == 0;
|
const bool success = p.exitCode() == 0;
|
||||||
return success ? p.readAllStandardOutput().split('\n') : QList<QByteArray>();
|
return success ? p.readAllRawStandardOutput().split('\n') : QList<QByteArray>();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Asks qtchooser for the qmake path of a given version
|
// Asks qtchooser for the qmake path of a given version
|
||||||
|
@@ -59,7 +59,7 @@ FileNameToContentsHash UicGenerator::handleProcessFinished(Utils::QtcProcess *pr
|
|||||||
return result;
|
return result;
|
||||||
// As far as I can discover in the UIC sources, it writes out local 8-bit encoding. The
|
// As far as I can discover in the UIC sources, it writes out local 8-bit encoding. The
|
||||||
// conversion below is to normalize both the encoding, and the line terminators.
|
// conversion below is to normalize both the encoding, and the line terminators.
|
||||||
QByteArray content = QString::fromLocal8Bit(process->readAllStandardOutput()).toUtf8();
|
QByteArray content = QString::fromLocal8Bit(process->readAllRawStandardOutput()).toUtf8();
|
||||||
content.prepend("#pragma once\n");
|
content.prepend("#pragma once\n");
|
||||||
result[targetList.first()] = content;
|
result[targetList.first()] = content;
|
||||||
return result;
|
return result;
|
||||||
|
@@ -56,10 +56,10 @@ Group CustomCommandDeployService::deployRecipe()
|
|||||||
{"-c", m_commandLine}});
|
{"-c", m_commandLine}});
|
||||||
QtcProcess *proc = &process;
|
QtcProcess *proc = &process;
|
||||||
connect(proc, &QtcProcess::readyReadStandardOutput, this, [this, proc] {
|
connect(proc, &QtcProcess::readyReadStandardOutput, this, [this, proc] {
|
||||||
emit stdOutData(QString::fromUtf8(proc->readAllStandardOutput()));
|
emit stdOutData(proc->readAllStandardOutput());
|
||||||
});
|
});
|
||||||
connect(proc, &QtcProcess::readyReadStandardError, this, [this, proc] {
|
connect(proc, &QtcProcess::readyReadStandardError, this, [this, proc] {
|
||||||
emit stdErrData(QString::fromUtf8(proc->readAllStandardError()));
|
emit stdErrData(proc->readAllStandardError());
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const auto doneHandler = [this](const QtcProcess &) {
|
const auto doneHandler = [this](const QtcProcess &) {
|
||||||
|
@@ -132,7 +132,7 @@ QDateTime GenericDirectUploadServicePrivate::timestampFromStat(const DeployableF
|
|||||||
.arg(file.remoteFilePath(), error));
|
.arg(file.remoteFilePath(), error));
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
const QByteArray output = statProc->readAllStandardOutput().trimmed();
|
const QByteArray output = statProc->readAllRawStandardOutput().trimmed();
|
||||||
const QString warningString(Tr::tr("Unexpected stat output for remote file \"%1\": %2")
|
const QString warningString(Tr::tr("Unexpected stat output for remote file \"%1\": %2")
|
||||||
.arg(file.remoteFilePath()).arg(QString::fromUtf8(output)));
|
.arg(file.remoteFilePath()).arg(QString::fromUtf8(output)));
|
||||||
if (!output.startsWith(file.remoteFilePath().toUtf8())) {
|
if (!output.startsWith(file.remoteFilePath().toUtf8())) {
|
||||||
|
@@ -164,7 +164,7 @@ void SshSharedConnection::connectToHost()
|
|||||||
m_timer.setSingleShot(true);
|
m_timer.setSingleShot(true);
|
||||||
connect(&m_timer, &QTimer::timeout, this, &SshSharedConnection::autoDestructRequested);
|
connect(&m_timer, &QTimer::timeout, this, &SshSharedConnection::autoDestructRequested);
|
||||||
connect(m_masterProcess.get(), &QtcProcess::readyReadStandardOutput, this, [this] {
|
connect(m_masterProcess.get(), &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
const QByteArray reply = m_masterProcess->readAllStandardOutput();
|
const QByteArray reply = m_masterProcess->readAllRawStandardOutput();
|
||||||
if (reply == "\n")
|
if (reply == "\n")
|
||||||
emitConnected();
|
emitConnected();
|
||||||
// TODO: otherwise emitError and finish master process?
|
// TODO: otherwise emitError and finish master process?
|
||||||
@@ -719,14 +719,14 @@ void SshProcessInterfacePrivate::handleReadyReadStandardOutput()
|
|||||||
{
|
{
|
||||||
// By default emits signal. LinuxProcessImpl does custom parsing for processId
|
// By default emits signal. LinuxProcessImpl does custom parsing for processId
|
||||||
// and emits delayed start() - only when terminal is off.
|
// and emits delayed start() - only when terminal is off.
|
||||||
q->handleReadyReadStandardOutput(m_process.readAllStandardOutput());
|
q->handleReadyReadStandardOutput(m_process.readAllRawStandardOutput());
|
||||||
}
|
}
|
||||||
|
|
||||||
void SshProcessInterfacePrivate::handleReadyReadStandardError()
|
void SshProcessInterfacePrivate::handleReadyReadStandardError()
|
||||||
{
|
{
|
||||||
// By default emits signal. LinuxProcessImpl buffers the error channel until
|
// By default emits signal. LinuxProcessImpl buffers the error channel until
|
||||||
// it emits delayed start() - only when terminal is off.
|
// it emits delayed start() - only when terminal is off.
|
||||||
q->handleReadyReadStandardError(m_process.readAllStandardError());
|
q->handleReadyReadStandardError(m_process.readAllRawStandardError());
|
||||||
}
|
}
|
||||||
|
|
||||||
void SshProcessInterfacePrivate::clearForStart()
|
void SshProcessInterfacePrivate::clearForStart()
|
||||||
@@ -1175,7 +1175,7 @@ protected:
|
|||||||
: m_setup.m_files.first().direction();
|
: m_setup.m_files.first().direction();
|
||||||
SshParameters::setupSshEnvironment(&m_process);
|
SshParameters::setupSshEnvironment(&m_process);
|
||||||
connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
emit progress(QString::fromLocal8Bit(m_process.readAllStandardOutput()));
|
emit progress(QString::fromLocal8Bit(m_process.readAllRawStandardOutput()));
|
||||||
});
|
});
|
||||||
connect(&m_process, &QtcProcess::done, this, &SshTransferInterface::doneImpl);
|
connect(&m_process, &QtcProcess::done, this, &SshTransferInterface::doneImpl);
|
||||||
}
|
}
|
||||||
@@ -1190,7 +1190,7 @@ protected:
|
|||||||
resultData.m_errorString = Tr::tr("\"%1\" crashed.")
|
resultData.m_errorString = Tr::tr("\"%1\" crashed.")
|
||||||
.arg(FileTransfer::transferMethodName(m_setup.m_method));
|
.arg(FileTransfer::transferMethodName(m_setup.m_method));
|
||||||
} else if (resultData.m_exitCode != 0) {
|
} else if (resultData.m_exitCode != 0) {
|
||||||
resultData.m_errorString = QString::fromLocal8Bit(m_process.readAllStandardError());
|
resultData.m_errorString = QString::fromLocal8Bit(m_process.readAllRawStandardError());
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -89,7 +89,7 @@ void RemoteLinuxSignalOperation::runnerDone()
|
|||||||
} else if (m_process->exitCode() != 0) {
|
} else if (m_process->exitCode() != 0) {
|
||||||
m_errorMessage = Tr::tr("Exit code is %1. stderr:").arg(m_process->exitCode())
|
m_errorMessage = Tr::tr("Exit code is %1. stderr:").arg(m_process->exitCode())
|
||||||
+ QLatin1Char(' ')
|
+ QLatin1Char(' ')
|
||||||
+ QString::fromLatin1(m_process->readAllStandardError());
|
+ QString::fromLatin1(m_process->readAllRawStandardError());
|
||||||
}
|
}
|
||||||
m_process.release()->deleteLater();
|
m_process.release()->deleteLater();
|
||||||
emit finished(m_errorMessage);
|
emit finished(m_errorMessage);
|
||||||
|
@@ -70,7 +70,7 @@ TaskItem RsyncDeployService::mkdirTask()
|
|||||||
process.setCommand({deviceConfiguration()->filePath("mkdir"),
|
process.setCommand({deviceConfiguration()->filePath("mkdir"),
|
||||||
QStringList("-p") + remoteDirs});
|
QStringList("-p") + remoteDirs});
|
||||||
connect(&process, &QtcProcess::readyReadStandardError, this, [this, proc = &process] {
|
connect(&process, &QtcProcess::readyReadStandardError, this, [this, proc = &process] {
|
||||||
emit stdErrData(QString::fromLocal8Bit(proc->readAllStandardError()));
|
emit stdErrData(QString::fromLocal8Bit(proc->readAllRawStandardError()));
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const auto errorHandler = [this](const QtcProcess &process) {
|
const auto errorHandler = [this](const QtcProcess &process) {
|
||||||
|
@@ -118,7 +118,7 @@ void SshKeyCreationDialog::generateKeys()
|
|||||||
if (!keygen.waitForFinished())
|
if (!keygen.waitForFinished())
|
||||||
errorMsg = keygen.errorString();
|
errorMsg = keygen.errorString();
|
||||||
else if (keygen.exitCode() != 0)
|
else if (keygen.exitCode() != 0)
|
||||||
errorMsg = QString::fromLocal8Bit(keygen.readAllStandardError());
|
errorMsg = QString::fromLocal8Bit(keygen.readAllRawStandardError());
|
||||||
if (!errorMsg.isEmpty()) {
|
if (!errorMsg.isEmpty()) {
|
||||||
showError(Tr::tr("The ssh-keygen tool at \"%1\" failed: %2")
|
showError(Tr::tr("The ssh-keygen tool at \"%1\" failed: %2")
|
||||||
.arg(SshSettings::keygenFilePath().toUserOutput(), errorMsg));
|
.arg(SshSettings::keygenFilePath().toUserOutput(), errorMsg));
|
||||||
|
@@ -80,10 +80,10 @@ TaskItem TarPackageDeployService::installTask()
|
|||||||
process.setCommand({deviceConfiguration()->filePath("/bin/sh"), {"-c", cmdLine}});
|
process.setCommand({deviceConfiguration()->filePath("/bin/sh"), {"-c", cmdLine}});
|
||||||
QtcProcess *proc = &process;
|
QtcProcess *proc = &process;
|
||||||
connect(proc, &QtcProcess::readyReadStandardOutput, this, [this, proc] {
|
connect(proc, &QtcProcess::readyReadStandardOutput, this, [this, proc] {
|
||||||
emit stdOutData(QString::fromUtf8(proc->readAllStandardOutput()));
|
emit stdOutData(proc->readAllStandardOutput());
|
||||||
});
|
});
|
||||||
connect(proc, &QtcProcess::readyReadStandardError, this, [this, proc] {
|
connect(proc, &QtcProcess::readyReadStandardError, this, [this, proc] {
|
||||||
emit stdErrData(QString::fromUtf8(proc->readAllStandardError()));
|
emit stdErrData(proc->readAllStandardError());
|
||||||
});
|
});
|
||||||
emit progressMessage(Tr::tr("Installing package to device..."));
|
emit progressMessage(Tr::tr("Installing package to device..."));
|
||||||
};
|
};
|
||||||
|
@@ -802,7 +802,7 @@ void SquishTools::onRecorderFinished()
|
|||||||
void SquishTools::onServerOutput()
|
void SquishTools::onServerOutput()
|
||||||
{
|
{
|
||||||
// output used for getting the port information of the current squishserver
|
// output used for getting the port information of the current squishserver
|
||||||
const QByteArray output = m_serverProcess.readAllStandardOutput();
|
const QByteArray output = m_serverProcess.readAllRawStandardOutput();
|
||||||
const QList<QByteArray> lines = output.split('\n');
|
const QList<QByteArray> lines = output.split('\n');
|
||||||
for (const QByteArray &line : lines) {
|
for (const QByteArray &line : lines) {
|
||||||
const QByteArray trimmed = line.trimmed();
|
const QByteArray trimmed = line.trimmed();
|
||||||
@@ -830,7 +830,7 @@ void SquishTools::onServerOutput()
|
|||||||
void SquishTools::onServerErrorOutput()
|
void SquishTools::onServerErrorOutput()
|
||||||
{
|
{
|
||||||
// output that must be send to the Runner/Server Log
|
// output that must be send to the Runner/Server Log
|
||||||
const QByteArray output = m_serverProcess.readAllStandardError();
|
const QByteArray output = m_serverProcess.readAllRawStandardError();
|
||||||
const QList<QByteArray> lines = output.split('\n');
|
const QList<QByteArray> lines = output.split('\n');
|
||||||
for (const QByteArray &line : lines) {
|
for (const QByteArray &line : lines) {
|
||||||
const QByteArray trimmed = line.trimmed();
|
const QByteArray trimmed = line.trimmed();
|
||||||
@@ -922,7 +922,7 @@ void SquishTools::onRunnerOutput()
|
|||||||
void SquishTools::onRunnerErrorOutput()
|
void SquishTools::onRunnerErrorOutput()
|
||||||
{
|
{
|
||||||
// output that must be send to the Runner/Server Log
|
// output that must be send to the Runner/Server Log
|
||||||
const QByteArray output = m_runnerProcess.readAllStandardError();
|
const QByteArray output = m_runnerProcess.readAllRawStandardError();
|
||||||
const QList<QByteArray> lines = output.split('\n');
|
const QList<QByteArray> lines = output.split('\n');
|
||||||
for (const QByteArray &line : lines) {
|
for (const QByteArray &line : lines) {
|
||||||
const QByteArray trimmed = line.trimmed();
|
const QByteArray trimmed = line.trimmed();
|
||||||
|
@@ -103,14 +103,13 @@ static FormatTask format(FormatTask task)
|
|||||||
.arg(executable, task.filePath.displayName());
|
.arg(executable, task.filePath.displayName());
|
||||||
return task;
|
return task;
|
||||||
}
|
}
|
||||||
const QByteArray errorText = process.readAllStandardError();
|
const QString errorText = process.readAllStandardError();
|
||||||
if (!errorText.isEmpty()) {
|
if (!errorText.isEmpty()) {
|
||||||
task.error = QString::fromLatin1("%1: %2").arg(executable,
|
task.error = QString::fromLatin1("%1: %2").arg(executable, errorText);
|
||||||
QString::fromUtf8(errorText));
|
|
||||||
return task;
|
return task;
|
||||||
}
|
}
|
||||||
|
|
||||||
task.formattedData = QString::fromUtf8(process.readAllStandardOutput());
|
task.formattedData = process.readAllStandardOutput();
|
||||||
|
|
||||||
if (task.command.pipeAddsNewline() && task.formattedData.endsWith('\n')) {
|
if (task.command.pipeAddsNewline() && task.formattedData.endsWith('\n')) {
|
||||||
task.formattedData.chop(1);
|
task.formattedData.chop(1);
|
||||||
|
@@ -136,7 +136,7 @@ public:
|
|||||||
reportFailure();
|
reportFailure();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const QByteArrayList data = m_process->readAllStandardOutput().split(' ');
|
const QByteArrayList data = m_process->readAllRawStandardOutput().split(' ');
|
||||||
if (data.size() != 3) {
|
if (data.size() != 3) {
|
||||||
reportFailure();
|
reportFailure();
|
||||||
return;
|
return;
|
||||||
|
@@ -34,12 +34,10 @@ public:
|
|||||||
emit q->finished();
|
emit q->finished();
|
||||||
});
|
});
|
||||||
connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
connect(&m_process, &QtcProcess::readyReadStandardOutput, this, [this] {
|
||||||
emit q->appendMessage(QString::fromUtf8(m_process.readAllStandardOutput()),
|
emit q->appendMessage(m_process.readAllStandardOutput(), StdOutFormat);
|
||||||
StdOutFormat);
|
|
||||||
});
|
});
|
||||||
connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] {
|
connect(&m_process, &QtcProcess::readyReadStandardError, this, [this] {
|
||||||
emit q->appendMessage(QString::fromUtf8(m_process.readAllStandardError()),
|
emit q->appendMessage(m_process.readAllStandardError(), StdErrFormat);
|
||||||
StdErrFormat);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(&m_xmlServer, &QTcpServer::newConnection, this, &Private::xmlSocketConnected);
|
connect(&m_xmlServer, &QTcpServer::newConnection, this, &Private::xmlSocketConnected);
|
||||||
|
@@ -54,7 +54,7 @@ static WebBrowserEntries emrunBrowsers(ProjectExplorer::Target *target)
|
|||||||
browserLister.start();
|
browserLister.start();
|
||||||
|
|
||||||
if (browserLister.waitForFinished())
|
if (browserLister.waitForFinished())
|
||||||
result.append(parseEmrunOutput(browserLister.readAllStandardOutput()));
|
result.append(parseEmrunOutput(browserLister.readAllRawStandardOutput()));
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@@ -33,7 +33,7 @@ private:
|
|||||||
p.setCommand(cmd);
|
p.setCommand(cmd);
|
||||||
p.setEnvironment(testEnv);
|
p.setEnvironment(testEnv);
|
||||||
p.runBlocking();
|
p.runBlocking();
|
||||||
return QString::fromUtf8(p.readAllStandardOutput());
|
return QString::fromUtf8(p.readAllRawStandardOutput());
|
||||||
}
|
}
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
@@ -234,13 +234,13 @@ void tst_QtcProcess::multiRead()
|
|||||||
process.writeRaw("echo hi\n");
|
process.writeRaw("echo hi\n");
|
||||||
|
|
||||||
QVERIFY(process.waitForReadyRead(1000));
|
QVERIFY(process.waitForReadyRead(1000));
|
||||||
buffer = process.readAllStandardOutput();
|
buffer = process.readAllRawStandardOutput();
|
||||||
QCOMPARE(buffer, QByteArray("hi\n"));
|
QCOMPARE(buffer, QByteArray("hi\n"));
|
||||||
|
|
||||||
process.writeRaw("echo you\n");
|
process.writeRaw("echo you\n");
|
||||||
|
|
||||||
QVERIFY(process.waitForReadyRead(1000));
|
QVERIFY(process.waitForReadyRead(1000));
|
||||||
buffer = process.readAllStandardOutput();
|
buffer = process.readAllRawStandardOutput();
|
||||||
QCOMPARE(buffer, QByteArray("you\n"));
|
QCOMPARE(buffer, QByteArray("you\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1164,8 +1164,8 @@ void tst_QtcProcess::channelForwarding()
|
|||||||
process.start();
|
process.start();
|
||||||
QVERIFY(process.waitForFinished());
|
QVERIFY(process.waitForFinished());
|
||||||
|
|
||||||
const QByteArray output = process.readAllStandardOutput();
|
const QByteArray output = process.readAllRawStandardOutput();
|
||||||
const QByteArray error = process.readAllStandardError();
|
const QByteArray error = process.readAllRawStandardError();
|
||||||
|
|
||||||
QCOMPARE(output.contains(QByteArray(s_outputData)), outputForwarded);
|
QCOMPARE(output.contains(QByteArray(s_outputData)), outputForwarded);
|
||||||
QCOMPARE(error.contains(QByteArray(s_errorData)), errorForwarded);
|
QCOMPARE(error.contains(QByteArray(s_errorData)), errorForwarded);
|
||||||
@@ -1208,8 +1208,8 @@ void tst_QtcProcess::mergedChannels()
|
|||||||
process.start();
|
process.start();
|
||||||
QVERIFY(process.waitForFinished());
|
QVERIFY(process.waitForFinished());
|
||||||
|
|
||||||
const QByteArray output = process.readAllStandardOutput();
|
const QByteArray output = process.readAllRawStandardOutput();
|
||||||
const QByteArray error = process.readAllStandardError();
|
const QByteArray error = process.readAllRawStandardError();
|
||||||
|
|
||||||
QCOMPARE(output.contains(QByteArray(s_outputData)), outputOnOutput);
|
QCOMPARE(output.contains(QByteArray(s_outputData)), outputOnOutput);
|
||||||
QCOMPARE(error.contains(QByteArray(s_outputData)), outputOnError);
|
QCOMPARE(error.contains(QByteArray(s_outputData)), outputOnError);
|
||||||
@@ -1256,7 +1256,7 @@ void tst_QtcProcess::flushFinishedWhileWaitingForReadyRead()
|
|||||||
QByteArray reply;
|
QByteArray reply;
|
||||||
while (process.state() == QProcess::Running) {
|
while (process.state() == QProcess::Running) {
|
||||||
process.waitForReadyRead(500);
|
process.waitForReadyRead(500);
|
||||||
reply += process.readAllStandardOutput();
|
reply += process.readAllRawStandardOutput();
|
||||||
if (timer.hasExpired())
|
if (timer.hasExpired())
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1344,12 +1344,12 @@ void tst_QtcProcess::recursiveBlockingProcess()
|
|||||||
process.start();
|
process.start();
|
||||||
QVERIFY(process.waitForStarted(1000));
|
QVERIFY(process.waitForStarted(1000));
|
||||||
QVERIFY(process.waitForReadyRead(1000));
|
QVERIFY(process.waitForReadyRead(1000));
|
||||||
QCOMPARE(process.readAllStandardOutput(), s_leafProcessStarted);
|
QCOMPARE(process.readAllRawStandardOutput(), s_leafProcessStarted);
|
||||||
QCOMPARE(runningTestProcessCount(), recursionDepth);
|
QCOMPARE(runningTestProcessCount(), recursionDepth);
|
||||||
QVERIFY(!process.waitForFinished(1000));
|
QVERIFY(!process.waitForFinished(1000));
|
||||||
process.terminate();
|
process.terminate();
|
||||||
QVERIFY(process.waitForReadyRead());
|
QVERIFY(process.waitForReadyRead());
|
||||||
QCOMPARE(process.readAllStandardOutput(), s_leafProcessTerminated);
|
QCOMPARE(process.readAllRawStandardOutput(), s_leafProcessTerminated);
|
||||||
QVERIFY(process.waitForFinished());
|
QVERIFY(process.waitForFinished());
|
||||||
QCOMPARE(process.exitStatus(), QProcess::NormalExit);
|
QCOMPARE(process.exitStatus(), QProcess::NormalExit);
|
||||||
QCOMPARE(process.exitCode(), s_crashCode);
|
QCOMPARE(process.exitCode(), s_crashCode);
|
||||||
@@ -1404,7 +1404,7 @@ void tst_QtcProcess::quitBlockingProcess()
|
|||||||
QVERIFY(process.isRunning());
|
QVERIFY(process.isRunning());
|
||||||
|
|
||||||
QVERIFY(process.waitForReadyRead(1000));
|
QVERIFY(process.waitForReadyRead(1000));
|
||||||
QCOMPARE(process.readAllStandardOutput(), s_leafProcessStarted);
|
QCOMPARE(process.readAllRawStandardOutput(), s_leafProcessStarted);
|
||||||
|
|
||||||
switch (quitType) {
|
switch (quitType) {
|
||||||
case QuitType::Terminate: process.terminate(); break;
|
case QuitType::Terminate: process.terminate(); break;
|
||||||
@@ -1426,11 +1426,11 @@ void tst_QtcProcess::quitBlockingProcess()
|
|||||||
if (gracefulQuit) {
|
if (gracefulQuit) {
|
||||||
if (HostOsInfo::isWindowsHost())
|
if (HostOsInfo::isWindowsHost())
|
||||||
QSKIP(s_skipTerminateOnWindows);
|
QSKIP(s_skipTerminateOnWindows);
|
||||||
QCOMPARE(process.readAllStandardOutput(), s_leafProcessTerminated);
|
QCOMPARE(process.readAllRawStandardOutput(), s_leafProcessTerminated);
|
||||||
QCOMPARE(process.exitStatus(), QProcess::NormalExit);
|
QCOMPARE(process.exitStatus(), QProcess::NormalExit);
|
||||||
QCOMPARE(process.exitCode(), s_crashCode);
|
QCOMPARE(process.exitCode(), s_crashCode);
|
||||||
} else {
|
} else {
|
||||||
QCOMPARE(process.readAllStandardOutput(), QByteArray());
|
QCOMPARE(process.readAllRawStandardOutput(), QByteArray());
|
||||||
QCOMPARE(process.exitStatus(), QProcess::CrashExit);
|
QCOMPARE(process.exitStatus(), QProcess::CrashExit);
|
||||||
QVERIFY(process.exitCode() != s_crashCode);
|
QVERIFY(process.exitCode() != s_crashCode);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user