Running automated unit tests on an Arduino library using Travis CI

Robin2:
Would it be possible for an author to run tests that verify compatibility with a board that he does not have?

Yes, arduino_ci does this.

In fact, I was able to develop this system without connecting a single piece of Arduino hardware to my laptop. "Compatibility with a board" is nothing more than setting the right set of preprocessor defines for the compiler. This in turn causes various features to be enabled or disabled (e.g. serial ports).

You can validate this for yourself by attempting to run serial comms unit tests on a board that doesn't have a serial port.

Robin2:
So much of a microprocessor program depends on the physical world outside which cannot be tested using software.

Testing the physical world is irrelevant if you have the power to (via software) put the system into any state that the physical world might cause. I provide this power, in a feature that I've termed "GODMODE". If there's a physical scenario that GODMODE can't replicate, then I'll be glad to update the library appropriately.