[gnome-continuous-yocto/gnomeostree-3.28-rocko: 7376/8267] core/target/ssh.py: replace decode errors



commit 9fd9fae6349cb1be7c9708bf468d2dab7ef3e74d
Author: Robert Yang <liezhi yang windriver com>
Date:   Mon Aug 21 18:23:10 2017 -0700

    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]
    
    (From OE-Core rev: d0d2f892f0bed6adb5ec6fb59d64efcc97c83e19)
    
    Signed-off-by: Robert Yang <liezhi yang windriver com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 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 b80939c..a2eafcd 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 = {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]