<div dir="ltr">Hi Holger,<div><br></div><div>First: congrats on shipping 2.0, I'm very excited to explore some of the new features.</div><div><br></div><div>Second:</div><div><br></div><div>Did tox drop Python 2.6 support? It started failing on our CI, so far the error I see is that tox imports argparse, but I guess it's setup.py does not depend on it. Can this be fixed?</div><div><br></div><div>Thanks!</div><div>Alex</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 12, 2015 at 5:46 PM, holger krekel <span dir="ltr"><<a href="mailto:holger@merlinux.eu" target="_blank">holger@merlinux.eu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">tox-2.0: plugins, platform, env isolation<br>
==========================================<br>
<br>
tox-2.0 was released to pypi, a major new release with *mostly*<br>
backward-compatible enhancements and fixes:<br>
<br>
- experimental support for plugins, see <a href="https://testrun.org/tox/dev/plugins.html" target="_blank">https://testrun.org/tox/dev/plugins.html</a><br>
which includes also a refined internal registration mechanism for new testenv<br>
ini options. You can now ask tox which testenv ini parameters exist<br>
with ``tox --help-ini``.<br>
<br>
- ENV isolation: only pass through very few environment variables from the<br>
tox invocation to the test environments. This may break test runs that<br>
previously worked with tox-1.9 -- you need to either use the<br>
``setenv`` or ``passenv`` ini variables to set appropriate environment<br>
variables.<br>
<br>
- PLATFORM support: you can set ``platform=REGEX`` in your testenv sections<br>
which lets tox skip the environment if the REGEX does not match ``sys.platform``.<br>
<br>
- tox now stops execution of test commands if the first of them fails unless<br>
you set ``ignore_errors=True``.<br>
<br>
Thanks to Volodymyr Vitvitski, Daniel Hahler, Marc Abramowitz, Anthon van<br>
der Neuth and others for contributions.<br>
<br>
More documentation about tox in general:<br>
<br>
<a href="http://tox.testrun.org/" target="_blank">http://tox.testrun.org/</a><br>
<br>
Installation:<br>
<br>
pip install -U tox<br>
<br>
code hosting and issue tracking on bitbucket:<br>
<br>
<a href="https://bitbucket.org/hpk42/tox" target="_blank">https://bitbucket.org/hpk42/tox</a><br>
<br>
What is tox?<br>
----------------<br>
<br>
tox standardizes and automates tedious test activities driven from a<br>
simple ``tox.ini`` file, including:<br>
<br>
* creation and management of different virtualenv environments<br>
with different Python interpreters<br>
* packaging and installing your package into each of them<br>
* running your test tool of choice, be it nose, py.test or unittest2 or other tools such as "sphinx" doc checks<br>
* testing dev packages against each other without needing to upload to PyPI<br>
<br>
best,<br>
Holger Krekel, merlinux GmbH<br>
<br>
--<br>
about me: <a href="http://holgerkrekel.net/about-me/" target="_blank">http://holgerkrekel.net/about-me/</a><br>
contracting: <a href="http://merlinux.eu" target="_blank">http://merlinux.eu</a><br>
<br>
2.0.0<br>
-----------<br>
<br>
- (new) introduce environment variable isolation:<br>
tox now only passes the PATH and PIP_INDEX_URL variable from the tox<br>
invocation environment to the test environment and on Windows<br>
also ``SYSTEMROOT``, ``PATHEXT``, ``TEMP`` and ``TMP`` whereas<br>
on unix additionally ``TMPDIR`` is passed. If you need to pass<br>
through further environment variables you can use the new ``passenv`` setting,<br>
a space-separated list of environment variable names. Each name<br>
can make use of fnmatch-style glob patterns. All environment<br>
variables which exist in the tox-invocation environment will be copied<br>
to the test environment.<br>
<br>
- a new ``--help-ini`` option shows all possible testenv settings and<br>
their defaults.<br>
<br>
- (new) introduce a way to specify on which platform a testenvironment is to<br>
execute: the new per-venv "platform" setting allows to specify<br>
a regular expression which is matched against sys.platform.<br>
If platform is set and doesn't match the platform spec in the test<br>
environment the test environment is ignored, no setup or tests are attempted.<br>
<br>
- (new) add per-venv "ignore_errors" setting, which defaults to False.<br>
If ``True``, a non-zero exit code from one command will be ignored and<br>
further commands will be executed (which was the default behavior in tox <<br>
2.0). If ``False`` (the default), then a non-zero exit code from one command<br>
will abort execution of commands for that environment.<br>
<br>
- show and store in json the version dependency information for each venv<br>
<br>
- remove the long-deprecated "distribute" option as it has no effect these days.<br>
<br>
- fix issue233: avoid hanging with tox-setuptools integration example. Thanks simonb.<br>
<br>
- fix issue120: allow substitution for the commands section. Thanks<br>
Volodymyr Vitvitski.<br>
<br>
- fix issue235: fix AttributeError with --installpkg. Thanks<br>
Volodymyr Vitvitski.<br>
<br>
- tox has now somewhat pep8 clean code, thanks to Volodymyr Vitvitski.<br>
<br>
- fix issue240: allow to specify empty argument list without it being<br>
rewritten to ".". Thanks Daniel Hahler.<br>
<br>
- introduce experimental (not much documented yet) plugin system<br>
based on pytest's externalized "pluggy" system.<br>
See tox/hookspecs.py for the current hooks.<br>
<br>
- introduce parser.add_testenv_attribute() to register an ini-variable<br>
for testenv sections. Can be used from plugins through the<br>
tox_add_option hook.<br>
<br>
- rename internal files -- tox offers no external API except for the<br>
experimental plugin hooks, use tox internals at your own risk.<br>
<br>
- DEPRECATE distshare in documentation<br>
<br>
<br>
_______________________________________________<br>
testing-in-python mailing list<br>
<a href="mailto:testing-in-python@lists.idyll.org">testing-in-python@lists.idyll.org</a><br>
<a href="http://lists.idyll.org/listinfo/testing-in-python" target="_blank">http://lists.idyll.org/listinfo/testing-in-python</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">"I disapprove of what you say, but I will defend to the death your right to say it." -- Evelyn Beatrice Hall (summarizing Voltaire)<br>"The people's good is the highest law." -- Cicero<br><div>GPG Key fingerprint: 125F 5C67 DFE9 4084</div></div></div>
</div>