From 27db9f7e4ead3321577f09f2781b590f4002eb19 Mon Sep 17 00:00:00 2001 From: He Yin Ling Date: Thu, 1 Jul 2021 17:48:53 +0800 Subject: [PATCH] ttfw: fix incorrect length when flush data cache after expect: data cache is unicode. while we use bytes in RegEx expect. The index of matched pattern is calculated with bytes, could be different from unicode. Now we fix this issue by using unicode in expect. --- tools/ci/python_packages/tiny_test_fw/DUT.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tools/ci/python_packages/tiny_test_fw/DUT.py b/tools/ci/python_packages/tiny_test_fw/DUT.py index a93fa3903e..22023f71b8 100644 --- a/tools/ci/python_packages/tiny_test_fw/DUT.py +++ b/tools/ci/python_packages/tiny_test_fw/DUT.py @@ -542,13 +542,11 @@ class BaseDUT(object): :return: match groups if match succeed otherwise None """ ret = None - if isinstance(pattern.pattern, type(u'')): - pattern = re.compile(BaseDUT.u_to_bytearray(pattern.pattern)) - if isinstance(data, type(u'')): - data = BaseDUT.u_to_bytearray(data) + if isinstance(pattern.pattern, bytes): + pattern = re.compile(_decode_data(pattern.pattern)) match = pattern.search(data) if match: - ret = tuple(None if x is None else x.decode() for x in match.groups()) + ret = tuple(x for x in match.groups()) index = match.end() else: index = -1