diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 61b1d26fc..26d42b77f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -436,6 +436,12 @@ UT_001_03: - ESP32_IDF - UT_T1_1 +UT_001_04: + <<: *unit_test_template + tags: + - ESP32_IDF + - UT_T1_1 + IT_001_01: <<: *test_template tags: diff --git a/tools/unit-test-app/tools/UnitTestParser.py b/tools/unit-test-app/tools/UnitTestParser.py index 8399bdac2..dd7f4417c 100644 --- a/tools/unit-test-app/tools/UnitTestParser.py +++ b/tools/unit-test-app/tools/UnitTestParser.py @@ -3,6 +3,7 @@ import os import re import shutil import subprocess +import hashlib from copy import deepcopy import CreateSectionTable @@ -131,16 +132,23 @@ class Parser(object): :return: parsed test case """ prop = self.parse_case_properities(description) + + idf_path = os.getenv("IDF_PATH") + + # use relative file path to IDF_PATH, to make sure file path is consist + relative_file_path = os.path.relpath(file_name, idf_path) + + file_name_hash = int(hashlib.sha256(relative_file_path).hexdigest(), base=16) % 1000 - if file_name in self.file_name_cache: - self.file_name_cache[file_name] += 1 + if file_name_hash in self.file_name_cache: + self.file_name_cache[file_name_hash] += 1 else: - self.file_name_cache[file_name] = 1 + self.file_name_cache[file_name_hash] = 1 tc_id = "UT_%s_%s_%03d%02d" % (self.module_map[prop["module"]]['module abbr'], self.module_map[prop["module"]]['sub module abbr'], - hash(file_name) % 1000, - self.file_name_cache[file_name]) + file_name_hash, + self.file_name_cache[file_name_hash]) test_case = deepcopy(TEST_CASE_PATTERN) test_case.update({"module": self.module_map[prop["module"]]['module'], "CI ready": "No" if prop["ignore"] == "Yes" else "Yes",