Merge branch 'bugfix/duplicate_unit_test_case_id' into 'master'

CI: fix bug that generates duplicate unit test case ID

See merge request !813
This commit is contained in:
Ivan Grokhotkov 2017-06-04 00:51:12 +08:00
commit e45a288516
2 changed files with 19 additions and 5 deletions

View file

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

View file

@ -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",