summaryrefslogtreecommitdiff
path: root/import-layers/yocto-poky/meta/lib/oeqa/core/target/ssh.py
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/yocto-poky/meta/lib/oeqa/core/target/ssh.py')
-rw-r--r--import-layers/yocto-poky/meta/lib/oeqa/core/target/ssh.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/import-layers/yocto-poky/meta/lib/oeqa/core/target/ssh.py b/import-layers/yocto-poky/meta/lib/oeqa/core/target/ssh.py
index b80939c0e5..151b99a77f 100644
--- a/import-layers/yocto-poky/meta/lib/oeqa/core/target/ssh.py
+++ b/import-layers/yocto-poky/meta/lib/oeqa/core/target/ssh.py
@@ -6,6 +6,7 @@ import time
import select
import logging
import subprocess
+import codecs
from . import OETarget
@@ -82,7 +83,7 @@ class OESSHTarget(OETarget):
processTimeout = self.timeout
status, output = self._run(sshCmd, processTimeout, True)
- self.logger.info('\nCommand: %s\nOutput: %s\n' % (command, output))
+ self.logger.debug('Command: %s\nOutput: %s\n' % (command, output))
return (status, output)
def copyTo(self, localSrc, remoteDst):
@@ -206,12 +207,12 @@ def SSHCall(command, logger, timeout=None, **opts):
logger.debug('time: %s, endtime: %s' % (time.time(), endtime))
try:
if select.select([process.stdout], [], [], 5)[0] != []:
- data = os.read(process.stdout.fileno(), 1024)
+ reader = codecs.getreader('utf-8')(process.stdout)
+ data = reader.read(1024, 1024)
if not data:
process.stdout.close()
eof = True
else:
- data = data.decode("utf-8")
output += data
logger.debug('Partial data from SSH call: %s' % data)
endtime = time.time() + timeout
@@ -233,7 +234,7 @@ def SSHCall(command, logger, timeout=None, **opts):
output += lastline
else:
- output = process.communicate()[0].decode("utf-8")
+ output = process.communicate()[0].decode("utf-8", errors='replace')
logger.debug('Data from SSH call: %s' % output.rstrip())
options = {