Testing
Hydra uses nox - a build automation tool - to manage tests, linting, code coverage, etc.
The command nox will run all the configured sessions. List the sessions using nox -l and
run specific sessions with nox -s NAME (you may need to quote the session name in some cases)
Testing with pytest​
Run pytest at the repository root to run all the Hydra core tests.
To run the tests of individual plugins, use pytest plugins/NAME (The plugin must be installed).
NOTE
Some plugins support fewer versions of Python than the Hydra core.
Testing with nox​
See nox -l. a few examples:
nox -s test_corewill test Hydra core on all supported Python versionsnox -s "test_plugins-3.8"will test plugins on Python 3.8.nox -s "test_plugins-3.8"will test plugins on Python 3.8.
The noxfile.py is checking some environment variables to decide what to run. For example,
to test a single plugin:
$ PLUGINS=hydra_colorlog nox -s test_plugins-3.8
Operating system : Linux
NOX_PYTHON_VERSIONS : ['3.6', '3.7', '3.8', '3.9']
PLUGINS : ['hydra_colorlog']
SKIP_CORE_TESTS : False
FIX : False
VERBOSE : 0
INSTALL_EDITABLE_MODE : 0
nox > Running session test_plugins-3.8
...