Skip to content
Snippets Groups Projects
Commit 1f43d49f authored by Damien George's avatar Damien George
Browse files

tests/micropython: Move alloc-less traceback test to separate test file.

The native emitter doesn't provide proper traceback info so this test
should not be run in that case.
parent d70f87aa
No related branches found
No related tags found
No related merge requests found
# check that we can do certain things without allocating heap memory # check that we can do certain things without allocating heap memory
import micropython import micropython
import sys
def f1(a): def f1(a):
print(a) print(a)
...@@ -18,13 +17,6 @@ def f3(a, b, c, d): ...@@ -18,13 +17,6 @@ def f3(a, b, c, d):
global_var = 1 global_var = 1
# preallocate exception instance with some room for a traceback
global_exc = StopIteration()
try:
raise global_exc
except:
pass
def test(): def test():
global global_var, global_exc global global_var, global_exc
global_var = 2 # set an existing global variable global_var = 2 # set an existing global variable
...@@ -36,13 +28,6 @@ def test(): ...@@ -36,13 +28,6 @@ def test():
f2(i, i) # 2 args f2(i, i) # 2 args
f3(1, 2, 3, 4) # function with lots of local state 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 # call test() with heap allocation disabled
micropython.heap_lock() micropython.heap_lock()
test() test()
......
...@@ -9,6 +9,3 @@ ...@@ -9,6 +9,3 @@
1 2 1 2
1 1 1 1
1 2 3 4 10 1 2 3 4 10
Traceback (most recent call last):
File "micropython/heapalloc.py", line 42, in test
StopIteration:
# 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()
Traceback (most recent call last):
File "micropython/heapalloc_traceback.py", line 17, in test
StopIteration:
...@@ -291,6 +291,7 @@ def run_tests(pyb, tests, args): ...@@ -291,6 +291,7 @@ def run_tests(pyb, tests, args):
skip_tests.add('misc/rge_sm.py') # requires yield skip_tests.add('misc/rge_sm.py') # requires yield
skip_tests.add('misc/print_exception.py') # because native doesn't have proper traceback info skip_tests.add('misc/print_exception.py') # because native doesn't have proper traceback info
skip_tests.add('misc/sys_exc_info.py') # sys.exc_info() is not supported for native skip_tests.add('misc/sys_exc_info.py') # sys.exc_info() is not supported for native
skip_tests.add('micropython/heapalloc_traceback.py') # because native doesn't have proper traceback info
for test_file in tests: for test_file in tests:
test_file = test_file.replace('\\', '/') test_file = test_file.replace('\\', '/')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment