aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/madde/maddedevicetester.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <[email protected]>2012-06-08 09:42:32 +0200
committerhjk <[email protected]>2012-06-08 10:15:43 +0200
commit79de09f2663f818bb07c24752e6520b19b28e6ec (patch)
tree4ee8e676e73646f42476f4f01df3756997836f48 /src/plugins/madde/maddedevicetester.cpp
parent303e67304e42cc419b735ca609104ad4ed386d54 (diff)
SSH: Streamline SshRemoteProcessRunner's output handling.
Make it just like SshRemoteProcess (and QProcess). The current implementation annoyingly forces client code to establish additional signal/slot connections, even if they only want to evaluate the output at the end. Change-Id: Id8c30dd156574d7d26d848d8e0705856a16d3747 Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/madde/maddedevicetester.cpp')
-rw-r--r--src/plugins/madde/maddedevicetester.cpp45
1 files changed, 10 insertions, 35 deletions
diff --git a/src/plugins/madde/maddedevicetester.cpp b/src/plugins/madde/maddedevicetester.cpp
index 5c17b76a7be..914a3da4cc4 100644
--- a/src/plugins/madde/maddedevicetester.cpp
+++ b/src/plugins/madde/maddedevicetester.cpp
@@ -110,10 +110,6 @@ void MaddeDeviceTester::handleGenericTestFinished(TestResult result)
if (!m_processRunner)
m_processRunner = new SshRemoteProcessRunner(this);
connect(m_processRunner, SIGNAL(connectionError()), SLOT(handleConnectionError()));
- connect(m_processRunner, SIGNAL(processOutputAvailable(QByteArray)),
- SLOT(handleStdout(QByteArray)));
- connect(m_processRunner, SIGNAL(processErrorOutputAvailable(QByteArray)),
- SLOT(handleStderr(QByteArray)));
connect(m_processRunner, SIGNAL(processClosed(int)), SLOT(handleProcessFinished(int)));
QString qtInfoCmd;
@@ -125,8 +121,6 @@ void MaddeDeviceTester::handleGenericTestFinished(TestResult result)
}
emit progressMessage(tr("Checking for Qt libraries..."));
- m_stdout.clear();
- m_stderr.clear();
m_state = QtTest;
m_processRunner->run(qtInfoCmd.toUtf8(), m_deviceConfiguration->sshParameters());
}
@@ -141,22 +135,6 @@ void MaddeDeviceTester::handleConnectionError()
setFinished();
}
-void MaddeDeviceTester::handleStdout(const QByteArray &data)
-{
- QTC_ASSERT(m_state == QtTest || m_state == MadDeveloperTest || m_state == QmlToolingTest,
- return);
-
- m_stdout += data;
-}
-
-void MaddeDeviceTester::handleStderr(const QByteArray &data)
-{
- QTC_ASSERT(m_state == QtTest || m_state == MadDeveloperTest || m_state == QmlToolingTest,
- return);
-
- m_stderr += data;
-}
-
void MaddeDeviceTester::handleProcessFinished(int exitStatus)
{
switch (m_state) {
@@ -178,9 +156,10 @@ void MaddeDeviceTester::handleQtTestFinished(int exitStatus)
{
if (exitStatus != SshRemoteProcess::NormalExit
|| m_processRunner->processExitCode() != 0) {
- if (!m_stderr.isEmpty()) {
+ const QByteArray stdErr = m_processRunner->readAllStandardError();
+ if (!stdErr.isEmpty()) {
emit errorMessage(tr("Error checking for Qt libraries: %1\n")
- .arg(QString::fromUtf8(m_stderr)));
+ .arg(QString::fromUtf8(stdErr)));
} else {
emit errorMessage(tr("Error checking for Qt libraries.\n"));
}
@@ -190,9 +169,6 @@ void MaddeDeviceTester::handleQtTestFinished(int exitStatus)
emit progressMessage(processedQtLibsList());
}
- m_stdout.clear();
- m_stderr.clear();
-
emit progressMessage(tr("Checking for connectivity support..."));
m_state = MadDeveloperTest;
m_processRunner->run(QString(QLatin1String("test -x") + MaemoGlobal::devrootshPath()).toUtf8(),
@@ -202,9 +178,10 @@ void MaddeDeviceTester::handleQtTestFinished(int exitStatus)
void MaddeDeviceTester::handleMadDeveloperTestFinished(int exitStatus)
{
if (exitStatus != SshRemoteProcess::NormalExit) {
- if (!m_stderr.isEmpty()) {
+ const QByteArray stdErr = m_processRunner->readAllStandardError();
+ if (!stdErr.isEmpty()) {
emit errorMessage(tr("Error checking for connectivity tool: %1\n")
- .arg(QString::fromUtf8(m_stderr)));
+ .arg(QString::fromUtf8(stdErr)));
} else {
emit errorMessage(tr("Error checking for connectivity tool.\n"));
}
@@ -227,9 +204,6 @@ void MaddeDeviceTester::handleMadDeveloperTestFinished(int exitStatus)
return;
}
- m_stdout.clear();
- m_stderr.clear();
-
emit progressMessage(tr("Checking for QML tooling support..."));
m_state = QmlToolingTest;
m_processRunner->run(QString(QLatin1String("test -d ")
@@ -239,9 +213,10 @@ void MaddeDeviceTester::handleMadDeveloperTestFinished(int exitStatus)
void MaddeDeviceTester::handleQmlToolingTestFinished(int exitStatus)
{
if (exitStatus != SshRemoteProcess::NormalExit) {
- if (!m_stderr.isEmpty()) {
+ const QByteArray stdErr = m_processRunner->readAllStandardError();
+ if (!stdErr.isEmpty()) {
emit errorMessage(tr("Error checking for QML tooling support: %1\n")
- .arg(QString::fromUtf8(m_stderr)));
+ .arg(QString::fromUtf8(stdErr)));
} else {
emit errorMessage(tr("Error checking for QML tooling support.\n"));
}
@@ -259,7 +234,7 @@ void MaddeDeviceTester::handleQmlToolingTestFinished(int exitStatus)
QString MaddeDeviceTester::processedQtLibsList()
{
- QString unfilteredLibs = QString::fromUtf8(m_stdout);
+ QString unfilteredLibs = QString::fromUtf8(m_processRunner->readAllStandardOutput());
QString filteredLibs;
QString patternString;
if (m_deviceConfiguration->type() == Core::Id(MeeGoOsType))