alextaujenis / RBD_Button

Arduino Button Library - Read and debounce buttons and switches without delay or interrupts.
https://robotsbigdata.com/docs-arduino-button.html
MIT License
32 stars 9 forks source link

Enable continuous integration / run unit test #10

Closed scls19fr closed 5 years ago

scls19fr commented 5 years ago

Hello,

Ensuring that this library can still be compiled (using a continuous integration service such as Travis) could be a nice improvement.

Running some unit tests to ensure that code works correctly could help to ensure that contribution doesn't break anything.

I have been using https://github.com/ianfixes/arduino_ci recently, (this is quite new in Arduino library development). It can help to achieve this.

Are you interested in a pull request to enable such a feature? If so I can submit it.

Kind regards

alextaujenis commented 5 years ago

Hi @scls19fr,

Thanks for the suggestion. Back in 2015 when I first wrote these libraries and decided to unit-test; I decided to use ArduinoUnit and explicitly run the tests against real hardware (in my case an Arduino Mega 2560). I couldn't really find a virtual test harness solution, as well as had concerns about adopting one if I found it. I want my libraries to be 100% reliable because we are dealing with physical computing devices. Some libraries can be improved (their API and source code quality), but the ones that are tested on real hardware are very reliable.

Thank you for the suggestion about the arduino_ci project. I'll dig into it and give it a try sometime soon, however I don't plan on integrating a CI environment with these Robots + Big Data libraries. The published APIs have been stable for several years and there is no large dev team behind this project. If this project ever scales out with a dev team, or some explosion of community interest happens then I'll consider a CI environment.

Thank you for your interest in this project and keep at it!