oeqa/target/ssh: Replace suggogatepass with ignoring errors

We continued to see encoding problems with ssh commands run in oeqa. After much
research the conclusion was we should use ignore the errors since some occasional bad
locale encoding is better than the unicode decoding issues we were seeing which crashed
large parts of tests.

(From OE-Core rev: b3bae8aba5b897c1afcc8bf4ad8929251812d2b5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2019-05-12 19:49:25 +01:00
parent 8e0c4eebab
commit 66ef365ba6

View File

@@ -210,7 +210,7 @@ def SSHCall(command, logger, timeout=None, **opts):
logger.debug('time: %s, endtime: %s' % (time.time(), endtime))
try:
if select.select([process.stdout], [], [], 5)[0] != []:
reader = codecs.getreader('utf-8')(process.stdout, 'surrogatepass')
reader = codecs.getreader('utf-8')(process.stdout, 'ignore')
data = reader.read(1024, 4096)
if not data:
process.stdout.close()
@@ -237,7 +237,7 @@ def SSHCall(command, logger, timeout=None, **opts):
output += lastline
else:
output = process.communicate()[0].decode("utf-8", errors='surrogatepass')
output = process.communicate()[0].decode('utf-8', errors='ignore')
logger.debug('Data from SSH call: %s' % output.rstrip())
options = {