Skip to content

Commit df1fb40

Browse files
authored
Merge pull request #86 from bxparks/develop
merge v1.6.1 into master
2 parents 65df58b + 587ea9d commit df1fb40

File tree

8 files changed

+54
-40
lines changed

8 files changed

+54
-40
lines changed

.github/workflows/aunit_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on: [push]
55
jobs:
66
build:
77

8-
runs-on: ubuntu-18.04
8+
runs-on: ubuntu-20.04
99

1010
steps:
1111
- uses: actions/checkout@v2

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
# Changelog
22

33
* Unreleased
4+
* 1.6.1 (2022-02-02)
5+
* Upgrade tool chain.
6+
* Arduino IDE from 1.8.13 to 1.8.19
7+
* Arduino CLI from 0.14.0 to 0.19.2
8+
* Arduino AVR Core from 1.8.3 to 1.8.4
9+
* STM32duino from 2.0.0 to 2.2.0
10+
* ESP8266 Core from 2.7.4 to 3.0.2
11+
* ESP32 Core from 1.0.6 to 2.0.2
12+
* Teensyduino from 1.54 to 1.56
13+
* Downgrade SAMD21 boards into new "Tier 3: May work but unsupported"
14+
category.
15+
* This is a maintenance release. No functional change.
416
* 1.6.0 (2021-11-02)
517
* Add `TestRunner::includesub(word)` and `TestRunner::excludesub(word)`
618
which includes or excludes tests based on the substring match on the

README.md

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ instead of having to go through the Arduino IDE. Both the AUniter and
2020
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.6 (2021-11-02)
23+
**Version**: 1.6.1 (2022-02-02)
2424

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

@@ -140,6 +140,10 @@ AUnit also supports exclude and include filters:
140140
* `TestRunner::exclude()`
141141
* `TestRunner::include()`
142142

