Linting
Linting is the automated checking of our source code for programmatic and stylistic errors.
This project has a collection of linters under test/lint.
To run all linters, run ninja check-lint. To run individual linters, run
ninja check-lint-<name of linter>, for example ninja check-lint-check-doc.
It's also possible to execute linters directly from the root directory, such as
./test/lint/check-doc-py.
Linter dependencies
If the linter requires external tools to be install, such as for example
flake8, the linter will be skipped and return success.
The following external tools are required to run all linters
| Linter | Tool | Install command |
|---|---|---|
| lint-python | flake8 | pip3 install flake8 |
| lint-python | mypy | pip3 install mypy |
| lint-yaml | yamllint | apt install yamllint |
Adding a linter
Add a new script in test/lint. The working directory for the linters are the
project root directory.
Add your linter to test/lint/CMakeLists.txt.