test_functools:test_lru_cache_stack
def test_lru_cache_stack():
# issue 3988
stack = []
@functools.lru_cache
def multiply(a, b):
frame = sys._getframe()
while frame:
stack.append(frame.f_code.co_name)
frame = frame.f_back
return a * b
assert multiply(2, 5) == 10
assert len(stack) > 1
print(stack)
# Make sure _lru_cache.wrapper is not in the first few stack functions
> assert all([f != "wrapper" for f in stack[:3]])
E assert False
E + where False = all([True, False, True])
../build/extra_tests/test_functools.py:36: AssertionError
builder: pypy-c-jit-linux-x86-64 build #11852+
test: test_functools:test_lru_cache_stack