From ebbe25ec732a072733e50092d3d825293760ea78 Mon Sep 17 00:00:00 2001 From: Marek Fiala Date: Mon, 12 Apr 2021 10:06:56 +0200 Subject: [PATCH] tools: Warning about tool beiing installed but failed to run. idf_tool.py runs " --version" which returns the error message but it is not used This improves the error printing. --- tools/idf_tools.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tools/idf_tools.py b/tools/idf_tools.py index b1b7b79055..a0ba8d6dee 100755 --- a/tools/idf_tools.py +++ b/tools/idf_tools.py @@ -466,8 +466,8 @@ class IDFTool(object): # tool is not on the path raise ToolNotFound('Tool {} not found'.format(self.name)) except subprocess.CalledProcessError as e: - raise ToolExecError('Command {} has returned non-zero exit code ({})\n'.format( - ' '.join(self._current_options.version_cmd), e.returncode)) + raise ToolExecError('returned non-zero exit code ({}) with error message:\n{}'.format( + e.returncode, e.stderr.decode('utf-8',errors='ignore'))) # type: ignore in_str = version_cmd_result.decode("utf-8") match = re.search(self._current_options.version_regex, in_str) @@ -512,8 +512,9 @@ class IDFTool(object): except ToolNotFound: # not in PATH pass - except ToolExecError: - warn('tool {} found in path, but failed to run'.format(self.name)) + except ToolExecError as e: + warn('tool {} found in path, but {}'.format( + self.name, e)) else: self.version_in_path = ver_str @@ -531,9 +532,9 @@ class IDFTool(object): except ToolNotFound: warn('directory for tool {} version {} is present, but tool was not found'.format( self.name, version)) - except ToolExecError: - warn('tool {} version {} is installed, but the tool failed to run'.format( - self.name, version)) + except ToolExecError as e: + warn('tool {} version {} is installed, but {}'.format( + self.name, version, e)) else: if ver_str != version: warn('tool {} version {} is installed, but has reported version {}'.format(