<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openmano-mpy/ports/unix/variants/coverage, 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>examples/usercmodules: Simplify user C module enabling.</title>
<updated>2021-04-01T05:27:38+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2021-03-30T13:45:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=d87f42b0e53829052f17955ba1e17f938ae486fb'/>
<id>d87f42b0e53829052f17955ba1e17f938ae486fb</id>
<content type='text'>
It's a bit of a pitfall with user C modules that including them in the
build does not automatically enable them.  This commit changes the docs and
examples for user C modules to encourage writers of user C modules to
enable them unconditionally.  This makes things simpler and covers most use
cases.

See discussion in issue #6960, and also #7086.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's a bit of a pitfall with user C modules that including them in the
build does not automatically enable them.  This commit changes the docs and
examples for user C modules to encourage writers of user C modules to
enable them unconditionally.  This makes things simpler and covers most use
cases.

See discussion in issue #6960, and also #7086.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>unix/Makefile: Move coverage.c and coveragecpp.cpp to coverage variant.</title>
<updated>2020-10-29T12:30:04+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-10-29T06:33:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=a866f868f87e50b9aa86a2f2bec8cfc9fb687437'/>
<id>a866f868f87e50b9aa86a2f2bec8cfc9fb687437</id>
<content type='text'>
So that g++ is not needed to build a non-coverage unix variant.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
So that g++ is not needed to build a non-coverage unix variant.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>examples: Add example code for user C modules, both C and C++.</title>
<updated>2020-10-29T04:30:42+00:00</updated>
<author>
<name>stijn</name>
</author>
<published>2020-10-21T09:13:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=25c4563f26c2270cde01b01dca0e8b801c9c8282'/>
<id>25c4563f26c2270cde01b01dca0e8b801c9c8282</id>
<content type='text'>
Add working example code to provide a starting point for users with files
that they can just copy, and include the modules in the coverage test to
verify the complete user C module build functionality.  The cexample module
uses the code originally found in cmodules.rst, which has been updated to
reflect this and partially rewritten with more complete information.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add working example code to provide a starting point for users with files
that they can just copy, and include the modules in the coverage test to
verify the complete user C module build functionality.  The cexample module
uses the code originally found in cmodules.rst, which has been updated to
reflect this and partially rewritten with more complete information.
</pre>
</div>
</content>
</entry>
<entry>
<title>unix/variants: Enable MICROPY_DEBUG_PARSE_RULE_NAME on coverage build.</title>
<updated>2020-10-01T05:26:43+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-09-30T13:35:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=817b80a102a413b6458ea391bb2c463aff99672e'/>
<id>817b80a102a413b6458ea391bb2c463aff99672e</id>
<content type='text'>
Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/basics: Add test for MICROPY_PY_ALL_INPLACE_SPECIAL_METHODS ops.</title>
<updated>2020-09-18T08:40:42+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2020-09-17T03:37:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=42342fa3cb30e2eac56ceb1d21b4eb60a0f406f3'/>
<id>42342fa3cb30e2eac56ceb1d21b4eb60a0f406f3</id>
<content type='text'>
And enable this feature on unix, the coverage variant.  The .exp test file
is needed so the test can run on CPython versions prior to "@=" operator
support.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And enable this feature on unix, the coverage variant.  The .exp test file
is needed so the test can run on CPython versions prior to "@=" operator
support.

Signed-off-by: Damien George &lt;damien@micropython.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>unix: Implement BLE H4 HCI UART for btstack/nimble.</title>
<updated>2020-09-08T02:53:24+00:00</updated>
<author>
<name>Jim Mussared</name>
</author>
<published>2020-08-14T05:46:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=1b1b22905e1aa7676c51078f75b1bd73d8383a4a'/>
<id>1b1b22905e1aa7676c51078f75b1bd73d8383a4a</id>
<content type='text'>
This commit adds support for using Bluetooth on the unix port via a H4
serial interface (distinct from a USB dongle), with both BTstack and NimBLE
Bluetooth stacks.

Note that MICROPY_PY_BLUETOOTH is now disabled for the coverage variant.
Prior to this commit Bluetooth was anyway not being built on Travis because
libusb was not detected.  But now that bluetooth works in H4 mode it will
be built, and will lead to a large decrease in coverage because Bluetooth
tests cannot be run on Travis.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds support for using Bluetooth on the unix port via a H4
serial interface (distinct from a USB dongle), with both BTstack and NimBLE
Bluetooth stacks.

