summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2020-02-15 17:23:54 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-05-15 11:55:34 +0100
commitb63955977ebbf9fba291faa1b30c8dba9bd52869 (patch)
treeaece54b814df26ba404f352e32db146de58de4aa
parent9bab7c1a29a58ba7f97e253e4e0ac167b77d0e65 (diff)
downloadopenembedded-core-contrib-b63955977ebbf9fba291faa1b30c8dba9bd52869.tar.gz
openembedded-core-contrib-b63955977ebbf9fba291faa1b30c8dba9bd52869.tar.bz2
openembedded-core-contrib-b63955977ebbf9fba291faa1b30c8dba9bd52869.zip
resulttool/resultutils: Fix unicode error handling
This error handling didn't work as expected since upon failure it would inject bytestreams back into the code leading to tracebacks. Instead, ignore the decode errors. Fixes: Traceback (most recent call last): File "/home/pokybuild/yocto-worker/a-full/build/scripts/resulttool", line 78, in <module> sys.exit(main()) File "/home/pokybuild/yocto-worker/a-full/build/scripts/resulttool", line 72, in main ret = args.func(args, logger) File "/home/pokybuild/yocto-worker/a-full/build/scripts/lib/resulttool/store.py", line 70, in store resultutils.save_resultsdata(results, tempdir, ptestlogs=True) File "/home/pokybuild/yocto-worker/a-full/build/scripts/lib/resulttool/resultutils.py", line 178, in save_resultsdata f.write(sectionlog) TypeError: write() argument must be str, not bytes Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--scripts/lib/resulttool/resultutils.py5
1 files changed, 1 insertions, 4 deletions
diff --git a/scripts/lib/resulttool/resultutils.py b/scripts/lib/resulttool/resultutils.py
index 7cb85a6aa9..3850a93f22 100644
--- a/scripts/lib/resulttool/resultutils.py
+++ b/scripts/lib/resulttool/resultutils.py
@@ -127,10 +127,7 @@ def decode_log(logdata):
data = logdata.get("compressed")
data = base64.b64decode(data.encode("utf-8"))
data = zlib.decompress(data)
- try:
- return data.decode("utf-8")
- except UnicodeDecodeError:
- return data
+ return data.decode("utf-8", errors='ignore')
return None
def ptestresult_get_log(results, section):