summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--tests/micropython/heapalloc.py15
-rw-r--r--tests/micropython/heapalloc.py.exp3
-rw-r--r--tests/micropython/heapalloc_traceback.py24
-rw-r--r--tests/micropython/heapalloc_traceback.py.exp3
-rwxr-xr-xtests/run-tests1
5 files changed, 28 insertions, 18 deletions
diff --git a/tests/micropython/heapalloc.py b/tests/micropython/heapalloc.py
index c19893a008..62f26df6af 100644
--- a/tests/micropython/heapalloc.py
+++ b/tests/micropython/heapalloc.py
@@ -1,7 +1,6 @@
# check that we can do certain things without allocating heap memory
import micropython
-import sys
def f1(a):
print(a)
@@ -18,13 +17,6 @@ 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_exc
global_var = 2 # set an existing global variable
@@ -36,13 +28,6 @@ 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()
diff --git a/tests/micropython/heapalloc.py.exp b/tests/micropython/heapalloc.py.exp
index 3d5825f5a6..c8cffe183f 100644
--- a/tests/micropython/heapalloc.py.exp
+++ b/tests/micropython/heapalloc.py.exp
@@ -9,6 +9,3 @@
1 2
1 1
1 2 3 4 10
-Traceback (most recent call last):
- File "micropython/heapalloc.py", line 42, in test
-StopIteration:
diff --git a/tests/micropython/heapalloc_traceback.py b/tests/micropython/heapalloc_traceback.py
new file mode 100644
index 0000000000..9f43da2592
--- /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()
diff --git a/tests/micropython/heapalloc_traceback.py.exp b/tests/micropython/heapalloc_traceback.py.exp
new file mode 100644
index 0000000000..16284f0da3
--- /dev/null
+++ b/tests/micropython/heapalloc_traceback.py.exp
@@ -0,0 +1,3 @@
+Traceback (most recent call last):
+ File "micropython/heapalloc_traceback.py", line 17, in test
+StopIteration:
diff --git a/tests/run-tests b/tests/run-tests
index 4ac7d8e28f..3898fb7aa7 100755
--- a/tests/run-tests
+++ b/tests/run-tests
@@ -291,6 +291,7 @@ def run_tests(pyb, tests, args):
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/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:
test_file = test_file.replace('\\', '/')