From: Robert Yang Date: Tue, 22 Aug 2017 01:23:10 +0000 (-0700) Subject: core/target/ssh.py: replace decode errors X-Git-Tag: 2017-10~463 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=d0d2f892f0bed6adb5ec6fb59d64efcc97c83e19;p=openembedded-core.git core/target/ssh.py: replace decode errors There might be wild strings when read from target (especially when reading ptest results), replace the errors to avoid breaking the test. Fixed: (Not always happen) $ bitbake core-image-sato -ctestimage [snip] status, output = self.target.run('ptest-runner', 0) File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 84, in run status, output = self._run(sshCmd, processTimeout, True) File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 55, in _run status, output = SSHCall(command, self.logger, timeout) File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 258, in SSHCall run() File "/buildarea/lyang1/poky/meta/lib/oeqa/core/target/ssh.py", line 236, in run output = process.communicate()[0].decode("utf-8") UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 4906: invalid continuation byte [YOCTO #11547] Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oeqa/core/target/ssh.py b/meta/lib/oeqa/core/target/ssh.py index b80939c0e5..a2eafcd6f2 100644 --- a/meta/lib/oeqa/core/target/ssh.py +++ b/meta/lib/oeqa/core/target/ssh.py @@ -211,7 +211,7 @@ def SSHCall(command, logger, timeout=None, **opts): process.stdout.close() eof = True else: - data = data.decode("utf-8") + data = data.decode("utf-8", errors='replace') output += data logger.debug('Partial data from SSH call: %s' % data) endtime = time.time() + timeout @@ -233,7 +233,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 = {