diff options
author | Damien George <damien.p.george@gmail.com> | 2016-12-15 11:11:57 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-12-15 11:11:57 +1100 |
commit | 7081ea4119005aed320c644a9464f1f241b0b86e (patch) | |
tree | 90fef454a0e280452a2f479482d9036e2774eb14 | |
parent | a5b3c7e7f9443319d9330ab6ab06c6b365226082 (diff) | |
download | micropython-7081ea4119005aed320c644a9464f1f241b0b86e.tar.gz micropython-7081ea4119005aed320c644a9464f1f241b0b86e.zip |
tests/micropython: Get heapalloc_traceback test running on baremetal.
When printing exceptions from files sent to a target by pyboard.py the
filename in the exception is <stdin>, which differs to when running the
script on the PC. So we strip out the filename to make the outputs the
same on all targets (see also misc/print_exception.py test).
-rw-r--r-- | tests/micropython/heapalloc_traceback.py | 16 | ||||
-rw-r--r-- | tests/micropython/heapalloc_traceback.py.exp | 4 |
2 files changed, 17 insertions, 3 deletions
diff --git a/tests/micropython/heapalloc_traceback.py b/tests/micropython/heapalloc_traceback.py index 9f43da2592..808df0225c 100644 --- a/tests/micropython/heapalloc_traceback.py +++ b/tests/micropython/heapalloc_traceback.py @@ -2,6 +2,7 @@ import micropython import sys +import uio # preallocate exception instance with some room for a traceback global_exc = StopIteration() @@ -15,10 +16,21 @@ def test(): global_exc.__traceback__ = None try: raise global_exc - except StopIteration as e: - sys.print_exception(e) + except StopIteration: + print('StopIteration') # call test() with heap allocation disabled micropython.heap_lock() test() micropython.heap_unlock() + +# print the exception that was raised +buf = uio.StringIO() +sys.print_exception(global_exc, buf) +for l in buf.getvalue().split("\n"): + # uPy on pyboard prints <stdin> as file, so remove filename. + if l.startswith(" File "): + l = l.split('"') + print(l[0], l[2]) + else: + print(l) diff --git a/tests/micropython/heapalloc_traceback.py.exp b/tests/micropython/heapalloc_traceback.py.exp index 16284f0da3..9ba10948d5 100644 --- a/tests/micropython/heapalloc_traceback.py.exp +++ b/tests/micropython/heapalloc_traceback.py.exp @@ -1,3 +1,5 @@ +StopIteration Traceback (most recent call last): - File "micropython/heapalloc_traceback.py", line 17, in test + File , line 18, in test StopIteration: + |