Просмотр исходного кода

Merge branch 'bugfix/idf_tools_not_found_issue_v4.2' into 'release/v4.2'

tools: Catch OSError which is raised when the tool is not available (v4.2)

See merge request espressif/esp-idf!14134
Roland Dobai 4 лет назад
Родитель
Сommit
68b6bc661b
1 измененных файлов с 5 добавлено и 2 удалено
  1. 5 2
      tools/idf_tools.py

+ 5 - 2
tools/idf_tools.py

@@ -857,12 +857,15 @@ def get_python_env_path():
         with open(version_file_path, "r") as version_file:
         with open(version_file_path, "r") as version_file:
             idf_version_str = version_file.read()
             idf_version_str = version_file.read()
     else:
     else:
+        idf_version_str = ''
         try:
         try:
             idf_version_str = subprocess.check_output(['git', 'describe'],
             idf_version_str = subprocess.check_output(['git', 'describe'],
                                                       cwd=global_idf_path, env=os.environ).decode()
                                                       cwd=global_idf_path, env=os.environ).decode()
+        except OSError:
+            # OSError should cover FileNotFoundError and WindowsError
+            warn('Git was not found')
         except subprocess.CalledProcessError as e:
         except subprocess.CalledProcessError as e:
-            warn('Git describe was unsuccessul: {}'.format(e))
-            idf_version_str = ''
+            warn('Git describe was unsuccessul: {}'.format(e.output))
     match = re.match(r'^v([0-9]+\.[0-9]+).*', idf_version_str)
     match = re.match(r'^v([0-9]+\.[0-9]+).*', idf_version_str)
     if match:
     if match:
         idf_version = match.group(1)
         idf_version = match.group(1)