Running tests

The tests in this repository is written using the pytest framework and they are run against specific sites. A site is a collection of devices with specific properties and capabilities. The available sites are defined in the sites/ folder.

In order to run tests against a site you need to set the CRAZY_SITE environment variable before invocing pytest:

$ CRAZY_SITE=single-cf pytest -s tests/QA/

Please note that the CRAZY_SITE variable should point out a name of a site, not the path or a filename.

Where are the tests?

Right now we have a convention that tests that are to be run automagicly by sites, such as the Crazylab, are found in the tests/QA folder. Tests that require flying or human intervention should not be put in the QA folder.

There are many ways to run pytest, to select or deselect, or make other configurations of how to run tests. For all of those we delegate to the Pytest documentation.