diff --git a/tests/scripts/generate_test_code.py b/tests/scripts/generate_test_code.py index b01bd3511..ece35dfb4 100755 --- a/tests/scripts/generate_test_code.py +++ b/tests/scripts/generate_test_code.py @@ -632,18 +632,10 @@ def escaped_split(inp_str, split_char): """ if len(split_char) > 1: raise ValueError('Expected split character. Found string!') - out = [] - part = '' - escape = False - for character in inp_str: - if not escape and character == split_char: - out.append(part) - part = '' - else: - part += character - escape = not escape and character == '\\' - if part: - out.append(part) + out = re.sub(r'(\\.)|' + split_char, + lambda m: m.group(1) or '\n', inp_str, + len(inp_str)).split('\n') + out = filter(lambda x: x or False, out) return out diff --git a/tests/scripts/mbedtls_test.py b/tests/scripts/mbedtls_test.py index a9730708a..557031099 100755 --- a/tests/scripts/mbedtls_test.py +++ b/tests/scripts/mbedtls_test.py @@ -77,18 +77,10 @@ class TestDataParser(object): """ if len(split_char) > 1: raise ValueError('Expected split character. Found string!') - out = [] - part = '' - escape = False - for character in inp_str: - if not escape and character == split_char: - out.append(part) - part = '' - else: - part += character - escape = not escape and character == '\\' - if part: - out.append(part) + out = re.sub(r'(\\.)|' + split_char, + lambda m: m.group(1) or '\n', inp_str, + len(inp_str)).split('\n') + out = filter(lambda x: x or False, out) return out def __parse(self, data_f):