Add a test suite
GNOME Settings is a core application of the GNOME ecosystem. It is also a fairly big application, compared in size to GNOME Builder or Evolution.
With such a big amount of code, keeping the code bug-free is more complex than it would be for any regular application. There are many moving parts and integration with a considerable number of external libraries, and this sums up when trying to measure the quality of the code.
For that reason, automated testing is essential to keep the code base healthy and as bug-free as possible. Right now, GNOME Settings only has a few sparse tests.
- Bugs are fixed but no tests are written. There are no guarantees they'll ever come back.
- Modifying the code doesn't automatically check if other parts of the code were affected.
- Testing the codebase is a laborious, manual process.
Goals & use cases
- Automatically detect regressions.
- Detect failures before the release.
- Cover most panels that are configuration-centric (such as Network, Display and Mouse & Touchpad)
- Have to run on GitLab CI on every commit
Proposal & plan
Reorganize current tests
Move already written tests into
- Remove deprecated tests and classes
- Move already written tests into
Add tests for panels
- Network & Wi-Fi
- Tier 1: