pypy.interpreter.test.apptest_settrace_jump:test_jump_over_assignment_warns_unbound_local
def test_jump_over_assignment_warns_unbound_local():
# uses _warnings directly instead of the warnings module, cheaper to
# import when running untranslated
import _warnings
firstline = _jump_over_assignment.__code__.co_firstlineno
def trace(frame, event, arg):
if (event == 'line' and frame.f_code == _jump_over_assignment.__code__
and frame.f_lineno == firstline + 2):
frame.f_lineno = firstline + 3
return trace
saved_filters = _warnings.filters[:]
_warnings.filters.insert(0, ('error', None, RuntimeWarning, None, 0))
_warnings._filters_mutated()
try:
output = []
sys.settrace(trace)
try:
_jump_over_assignment(output)
except RuntimeWarning as e:
msg = str(e)
else:
> raise AssertionError("expected RuntimeWarning")
E AssertionError: expected RuntimeWarning
../build/pypy/interpreter/test/apptest_settrace_jump.py:127: AssertionError
builder: pypy-c-jit-macos-arm64 build #1420+
test: pypy.interpreter.test.apptest_settrace_jump:test_jump_over_assignment_warns_unbound_local