From: Jonas Devlieghere Date: Fri, 20 Sep 2019 23:41:32 +0000 (+0000) Subject: prepare_binding_Python: print readable errors if SWIG fails X-Git-Tag: llvmorg-11-init~8714 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7d6a95cf83fcca92e64302194995601474bc161a;p=platform%2Fupstream%2Fllvm.git prepare_binding_Python: print readable errors if SWIG fails When swig fails, all the errors are squished onto one line with \n quoting. It's very hard to read. This will print them out in a more reasonable format. Patch by: Lawrence D'Anna Differential revision: https://reviews.llvm.org/D67790 llvm-svn: 372442 --- diff --git a/lldb/scripts/Python/prepare_binding_Python.py b/lldb/scripts/Python/prepare_binding_Python.py index 7d13d6e..fc409b0 100644 --- a/lldb/scripts/Python/prepare_binding_Python.py +++ b/lldb/scripts/Python/prepare_binding_Python.py @@ -231,11 +231,13 @@ def do_swig_rebuild(options, dependency_file, config_build_dir, settings): swig_stdout, swig_stderr = process.communicate() return_code = process.returncode if return_code != 0: + swig_stdout = swig_stdout.decode('utf8', errors='replace').rstrip() + swig_stderr = swig_stderr.decode('utf8', errors='replace').rstrip() + swig_stdout = re.sub(r'^(?=.)', 'stdout: ', swig_stdout, flags=re.MULTILINE) + swig_stderr = re.sub(r'^(?=.)', 'stderr: ', swig_stderr, flags=re.MULTILINE) logging.error( - "swig failed with error code %d: stdout=%s, stderr=%s", - return_code, - swig_stdout, - swig_stderr) + "swig failed with error code %d\n%s%s", + return_code, swig_stdout, swig_stderr) logging.error( "command line:\n%s", ' '.join(command)) sys.exit(return_code)