Skip to content

Testing LAVA

Code style

We use [ruff format] to format the LAVA source code.

The GitLab CI will run ruff on every merge request.

You can run it locally:

uvx ruff format lava/

Unittests

We use pytest for the python test harness.

To run the full test suite:

python3 -m pytest -v tests/

You can execute every tests that are defined in a given file:

python3 -m pytest -v tests/lava_dispatcher/test_utils.py

You can also execute a specific test:

python3 -m pytest -v tests/lava_dispatcher/test_utils.py::test_simple_clone

Static analysis

We use pylint and bandit for static analysis.

You can run them locally:

.gitlab-ci/analyze/pylint.sh
bandit -r .

Job schema

If you change the device or job schemas, you will have to ensure that the device and job schemas are valid.

This is checked by:

.gitlab-ci/analyze/schemas.sh