summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2025-09-14 11:51:36 +1000
committerDamien George <damien@micropython.org>2025-10-01 23:59:15 +1000
commit381cd730c834a1d071e7e90787ef7354b8532142 (patch)
tree5245515bb36effd32c54959d30fbb61e1e2dc52d
parent3de5a4c63c4414a35f31ff50e3642129c1eada02 (diff)
tests/micropython: Improve skipping of tests using micropython module.
Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r--tests/micropython/emg_exc.py3
-rw-r--r--tests/micropython/emg_exc.py.exp2
-rw-r--r--tests/micropython/extreme_exc.py6
-rw-r--r--tests/micropython/heap_lock.py6
-rw-r--r--tests/micropython/heap_locked.py6
-rw-r--r--tests/micropython/heapalloc.py6
-rw-r--r--tests/micropython/heapalloc_exc_compressed.py8
-rw-r--r--tests/micropython/heapalloc_exc_compressed_emg_exc.py8
-rw-r--r--tests/micropython/heapalloc_exc_raise.py8
-rw-r--r--tests/micropython/heapalloc_fail_bytearray.py8
-rw-r--r--tests/micropython/heapalloc_fail_dict.py8
-rw-r--r--tests/micropython/heapalloc_fail_list.py8
-rw-r--r--tests/micropython/heapalloc_fail_memoryview.py8
-rw-r--r--tests/micropython/heapalloc_fail_set.py8
-rw-r--r--tests/micropython/heapalloc_fail_tuple.py8
-rw-r--r--tests/micropython/heapalloc_inst_call.py9
-rw-r--r--tests/micropython/heapalloc_int_from_bytes.py9
-rw-r--r--tests/micropython/heapalloc_str.py9
-rw-r--r--tests/micropython/heapalloc_super.py9
-rw-r--r--tests/micropython/heapalloc_traceback.py3
-rw-r--r--tests/micropython/heapalloc_traceback.py.exp2
-rw-r--r--tests/micropython/heapalloc_yield_from.py8
-rw-r--r--tests/micropython/kbd_intr.py6
-rw-r--r--tests/micropython/meminfo.py7
-rw-r--r--tests/micropython/memstats.py7
-rw-r--r--tests/micropython/opt_level.py8
-rw-r--r--tests/micropython/opt_level_lineno.py8
-rw-r--r--tests/micropython/ringio.py6
-rw-r--r--tests/micropython/ringio_async.py4
-rw-r--r--tests/micropython/ringio_big.py6
-rw-r--r--tests/micropython/schedule.py6
-rw-r--r--tests/micropython/stack_use.py7
32 files changed, 165 insertions, 50 deletions
diff --git a/tests/micropython/emg_exc.py b/tests/micropython/emg_exc.py
index 9a09956c8..42b709375 100644
--- a/tests/micropython/emg_exc.py
+++ b/tests/micropython/emg_exc.py
@@ -1,10 +1,9 @@
# test that emergency exceptions work
-import micropython
import sys
try:
- import io
+ import io, micropython
except ImportError:
print("SKIP")
raise SystemExit
diff --git a/tests/micropython/emg_exc.py.exp b/tests/micropython/emg_exc.py.exp
index 0d4b80ce2..d18012d69 100644
--- a/tests/micropython/emg_exc.py.exp
+++ b/tests/micropython/emg_exc.py.exp
@@ -1,4 +1,4 @@
Traceback (most recent call last):
-, line 22, in f
+, line 21, in f
ValueError: 1
diff --git a/tests/micropython/extreme_exc.py b/tests/micropython/extreme_exc.py
index ad819e408..17323b566 100644
--- a/tests/micropython/extreme_exc.py
+++ b/tests/micropython/extreme_exc.py
@@ -1,6 +1,10 @@
# test some extreme cases of allocating exceptions and tracebacks
-import micropython
+try:
+ import micropython
+except ImportError:
+ print("SKIP")
+ raise SystemExit
# Check for stackless build, which can't call functions without
# allocating a frame on the heap.
diff --git a/tests/micropython/heap_lock.py b/tests/micropython/heap_lock.py
index f2892a6dc..209a31434 100644
--- a/tests/micropython/heap_lock.py
+++ b/tests/micropython/heap_lock.py
@@ -1,6 +1,10 @@
# check that heap_lock/heap_unlock work as expected
-import micropython
+try:
+ import micropython
+except ImportError:
+ print("SKIP")
+ raise SystemExit
l = []
l2 = list(range(100))
diff --git a/tests/micropython/heap_locked.py b/tests/micropython/heap_locked.py
index d9e5b5d40..d9d99493d 100644
--- a/tests/micropython/heap_locked.py
+++ b/tests/micropython/heap_locked.py
@@ -1,8 +1,10 @@
# test micropython.heap_locked()
-import micropython
+try:
+ import micropython
-if not hasattr(micropython, "heap_locked"):
+ micropython.heap_locked
+except (AttributeError, ImportError):
print("SKIP")
raise SystemExit
diff --git a/tests/micropython/heapalloc.py b/tests/micropython/heapalloc.py
index e19f8d025..010bf878a 100644
--- a/tests/micropython/heapalloc.py
+++ b/tests/micropython/heapalloc.py
@@ -1,6 +1,10 @@
# check that we can do certain things without allocating heap memory
-import micropython
+try:
+ import micropython
+except ImportError:
+ print("SKIP")
+ raise SystemExit
# Check for stackless build, which can't call functions without
# allocating a frame on heap.
diff --git a/tests/micropython/heapalloc_exc_compressed.py b/tests/micropython/heapalloc_exc_compressed.py
index aa071d641..96fe3ca4f 100644
--- a/tests/micropython/heapalloc_exc_compressed.py
+++ b/tests/micropython/heapalloc_exc_compressed.py
@@ -1,4 +1,10 @@
-import micropython
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
# Tests both code paths for built-in exception raising.
# mp_obj_new_exception_msg_varg (exception requires decompression at raise-time to format)
diff --git a/tests/micropython/heapalloc_exc_compressed_emg_exc.py b/tests/micropython/heapalloc_exc_compressed_emg_exc.py
index 48ce9dd69..31d937b8f 100644
--- a/tests/micropython/heapalloc_exc_compressed_emg_exc.py
+++ b/tests/micropython/heapalloc_exc_compressed_emg_exc.py
@@ -1,4 +1,10 @@
-import micropython
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
# Does the full test from heapalloc_exc_compressed.py but while the heap is
# locked (this can only work when the emergency exception buf is enabled).
diff --git a/tests/micropython/heapalloc_exc_raise.py b/tests/micropython/heapalloc_exc_raise.py
index 99810e007..917ccf42f 100644
--- a/tests/micropython/heapalloc_exc_raise.py
+++ b/tests/micropython/heapalloc_exc_raise.py
@@ -1,6 +1,12 @@
# Test that we can raise and catch (preallocated) exception
# without memory allocation.
-import micropython
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
e = ValueError("error")
diff --git a/tests/micropython/heapalloc_fail_bytearray.py b/tests/micropython/heapalloc_fail_bytearray.py
index 1bf7ddd60..9ee73d1c5 100644
--- a/tests/micropython/heapalloc_fail_bytearray.py
+++ b/tests/micropython/heapalloc_fail_bytearray.py
@@ -1,6 +1,12 @@
# test handling of failed heap allocation with bytearray
-import micropython
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
class GetSlice:
diff --git a/tests/micropython/heapalloc_fail_dict.py b/tests/micropython/heapalloc_fail_dict.py
index ce2d158bd..04c791835 100644
--- a/tests/micropython/heapalloc_fail_dict.py
+++ b/tests/micropython/heapalloc_fail_dict.py
@@ -1,6 +1,12 @@
# test handling of failed heap allocation with dict
-import micropython
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
# create dict
x = 1
diff --git a/tests/micropython/heapalloc_fail_list.py b/tests/micropython/heapalloc_fail_list.py
index 9a2e9a555..7afb6dc10 100644
--- a/tests/micropython/heapalloc_fail_list.py
+++ b/tests/micropython/heapalloc_fail_list.py
@@ -1,6 +1,12 @@
# test handling of failed heap allocation with list
-import micropython
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
class GetSlice:
diff --git a/tests/micropython/heapalloc_fail_memoryview.py b/tests/micropython/heapalloc_fail_memoryview.py
index da2d1abff..17e3e1262 100644
--- a/tests/micropython/heapalloc_fail_memoryview.py
+++ b/tests/micropython/heapalloc_fail_memoryview.py
@@ -1,6 +1,12 @@
# test handling of failed heap allocation with memoryview
-import micropython
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
class GetSlice:
diff --git a/tests/micropython/heapalloc_fail_set.py b/tests/micropython/heapalloc_fail_set.py
index 3c347660a..0c4d85eef 100644
--- a/tests/micropython/heapalloc_fail_set.py
+++ b/tests/micropython/heapalloc_fail_set.py
@@ -1,6 +1,12 @@
# test handling of failed heap allocation with set
-import micropython
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
# create set
x = 1
diff --git a/tests/micropython/heapalloc_fail_tuple.py b/tests/micropython/heapalloc_fail_tuple.py
index de79385e3..11718a810 100644
--- a/tests/micropython/heapalloc_fail_tuple.py
+++ b/tests/micropython/heapalloc_fail_tuple.py
@@ -1,6 +1,12 @@
# test handling of failed heap allocation with tuple
-import micropython
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
# create tuple
x = 1
diff --git a/tests/micropython/heapalloc_inst_call.py b/tests/micropython/heapalloc_inst_call.py
index 14d8826bf..f78aa3cf8 100644
--- a/tests/micropython/heapalloc_inst_call.py
+++ b/tests/micropython/heapalloc_inst_call.py
@@ -1,6 +1,13 @@
# Test that calling clazz.__call__() with up to at least 3 arguments
# doesn't require heap allocation.
-import micropython
+
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
class Foo0:
diff --git a/tests/micropython/heapalloc_int_from_bytes.py b/tests/micropython/heapalloc_int_from_bytes.py
index 5fe50443a..3310ea95d 100644
--- a/tests/micropython/heapalloc_int_from_bytes.py
+++ b/tests/micropython/heapalloc_int_from_bytes.py
@@ -1,6 +1,13 @@
# Test that int.from_bytes() for small number of bytes generates
# small int.
-import micropython
+
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
micropython.heap_lock()
print(int.from_bytes(b"1", "little"))
diff --git a/tests/micropython/heapalloc_str.py b/tests/micropython/heapalloc_str.py
index 39aa56ccd..6372df5d3 100644
--- a/tests/micropython/heapalloc_str.py
+++ b/tests/micropython/heapalloc_str.py
@@ -1,5 +1,12 @@
# String operations which don't require allocation
-import micropython
+
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
micropython.heap_lock()
diff --git a/tests/micropython/heapalloc_super.py b/tests/micropython/heapalloc_super.py
index 51afae3d8..6839eee33 100644
--- a/tests/micropython/heapalloc_super.py
+++ b/tests/micropython/heapalloc_super.py
@@ -1,5 +1,12 @@
# test super() operations which don't require allocation
-import micropython
+
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
# Check for stackless build, which can't call functions without
# allocating a frame on heap.
diff --git a/tests/micropython/heapalloc_traceback.py b/tests/micropython/heapalloc_traceback.py
index 4c5f99afe..5ded8c5f0 100644
--- a/tests/micropython/heapalloc_traceback.py
+++ b/tests/micropython/heapalloc_traceback.py
@@ -1,10 +1,9 @@
# test that we can generate a traceback without allocating
-import micropython
import sys
try:
- import io
+ import io, micropython
except ImportError:
print("SKIP")
raise SystemExit
diff --git a/tests/micropython/heapalloc_traceback.py.exp b/tests/micropython/heapalloc_traceback.py.exp
index 71929db93..e0799aa2b 100644
--- a/tests/micropython/heapalloc_traceback.py.exp
+++ b/tests/micropython/heapalloc_traceback.py.exp
@@ -1,5 +1,5 @@
StopIteration
Traceback (most recent call last):
- File , line 25, in test
+ File , line 24, in test
StopIteration:
diff --git a/tests/micropython/heapalloc_yield_from.py b/tests/micropython/heapalloc_yield_from.py
index 950717189..9d4f8c694 100644
--- a/tests/micropython/heapalloc_yield_from.py
+++ b/tests/micropython/heapalloc_yield_from.py
@@ -1,6 +1,12 @@
# Check that yield-from can work without heap allocation
-import micropython
+try:
+ import micropython
+
+ micropython.heap_lock
+except (ImportError, AttributeError):
+ print("SKIP")
+ raise SystemExit
# Yielding from a function generator
diff --git a/tests/micropython/kbd_intr.py b/tests/micropython/kbd_intr.py
index 81977aaa5..e1ed7185e 100644
--- a/tests/micropython/kbd_intr.py
+++ b/tests/micropython/kbd_intr.py
@@ -1,10 +1,10 @@
# test the micropython.kbd_intr() function
-import micropython
-
try:
+ import micropython
+
micropython.kbd_intr
-except AttributeError:
+except (ImportError, AttributeError):
print("SKIP")
raise SystemExit
diff --git a/tests/micropython/meminfo.py b/tests/micropython/meminfo.py
index 957f061f1..f4dd8fdb6 100644
--- a/tests/micropython/meminfo.py
+++ b/tests/micropython/meminfo.py
@@ -1,9 +1,10 @@
# tests meminfo functions in micropython module
-import micropython
+try:
+ import micropython
-# these functions are not always available
-if not hasattr(micropython, "mem_info"):
+ micropython.mem_info
+except (ImportError, AttributeError):
print("SKIP")
raise SystemExit
diff --git a/tests/micropython/memstats.py b/tests/micropython/memstats.py
index 33204d908..0e2e7b1c0 100644
--- a/tests/micropython/memstats.py
+++ b/tests/micropython/memstats.py
@@ -1,9 +1,10 @@
# tests meminfo functions in micropython module
-import micropython
+try:
+ import micropython
-# these functions are not always available
-if not hasattr(micropython, "mem_total"):
+ micropython.mem_total
+except (ImportError, AttributeError):
print("SKIP")
raise SystemExit
diff --git a/tests/micropython/opt_level.py b/tests/micropython/opt_level.py
index dd5493a7a..789197d88 100644
--- a/tests/micropython/opt_level.py
+++ b/tests/micropython/opt_level.py
@@ -1,4 +1,10 @@
-import micropython as micropython
+# test micropython.opt_level()
+
+try:
+ import micropython
+except ImportError:
+ print("SKIP")
+ raise SystemExit
# check we can get and set the level
micropython.opt_level(0)
diff --git a/tests/micropython/opt_level_lineno.py b/tests/micropython/opt_level_lineno.py
index dda9092d8..fcfbe8643 100644
--- a/tests/micropython/opt_level_lineno.py
+++ b/tests/micropython/opt_level_lineno.py
@@ -1,4 +1,10 @@
-import micropython as micropython
+# test micropython.opt_level() and line numbers
+
+try:
+ import micropython
+except ImportError:
+ print("SKIP")
+ raise SystemExit
# check that level 3 doesn't store line numbers
# the expected output is that any line is printed as "line 1"
diff --git a/tests/micropython/ringio.py b/tests/micropython/ringio.py
index 410928879..d82c04565 100644
--- a/tests/micropython/ringio.py
+++ b/tests/micropython/ringio.py
@@ -1,10 +1,10 @@
# Check that micropython.RingIO works correctly.
-import micropython
-
try:
+ import micropython
+
micropython.RingIO
-except AttributeError:
+except (ImportError, AttributeError):
print("SKIP")
raise SystemExit
diff --git a/tests/micropython/ringio_async.py b/tests/micropython/ringio_async.py
index 2a4befc35..0db146451 100644
--- a/tests/micropython/ringio_async.py
+++ b/tests/micropython/ringio_async.py
@@ -1,9 +1,7 @@
# Check that micropython.RingIO works correctly with asyncio.Stream.
-import micropython
-
try:
- import asyncio
+ import asyncio, micropython
asyncio.StreamWriter
micropython.RingIO
diff --git a/tests/micropython/ringio_big.py b/tests/micropython/ringio_big.py
index d55c4c00b..ddbbae12a 100644
--- a/tests/micropython/ringio_big.py
+++ b/tests/micropython/ringio_big.py
@@ -1,10 +1,10 @@
# Check that micropython.RingIO works correctly.
-import micropython
-
try:
+ import micropython
+
micropython.RingIO
-except AttributeError:
+except (ImportError, AttributeError):
print("SKIP")
raise SystemExit
diff --git a/tests/micropython/schedule.py b/tests/micropython/schedule.py
index 6a91459ea..f3dd32661 100644
--- a/tests/micropython/schedule.py
+++ b/tests/micropython/schedule.py
@@ -1,10 +1,10 @@
# test micropython.schedule() function
-import micropython
-
try:
+ import micropython
+
micropython.schedule
-except AttributeError:
+except (ImportError, AttributeError):
print("SKIP")
raise SystemExit
diff --git a/tests/micropython/stack_use.py b/tests/micropython/stack_use.py
index 640bb8b2f..5d36fdca2 100644
--- a/tests/micropython/stack_use.py
+++ b/tests/micropython/stack_use.py
@@ -1,7 +1,10 @@
# tests stack_use function in micropython module
-import micropython
-if not hasattr(micropython, "stack_use"):
+try:
+ import micropython
+
+ micropython.stack_use
+except (ImportError, AttributeError):
print("SKIP")
raise SystemExit