Test suite for FIDO2, U2F, and other security key functions
Need python 3.6+.
make venv
and source venv/bin/activate
Or simply pip3 install --user -r requirements.txt
Run all FIDO2, U2F, and HID tests:
pytest tests/standard -s
Run vendor/model specific tests:
pytest tests/vendor -s
Run subset of tests with -k
flag, example:
pytest -k "getinfo or hmac_secret" -s
To run tests via nfc, supply the --nfc
option.
Make sure that you have pyscard
python module installed properly and have updated python-fido2
(by Yubikey) library to lastest version
pytest --nfc tests/standard -s
Note that in most cases when testing a hardware authenticator, -s
must be supplied to disable stdin/stdout capturing. This is so the prompts to power cycle the authenticator can be seen and continued.
To run tests against a "simulation" build of the Solo authenticator, supply the --sim
option.
pytest --sim tests/standard
All tests should pass without having to use -s
or provide any interaction.
Initial SoloKeys models truncates the displayName, which causes a couple of the tests to fail.
To succeed all tests, pass --vendor solokeys
as an option.
We use black
and isort
to prevent code formatting discussions.
The make venv
setup method installs git pre-commit hooks that check conformance automatically.
You can also make check
and make fix
manually, or use an editor plugins.
Apache-2.0 OR MIT