micropython/tests/basics
Damien George 606ec9bfb1 py/compile: Fix async for's stack handling of iterator expression.
Prior to this fix, async for assumed the iterator expression was a simple
identifier, and used that identifier as a local to store the intermediate
iterator object.  This is incorrect behaviour.

This commit fixes the issue by keeping the iterator object on the stack as
an anonymous local variable.

Fixes issue #11511.

Signed-off-by: Damien George <damien@micropython.org>
2023-07-13 13:50:50 +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
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
async_syntaxerror.py
async_syntaxerror.py.exp
async_with.py
async_with.py.exp
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
boundmeth1.py
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 tests/basics: Add more tests for hashing of various types. 2023-05-19 12:35:12 +10: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
builtin_enumerate.py
builtin_eval.py
builtin_eval_buffer.py
builtin_eval_error.py
builtin_exec.py
builtin_exec_buffer.py
builtin_filter.py
builtin_getattr.py
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
builtin_oct.py
builtin_oct_intbig.py
builtin_ord.py
builtin_override.py
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
bytearray_add.py
bytearray_append.py
bytearray_byte_operations.py py/objstr: Consolidate methods for str/bytes/bytearray/array. 2022-08-11 23:18:02 +10: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
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
bytes.py
bytes_add.py
bytes_add_array.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
bytes_add_bytearray.py
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
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
bytes_construct.py
bytes_construct_array.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
bytes_construct_bytearray.py
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
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
class_bind_self.py
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
class_descriptor.py
class_dict.py
class_emptybases.py
class_getattr.py
class_inherit1.py
class_inherit_mul.py
class_inplace_op.py
class_inplace_op2.py
class_inplace_op2.py.exp
class_instance_override.py
class_item.py
class_misc.py
class_new.py
class_notimpl.py
class_number.py
class_ordereddict.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
class_ordereddict.py.exp
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
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
continue.py
decorator.py
del_attr.py
del_deref.py
del_global.py
del_local.py
del_name.py
del_subscr.py
deque1.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
deque2.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10:00
deque2.py.exp
dict1.py
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
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
exception_chain.py
exception_chain.py.exp
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
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
gen_yield_from_send.py
gen_yield_from_stopped.py
gen_yield_from_throw.py
gen_yield_from_throw2.py
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
generator_pend_throw.py.exp
generator_pep479.py
generator_pep479.py.exp
generator_return.py
generator_send.py
generator_throw.py
generator_throw_nested.py
getattr.py
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
int_big_and3.py
int_big_cmp.py
int_big_div.py
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
int_big_or2.py
int_big_or3.py
int_big_pow.py
int_big_rshift.py
int_big_unary.py
int_big_xor.py
int_big_xor2.py
int_big_xor3.py
int_big_zeroone.py
int_bytes.py
int_bytes_intbig.py
int_constfolding.py
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
is_isnot_literal.py
is_isnot_literal.py.exp
iter0.py
iter1.py
iter2.py
iter_of_iter.py
lambda1.py
lambda_defargs.py
lexer.py
list1.py
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
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
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
object1.py
object_dict.py
object_new.py
op_error.py
op_error_bytearray.py
op_error_intbig.py
op_error_literal.py
op_error_literal.py.exp
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
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
self_type_check.py
seq_unpack.py
set_add.py
set_basic.py
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
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
special_comparisons2.py
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
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
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
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
string_format2.py
string_format_cp310.py
string_format_cp310.py.exp
string_format_error.py
string_format_modulo.py py/obj: Accept user types in mp_obj_get_int_maybe. 2023-06-01 14:18:54 +10:00
string_format_modulo_int.py
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
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 tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +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
subclass_native3.py
subclass_native4.py
subclass_native5.py
subclass_native_buffer.py
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
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
subclass_native_init.py
subclass_native_iter.py
subclass_native_specmeth.py
subclass_native_str.py
syntaxerror.py
syntaxerror_return.py
sys1.py tests: Replace umodule with module everywhere. 2023-06-08 17:54:24 +10: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
try_else_finally.py
try_error.py
try_except_break.py
try_except_break.py.exp
try_finally1.py
try_finally2.py
try_finally_break.py
try_finally_break2.py
try_finally_continue.py
try_finally_continue.py.exp
try_finally_loops.py
try_finally_return.py
try_finally_return2.py
try_finally_return3.py
try_finally_return4.py
try_finally_return5.py
try_reraise.py
try_reraise2.py
try_return.py
tuple1.py
tuple_compare.py
tuple_count.py
tuple_index.py
tuple_mult.py
tuple_slice.py
types1.py
types2.py
unary_op.py
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