circuitpython/tests
Jonathan Hogg 901f3dce6e py/compile: Don't await __aiter__ special method in async-for.
MicroPython's original implementation of __aiter__ was correct for an
earlier (provisional) version of PEP492 (CPython 3.5), where __aiter__ was
an async-def function.  But that changed in the final version of PEP492 (in
CPython 3.5.2) where the function was changed to a normal one.  See
https://www.python.org/dev/peps/pep-0492/#why-aiter-does-not-return-an-awaitable
See also the note at the end of this subsection in the docs:
https://docs.python.org/3.5/reference/datamodel.html#asynchronous-iterators
And for completeness the BPO: https://bugs.python.org/issue27243

To be consistent with the Python spec as it stands today (and now that
PEP492 is final) this commit changes MicroPython's behaviour to match
CPython:  __aiter__ should return an async-iterable object, but is not
itself awaitable.

The relevant tests are updated to match.

See #6267.
2020-07-24 22:55:37 -07:00
..
basics py/compile: Don't await __aiter__ special method in async-for. 2020-07-24 22:55:37 -07:00
bench Updated tests; removed try/catch for ucollections 2018-05-14 14:43:34 -04:00
circuitpython tests: Fixup tests for 3.x on Rosie 2017-11-16 10:56:20 -08:00
cmdline Update tests 2020-03-09 21:13:33 -05:00
cpydiff WIP: after merge; before testing 2018-07-11 16:45:30 -04:00
extmod Fix stream version and add basic readinto test 2020-07-10 17:33:17 -07:00
feature_check Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
float Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
import tests: Add .exp files for basics/parser and import/import_override. 2020-04-01 16:31:33 -05:00
inlineasm Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
io tests: Add tests using "file" argument in print and sys.print_exception. 2018-06-20 16:08:25 +10:00
jni Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
micropython py/emit: Combine yield value and yield-from emit funcs into one. 2018-05-23 00:22:35 +10:00
misc Fix up end of file and trailing whitespace. 2020-06-03 10:56:35 +01:00
net_hosted tests/net_hosted: Add test for socket connect() and poll() behaviour. 2017-11-23 10:45:12 +11:00
net_inet tests/net_inet: Update tls test to work with CPython and incl new site. 2017-10-26 12:29:24 +11:00
pyb README: Remove a statement that's not particularly true at the moment 2020-06-25 11:44:21 -05:00
pybnative py: Fix stack access in thumb native emitter. 2014-05-07 23:27:45 +01:00
stress tests: Move recursive tests to the tests/stress/ subdir. 2018-04-10 14:43:52 +10:00
thread Add license to some obvious files. 2020-07-06 19:16:25 +01:00
unicode py/objstr: Add check for valid UTF-8 when making a str from bytes. 2017-09-06 16:43:09 +10:00
unix Update tests for new autocomplete behavior 2019-05-06 14:19:07 -07:00
wipy README: Remove a statement that's not particularly true at the moment 2020-06-25 11:44:21 -05:00
README all: Remove trailing spaces, per coding conventions. 2017-07-19 13:12:10 +10:00
pyboard.py tests: Point pyboard.py to tools/cpboard.py 2018-06-02 19:09:54 +02:00
run-bench-tests tests/run-bench-tests: Update locations of executables, now in ports/. 2017-09-08 12:11:15 +10:00
run-tests also disable async_coroutine test in native emitter 2020-07-23 20:40:16 -07:00
run-tests-exp.py unix: Rename "_os" module to "uos" for consistency with baremetal ports. 2015-12-12 00:04:35 +02:00
run-tests-exp.sh run-tests-exp.sh: Typo fix in comment. 2015-02-21 03:22:33 +02:00
skip_if.py Add license to some obvious files. 2020-07-06 19:16:25 +01:00

README

This directory contains tests for various functionality areas of MicroPython.
To run all stable tests, run "run-tests" script in this directory.

Tests of capabilities not supported on all platforms should be written
to check for the capability being present. If it is not, the test
should merely output 'SKIP' followed by the line terminator, and call
sys.exit() to raise SystemExit, instead of attempting to test the
missing capability. The testing framework (run-tests in this
directory, test_main.c in qemu_arm) recognizes this as a skipped test.

There are a few features for which this mechanism cannot be used to
condition a test. The run-tests script uses small scripts in the
feature_check directory to check whether each such feature is present,
and skips the relevant tests if not.

When creating new tests, anything that relies on float support should go in the
float/ subdirectory.  Anything that relies on import x, where x is not a built-in
module, should go in the import/ subdirectory.