diff options
author | Damien George <damien.p.george@gmail.com> | 2016-11-21 17:39:23 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-11-21 17:39:23 +1100 |
commit | 1f43d49f9efa22d81e10be7bd20933986b4a3320 (patch) | |
tree | 95a3c2091ee575be6b7b3363d5cb10f45fced524 /tests/micropython/heapalloc_traceback.py | |
parent | d70f87aaa2fe31b099359b4b27444f3b289cdb8c (diff) |
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.
Diffstat (limited to 'tests/micropython/heapalloc_traceback.py')
-rw-r--r-- | tests/micropython/heapalloc_traceback.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/micropython/heapalloc_traceback.py b/tests/micropython/heapalloc_traceback.py new file mode 100644 index 000000000..9f43da259 --- /dev/null +++ b/tests/micropython/heapalloc_traceback.py @@ -0,0 +1,24 @@ +# 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() |