diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2017-08-21 18:23:10 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-08-23 14:12:39 +0100 |
commit | d0d2f892f0bed6adb5ec6fb59d64efcc97c83e19 (patch) | |
tree | abe423e8a825184e03157ea07a29dd5fdbb8c4cd /meta/lib | |
parent | 320ea01f9eb33df462534bf08488ff6ada9bbe7b (diff) | |
download | openembedded-core-d0d2f892f0bed6adb5ec6fb59d64efcc97c83e19.tar.gz openembedded-core-d0d2f892f0bed6adb5ec6fb59d64efcc97c83e19.tar.bz2 openembedded-core-d0d2f892f0bed6adb5ec6fb59d64efcc97c83e19.zip |
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 <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oeqa/core/target/ssh.py | 4 |
1 files changed, 2 insertions, 2 deletions
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 = { |