This is an old revision of the document!
Docker
We can use Docker to set up a stable and repeatable environment where our firmware is built and unit tested. Furthermore, we can use access the hardware from the container to perform integration testing. A shared directory will allow us to access our code from within the containerized environment.
from https://dev.to/djangostars/what-is-docker-and-how-to-use-it-with-python-tutorial-87a:
- 1 application = 1 container.
- Run the process in the foreground (don't use systemd, upstart or any other similar tools).
- Keep data out of containers – use volumes.
- Do not use SSH (if you need to step into container, you can use the docker exec command).
- Avoid manual configurations (or actions) inside container.
Unit testing
http://embunit.sourceforge.net/
https://dmitryfrank.com/articles/unit_testing_embedded_c_applications
http://eradman.com/posts/tdd-in-c.html
framekworks:
- seatest
- MinUnit
- Unity