diff --git a/tools/ci/check_artifacts_expire_time.py b/tools/ci/check_artifacts_expire_time.py index 3eb06c177..ae7942dae 100644 --- a/tools/ci/check_artifacts_expire_time.py +++ b/tools/ci/check_artifacts_expire_time.py @@ -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 = [] diff --git a/tools/tiny-test-fw/CIAssignUnitTest.py b/tools/tiny-test-fw/CIAssignUnitTest.py index 2ea32e53d..6e619400d 100644 --- a/tools/tiny-test-fw/CIAssignUnitTest.py +++ b/tools/tiny-test-fw/CIAssignUnitTest.py @@ -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.") diff --git a/tools/tiny-test-fw/EnvConfig.py b/tools/tiny-test-fw/EnvConfig.py index 9e6c35551..1f7a75511 100644 --- a/tools/tiny-test-fw/EnvConfig.py +++ b/tools/tiny-test-fw/EnvConfig.py @@ -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 diff --git a/tools/tiny-test-fw/TestCase.py b/tools/tiny-test-fw/TestCase.py index 80b548530..dd3ca2f22 100644 --- a/tools/tiny-test-fw/TestCase.py +++ b/tools/tiny-test-fw/TestCase.py @@ -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) diff --git a/tools/tiny-test-fw/Utility/CIAssignTest.py b/tools/tiny-test-fw/Utility/CIAssignTest.py index 6a93f9a88..a4c1446bd 100644 --- a/tools/tiny-test-fw/Utility/CIAssignTest.py +++ b/tools/tiny-test-fw/Utility/CIAssignTest.py @@ -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: diff --git a/tools/tiny-test-fw/Utility/CaseConfig.py b/tools/tiny-test-fw/Utility/CaseConfig.py index ee6234da8..8f9736f5b 100644 --- a/tools/tiny-test-fw/Utility/CaseConfig.py +++ b/tools/tiny-test-fw/Utility/CaseConfig.py @@ -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 diff --git a/tools/unit-test-app/tools/UnitTestParser.py b/tools/unit-test-app/tools/UnitTestParser.py index cf94eb0ae..9bee15816 100644 --- a/tools/unit-test-app/tools/UnitTestParser.py +++ b/tools/unit-test-app/tools/UnitTestParser.py @@ -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 = []