Automated testing
Initial state
One big issue is people reporting errors from different Linux distro while the development is done on a Debian.
Also people are using different Linux Kernel versions, and it's hard for devs to switch kernels in order to test/debug.
Continuous Integration
The idea is to use a CI server, being able to build Douane against a matrix of Debian and Ubuntu versions, with different Kernel versions.
- QEMU seems to be a good solution to be manipulated from a bash script using different kind of images
- Within the emulated Linux Douane would be built (Validating the build is working)
- As Douane is built around D-Bus, adding some extra methods for the testing purpose should allow a script to execute actions and assert on current Douane state.
Steps
-
Finding/creating Debian and Ubuntu QEMU images (A Github repo found, an issue opened but not satisfying :/, and an automated way of building QEMU Debian images found too.)Use Vagrant -
Build a script which boots a Debian 9stable and run tests -
Implement D-Bus methods to manipulate Douane and assert on its state -
Build a script to test Douane and ensure all is working -
Configure a CI server -
Update the build script in order accept a build matrix
Edited by Guillaume Hain