Jelajahi Sumber

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.
He Yin Ling 4 tahun lalu
induk
melakukan
18b6a45146
1 mengubah file dengan 3 tambahan dan 5 penghapusan
  1. 3 5
      tools/ci/python_packages/tiny_test_fw/DUT.py

+ 3 - 5
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