<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/tests/micropython, branch 5.1.x</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=5.1.x</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=5.1.x'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2018-05-22T14:22:35+00:00</updated>
<entry>
<title>py/emit: Combine yield value and yield-from emit funcs into one.</title>
<updated>2018-05-22T14:22:35+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-05-18T14:30:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e686c940525c5b87d02e3dd7bfcdec23cfa996dd'/>
<id>urn:sha1:e686c940525c5b87d02e3dd7bfcdec23cfa996dd</id>
<content type='text'>
Reduces code size by:

   bare-arm:   -24
minimal x86:   -72
   unix x64:  -200
unix nanbox:   -72
      stm32:   -52
     cc3200:   -32
    esp8266:   -84
      esp32:   -24
</content>
</entry>
<entry>
<title>tests/micropython/extreme_exc.py: Allow to run without any emg exc buf.</title>
<updated>2018-04-04T17:03:16+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-04-04T17:03:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b9c78425a66234c45ac5c0b159773363d185d914'/>
<id>urn:sha1:b9c78425a66234c45ac5c0b159773363d185d914</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests/micropython/extreme_exc.py: Fix test to run on more ports/configs.</title>
<updated>2018-04-04T16:33:48+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-04-04T16:33:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4caadc3c013a24af8eaaad846a8eca931cd5653e'/>
<id>urn:sha1:4caadc3c013a24af8eaaad846a8eca931cd5653e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests/micropython: Add set of tests for extreme cases of raising exc's.</title>
<updated>2018-04-04T15:06:40+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-04-04T15:06:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5995a199a327b81553189d53035c586d7b0249dc'/>
<id>urn:sha1:5995a199a327b81553189d53035c586d7b0249dc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests: Move heap-realloc-while-locked test from C to Python.</title>
<updated>2018-03-01T23:59:09+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-03-01T23:59:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c607b58efe9333ab92e1b721dcd974e35a9d393e'/>
<id>urn:sha1:c607b58efe9333ab92e1b721dcd974e35a9d393e</id>
<content type='text'>
This test for calling gc_realloc() while the GC is locked can be done in
pure Python, so better to do it that way since it can then be tested on
more ports.
</content>
</entry>
<entry>
<title>tests: Automatically skip tests that require eval, exec or frozenset.</title>
<updated>2018-02-14T05:46:44+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2018-02-14T05:46:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=6031957473a15f62ecbe59b9d27e58e9d06a4d8a'/>
<id>urn:sha1:6031957473a15f62ecbe59b9d27e58e9d06a4d8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests/heapalloc, heapalloc_super: Skip in strict stackless mode.</title>
<updated>2017-12-11T10:04:59+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2017-12-11T09:58:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=016f83053669ee56561bebd8e9b65dac77b670ac'/>
<id>urn:sha1:016f83053669ee56561bebd8e9b65dac77b670ac</id>
<content type='text'>
These tests involves testing allocation-free function calling, and in strict
stackless mode, it's not possible to make a function call with heap locked
(because function activation record aka frame is allocated on the heap).
</content>
</entry>
<entry>
<title>tests/heapalloc_*: Refactor some tests to work in strict stackless mode.</title>
<updated>2017-12-11T10:00:41+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2017-12-11T09:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e02cb9ec318580497dbb17f369a61d9e932094e5'/>
<id>urn:sha1:e02cb9ec318580497dbb17f369a61d9e932094e5</id>
<content type='text'>
In strict stackless mode, it's not possible to make a function call with
heap locked (because function activation record aka frame is allocated on
heap). So, if the only purpose of function is to introduce local variable
scope, move heap lock/unlock calls inside the function.
</content>
</entry>
<entry>
<title>py/runtime: Add MP_BINARY_OP_CONTAINS as reverse of MP_BINARY_OP_IN.</title>
<updated>2017-11-24T03:48:23+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-11-24T02:04:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5e34a113eaaf736fb4f703a3ee0892e1705d0a63'/>
<id>urn:sha1:5e34a113eaaf736fb4f703a3ee0892e1705d0a63</id>
<content type='text'>
Before this patch MP_BINARY_OP_IN had two meanings: coming from bytecode it
meant that the args needed to be swapped, but coming from within the
runtime meant that the args were already in the correct order.  This lead
to some confusion in the code and comments stating how args were reversed.
It also lead to 2 bugs: 1) containment for a subclass of a native type
didn't work; 2) the expression "{True} in True" would illegally succeed and
return True.  In both of these cases it was because the args to
MP_BINARY_OP_IN ended up being reversed twice.

To fix these things this patch introduces MP_BINARY_OP_CONTAINS which
corresponds exactly to the __contains__ special method, and this is the
operator that built-in types should implement.  MP_BINARY_OP_IN is now only
emitted by the compiler and is converted to MP_BINARY_OP_CONTAINS by
swapping the arguments.
</content>
</entry>
<entry>
<title>py/emitnative: Implement floor-division and modulo for viper emitter.</title>
<updated>2017-10-11T07:54:34+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-10-11T07:54:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a3afa8cfc46913f471d5eb55da4ae22dee92c25f'/>
<id>urn:sha1:a3afa8cfc46913f471d5eb55da4ae22dee92c25f</id>
<content type='text'>
</content>
</entry>
</feed>
