@@ -8,7 +8,7 @@ Test](https://github.com/google/googletest/). The unit tests usually run on the
88embedded controller which allows detection of architecture-specific problems.
99But for faster development, many unit tests can be compiled and executed
1010natively 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
1313AUnit is almost a drop-in replacement of ArduinoUnit with some advantages. AUnit
1414supports 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
1818tools to verify, upload and validate the unit tests to the microcontroller,
1919instead 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,
2121or 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
114114Unit tests written using AUnit can often be compiled and executed natively on
115115Linux 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
117117the ` Serial ` object is redirected to the ` stdout ` of the Unix host. This
118118provides 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
14591459Instead of running the unit tests on the actual microcontrollers themselves, you
14601460can 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
14631463sufficient to compile and run AUnit test units on the Unix host machine. It
14641464relies on the native C++ compiler, GNU Make, and ` Makefile ` files for each
14651465` *.ino ` unit test like this:
14661466
14671467```
14681468APP_NAME := SampleTest
14691469ARDUINO_LIBS := AUnit
1470- include ../../../UnixHostDuino/UnixHostDuino .mk
1470+ include ../../../EpoxyDuino/EpoxyDuino .mk
14711471```
14721472
14731473The 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
14841484For 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
14861486necessary, so I recommend calling this only on real Arduino boards, like this:
14871487``` C++
14881488void setup () {
@@ -1496,7 +1496,7 @@ void setup() {
14961496
14971497On real Arduino boards, the unit test (or any program for that matter) never
14981498terminates. 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
15011501will call `exit(0)`. If there are any failing tests (i.e. failed or timed out),
15021502it will call `exit(1)`.
@@ -1510,7 +1510,7 @@ system. At the infrastructure level, you can use either a system like
15101510continuous integration system like [GitHub
15111511Actions](https://github.com/features/actions). For each of those
15121512infrastructures, 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
15141514environment.
15151515
15161516The 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
15671567actual hardware is a requirement. But for most people, I no longer recommend
15681568this environment.
15691569
1570- <a name="UnixHostDuinoPlusJenkins "></a>
1571- ### UnixHostDuino + Jenkins
1570+ <a name="EpoxyDuinoPlusJenkins "></a>
1571+ ### EpoxyDuino + Jenkins
15721572
15731573Once 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
15751575and GNU Make. Things will compile and run a lot faster than using the Arduino
15761576IDE/CLI. However, this combination suffers from the same problem of maintaining
15771577the Jenkins environment. If the unit tests are running in an Unix environment
15781578anyway, it seems far easier to just run them in the cloud. So I don't recommend
15791579using 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
15841584A cloud-based continuous integration service like [GitHub
15851585Actions](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
15871587in 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
15901590Here 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:
15961596In the various `aunit_tests.yml` files, the `Setup` step installs the various
15971597dependent 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
16001600git 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,
16061606it is probably better to use the `master` branch because it contains the stable
16071607releases:
16081608```
1609- git clone --branch master https://github.com/bxparks/UnixHostDuino
1609+ git clone --branch master https://github.com/bxparks/EpoxyDuino
16101610git 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
16141614recommended configuration for running AUnit tests because it is easy to setup
16151615and 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+
18891893If you have any questions, comments, bug reports, or feature requests, please
18901894file 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
18921896other people ask similar questions later.) I'd love to hear about how this
18931897software and its documentation can be improved. I can't promise that I will
18941898incorporate 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
0 commit comments