From 33df80fd04841a58e7e170cf17ad1f99de651883 Mon Sep 17 00:00:00 2001 From: Llewellyn Falco Date: Sun, 28 Jan 2024 19:54:15 +0000 Subject: [PATCH] - r isolate copied code --- approvaltests/namer/stack_frame_namer.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/approvaltests/namer/stack_frame_namer.py b/approvaltests/namer/stack_frame_namer.py index 6359550d..72d19b35 100644 --- a/approvaltests/namer/stack_frame_namer.py +++ b/approvaltests/namer/stack_frame_namer.py @@ -45,7 +45,10 @@ def get_test_frame_index(caller: List[FrameInfo]) -> int: def is_pytest_test(frame: FrameInfo) -> bool: method_name = frame[3] patterns = PytestConfig.test_naming_patterns - + return StackFrameNamer._is_match_for_pytest(method_name, patterns) + @staticmethod + def _is_match_for_pytest(method_name: str, patterns: List[str]) -> bool: + # Do not modify this method, so we can compare with original code # taken from pytest/python.py (class PyCollector) for pattern in patterns: if method_name.startswith(pattern): @@ -54,12 +57,12 @@ def is_pytest_test(frame: FrameInfo) -> bool: # because this is called for every name in each collected module, # and fnmatch is somewhat expensive to call. elif ( - "*" in pattern or "?" in pattern or "[" in pattern + "*" in pattern or "?" in pattern or "[" in pattern ) and fnmatch.fnmatch(method_name, pattern): return True return False - + @staticmethod def is_unittest_test(frame: FrameInfo) -> bool: method_name = frame[3] @@ -107,3 +110,5 @@ def get_test_frame(cls) -> FrameInfo: calling_stack = inspect.stack(1) frame = StackFrameNamer.get_test_frame_index(calling_stack) return calling_stack[frame] + +