<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openmano-mpy/tests/micropython, branch master</title>
<subtitle>MicroPython source and hardware configuration for OpenMano</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/'/>
<entry>
<title>tests: Move native for test from pybnative to micropython.</title>
<updated>2021-01-29T12:57:10+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2021-01-17T13:29:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=7a97e4351b4d78f64c3d1fbecd497481e649a83f'/>
<id>7a97e4351b4d78f64c3d1fbecd497481e649a83f</id>
<content type='text'>
And make it generic so it can be run on any target.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And make it generic so it can be run on any target.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/micropython/extreme_exc.py: Unlink alloc'd lists earlier in chain.</title>
<updated>2020-10-29T12:35:36+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-10-29T06:36:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=ed7ddd4dd436fb84e602fee4dbdc4882eca642ab'/>
<id>ed7ddd4dd436fb84e602fee4dbdc4882eca642ab</id>
<content type='text'>
To help the GC collect this memory that's no longer needed after the test.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To help the GC collect this memory that's no longer needed after the test.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>all: Rename "sys" module to "usys".</title>
<updated>2020-09-03T14:10:24+00:00</updated>
<author>
<name>stijn</name>
</author>
<published>2020-06-18T09:19:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=40ad8f1666b265dafc7844d765f45cfae4b6299f'/>
<id>40ad8f1666b265dafc7844d765f45cfae4b6299f</id>
<content type='text'>
This is consistent with the other 'micro' modules and allows implementing
additional features in Python via e.g. micropython-lib's sys.

Note this is a breaking change (not backwards compatible) for ports which
do not enable weak links, as "import sys" must now be replaced with
"import usys".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is consistent with the other 'micro' modules and allows implementing
additional features in Python via e.g. micropython-lib's sys.

Note this is a breaking change (not backwards compatible) for ports which
do not enable weak links, as "import sys" must now be replaced with
"import usys".
</pre>
</div>
</content>
</entry>
<entry>
<title>py/persistentcode: Maintain root ptr list of imported native .mpy code.</title>
<updated>2020-08-02T12:34:09+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-07-27T13:52:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=9883d8e818feba112935676eb5aa4ce211d7779c'/>
<id>9883d8e818feba112935676eb5aa4ce211d7779c</id>
<content type='text'>
On ports where normal heap memory can contain executable code (eg ARM-based
ports such as stm32), native code loaded from an .mpy file may be reclaimed
by the GC because there's no reference to the very start of the native
machine code block that is reachable from root pointers (only pointers to
internal parts of the machine code block are reachable, but that doesn't
help the GC find the memory).

This commit fixes this issue by maintaining an explicit list of root
pointers pointing to native code that is loaded from an .mpy file.  This
is not needed for all ports so is selectable by the new configuration
option MICROPY_PERSISTENT_CODE_TRACK_RELOC_CODE.  It's enabled by default
if a port does not specify any special functions to allocate or commit
executable memory.

A test is included to test that native code loaded from an .mpy file does
not get reclaimed by the GC.

Fixes #6045.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On ports where normal heap memory can contain executable code (eg ARM-based
ports such as stm32), native code loaded from an .mpy file may be reclaimed
by the GC because there's no reference to the very start of the native
machine code block that is reachable from root pointers (only pointers to
internal parts of the machine code block are reachable, but that doesn't
help the GC find the memory).

This commit fixes this issue by maintaining an explicit list of root
pointers pointing to native code that is loaded from an .mpy file.  This
is not needed for all ports so is selectable by the new configuration
option MICROPY_PERSISTENT_CODE_TRACK_RELOC_CODE.  It's enabled by default
if a port does not specify any special functions to allocate or commit
executable memory.

A test is included to test that native code loaded from an .mpy file does
not get reclaimed by the GC.

Fixes #6045.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/micropython: Improve .mpy import tests to run on more targets.</title>
<updated>2020-07-26T12:44:59+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-07-26T04:43:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=8da40baa47ee9fe7aac228af2c0addd1f4ce3646'/>
<id>8da40baa47ee9fe7aac228af2c0addd1f4ce3646</id>
<content type='text'>
All imports are now tested to see if the test should be skipped,
UserFile.read is removed, and UserFile.readinto is made more efficient.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All imports are now tested to see if the test should be skipped,
UserFile.read is removed, and UserFile.readinto is made more efficient.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Move .mpy import tests from import/ to micropython/ dir.</title>
<updated>2020-07-26T12:04:31+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-07-26T04:30:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=0c0cef9870e8215d67c79fefa6582849842001f9'/>
<id>0c0cef9870e8215d67c79fefa6582849842001f9</id>
<content type='text'>
These tests are specific to MicroPython so have a better home in the
micropython/ test subdir, and putting them here allows them to be run by
all targets, not just those that have access to the local filesystem (eg
the unix port).

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These tests are specific to MicroPython so have a better home in the
micropython/ test subdir, and putting them here allows them to be run by
all targets, not just those that have access to the local filesystem (eg
the unix port).

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>py/emitnative: Implement binary operations for viper uint operands.</title>
<updated>2020-06-26T14:24:04+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-06-26T08:26:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=41fa8b5482089bdd7fa5478fe24f32913b23967c'/>
<id>41fa8b5482089bdd7fa5478fe24f32913b23967c</id>
<content type='text'>
uint types in viper mode can now be used for all binary operators except
floor-divide and modulo.

Fixes issue #1847 and issue #6177.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
uint types in viper mode can now be used for all binary operators except
floor-divide and modulo.

Fixes issue #1847 and issue #6177.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>py/parse: Support constant folding of power operator for integers.</title>
<updated>2020-05-03T06:23:19+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-04-07T02:23:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=4ede70368722f4702320412f393a7c703cdf4276'/>
<id>4ede70368722f4702320412f393a7c703cdf4276</id>
<content type='text'>
Constant expression like "2 ** 3" will now be folded, and the special form
"X = const(2 ** 3)" will now compile because the argument to the const is
now a constant.

Fixes issue #5865.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Constant expression like "2 ** 3" will now be folded, and the special form
"X = const(2 ** 3)" will now compile because the argument to the const is
now a constant.

Fixes issue #5865.
</pre>
</div>
</content>
</entry>
<entry>
<title>py/parse: Remove unnecessary check in const folding for ** operator.</title>
<updated>2020-04-09T06:02:39+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-04-06T02:19:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=4914731e5831b289f7933e53cf34bdc79c7b7403'/>
<id>4914731e5831b289f7933e53cf34bdc79c7b7403</id>
<content type='text'>
In this part of the code there is no way to get the ** operator, so no need
to check for it.

This commit also adds tests for this, and other related, invalid const
operations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In this part of the code there is no way to get the ** operator, so no need
to check for it.

This commit also adds tests for this, and other related, invalid const
operations.
</pre>
</div>
</content>
</entry>
<entry>
<title>py/objexcept: Allow compression of exception message text.</title>
<updated>2020-04-05T05:02:06+00:00</updated>
<author>
<name>Jim Mussared</name>
</author>
<published>2020-01-29T03:27:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=85858e72dfdc3e941c2e620e94de05ad663138b1'/>
<id>85858e72dfdc3e941c2e620e94de05ad663138b1</id>
<content type='text'>
The decompression of error-strings is only done if the string is accessed
via printing or via er.args.  Tests are added for this feature to ensure
the decompression works.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The decompression of error-strings is only done if the string is accessed
via printing or via er.args.  Tests are added for this feature to ensure
the decompression works.
</pre>
</div>
</content>
</entry>
</feed>
