Skip to content

Commit 6d0b44e

Browse files
authored
Merge pull request #68 from bxparks/develop
merge v1.5.1 into master
2 parents f437410 + 8051e80 commit 6d0b44e

File tree

109 files changed

+285
-280
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+285
-280
lines changed

.github/workflows/aunit_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- name: Setup
1414
run: |
1515
cd ..
16-
git clone https://github.com/bxparks/UnixHostDuino
16+
git clone https://github.com/bxparks/EpoxyDuino
1717
1818
- name: Verify examples
1919
run: |

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Changelog
22

33
* Unreleased
4+
* 1.5.1 (2021-01-21)
5+
* Update UnixHostDuino 0.4 to EpoxyDuino 0.5.
6+
* No functional change in this release.
47
* 1.5 (2021-01-18)
58
* Add support for STM32duino.
69
* Blacklist megaAVR boards due to incompatibility with new Arduino API.
@@ -30,7 +33,7 @@
3033
* 1.3.1 (2019-07-31)
3134
* Add `examples/AUnitPlatformIO` to verify that AUnit works on PlatformIO.
3235
* Rename unitduino to UnixHostDuino and move to its own repository at
33-
`https://github.com/bxparks/UnixHostDuino`.
36+
`https://github.com/bxparks/EpoxyDuino`.
3437
* Add UnixHostDuino Makefile to all unit tests.
3538
* Support SAMD21 and ATmega2560 boards.
3639
* Call `exit(1)` upon failure or timeout, `exit(0)` upon success when using

