<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/tests/run-tests, branch v1.9.4</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.9.4</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.9.4'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2018-05-11T03:51:18+00:00</updated>
<entry>
<title>tests/float/float_parse: Allow test to run on 32-bit archs.</title>
<updated>2018-05-11T03:51:18+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-05-11T03:51:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d2c1db1e5cca03c9a34614af6d12045aefe3d719'/>
<id>urn:sha1:d2c1db1e5cca03c9a34614af6d12045aefe3d719</id>
<content type='text'>
Printing of uPy floats can differ by the floating-point precision on
different architectures (eg 64-bit vs 32-bit x86), so it's not possible to
using printing of floats in some parts of this test.  Instead we can just
check for equivalence with what is known to be the correct answer.
</content>
</entry>
<entry>
<title>tests/run-tests: Support esp32 as a target for running the test suite.</title>
<updated>2018-05-02T07:20:48+00:00</updated>
<author>
<name>Ayke van Laethem</name>
<email>aykevanlaethem@gmail.com</email>
</author>
<published>2018-01-02T04:55:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5eb198c4419d6620da2d500369bce0343ee2767e'/>
<id>urn:sha1:5eb198c4419d6620da2d500369bce0343ee2767e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests: Move recursive tests to the tests/stress/ subdir.</title>
<updated>2018-04-10T04:43:52+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-04-10T04:42:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5ad27d4b8bb248954d98178e068a382599dadfa6'/>
<id>urn:sha1:5ad27d4b8bb248954d98178e068a382599dadfa6</id>
<content type='text'>
Keeping all the stress related tests in one place makes it easier to
stress-test a given port, and to also not run such tests on ports that
can't handle them.
</content>
</entry>
<entry>
<title>py/objgenerator: Check stack before resuming a generator.</title>
<updated>2018-04-10T04:06:26+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2018-04-01T17:15:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cbf981f3307661c205d27f3a418be3989ab47c5e'/>
<id>urn:sha1:cbf981f3307661c205d27f3a418be3989ab47c5e</id>
<content type='text'>
This turns a hard crash in a recursive generator into a 'maximum recursion
depth exceeded' exception.
</content>
</entry>
<entry>
<title>tests/stress: Add test to verify the GC can trace nested objects.</title>
<updated>2018-04-04T04:22:54+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-04-04T03:58:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a45a34ec313d0fb57e2fb1bbacf6e9209483bbe6'/>
<id>urn:sha1:a45a34ec313d0fb57e2fb1bbacf6e9209483bbe6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests/run-tests: Capture any output from a crashed uPy execution.</title>
<updated>2018-02-14T06:24:59+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-02-14T06:19:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=49e0dd54e650295fcb46b2a47ae08f369e5cfdac'/>
<id>urn:sha1:49e0dd54e650295fcb46b2a47ae08f369e5cfdac</id>
<content type='text'>
Instead of putting just 'CRASH' in the .py.out file, this patch makes it so
any output from uPy that led to the crash is stored in the .py.out file, as
well as the 'CRASH' message at the end.
</content>
</entry>
<entry>
<title>py/objgenerator: Allow to pend an exception for next execution.</title>
<updated>2017-12-15T18:20:36+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2017-10-21T09:13:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=63644016669c173190c71d39fb33ad9502fe2b0f'/>
<id>urn:sha1:63644016669c173190c71d39fb33ad9502fe2b0f</id>
<content type='text'>
This implements .pend_throw(exc) method, which sets up an exception to be
triggered on the next call to generator's .__next__() or .send() method.
This is unlike .throw(), which immediately starts to execute the generator
to process the exception. This effectively adds Future-like capabilities
to generator protocol (exception will be raised in the future).

The need for such a method arised to implement uasyncio wait_for() function
efficiently (its behavior is clearly "Future" like, and normally would
require to introduce an expensive Future wrapper around all native
couroutines, like upstream asyncio does).

py/objgenerator: pend_throw: Return previous pended value.

This effectively allows to store an additional value (not necessary an
exception) in a coroutine while it's not being executed. uasyncio has
exactly this usecase: to mark a coro waiting in I/O queue (and thus
not executed in the normal scheduling queue), for the purpose of
implementing wait_for() function (cancellation of such waiting coro
by a timeout).
</content>
</entry>
<entry>
<title>tests/run-tests: Skip running feature checks for --list-tests/--write-exp.</title>
<updated>2017-12-15T10:07:09+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2017-12-15T10:07:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=103eeffcd925891867916c6f7d23dcbb098c59fe'/>
<id>urn:sha1:103eeffcd925891867916c6f7d23dcbb098c59fe</id>
<content type='text'>
The whole idea of --list-tests is that we prepare a list of tests to run
later, and currently don't have a connection to target board. Similarly
for --write-exp - only "python3" binary would be required for this operation,
not "micropython".
</content>
</entry>
<entry>
<title>tests/run-tests: Don't test for --target=unix with "pyb is None".</title>
<updated>2017-12-14T11:36:06+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2017-12-14T11:36:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3233537a1505780ac189031857f0b95d43fb9adb'/>
<id>urn:sha1:3233537a1505780ac189031857f0b95d43fb9adb</id>
<content type='text'>
If we test for unix target, do that explicitly. pyb var will be None
for commands like --list-tests too.
</content>
</entry>
<entry>
<title>tests/run-tests: Add composable --include and --exclude options.</title>
<updated>2017-12-14T10:26:10+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2017-12-14T10:26:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=64bb32d87f35531fc003493af9b4f526b19e68f3'/>
<id>urn:sha1:64bb32d87f35531fc003493af9b4f526b19e68f3</id>
<content type='text'>
The idea that --list-tests would be enough to produce list of tests for
tinytest-codegen didn't work, because normal run-tests processing heavily
relies on dynamic target capabilities discovery, and test filtering happens
as the result of that.

So, approach the issue from different end - allow to specify arbitrary
filtering criteria as run-tests arguments. This way, specific filters
will be still hardcoded, but at least on a particular target's side,
instead of constant patching tinytest-codegen and/or run-tests.
</content>
</entry>
</feed>
