From f89f5b7f758746ee6b6c1689a6372c57b1083388 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 b84e12c4be..e0f4b08a4c 100755 --- a/tools/idf_tools.py +++ b/tools/idf_tools.py @@ -568,8 +568,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) @@ -620,8 +620,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 @@ -639,9 +640,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(