python: Fix yaml.load warnings

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.
This commit is contained in:
Sergei Silnov 2019-06-28 16:36:20 +02:00 committed by bot
parent c27fd32fbe
commit c57dfbc0b8
7 changed files with 45 additions and 9 deletions

View 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 = []

View 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.")

View 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

View file

@ -14,6 +14,11 @@
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)

View 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:

View 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

View 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 = []