micropython/tests/basics
Damien George d8dc918deb py/compile: Handle return/break/continue correctly in async with.
Before this patch the context manager's __aexit__() method would not be
executed if a return/break/continue statement was used to exit an async
with block.  async with now has the same semantics as normal with.

The fix here applies purely to the compiler, and does not modify the
runtime at all. It might (eventually) be better to define new bytecode(s)
to handle async with (and maybe other async constructs) in a cleaner, more
efficient way.

One minor drawback with addressing this issue purely in the compiler is
that it wasn't possible to get 100% CPython semantics.  The thing that is
different here to CPython is that the __aexit__ method is not looked up in
the context manager until it is needed, which is after the body of the
async with statement has executed.  So if a context manager doesn't have
__aexit__ then CPython raises an exception before the async with is
executed, whereas uPy will raise it after it is executed.  Note that
__aenter__ is looked up at the beginning in uPy because it needs to be
called straightaway, so if the context manager isn't a context manager then
it'll still raise an exception at the same location as CPython.  The only
difference is if the context manager has the __aenter__ method but not the
__aexit__ method, then in that case uPy has different behaviour.  But this
is a very minor, and acceptable, difference.
2018-06-27 16:57:42 +10:00
..
0prelim.py
andor.py
array1.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
array_add.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
array_construct.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
array_construct2.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
array_construct_endian.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
array_intbig.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
array_micropython.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03: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
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: Add 6 tests for async await/for/with. 2016-04-13 15:27:06 +01: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 tests: Add 6 tests for async await/for/with. 2016-04-13 15:27:06 +01:00
async_for.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_for2.py tests: Add 6 tests for async await/for/with. 2016-04-13 15:27:06 +01:00
async_for2.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_with.py tests: Improve test coverage of py/compile.c. 2016-10-11 12:30:32 +11:00
async_with.py.exp tests: Improve test coverage of py/compile.c. 2016-10-11 12:30:32 +11:00
async_with2.py py/compile: Fix async-for/async-with to work with simpler exc on stack. 2016-09-28 11:52:13 +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/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
bool1.py
boundmeth1.py tests/basics: Add test for assignment of attribute to bound method. 2017-01-20 13:17:22 +11:00
break.py
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
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
builtin_chr.py
builtin_compile.py tests: Fix few test for proper "skipped" detection with qemu-arm's tinytest. 2017-12-12 23:45:48 +02:00
builtin_delattr.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
builtin_dir.py py/modbuiltins: Simplify and generalise dir() by probing qstrs. 2018-02-19 16:12:44 +11: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
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_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_filter.py tests/basics: Rename remaining tests that are for built-in functions. 2018-02-07 15:55:52 +11:00
builtin_getattr.py tests/basics: Rename remaining tests that are for built-in functions. 2018-02-07 15:55:52 +11: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/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03: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
builtin_issubclass.py
builtin_len1.py
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_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
builtin_override.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03: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
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_sum.py
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 tests/bytearray1: Add testcases for "in" operator. 2016-02-14 18:57:18 +02:00
bytearray_add.py
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_construct.py tests/basic: Make various tests skippable. 2017-03-09 00:07:19 +01:00
bytearray_construct_array.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
bytearray_construct_endian.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03: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_slice_assign.py all: Use the name MicroPython consistently in comments 2017-07-31 18:35:40 +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/bytes_add: Add tests for optimised bytes addition. 2017-03-16 14:31:03 +11:00
bytes_add_array.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
bytes_add_endian.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
bytes_compare.py
bytes_compare2.py tests/basic: Make various tests skippable. 2017-03-09 00:07:19 +01: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/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
bytes_construct.py tests/basic: Make various tests skippable. 2017-03-09 00:07:19 +01:00
bytes_construct_array.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
bytes_construct_endian.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03: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
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: Add tests for %-formatting of bytes. 2015-12-20 16:54:34 +02:00
bytes_format_modulo.py.exp tests: Add tests for %-formatting of bytes. 2015-12-20 16:54:34 +02:00
bytes_gen.py
bytes_large.py
bytes_mult.py
bytes_partition.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
bytes_replace.py
bytes_split.py
bytes_strip.py
bytes_subscr.py
class1.py
class2.py
class3.py
class_bind_self.py py: Be more restrictive binding self when looking up instance attrs. 2015-12-26 12:41:31 +00:00
class_binop.py
class_call.py
class_contains.py
class_delattr_setattr.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03: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_emptybases.py
class_getattr.py
class_inherit1.py
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/class_inplace_op: Test for inplace op fallback to normal one. 2017-09-04 16:44:38 +03:00
class_instance_override.py
class_item.py tests/basics: Improve user class coverage. 2016-11-22 15:49:02 +11:00
class_misc.py tests/basics: Improve user class coverage. 2016-11-22 15:49:02 +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/objtype: Handle NotImplemented return from binary special methods. 2017-08-30 01:39:24 +03:00
class_number.py
class_reverse_op.py tests/class_reverse_op: Test for reverse arith ops special methods. 2017-09-10 17:05:57 +03:00
class_staticclassmethod.py
class_store.py
class_store_class.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
class_str.py
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
closure1.py
closure2.py
closure_defargs.py
closure_manyvars.py
closure_namedarg.py
compare_multi.py
comprehension1.py tests/comprehension1, containment: Split set tests to separate files. 2017-02-14 22:31:08 +03:00
containment.py py/objstr: Raise an exception for wrong type on RHS of str binary op. 2017-08-09 21:25:48 +10:00
continue.py
decorator.py
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
del_global.py tests: Improve test coverage of py/compile.c. 2016-10-11 12:30:32 +11:00
del_local.py
del_name.py
del_subscr.py
deque1.py py/objdeque: Protect against negative maxlen in deque constructor. 2018-02-21 23:34:17 +11:00
deque2.py tests/basics/deque*: Tests for ucollections.deque. 2018-02-21 22:58:14 +11:00
deque2.py.exp tests/basics/deque*: Tests for ucollections.deque. 2018-02-21 22:58:14 +11:00
dict1.py tests: Add test to print full KeyError exc from failed dict lookup. 2016-10-17 12:01:18 +11:00
dict2.py
dict_clear.py
dict_construct.py
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
dict_fixed.py py/objdict: Disallow possible modifications to fixed dicts. 2018-02-18 21:51:04 -06: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
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
dict_intern.py
dict_iterator.py
dict_pop.py
dict_popitem.py
dict_setdefault.py
dict_specialmeth.py
dict_update.py
dict_views.py tests: Improve coverage of array, range, dict, slice, exc, unicode. 2016-10-17 11:43:47 +11:00
equal.py
equal_class.py
errno1.py tests: Add some more tests to improve coverage of py/parse.c. 2017-12-19 16:13:00 +11:00
errno1.py.exp tests: Add some more tests to improve coverage of py/parse.c. 2017-12-19 16:13:00 +11:00
except_match_tuple.py
exception1.py
exception_chain.py
exception_chain.py.exp
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
for2.py
for3.py
for_break.py
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
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
fun2.py
fun3.py
fun_annotations.py
fun_calldblstar.py py/runtime: Check that keys in dicts passed as ** args are strings. 2018-03-30 11:13:32 +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_callstar.py tests/basics: Improve runtime.c test coverage. 2017-01-17 16:21:17 +11:00
fun_callstardblstar.py
fun_defargs.py py: Fix compiler to handle lambdas used as default arguments. 2015-12-12 13:42:51 +00:00
fun_defargs2.py
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_kwargs.py
fun_kwonly.py py: Fix compiler to handle lambdas used as default arguments. 2015-12-12 13:42:51 +00:00
fun_kwonlydef.py
fun_kwvarargs.py
fun_largestate.py
fun_name.py tests: Fix few test for proper "skipped" detection with qemu-arm's tinytest. 2017-12-12 23:45:48 +02:00
fun_str.py
fun_varargs.py
gc1.py tests/basics/gc1: Add test which triggers GC threshold. 2018-02-27 22:39:17 +11:00
gen_yield_from.py py/vm: Fix case of handling raised StopIteration within yield from. 2018-02-27 15:39:31 +11:00
gen_yield_from_close.py tests/gen_yield_from_close: Use range() instead of reversed(). 2017-02-15 17:05:27 +03:00
gen_yield_from_ducktype.py
gen_yield_from_exc.py
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
gen_yield_from_send.py
gen_yield_from_stopped.py tests: Add testcase for yielding from a stopped generator. 2016-04-28 02:08:51 +03:00
gen_yield_from_throw.py tests/basics: Improve test coverage for generators. 2016-12-20 16:19:56 +11:00
gen_yield_from_throw2.py tests: Update tests, and add new ones, for recent generator tweaks. 2017-01-17 00:17:44 +11: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
generator_args.py
generator_close.py
generator_closure.py
generator_exc.py
generator_pend_throw.py tests/basics/generator_pend_throw: Add test for just-started generator. 2017-12-19 15:02:34 +11:00
generator_pend_throw.py.exp tests/basics/generator_pend_throw: Add test for just-started generator. 2017-12-19 15:02:34 +11:00
generator_return.py
generator_send.py
getattr.py
getitem.py
globals_del.py
ifcond.py
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
int_big1.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_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 tests: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
int_big_and3.py tests: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
int_big_cmp.py
int_big_div.py py/mpz: Fix bug with overflowing C-shift in division routine. 2016-05-08 21:38:43 +01:00
int_big_error.py
int_big_lshift.py
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
int_big_or.py tests: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
int_big_or2.py tests: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
int_big_or3.py tests: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
int_big_pow.py
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
int_big_xor.py tests/basics: Modify int-big tests to prevent constant folding. 2018-04-04 13:57:22 +10:00
int_big_xor2.py tests: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
int_big_xor3.py tests: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
int_big_zeroone.py
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 tests: Add some more tests to improve coverage of py/parse.c. 2017-12-19 16:13:00 +11: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
int_intbig.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
int_small.py
io_buffered_writer.py tests: Move non-filesystem io tests to basics dir with io_ prefix. 2018-06-27 16:55:05 +10:00
io_buffered_writer.py.exp tests: Move non-filesystem io tests to basics dir with io_ prefix. 2018-06-27 16:55:05 +10:00
io_bytesio_cow.py tests: Move non-filesystem io tests to basics dir with io_ prefix. 2018-06-27 16:55:05 +10:00
io_bytesio_ext.py tests: Move non-filesystem io tests to basics dir with io_ prefix. 2018-06-27 16:55:05 +10:00
io_bytesio_ext2.py tests: Move non-filesystem io tests to basics dir with io_ prefix. 2018-06-27 16:55:05 +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: Move non-filesystem io tests to basics dir with io_ prefix. 2018-06-27 16:55:05 +10:00
io_stringio1.py tests: Move non-filesystem io tests to basics dir with io_ prefix. 2018-06-27 16:55:05 +10:00
io_stringio_with.py tests: Move non-filesystem io tests to basics dir with io_ prefix. 2018-06-27 16:55:05 +10:00
io_write_ext.py tests: Move non-filesystem io tests to basics dir with io_ prefix. 2018-06-27 16:55:05 +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
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
iter_of_iter.py tests/basic/: Make various tests skippable. 2017-02-15 18:11:16 +03:00
lambda1.py
lambda_defargs.py
lexer.py tests: Automatically skip tests that require eval, exec or frozenset. 2018-02-14 16:46:44 +11:00
list1.py tests/basics: Add more list tests to improve coverage testing. 2016-08-15 10:46:35 +10:00
list_clear.py
list_compare.py py/objlist: Properly implement comparison with incompatible types. 2017-09-07 00:10:10 +03:00
list_copy.py
list_count.py
list_extend.py
list_index.py
list_insert.py
list_mult.py tests/basics: Add more list tests to improve coverage testing. 2016-08-15 10:46:35 +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
list_reverse.py
list_slice.py tests/basics: Enable tests for list slice getting with 3rd arg. 2016-11-26 16:39:25 +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
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/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
memoryview2.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
memoryview_gc.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
memoryview_intbig.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
module1.py
module2.py
module2.py.exp
namedtuple1.py tests/basics/namedtuple*: Import ucollections first. 2018-06-27 14:58:14 +10:00
namedtuple_asdict.py tests/basics/namedtuple*: Import ucollections first. 2018-06-27 14:58:14 +10:00
object1.py
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: Rewrite some tests so they can run without needing eval/exec. 2018-02-14 16:50:20 +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_memoryview.py tests: Rewrite some tests so they can run without needing eval/exec. 2018-02-14 16:50:20 +11:00
op_precedence.py tests/basics: Add tests for arithmetic operators precedence. 2017-07-05 15:51:03 +10:00
ordereddict1.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
ordereddict_eq.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03: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
python34.py tests: Automatically skip tests that require eval, exec or frozenset. 2018-02-14 16:46:44 +11:00
python34.py.exp py/compile: Raise SyntaxError if positional args are given after */**. 2017-06-14 18:18:01 +10: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
scope.py tests/basics: Add further tests for nonlocal scoping and closures. 2016-09-30 14:20:55 +10:00
self_type_check.py
seq_unpack.py
set_add.py
set_basic.py tests/run-tests: Allow to skip set tests. 2017-01-05 00:16:29 +03: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
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
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
set_intersection.py
set_isdisjoint.py
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
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: Improve coverage of set functions. 2016-12-20 14:25:06 +11: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
set_symmetric_difference.py
set_type.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
set_union.py
set_unop.py
set_update.py
slice_attrs.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
slice_intbig.py tests/basic: Split tests into working with small ints and not working. 2017-03-04 00:13:27 +03:00
slots_bool_len.py
special_methods.py tests/basic/: Make various tests skippable. 2017-02-15 18:11:16 +03:00
special_methods2.py tests/basics/special_methods2: Enable some additional tests that work. 2018-05-11 17:37:16 +10:00
string1.py
string_center.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
string_compare.py tests/basics/string_compare.py: Add test with string that hashes to 0. 2018-04-05 01:04:38 +10:00
string_count.py
string_cr_conversion.py
string_crlf_conversion.py
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
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: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
string_format2.py tests/basics/string_format2: Adjust comment now that tests succeed. 2017-03-15 17:25:46 +11:00
string_format_error.py tests: Split large tests into smaller files, to run with a small heap. 2016-03-15 13:07:41 +00:00
string_format_modulo.py tests/basics: Move string-modulo-format int tests to dedicated file. 2017-03-15 17:34:47 +11:00
string_format_modulo_int.py tests/basics: Move string-modulo-format int tests to dedicated file. 2017-03-15 17:34:47 +11:00
string_index.py
string_istest.py
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
string_mult.py
string_partition.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
string_replace.py
string_repr.py
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
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
string_split.py
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
struct1.py py/modstruct: Check and prevent buffer-write overflow in struct packing. 2017-09-01 11:11:09 +10:00
struct1_intbig.py py/binary.c: Fix bug when packing big-endian 'Q' values. 2017-08-15 11:33:43 +10:00
struct2.py py/modstruct: Check and prevent buffer-write overflow in struct packing. 2017-09-01 11:11:09 +10:00
struct_micropython.py py/modstruct: In struct.pack, stop converting if there are no args left. 2017-09-01 10:10:51 +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
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/basics: Add test for calling a subclass of a native class. 2018-02-24 23:13:42 +11: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
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_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
syntaxerror.py tests: Automatically skip tests that require eval, exec or frozenset. 2018-02-14 16:46:44 +11:00
sys1.py tests/basics: Convert "sys.exit()" to "raise SystemExit". 2017-06-10 20:03:01 +03:00
sys_getsizeof.py tests/basics: Add tests to improve coverage of py/objdeque.c. 2018-02-21 23:19:06 +11:00
true_value.py
try1.py
try2.py tests: Add tests to improve coverage of runtime.c. 2016-12-21 15:44:41 +11:00
try3.py
try4.py
try_as_var.py
try_continue.py py/vm: Fix popping of exception block in UNWIND_JUMP opcode. 2016-02-01 16:07:21 +00:00
try_error.py
try_finally1.py
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_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
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_reraise.py
try_reraise2.py various: Spelling fixes 2017-05-29 11:36:05 +03:00
try_return.py tests/basics: Add test for use of return within try-except. 2018-04-04 01:43:16 +10:00
tuple1.py tests/basics: Add test for tuple inplace add. 2017-04-05 12:38:18 +10:00
tuple_compare.py py/objtuple: Properly implement comparison with incompatible types. 2017-09-06 00:23:41 +03:00
tuple_count.py
tuple_index.py
tuple_mult.py py/objtuple: Allow to use inplace-multiplication operator on tuples. 2017-08-09 21:20:42 +10:00
types1.py tests/types1: Split out set type test to set_types. 2017-01-06 11:01:55 +03:00
types2.py
unary_op.py tests: Add test for "not" of a user defined class. 2015-12-10 22:21:57 +00:00
unboundlocal.py
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
while_cond.py
while_nest_exc.py
with1.py
with_break.py
with_continue.py
with_return.py