diff options
Diffstat (limited to 'tests/micropython/heapalloc.py')
-rw-r--r-- | tests/micropython/heapalloc.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/micropython/heapalloc.py b/tests/micropython/heapalloc.py index a651158ca5..c19893a008 100644 --- a/tests/micropython/heapalloc.py +++ b/tests/micropython/heapalloc.py @@ -1,6 +1,7 @@ # check that we can do certain things without allocating heap memory import micropython +import sys def f1(a): print(a) @@ -17,8 +18,15 @@ def f3(a, b, c, d): global_var = 1 +# preallocate exception instance with some room for a traceback +global_exc = StopIteration() +try: + raise global_exc +except: + pass + def test(): - global global_var + global global_var, global_exc global_var = 2 # set an existing global variable for i in range(2): # for loop f1(i) # function call @@ -28,6 +36,13 @@ def test(): f2(i, i) # 2 args f3(1, 2, 3, 4) # function with lots of local state + # test that we can generate a traceback without allocating + 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() |