README.md

Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Test](https://github.com/google/googletest/). The unit tests usually run on the
88
embedded controller which allows detection of architecture-specific problems.
99
But for faster development, many unit tests can be compiled and executed
1010
natively on Linux or MacOS using the
11-
[UnixHostDuino](https://github.com/bxparks/UnixHostDuino) companion project.
11+
[EpoxyDuino](https://github.com/bxparks/EpoxyDuino) companion project.
1212

1313
AUnit is almost a drop-in replacement of ArduinoUnit with some advantages. AUnit
1414
supports timeouts and test fixtures. It somtimes consumes 50% less flash memory
@@ -17,10 +17,10 @@ and Teensy platforms. Another companion project
1717
[AUniter](https://github.com/bxparks/AUniter) project provides command line
1818
tools to verify, upload and validate the unit tests to the microcontroller,
1919
instead of having to go through the Arduino IDE. Both the AUniter and
20-
UnixHostDuino tools can be used in a continuous integration system like Jenkins,
20+
EpoxyDuino tools can be used in a continuous integration system like Jenkins,
2121
or with [GitHub Actions](https://github.com/features/actions).
2222

23-
**Version**: 1.5 (2021-01-18)
23+
**Version**: 1.5.1 (2021-01-21)
2424

2525
**Changelog**: [CHANGELOG.md](CHANGELOG.md)
2626

@@ -65,12 +65,12 @@ or with [GitHub Actions](https://github.com/features/actions).
6565
* [GoogleTest Adapter](#GoogleTestAdapter)
6666
* [Command Line Tools](#CommandLineTools)
6767
* [AUniter](#AUniter)
68-
* [UnixHostDuino](#UnixHostDuino)
68+
* [EpoxyDuino](#EpoxyDuino)
6969
* [Continuous Integration](#ContinuousIntegration)
7070
* [Arduino IDE/CLI + Cloud](#IdePlusCloud)
7171
* [Arduino IDE/CLI + Jenkins](#IdePlusJenkins)
72-
* [UnixHostDuino + Jenkins](#UnixHostDuinoPlusJenkins)
73-
* [UnixHostDuino + Cloud (Recommmended)](#UnixHostDuinoPlusCloud)
72+
* [EpoxyDuino + Jenkins](#EpoxyDuinoPlusJenkins)
73+
* [EpoxyDuino + Cloud (Recommmended)](#EpoxyDuinoPlusCloud)
7474
* [Tips](#Tips)
7575
* [Debugging Assertions in Fixtures](#DebuggingFixtures)
7676
* [Class Hierarchy](#ClassHierarchy)
@@ -113,7 +113,7 @@ local machine, and the unit tests can be monitored automatically.
113113

114114
Unit tests written using AUnit can often be compiled and executed natively on
115115
Linux or MacOS using the
116-
[UnixHostDuino](https://github.com/bxparks/UnixHostDuino) library. The output on
116+
[EpoxyDuino](https://github.com/bxparks/EpoxyDuino) library. The output on
117117
the `Serial` object is redirected to the `stdout` of the Unix host. This
118118
provides another avenue for implementing continuous builds or integration.
119119

@@ -1453,21 +1453,21 @@ copied from the `AUniter/README.md` file:
14531453
* upload the `Blink.ino` sketch and monitor the serial port using a
14541454
user-configurable terminal program (e.g. `picocom`) on `/dev/ttyUSB0`
14551455

1456-
<a name="UnixHostDuino"></a>
1457-
### UnixHostDuino
1456+
<a name="EpoxyDuino"></a>
1457+
### EpoxyDuino
14581458

14591459
Instead of running the unit tests on the actual microcontrollers themselves, you
14601460
can compile and execute AUnit unit tests natively on Linux or MacOS machines
1461-
using the UnixHostDuino (https://github.com/bxparks/UnixHostDuino) project.
1462-
UnixHostDuino provides a minimal Arduino programming environment that is usually
1461+
using the EpoxyDuino (https://github.com/bxparks/EpoxyDuino) project.
1462+
EpoxyDuino provides a minimal Arduino programming environment that is usually
14631463
sufficient to compile and run AUnit test units on the Unix host machine. It
14641464
relies on the native C++ compiler, GNU Make, and `Makefile` files for each
14651465
`*.ino` unit test like this:
14661466

14671467
```
14681468
APP_NAME := SampleTest
14691469
ARDUINO_LIBS := AUnit
1470-
include ../../../UnixHostDuino/UnixHostDuino.mk
1470+
include ../../../EpoxyDuino/EpoxyDuino.mk
14711471
```
14721472

14731473
The unit test is compiled into a binary (`SampleTest.out`) using the `make
@@ -1477,12 +1477,12 @@ $ make
14771477
$ ./SampleTest.out
14781478
```
14791479

1480-
Here are a few tips when writing unit tests to run under UnixHostDuino:
1480+
Here are a few tips when writing unit tests to run under EpoxyDuino:
14811481

14821482
**Delay(1000)**
14831483

14841484
For real Arduino boards, you get more reliable unit tests if you add a
1485-
`delay(1000)` at the start of the program. For UnixHostDuino, this is not
1485+
`delay(1000)` at the start of the program. For EpoxyDuino, this is not
14861486
necessary, so I recommend calling this only on real Arduino boards, like this:
14871487
```C++
14881488
void setup() {
@@ -1496,7 +1496,7 @@ void setup() {
14961496
14971497
On real Arduino boards, the unit test (or any program for that matter) never
14981498
terminates. The `loop()` function executes forever. On Linux or MacOS using
1499-
UnixHostDuino, the test program will terminate at the end through the
1499+
EpoxyDuino, the test program will terminate at the end through the
15001500
`exit()` function. If the tests are successful (i.e. passing or skipped), it
15011501
will call `exit(0)`. If there are any failing tests (i.e. failed or timed out),
15021502
it will call `exit(1)`.
@@ -1510,7 +1510,7 @@ system. At the infrastructure level, you can use either a system like
15101510
continuous integration system like [GitHub
15111511
Actions](https://github.com/features/actions). For each of those
15121512
infrastructures, you can choose to use the Arduino IDE or CLI build tools, or
1513-
you can use UnixHostDuino to compile and run against a Linux or MacOS
1513+
you can use EpoxyDuino to compile and run against a Linux or MacOS
15141514
environment.
15151515
15161516
The option matrix looks like this:
@@ -1532,7 +1532,7 @@ The option matrix looks like this:
15321532
+----------------+-------------------------+------------------------+
15331533
| | * verify execution on | * verify execution on |
15341534
| | Unix environment | Unix environment |
1535-
| UnixHostDuino | * faster than IDE/CLI | * simple setup and |
1535+
| EpoxyDuino | * faster than IDE/CLI | * simple setup and |
15361536
| | * complex setup and | maintenance |
15371537
| | and maintenance | * very fast |
15381538
| | * (unnecessary) | * (recommended) |
@@ -1567,25 +1567,25 @@ microcontroller. Perhaps for certain situations, running the unit tests on
15671567
actual hardware is a requirement. But for most people, I no longer recommend
15681568
this environment.
15691569
1570-
<a name="UnixHostDuinoPlusJenkins"></a>
1571-
### UnixHostDuino + Jenkins
1570+
<a name="EpoxyDuinoPlusJenkins"></a>
1571+
### EpoxyDuino + Jenkins
15721572
15731573
Once the Jenkins environment is up and running, I have verified that it is easy
1574-
to run the unit tests using UnixHostDuino, since it needs just a C++ compiler
1574+
to run the unit tests using EpoxyDuino, since it needs just a C++ compiler
15751575
and GNU Make. Things will compile and run a lot faster than using the Arduino
15761576
IDE/CLI. However, this combination suffers from the same problem of maintaining
15771577
the Jenkins environment. If the unit tests are running in an Unix environment
15781578
anyway, it seems far easier to just run them in the cloud. So I don't recommend
15791579
using this setup. Just use a cloud CI provider as described below.
15801580
1581-
<a name="UnixHostDuinoPlusCloud"></a>
1582-
### UnixHostDuino + Cloud (Recommended)
1581+
<a name="EpoxyDuinoPlusCloud"></a>
1582+
### EpoxyDuino + Cloud (Recommended)
15831583
15841584
A cloud-based continuous integration service like [GitHub
15851585
Actions](https://github.com/features/actions) is easy to setup for
1586-
UnixHostDuino. Often the C++ compiler and GNU `make` tools are already installed
1586+
EpoxyDuino. Often the C++ compiler and GNU `make` tools are already installed
15871587
in the Docker container used by the CI system. The only additional setup is
1588-
to install UnixHostDuino, AUnit and other dependent Arduino libraries.
1588+
to install EpoxyDuino, AUnit and other dependent Arduino libraries.
15891589
15901590
Here are some example YAML files for GitHub Actions:
15911591
* https://github.com/bxparks/AceTime/tree/develop/.github/workflows
@@ -1596,7 +1596,7 @@ Here are some example YAML files for GitHub Actions:
15961596
In the various `aunit_tests.yml` files, the `Setup` step installs the various
15971597
dependent libraries using the `git clone` command, for example:
15981598
```
1599-
git clone https://github.com/bxparks/UnixHostDuino
1599+
git clone https://github.com/bxparks/EpoxyDuino
16001600
git clone https://github.com/bxparks/AUnit
16011601
```
16021602
@@ -1606,11 +1606,11 @@ want the unit tests to run against the latest commits. However, for many others,
16061606
it is probably better to use the `master` branch because it contains the stable
16071607
releases:
16081608
```
1609-
git clone --branch master https://github.com/bxparks/UnixHostDuino
1609+
git clone --branch master https://github.com/bxparks/EpoxyDuino
16101610
git clone --branch master https://github.com/bxparks/AUnit
16111611
```
16121612
1613-
Using UnixHostDuino with a cloud CI provider (like GitHub Actions) is my
1613+
Using EpoxyDuino with a cloud CI provider (like GitHub Actions) is my
16141614
recommended configuration for running AUnit tests because it is easy to setup
16151615
and maintain and the tests run fast.
16161616
@@ -1886,18 +1886,17 @@ I used MacOS 10.13.3, Ubuntu 18.04, and Ubuntu 20.04 for most of my development.
18861886
<a name="Feedback"></a>
18871887
## Feedback and Support
18881888
1889+
If you find this library useful, consider starring this project on GitHub. The
1890+
stars will let me prioritize the more popular libraries over the less popular
1891+
ones.
1892+
18891893
If you have any questions, comments, bug reports, or feature requests, please
18901894
file a GitHub ticket instead of emailing me unless the content is sensitive.
18911895
(The problem with email is that I cannot reference the email conversation when
18921896
other people ask similar questions later.) I'd love to hear about how this
18931897
software and its documentation can be improved. I can't promise that I will
18941898
incorporate everything, but I will give your ideas serious consideration.
18951899
1896-
If you find this library useful, consider starring this project on GitHub. It is
1897-
usually the only feedback that I get from my users. Given limited time and
1898-
resources, the stars will let me prioritize the more popular libraries over the
1899-
less popular one.
1900-
19011900
<a name="Authors"></a>
19021901
## Authors
19031902

docs/doxygen.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = "AUnit"
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER = 1.5
41+
PROJECT_NUMBER = 1.5.1
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

docs/html/AUnitVerbose_8h.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AUnit
25-
&#160;<span id="projectnumber">1.5</span>
25+
&#160;<span id="projectnumber">1.5.1</span>
2626
</div>
2727
<div id="projectbrief">Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.</div>
2828
</td>
@@ -120,10 +120,10 @@
120120
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
121121
Macros</h2></td></tr>
122122
<tr class="memitem:a87cbb10969eff63f8ae66afc4e9457eb"><td class="memItemLeft" align="right" valign="top"><a id="a87cbb10969eff63f8ae66afc4e9457eb"></a>
123-
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AUNIT_VERSION</b>&#160;&#160;&#160;10500</td></tr>
123+
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AUNIT_VERSION</b>&#160;&#160;&#160;10501</td></tr>
124124
<tr class="separator:a87cbb10969eff63f8ae66afc4e9457eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
125125
<tr class="memitem:a70ade1487f0d9d7172f24897cd0f2dd5"><td class="memItemLeft" align="right" valign="top"><a id="a70ade1487f0d9d7172f24897cd0f2dd5"></a>
126-
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AUNIT_VERSION_STRING</b>&#160;&#160;&#160;&quot;1.5&quot;</td></tr>
126+
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AUNIT_VERSION_STRING</b>&#160;&#160;&#160;&quot;1.5.1&quot;</td></tr>
127127
<tr class="separator:a70ade1487f0d9d7172f24897cd0f2dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
128128
</table>
129129
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>

docs/html/AUnitVerbose_8h_source.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AUnit
25-
&#160;<span id="projectnumber">1.5</span>
25+
&#160;<span id="projectnumber">1.5.1</span>
2626
</div>
2727
<div id="projectbrief">Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.</div>
2828
</td>
@@ -122,8 +122,8 @@
122122
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="TestMacros_8h.html">aunit/TestMacros.h</a>&quot;</span></div>
123123
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
124124
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment">// Version format: xxyyzz == &quot;xx.yy.zz&quot;</span></div>
125-
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#define AUNIT_VERSION 10500</span></div>
126-
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#define AUNIT_VERSION_STRING &quot;1.5&quot;</span></div>
125+
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="preprocessor">#define AUNIT_VERSION 10501</span></div>
126+
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#define AUNIT_VERSION_STRING &quot;1.5.1&quot;</span></div>
127127
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
128128
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor">#endif</span></div>
129129
</div><!-- fragment --></div><!-- contents -->

docs/html/AUnit_8h.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AUnit
25-
&#160;<span id="projectnumber">1.5</span>
25+
&#160;<span id="projectnumber">1.5.1</span>
2626
</div>
2727
<div id="projectbrief">Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.</div>
2828
</td>
@@ -120,10 +120,10 @@
120120
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
121121
Macros</h2></td></tr>
122122
<tr class="memitem:a87cbb10969eff63f8ae66afc4e9457eb"><td class="memItemLeft" align="right" valign="top"><a id="a87cbb10969eff63f8ae66afc4e9457eb"></a>
123-
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AUNIT_VERSION</b>&#160;&#160;&#160;10500</td></tr>
123+
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AUNIT_VERSION</b>&#160;&#160;&#160;10501</td></tr>
124124
<tr class="separator:a87cbb10969eff63f8ae66afc4e9457eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
125125
<tr class="memitem:a70ade1487f0d9d7172f24897cd0f2dd5"><td class="memItemLeft" align="right" valign="top"><a id="a70ade1487f0d9d7172f24897cd0f2dd5"></a>
126-
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AUNIT_VERSION_STRING</b>&#160;&#160;&#160;&quot;1.5&quot;</td></tr>
126+
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AUNIT_VERSION_STRING</b>&#160;&#160;&#160;&quot;1.5.1&quot;</td></tr>
127127
<tr class="separator:a70ade1487f0d9d7172f24897cd0f2dd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
128128
</table>
129129
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>

docs/html/AUnit_8h_source.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AUnit
25-
&#160;<span id="projectnumber">1.5</span>
25+
&#160;<span id="projectnumber">1.5.1</span>
2626
</div>
2727
<div id="projectbrief">Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.</div>
2828
</td>
@@ -122,8 +122,8 @@
122122
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="TestMacros_8h.html">aunit/TestMacros.h</a>&quot;</span></div>
123123
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
124124
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment">// Version format: xxyyzz == &quot;xx.yy.zz&quot;</span></div>
125-
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#define AUNIT_VERSION 10500</span></div>
126-
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#define AUNIT_VERSION_STRING &quot;1.5&quot;</span></div>
125+
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#define AUNIT_VERSION 10501</span></div>
126+
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#define AUNIT_VERSION_STRING &quot;1.5.1&quot;</span></div>
127127
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; </div>
128128
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor">#endif</span></div>
129129
</div><!-- fragment --></div><!-- contents -->

docs/html/AssertMacros_8h.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AUnit
25-
&#160;<span id="projectnumber">1.5</span>
25+
&#160;<span id="projectnumber">1.5.1</span>
2626
</div>
2727
<div id="projectbrief">Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.</div>
2828
</td>

docs/html/AssertMacros_8h_source.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<tr style="height: 56px;">
2323
<td id="projectalign" style="padding-left: 0.5em;">
2424
<div id="projectname">AUnit
25-
&#160;<span id="projectnumber">1.5</span>
25+
&#160;<span id="projectnumber">1.5.1</span>
2626
</div>
2727
<div id="projectbrief">Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.</div>
2828
</td>

0 commit comments

Comments
 (0)