Skip to content

Commit

Permalink
[lldb] Fix issue with re.Pattern availability
Browse files Browse the repository at this point in the history
`re.Pattern` is introduced in Python 3.7. To support Python 3.6, fallback to typechecking against `SRE_Pattern`.

Differential Revision: https://reviews.llvm.org/D137582
  • Loading branch information
kastiglione committed Nov 8, 2022
1 parent 674a17e commit 7bf3cb3
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
4 changes: 3 additions & 1 deletion lldb/packages/Python/lldbsuite/test/decorators.py
Expand Up @@ -80,7 +80,9 @@ def _match_decorator_property(expected, actual):
if isinstance(expected, no_match):
return not _match_decorator_property(expected.item, actual)

if isinstance(expected, (re.Pattern, str)):
# Python 3.6 doesn't declare a `re.Pattern` type, get the dynamic type.
pattern_type = type(re.compile(''))
if isinstance(expected, (pattern_type, str)):
return re.search(expected, actual) is not None

if hasattr(expected, "__iter__"):
Expand Down
7 changes: 5 additions & 2 deletions lldb/packages/Python/lldbsuite/test/lldbtest.py
Expand Up @@ -282,11 +282,14 @@ def check_value(self, test_base, val, error_msg=None):

test_base.assertSuccess(val.GetError())

# Python 3.6 doesn't declare a `re.Pattern` type, get the dynamic type.
pattern_type = type(re.compile(''))

if self.expect_name:
test_base.assertEqual(self.expect_name, val.GetName(),
this_error_msg)
if self.expect_value:
if isinstance(self.expect_value, re.Pattern):
if isinstance(self.expect_value, pattern_type):
test_base.assertRegex(val.GetValue(), self.expect_value,
this_error_msg)
else:
Expand All @@ -296,7 +299,7 @@ def check_value(self, test_base, val, error_msg=None):
test_base.assertEqual(self.expect_type, val.GetDisplayTypeName(),
this_error_msg)
if self.expect_summary:
if isinstance(self.expect_summary, re.Pattern):
if isinstance(self.expect_summary, pattern_type):
test_base.assertRegex(val.GetSummary(), self.expect_summary,
this_error_msg)
else:
Expand Down

0 comments on commit 7bf3cb3

Please sign in to comment.