diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-02-15 17:23:54 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-02-15 17:26:01 +0000 |
commit | 51e9c2fd73f2b5527a80a4b98fed3314702a39c0 (patch) | |
tree | 806e769a9fb5cb8f6fda9ba60aa09163ada9c7d4 /scripts | |
parent | 7f2af8bd795ace46828952a7812f0bbdf26529ab (diff) | |
download | poky-51e9c2fd73f2b5527a80a4b98fed3314702a39c0.tar.gz |
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>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/lib/resulttool/resultutils.py | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/scripts/lib/resulttool/resultutils.py b/scripts/lib/resulttool/resultutils.py index f0ae8ec1c5..5fec01f6f3 100644 --- a/scripts/lib/resulttool/resultutils.py +++ b/scripts/lib/resulttool/resultutils.py | |||
@@ -127,10 +127,7 @@ def decode_log(logdata): | |||
127 | data = logdata.get("compressed") | 127 | data = logdata.get("compressed") |
128 | data = base64.b64decode(data.encode("utf-8")) | 128 | data = base64.b64decode(data.encode("utf-8")) |
129 | data = zlib.decompress(data) | 129 | data = zlib.decompress(data) |
130 | try: | 130 | return data.decode("utf-8", errors='ignore') |
131 | return data.decode("utf-8") | ||
132 | except UnicodeDecodeError: | ||
133 | return data | ||
134 | return None | 131 | return None |
135 | 132 | ||
136 | def ptestresult_get_log(results, section): | 133 | def ptestresult_get_log(results, section): |