tox: add skip_missing_interpreters=true

https://tox.readthedocs.io/en/latest/config.html#conf-skip_missing_interpreters

Runing `tox` with no options runs the tests agaist all the python
environments listed in the `tox.ini`'s `envlist` (currently 3.6, 3.7 and 3.8).

Before this change, if any of these versions was not available, tox would exit with an error. Now it will simply continue (with a warning).

This can be useful when on a developer box, one might only have a subset of all our supported interpreters installed but we don’t want to mark the build as failed because of it.

Note that on the CI I am passing the opposite command line switch to override this setting, because there I want to make sure none of the specified interpreters is skipped.
This commit is contained in:
Cosimo Lupo 2020-05-15 10:06:27 +01:00
parent 847c31c4f2
commit c1f6b4d0f1
No known key found for this signature in database
GPG Key ID: 179A8F0895A02F4F
3 changed files with 6 additions and 5 deletions

View File

@ -7,7 +7,7 @@ if [ "$TRAVIS_OS_NAME" == "osx" ]; then
source .venv/bin/activate source .venv/bin/activate
fi fi
tox tox --skip-missing-interpreters false
# re-run all the XML-related tests, this time without lxml but using the # re-run all the XML-related tests, this time without lxml but using the
# built-in ElementTree library. # built-in ElementTree library.
@ -17,4 +17,4 @@ else
# strip additional tox envs after the comma, add -nolxml factor # strip additional tox envs after the comma, add -nolxml factor
TOXENV="${TOXENV%,*}-nolxml" TOXENV="${TOXENV%,*}-nolxml"
fi fi
tox -e $TOXENV -- Tests/ufoLib Tests/misc/etree_test.py Tests/misc/plistlib_test.py tox --skip-missing-interpreters false -e $TOXENV -- Tests/ufoLib Tests/misc/etree_test.py Tests/misc/plistlib_test.py

View File

@ -50,9 +50,9 @@ environments::
.. note:: .. note::
When you run ``tox`` without arguments, the tests are executed for all the environments listed in the ``tox.ini`` ``envlist``. The current Python interpreters defined for tox testing must be available on your system ``PATH``. When you run ``tox`` without arguments, the tests are executed for all the environments listed in the ``tox.ini`` ``envlist``. The Python versions that are not available on your system ``PATH`` will be skipped.
You can specify a different testing environment list via the ``-e`` option, or the ``TOXENV`` environment variable:: You can specify a specific testing environment list via the ``-e`` option, or the ``TOXENV`` environment variable::
tox -e py36 tox -e py36
TOXENV="py36-cov,htmlcov" tox TOXENV="py36-cov,htmlcov" tox

View File

@ -1,6 +1,7 @@
[tox] [tox]
minversion = 3.0 minversion = 3.0
envlist = py3{6,7,8}-cov, htmlcov envlist = py3{6,7,8}-cov, htmlcov
skip_missing_interpreters=true
[testenv] [testenv]
setenv = setenv =