circuitpython/tests/micropython
Chris Webb 953da2080e tests/micropython: Test that viper offset stores don't clobber base reg.
When running the viper boundary tests, assert that the offset stores don't
clobber the base register, which is saved and temporarily modified on some
architectures.

Signed-off-by: Chris Webb <chris@arachsys.com>
2025-08-01 14:17:49 +10:00
..
import_mpy_native_gc_module py/persistentcode: Explicitly track native BSS/rodata when needed. 2024-09-26 22:15:28 +10:00
builtin_execfile.py tests: Fix all file ioctl's to support only MP_STREAM_CLOSE. 2024-12-20 21:52:19 +11:00
builtin_execfile.py.exp py/builtinevex: Handle invalid filenames for execfile. 2023-10-12 15:17:59 +11:00
const.py tests/micropython/const.py: Add comment about required config for test. 2021-11-17 14:28:20 +11:00
const.py.exp py/parse: Treat constants that start with underscore as private. 2016-06-06 17:28:32 +01:00
const2.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
const2.py.exp tests/micropython: Add tests for const names being replaced in parser. 2016-09-27 13:03:53 +10:00
const_alltypes.py py/parse: Allow all constant objects to be used in "X = const(o)". 2022-05-18 16:18:35 +10:00
const_alltypes.py.exp py/parse: Allow all constant objects to be used in "X = const(o)". 2022-05-18 16:18:35 +10:00
const_error.py py/parse: Add support for math module constants and float folding. 2025-08-01 13:35:44 +10:00
const_error.py.exp py/parse: Add support for math module constants and float folding. 2025-08-01 13:35:44 +10:00
const_float.py py/parse: Add support for math module constants and float folding. 2025-08-01 13:35:44 +10:00
const_float.py.exp py/parse: Add support for math module constants and float folding. 2025-08-01 13:35:44 +10:00
const_intbig.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
const_intbig.py.exp tests/micropython: Add test for consts that are bignums. 2017-02-24 13:08:18 +11:00
const_math.py py/parse: Add support for math module constants and float folding. 2025-08-01 13:35:44 +10:00
const_math.py.exp py/parse: Add support for math module constants and float folding. 2025-08-01 13:35:44 +10:00
decorator.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
decorator.py.exp tests: Add tests for things that are not already tested. 2015-03-12 22:48:45 +00:00
decorator_error.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
decorator_error.py.exp tests: Add tests for SyntaxError, TypeError, and other missing things. 2015-03-25 23:10:09 +00:00
emg_exc.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
emg_exc.py.exp tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
extreme_exc.py tests/micropython: Fully unlink nested list in extreme exc test. 2022-05-18 09:16:33 +10:00
extreme_exc.py.exp tests/micropython/extreme_exc.py: Allow to run without any emg exc buf. 2018-04-05 03:03:16 +10:00
heap_lock.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heap_lock.py.exp py/modmicropython: Add heap_locked function to test state of heap. 2020-03-11 16:54:16 +11:00
heap_locked.py py/modmicropython: Add heap_locked function to test state of heap. 2020-03-11 16:54:16 +11:00
heap_locked.py.exp py/modmicropython: Add heap_locked function to test state of heap. 2020-03-11 16:54:16 +11:00
heapalloc.py tests/micropython: Add tests that const tuples don't use the heap. 2022-04-15 00:17:02 +10:00
heapalloc.py.exp tests/micropython: Add tests that const tuples don't use the heap. 2022-04-15 00:17:02 +10:00
heapalloc_bytesio.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
heapalloc_bytesio.py.exp tests/heapalloc_bytesio: Test for BytesIO with preallocates space. 2017-02-02 00:38:38 +03:00
heapalloc_bytesio2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
heapalloc_bytesio2.py.exp py/objstringio: If created from immutable object, follow copy on write policy. 2017-06-09 17:33:01 +03:00
heapalloc_exc_compressed.py tests/micropython: Switch from set.pop to raise-0 to test exc strings. 2022-03-07 16:48:35 +11:00
heapalloc_exc_compressed.py.exp tests/micropython: Switch from set.pop to raise-0 to test exc strings. 2022-03-07 16:48:35 +11:00
heapalloc_exc_compressed_emg_exc.py tests/micropython: Switch from set.pop to raise-0 to test exc strings. 2022-03-07 16:48:35 +11:00
heapalloc_exc_compressed_emg_exc.py.exp tests/micropython: Switch from set.pop to raise-0 to test exc strings. 2022-03-07 16:48:35 +11:00
heapalloc_exc_raise.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_exc_raise.py.exp tests/heapalloc_exc_raise.py: Heap alloc test for raising/catching exc. 2017-02-20 04:22:32 +03:00
heapalloc_fail_bytearray.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_bytearray.py.exp tests/micropython: Add some tests for failed heap allocation. 2019-04-18 14:34:12 +10:00
heapalloc_fail_dict.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_dict.py.exp tests/micropython: Add some tests for failed heap allocation. 2019-04-18 14:34:12 +10:00
heapalloc_fail_list.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_list.py.exp tests/micropython: Add some tests for failed heap allocation. 2019-04-18 14:34:12 +10:00
heapalloc_fail_memoryview.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_memoryview.py.exp tests/micropython: Add some tests for failed heap allocation. 2019-04-18 14:34:12 +10:00
heapalloc_fail_set.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_set.py.exp tests/micropython: Add some tests for failed heap allocation. 2019-04-18 14:34:12 +10:00
heapalloc_fail_tuple.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_tuple.py.exp tests/micropython: Add some tests for failed heap allocation. 2019-04-18 14:34:12 +10:00
heapalloc_inst_call.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_inst_call.py.exp tests/heapalloc_inst_call: Test for no alloc for simple object calls. 2016-12-25 00:50:27 +03:00
heapalloc_int_from_bytes.py tests/micropython: Add test for int.from_bytes with many zero bytes. 2017-05-06 10:29:09 +10:00
heapalloc_int_from_bytes.py.exp tests/micropython: Add test for int.from_bytes with many zero bytes. 2017-05-06 10:29:09 +10:00
heapalloc_iter.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
heapalloc_slice.py py/vm: Avoid heap-allocating slices when subscripting built-ins. 2025-07-16 00:12:47 +10:00
heapalloc_str.py tests/heapalloc_str: Test no-replacement case for str.replace(). 2017-03-22 22:17:52 +03:00
heapalloc_str.py.exp tests/heapalloc_str: Test for alloc-free string operations. 2017-01-27 00:49:39 +03:00
heapalloc_super.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_super.py.exp tests: Add tests for calling super and loading a method directly. 2017-04-22 23:39:38 +10:00
heapalloc_traceback.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
heapalloc_traceback.py.exp tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_yield_from.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
heapalloc_yield_from.py.exp tests/micropython: Add test for yield-from while heap is locked. 2019-12-27 12:34:22 +11:00
import_mpy_invalid.py tests: Fix all file ioctl's to support only MP_STREAM_CLOSE. 2024-12-20 21:52:19 +11:00
import_mpy_invalid.py.exp py: Rework bytecode and .mpy file format to be mostly static data. 2022-02-24 18:08:43 +11:00
import_mpy_native.py tests: Fix all file ioctl's to support only MP_STREAM_CLOSE. 2024-12-20 21:52:19 +11:00
import_mpy_native.py.exp tests/micropython: Make import_mpy_native test run on all architectures. 2022-05-26 12:54:43 +10:00
import_mpy_native_gc.py tests: Fix all file ioctl's to support only MP_STREAM_CLOSE. 2024-12-20 21:52:19 +11:00
import_mpy_native_gc.py.exp py/persistentcode: Explicitly track native BSS/rodata when needed. 2024-09-26 22:15:28 +10:00
kbd_intr.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
kbd_intr.py.exp tests/micropython: Add test for micropython.kbd_intr(). 2017-04-18 17:24:30 +10:00
meminfo.py tests/micropython: Add missing SystemExit after printing SKIP. 2025-07-12 23:32:28 +10:00
meminfo.py.exp tests/meminfo: Update for addition of "max free sz" output. 2016-07-01 00:39:26 +03:00
memstats.py tests/micropython: Add missing SystemExit after printing SKIP. 2025-07-12 23:32:28 +10:00
memstats.py.exp tests: Add missing tests for builtins, and many other things. 2015-04-04 22:05:30 +01:00
native_closure.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
native_closure.py.exp tests: Add specific test for closures in native emitter. 2015-04-03 16:14:25 +01:00
native_const.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
native_const.py.exp tests/micropython: Test loading const objs in native and viper funcs. 2018-09-27 23:39:08 +10:00
native_const_intbig.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
native_const_intbig.py.exp tests/micropython/: Split off intbig tests. 2017-03-07 07:12:58 +01:00
native_for.py tests: Move native for test from pybnative to micropython. 2021-01-29 23:57:10 +11:00
native_for.py.exp tests: Move native for test from pybnative to micropython. 2021-01-29 23:57:10 +11:00
native_fun_attrs.py py/objfun: Support function attributes on native functions. 2022-06-25 00:22:15 +10:00
native_fun_attrs.py.exp py/objfun: Support function attributes on native functions. 2022-06-25 00:22:15 +10:00
native_fun_attrs_code.py py/objfun: Implement function.__code__ and function constructor. 2025-02-11 16:51:50 +11:00
native_fun_attrs_code.py.exp py/objfun: Implement function.__code__ and function constructor. 2025-02-11 16:51:50 +11:00
native_gen.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
native_gen.py.exp tests/micropython: Add more test cases for native generators. 2022-05-18 15:23:11 +10:00
native_misc.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
native_misc.py.exp py/emitnative: Ensure stack settling is safe mid-branch. 2021-07-19 23:18:59 +10:00
native_try.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
native_try.py.exp tests/micropython: Add tests for try and with blocks under native/viper. 2018-08-17 14:11:36 +10:00
native_try_deep.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
native_try_deep.py.exp tests/micropython: Add tests for try and with blocks under native/viper. 2018-08-17 14:11:36 +10:00
native_while.py tests: Move native while test from pybnative to micropython. 2022-05-26 12:54:43 +10:00
native_while.py.exp tests: Move native while test from pybnative to micropython. 2022-05-26 12:54:43 +10:00
native_with.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
native_with.py.exp py: Shorten error messages by using contractions and some rewording. 2018-09-20 14:33:10 +10:00
opt_level.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
opt_level.py.exp tests: Split out test for optimisation level and line-no printing. 2019-08-28 12:47:58 +10:00
opt_level_lineno.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
opt_level_lineno.py.exp tests: Split out test for optimisation level and line-no printing. 2019-08-28 12:47:58 +10:00
ringio.py tests/micropython: Tweak ringio test for targets with terse errors. 2024-10-22 14:31:13 +11:00
ringio.py.exp tests/micropython: Tweak ringio test for targets with terse errors. 2024-10-22 14:31:13 +11:00
ringio_async.py py/objringio: Add micropython.RingIO() interface for general use. 2024-09-19 18:00:44 +10:00
ringio_async.py.exp py/objringio: Add micropython.RingIO() interface for general use. 2024-09-19 18:00:44 +10:00
schedule.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
schedule.py.exp tests/micropython: Add tests for micropython.schedule(). 2017-03-20 15:20:26 +11:00
stack_use.py tests/micropython: Add missing SystemExit after printing SKIP. 2025-07-12 23:32:28 +10:00
stack_use.py.exp tests/micropython: Add test for micropython.stack_use() function. 2016-12-28 17:46:52 +11:00
viper_addr.py py/objarray: Detect bytearray(str) without an encoding. 2022-11-08 23:09:22 +11:00
viper_addr.py.exp py: Allow to pass in read-only buffers to viper and inline-asm funcs. 2019-08-06 15:58:23 +10:00
viper_args.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
viper_args.py.exp py/emitnative: Support arbitrary number of arguments to viper functions. 2018-09-15 22:39:27 +10:00
viper_binop_arith.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_binop_arith.py.exp py: Implement native multiply operation in viper emitter. 2015-06-04 14:00:29 +00:00
viper_binop_arith_uint.py py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_arith_uint.py.exp py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_bitwise_uint.py py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_bitwise_uint.py.exp py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_comp.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_binop_comp.py.exp tests: Add tests for viper binary operations. 2014-09-29 19:42:06 +01:00
viper_binop_comp_imm.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_binop_comp_imm.py.exp asmarm: Fix bug with encoding small negative ints using MVN instruction. 2014-12-14 03:24:17 +02:00
viper_binop_comp_uint.py py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_comp_uint.py.exp py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_divmod.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_binop_divmod.py.exp py/emitnative: Implement floor-division and modulo for viper emitter. 2017-10-11 18:54:34 +11:00
viper_binop_multi_comp.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_binop_multi_comp.py.exp py: Partially fix viper multi-comparison; add test for it. 2014-10-19 19:00:51 +01:00
viper_cond.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
viper_cond.py.exp tests/micropython/viper_cond: Add test for large int as bool. 2018-08-04 22:16:24 +10:00
viper_const.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_const.py.exp tests/micropython: Test loading const objs in native and viper funcs. 2018-09-27 23:39:08 +10:00
viper_const_intbig.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_const_intbig.py.exp tests/micropython: Test loading const objs in native and viper funcs. 2018-09-27 23:39:08 +10:00
viper_error.py py/emitnative: Implement viper unary ops positive, negative and invert. 2024-03-19 10:31:36 +11:00
viper_error.py.exp py/emitnative: Implement viper unary ops positive, negative and invert. 2024-03-19 10:31:36 +11:00
viper_globals.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_globals.py.exp py/emitnative: Make viper funcs run with their correct globals context. 2018-09-15 22:39:27 +10:00
viper_import.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_import.py.exp tests/micropython: Add test for import from within viper function. 2016-11-10 22:54:55 +11:00
viper_misc.py tests/micropython: Split viper_misc test into two files. 2023-02-09 16:12:25 +11:00
viper_misc.py.exp tests/micropython: Split viper_misc test into two files. 2023-02-09 16:12:25 +11:00
viper_misc2.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
viper_misc2.py.exp py/emitnative: Fix x86-64 emitter to generate correct 8/16-bit stores. 2021-05-20 23:43:25 +10:00
viper_misc3.py tests/micropython: Split viper_misc test into two files. 2023-02-09 16:12:25 +11:00
viper_misc3.py.exp tests/micropython: Split viper_misc test into two files. 2023-02-09 16:12:25 +11:00
viper_misc_intbig.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
viper_misc_intbig.py.exp tests/micropython/: Split off intbig tests. 2017-03-07 07:12:58 +01:00
viper_ptr8_load.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr8_load.py.exp tests: Add more tests for viper, including tests for ViperTypeError's. 2015-04-22 23:18:28 +01:00
viper_ptr8_load_boundary.py tests/micropython: Improve viper ptr boundary tests. 2025-07-01 15:43:02 +10:00
viper_ptr8_load_boundary.py.exp tests/micropython: Improve viper ptr boundary tests. 2025-07-01 15:43:02 +10:00
viper_ptr8_store.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr8_store.py.exp tests: Add more tests for viper, including tests for ViperTypeError's. 2015-04-22 23:18:28 +01:00
viper_ptr8_store_boundary_intbig.py tests/micropython: Test that viper offset stores don't clobber base reg. 2025-08-01 14:17:49 +10:00
viper_ptr8_store_boundary_intbig.py.exp tests/micropython: Rename viper boundary tests that depend on big int. 2025-07-24 15:50:34 +10:00
viper_ptr16_load.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr16_load.py.exp tests: Add more tests for viper 16/32-bit load/store, and ellipsis. 2015-10-13 18:24:36 +01:00
viper_ptr16_load_boundary.py tests/micropython: Improve viper ptr boundary tests. 2025-07-01 15:43:02 +10:00
viper_ptr16_load_boundary.py.exp tests/micropython: Improve viper ptr boundary tests. 2025-07-01 15:43:02 +10:00
viper_ptr16_store.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr16_store.py.exp tests: Add more tests for viper 16/32-bit load/store, and ellipsis. 2015-10-13 18:24:36 +01:00
viper_ptr16_store_boundary_intbig.py tests/micropython: Test that viper offset stores don't clobber base reg. 2025-08-01 14:17:49 +10:00
viper_ptr16_store_boundary_intbig.py.exp tests/micropython: Rename viper boundary tests that depend on big int. 2025-07-24 15:50:34 +10:00
viper_ptr32_load.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr32_load.py.exp tests: Add more tests for viper 16/32-bit load/store, and ellipsis. 2015-10-13 18:24:36 +01:00
viper_ptr32_load_boundary.py tests/micropython: Improve viper ptr boundary tests. 2025-07-01 15:43:02 +10:00
viper_ptr32_load_boundary.py.exp tests/micropython: Improve viper ptr boundary tests. 2025-07-01 15:43:02 +10:00
viper_ptr32_store.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr32_store.py.exp tests: Add more tests for viper 16/32-bit load/store, and ellipsis. 2015-10-13 18:24:36 +01:00
viper_ptr32_store_boundary_intbig.py tests/micropython: Test that viper offset stores don't clobber base reg. 2025-08-01 14:17:49 +10:00
viper_ptr32_store_boundary_intbig.py.exp tests/micropython: Rename viper boundary tests that depend on big int. 2025-07-24 15:50:34 +10:00
viper_storeattr.py py/emitnative: Fix STORE_ATTR viper code-gen when value is not a pyobj. 2022-07-12 17:18:27 +10:00
viper_storeattr.py.exp py/emitnative: Fix STORE_ATTR viper code-gen when value is not a pyobj. 2022-07-12 17:18:27 +10:00
viper_subscr.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_subscr.py.exp py: Implement implicit cast to obj for viper load/store index/value. 2015-06-04 11:52:16 +01:00
viper_subscr_multi.py py/emitnative: Ensure load_subscr does not clobber existing REG_ARG_2. 2022-11-11 12:25:32 +11:00
viper_subscr_multi.py.exp py/emitnative: Ensure load_subscr does not clobber existing REG_ARG_2. 2022-11-11 12:25:32 +11:00
viper_try.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
viper_try.py.exp tests/micropython: Add tests for try and with blocks under native/viper. 2018-08-17 14:11:36 +10:00
viper_types.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
viper_types.py.exp py/native: Improve support for bool type in viper functions. 2019-05-03 23:18:30 +10:00
viper_unop.py py/emitnative: Implement viper unary ops positive, negative and invert. 2024-03-19 10:31:36 +11:00
viper_unop.py.exp py/emitnative: Implement viper unary ops positive, negative and invert. 2024-03-19 10:31:36 +11:00
viper_with.py top: Update Python formatting to black "2023 stable style". 2023-02-02 12:51:03 +11:00
viper_with.py.exp py: Shorten error messages by using contractions and some rewording. 2018-09-20 14:33:10 +10:00