AUnit Versions Save

Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test. Used with EpoxyDuino for continuous builds.

v1.7.1

1 year ago
  • 1.7.1 (2023-06-15)
    • This is a maintenance release, to update the list of supported boards, and update the documentation.
      • No functional change.
    • Add MemoryBenchmark to collect flash and static memory usage.
      • For consistency with my other arduino libraries.
      • Also enables an automated script to verify that AUnit compiles under various microcontrollers.
    • Update supported boards and tiers
      • Update Flash.h to work better with Teensyduino, Adafruit SAMD, and Seeeduino SAMD boards by hacking around their bugs and inconsistent APIs
      • Add SAMD21 and SAMD51 boards to Tier 1
        • Add 2 SAMD boards from 2 different companies, to test their Arduino Core software:
          • Seeeduino XIAO M0 (SAMD21 48MHz ARM Cortex-M0+)
          • Adafruit ItsyBitsy M4 (SAMD51 120MHz ARM Cortex-M4)
        • SAMD21 and SAMD51 boards are back in Tier 1, as long as they use the traditional Arduino API instead of the new ArduinoCore-API.
        • Fortunately most third party SAMD21 and SAMD51 boards continue to use the traditional Arduino API.
      • Move Teensy 3.2 to Tier 2 ("Should work but not tested often")
        • This board is entering end-of-life.
        • As well, the Teensyduino environment integrates with the Arduino IDE and CLI in a way that's different than all other third-party Arduino boards. Some of my automation scripts do not work with Teensyduino, so it becomes very time consuming to test the Teensy boards.
        • All Teensy boards are now in Tier 2.
      • The various tiers are documented in the README.md.
    • Upgrade tool chain.
      • Arduino CLI from 0.19.2 to 0.33.0
      • Arduino AVR Core from 1.8.4 to 1.8.6
      • STM32duino from 2.2.0 to 2.5.0
      • ESP32 Core from 2.0.2 to 2.0.9
      • Teensyduino from 1.56 to 1.57 (unable to install 1.58)

v1.7.0

1 year ago
  • 1.7.0 (2022-12-08)
    • Potentially Breaking Change format of assertion failure message from:
      • "Assertion failed: (expected=3) == (counter=4), file AUnitTest.ino, line 134.", to
      • "AUnitTest.ino:134: Assertion failed: (expected=3) == (counter=4)."
      • This format is compatible with various Linux/MacOS/Unix command line tools, in particular, the vim editor.
      • When used with EpoxyDuino, this message format allows the vim editor to jump directly to the file and line where the assertion failure occurred.

v1.6.1

2 years ago
  • 1.6.1 (2022-02-02)
    • Upgrade tool chain.
      • Arduino IDE from 1.8.13 to 1.8.19
      • Arduino CLI from 0.14.0 to 0.19.2
      • Arduino AVR Core from 1.8.3 to 1.8.4
      • STM32duino from 2.0.0 to 2.2.0
      • ESP8266 Core from 2.7.4 to 3.0.2
      • ESP32 Core from 1.0.6 to 2.0.2
      • Teensyduino from 1.54 to 1.56
    • Downgrade SAMD21 boards into new "Tier 3: May work but unsupported" category.
    • This is a maintenance release. No functional change.

v1.6.0

2 years ago
  • 1.6.0 (2021-11-02)
    • Add TestRunner::includesub(word) and TestRunner::excludesub(word) which includes or excludes tests based on the substring match on the word.
    • Call excludeAll() if the first filtering request is an include() or includesub().
      • Otherwise, the first include request does not do anything.
    • Add command line flags and arguments when compiled under EpoxyDuino. See Command Line Flags and Arguments in the README.md for full details. Fixes Issue#76.
      • --include pattern,...
        • Calls TestRunner::include(pattern) on each pattern in the comma-separated list.
      • --exclude pattern,...
        • Calls TestRunner::exclude(pattern) on each pattern in the comma-separated list.
      • --includesub substring,...
        • Calls TestRunner::includesub(substring) on each substring in the comma-separated list.
      • --excludesub substring,...
        • Calls TestRunner::excludesub(substring) on each substring in the comma-separated list.
      • substring ...
        • Any remaining space-separated list of words are processed using TestRunner::includesub(substring).

v1.5.5

3 years ago
  • 1.5.5 (2021-05-03)
    • Prevent accidental inclusion of HardwareSerial class (via the Serial global variable). Remove reference to SERIAL_PORT_MONITOR from Printer::sPrinter. Move reference to SERIAL_PORT_MONITOR from TestRunner.cpp to TestRunner.h. Saves about 800 bytes on AVR applications which don't use Serial at all.
    • Activate GitHub Discussions for this project.
    • Blacklist all other platforms using ArduinoCore-API (e.g. RP2040) to generate a user-friendly error message instead of pages of obscure compiler errors.

v1.5.4

3 years ago
  • 1.5.4 (2021-03-02)
    • Implement assertNoFatalFailure(statement) macro to prevent continued execution if statement contains assertion failures. Fixes Issue #11.

v1.5.3

3 years ago
  • 1.5.3 (2021-02-23)
    • I botched the 1.5.2 release. Try again as 1.5.3.
  • 1.5.2 (2021-02-23)
    • Convert examples/AUnitPlatformIO/src/AUnitPlatformIO.ino from a symlink to a regular file. The Arduino Library Manager apparently does not allow symlinks (see https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ). So when I created the symlink at v1.3 on 2019-06-05, the Library Manager stopped updating the library for almost 2 years, until I removed the symlink at v1.5.2.
    • No functional change in this release.

v1.5.1

3 years ago
  • 1.5.1 (2021-01-21)
    • Update UnixHostDuino 0.4 to EpoxyDuino 0.5.
    • No functional change in this release.

v1.5

3 years ago

v1.4.1

3 years ago
  • 1.4.1 (2020-11-12)
    • Add Table of Contents to README.md to help navigation.
    • No functional change in this release.