Testing Hop3¤
Unit Testing¤
Each subproject in Hop3 has its own unit tests. These tests are run using the pytest
framework. To run the tests, navigate to the root directory of the subproject and run the following command:
pytest
# or
make test
To run all the tests from the root directory of the project, run the following command:
nox
End-to-End Testing¤
We have developped a specific framework to test the end-to-end functionalities of Hop3.
First you have to have a server or VM which you can access thourgh SSH. While it should eventually be possible to use a local VM, we currently only support remote servers.
The adress of the server should be set using the HOP3_DEV_HOST
environment variable, for instance by setting a proper value in your .envrc
file (if you are using direnv
).
To run the end-to-end tests, navigate to the root directory of the project and run the following command:
make test-e2e
Contiuous Integration¤
We are using SourceHut
for our CI/CD pipeline. The configuration is stored in the .builds
directory. The pipeline is triggered on each push to the main
branch, but there is currently a delay because Sourcehut is currently set up as a GitHub mirror.
See: https://builds.sr.ht/~sfermigier/hop3/ for the current build status.
Note that End-to-End tests are currently not run in the CI pipeline, as they require a specific setup.