1
0
mirror of https://git.yoctoproject.org/poky synced 2026-04-20 23:39:22 +00:00

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

(From OE-Core rev: 3aa0d0fd0bbf8c9c13719251a2fd1e85a22c7336)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2020-02-15 17:23:54 +00:00
parent 7f2af8bd79
commit 51e9c2fd73

View File

@@ -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):