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 Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
andor.py py: Fix 2 bugs in native emitter: jump_or_pop and stack settling. 2014-08-29 20:05:32 +01:00
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 tests/basics: Add tests to improve coverage of binary.c. 2016-12-28 16:11:54 +11:00
assign1.py tests: Add tests for things that are not already tested. 2015-03-12 22:48:45 +00:00
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 tests: Add 6 tests for async await/for/with. 2016-04-13 15:27:06 +01:00
async_await.py.exp tests: Add .exp files for async tests, so they can run with Python 3.4. 2016-04-13 15:56:15 +01:00
async_await2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
async_await2.py.exp tests: Add .exp files for async tests, so they can run with Python 3.4. 2016-04-13 15:56:15 +01:00
async_def.py tests: Improve test coverage of py/compile.c. 2016-10-11 12:30:32 +11:00
async_def.py.exp tests: Improve test coverage of py/compile.c. 2016-10-11 12:30:32 +11:00
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 py/compile: Fix async-for/async-with to work with simpler exc on stack. 2016-09-28 11:52:13 +10:00
async_with_break.py py/compile: Handle return/break/continue correctly in async with. 2018-06-27 16:57:42 +10:00
async_with_break.py.exp py/compile: Handle return/break/continue correctly in async with. 2018-06-27 16:57:42 +10:00
async_with_return.py py/compile: Handle return/break/continue correctly in async with. 2018-06-27 16:57:42 +10:00
async_with_return.py.exp py/compile: Handle return/break/continue correctly in async with. 2018-06-27 16:57:42 +10:00
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 py: Implement break and continue byte codes, and add tests. 2014-01-21 23:48:04 +00:00
builtin_abs.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
builtin_abs_intbig.py tests/basics: Add tests for edge cases of nan-box's 47-bit small int. 2018-04-05 00:59:49 +10:00
builtin_allany.py tests: Use range as iterable instead of list comprehension. 2015-03-02 17:55:55 +00:00
builtin_bin.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
builtin_bin_intbig.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
builtin_callable.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
builtin_chr.py tests: Add missing tests for builtins, and many other things. 2015-04-04 22:05:30 +01:00
builtin_compile.py py/builtinevex: Fix setting globals for native functions in compile(). 2024-02-20 12:12:28 +11:00
builtin_delattr.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
builtin_dir.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
builtin_divmod.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
builtin_divmod_intbig.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
builtin_ellipsis.py py/objsingleton: Use mp_generic_unary_op for singleton objects. 2019-12-27 12:53:36 +11:00
builtin_enumerate.py tests/basics/builtin_enumerate: Add test for many pos args to enumerate. 2018-03-08 12:51:06 +11:00
builtin_eval.py tests: Automatically skip tests that require eval, exec or frozenset. 2018-02-14 16:46:44 +11:00
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 tests: Automatically skip tests that require eval, exec or frozenset. 2018-02-14 16:46:44 +11:00
builtin_exec.py tests: Automatically skip tests that require eval, exec or frozenset. 2018-02-14 16:46:44 +11:00
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 tests/basics: Rename remaining tests that are for built-in functions. 2018-02-07 15:55:52 +11:00
builtin_getattr.py py/modbuiltins: Fix getattr to work with class raising AttributeError. 2020-06-02 15:42:20 +10:00
builtin_hasattr.py py/modbuiltins: Make built-in hasattr work properly for user types. 2018-05-10 23:03:30 +10:00
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 py/objgenerator: Allow to hash generators and generator instances. 2017-07-07 11:47:38 +10:00
builtin_hash_intbig.py tests: Add some tests for bigint hash, float hash and float parsing. 2018-05-21 13:05:40 +10:00
builtin_help.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
builtin_help.py.exp tests: Add test for builtin help function. 2017-01-22 11:56:16 +11:00
builtin_hex.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
builtin_hex_intbig.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
builtin_id.py Fix unstable case in builtin_id.py test. 2014-02-04 00:50:22 +02:00
builtin_issubclass.py tests: Add more tests to improve coverage, mostly testing exceptions. 2015-08-21 12:02:09 +01:00
builtin_len1.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
builtin_locals.py tests/basics/builtin_locals: Add test for using locals() in class body. 2017-11-27 14:14:57 +11:00
builtin_map.py tests/basics: Rename remaining tests that are for built-in functions. 2018-02-07 15:55:52 +11:00
builtin_minmax.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
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 tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
builtin_oct_intbig.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
builtin_ord.py tests: Add tests to improve coverage of objstr.c. 2015-09-03 23:06:18 +01:00
builtin_override.py tests: Add tests for overriding builtins.__import__. 2019-07-31 22:37:44 +10:00
builtin_pow.py tests: Split tests for 2- and 3-arg pow(). 2017-02-02 23:34:52 +03:00
builtin_pow3.py tests/basics/builtin_pow3: Add tests for edge cases of pow3. 2017-12-19 15:44:10 +11:00
builtin_pow3_intbig.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
builtin_print.py tests/basics: Rename remaining tests that are for built-in functions. 2018-02-07 15:55:52 +11:00
builtin_property.py py/objtype: Remove TODO comment about needing to check for property. 2018-05-25 10:59:40 +10:00
builtin_property_inherit.py py/objtype: Optimise instance get/set/del by skipping special accessors. 2018-06-08 12:12:08 +10:00
builtin_range.py tests/basics/builtin_range: Add test for corner case of range slicing. 2017-11-24 15:30:12 +11:00
builtin_range_attrs.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
builtin_range_binop.py py/objrange: Implement (in)equality comparison between range objects. 2018-02-14 23:17:06 +11:00
builtin_reversed.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
builtin_round.py modbuiltins: Implement round() to precision. 2015-07-19 21:49:44 +03:00
builtin_round_int.py py/modbuiltins: Add support for rounding integers. 2018-05-22 14:18:16 +10:00
builtin_round_intbig.py py/modbuiltins: Add support for rounding integers. 2018-05-22 14:18:16 +10:00
builtin_setattr.py tests/basics: Rename remaining tests that are for built-in functions. 2018-02-07 15:55:52 +11:00
builtin_slice.py tests/basics/builtin_slice: Add test for "slice" builtin name. 2016-10-24 13:35:39 +11:00
builtin_sorted.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
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 tests: Use range as iterable instead of list comprehension. 2015-03-02 17:55:55 +00:00
builtin_type.py py/objtype: Fix assertion failures in mp_obj_new_type by checking types. 2018-05-30 11:11:24 +10:00
builtin_zip.py tests/basics: Rename remaining tests that are for built-in functions. 2018-02-07 15:55:52 +11:00
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 py/objarray: Fix array.append so it doesn't extend if append fails. 2016-04-07 09:03:33 +01:00
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 tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
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 py/objstr: Protect against creating bytes(n) with n negative. 2018-02-19 16:25:30 +11:00
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 sequence: Fix yet another case of improper sequence comparison. 2014-05-15 19:09:06 +03:00
bytes_compare2.py tests/basics: Split out specific bytearray tests to separate files. 2019-10-29 22:22:37 +11:00
bytes_compare3.py tests/bytes_compare: Rework test for bytes <-> str comparison. 2016-07-22 12:02:04 +03:00
bytes_compare3.py.exp tests/bytes_compare: Rework test for bytes <-> str comparison. 2016-07-22 12:02:04 +03:00
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 tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
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 py/objstrunicode: str_index_to_ptr: Should handle bytes too. 2016-07-25 14:45:08 +03:00
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 tests: Add tests for %-formatting of bytes. 2015-12-20 16:54:34 +02:00
bytes_gen.py tests: Fix uctypes tests to run on 64bit arch; enable more native tests. 2014-09-23 14:15:45 +00:00
bytes_large.py py: Never intern data of large string/bytes object; add relevant tests. 2015-01-13 16:21:23 +00:00
bytes_mult.py py: Fix mult by negative number of tuple, list, str, bytes. 2014-08-13 13:22:24 +01:00
bytes_partition.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
bytes_replace.py py: Make bytes objs work with more str methods; add tests. 2014-12-24 20:28:30 +00:00
bytes_split.py py: Make bytes objs work with more str methods; add tests. 2014-12-24 20:28:30 +00:00
bytes_strip.py py: Make bytes objs work with more str methods; add tests. 2014-12-24 20:28:30 +00:00
bytes_subscr.py tests: Add more tests to improve coverage, mostly testing exceptions. 2015-08-21 12:02:09 +01:00
class1.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
class2.py tests: Add more tests to improve coverage, mostly testing exceptions. 2015-08-21 12:02:09 +01:00
class3.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
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 py: Add dispatch for user defined ==, >, <=, >=. 2014-08-26 09:31:26 +01:00
class_call.py py: Support instance __call__ method. 2014-04-25 21:17:42 +03:00
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 tests: Fix few test for proper "skipped" detection with qemu-arm's tinytest. 2017-12-12 23:45:48 +02:00
class_dict.py py/objtype: Handle __dict__ attribute when type has no locals. 2020-10-10 00:16:32 +11:00
class_emptybases.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
class_getattr.py tests/basics/class_getattr: Remove invalid test for __getattribute__. 2018-10-18 12:28:09 +11:00
class_inherit1.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
class_inherit_mul.py tests: Add tests to improve coverage of py/objtype.c. 2017-12-14 12:25:30 +11:00
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 tests: Add test for when instance member overrides class member. 2015-01-08 17:48:44 +00:00
class_item.py tests/basics: Improve user class coverage. 2016-11-22 15:49:02 +11:00
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 tests/class_new: Add another testcase for __new__/__init__ interaction. 2017-09-01 00:43:52 +03:00
class_notimpl.py py/objsingleton: Use mp_generic_unary_op for singleton objects. 2019-12-27 12:53:36 +11:00
class_number.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
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 Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
class_store_class.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
class_str.py Implement support for __str__ and __repr__ special methods in classes. 2014-03-16 15:18:22 +02:00
class_super.py py/objtype: Fix assertion failures in super_attr by checking type. 2018-05-30 11:14:07 +10:00
class_super_aslocal.py tests: Move super-as-local test from cpydiff to basic tests. 2017-05-06 11:01:57 +10:00
class_super_closure.py tests/basics: Add test for super() when self is closed over. 2017-03-27 11:29:11 +11:00
class_super_multinherit.py tests: Add tests to improve coverage of py/objtype.c. 2017-12-14 12:25:30 +11:00
class_super_object.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
class_use_other.py py: Use a wrapper to explicitly check self argument of builtin methods. 2015-06-20 16:39:39 +01:00
closure1.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
closure2.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
closure_defargs.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
closure_manyvars.py tests: Add tests for SyntaxError, TypeError, and other missing things. 2015-03-25 23:10:09 +00:00
closure_namedarg.py py: Fix naming of function arguments when function is a closure. 2015-05-06 13:55:33 +01:00
compare_multi.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
comprehension1.py tests/comprehension1, containment: Split set tests to separate files. 2017-02-14 22:31:08 +03:00
containment.py tests/run-tests: Use -BS flags when running CPython. 2020-09-25 12:27:23 +10:00
continue.py py: Implement break and continue byte codes, and add tests. 2014-01-21 23:48:04 +00:00
decorator.py tests: Add tests for things that are not already tested. 2015-03-12 22:48:45 +00:00
del_attr.py py/objtype: Check and prevent delete/store on a fixed locals map. 2018-02-07 15:44:29 +11:00
del_deref.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
del_global.py tests: Improve test coverage of py/compile.c. 2016-10-11 12:30:32 +11:00
del_local.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
del_name.py tests: Add some tests to improve coverage. 2015-01-29 00:44:11 +00:00
del_subscr.py tests: Add tests for things that are not already tested. 2015-03-12 22:48:45 +00:00
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 tests: Add tests for op special meths, ubinascii, complex. 2015-03-02 12:47:44 +00:00
dict_clear.py tests: Fix few tests which depend on order of elements in dict. 2014-04-06 21:31:42 +03:00
dict_construct.py py: Implement full behaviour of dict.update(), and dict(). 2014-06-03 12:53:44 +01:00
dict_copy.py tests: Reduce large object allocations so tests can run with small heap. 2016-03-06 05:59:46 +02:00
dict_del.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
dict_fixed.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
dict_fixed.py.exp py/objdict: Disallow possible modifications to fixed dicts. 2018-02-18 21:51:04 -06:00
dict_from_iter.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
dict_fromkeys.py tests/dict_fromkeys: Split out skippable part. 2017-03-09 08:31:35 +01:00
dict_fromkeys2.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
dict_get.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
dict_intern.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
dict_iterator.py tests: Fix few tests which depend on order of elements in dict. 2014-04-06 21:31:42 +03:00
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 tests: Fix few tests which depend on order of elements in dict. 2014-04-06 21:31:42 +03:00
dict_setdefault.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
dict_specialmeth.py tests: Add tests for op special meths, ubinascii, complex. 2015-03-02 12:47:44 +00:00
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 py: Implement full behaviour of dict.update(), and dict(). 2014-06-03 12:53:44 +01:00
dict_views.py py/objdict: Fix __hash__ for dict_view types. 2023-05-19 12:06:17 +10:00
equal.py py: Remove useless implementations of NOT_EQUAL in binary_op's. 2014-04-12 00:20:39 +01:00
equal_class.py py: Implement fallback for equality check for all types. 2015-01-11 15:13:18 +00:00
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 tests: Add test for exception matching of a tuple of exceptions. 2014-09-25 15:49:26 +01:00
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 tests: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
exceptpoly2.py tests: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
floordivide.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
floordivide_intbig.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
for1.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
for2.py py: Fix bug in optimised for .. range. 2014-03-31 18:02:22 +01:00
for3.py py: Fix optimised for-loop compiler so it follows proper semantics. 2014-12-12 17:19:56 +00:00
for_break.py tests: Add another test for break-from-for-loop. 2014-05-31 16:56:15 +01:00
for_else.py tests/basics: Add tests for for-else statement. 2017-06-22 14:02:14 +10:00
for_range.py tests/basics: Add tests for raising ValueError when range() gets 0 step. 2017-04-05 10:52:29 +10:00
for_return.py py: Fix stack underflow with optimised for loop. 2014-05-31 17:59:11 +01:00
frozenset1.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
frozenset_add.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
frozenset_binop.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
frozenset_copy.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
frozenset_difference.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
frozenset_set.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
fun1.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
fun2.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
fun3.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
fun_annotations.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
fun_calldblstar.py py/bc: Fix checking for duplicate **kwargs. 2022-11-28 11:23:22 +11:00
fun_calldblstar2.py tests: Automatically skip tests that require eval, exec or frozenset. 2018-02-14 16:46:44 +11:00
fun_calldblstar3.py tests/basics: Improve runtime.c test coverage. 2017-01-17 16:21:17 +11:00
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 py: Fix compiler to handle lambdas used as default arguments. 2015-12-12 13:42:51 +00:00
fun_defargs2.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
fun_error.py tests: Rewrite some tests so they can run without needing eval/exec. 2018-02-14 16:50:20 +11:00
fun_error2.py tests: Rewrite some tests so they can run without needing eval/exec. 2018-02-14 16:50:20 +11:00
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 tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
fun_kwonly.py py: Fix compiler to handle lambdas used as default arguments. 2015-12-12 13:42:51 +00:00
fun_kwonlydef.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
fun_kwvarargs.py py/runtime: Allow multiple *args in a function call. 2022-03-31 16:59:30 +11:00
fun_largestate.py tests: Add some tests to improve coverage. 2015-01-29 14:56:09 +00:00
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 tests: Add tests for SyntaxError, TypeError, and other missing things. 2015-03-25 23:10:09 +00:00
fun_varargs.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
gc1.py tests/basics/gc1: Add test which triggers GC threshold. 2018-02-27 22:39:17 +11:00
gen_yield_from.py py/objgenerator: Implement PEP479, StopIteration convs to RuntimeError. 2018-09-20 15:36:59 +10:00
gen_yield_from_close.py py/objgenerator: Implement PEP479, StopIteration convs to RuntimeError. 2018-09-20 15:36:59 +10:00
gen_yield_from_ducktype.py vm: Properly handle StopIteration raised in user instance iterator. 2015-05-11 23:57:42 +01:00
gen_yield_from_exc.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
gen_yield_from_executing.py py/objgenerator: Protect against reentering a generator. 2018-05-22 16:54:03 +10:00
gen_yield_from_iter.py py: iternext() may not return MP_OBJ_NULL, only MP_OBJ_STOP_ITERATION. 2015-05-10 00:41:49 +03:00
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 tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
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 py/runtime: Be sure that non-intercepted thrown object is an exception. 2018-03-30 12:43:38 +11:00
generator1.py tests/basics: Improve test coverage for generators. 2016-12-20 16:19:56 +11:00
generator2.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
generator_args.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
generator_close.py py/objgenerator: Implement PEP479, StopIteration convs to RuntimeError. 2018-09-20 15:36:59 +10:00
generator_closure.py objclosure: Fix printing of generator closures. 2014-10-16 00:14:01 +03:00
generator_exc.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
generator_name.py py/objgenerator: Implement __name__ with normal fun attr accessor code. 2018-07-10 16:33:57 +10:00
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 py/objgenerator: Remove TODO about returning gen being called again. 2018-09-27 15:18:24 +10:00
generator_send.py gen.send(): Throw StopIteration. Also, explicitly shutdown finished gen. 2014-01-27 01:07:58 +02:00
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 tests: Add test where __getitem__ raises IndexError to stop iteration. 2015-08-30 11:49:59 +01:00
globals_del.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
ifcond.py py/compile: Remove over-eager optimisation of tuples as if condition. 2023-05-03 13:21:18 +10:00
ifexpr.py tests/basics: Add tests for if-expressions. 2016-11-26 16:15:31 +11:00
int1.py tests/basics: Add tests for parsing of ints with base 36. 2016-12-28 12:08:46 +11:00
int2.py tests: Add tests for SyntaxError, TypeError, and other missing things. 2015-03-25 23:10:09 +00:00
int_big1.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
int_big_add.py tests/basics: Add tests for edge cases of nan-box's 47-bit small int. 2018-04-05 00:59:49 +10:00
int_big_and.py tests: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
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 tests: Add further tests for mpz code. 2015-10-01 18:49:37 +01:00
int_big_mod.py py/mpz: Do Python style division/modulo within bignum divmod routine. 2016-05-08 22:21:21 +01:00
int_big_mul.py tests: Add missing tests for builtins, and many other things. 2015-04-04 22:05:30 +01:00
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 tests: Add further tests for mpz code. 2015-10-01 18:49:37 +01:00
int_big_rshift.py tests/basics: Modify int-big tests to prevent constant folding. 2018-04-04 13:57:22 +10:00
int_big_unary.py tests: Add tests for boundmeth; and bignum cmp, unary, float, error. 2015-03-03 16:45:39 +00:00
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 py/objint: In to_bytes(), allow length arg to be any int and check sign. 2017-06-15 14:21:02 +10:00
int_bytes_intbig.py py/objint: Support "big" byte-order in int.to_bytes(). 2017-06-15 13:56:21 +10:00
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 tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
int_divmod.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
int_divmod_intbig.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
int_divzero.py py: Catch all cases of integer (big and small) division by zero. 2015-10-01 22:48:48 +01:00
int_intbig.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
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 tests: Add tests for things that are not already tested. 2015-03-12 22:48:45 +00:00
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 tests: Move non-filesystem io tests to basics dir with io_ prefix. 2018-06-27 16:55:05 +10:00
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 tests: Move non-filesystem io tests to basics dir with io_ prefix. 2018-06-27 16:55:05 +10:00
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 tests/basics: Improve runtime.c test coverage. 2017-01-17 16:21:17 +11:00
iter1.py tests/basics/iter1.py: Add more tests for walking a user-defined iter. 2018-03-30 14:23:13 +11:00
iter2.py py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
iter_of_iter.py tests/basic/: Make various tests skippable. 2017-02-15 18:11:16 +03:00
lambda1.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
lambda_defargs.py py: Implement default and star args for lambdas. 2015-11-17 14:00:14 +00:00
lexer.py tests: Automatically skip tests that require eval, exec or frozenset. 2018-02-14 16:46:44 +11:00
list1.py tests/basics: Split out specific slice tests to separate files. 2019-10-29 22:22:37 +11:00
list_clear.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
list_compare.py py/objlist: Properly implement comparison with incompatible types. 2017-09-07 00:10:10 +03:00
list_copy.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
list_count.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
list_extend.py py/objlist: Make list += accept all arguments and add test. 2015-08-02 20:53:54 +01:00
list_index.py tests: Add tests for SyntaxError, TypeError, and other missing things. 2015-03-25 23:10:09 +00:00
list_insert.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
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 tests/basics: Add more list tests to improve coverage testing. 2016-08-15 10:46:35 +10:00
list_remove.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
list_reverse.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
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 tests/basics/list_slice_3arg: Add more tests for negative slicing. 2017-05-18 17:32:42 +10:00
list_slice_assign.py all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +10:00
list_slice_assign_grow.py tests/basics: Add tests for list and bytearray growing using themselves. 2017-04-02 17:31:32 +10:00
list_sort.py tests: Reduce large object allocations so tests can run with small heap. 2016-03-06 05:59:46 +02:00
list_sum.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
logic_constfolding.py tests/basics: Add test for logical constant folding. 2016-11-15 16:48:49 +11:00
memoryerror.py tests/basics/memoryerror: Add test for out-of-memory using realloc. 2017-12-20 16:58:27 +11:00
memoryerror.py.exp tests/basics/memoryerror: Add test for out-of-memory using realloc. 2017-12-20 16:58:27 +11:00
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 tests: Add missing tests for builtins, and many other things. 2015-04-04 22:05:30 +01:00
module2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
module2.py.exp tests: Add missing tests for builtins, and many other things. 2015-04-04 22:05:30 +01:00
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 tests: Add missing tests for builtins, and many other things. 2015-04-04 22:05:30 +01:00
object_dict.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
object_new.py tests/object_new: Better messages, check user __new__() method. 2017-08-30 21:29:23 +03:00
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 tests: Rewrite some tests so they can run without needing eval/exec. 2018-02-14 16:50:20 +11:00
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 tests: Make tests work on targets without float support. 2018-08-04 15:14:23 +10:00
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 tests: Add testcase for OrderedDict equality. 2016-06-12 17:37:19 +03:00
parser.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
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 py/lexer: Add support for underscores in numeric literals. 2018-06-12 12:17:43 +10:00
python36.py.exp py/lexer: Add support for underscores in numeric literals. 2018-06-12 12:17:43 +10:00
return1.py tests: Add tests for things that are not already tested. 2015-03-12 22:48:45 +00:00
scope.py tests/basics: Add further tests for nonlocal scoping and closures. 2016-09-30 14:20:55 +10:00
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 py: Use a wrapper to explicitly check self argument of builtin methods. 2015-06-20 16:39:39 +01:00
seq_unpack.py tests: Add tests for things that are not already tested. 2015-03-12 22:48:45 +00:00
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 tests/basics: Add more set tests to improve coverage of py/objset.c. 2017-12-19 13:59:54 +11:00
set_clear.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
set_comprehension.py tests/comprehension1, containment: Split set tests to separate files. 2017-02-14 22:31:08 +03:00
set_containment.py tests/comprehension1, containment: Split set tests to separate files. 2017-02-14 22:31:08 +03:00
set_copy.py Modify set tests to print sorted sets directly 2014-04-07 05:00:03 +01:00
set_difference.py tests/basics: Add test for set.difference_update with arg being itself. 2016-09-28 11:10:27 +10:00
set_discard.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
set_intersection.py Modify set tests to print sorted sets directly 2014-04-07 05:00:03 +01:00
set_isdisjoint.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
set_isfooset.py tests/basics: Add more set tests to improve coverage of py/objset.c. 2017-12-19 13:59:54 +11:00
set_iter.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
set_iter_of_iter.py tests/basic/: Make various tests skippable. 2017-02-15 18:11:16 +03:00
set_pop.py tests/basics/set_pop.py: Sort set before printing for consistent output. 2018-08-17 15:42:51 +10:00
set_remove.py py/objset: Include the failed key in a KeyError raised from set.remove. 2017-10-03 18:03:06 +11:00
set_specialmeth.py tests: Add tests for op special meths, ubinascii, complex. 2015-03-02 12:47:44 +00:00
set_symmetric_difference.py Modify set tests to print sorted sets directly 2014-04-07 05:00:03 +01:00
set_type.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
set_union.py tests: Fix few tests which depend on order of elements in set. 2014-04-07 02:54:16 +03:00
set_unop.py tests: Add more tests to improve coverage, mostly testing exceptions. 2015-08-21 12:02:09 +01:00
set_update.py Modify set tests to print sorted sets directly 2014-04-07 05:00:03 +01:00
slice_attrs.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
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 tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
slice_op.py py/objslice: Ensure slice is not hashable. 2023-05-19 12:06:06 +10:00
slots_bool_len.py py: Improve __bool__ and __len__ dispatch; add slots for them. 2014-01-30 10:05:33 +00:00
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 tests: Add tests to improve coverage of objstr.c. 2015-09-03 23:06:18 +01:00
string_center.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
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 py: Convert CR to LF and CR LF to LF in lexer. 2015-01-30 00:27:46 +00:00
string_crlf_conversion.py py: Convert CR to LF and CR LF to LF in lexer. 2015-01-30 00:27:46 +00:00
string_endswith.py py/objstr: startswith, endswith: Check arg to be a string. 2017-08-29 00:06:21 +03:00
string_endswith_upy.py py/objstr: startswith, endswith: Check arg to be a string. 2017-08-29 00:06:21 +03:00
string_endswith_upy.py.exp py/objstr: startswith, endswith: Check arg to be a string. 2017-08-29 00:06:21 +03:00
string_escape.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
string_find.py py/objstr: In find/rfind, don't crash when end < start. 2018-04-05 16:14:17 +10:00
string_format.py tests: Add boolean-as-integer formatting tests for fixed regression. 2020-01-24 10:57:17 +11:00
string_format2.py tests/basics/string_format2: Adjust comment now that tests succeed. 2017-03-15 17:25:46 +11:00
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 py: Implement str.[r]index() and add tests for them. 2014-04-08 11:51:41 -07:00
string_istest.py add methods isspace(), isalpha(), isdigit(), isupper() and islower() to str 2014-05-31 07:30:57 +01:00
string_join.py tests/basics/string_join.py: Add test case where argument is not iterable. 2017-03-07 16:48:16 +11:00
string_large.py py: Never intern data of large string/bytes object; add relevant tests. 2015-01-13 16:21:23 +00:00
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 tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
string_replace.py tests: Add more tests to improve coverage, mostly testing exceptions. 2015-08-21 12:02:09 +01:00
string_repr.py tests/basics: Use str.format instead of % for formatting messages. 2019-10-29 22:22:37 +11:00
string_rfind.py py/objstr: In find/rfind, don't crash when end < start. 2018-04-05 16:14:17 +10:00
string_rindex.py py: Implement str.[r]index() and add tests for them. 2014-04-08 11:51:41 -07:00
string_rpartition.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
string_rsplit.py tests/basics/string_rsplit: Add tests for negative "maxsplit" argument. 2017-06-02 13:08:18 +10:00
string_slice.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
string_split.py objstr: split(None): Fix whitespace properly. 2015-04-12 00:17:57 +03:00
string_splitlines.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
string_startswith.py py/objstr: startswith, endswith: Check arg to be a string. 2017-08-29 00:06:21 +03:00
string_startswith_upy.py py/objstr: startswith, endswith: Check arg to be a string. 2017-08-29 00:06:21 +03:00
string_startswith_upy.py.exp py/objstr: startswith, endswith: Check arg to be a string. 2017-08-29 00:06:21 +03:00
string_strip.py py/objstr: strip: Don't strip "\0" by default. 2017-09-19 21:21:12 +03:00
string_upperlow.py objstr: Implement .lower() and .upper(). 2014-05-10 19:49:07 +03:00
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 py/modstruct: In struct.pack, stop converting if there are no args left. 2017-09-01 10:10:51 +10:00
subclass_classmethod.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
subclass_native1.py tests: Add more tests to improve coverage, mostly testing exceptions. 2015-08-21 12:02:09 +01:00
subclass_native2_list.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
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 tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
subclass_native5.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
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 tests/basics: Add test for calling a subclass of a native class. 2018-02-24 23:13:42 +11:00
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 tests/basics: Add test for containment of a subclass of a native type. 2017-11-24 14:48:41 +11:00
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 tests/basics: Add test for overriding a native base-class's init method. 2017-12-12 16:47:38 +11:00
subclass_native_iter.py tests/basics: Add test for subclassing an iterable native type. 2018-04-04 15:26:18 +10:00
subclass_native_specmeth.py objtype: Implement ->getiter() method for instances. 2014-05-10 21:26:08 +03:00
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 tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
try1.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
try2.py tests: Add tests to improve coverage of runtime.c. 2016-12-21 15:44:41 +11:00
try3.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
try4.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
try_as_var.py tests: Modify tests that print repr of an exception with 1 arg. 2018-08-17 15:46:04 +10:00
try_continue.py py/vm: Fix popping of exception block in UNWIND_JUMP opcode. 2016-02-01 16:07:21 +00:00
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 tests: Add tests for SyntaxError, TypeError, and other missing things. 2015-03-25 23:10:09 +00:00
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 py/emitnative: Fix try-finally in outer scope, so finally is cancelled. 2018-09-11 15:33:25 +10:00
try_finally2.py tests/basics: Add test case for overflowing Py stack in try-finally. 2016-09-27 12:46:50 +10:00
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 tests/basics: Add more tests for unwind jumps from within a try-finally. 2017-05-25 20:48:16 +10:00
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 py: Handle case of return within the finally block of try-finally. 2015-12-24 12:47:39 +00:00
try_finally_return3.py py/vm: Fix handling of finally-return with complex nested finallys. 2018-09-03 13:08:16 +10:00
try_finally_return4.py tests/basics: Add more tests for return within try-finally. 2018-09-04 14:37:07 +10:00
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 tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
try_reraise2.py various: Spelling fixes 2017-05-29 11:36:05 +03:00
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 py/objtuple: Properly implement comparison with incompatible types. 2017-09-06 00:23:41 +03:00
tuple_count.py Factor out mp_seq_count_obj() and implement tuple.count(). 2014-02-10 07:13:32 +02:00
tuple_index.py Implement tuple.index(). 2014-02-10 07:13:32 +02:00
tuple_mult.py py/objtuple: Allow to use inplace-multiplication operator on tuples. 2017-08-09 21:20:42 +10:00
tuple_slice.py tests/basics: Split out specific slice tests to separate files. 2019-10-29 22:22:37 +11:00
types1.py tests/types1: Split out set type test to set_types. 2017-01-06 11:01:55 +03:00
types2.py tests: Split out those tests requiring float and import. 2014-04-17 16:21:43 +01:00
unary_op.py py/runtime: Fix bool unary op for subclasses of native types. 2021-07-23 12:40:00 +10:00
unboundlocal.py py: Make all LOAD_FAST ops check for unbound local. 2014-04-12 18:20:40 +01:00
unpack1.py tests/basics/unpack1.py: Test if *a, = b copies b when b is a list. 2017-03-07 16:48:16 +11:00
while1.py Move tests in basic/tests/ up one level preparating to multiple test dirs. 2014-01-19 18:41:55 +02:00
while_cond.py tests: Add tests for things that are not already tested. 2015-03-12 22:48:45 +00:00
while_nest_exc.py tests: Add test for nested while with exc and break. 2014-10-17 17:28:25 +00:00
with1.py tests: Make tests pass on pyboard. 2014-04-13 17:46:30 +01:00
with_break.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
with_continue.py tests: Rename test scripts, changing - to _ for consistency. 2014-07-05 06:14:29 +01:00
with_raise.py tests/basics: Add test cases for context manager raising in enter/exit. 2018-09-04 14:37:30 +10:00
with_return.py all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00