micropython/tests/basics
Angus Gratton 4bed614e70 py/objarray: Fix use-after-free if extending a bytearray from itself.
Two cases, one assigning to a slice.
Closes https://github.com/micropython/micropython/issues/13283

Second is extending a slice from itself, similar logic.

In both cases the problem occurs when m_renew causes realloc to move the
buffer, leaving a dangling pointer behind.

There are more complex and hard to fix cases when either argument is a
memoryview into the buffer, currently resizing to a new address breaks
memoryviews into that object.

Reproducing this bug and confirming the fix was done by running the unix
port under valgrind with GC-aware extensions.

Note in default configurations with GIL this bug exists but has no impact
(the free buffer won't be reused while the function is still executing, and
is no longer referenced after it returns).

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-04-22 11:50:52 +10:00
..
0prelim.py
andor.py
annotate_var.py all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
annotate_var.py.exp tests/basics: Add tests for variable annotations. 2020-06-16 23:18:01 +10:00
array1.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
array_add.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
array_construct.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
array_construct2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
array_construct_endian.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
array_intbig.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
array_micropython.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
array_micropython.py.exp
assign1.py
assign_expr.py py/emitnative: Initialise locals as Python object type for native code. 2022-12-16 11:44:10 +11:00
assign_expr.py.exp py/emitnative: Initialise locals as Python object type for native code. 2022-12-16 11:44:10 +11:00
assign_expr_scope.py py/compile: Fix scope of assignment expression target in comprehensions. 2023-03-09 12:13:12 +11:00
assign_expr_scope.py.exp py/compile: Fix scope of assignment expression target in comprehensions. 2023-03-09 12:13:12 +11:00
assign_expr_syntaxerror.py py/compile: Fix scope of assignment expression target in comprehensions. 2023-03-09 12:13:12 +11:00
assign_expr_syntaxerror.py.exp py/compile: Fix scope of assignment expression target in comprehensions. 2023-03-09 12:13:12 +11:00
async_await.py
async_await.py.exp
async_await2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
async_await2.py.exp
async_def.py
async_def.py.exp
async_for.py py/compile: Fix async for's stack handling of iterator expression. 2023-07-13 13:50:50 +10:00
async_for.py.exp py/compile: Fix async for's stack handling of iterator expression. 2023-07-13 13:50:50 +10:00
async_for2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
async_for2.py.exp py/compile: Don't await __aiter__ special method in async-for. 2020-07-25 00:58:18 +10:00
async_syntaxerror.py py/compile: Raise an error on async with/for outside an async function. 2021-05-30 10:38:48 +10:00
async_syntaxerror.py.exp py/compile: Raise an error on async with/for outside an async function. 2021-05-30 10:38:48 +10:00
async_with.py py/compile: Fix handling of unwinding BaseException in async with. 2019-02-26 23:52:10 +11:00
async_with.py.exp py/compile: Fix handling of unwinding BaseException in async with. 2019-02-26 23:52:10 +11:00
async_with2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
async_with2.py.exp
async_with_break.py
async_with_break.py.exp
async_with_return.py
async_with_return.py.exp
attrtuple1.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
bool1.py tests/basics: Add tests for equality between bool and int/float/complex. 2020-02-11 11:06:17 +11:00
boundmeth1.py py/objboundmeth: Optimise check for types in binary_op. 2023-10-13 15:29:09 +11:00
break.py
builtin_abs.py
builtin_abs_intbig.py
builtin_allany.py
builtin_bin.py
builtin_bin_intbig.py
builtin_callable.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
builtin_chr.py
builtin_compile.py py/builtinevex: Fix setting globals for native functions in compile(). 2024-02-20 12:12:28 +11:00
builtin_delattr.py
builtin_dir.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
builtin_divmod.py
builtin_divmod_intbig.py
builtin_ellipsis.py py/objsingleton: Use mp_generic_unary_op for singleton objects. 2019-12-27 12:53:36 +11:00
builtin_enumerate.py
builtin_eval.py
builtin_eval_buffer.py py/builtinevex: Support passing in a bytearray/buffer to eval/exec. 2020-02-28 12:45:36 +11:00
builtin_eval_error.py
builtin_exec.py
builtin_exec_buffer.py py/builtinevex: Support passing in a bytearray/buffer to eval/exec. 2020-02-28 12:45:36 +11:00
builtin_filter.py
builtin_getattr.py py/modbuiltins: Fix getattr to work with class raising AttributeError. 2020-06-02 15:42:20 +10:00
builtin_hasattr.py
builtin_hash.py tests/basics: Add more tests for hashing of various types. 2023-05-19 12:35:12 +10:00
builtin_hash_gen.py
builtin_hash_intbig.py
builtin_help.py
builtin_help.py.exp
builtin_hex.py
builtin_hex_intbig.py
builtin_id.py
builtin_issubclass.py
builtin_len1.py
builtin_locals.py
builtin_map.py
builtin_minmax.py
builtin_next_arg2.py py: Add optional support for 2-argument version of built-in next(). 2019-01-27 13:01:28 +11:00
builtin_oct.py
builtin_oct_intbig.py
builtin_ord.py
builtin_override.py tests: Add tests for overriding builtins.__import__. 2019-07-31 22:37:44 +10:00
builtin_pow.py
builtin_pow3.py
builtin_pow3_intbig.py
builtin_print.py
builtin_property.py
builtin_property_inherit.py
builtin_range.py
builtin_range_attrs.py
builtin_range_binop.py
builtin_reversed.py
builtin_round.py
builtin_round_int.py
builtin_round_intbig.py
builtin_setattr.py
builtin_slice.py
builtin_sorted.py
builtin_str_hex.py tests/extmod/ubinascii: Add tests for bytes.hex etc. 2022-08-12 12:44:30 +10:00
builtin_str_hex.py.exp tests/basics: Add exp file for builtin_str_hex test. 2022-11-10 11:44:49 +11:00
builtin_sum.py
builtin_type.py
builtin_zip.py
bytearray1.py py/objarray: Implement more/less comparisons for array. 2021-05-13 22:16:14 +10:00
bytearray_add.py py/objarray: Fix use-after-free if extending a bytearray from itself. 2024-04-22 11:50:52 +10:00
bytearray_add_self.py py/objarray: Fix use-after-free if extending a bytearray from itself. 2024-04-22 11:50:52 +10:00
bytearray_add_self.py.exp py/objarray: Fix use-after-free if extending a bytearray from itself. 2024-04-22 11:50:52 +10:00
bytearray_append.py
bytearray_byte_operations.py all: Fix "reuse" and "overridden" spelling mistakes. 2024-01-05 15:08:33 +11:00
bytearray_center.py py/objstr: Consolidate methods for str/bytes/bytearray/array. 2022-08-11 23:18:02 +10:00
bytearray_construct.py py/objarray: Detect bytearray(str) without an encoding. 2022-11-08 23:09:22 +11:00
bytearray_construct_array.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
bytearray_construct_endian.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
bytearray_count.py py/objstr: Consolidate methods for str/bytes/bytearray/array. 2022-08-11 23:18:02 +10:00
bytearray_decode.py py/objarray: Add decode method to bytearray. 2019-05-21 14:24:04 +10:00
bytearray_intbig.py
bytearray_partition.py py/objstr: Consolidate methods for str/bytes/bytearray/array. 2022-08-11 23:18:02 +10:00
bytearray_slice_assign.py py/objarray: Fix use-after-free if extending a bytearray from itself. 2024-04-22 11:50:52 +10:00
bytes.py
bytes_add.py tests/basics: Split out specific bytearray tests to separate files. 2019-10-29 22:22:37 +11:00
bytes_add_array.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
bytes_add_bytearray.py tests/basics: Split out specific bytearray tests to separate files. 2019-10-29 22:22:37 +11:00
bytes_add_endian.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
bytes_center.py py/objstr: Consolidate methods for str/bytes/bytearray/array. 2022-08-11 23:18:02 +10:00
bytes_compare.py
bytes_compare2.py tests/basics: Split out specific bytearray tests to separate files. 2019-10-29 22:22:37 +11:00
bytes_compare3.py
bytes_compare3.py.exp
bytes_compare_array.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
bytes_compare_bytearray.py tests/basics: Split out specific bytearray tests to separate files. 2019-10-29 22:22:37 +11:00
bytes_construct.py tests/basics: Split out specific bytearray tests to separate files. 2019-10-29 22:22:37 +11:00
bytes_construct_array.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
bytes_construct_bytearray.py tests/basics: Split out specific bytearray tests to separate files. 2019-10-29 22:22:37 +11:00
bytes_construct_endian.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
bytes_construct_intbig.py
bytes_count.py py/objstr: Don't treat bytes as unicode in str.count. 2022-09-26 00:54:18 +10:00
bytes_find.py
bytes_format_modulo.py tests/basics: Automatically skip tests that use str/bytes modulo-format. 2019-10-29 22:22:37 +11:00
bytes_format_modulo.py.exp
bytes_gen.py
bytes_large.py
bytes_mult.py
bytes_partition.py
bytes_replace.py
bytes_split.py
bytes_strip.py
bytes_subscr.py
class1.py
class2.py
class3.py
class_bases.py py/objtype: Add type.__bases__ attribute. 2019-10-18 15:20:56 +11:00
class_bind_self.py py: Rework mp_convert_member_lookup to properly handle built-ins. 2020-06-30 23:55:32 +10:00
class_binop.py
class_call.py
class_contains.py py/objtype: Convert result of user __contains__ method to bool. 2022-04-20 15:44:46 +10:00
class_delattr_setattr.py py/objobject: Add object.__delattr__ function. 2019-12-21 00:14:22 +11:00
class_descriptor.py
class_dict.py py/objtype: Handle __dict__ attribute when type has no locals. 2020-10-10 00:16:32 +11:00
class_emptybases.py
class_getattr.py tests/basics/class_getattr: Remove invalid test for __getattribute__. 2018-10-18 12:28:09 +11:00
class_inherit1.py
class_inherit_mul.py
class_inplace_op.py tests/basics: Use str.format instead of % for formatting messages. 2019-10-29 22:22:37 +11:00
class_inplace_op2.py tests/basics: Add test for MICROPY_PY_ALL_INPLACE_SPECIAL_METHODS ops. 2020-09-18 18:40:42 +10:00
class_inplace_op2.py.exp tests/basics: Add test for MICROPY_PY_ALL_INPLACE_SPECIAL_METHODS ops. 2020-09-18 18:40:42 +10:00
class_instance_override.py
class_item.py
class_misc.py tests/basics: Use bytes not bytearray when checking user buffer proto. 2019-10-29 22:22:37 +11:00
class_new.py
class_notimpl.py py/objsingleton: Use mp_generic_unary_op for singleton objects. 2019-12-27 12:53:36 +11:00
class_number.py
class_ordereddict.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
class_ordereddict.py.exp py/objtype: Support passing in an OrderedDict to type() as the locals. 2020-06-24 12:05:40 +10:00
class_reverse_op.py py/runtime: If inplace binop fails then try corresponding normal binop. 2023-05-19 13:44:00 +10:00
class_staticclassmethod.py py/objtype: Support full object model for get/set/delitem special meths. 2018-09-28 23:22:34 +10:00
class_store.py
class_store_class.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
class_str.py
class_super.py
class_super_aslocal.py
class_super_closure.py
class_super_multinherit.py
class_super_object.py
class_use_other.py
closure1.py
closure2.py
closure_defargs.py
closure_manyvars.py
closure_namedarg.py
compare_multi.py
comprehension1.py
containment.py tests/run-tests: Use -BS flags when running CPython. 2020-09-25 12:27:23 +10:00
continue.py
decorator.py
del_attr.py
del_deref.py
del_global.py
del_local.py
del_name.py
del_subscr.py
deque1.py py/objdeque: Expand implementation to be doubly-ended and support iter. 2024-03-18 14:10:14 +11:00
deque2.py tests/basics: Split MicroPython-specific deque tests to separate file. 2024-03-19 10:08:32 +11:00
deque_micropython.py tests/basics: Split MicroPython-specific deque tests to separate file. 2024-03-19 10:08:32 +11:00
deque_micropython.py.exp tests/basics: Split MicroPython-specific deque tests to separate file. 2024-03-19 10:08:32 +11:00
deque_slice.py py/objdeque: Expand implementation to be doubly-ended and support iter. 2024-03-18 14:10:14 +11:00
dict1.py tests/basics: Add tests for equality between bool and int/float/complex. 2020-02-11 11:06:17 +11:00
dict2.py
dict_clear.py
dict_construct.py
dict_copy.py
dict_del.py
dict_fixed.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
dict_fixed.py.exp
dict_from_iter.py
dict_fromkeys.py
dict_fromkeys2.py
dict_get.py
dict_intern.py
dict_iterator.py
dict_pop.py tests/basics/dict_pop.py: Remove extra comma in call and fix grammar. 2020-03-28 23:41:08 +11:00
dict_popitem.py
dict_setdefault.py
dict_specialmeth.py
dict_union.py py/objdict: Implement dictionary union (PEP 584). 2022-11-25 12:46:14 +11:00
dict_union.py.exp py/objdict: Implement dictionary union (PEP 584). 2022-11-25 12:46:14 +11:00
dict_update.py
dict_views.py py/objdict: Fix __hash__ for dict_view types. 2023-05-19 12:06:17 +10:00
equal.py
equal_class.py
errno1.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
errno1.py.exp tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
except_match_tuple.py
exception1.py py/objexcept: Support errno attribute on OSError exceptions. 2021-04-23 22:03:46 +10:00
exception_chain.py py/vm: Don't emit warning when using "raise ... from None". 2023-10-09 09:46:02 +11:00
exception_chain.py.exp py/vm: Don't emit warning when using "raise ... from None". 2023-10-09 09:46:02 +11:00
exceptpoly.py
exceptpoly2.py
floordivide.py
floordivide_intbig.py
for1.py
for2.py
for3.py
for_break.py
for_else.py
for_range.py
for_return.py
frozenset1.py
frozenset_add.py
frozenset_binop.py
frozenset_copy.py
frozenset_difference.py
frozenset_set.py
fun1.py
fun2.py
fun3.py
fun_annotations.py
fun_calldblstar.py py/bc: Fix checking for duplicate **kwargs. 2022-11-28 11:23:22 +11:00
fun_calldblstar2.py
fun_calldblstar3.py
fun_calldblstar4.py py/runtime: Allow multiple **args in a function call. 2022-03-31 16:54:00 +11:00
fun_callstar.py py/runtime: Allow multiple *args in a function call. 2022-03-31 16:59:30 +11:00
fun_callstardblstar.py py/runtime: Fix crash in star arg unpacking. 2022-08-06 11:32:58 -05:00
fun_defargs.py
fun_defargs2.py
fun_error.py
fun_error2.py
fun_globals.py tests/basics: Add tests for __name__ and __globals__ attrs on closures. 2022-06-24 23:55:13 +10:00
fun_kwargs.py
fun_kwonly.py
fun_kwonlydef.py
fun_kwvarargs.py py/runtime: Allow multiple *args in a function call. 2022-03-31 16:59:30 +11:00
fun_largestate.py
fun_name.py tests/basics: Add tests for __name__ and __globals__ attrs on closures. 2022-06-24 23:55:13 +10:00
fun_str.py
fun_varargs.py
gc1.py
gen_yield_from.py
gen_yield_from_close.py
gen_yield_from_ducktype.py
gen_yield_from_exc.py
gen_yield_from_executing.py
gen_yield_from_iter.py
gen_yield_from_pending.py tests: Add tests for generator throw and yield-from with exc handlers. 2020-01-27 13:16:06 +11:00
gen_yield_from_send.py
gen_yield_from_stopped.py py: Support single argument to optimised MP_OBJ_STOP_ITERATION. 2021-07-15 00:12:41 +10:00
gen_yield_from_throw.py tests/basics: Add test for throw into yield-from with normal return. 2019-10-04 23:27:48 +10:00
gen_yield_from_throw2.py py/vm: Fix case of throwing GeneratorExit type into yield-from. 2018-09-28 11:39:35 +10:00
gen_yield_from_throw3.py
generator1.py
generator2.py
generator_args.py
generator_close.py
generator_closure.py
generator_exc.py
generator_name.py
generator_pend_throw.py py/objgenerator: Allow pend_throw to an unstarted generator. 2019-11-04 15:51:16 +11:00
generator_pend_throw.py.exp py/objgenerator: Allow pend_throw to an unstarted generator. 2019-11-04 15:51:16 +11:00
generator_pep479.py py/runtime: Fix PEP479 behaviour throwing StopIteration into yield from. 2019-10-04 23:27:00 +10:00
generator_pep479.py.exp py/runtime: Fix PEP479 behaviour throwing StopIteration into yield from. 2019-10-04 23:27:00 +10:00
generator_return.py
generator_send.py
generator_throw.py all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
generator_throw_nested.py tests: Add tests for generator throw and yield-from with exc handlers. 2020-01-27 13:16:06 +11:00
getattr.py py/objtype: Remove comment about catching exc from user __getattr__. 2018-10-18 12:15:16 +11:00
getitem.py
globals_del.py
ifcond.py py/compile: Remove over-eager optimisation of tuples as if condition. 2023-05-03 13:21:18 +10:00
ifexpr.py
int1.py
int2.py
int_big1.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
int_big_add.py
int_big_and.py
int_big_and2.py all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
int_big_and3.py all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
int_big_cmp.py tests/basics/int_big_cmp.py: Add more tests for big-int comparison. 2021-12-21 18:00:11 +11:00
int_big_div.py py/mpz: Fix overflow of borrow in mpn_div. 2021-02-08 11:50:05 +11:00
int_big_error.py py/objint_mpz: Catch and reject @ and @= operating on big integers. 2023-01-23 13:03:51 +11:00
int_big_lshift.py
int_big_mod.py
int_big_mul.py
int_big_or.py all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
int_big_or2.py all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
int_big_or3.py all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
int_big_pow.py
int_big_rshift.py
int_big_unary.py
int_big_xor.py all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
int_big_xor2.py all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
int_big_xor3.py all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
int_big_zeroone.py py/mpz: Fix bugs with bitwise of -0 by ensuring all 0's are positive. 2021-12-21 18:00:05 +11:00
int_bytes.py
int_bytes_intbig.py
int_constfolding.py py/parse: Support constant folding of power operator for integers. 2020-05-03 16:23:19 +10:00
int_constfolding_intbig.py
int_divmod.py
int_divmod_intbig.py
int_divzero.py
int_intbig.py
int_parse.py py/objint: Allow int() to parse anything with the buffer protocol. 2023-06-01 15:11:06 +10:00
int_small.py
io_buffered_writer.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
io_buffered_writer.py.exp tests/basics: Add more tests for hashing of various types. 2023-05-19 12:35:12 +10:00
io_bytesio_cow.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
io_bytesio_ext.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
io_bytesio_ext2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
io_bytesio_ext2.py.exp
io_iobase.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
io_stringio1.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
io_stringio_base.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
io_stringio_with.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
io_write_ext.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
io_write_ext.py.exp
is_isnot.py tests/basics: Split out literal tests that raise SyntaxWarning on CPy. 2021-05-30 13:41:37 +10:00
is_isnot_literal.py tests/basics: Split out literal tests that raise SyntaxWarning on CPy. 2021-05-30 13:41:37 +10:00
is_isnot_literal.py.exp tests/basics: Split out literal tests that raise SyntaxWarning on CPy. 2021-05-30 13:41:37 +10:00
iter0.py
iter1.py
iter2.py
iter_of_iter.py
lambda1.py
lambda_defargs.py
lexer.py
list1.py tests/basics: Split out specific slice tests to separate files. 2019-10-29 22:22:37 +11:00
list_clear.py
list_compare.py
list_copy.py
list_count.py
list_extend.py
list_index.py
list_insert.py
list_mult.py py/runtime: If inplace binop fails then try corresponding normal binop. 2023-05-19 13:44:00 +10:00
list_pop.py
list_remove.py
list_reverse.py
list_slice.py tests/basics: Split out specific slice tests to separate files. 2019-10-29 22:22:37 +11:00
list_slice_3arg.py
list_slice_assign.py
list_slice_assign_grow.py
list_sort.py
list_sum.py
logic_constfolding.py
memoryerror.py
memoryerror.py.exp
memoryview1.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
memoryview2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
memoryview_gc.py py/objarray: Fix constructing a memoryview from a memoryview. 2021-05-18 10:18:56 +10:00
memoryview_intbig.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
memoryview_itemsize.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
memoryview_slice_assign.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
memoryview_slice_size.py py/objarray: Raise error on out-of-bound memoryview slice start. 2023-01-20 16:31:37 +11:00
memoryview_slice_size.py.exp py/objarray: Raise error on out-of-bound memoryview slice start. 2023-01-20 16:31:37 +11:00
module1.py
module2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
module2.py.exp
module_dict.py py/objmodule: Add support for __dict__. 2022-09-19 23:22:46 +10:00
namedtuple1.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
namedtuple_asdict.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
nanbox_smallint.py py/mpconfig: Include micropython module in core features. 2022-12-06 13:34:17 +11:00
nanbox_smallint.py.exp tests/basics: Add test for creating small-ints in nan-box builds. 2022-03-07 15:25:11 +11:00
object1.py
object_dict.py
object_new.py
op_error.py tests/basics: Split out literal tests that raise SyntaxWarning on CPy. 2021-05-30 13:41:37 +10:00
op_error_bytearray.py tests/basics: Split out specific bytearray tests to separate files. 2019-10-29 22:22:37 +11:00
op_error_intbig.py
op_error_literal.py tests/basics: Split out literal tests that raise SyntaxWarning on CPy. 2021-05-30 13:41:37 +10:00
op_error_literal.py.exp tests/basics: Split out literal tests that raise SyntaxWarning on CPy. 2021-05-30 13:41:37 +10:00
op_error_memoryview.py py/objarray: Disallow memoryview addition. 2023-05-19 13:33:54 +10:00
op_precedence.py
ordereddict1.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
ordereddict_eq.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
ordereddict_eq.py.exp
parser.py
parser.py.exp tests: Add .exp files for basics/parser and import/import_override. 2019-12-13 14:20:47 +11:00
python34.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
python34.py.exp py/runtime: Allow multiple *args in a function call. 2022-03-31 16:59:30 +11:00
python36.py
python36.py.exp
return1.py
scope.py
scope_class.py py/emitcommon: Don't implicitly close class vars that are assigned to. 2022-05-03 16:38:43 +10:00
scope_implicit.py py/compile: Fix case of eager implicit conversion of local to nonlocal. 2018-10-28 00:33:08 +11:00
self_type_check.py
seq_unpack.py
set_add.py tests/basics: Add tests for equality between bool and int/float/complex. 2020-02-11 11:06:17 +11:00
set_basic.py tests/basics: Add tests for equality between bool and int/float/complex. 2020-02-11 11:06:17 +11:00
set_binop.py
set_clear.py
set_comprehension.py
set_containment.py
set_copy.py
set_difference.py
set_discard.py
set_intersection.py
set_isdisjoint.py
set_isfooset.py
set_iter.py
set_iter_of_iter.py
set_pop.py
set_remove.py
set_specialmeth.py
set_symmetric_difference.py
set_type.py
set_union.py
set_unop.py
set_update.py
slice_attrs.py
slice_indices.py py/objslice: Validate that the argument to indices() is an integer. 2023-11-21 22:28:57 +11:00
slice_intbig.py
slice_op.py py/objslice: Ensure slice is not hashable. 2023-05-19 12:06:06 +10:00
slots_bool_len.py
special_comparisons.py py: Support non-boolean results for equality and inequality tests. 2020-01-30 14:53:07 +11:00
special_comparisons2.py py: Support non-boolean results for equality and inequality tests. 2020-01-30 14:53:07 +11:00
special_methods.py tests/basics: Remove __index__ and __inv__ from special methods tests. 2023-06-01 13:01:07 +10:00
special_methods2.py tests/basics: Remove __index__ and __inv__ from special methods tests. 2023-06-01 13:01:07 +10:00
special_methods2.py.exp tests/basics: Add test for matmul operator. 2019-09-26 15:15:34 +10:00
special_methods_intbig.py py: Change MP_UNARY_OP_INT to MP_UNARY_OP_INT_MAYBE. 2023-06-01 13:01:07 +10:00
stopiteration.py py: Support single argument to optimised MP_OBJ_STOP_ITERATION. 2021-07-15 00:12:41 +10:00
string1.py
string_center.py
string_compare.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
string_count.py tests: Make bytes/str.count() tests skippable. 2018-10-22 22:50:28 +11:00
string_cr_conversion.py
string_crlf_conversion.py
string_endswith.py
string_endswith_upy.py
string_endswith_upy.py.exp
string_escape.py
string_find.py
string_format.py tests: Add boolean-as-integer formatting tests for fixed regression. 2020-01-24 10:57:17 +11:00
string_format2.py
string_format_cp310.py py/objstr: Support '{:08}'.format("Jan") like Python 3.10. 2022-01-19 15:34:32 +11:00
string_format_cp310.py.exp py/objstr: Support '{:08}'.format("Jan") like Python 3.10. 2022-01-19 15:34:32 +11:00
string_format_error.py py/objstr: Support '{:08}'.format("Jan") like Python 3.10. 2022-01-19 15:34:32 +11:00
string_format_modulo.py py/objstr: Fix `str % {}` edge case. 2023-09-01 14:31:57 +10:00
string_format_modulo_int.py tests/basics: Automatically skip tests that use str/bytes modulo-format. 2019-10-29 22:22:37 +11:00
string_fstring.py py/lexer: Allow conversion specifiers in f-strings (e.g. !r). 2023-06-14 19:11:04 +10:00
string_fstring_debug.py py/lexer: Wrap in parenthesis all f-string arguments passed to format. 2023-01-20 17:54:32 +11:00
string_fstring_debug.py.exp py/lexer: Wrap in parenthesis all f-string arguments passed to format. 2023-01-20 17:54:32 +11:00
string_index.py
string_istest.py
string_join.py
string_large.py
string_mult.py py/runtime: If inplace binop fails then try corresponding normal binop. 2023-05-19 13:44:00 +10:00
string_partition.py
string_replace.py
string_repr.py tests/basics: Use str.format instead of % for formatting messages. 2019-10-29 22:22:37 +11:00
string_rfind.py
string_rindex.py
string_rpartition.py
string_rsplit.py
string_slice.py
string_split.py
string_splitlines.py
string_startswith.py
string_startswith_upy.py
string_startswith_upy.py.exp
string_strip.py
string_upperlow.py
struct1.py py/modstruct: Support pad bytes in struct format. 2023-09-01 14:50:49 +10:00
struct1_intbig.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
struct2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
struct_endian.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
struct_micropython.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
struct_micropython.py.exp
subclass_classmethod.py
subclass_native1.py
subclass_native2_list.py
subclass_native2_tuple.py tests/basics: Expand test cases for equality of subclasses. 2020-01-30 14:53:07 +11:00
subclass_native3.py py/objexcept: Make mp_obj_exception_get_value support subclassed excs. 2021-07-15 00:12:41 +10:00
subclass_native4.py
subclass_native5.py
subclass_native_buffer.py tests/basics: Use bytes not bytearray when checking user buffer proto. 2019-10-29 22:22:37 +11:00
subclass_native_call.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
subclass_native_call.py.exp
subclass_native_cmp.py tests/basics: Add test for tuple compare with class derived from tuple. 2020-02-20 10:48:03 +11:00
subclass_native_containment.py
subclass_native_exc_new.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
subclass_native_exc_new.py.exp tests/basics: Add tests for type-checking subclassed exc instances. 2021-10-21 12:42:48 +11:00
subclass_native_init.py
subclass_native_iter.py
subclass_native_specmeth.py
subclass_native_str.py tests: Move CPy diff test to real test now that subclass equality works. 2020-02-04 18:25:34 +11:00
syntaxerror.py tests/basics: Move test for "return" outside function to own file. 2020-02-06 00:42:34 +11:00
syntaxerror_return.py tests/basics: Move test for "return" outside function to own file. 2020-02-06 00:42:34 +11:00
sys1.py py/modsys: Implement optional sys.intern. 2023-12-15 11:43:39 +11:00
sys_exit.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
sys_getsizeof.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
sys_path.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
sys_tracebacklimit.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
sys_tracebacklimit.py.exp tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
true_value.py
try1.py
try2.py
try3.py
try4.py
try_as_var.py
try_continue.py
try_else.py tests/basics: Add tests for try-except-else and try-except-else-finally. 2019-02-21 16:22:41 +11:00
try_else_finally.py tests/basics: Add tests for try-except-else and try-except-else-finally. 2019-02-21 16:22:41 +11:00
try_error.py
try_except_break.py py/bc: Fix size calculation of UNWIND_JUMP opcode in mp_opcode_format. 2019-09-02 13:30:16 +10:00
try_except_break.py.exp py/bc: Fix size calculation of UNWIND_JUMP opcode in mp_opcode_format. 2019-09-02 13:30:16 +10:00
try_finally1.py
try_finally2.py
try_finally_break.py py: Fix VM crash with unwinding jump out of a finally block. 2019-03-05 16:05:05 +11:00
try_finally_break2.py py/vm: Fix handling of unwind jump out of active finally. 2019-10-04 23:01:29 +10:00
try_finally_continue.py py/vm: Fix handling of unwind jump out of active finally. 2019-10-04 23:01:29 +10:00
try_finally_continue.py.exp py/vm: Fix handling of unwind jump out of active finally. 2019-10-04 23:01:29 +10:00
try_finally_loops.py
try_finally_return.py py/compile: Fix potential Py-stack overflow in try-finally with return. 2024-01-31 12:56:29 +11:00
try_finally_return2.py
try_finally_return3.py
try_finally_return4.py
try_finally_return5.py py/vm: Fix handling of unwind jump out of active finally. 2019-10-04 23:01:29 +10:00
try_reraise.py
try_reraise2.py
try_return.py py: Fix VM crash with unwinding jump out of a finally block. 2019-03-05 16:05:05 +11:00
tuple1.py tests/basics: Split out specific slice tests to separate files. 2019-10-29 22:22:37 +11:00
tuple_compare.py
tuple_count.py
tuple_index.py
tuple_mult.py
tuple_slice.py tests/basics: Split out specific slice tests to separate files. 2019-10-29 22:22:37 +11:00
types1.py
types2.py
unary_op.py py/runtime: Fix bool unary op for subclasses of native types. 2021-07-23 12:40:00 +10:00
unboundlocal.py
unpack1.py
while1.py
while_cond.py
while_nest_exc.py
with1.py
with_break.py
with_continue.py
with_raise.py
with_return.py all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00