143+
Filters can be accessed through
144+
[Command Line Flags](##CommandLineFlagsAndArguments) on desktop machines using
145+
EpoxyDuino
146+
143147
The various assertion and test status messages can be enabled or disabled using
144148
the `Verbosity` flags on per test basis:
145149
* `enableVerbosity()`
@@ -259,17 +263,21 @@ In the `tests/` directory:
259263
* `SetupAndTeardownTest` - tests to verify that `setup()` and `teardown()` are
260264
called properly by the finite state machine
261265

262-
Perhaps the best way to see AUnit in action through real life examples. I
263-
currently have 3 Arduino project using AUnit extensively
264-
(look under the `tests/` directory in each project).
266+
Perhaps the best way to see AUnit in action through real life examples. All my
267+
libraries use AUnit for testing and for continuous integration through
268+
EpoxyDuino. Here are some examples:
265269

266270
* [AceButton](https://github.com/bxparks/AceButton)
267-
* Originally created using ArduinoUnit 2.2, and I have kept those tests
268-
backwards compatible. They do not use the new features of AUnit.
271+
* My first Arduino library, which originally used ArduinoUnit 2.2.
272+
* I kept many of the original ArduinoUnit tests for backwards compatibility
273+
testing. But over time, I started to use nore AUnit features.
274+
* [AceCRC](https://github.com/bxparks/AceCRC)
275+
* [AceCommon](https://github.com/bxparks/AceCommon)
269276
* [AceRoutine](https://github.com/bxparks/AceRoutine)
270-
* Demonstrates the full power of AUnit better.
277+
* [AceSegment](https://github.com/bxparks/AceSegment)
278+
* [AceSorting](https://github.com/bxparks/AceSorting)
279+
* [AceTimeClock](https://github.com/bxparks/AceTimeClock)
271280
* [AceTime](https://github.com/bxparks/AceTime)
272-
* Demonstrates the full power of AUnit better.
273281

274282
<a name="Usage"></a>
275283
## Usage
@@ -1898,6 +1906,7 @@ The library is tested on the following boards:
18981906

18991907
I will occasionally test on the following hardware as a sanity check:
19001908

1909+
* Arduino Pro Mini (16 MHz ATmega328P)
19011910
* Mini Mega 2560 (Arduino Mega 2560 compatible, 16 MHz ATmega2560)
19021911
* Teensy LC (48 MHz ARM Cortex-M0+)
19031912

@@ -1917,16 +1926,17 @@ The following boards are **not** supported:
19171926
### Tool Chain
19181927

19191928
This library was validated using:
1920-
* [Arduino IDE 1.8.13](https://www.arduino.cc/en/Main/Software)
1921-
* [Arduino CLI 0.14.0](https://arduino.github.io/arduino-cli)
1922-
* [Arduino AVR Boards 1.8.3](https://github.com/arduino/ArduinoCore-avr)
1929+
1930+
* [Arduino IDE 1.8.19](https://www.arduino.cc/en/Main/Software)
1931+
* [Arduino CLI 0.19.2](https://arduino.github.io/arduino-cli)
1932+
* [Arduino AVR Boards 1.8.4](https://github.com/arduino/ArduinoCore-avr)
19231933
* [Arduino SAMD Boards 1.8.9](https://github.com/arduino/ArduinoCore-samd)
19241934
* [SparkFun AVR Boards 1.1.13](https://github.com/sparkfun/Arduino_Boards)
1925-
* [SparkFun SAMD Boards 1.8.1](https://github.com/sparkfun/Arduino_Boards)
1926-
* [STM32duino 2.0.0](https://github.com/stm32duino/Arduino_Core_STM32)
1927-
* [ESP8266 Arduino 2.7.4](https://github.com/esp8266/Arduino)
1928-
* [ESP32 Arduino 1.0.6](https://github.com/espressif/arduino-esp32)
1929-
* [Teensyduino 1.54](https://www.pjrc.com/teensy/td_download.html)
1935+
* [SparkFun SAMD Boards 1.8.6](https://github.com/sparkfun/Arduino_Boards)
1936+
* [STM32duino 2.2.0](https://github.com/stm32duino/Arduino_Core_STM32)
1937+
* [ESP8266 Arduino 3.0.2](https://github.com/esp8266/Arduino)
1938+
* [ESP32 Arduino 2.0.2](https://github.com/espressif/arduino-esp32)
1939+
* [Teensyduino 1.56](https://www.pjrc.com/teensy/td_download.html)
19301940

19311941
This library is *not* compatible with:
19321942

@@ -1942,6 +1952,9 @@ and [Issue #66](https://github.com/bxparks/AUnit/issues/66)).
19421952
It should work with [PlatformIO](https://platformio.org/) but I have
19431953
not tested it extensively.
19441954

1955+
The library works under Linux or MacOS (using both g++ and clang++ compilers)
1956+
using the EpoxyDuino (https://github.com/bxparks/EpoxyDuino) emulation layer.
1957+
19451958
<a name="OperatingSystem"></a>
19461959
### Operating System
19471960

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.6.0
41+
PROJECT_NUMBER = 1.6.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

library.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
name=AUnit
2-
version=1.6.0
2+
version=1.6.1
33
author=Brian T. Park <[email protected]>
44
maintainer=Brian T. Park <[email protected]>
55
sentence=A unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.
6-
paragraph=The unit tests run in the embedded controller, not in a simulator or emulator. It is almost a drop-in replacement of ArduinoUnit with some advantages. AUnit supports timeouts and test fixtures. It somtimes consume 50% less flash memory on the AVR platform, and it has been tested to work on the AVR, ESP8266, ESP32, Teensy and STM32 platforms. Unit tests can often be executed on a Linux or MacOS desktop class machine using EpoxyDuino. Tests can be incorporated into a continuous integration system like Jenkins (using AUniter) or GitHub Actions (using EpoxyDuino).
6+
paragraph=The unit tests can run on the embedded controller. They can also run on Linux, MacOS, or FreeBSD environments using EpoxyDuino, which allows AUnit to be used in a Continuous Integration environment like GitHub Workflows. AUnit is almost a drop-in replacement of ArduinoUnit with some advantages. AUnit supports timeouts and test fixtures. It somtimes consume 50% less flash memory on the AVR platform, and it has been tested to work on the AVR, STM32, ESP8266, ESP32, Teensy platforms.
77
category=Other
88
url=https://github.com/bxparks/AUnit
99
architectures=*

src/AUnit.h

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,8 @@ SOFTWARE.
4545
#ifndef AUNIT_AUNIT_H
4646
#define AUNIT_AUNIT_H
4747

48-
// Blacklist boards using new Arduino API due to incompatibilities. This
49-
// currently includes all megaAVR boards and SAMD21 boards using arduino::samd
50-
// >= 1.8.10. Boards using arduino:samd <= 1.8.9 or SparkFun:samd are fine.
51-
#if defined(ARDUINO_ARCH_MEGAAVR)
52-
#error MegaAVR not supported, https://github.com/bxparks/AUnit/issues/56
53-
#elif defined(ARDUINO_ARCH_SAMD) && defined(ARDUINO_API_VERSION)
54-
#error SAMD21 with arduino:samd >= 1.8.10 not supported, https://github.com/bxparks/AUnit/issues/66
55-
#elif defined(ARDUINO_API_VERSION)
48+
// Blacklist boards using new Arduino API due to incompatibilities.
49+
#if defined(ARDUINO_API_VERSION)
5650
#error Platforms using ArduinoCore-API not supported
5751
#endif
5852

@@ -71,7 +65,7 @@ SOFTWARE.
7165
#include "aunit/TestMacros.h"
7266

7367
// Version format: xxyyzz == "xx.yy.zz"
74-
#define AUNIT_VERSION 10600
75-
#define AUNIT_VERSION_STRING "1.6.0"
68+
#define AUNIT_VERSION 10601
69+
#define AUNIT_VERSION_STRING "1.6.1"
7670

7771
#endif

src/AUnitVerbose.h

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,8 @@ SOFTWARE.
3535
#ifndef AUNIT_AUNIT_VERBOSE_H
3636
#define AUNIT_AUNIT_VERBOSE_H
3737

38-
// Blacklist boards using new Arduino API due to incompatibilities. This
39-
// currently includes all megaAVR boards and SAMD21 boards using arduino::samd
40-
// >= 1.8.10. Boards using arduino:samd <= 1.8.9 or SparkFun:samd are fine.
41-
#if defined(ARDUINO_ARCH_MEGAAVR)
42-
#error MegaAVR not supported https://github.com/bxparks/AUnit/issues/56
43-
#elif defined(ARDUINO_ARCH_SAMD) && defined(ARDUINO_API_VERSION)
44-
#error SAMD21 with arduino:samd >= 1.8.10 not supported, see https://github.com/bxparks/AUnit/issues/66
45-
#elif defined(ARDUINO_API_VERSION)
38+
// Blacklist boards using new Arduino API due to incompatibilities.
39+
#if defined(ARDUINO_API_VERSION)
4640
#error Platforms using ArduinoCore-API not supported
4741
#endif
4842

@@ -61,7 +55,7 @@ SOFTWARE.
6155
#include "aunit/TestMacros.h"
6256

6357
// Version format: xxyyzz == "xx.yy.zz"
64-
#define AUNIT_VERSION 10600
65-
#define AUNIT_VERSION_STRING "1.6.0"
58+
#define AUNIT_VERSION 10601
59+
#define AUNIT_VERSION_STRING "1.6.1"
6660

6761
#endif

tests/AUnitTest/AUnitTest.ino

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,7 @@ test(voidPointer) {
422422
test(nullPointer) {
423423
const int aa[] = {1, 2};
424424
const long bb[] = {1, 2};
425+
// const char cc[] = "ab";
425426
const int* dd = nullptr;
426427

427428
assertFalse(compareEqual(aa, nullptr));

0 commit comments

Comments
 (0)