circuitpython/tests/micropython/heapalloc_traceback.py

25 lines
496 B
Python
Raw Normal View History

# test that we can generate a traceback without allocating
import micropython
import sys
# preallocate exception instance with some room for a traceback
global_exc = StopIteration()
try:
raise global_exc
except:
pass
def test():
global global_exc
global_exc.__traceback__ = None
try:
raise global_exc
except StopIteration as e:
sys.print_exception(e)
# call test() with heap allocation disabled
micropython.heap_lock()
test()
micropython.heap_unlock()