From 7d6a95cf83fcca92e64302194995601474bc161a Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Fri, 20 Sep 2019 23:41:32 +0000 Subject: [PATCH] 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 --- lldb/scripts/Python/prepare_binding_Python.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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) -- 2.7.4