# NOTE: for running the tests locally in `nix-shell`, it is necessary
# to spawn the `nix-shell` with `fullDeps` argument, so the command is:
# `nix-shell --arg fullDeps true`
# This will make sure all the python versions are installed.
# (it could be beneficial to comment out `bitcoind` in `shell.nix` locally before running it,
# as building that from source takes a very long time)

[tox]
envlist =
    py{36,37,38,39,310}-{minimal,default,full}
    py{36,37,38,39,310}-click{7,80}
    py{37,38,39,310}-click81

[testenv]
deps =
    -rrequirements.txt
    !minimal: pytest>=3.6
    !minimal: pytest-random-order
    !minimal: importlib-metadata!=0.21
    full: -rrequirements-optional.txt
commands =
    # Generate local files
    python setup.py build
    # Working in the local directory, try to compile all bytecode
    python -m compileall src tests
    # Smoke-test trezorctl
    trezorctl --help
    # Run test suite
    !minimal: pytest --random-order tests

[testenv:py{36,37,38,39,310}-click{7,80,81}]
deps =
    -rrequirements.txt
    click7: click>=7,<8
    click80: click>=8.0,<8.1
    click81: click>=8.1,<8.2
commands =
    # Smoke-test trezorctl
    trezorctl --version