Note that MICROPY_PY_BLUETOOTH is now disabled for the coverage variant.
Prior to this commit Bluetooth was anyway not being built on Travis because
libusb was not detected.  But now that bluetooth works in H4 mode it will
be built, and will lead to a large decrease in coverage because Bluetooth
tests cannot be run on Travis.
</pre>
</div>
</content>
</entry>
<entry>
<title>unix: Make manifest selection match other ports.</title>
<updated>2020-07-01T12:42:55+00:00</updated>
<author>
<name>Jim Mussared</name>
</author>
<published>2020-06-09T06:45:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=27abac95d87b69f4282e2ca21ab19eff7bf6012b'/>
<id>27abac95d87b69f4282e2ca21ab19eff7bf6012b</id>
<content type='text'>
Changes are:
- The default manifest.py is moved to the variants directory (it's in
  "boards" in other ports).
- The coverage variant now uses a custom manifest in its variant directory
  to add frzmpy/frzstr.
- The frzmpy/frzstr tests are moved to variants/coverage/.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changes are:
- The default manifest.py is moved to the variants directory (it's in
  "boards" in other ports).
- The coverage variant now uses a custom manifest in its variant directory
  to add frzmpy/frzstr.
- The frzmpy/frzstr tests are moved to variants/coverage/.
</pre>
</div>
</content>
</entry>
<entry>
<title>unix: Enable modbluetooth on the "dev" and "coverage" variants.</title>
<updated>2020-04-29T06:53:13+00:00</updated>
<author>
<name>Jim Mussared</name>
</author>
<published>2020-04-07T13:01:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=af226199eae993309f74b8023238428d42293332'/>
<id>af226199eae993309f74b8023238428d42293332</id>
<content type='text'>
And MICROPY_PY_URANDOM_EXTRA_FUNCS is enabled on "dev" so tha the Bluetooth
examples all run.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And MICROPY_PY_URANDOM_EXTRA_FUNCS is enabled on "dev" so tha the Bluetooth
examples all run.
</pre>
</div>
</content>
</entry>
<entry>
<title>all: Enable extra conversion warnings where applicable.</title>
<updated>2020-04-18T12:42:28+00:00</updated>
<author>
<name>stijn</name>
</author>
<published>2020-04-09T11:59:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=30840ebc9925bb8ef025dbc2d5982b1bfeb75f1b'/>
<id>30840ebc9925bb8ef025dbc2d5982b1bfeb75f1b</id>
<content type='text'>
Add -Wdouble-promotion and -Wfloat-conversion for most ports to ban out
implicit floating point conversions, and add extra Travis builds using
MICROPY_FLOAT_IMPL_FLOAT to uncover warnings which weren't found
previously.  For the unix port -Wsign-comparison is added as well but only
there since only clang supports this but gcc doesn't.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add -Wdouble-promotion and -Wfloat-conversion for most ports to ban out
implicit floating point conversions, and add extra Travis builds using
MICROPY_FLOAT_IMPL_FLOAT to uncover warnings which weren't found
previously.  For the unix port -Wsign-comparison is added as well but only
there since only clang supports this but gcc doesn't.
</pre>
</div>
</content>
</entry>
<entry>
<title>unix: Fix behaviour of COPT/NDEBUG for unix variants.</title>
<updated>2020-04-13T11:20:32+00:00</updated>
<author>
<name>Jim Mussared</name>
</author>
<published>2020-04-03T01:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=45cf76465c5fae8349aa65b78328d38ecab7308d'/>
<id>45cf76465c5fae8349aa65b78328d38ecab7308d</id>
<content type='text'>
Based on eg 1e6fd9f2b4072873f5d6846b19b2ef0ccc5e4e52, it's understood that
the intention for unix builds is that regular builds disable assert, but
the coverage build should set -O0 and enable asserts.

It looks like this didn't work (even before variants were introduced, eg at
v1.11) -- coverage always built with -Os and -DNDEBUG.

This commit makes it possible for variants to have finer-grained control
over COPT flags, and enables assert() and -O0 on coverage builds.

Other variants already match the defaults so they have been updated.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Based on eg 1e6fd9f2b4072873f5d6846b19b2ef0ccc5e4e52, it's understood that
the intention for unix builds is that regular builds disable assert, but
the coverage build should set -O0 and enable asserts.

It looks like this didn't work (even before variants were introduced, eg at
v1.11) -- coverage always built with -Os and -DNDEBUG.

This commit makes it possible for variants to have finer-grained control
over COPT flags, and enables assert() and -O0 on coverage builds.

Other variants already match the defaults so they have been updated.
</pre>
</div>
</content>
</entry>
</feed>
