Goals of this topic:
- Primary: establish whether this request falls under "a simple enhancement" that should be reported directly as a GitHub issue.
- Secondary: determine the extent to which unit testing is supported as a part of Arduino library development.
Background:
Originally posted as a
forum topic: I've developed a system called
arduino_ci that enables you to run automated tests on Arduino libraries, both locally and remotely (as part of a service like Travis CI). Among other things, this includes abilities such as
- Fully simulating the physical world (e.g. clock, pin inputs, serial inputs, etc)
- Testing against multiple boards with no hardware present
- TAP-formatted test output
In addition to
the writeup I did on StackOverflow, the
project README is fairly up to date and I have a few working examples (
Arduino-Queue,
Adafruit FONA) to show it in action.
Issue:
Right now, I'm storing unit tests in a directory called test/ to align with library layout for other languages. I'd prefer not to think of them as "extras" to a library, and for that reason I'd like to ask that the test directory be whitelisted in the library specification. I have no preference as to whether unit tests are run using my system (which is admittedly in beta) or literally any other unit testing system. I also have no absolutist preference like "all libraries should be tested". My goal is only to have an accommodation for proper testing of a software library, if desired by a library developer.
Side benefits to the community:
The purpose of the CI library I wrote is purely to enable collaborative development on GitHub -- the ability to accept pull requests from total strangers without having to download / compile / flash / test the code yourself.
What threshold of benefit would I need to surpass in order for such an addition to be considered?
Thanks for your time.