summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-12-15 11:11:57 +1100
committerDamien George <damien.p.george@gmail.com>2016-12-15 11:11:57 +1100
commit7081ea4119005aed320c644a9464f1f241b0b86e (patch)
tree90fef454a0e280452a2f479482d9036e2774eb14
parenta5b3c7e7f9443319d9330ab6ab06c6b365226082 (diff)
downloadmicropython-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.py16
-rw-r--r--tests/micropython/heapalloc_traceback.py.exp4
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:
+