kopia lustrzana https://github.com/micropython/micropython
tests/micropython/extreme_exc.py: Fix test to run on more ports/configs.
rodzic
f1df86a017
commit
4caadc3c01
|
@ -2,6 +2,15 @@
|
||||||
|
|
||||||
import micropython
|
import micropython
|
||||||
|
|
||||||
|
# Check for stackless build, which can't call functions without
|
||||||
|
# allocating a frame on the heap.
|
||||||
|
try:
|
||||||
|
def stackless(): pass
|
||||||
|
micropython.heap_lock(); stackless(); micropython.heap_unlock()
|
||||||
|
except RuntimeError:
|
||||||
|
print("SKIP")
|
||||||
|
raise SystemExit
|
||||||
|
|
||||||
# some ports need to allocate heap for the emergency exception
|
# some ports need to allocate heap for the emergency exception
|
||||||
try:
|
try:
|
||||||
micropython.alloc_emergency_exception_buf(256)
|
micropython.alloc_emergency_exception_buf(256)
|
||||||
|
@ -40,8 +49,9 @@ def main():
|
||||||
f(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=1)
|
f(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=1)
|
||||||
except Exception as er:
|
except Exception as er:
|
||||||
e = er
|
e = er
|
||||||
|
lst[0] = None
|
||||||
lst = None
|
lst = None
|
||||||
print(repr(e))
|
print(repr(e)[:43])
|
||||||
|
|
||||||
# raise a deep exception with the heap locked
|
# raise a deep exception with the heap locked
|
||||||
# should use emergency exception and be unable to resize traceback array
|
# should use emergency exception and be unable to resize traceback array
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Exception()
|
Exception()
|
||||||
TypeError("unexpected keyword argument 'abcdefghij
|
TypeError("unexpected keyword argument 'abcdefghij
|
||||||
TypeError("unexpected keyword argument 'abc",)
|
TypeError("unexpected keyword argument 'abc
|
||||||
RuntimeError('maximum recursion depth exceeded',)
|
RuntimeError('maximum recursion depth exceeded',)
|
||||||
Exception('my exception',)
|
Exception('my exception',)
|
||||||
|
|
Ładowanie…
Reference in New Issue