From 51e9c2fd73f2b5527a80a4b98fed3314702a39c0 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sat, 15 Feb 2020 17:23:54 +0000 Subject: 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 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 --- scripts/lib/resulttool/resultutils.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'scripts') 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): 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): -- cgit v1.2.3-54-g00ecf