Running automated unit tests on an Arduino library using Travis CI

More thorough and easier testing of Arduino projects will lead to less bugs, the developers being able to focus on the authors being able to make improvements rather than spending their time on testing and addressing bug reports, and will generally make things easier for all the people providing support to Arduino users. For these reasons I think your project is a great contribution to the Arduino community. Thanks!

I've been spending a lot of time getting familiar with the use of Travis CI on Arduino projects and have been trying to help add this capability to some other Arduino projects. I have not yet started my journey into unit tests but that is definitely on my to-do list after I've reached a more finished stage in my current CI projects. So I haven't yet used your project but I do have a couple of comments based solely on my reading of your documentation. Forgive me if I have missed something obvious.

I notice that your system expects the unit tests to be located under the test subfolder of the library. The Arduino Library Specification states:

An extras folder can be used by the developer to put documentation or other items to be bundled with the library.
...
The content of the extras folder is totally ignored by the IDE; you are free to put anything inside such as supporting documentation, etc.

So it seems like extras/test would be the recommended location for internal testing files to be placed.

One place where automated testing is especially useful is for Arduino hardware packages. Typically these will include architecture specific libraries and testing these libraries against the various board configurations of the package can be extremely time consuming if done manually. If your project supports it, I think it would be helpful to add a demonstration of that usage.