]> granicus.if.org Git - esp-idf/commitdiff
python: Fix yaml.load warnings
authorSergei Silnov <sergei.silnov@espressif.com>
Fri, 28 Jun 2019 14:36:20 +0000 (16:36 +0200)
committerbot <bot@espressif.com>
Fri, 13 Sep 2019 10:29:38 +0000 (10:29 +0000)
Since pyyaml 5.1 yaml.load without specifing loader is deprecated
Details: https://msg.pyyaml.org/load

To keep code compatible with older versions of pyyaml
and keep best perfomance CLoader with fallback to Loader is used.

tools/ci/check_artifacts_expire_time.py
tools/tiny-test-fw/CIAssignUnitTest.py
tools/tiny-test-fw/EnvConfig.py
tools/tiny-test-fw/TestCase.py
tools/tiny-test-fw/Utility/CIAssignTest.py
tools/tiny-test-fw/Utility/CaseConfig.py
tools/unit-test-app/tools/UnitTestParser.py

index 3eb06c177c6ec5fd7af2425e4fceca51b9cc131f..ae7942dae5411cd7ad0a294dedf9ab7d80a7f270 100644 (file)
@@ -7,6 +7,11 @@ import os
 
 import yaml
 
+try:
+    from yaml import CLoader as Loader
+except ImportError:
+    from yaml import Loader as Loader
+
 IDF_PATH = os.getenv("IDF_PATH")
 if not IDF_PATH:
     print("Please set IDF_PATH before running this script")
@@ -17,7 +22,7 @@ GITLAB_CONFIG_FILE = os.path.join(os.getenv("IDF_PATH"), ".gitlab-ci.yml")
 
 def check_artifacts_expire_time():
     with open(GITLAB_CONFIG_FILE, "r") as f:
-        config = yaml.load(f)
+        config = yaml.load(f, Loader=Loader)
 
     errors = []
 
index 2ea32e53d85390392cff6f17fb8681cb4da7812d..6e619400d13826e365dcfb6022652e57bd25e618 100644 (file)
@@ -9,6 +9,11 @@ import argparse
 
 import yaml
 
+try:
+    from yaml import CLoader as Loader
+except ImportError:
+    from yaml import Loader as Loader
+
 try:
     from Utility import CIAssignTest
 except ImportError:
@@ -110,7 +115,7 @@ class UnitTestAssignTest(CIAssignTest.AssignTest):
 
         try:
             with open(test_case_path, "r") as f:
-                raw_data = yaml.load(f)
+                raw_data = yaml.load(f, Loader=Loader)
             test_cases = raw_data["test cases"]
         except IOError:
             print("Test case path is invalid. Should only happen when use @bot to skip unit test.")
index 9e6c355517e8b14dfdee638f9940868454dd593c..1f7a75511eaec8799c70cc301744b7a2a0b63b1e 100644 (file)
@@ -34,6 +34,11 @@ This will prevent test cases from getting configs from other env when there're c
 
 import yaml
 
+try:
+    from yaml import CLoader as Loader
+except ImportError:
+    from yaml import Loader as Loader
+
 
 class Config(object):
     """ Test Env Config """
@@ -52,7 +57,7 @@ class Config(object):
         """
         try:
             with open(config_file) as f:
-                configs = yaml.load(f)[env_name]
+                configs = yaml.load(f, Loader=Loader)[env_name]
         except (OSError, TypeError, IOError):
             configs = dict()
         return configs
index 80b5485309b5e7c49cfcc722db448fb32190ab08..dd3ca2f2267f87b56e1096ba11360c3dfda5da1c 100644 (file)
 
 import yaml
 
+try:
+    from yaml import CLoader as Loader
+except ImportError:
+    from yaml import Loader as Loader
+
 
 class TestCase(object):
     """
@@ -45,7 +50,7 @@ class TestCase(object):
         """
         doc_string = self.test_method.__doc__
         try:
-            doc = yaml.load(doc_string)
+            doc = yaml.load(doc_string, Loader=Loader)
         except (AttributeError, OSError, UnicodeDecodeError):
             doc = self.DEFAULT_CASE_DOC
         doc.update(self.test_method.env_args)
index 6a93f9a885c06fa1cdcb86f51132115c92d47816..a4c1446bddb383cf18e08e67aac23fac4924c758 100644 (file)
@@ -47,6 +47,11 @@ import yaml
 
 from Utility import (CaseConfig, SearchCases, GitlabCIJob, console_log)
 
+try:
+    from yaml import CLoader as Loader
+except ImportError:
+    from yaml import Loader as Loader
+
 
 class Group(object):
 
@@ -150,7 +155,7 @@ class AssignTest(object):
     def _parse_gitlab_ci_config(self, ci_config_file):
 
         with open(ci_config_file, "r") as f:
-            ci_config = yaml.load(f)
+            ci_config = yaml.load(f, Loader=Loader)
 
         job_list = list()
         for job_name in ci_config:
index ee6234da8e6f9fd647ca63a3d9f57d2a87c5eff3..8f9736f5b66c3507e8846d2aad0ae3193a13362b 100644 (file)
@@ -49,6 +49,11 @@ import TestCase
 
 from Utility import load_source
 
+try:
+    from yaml import CLoader as Loader
+except ImportError:
+    from yaml import Loader as Loader
+
 
 def _convert_to_lower_case_bytes(item):
     """
@@ -154,7 +159,7 @@ class Parser(object):
         configs = cls.DEFAULT_CONFIG.copy()
         if config_file:
             with open(config_file, "r") as f:
-                configs.update(yaml.load(f))
+                configs.update(yaml.load(f), Loader=Loader)
         return configs
 
     @classmethod
index cf94eb0ae112684a5a7e9fa5cc120345666677c3..9bee1581680d80a5ae53081364069b0a47aed41c 100644 (file)
@@ -8,6 +8,11 @@ import subprocess
 from copy import deepcopy
 import CreateSectionTable
 
+try:
+    from yaml import CLoader as Loader
+except ImportError:
+    from yaml import Loader as Loader
+
 TEST_CASE_PATTERN = {
     "initial condition": "UTINIT1",
     "SDK": "ESP32_IDF",
@@ -50,9 +55,10 @@ class Parser(object):
         self.unit_jobs = {}
         self.file_name_cache = {}
         self.idf_path = idf_path
-        self.tag_def = yaml.load(open(os.path.join(idf_path, self.TAG_DEF_FILE), "r"))
-        self.module_map = yaml.load(open(os.path.join(idf_path, self.MODULE_DEF_FILE), "r"))
-        self.config_dependencies = yaml.load(open(os.path.join(idf_path, self.CONFIG_DEPENDENCY_FILE), "r"))
+        self.tag_def = yaml.load(open(os.path.join(idf_path, self.TAG_DEF_FILE), "r"), Loader=Loader)
+        self.module_map = yaml.load(open(os.path.join(idf_path, self.MODULE_DEF_FILE), "r"), Loader=Loader)
+        self.config_dependencies = yaml.load(open(os.path.join(idf_path, self.CONFIG_DEPENDENCY_FILE), "r"),
+                                             Loader=Loader)
         # used to check if duplicated test case names
         self.test_case_names = set()
         self.parsing_errors = []