mesos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Chung <ech...@uber.com>
Subject Replacing ad hoc virtualenvs for testing and linting with tox
Date Fri, 05 Jan 2018 20:04:09 GMT
Hello mesos devs,

I'd like to propose that we replace some of our bash scripts for building
ad hoc virtualenvs with tox <https://tox.readthedocs.io/en/latest/>, a tool
for automating lifecycle management of virtualenvs using declarative
configuration files.

Specifically, virtualenvs created for the purpose of linting
(support/.virtaulenv) and unit testing (in src/python) can be managed by
tox, which provide the following benefits:

1. Eliminate the need for maintaining shell scripts for managing virtualenvs
2. We will no longer need to install *ALL* dependencies into the same
virtualenv for the purpose of linting -- we can have distributed tox.ini
files in wherever python linting is required, and just run tox there.
3. Easily run tests for multiple environments, e.g. python3 vs python2.
This will make migration to python3 much easier, which we are facing
increasing pressure to address.

The biggest concern here would probably the change in dependencies, since
it may seem like we're adding an additional dependency to mesos. However
since virtualenv is a dependency of tox, we will not break any existing
dependencies, as requiring tox will automatically require virtualenv.
Otherwise I don't really see any downside in making the switch.

Please let me know what you think!

Eric

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message