Platform specification¶
Basic multi-platform example¶
Assuming the following layout:
tox.ini # see below for content
setup.py # a classic distutils/setuptools setup.py file
and the following tox.ini
content:
[tox]
# platform specification support is available since version 2.0
minversion = 2.0
envlist = py{27,36}-{mylinux,mymacos,mywindows}
[testenv]
# environment will be skipped if regular expression does not match against the sys.platform string
platform = mylinux: linux
mymacos: darwin
mywindows: win32
# you can specify dependencies and their versions based on platform filtered environments
deps = mylinux,mymacos: py==1.4.32
mywindows: py==1.4.30
# upon tox invocation you will be greeted according to your platform
commands=
mylinux: python -c 'print("Hello, Linus!")'
mymacos: python -c 'print("Hello, Steve!")'
mywindows: python -c 'print("Hello, Bill!")'
you can invoke tox
in the directory where your tox.ini
resides.
tox
creates two virtualenv environments with the python2.7
and
python3.6
interpreters, respectively, and will then run the specified
command according to platform you invoke tox
at.